Go Down

Topic: Batteries, howto make a board that can run a year? (Read 2 times) previous topic - next topic


Arduino boys & girls,

To put it simple, how to power the Arduino as long as possible with a battery, accu, or whatsoever as long as it's not connected to the net supply? I already asked this in the past in this thread:

that was quite a while ago though. Didn't had proper time to really work it out. But basically the advise was to put the board & XBee asleep as much as possible. That makes sense of course, but when we measured the board, it was still using 10 mA in sleepmodus I believe. It could be a little bit lower or higher, I don't precisely remember anymore. But the conclusion was that the average fat 9Volt battery would only last for a week or so.

Now I'm just a programmer, so maybe you guys have some tips to either reduce the power consumption further, or extreme batteries. Space is not a problem, we can easily place 8 AA batteries inside the box if that would be needed. Or maybe chosing another Arduino board could help as well (though I'm not sure if it can interface with the XBee & sensor then).

The situation for this particular device:
- Mobile logging device (captures temp & humid, sends it to a server). Box can be placed anywhere (which is why we can't use netpower)
- Battery should live for about a year if possible
- Arduino Duemilanove
- XBee shield on top
- 5 Volt Humidity / Temperature sensor (interface via serialport)
- Module should send a few packets to the server each ~10 minutes
- If possible, it should take a few (4 to 10) samples over those 10   minutes to make an average. That means it has to wake up for  a short while, but without needing the XBee.

Game hobby project: Tower22


Apr 14, 2011, 11:11 am Last Edit: Apr 14, 2011, 11:14 am by pluggy Reason: 1
Go down to your local breakers yard and get a car battery that will still turn an engine over.  Protect it from excessive cold and don't draw too much current from it with extras and it should last a year without charging . You'll probably need sleep mode as well.....


If possible, it should take a few (4 to 10) samples over those 10   minutes to make an average

Why not do a sample every minute and send them all to the server, you get a much more data on the server, once there is connection you better put a bit more data through.

That said, with some clever compression you can minimize data .

e.g. measurements:
<start>T 14.6  <stop> (one measurement = start stop T + 1 float = 7 bytes)
<start>T 14.5 14.5 14.5 14.5 14.3 14.5 14.6 14.7 14.9 14.6 <stop>   (start stop T + 10 floats ~= 43 bytes) could become
<start>T 14.5  0     0     0      -2      0     1      2      4     1 <stop>    (start stop T + 1 float + 9 deltas ~=22 bytes)

in this example there is one reference temperature and the others are byte values that indicate the offset in 0.1 wrt the reference. The max temp delta that can be send is +- 12 degrees (within one minute this is quite a lot! can be worked around by defining one code as special, eg. a value > 120 means next value is a complete float again) 

So with 3x as much bytes (22) one can send 10 times as much data.

BTW - you should add some monitoring of the car battery status
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)


Well, sending more data is not a problem, and the packets are really small already. But it would also mean the XBee (this one consumes most of the power) has to wake up more often. That's basically the reason to do it that way.

A car battery... I said space is not an issue, but a car battery is pretty large though :) It's not impossible of course, but do similar devices really need that kind of batteries? You can buy plug & play temperature/humidity loggers, and they are as big as half a fist. Sure, they don't send data wireless, and their circuits are far more optimised than my hobby project. But using a car battery on the hand sounds quite drastic.
Game hobby project: Tower22


You could get a motorcycle battery instead, they are much smaller and these come in pretty high capacities as well.
Don't know if you could get them up to a year, but I think with the right precautions (sleepmode etc.) you can get it to last a long time.

Go Up