ESP8266 - zasilanie bateryjne

0xFF
Posts: 308
Joined: Sat Feb 20, 2016 8:54 pm

Post

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
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

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
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

0xFF
Posts: 308
Joined: Sat Feb 20, 2016 8:54 pm

Post

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.
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

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
Posts: 5
Joined: Mon Feb 29, 2016 9:03 am

Post

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.
Last edited by oobot on Mon Feb 29, 2016 9:11 am, edited 1 time in total.
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Może trzeba dodać jakiś restart układu co jakiś czas. Można też dodać sprzętowego watchdoga.
oobot
Posts: 5
Joined: Mon Feb 29, 2016 9:03 am

Post

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.
User avatar
pzygmunt
Posts: 18354
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

Można po każdym pomiarze dodać dodatkowy restart aby zweryfikować czy to problem softu czy sprzętu.
oobot
Posts: 5
Joined: Mon Feb 29, 2016 9:03 am

Post

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.

Return to “Ogólna dyskusja”