Using a capacitor to sustain battery life

My wife thinks I’m crazy.

She has been watching me discharging piles of coin cells over the last year, collecting millions of data points about their behavior. “Honey, exactly why are you spending all that money on batteries you’re just going to discharge?” It is pretty nutty, but the results are interesting, and dispel a lot of beliefs about what we can expect in long-lived, ultra-low-power, microcontroller-based products.

Last week I wrote about the behavior of CR2032 coin cells in applications that have to run for a decade or so. My experiments quantified the batteries’ increasing internal resistance as they’re used. The net result is that, depending on the system’s current needs, the cell will appear dead long before it really is. That is, there will be plenty of capacity left, but none of it will be useable by the system.

Several thoughtful readers wondered if adding a capacitor across the cell’s terminals could provide a short-term boost that could sustain a pulse load. It’s not hard to show mathematically that the answer is “yes.”

But the math is irrelevant. In engineering we’re always faced by conflicting needs and what appears to be a simple solution sometimes isn’t.

It’s useful to think of the battery as a zero impedance source with an annoying internal resistor between it and the terminal. That resistor’s value increases as the battery capacity is drained. If it were 50 ohms and the system needed 10 mA, the terminal voltage is down by half a volt, often enough to cause the MCU to crash. Add a big capacitor, as in the following diagram, and a short pulse load can draw on the charge stored in the cap.

One reader cited a TI white paper (Coin Cells and Peak Current Draw ) where the authors conclude that this is a viable solution. They show a case where a capacitor must sustain a 30 mA load for 1 ms. An 87 uF capacitor will do the trick, though they recommend 100 uF since no one makes 87 uF devices.

There are a couple of problems with this conclusion.

First, the capacitor leaks. It’s always across the battery terminals, so is sucking juice, depleting the battery, even during long sleep intervals. How much leakage? It depends on a number of factors, including dielectric material. Let’s consider tantalums, which offer great capacitance versus cost figures. The following table shows the numbers for a 100 uF part. (For tantalums it’s usual to rate leakage in CV, where V is the rated, not the applied, value.)

The last column is the most telling. I started this series showing that MCU vendors who claim decades of potential operation off a CR2032 are completely off-base, and demonstrated that the longest life one could hope for is a decade (though few will ever achieve that). A CR2032 offers about 220 mAh of capacity, which means the average current draw over 10 years cannot exceed 2.5 uA. Just the capacitor’s leakage will suck the battery dry in a fraction of a decade.

Who would have thought that a cap could leak more than Edward Snowden?

How about a better part? The best low-leakage capacitors with the C values needed are MLCC. MLCC leaks are specified in ohm-farads:

It’s clear Y5V dielectrics can’t be used. Select a more expensive X7R device. And, one must be careful which X7R is selected as some leak as badly as Y5Vs, though exhibit better temperature stability, which has always been the primary reason to use X7Rs.

X7Rs are indeed very temperature stable, but not as a function of leakage! Here’s a typical graph of normalized leakage versus temperature:

A system that has to run over wide temperature extremes may leak two orders of magnitude more than shown in the previous table; that sweet AVX spec’d at 0.3 uA suddenly looks like a moderately low-value resistor. But even over room temperature, say 20 to 30 degrees, plan on twice the parasitic drain than specified. In the case of the AVX a quarter of the battery is lost to the capacitor.

It gets worse.

MLCC devices derate themselves. As the applied voltage increases, the effective capacitance decreases. Murata has a tool that helps model this, and here’s the result for 22 uF parts:

If space is precious you’re screwed. Apply 3 volts to a nice small 6 V 3216 device and only half the capacitance is available. The TI paper specifies a 100 uF part, but in this package you’d have to use 200 uF. Alternatively, one could use a higher-voltage (bigger and more expensive) device, or use a larger package as shown in the graph.

Capacitors have tolerances, and though X7Rs typically are a good +/- 20%, one still has to figure that in:

Figure on an even bigger capacitor to deal with tolerance.

The following graph shows the required capacitor, at 20 degrees C, for 10, 20 and 30 ms pulses with various loads, ignoring all of the complicated effects noted above. You’ll have to factor all of those parameters in as well, which, as we’ve seen, can more than double the required uF. The leakage numbers are based on that AVX component. Though the TI paper uses a capacitor to boost power for 1 ms, for Bluetooth and other protocols tens of ms are more likely.

So we’ve done the math, and have figured out what size capacitor to buy. Let’s ignore all of the unpleasantness and assume that the 100 uF part fits the bill, and that we’re using a low-leakage AVX part. They’re $14.50 each! Neither Digi-Key nor Mouser has them in stock, and quote a 25 week lead time. Digi-Key does have a 50 V version available today, but that will set you back $36.54.

A complete Raspberry Pi with 700 MHz ARM processor and half a gig of RAM costs less than that capacitor.

Maybe this is a government project where costs don’t matter. Using the graph above we pick off a 400 uF part for a 10 mA 20 ms load (remember, this is before all of the derating that must be done). The leakage will eat about half the battery capacity. And, the capacitor doesn’t exist; the biggest such part on the market is 220 uF. You can’t buy a bunch of smaller parts and parallel them, since the leakage will go up.

What about a supercapacitor? These are astonishing devices that offer farad levels of capacity. Alas, the lowest-leakage supercap I can find is from Cap-xx, and they quote 2 uA at 23C, doubling at 70C. That’s impractical since even at room temperature it’ll eat just about the entire 2.5 uA current budget.

To add another wrinkle, don’t forget that every MCU vendor requires one or more decoupling capacitors, even when running from a battery. Generally they want one of about 10 uF. Be sure to use a low-leakage part, and factor that into your battery capacity calculations.

Summing up, in the use case I’ve described (ten years of system life from a coin cell) it’s generally impractical to get a pulse boost of Vdd from a capacitor across the battery. However, there are other ways to stretch battery life, which I’ll cover in coming weeks.

20 thoughts on “Using a capacitor to sustain battery life

  1. Jack, a very well presented finding.

    Clearly caps are not the way to go. It seems that the only way forward here is to use those small micros that have a very wide Vcc tolerance and are specifically designed to be used in circuits where you don't want any

    Log in to Reply
  2. In certain applications, it might be possible to put a MOSFET in series with the coin cell so that it is almost completely isolated from any capacitors or loads when the system is idle. I have seen MOSFETS with Drain-Source leakage currents as low as 100nA

    Log in to Reply
  3. Correction – the MOSFET would obviously need to be in series with the capacitor, not the battery, so the MCU would still have some power during sleep mode. This is what happens when people post comments at 1 am. 🙂

    Log in to Reply
  4. Running at a lower speed reduces the current, but it also reduces the micro's sensitivity to glitches. That makes low speed preferable when dealing with marginal power supplies. Low speed = win, win.

    Log in to Reply
  5. If you put a MOSFET in series with the capacitor, you will have to limit the inrush current when switching it on. In practice this might mean using two MOSFETS, one including a resistor in series which gets switched on first to charge up the capacitor.

    Log in to Reply
  6. Placing any element with any resistance to charge a cap is useless, the energy loss of 0.5CV^2 is always there. Placing any element with any resistance (MOSFET included) in series with a cap in “hope” of saving power or extending battery life is

    Log in to Reply
  7. Placing any element with any resistance to charge a cap is useless, the energy loss of 0.5CV^2 is always there. Placing any element with any resistance (MOSFET included) in series with a cap in “hope” of saving power or extending battery life is

    Log in to Reply
  8. I was thinking of a situation where the MCU is in sleep mode with nothing but a real-time clock running, but then once per week it needs to transmit a data packet wirelessly.

    If that 3 second transmission needs 30 mA, then it might make sense to gradually

    Log in to Reply
  9. I think I understand, but your suggestion will make things worse.

    The thought process is/was to charge the cap to “a” voltage once MOSFET is open, then turn the FET off and use the charge on cap. Once the voltage drops, charge it again.

    Char

    Log in to Reply
  10. Consider how an electronic camera flash works. The circuit first charges up a capacitor with energy from a battery. The charging process typically takes a few seconds. Then the energy is dumped into the xenon flash tube to produce a flash which lasts a few

    Log in to Reply
  11. “I'm very grateful for the fundamental analysis you're posting here. I make small devices and wrestle with battery life, capacitors, and MOSFETS all the time. Love the work you're doing. Please keep at it.nnYou can include some analysis of voltage regula

    Log in to Reply
  12. “I use the TAJD687K004RNJ capacitor specified with a maximum leakage of 27.2uA in parallel to a rechargeable lithium-ion coin cell. During test I use a laboratory power supply at 3V with an ampere meter in series to measure power consumption. Why didn't I

    Log in to Reply
  13. “VLSI applications generally incur large peak supply current due to synchronous logic clocking. This peak current can be reduced with a technique presented in a recent IEEE Transactions in VLSI Systems paper, “A Clock Control Strategy for Peak Power and

    Log in to Reply
  14. “Hi,nnCould it perhaps be a solution to have two PMOS power gates in series. After the first switch there could be a small capacitor which would accommodate for a small in-rush current for the battery – fast switching so no series resistance loss. While

    Log in to Reply
  15. “Hi, I am using a Super-cap to improve the Li-ion Battery life.nConnection: Battery -to- Super-cap -to- Load (Boost converter)nnBattery (3.4-4.2V, 1800mAh, ESR: 0.1ohm)nSuper-cap: 450mF, 5.5V, ESR: 0.055ohmnLoad: Input to Boost Regualtor (Vin: 3.0-4.5

    Log in to Reply
  16. “Great article! nDecade is fantastic but what if my goal is to have at least 1 year life of the battery? So far I was able to run my embedded device for 7 months from a single CR2032 cell with no additional capacitor. It's based on ATMega328p and RFM69W t

    Log in to Reply
  17. “Hi,nnI am looking for an answer related to the performance of battery of an 'on-line UPS'. Does a capacitor working on fluctuating voltages effect battery performance and how.”

    Log in to Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.