ESP32 ako šetriť baterku? sleep / wakeup

Odpovědět
mystikal
Příspěvky: 2
Registrován: 21 dub 2021, 01:38
Reputation: 0

ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od mystikal » 21 dub 2021, 02:02

Ahojte chcel by som ESP32 použíať ako stanicu (resp stanice), ktorá sa pripája do siete cez wifi, táto stanica beží buď ako server, alebo posiela dáta cez web sockety.

Tieto stanice poháňajú nabíjacie 600mAh 9V batérie, ktorých som kúpil zatiaľ 8 kusov (pre 8 kusov ESP32). 600mAh neni veľa, to znamená že výdrž treba nejako optimalizovať. Jednoducho mal by byť spustený režim spánku a keď si na klientovi vypýtam nejaké dáta stanica sa na chvíľu preberie spraví to čo sa od nej očakáva (napr. meranie senzorom) odošle dáta a znovu sa uspí. Toto platí pre remote mód, keď sa na stanicu pripájam na dialku. Ďalší mód by mohol byť z blízka, to znamená, že na stanici bude nejaký displej a k tomu ultrazvukový senzor, alebo fotobunka (PIR modul). Ultrazvukový senzor by v režimu spánku meral vzdialenosť, ak by sa k nemu dakto priblížil na nejakú blízku vzdialenosť, tak by sa stanica prebrala a pozdravila usera na displeji a zobrazila mu merané dáta. Keby sa užívateľ od stanice vzdialil zase by sa stanica uspala.

Ako by ste riešili obidva spôosoby?

čítal som niekde že ESP má viac uspávacích módov, ale vedeli by ste mi dať konkrétny príklad ako tofunguje? prípadne ma na nejaký príklad odkázať? Lebo pri napájaní z batérie, ak by bežalo wifi nonstop tak by sa batéria vypálila za pár dní, samozrejme mohol by som otimalizovať na strane HW teda kúpiť lepšiu batériu s 10x vačšou výdržou teda nie 600 ale 6000 mAh. Pochopitelne takáto nabíjacia batéria je o dosť drahšia a stojí okolo 30 euro takže by sa hodila len na výnimočné riešenia, keby som chcel mať dajme tomu v každej miestnosti jednu stanicu tak by to stálo pre 10 miestností cca 300 €, takže v prvom rade by som rád optimalizoval na strane SW a až potom by som riešil nákupy HW. Samozrejme je možné stanice napájať aj z elektrickej siete, to je ďalšia možnosť, ale nie vždy sa hodí. Na dvore by bolo možné použiť aj fotovoltaický článok, no cenovo to vychádza ešte viac ako kvalitná batéria.

ohruska
Příspěvky: 228
Registrován: 08 pro 2017, 20:56
Reputation: 0

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od ohruska » 21 dub 2021, 11:36

ESP32 mám použito na měření stavu baterie.
Funguje to tak, že program se provede jen ve smyčce "setup()", změřím napětí baterie, připojím se do sítě a odešlu data na server.
Potom uspím ESP do nejúspornějšího módu na 60 sekund.
Po 60 sekundách se provede restart ESP.
Ota

kiRRow
Příspěvky: 620
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od kiRRow » 21 dub 2021, 16:06

Ultrazvukový senzor je žrout jak hrom. Vhodnější by bylo si udělat nějaké senzorové "tlačítko". V podsatě stačí zapojit 3NPN tranzistory darligntonovým zapojením. Pouhé přiblížení ruky obvod sepne a ten přes PIN vzbudí MCU.

ondraN
Příspěvky: 662
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od ondraN » 21 dub 2021, 16:35

kiRRow píše:
21 dub 2021, 16:06
Ultrazvukový senzor je žrout jak hrom. Vhodnější by bylo si udělat nějaké senzorové "tlačítko". V podsatě stačí zapojit 3NPN tranzistory darligntonovým zapojením. Pouhé přiblížení ruky obvod sepne a ten přes PIN vzbudí MCU.
Ten potenciálový snímač je dost háklivý na jakékoli rušení a hodně spíná bez nějakého přiblížení člověka. Postupně jsem přešel na kapacitní snímání, které má navíc v klidu jen pár mikroampér odběru.
https://www.laskarduino.cz/arduino-kapa ... ko-ttp223/
Ale ja tam nutný alespoň letmý dotyk, pokud se připojí na větší plochu, tak hodně blízké přiblížení.

mystikal
Příspěvky: 2
Registrován: 21 dub 2021, 01:38
Reputation: 0

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od mystikal » 21 dub 2021, 20:42

ohruska píše:
21 dub 2021, 11:36
ESP32 mám použito na měření stavu baterie.
Funguje to tak, že program se provede jen ve smyčce "setup()", změřím napětí baterie, připojím se do sítě a odešlu data na server.
Potom uspím ESP do nejúspornějšího módu na 60 sekund.
Po 60 sekundách se provede restart ESP.
Ota
Zaujímavé riešenie. Ďakujem za tip. Ale imho možno by to išlo aj bez toho reštartu.
kiRRow píše:
21 dub 2021, 16:06
Ultrazvukový senzor je žrout jak hrom. Vhodnější by bylo si udělat nějaké senzorové "tlačítko". V podsatě stačí zapojit 3NPN tranzistory darligntonovým zapojením. Pouhé přiblížení ruky obvod sepne a ten přes PIN vzbudí MCU.
A pir senzor? Neviete? Momentálne ich mám doma 4. A mám objednaných ďalších 7 takže by som ich mohol použiť, ale vyskúšam aj to darligntonové zapojenie. Ďakujem za tip.
ondraN píše:
21 dub 2021, 16:35
kiRRow píše:
21 dub 2021, 16:06
Ultrazvukový senzor je žrout jak hrom. Vhodnější by bylo si udělat nějaké senzorové "tlačítko". V podsatě stačí zapojit 3NPN tranzistory darligntonovým zapojením. Pouhé přiblížení ruky obvod sepne a ten přes PIN vzbudí MCU.
Ten potenciálový snímač je dost háklivý na jakékoli rušení a hodně spíná bez nějakého přiblížení člověka. Postupně jsem přešel na kapacitní snímání, které má navíc v klidu jen pár mikroampér odběru.
https://www.laskarduino.cz/arduino-kapa ... ko-ttp223/
Ale ja tam nutný alespoň letmý dotyk, pokud se připojí na větší plochu, tak hodně blízké přiblížení.
Tiež vďaka za tip vyskúšam všetky možnosti a vyberiem tú najvhodnejšiu.

Caster
Příspěvky: 165
Registrován: 11 zář 2019, 09:02
Reputation: 0

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od Caster » 21 dub 2021, 20:47

Bezdotykově, pouhým přiblížením, nejenom ruky, to funguje s MTCH101 od Microchipu. Jde o Single-Channel Proximity Detector. Citlivost lze nastavit.

Pracuji na detekci vhození dopisu do schránky pomocí kruhové vodivé plochy o průměru 5 cm (zatím alobal) ve spojení s HC-12.

Uživatelský avatar
pavel1tu
Příspěvky: 2019
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: ESP32 ako šetriť baterku? sleep / wakeup

Příspěvek od pavel1tu » 24 dub 2021, 08:04

Na přiblížení k zařízení na stole testuji senzor VCNL36821, funguje asi do 30cm, já používám tak kolem 20cm max.
Umím s ním jen základy, vycházím z knihovny od jeho "brášky" VCNL36687 který má menší dosah.

Zjednodušeně to funguje tak,
- nastavíš v něm jak často má měřit (detekovat pohyb), já mám zatím nastaveno 80ms
- on pokud detekuje změnu, pošle na nožičku INT signál, kterým probudíš třeba Arduino

spotřeba je pod 1mA, zatím jsem nezkoumal

Zapojení najdeš v datasheetu, knihovnu od jeho brášky mám upravenou, ale zatím nefunguje na 100%, tak jen odkaz na původní
https://github.com/mehtajainam/VCNL3668 ... 10e40ca78a
https://www.vishay.com/docs/80178/desig ... 36821s.pdf

PS: takovýchto senzorů je vícero, já se řídil tím co bylo dostupné

Pro detekci v místnosti úspěšně používám "IR laser", také "přerušované" měření (kvůli spotřebě), řídím to ATTiny a při detekci probouzím centrálu alarmu.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host