I'm using several ESP's (01 / 12 / 32) to measure temperature, humidity, rain and similar.
The self-build sensors measure every 15 to 20 minutes and connect to my router and upload the data to the internet.
Inbetween the ESP's are in deep sleep.
As we all know, ESP's are power hungry when activating WiFi.
When coming back from a short holiday I was pretty astonished regarding two facts:
1) the power consumption was way higher than during my weeks of testing
2) looks like ESP's can kill LiFePO4 rechargable batteries directly attached
Ad 1)
main reason was that 'we' weren't at home. Or to be a little more precise: our WiFi attached devices weren't at home, so the router cut off the WiFi AND the ESP's weren't able to wake up my router's WiFi AND some of my codings didn't restrict time to connect to the WiFi.
Nothing brand new, but maybe still interesting in this combination
Ad 2)
One ESP-12 uploaded a final battery voltage of 2.22V. Yes we know, the ADC isn't that accurate, but my charger showed a matching value far below 2.5V. Charging this battery let to just 200mAh of charge. Nominal capacity: 1.500mAh. Lasts few charges allowed >>1.000mAh of charge.
As I charged the battery just two days after the ESP went out of operation and leakage wasn't visible during weeks of regular operation, I assume my ESP runs with less than 2.5V. How come'? The only sensor attached, a BME280, is powered by one of the GPIO's of the ESP itself and even if still connected shouldn't drain the battery that much.
Any idea why this can happen and how to avoid it? I have no problems when the ESP simply stops operation. And, yes, I'd like to stick to LiFePO4's due to safety and complexity reasons.
I know it's a mixture of different kinds of ESP's. If I should rather move my questions could you please be as kind as to propose which section would fit best?
Power consumption - especially if not everything is working smooth
-
- Posts: 9766
- Joined: Thu Nov 26, 2015 4:08 am
Re: Power consumption - especially if not everything is working smooth
Effectively, what happens when an ESP32/ESP8266 does when its power is too low is undetermined: as the logic is not working within its normal parameters, anything can happen, including high current drain. You probably want to have a chip that keeps the ESP in reset when the power is too low; chips like this are commonly called 'microcontroller supervisor' chips. FWIW: we are aware that it's irritating to need an extra chip for that; the ESP32-S2 has functionality included that will likely make an extra chip not needed in most circumstances.
-
- Posts: 29
- Joined: Fri Mar 03, 2017 10:31 am
Re: Power consumption - especially if not everything is working smooth
I have almost the same scenario with battery-driven sensors sleeping for ten minutes and sending the data via WiFi to a server. I also power my sensors with GPIO pins. I have several configurations running and try to find the best solution.
I have no clear answers to your questions, but some experiences:
When the server was once not available for several hours, the battery was empty after 5-6 hours because the WiFi was activated and my software didn't stopped the request.
When the access point is not available, the ESP32 goes to deep sleep immediately.
I lost some 1100 mAh NiMH rechargeable batteries. I think the high peak current killed them even it was within the specifications of the battery. I'm using a battery pack of four AAA batteries.
I also had ESP32 working with a voltage of 2.8 V. The DHT22 temperature and humidly sensor stops much earlier at about 3.2 V, so this is not the right sensor for this scenario.
I have no clear answers to your questions, but some experiences:
When the server was once not available for several hours, the battery was empty after 5-6 hours because the WiFi was activated and my software didn't stopped the request.
When the access point is not available, the ESP32 goes to deep sleep immediately.
I lost some 1100 mAh NiMH rechargeable batteries. I think the high peak current killed them even it was within the specifications of the battery. I'm using a battery pack of four AAA batteries.
I also had ESP32 working with a voltage of 2.8 V. The DHT22 temperature and humidly sensor stops much earlier at about 3.2 V, so this is not the right sensor for this scenario.
Re: Power consumption - especially if not everything is working smooth
thanks for the details and good to know further chips are being created.ESP_Sprite wrote: ↑Thu Jun 13, 2019 2:31 amwe are aware that it's irritating to need an extra chip for that; the ESP32-S2 has functionality included that will likely make an extra chip not needed in most circumstances.
At the moment it's not a big issue to live with the restrictions as I've still so many improvements to do.
Re: Power consumption - especially if not everything is working smooth
I'd like to add how massive a loss in voltage could be:
The first runs contains several drops before, starting at about 3.1V, it is emptied within just one week (attached was only a BME280, measuring interval was 15minutes).
First discharging the LiFePO4 with 1,600mAh, lasted less than two weeks, not even 12 days in fact.
Second charge is running the ESP since five days.
Changes, maybe sorted from most to least important:
in the picture you can see that the battery was charged twice.The first runs contains several drops before, starting at about 3.1V, it is emptied within just one week (attached was only a BME280, measuring interval was 15minutes).
First discharging the LiFePO4 with 1,600mAh, lasted less than two weeks, not even 12 days in fact.
Second charge is running the ESP since five days.
Changes, maybe sorted from most to least important:
- no WiFi connection within 5 seconds => deep sleep for 5 minutes
- I don't use #include <ThingSpeak.h> in the Arduino IDE anymore. Uploading three values at once until the one okay was received took 6 seconds - with WiFi on
I'm now using JSON POST http requests which take less than half a second - measuring interval from 15 to 20 minutes
- do NOT deactivate DHCP,
yes I know, but my router establishes connection WITH DHCP within 0.3 seconds and WITHOUT it takes 3seconds - no typo on this
Re: Power consumption - especially if not everything is working smooth
the effect on not handling a missing WiFi correctly for a battery powered device is shown in this picture:
You can imagine that with all the other gaps in my coding still online, just the varying WiFi conditions (no one at home, hence WiFi in standby mode during night plus ESP's not making the WiFi awake) draw about four times the power.
Charging the battery twice is visible in the right part and is identical to the graph above.You can imagine that with all the other gaps in my coding still online, just the varying WiFi conditions (no one at home, hence WiFi in standby mode during night plus ESP's not making the WiFi awake) draw about four times the power.
Re: Power consumption - especially if not everything is working smooth
are there any examples of supervisor chips that would make sense with ESP's whereas others don't? Would a wiring diagram, picture or similar be available? Mabe someone also has experience with ones for LiFePO4's?ESP_Sprite wrote: ↑Thu Jun 13, 2019 2:31 amYou probably want to have a chip that keeps the ESP in reset when the power is too low; chips like this are commonly called 'microcontroller supervisor' chips.
Thanks for any help
Re: Power consumption - especially if not everything is working smooth
I've used a TPS3839 voltage supervisor on a WROVER breakout board. My main concern is when I have a large capacitor on the 3.3V supply line. Switching off the power supply to the voltage regulator results in a flaky restart when the regulator output capacitors do not discharge fully on shutdown - not all regulators will discharge the output capacitors on shutdown.
You can select different variants of the TPS3839 to choose the voltage levels below which the supervisor will hold the ESP32 in reset - it has built in hysteresis. E.g. TPS3839K33DBZ for a voltage threshold of ~2.93V.
https://github.com/har-in-air/ESP32_WRO ... ematic.pdf
You can select different variants of the TPS3839 to choose the voltage levels below which the supervisor will hold the ESP32 in reset - it has built in hysteresis. E.g. TPS3839K33DBZ for a voltage threshold of ~2.93V.
https://github.com/har-in-air/ESP32_WRO ... ematic.pdf
Who is online
Users browsing this forum: No registered users and 107 guests