Witam, robię projekt oparty o układ DFRobot FireBeetle ESP32. Całość ma być zasilana z baterii dlatego zależy mi na niskim poborze prądu. Natknąłem się jednak na problem.
Do układu mam podpięte dwa przyciski - oba mają za zadanie wybudzić ESP 32 ze stanu uśpienia, wysłać wiadomość po MQTT i wrócić w stan uśpienia. Wszystko działa jak trzeba ale nie do końca.
Po podłączeniu zasilania układ pobiera 13uA prądu - czyli jest w prządku.
Kiedy wybudzę układ jednym z dwóch przycisków (stan 3,3 V po wciśnięciu - wiadomość MQTT zostaje wysłana ale układ nie przechodzi na pełne uśpienie. Pobór prądu od tego momentu utrzymuje się na poziomie 1,6mA.
Kiedy drugi raz wcisnę któryś z przycisków ale na ułamek sekundy (tak że nie zdąży wysłać wiadomości MQTT pobór spada do prawidłowej wartości 13uA.
Mam wrażenie, że problem leży gdzieś w kodzie ale nie potrafię go zlokalizować, będę wdzięczny za wskazówki !
Do układu mam podpięte dwa przyciski - oba mają za zadanie wybudzić ESP 32 ze stanu uśpienia, wysłać wiadomość po MQTT i wrócić w stan uśpienia. Wszystko działa jak trzeba ale nie do końca.
Po podłączeniu zasilania układ pobiera 13uA prądu - czyli jest w prządku.
Kiedy wybudzę układ jednym z dwóch przycisków (stan 3,3 V po wciśnięciu - wiadomość MQTT zostaje wysłana ale układ nie przechodzi na pełne uśpienie. Pobór prądu od tego momentu utrzymuje się na poziomie 1,6mA.
Kiedy drugi raz wcisnę któryś z przycisków ale na ułamek sekundy (tak że nie zdąży wysłać wiadomości MQTT pobór spada do prawidłowej wartości 13uA.
Mam wrażenie, że problem leży gdzieś w kodzie ale nie potrafię go zlokalizować, będę wdzięczny za wskazówki !
Kod: C / C++