Dziś kolejny odcinek polowego serialu o bezprzewodowym mierniku (a raczej wskaźniku) wilgotności gleby znanego producenta DIY.
Jeśli nie uda mi się próba poskładania części z poprzedniego odcinka w działającą całość zawsze mogę kupić coś gotowego - ot chociażby taki Smart-Yi za 7 stów z hakiem.
Hardware
Połączyłem pajęczyną wszystkie elementy. Zasilać mogę to zarówna z akumulatora jak i z USB.
A oto schemat w wersji mocno obrazkowej
Panel solarny + LiIon + moduł ładowania TP4056 załatwia problem zasilania całości bezprzewodowego miernika wilgotności.
D1 MINI rozwiązuje pozostałe kwestie. Stabilizator LDO RT9013 znakomicie radzi sobie z zasilaniem z akumulatora. Do poziomu 3,4 V napięcie podawane na ESP utrzymywane jest na poziomie 3V3(rzeczywisty spadek napięcia na LDO to około 0,6V). A i dalsze obniżenie napięcia niespecjalnie wpływa na jego działanie. Zmniejsza się tylko proporcjonalnie napięcie wyjściowe czujnika ale cały układ pracuje normalnie.
ESP8266 mierzy napięcie analogowe w zakresie 0-1V. D1 MINI ma na pokładzie dzielnik 1:3 przez co czujnik wilgotności można przyłączyć bezpośrednio do pinu oznaczonego jako A0.
W zasilaniu czujnika zastosowałem mały trick. Napięcie zasilania podawane jest z ..... portu cyfrowego D1 MINI zamiast z zacisku 3V3. Po co? Pomiary wilgotności będą wykonywane rzadko - zakładam nie częściej niż co godzinę. Większość czasu układ (a dokładnie ESP) będzie w stanie uśpienia pobierając niewielki (kilkaset uA) prąd. Podłączenie czujnika wilgotności bezpośrednio do Vcc zwiększyłoby ten prąd 100-krotnie. I żegnaj układzie po jednym pochmurnym dniu. Na szczęcie czujnik pobiera ok 10 mA a maksymalny prąd wyjściowy portu mikroprocesora to 12 mA. Po wybudzeniu procesora program przełączy port w stan wysoki a tym samym poda napięcie na czujnik wilgotności. Napięcie zasilania czujnika z portu procesora wynosi około 3,12-3,15 V co całkowicie wystarcza do prawidłowej pracy modułu.
Dla bezpieczeństwa powinno połączyć się równolegle dwa porty ale przy ich niejednoczesnym załączeniu może się zdarzyć iż na jednym pojawi się O a na drugim 1. I mam zwarcie, które uszkodzi jeden lub oba porty. Rozwiązaniem są szeregowe diody ale w tym przypadku napięcie zasilania czujnika spadłoby do poziomu 2 ,3- 2,5 V. Czujnik zasilany więc będzie tylko z jednego portu.
Takie rozwiązanie otwiera jeszcze jedną możliwość - jest to pomiar wilgotności wieloma czujnikami przy użyciu jednego tylko ESP8266. Jak?
Każdy z czujników zasilany jest z innego portu cyfrowego Dx a wyjścia wszystkich połączone są równolegle do portu A0. Sekwencyjne załączanie napięcia zasilania na poszczególne czujniki pozwala mierzyć napięcie jedynie z wybranego czujnika.
Pomysł sprawdziłem na dwu czujnikach - działa bez zarzutu.
Program i aplikacja BLYNKa
No tu się nie wysilałem - wgrałem do modułu program, którym testowałem ROW-01. Wszystkie sterowania i odczyt portu A0 zaprogramowałem w aplikacji jako piny rzeczywiste.
W lewym górnym rogu jest wskaźnik wartości z portu A0. Przyciski sterują port zasilania czujnika wilgotności i (kontrolnie) GPIO2 na którym wisi niebieski LED modułu D1MINI. Tradycyjnie w prawym rogu umieściłem wirtualny LED jako wskaźnik komunikacji z serwerem BLYNK (V0).
Widget SupreChart pięknie pokazuje zmiany wartości napięcia z czujnika wilgotności. I czegóż potrzeba więcej?
Czas na nieco poważniejszy kawałek softu z usypaniem procesora. A potem zostaje tylko upchnąć wszystko w obudowę solarnego panelu, zabezpieczyć przed wilgocią i hajda na pole..
Ale to już robota dla ulubionego dalszego ciągu.
Wszystko co potrzeba o D1MINI
Brak komentarzy:
Prześlij komentarz