I have calculated 900 days of deep sleep. How it looks in reality, we see today!
Calculation vs. Reality
As you can read here, the first node has been in use for almost 5 months now.
In today’s post you will read what I have learned in terms of power consumption during this time.
What I had planned in May ’18
A LoRa node with Arduino Pro Mini 3.3V, a 900mAh Li-ion battery in AA format, a DHT22 and a 0.15W 5V solar cell. Back then, I only calculated the Deep Sleep with 0.04mA. I totally neglected sending. And the deep sleep also calculated wrong!
The 0.04mA I measured without sensors and roughly calculated. That should still be true.
In the Node a DHT22 is installed. This has a standby current of 45uA, so 0.045mA. Together we get on 0.085mA! More than twice as much.
I assumed that I would send on SF7 and thus I have little power consumption, but I send to SF11.
SF11 instead of SF7 thanks to OTAA, why?
When I first turned on the node, she tried to get confirmation from OTAA. At this time we did not have our own gateway, so it was only confirmed at SF11.
On 21.06.2018 we have set up our own gateway. Because the node does not send a join request again, it stays with SF11.
Good to see in the following diagram when our gateway was set up:
I will soon press the Reset button on the Arduino. Then he should again send a join and thus stay at SF7 and consume significantly less power!
We have learned here: Let the microcontroller reboot once every x months to request a join again.
The Li-ion cell is a 14500 (AA) with 900mAh and 4.2V charging voltage and cut-off at 2.5V. The solar cell has 0.15W and 5V, so in about 35mA at 4.2V. The battery needs about 26h sun to fully charge.
In Germany we have an average of 4.5 hours of sun per day. So we need 6 days of sun to charge a completely dead battery.
By shutting off our Arduino at 3.3V, we can only use 80-90% of the battery. The sun is not always cloudless and at 90 degrees to the solar cell. The charge controller also consumes something. All in all, we can be happy if the battery is full after 1 week.
In this picture you can see how the voltage drops linearly.
The red arrow shows the 01.08.2018.
Today, 6 weeks later, we still have 3.53V and are smit just before the end at 3.3V.
Why did it take only 6 weeks?
1. SF11 instead of SF7, so much much slower transmission
2. DHT22 instead of BME280
3. DHT22 standby not included
From 4.2V to 3.5V mean about 85% capacity.
At 900mAh that means 765mAh.
At 6 weeks, about 42 days, it is about 1,000 hours.
Li-ion has about 5% self-discharge per month.
That leaves about 700mAh.
So we come to about 0.7mA consumption.
Calculated at that time were 0.04mA for Deep Sleep. So stay 0.66mA for pure transmission.
Sent every 10 minutes, so 144 times a day.
At 42 days, that’s 6,336 times.
This required 660mAh.
Means 0.1mAh per send.
The node requires 0.04mA deep sleep and 0.1mAh per send at SF11 with 6 Bytes Payload.
What happens next
I will reconnect the solar cell as soon as the Arduino has shut down. Then I’ll see how long the solar cell takes to fully recharge the battery.
I will repeat the experiment with SF7.