Myths and legends are usually the subject of incredible beauty, unsurpassed strength or attempting what mere mortals assume is an unobtainable goal. It is often difficult to separate myth from reality or even know where one ends and the other begins. The same can be said for much of what you read these days about products with a 10 year battery life. When you see advertisements for wireless devices claiming 10 year battery life from a coin-cell battery it is easy to think that is the stuff of myths and legends. Yet, given the right hardware/firmware design and the appropriate battery technology and capacity for a certain application, 10 year battery life is certainly a doable thing.
As a hypothetical reality, you’ve just been tasked with designing your company’s next product and prominent in the features list is 10 year battery life. As I’ve tried to stress throughout this blog, keep in mind that low-power design is really low-power system design, not just hardware or firmware design. Designing for long battery life often requires compromises in feature set and performance, hardware/firmware design, battery selection and even industrial design. Here are some of the keys to achieving maximum battery life.
Develop your power management strategy before even looking at that blank page in your schematic capture program. There are many micros that have really low sleep mode current specs that may be impossible to achieve in your design or may have serious implications for your design. Just a few of the many things to keep an eye out for are:
- The clocks to all the micro’s on-chip peripherals are stopped when the micro core is asleep. This would prevent timed wake-ups unless you also have a real time clock with enough resolution to meet your timed wake-up needs. If your code needs to run more than once per second, depending on the RTC design this may not be possible.
- Only a few bytes of data in special registers are maintained in power-down mode. This may be OK for very simple applications but when using a micro like this, coming out of the power-down mode is essentially the same as a power-up. This means the micro core, firmware structures and on-chip peripherals will all have to be initialized every wake-up before any real application code can run. This can seriously impact response times and waste a lot of power (not to mention jeopardize your friendship with the people writing the firmware for your hardware).
- A micro that powers down the oscillator, flash and internal RAM can take several milliseconds to start running code when coming out of a deep sleep or power down mode. If your application requires a quick response to the event that wakes the micro it may not be achievable without using a higher current sleep mode. The same thing applies if you rely on a PLL internal to the micro to generate a high speed clock for the micro or on-chip peripheral.
- Most micros have a limited number of GPIO pins that can wake them from sleep mode. Generally the deeper the sleep mode the fewer wake-up options you will have and in some cases only a single dedicated pin can be used to wake the micro from the deeper sleep modes.
- Some micros allow a timer to be clocked with a slow clock like the RTC clock or watchdog timer clock in a deep sleep mode. Be careful with this because the timer may not be able to generate an interrupt to wake the micro. The timer may have to drive a GPIO to wake the micro.
Using your power management strategy, prepare a power budget for the device. How to do this could be the subject of several blog posts but suffice it to say that an accurate power budget is essential to having a chance of meeting your battery life target (no matter how long or short that is). If your product’s behavior is well defined and isn’t too complicated it is possible to create an accurate power budget in a fairly simple spreadsheet. If your first cut at a power budget shows you have battery capacity to spare, don’t congratulate yourself just yet because it is probably grossly wrong. It’s a good idea to always double check, then triple check then have at least one other person check your power budget.
Before getting too far into the product design (particularly the mechanical/industrial design), you should know how your battery will behave under all of the conditions it will encounter. There are three characteristics of almost all battery chemistries that can combine to produce a voltage too low for your circuit to function long before the battery has completely discharged:
- Battery voltage typically degrades over time, whether it is just a “wear” effect on a primary battery or the voltage droop that is common for rechargeable batteries.
- Battery voltage is typically reduced as temperatures become lower. Batteries can be designed to minimize this effect but these are typically expensive industrial oriented batteries, not your common coin cell or AA type batteries.
- Battery voltage is typically reduced as the load increases. This is primarily caused by internal resistance of the battery. For some battery types the internal resistance increases over time so this effect becomes more severe as the battery ages.
The extent that these characteristics are exhibited varies considerably from one battery chemistry to another and most battery data sheets provide graphs showing these effects under different conditions. However, these graphs rarely depict what happens for combinations of these effects so when your design is subject to more than one of these conditions (such as high load and low temperatures) you should experiment with these conditions to characterize the battery output voltage. You may find that your power budget says you are good for 10 years when in reality after a few years when your wireless radio transmits in cold weather the battery voltage drops too much for your circuit to function. Also, pay attention to the battery’s self discharge current and account for it in your power budget, with today’s ultra-low power micros the battery’s self discharge may be higher than what the circuit draws in sleep modes.
You need comprehensive and accurate current measurements for all of the operating modes your device has. If your device performs some function several hundred times a day, any error in your current measurement when that function is being performed will add up over time but these higher power states often have surprisingly little impact on battery life. More importantly, if your device spends almost all day in sleep mode, a 10% error in the sleep mode current measurement could mean you miss your calculated battery life by 10%. If you are taking nano-amp to micro-amp current measurements with a sense resistor and regular scope probe your measurements could easily be off by much more than 10% (see our white paper at http://www.cmicrotek.com/accur_scope_meas.htm to learn more about why this can happen). To make things worse, as the article at the link below discusses, several recent studies have shown substantial differences in the current draw from several samples of the same micro, particularly in sleep modes and over temperature. Since these differences are mostly attributed to leakage currents, this should apply to nearly all complex CMOS ICs and not just micros. http://www.eejournal.com/archives/articles/20151209-chipdifferences/
You must have a thorough understanding of how your device performs in the actual environment it is used in. This point is particularly important for devices that incorporate wireless radios. If the product enclosure design or the surroundings where the product is installed attenuates the radio signal such that transmission retries are the norm or higher transmit power is used by the radio, you may miss your battery life target by years. Particularly for industrial applications, mounting a device on a metal pole or on the side of a metal box is commonly done but the proximity of that large metal area to a low power radio antenna will severely degrade its performance. Unless the wireless radio provides retry counts, transmit power levels and similar diagnostic information, monitoring current waveforms while your device is operating is a good way to literally see exactly what it is doing.
Last of all, while doing your design keep in mind all of the various leakage currents (and “current leaks”) your design may be subject to. It is difficult enough to design around all the obvious current consumption points but these easily forgettable points of wasted power can easily ruin your best design efforts. It is easy to forget about things like the quiescent current of a voltage regulator which can be considerable compared to a micro’s deep sleep mode current. Achieving long battery life requires excruciating attention to these types of design details.
So, for the unavoidable mythology references, when designing for long battery life you may feel like Sisyphus from Greek mythology who was condemned to rolling a boulder uphill only to have to roll back down the hill when he approached the top. You may get your power budget close to your design goal only to have to take big steps backwards to try again. With thorough front research, considerable engineering effort plus a little luck, your project won’t crash and burn like Icarus when he flew too close to the sun and his wings melted so your 10 year battery life can become a reality.