Dear all,
First of all, I have been experimenting with Arduino for some time now (simple projects), but it is the first time I post a problem to this forum, so I am really just a beginner. Apologies if I ask something stupid, do not follow a forum guideline or have made a simple coding mistake.
Recently, I moved to a new home with a concrete rain water well (to collect and store rain water for toilet use etc.). However, there was no means present to measure the volume of water available in the well. Therefore, I made 2 arduinos. One sender arduino (arduino pro mini 5V) that is placed inside the well below the sealing cover and measures the distance to the water via an ultrasonic distance sensor (HCSR04). 2 measurements are done each 24h (via an RTC that interrupts twice a day). When a measurement is done, this measurement is sent wirelessly to the receiver arduino using a nRF24L01 module. So far so good, everything is working fine and the measurements work.
Now my problem.
Because I do not want to open my well too often to replace batteries, I used an arduino pro mini powered by four 1.5V AAA 900 mAh batteries. To minimize power consumption, I followed the guidelines described here,
I removed the power led, so the power consumption of the sender arduino should be (ACT = active mode, PDS = power down sleep mode):
No Power LED | RAW Pin | ACT | 16.9 mA | |
---|---|---|---|---|
No Power LED | RAW Pin | PDS | 0.0232 mA* |
I put the sender arduino for 99,98% of the time on sleep mode during 24h (using 0.0232 mA). Only when measuring, the arduino is awake and uses 16.9 mA.
So with 4 AAA batteries of 900 mAh, the sender should be able to send for months and months without replacing the batteries. But unfortunately, batteries are depleted within 48h (which suggests to me that the arduino is 100% active during these 48h --> 900 mAh more or less equals 16.9 mA * 48h).
What do I do wrong? In my code of the sender arduino (see attachment), I use following instruction after each measurement (as suggested on the website):
LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);
Thanks already for all your help!
sender.ino (2.6 KB)