Leaks and Drains, Take 2
Every nA counts in ultra-low powered MCU circuits. What about PCB contaminants?
In the last couple of years a number of MCUs have become available that have astonishingly-low sleep currents, sometimes in the tens of nanoamps, making it possible to build systems that run for years from a single coin cell battery.
In a recent article ("Leaks and Drains" October 2012), I mentioned that one must consider leakages on the PCB due to contamination. Finger oils and other impurities might drain far more nanoamps than that required by the microcontroller.
Turns out, I was wrong.
A lot of online pundits bloviate that the leakage problem is a big factor; experience shows that the more an Internet poster asserts that X is an indisputable fact, the more likely it's not. (A century and a half ago, Charles Darwin noted that "ignorance more frequently begets confidence than does knowledge.") This is engineering, not speculation, so I decided to run some experiments to see how significant these leaks are in a digital circuit. But how to do so? Clearly, to get meaningful data one must measure these drains to a resolution much better than the 20 nA (nanoamps) or less some of the MCUs use while sleeping.
One could use a digital multimeter (DMM) to measure leakage in ohms. Mine only goes to 40 Mohms, which at 3 volts would represent about a 100-nA leak. That's too crude. The µCurrent tool can resolve to a single nA, which is probably adequate, but at 1 nA it generates only a single millivolt, which is pushing the resolution of my DMM pretty hard.
So I built a sample and hold circuit (S&H). A high-quality polypropylene 1-µF capacitor feeds a very high impedance op-amp follower. Put a component whose properties you want to measure around the cap, charge it up, and watch the discharge curves by reading the op amp.
Sample & Hold circuit to test for very low leakages.
I used an LM662 op amp, which has a 2 femtoamp (typical -- no max is listed) input bias current. One fA is a miniscule 10 to 15 amps, a millionth of a billionth of an amp, or about 6,000 electrons/second, so its effect on the capacitor is minimal. The amplifier's inputs and the cap's connection are all made in the air. An mbed.org Cortex M3 controller with a 12-bit A/D reads the amplifier periodically, as well as temperature and humidity sensors, and shoots the results to a PC via USB for logging.