ESP8266 - zasilanie bateryjne

0xFF
Posty: 308
Rejestracja: sob lut 20, 2016 8:54 pm

Witam,
Gratuluję projektu.
Dotychczas używałem modułów BLE i serwisów IOT thingspeak.com, io.adafruit.com.

Chciałbym dowiedzieć się czegoś więcej o kontroli temperatury. Czy planujecie jakieś firmware dla ESP8266 do tego celu?
Ciekawi mnie czy ESP8266 + czujnik DHT22 jako moduł kontroli temperatury/wilgotności da się zasilać z baterii, np. ogniwa 2xAAA?

Pozdrawiam
Awatar użytkownika
pzygmunt
Posty: 18333
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Wkrótce będzie dostępny firmware obsługujący czujniki DHT11, DHT22, DS18B20. Póki co pracuję nad biblioteką dla Arduino, która będzie dostępna
w przyszłym tygodniu.

Co do zasilania z baterii. Nie robiliśmy jeszcze testów z tego typu zasilaniem.
Wg. tego wątku http://www.esp8266.com/viewtopic.php?f=6&t=4756 na bateriach AAA ESP pracowało około 6 godzin.
Wszystko zależy też od tego jak daleko ESP jest od access poina, jak często będzie wysyłało info o temperaturze i co dokładnie będzie do niego podłączone. Zaleca się jednak użycie np takiej baterii
https://www.sparkfun.com/products/339

Tutaj ktoś zbudował termometr z użyciem baterii "zegarkowej"
https://www.sparkfun.com/products/339
Awatar użytkownika
pzygmunt
Posty: 18333
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

0xFF
Posty: 308
Rejestracja: sob lut 20, 2016 8:54 pm

Miałem nadzieję, że wynik będzie w dniach, a nie w godzinach ;-)
Myślałem o takim trybie pracy, że czujnik mierzy temperaturę, wysyła pakiet danych na serwer i przechodzi w stan uśpienia powiedzmy na 5 min.
Nie mam doświadczenia i nie wiem, czy ESP8266 ma taki tryb niskiego poboru mocy.
Awatar użytkownika
pzygmunt
Posty: 18333
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Można tak zrobić. ESP ma funkcję
void system_deep_sleep(uint32 time_in_us)
umożliwiającą przełączenie układu w tryb głębokiego uśpienia na określony czas. Po tym czasie urządzenie wybudza się, wykonuje zadane czynności i znowu może przejść w stan uśpienia.
oobot
Posty: 5
Rejestracja: pn lut 29, 2016 9:03 am

próbowałem coś takiego wykonać na bateriach. niestety mam problem ze stabilnością.
esp8266 + bme280 i zasilane z baterii. pomiar co 15 minut, potem przejście w deep sleep. układ dość łatwo wchodzi w deep sleep i pracuje poprawnie jakiś czas, jednak po kilku dniach takiej pracy i przesyłania danych się zawiesza - maksymalnie póki co udało mi się osiągnąć 6 dni. nie jest to problem pojemności baterii, po resecie wszystko hula dalej.
Ostatnio zmieniony pn lut 29, 2016 9:11 am przez oobot, łącznie zmieniany 1 raz.
Awatar użytkownika
pzygmunt
Posty: 18333
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Może trzeba dodać jakiś restart układu co jakiś czas. Można też dodać sprzętowego watchdoga.
oobot
Posty: 5
Rejestracja: pn lut 29, 2016 9:03 am

watchdog będzie mi zjadał baterię :( a masz może jakąś konkretną propozycję takiego?

w między czasie udało mi się wykminić że potrzebny jest kondesator na wejściu do modułu. esp przy restartach z deep sleep ma duży pik zapotrzebowania. umieściłem kondesator 100uF na wejściu i udało mi się wydłużyć ten czas z 1-2 dni do 6 w ten sposób. aktualnie sprawdzam z kondesatorem 470uF.

watchdog wydaje się być opcją ale wolałbym w ostateczności.
Awatar użytkownika
pzygmunt
Posty: 18333
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Można po każdym pomiarze dodać dodatkowy restart aby zweryfikować czy to problem softu czy sprzętu.
oobot
Posty: 5
Rejestracja: pn lut 29, 2016 9:03 am

to prawda. chyba będę też tak próbował. niestety potrzebuję czasu dla prób.
aktualnie jestem przekonany że to problem z uzyskaniem stabilności zasilania. jak tutaj się nie uda będę próbował z restartem.
ODPOWIEDZ

Wróć do „Ogólna dyskusja”