Water tank monitor [5]: Power consumption
After building the circuits and programming them, I have to check the power consumption of the sensors before installing them.
After building the sensor node, it's time to check the power consumption and improve it !
Reminder
The first circuit is composed by:
- An Arduino Pro mini 3.3V @ 8Mhz (external oscillator)
- Ultrasound distance sensor HC-SR04
- NPN2222 + resistor
- Level shifter (3.3V / 5V)
- nRF24L01+ radio
- DC-DC Step up MT3806, adjusted to 5V output
- The circuit is powered by 3 AAA battery cells
First circuit enhanced:
- NPN for switching on / off the step-up converter, powering the HC-SR04 sensor;
- Power LED of the Arduino pro mini removed;
So, the source code and the hardware are a little low consumption oriented.
Let's see how we can go further !
First results
With the first circuit, I got those results (with full batteries).
Max consomption
- Arduino in normal mode
- nRF24 in normal mode (
radio.powerUp()
) - SR04 sensor and level shifter power up
Max power consumption: 11mA
Min consumption
- Arduino in sleep mode (with
LowPower.powerDown(SLEEP_STEP_DURATION, ADC_OFF, BOD_OFF);
) - nRF24 in sleep mode (with
radio.powerDown()
) - SR04 sensor and level shifter power down
Min power consumption: 40µA
Duration
As an AAA batteries is around 860 – 1,200 mAh, the device could run in sleep mode more than 2 years if we assume that the battery will be entirely used.
Limitations
This first circuit uses 3 AAA batteries. As I already said before, when a AAA battery is full, the voltage is about 1.6V. The battery can be considered empty when the voltage goes down to 0.8V.
With this first implementation, VCC is between 4.8V and 2.4V; I will not be able to use the batteries entirely, as my Arduino pro mini use a step-down regulator (to 3.3V), and I cannot predict the behavior if the current goes below 3.3V (even a little above, as the regulator drops the voltage down to regulate). Moreover, I'm not sure that the Arduino pro mini can run at 8Mhz with "only" 2.4V.
That's why I published some blog posts about the Arduino Pro Mini running at 1Mhz / 1.8V.
Next step
The next step will consists in:
- Use only two AA batteries to power the device (more compact, more power)
- Use an Arduino Pro Mini @ 1MHz (internal oscillator) to use the batteries as much as possible
- Find an other ultrasound sensor @ 3.3V to avoid the level shifter and the level converter