Tips for extending battery life

For Adafruit customers who seek help with microcontrollers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
sludin
 
Posts: 2
Joined: Wed Jun 17, 2009 2:03 pm

Tips for extending battery life

Post by sludin »

My desire is to create standalone (battery powered) remote sensors built are AVR microcontrolers that either radio sensor data home via xbee or similar, or write it locally to eeprom or sd card for occasional manual pickup. Think, "weather monitoring" to place the use case in the right category. Ideally I'd love to replace the batteries only, say, once a year. For all I know that is completely unrealistic, but I have to start somewhere. I know there are a thousand-and-one variables specific to my project (and budget) that I would need to share to get direct help, but I what I am looking for now is more general tips and best practices.

I assumed this all would be an easy google search away, but the information is oddly elusive. Redirects are welcome.

Here are some points that I have been able to gather. I'd love any myth busting or addition you can provide:

- Get the right microprocessor for the job. i.e. don't use an atmega328p when an attiny might do.
- Use hibernate/sleeps modes! For my project, for example, I would have the AVR wake every five minutes or so to take and send/record a reading.
- Invest in good batteries with high capacity
- Do not provide much more voltage than you need (i.e. 9V battery for a 3.3 volt circuit)
- Run the AVR at 3.3 volts rather than 5 V.
- Consider a switching regulator rather than a linear regulator
- Dispense with extraneous current suckers. For example LEDs that show the unit is on.

Those are all basic circuit design ideas. Additionally I have been looking at ways to use small solar panels to trickle charge the battery and hence extend life, as well as adding features such as a status LED that blinks when voltage is low, or better, having the unit call home.

Thanks,

-stephen

User avatar
opossum
 
Posts: 636
Joined: Fri Oct 26, 2007 12:42 am

Re: Tips for extending battery life

Post by opossum »

sludin wrote:- Invest in good batteries with high capacity
- Do not provide much more voltage than you need (i.e. 9V battery for a 3.3 volt circuit)
- Run the AVR at 3.3 volts rather than 5 V.
- Consider a switching regulator rather than a linear regulator
- Dispense with extraneous current suckers. For example LEDs that show the unit is on.
If all your components will run from 2.5 to 3.3V, then a voltage regulator may not be needed at all. A pair or AA, C or D alkaline battteries could be used without a regulator. Lithium primary (non-rechargeable) batteries will last even longer and/or take less space. A CR123 lithium battery is comparable to 2 x AA, but smaller. Rechargeable batteries often have self discharge that make them unsuitable for applications that require long battery life.

You may be able to power some of the sensors directly from an I/O pin. That eliminates the need for additional power switching circuity and allows smart power management by the microcontroller.

User avatar
opossum
 
Posts: 636
Joined: Fri Oct 26, 2007 12:42 am

Re: Tips for extending battery life

Post by opossum »

sludin wrote:- Use hibernate/sleeps modes! For my project, for example, I would have the AVR wake every five minutes or so to take and send/record a reading.
Saving several readings in RAM, and then sending the saved data every few hours may help save power.

ziplock
 
Posts: 41
Joined: Fri Jan 30, 2009 7:03 pm

Re: Tips for extending battery life

Post by ziplock »

Lower your clock speed, and, if possible, use the internal resonator/ crystal.
Use the lowest power radios feasible.
Go with LiIon/LiPo. Best choices. (Sparkfun sells a 6Ah LiPo for $39.95, IIRC.)

User avatar
sorceress sarah
 
Posts: 100
Joined: Sat Jun 20, 2009 2:07 pm

Re: Tips for extending battery life

Post by sorceress sarah »

Consider using one of THESE.

RF-capable. If you pair it with a PSoC and use PSoC's the Switch-Mode-Pump, you can drive it off a CR2032 at 3.3v.

sludin
 
Posts: 2
Joined: Wed Jun 17, 2009 2:03 pm

Re: Tips for extending battery life

Post by sludin »

Thanks for the ideas.

SiliconFarmer
 
Posts: 33
Joined: Sun May 31, 2009 2:07 pm

Re: Tips for extending battery life

Post by SiliconFarmer »

Watch out for other current suckers, such as pull-up resistor on a normally low signal, or analog circuits that can't be switched off during your standby time.

When you program the AVR, you can disable functions that you are not using in your project, such as A/D converters and most other functions, to save a little more power.

If you limit the frequency that you are running the AVR, they can run at voltages from 5v down to 2.7v, and some down to 1.8v. Running straight off the battery is the most efficient, but you have to consider how to interface to the radio or flash memory without expending too much power.

It has been shown that if you are going into a low power sleep mode, typically you should run the project as fast as possible so it can get into very low power mode as quickly as possible to have the most power efficient design. If you can get your design to drawn just a few uA in standby with no loss from the power supply (low dropout linear regulators draw almost nothing when they are supplying almost nothing), it may be worthwhile to have a regulated 5V supply.

I have successfully used Eneloop batteries in outdoor sensors. They work at low temperatures, have very low self discharge, and are rechargeable. I don't know how LiPo batteries behave in freezing temperatures. If that is an issue for you, then you will need to research that before using LiPo. Also, LiPo must be charged using a Li-specific charger circuit. Check Youtube for exciting results that can be achieved with improper charging of LiPo batteries.

Locked
Please be positive and constructive with your questions and comments.

Return to “Microcontrollers”