Outdoor Battery / Power Source

Hi guys,

I'm a bit new to the whole electronics / Arduino / general tinkering hobby, so please excuse me if I overlook simple things. I'm working on creating a weather station type set up. Currently I have a Raspberry Pi that has a DS18B20 that is working. I'm looking to add in a wireless outdoor sensor. I currently have an Arduino uno, a DS18B20, a DH11 humidity sensor, an Xbee and a 4 x AA battery pack.

Everything appears to work well, when I put the sensor outside for the first time last night it was returning data and chugging along happily. It appears as though this lasted for 5-6 hours and then the remote sensor died for some reason. When I retrieved the sensor, it was still powered (lights on and everything) but the Xbee was no longer able to connect to the Xbee router. My first troubleshooting step was to remove the battery pack and use a USB cable - doing this fixed the issue. This leads me to believe this is an issue with the battery pack. So, to my question:

Is this the best setup for an external sensor? This is just a standard 4 x AA holder with a 2.5mm pin soldered on to it + a transistor in line to bring it down to the 5V range. Do you guys think this may just be related to the cold (before it died the temperature was down to about 20 degrees F). Any advice would be greatly appreciated.

Thank you!

Your going to need a bigger power source if you want your weather station to run for a useful amount of time. Try something like this... http://www.all-battery.com/li-ion1865074v10400mahrechargeablebatterymodulewithpcb-31577.aspx


Sounds like a pretty cool setup. One thing that I immediately thought of is your transmit frequency? Since temperature doesn't tend to change all that quickly, only sending data every half hour or so would most likely ease the power consumption. You could do this by putting the arduino in sleep mode and setting up the wake interrupt on a timer IC's output. You will need something more robust than a 555 timer, unless you aren't worried about accuracy. 555 timers will give you ~20% accuracy at 10 min.

This link describes a timer you can use to fire the interrupt anywhere from 1min-2hours increments: http://www.electronicecircuits.com/electronic-circuits/cd4060-timer-circuit-1-minute-to-2-hours

Arduino sleep mode/interrupt code: http://playground.arduino.cc/Learning/arduinoSleepCode

Also, the temperature shouldn't be an issue. Most devices can withstand -40F.

Hey guys,

I was finally able to mess around with the sensor more (darn work!) and I'm very surprised to see the voltage isn't really that low. I was expecting this to be a dead battery issue but that doesn't appear to be the case.

I was having the sensor report back way to often - I had it set to a several times a minute before, I'm going to update my software to maybe bump it back to once every 10 minutes. Hopefully that will increase the life a bit. I'm not looking to get incredible battery life out of this, but I was expecting more than a few hours - I think my goal is maybe a month or so. This sensor won't be going anywhere crazy, it just sits on my patio for the time being, so swapping out the batteries wouldn't be too bad.

Is there any reliable way to get a decent estimate of how long a battery should last? I did a bit of reading and it kind of sounds like its a science in and of its self. If somebody could point me in the direction of a somewhat accurate calculator, it would be much appreciated.

Thanks again for your suggestions!

The first thing to do is make sure that your circuit uses the minimum power possible. This includes using low power and sleep modes of the processor and careful timing of the wakeup and data transmission intervals. Read up on low power modes here: http://gammon.com.au/power

You can always estimate battery life in hours by measuring the average current consumption of the entire circuit in milliamperes (mA) and dividing that into the battery capacity in milliampere-hours (mAh).