About a year ago I wrote of my on-going experiments to determine how coin cells behave. This was motivated by what I consider outrageous claims made by a number of MCU vendors that their processors can run for several decades from a single CR2032 cell. Some vendors take their MCU’s sleep currents and divide those into the battery’s 225 mAh capacity to get these figures. Of course, no battery vendor I’ve found specifies a shelf life longer than a decade (at least one was unable to define “shelf life”) so it’s folly, or worse, to suggest to engineers that their systems can run for far longer than the components they’re based on last.
Conservative design means recognizing that ten years is the max life one can expect from a coin cell. In practice, even that will not be achievable.
There’s also a war raging about which MCUs have the lowest sleep currents. Sleep current is, to a first approximation, irrelevant, as I showed last year .
But how do coin cells really behave in these low-power applications? I’ve been discharging CR2032s with complex loads applied for short periods of time and have acquired millions of data points.
My CR2032 experiment. A small ARM controller applies various loads to batteries being discharged and logs the results.
The following results are for 42 batteries from Duracell, Energizer, and Panasonic. For each vendor I ran two groups of cells, each group purchased months apart from distributors located in distant states, in hopes that these represent different batches. (The devices are not marked with any sort of serial or batch numbers).
First, the weird part. Our local grocery store sells these cells for up to $5 each. Yet Digi-Key only wants $0.28 for a Panasonic and $0.40 for an Energizer – in singles. Duracells are harder to find from commercial distributors, but I paid about a buck each from on-line sources (e.g., Amazon).
I found little battery-to-battery variability (other than one obviously bad Panasonic and one bad Duracell), little vendor-to-vendor difference, and likewise different batches gave about the same results.
What parameters matter? Chiefly, capacity (how many milliamp hours one can really get from a cell), and internal resistance, which varies with capacity used.
All of the vendors say “dead” is at 2.0 volts.
The following graph shows the average voltage for the batteries from each vendor, as well as the worst-case voltage from each vendor, as they discharge at a 0.5 mA rate. The curve ascending from left to right is the cumulative capacity used. By the time 2.0 volts is reached the capacity variation is in the noise. I found it averaged 233 mAh with a standard deviation between all results of 5 mAh. Energizer and Duracell’s datasheets are, uh, a bit optimistic; Panasonic says we can expect to get 225 mAh from a cell, which seems, given this data, a good conservative value to use.
But in practice you won’t get anything near that 225 mAh.
As cells discharge, their internal resistance (IR) goes up. Actually, this is not quite correct, despite the claims of all of the published literature I have found. Other results I’ll report on in a later column shows that there’s something more complex than simple resistance going on, but for now IR is close enough.
The next chart shows average IR for each vendor’s products, plus the IR’s standard deviation.
So what does this all mean to a cautious engineer? The IR grows so quickly that much of the battery’s capacity can’t be used!
First, the average IR is not useful. Conservative design means using worst case figures, which we can estimate using the measured standard deviation. By using three sigma our odds of being “right” are .997.
The following graph combines the IR plus three sigma IR to show what voltage the battery will deliver, depending on load.
If a system, when awake, draws just 10 mA, 88% of the battery’s capacity is available before the voltage delivered to the load drops to 2.0. It’s pretty hard to build a useful system that needs only 10 mA. Some ultra-low-power processors are rated at 200 uA/MHz with a 48 MHz max – almost 10 mA just for the CPU.
With higher loads, like any sort of communications, things get much worse. Bluetooth could take 80 mA, and even Bluetooth LE can suck nearly 30 mA. At 30 mA only 39% of the battery’s rated capacity can be used. An optimist might use two sigma and suffer from 5% of his system not working to spec, but that only increases the useful capacity to 44%. The battery will not be able to power the system long before it is really “dead,” and long before the system’s design lifetime.
And long before the time MCU vendors cite in their white papers.
(Some MCUs will run to 1.8 volts, so vendors might say my cutoff at 2.0 is unfair. Since battery vendors say that 2.0 is “dead”, I disagree. And, even if one were to run to 1.8V there’s less than a 5% gain in useful capacity.)