10 tips for maximizing battery life
Portable, battery powered devices are sweeping through society like wild fire. Mobile computing and sensor devices are springing up everywhere providing engineers with not only a plethora of data but also applications. Requirements often dictate constraints on size and weight that limit how much capacity the battery can carry. The number of features on devices in addition to the time between charges makes it very challenging to near impossible to meet the requirements. Selecting a low power microcontroller is an obvious first step but there is a number of software and hardware tips that can be followed to ensure that every last milli-Amp-hour of charge is put to good use.
Tip #1 - Create a battery budget
Early in the design cycle it is highly recommended that a battery budget be put together. Current requirements for each device on the board can be tallied together to get a rough idea of how much battery current is going to be needed and whether the selected battery is up to the job. Device datasheets have gotten pretty good at providing minimum, typical and maximum current data. Taking a very conservative approach, a battery budget could be based solely on the maximum current values for the devices; However, an excel worksheet is easy to duplicate and creating a budget for both typical and maximum will give a good ball park range. If more battery is needed than is available, please don’t just move forward on the project! Make the necessary changes up front to spare weeks or months of heartache down the road! Figure 1 shows an example battery budget template that can be downloaded from the authors’ website under Design Articles\Design Cycle.
Figure 1 – An example battery budget
Tip #2 – Set unused MCU I/O to lowest power state
It is easy to overlook what should be done with an input/output pin that is not being used. This oversight however can be the difference between having a marketable product and an expensive paper weight. Each microcontroller has different recommendations on what to do with unused pins and close examination of the datasheet will reveal what should be done. For example, an unnamed silicon vendor datasheet recommends that any unused I/O be set as an output and driven low. The purpose of this is to minimize leakage and quiescent currents in an effort to minimize power usage. While these currents are tiny, each unused pin adds to this loss and over a period of a day can be a substantial amount of battery life.
Tip #3 – Turn-off unused MCU peripherals
Just like in any home, if you aren’t in a room then the light should be turned off to conserve energy. It is the same thing with a microcontroller. If there is an unused peripheral like an analog-to-digital converter or a pulse-width-modulator, turn it off in order to save power! Peripherals can be quite a power hog! For fun pick out a favorite microcontroller and scroll through the datasheets power section and see how much current is being drawn by each peripheral. Some providers don’t include this information and it is up to the engineer to setup some hardware on the bench and then using test software turn peripherals on and off one at a time to get an understanding of the current draw. Analog-to-digital converters and USB peripherals tend to be near the top of the biggest users list.