sobota, 17 marca 2018

Bezprzewodowy termometr 433 MHz - ale z bajerami

Każdy przyzwoity elektronik musi zrobić w życiu kilka elektronicznych termometrów. Mowy nie ma by temat dało się jakoś ominąć. Zawsze znajdzie się ktoś potrzebujący czegoś tak banalnie oczywistego a zarazem nietypowego, że nie da się tego opędzić jakimś gotowcem z Allegro za 20 zł. Na mnie też padło. To w zasadzie nie jest termometr a sygnalizator przekroczenia zadanej temperatury, bezprzewodowy, przenośny  i dodatkowo z głośną sygnalizacją przekroczenia zakresu.
No to do dzieła.

Podstawowe założenia

  • Najważniejsza funkcja - skuteczna sygnalizacja przekroczenia określonej temperatury z dokładnością do 1-2 oC. Temperatura zadana może być zmieniana w czasie pracy.
  • Czujnik - jest narzucony z góry (niestety) i nie jest to ulubiony DS18B20 a zwykły termistor w obudowie. Temperatura może bowiem dochodzić do 150 oC. Konieczny więc będzie pomiar analogowy. 
  • Układ musi mieć możliwość pracy w zasięgu sieci WiFi jak i poradzić sobie bez niej. 
  • Potrzebna jest jakaś sygnalizacja dźwiękowa przekroczenia zadanej temperatury. Sygnalizacja musi być słyszana w promieniu 50-100 m od miejsca pomiaru
  • Całość ma być mocno mobilna najlepiej zasilana bateryjnie

Hmm tak.... i moje założenie: układ z kategorii "Minimum pracy maksimum efektu".

Rozwiązanie

  • Serce układu - ESP822 w wersji D1 MINI
  • Pomiar temperatury - wejście analogowe
  • Aplikacja zarządzająca - BLYNK. 
  • Sygnalizacja - gong bezprzewodowy

Płytka
Jak raz idealnie do tego celu nada się płytka BRAMA_5 pięknie wykonana przez JLCPCB. Duża liczba  dodatkowych padów gwarantuje łatwość adaptacji płytki do nietypowego projektu.



Schemat


Bardziej prostego schematu już nie udało mi się wymyślić.

Moduł nadawczy 433 MHz to mój najnowszy chiński nabytek - transmiter o zwiększonej mocy nadawczej HPD8407- oznaczony tez jako WLC TX1- ponoć 0,5 W !!! Gdybym zasilił to to z 9 V mógłbym uzyskać do 27 dB w antenie a to się powinno przełożyć na jakieś 500-1000 m zasięgu. Przy 5 V powinienem bez problemu sięgnąć na 100-150 m . Trochę to przekracza dopuszczalne 10 mW ale rzecz będzie używana sporadycznie więc nie wprowadzi zbytniego chaosu w eterze. Jeśli zasięg będzie przekraczał zakładane 150 m bez problemu przełączę zasilanie transmitera na napięcie 3V. No i zobaczymy co to cudo  potrafi w terenie.


R10 to w rzeczywistości jest miniaturowy potencjometr o wartości porównywalnej z oporem termistora w temperaturze pokojowej. Płytka zasilana jest z 5V z POWER BANKu o pojemności wystarczającej na 24 h pracy urządzenia.

Działanie
Gdy dostępna jest sieć WiFi układ jest w pełni kontrolowany poprzez aplikację BLYNK z praktycznie dowolnego miejsca. Na razie w aplikacji wstępnie udostępniłem odczyt wskazań termistora i nastawę progu zadziałania alarmu. Dodatkowo przekroczenie wartości progowej generuje transmisję 433MHz do bezprzewodowego gongu zasilanego z baterii. Gong można nosić przy sobie (zasięg transmisji ponad 100 m) i nie trzeba na bieżąco śledzić wskazań temperatury w telefonie. Ten sam transmiter może dodatkowo sterować bezprzewodowym gniazdem umożliwiającym np. wyłączenie grzałki czy załączenie wentylatora.

Gdy sieci WiFi nie ma możemy ją sobie stworzyć uruchamiając w telefonie opcję HOT SPOT.

Układ może pracować całkowicie bez obecności sieci - wtedy jedynym sygnalizatorem przekroczenia zakresu temperatury jest bezprzewodowy gong.

Wynik końcowy
Całość zapakowałem do ulubionej obudowy czujki PIR i zasiliłem kablem USB z POWER BANKU 6Ah (powiedzmy że ma te 6Ah!) co winno spełnić założenia czasu pracy.



Zasilanie 5 V pobór prądu ok 100 mA a w czasie nadawania ok 200. Antenkę nadajnika musiałem wyprowadzić na zewnątrz bo podczas transmisji zakłócała pracę nadajnika. Potencjometr do wymyśliłem do kalibracji wskazań termistora. Przełącznikiem zmieniam logowanie do sieci - mm możliwość zalogowania do domowej sieci WiFi i do HOT SPOT telefonu.

Dodatkowe elementy systemu to bateryjny gong bezprzewodowy i gniado bezprzewodowe. Oba urządzenia bez problemu daje się wysterować w odległości 150 m od nadajnika.


Teraz pozostały tylko próby w terenie i ewentualnie dopieszczenie programu. Jak na razie aplikacja jest mocno wstępna choć w 100% spełnia wymagania użytkownika.



U góry temperatura (napięcie) mierzona odczytana bezpośrednio na wejściu A0. Niżej wartość progowa nastawiana suwakiem. Przekroczenie temperatury zadanej zmienia kolor zielony na żółty i uruchamia gong. Przekroczenie temperatury o 20 jednostek dodatkowo załącza/wyłącza gniazdo bezprzewodowe.

Jedno popołudnie i temat uważam za zamknięty.

A ciąg dalszy? kto wie może jednak nastąpi ......


125

2 komentarze:

  1. Hm, a gdyby dodać deepSleep i sprawdzać wartość np co minutę? Wtedy za każdym razem układ by się ponownie łączył z siecią ale i tak zmiejszenie zużycia prądu powinno być duże.

    Oczywiście tutaj ważne pytanie jak szybka musi być reakcja, i czy np ta minuta to nie za dużo.

    OdpowiedzUsuń
  2. w tym przypadku nie ma takiej konieczności - układ ma pracować cięgle kilka godzin. A do tego przy przerwach 1 minutowych oszczędność nie będzie zbyt duża. Logowanie do sieci wifi i BLYNKa może trwać kilkanaście sekund

    OdpowiedzUsuń