Actually, I lowered it to 5.01V in the last hour – there’s a slight memory effect, so right after lowering the voltage actually rises when power is disconnected.
Next step is to measure the supercap’s self-discharge time from 5.00V to 1.84V (i.e. 36.8% of 5V) – that’ll give the time constant of the RC circuit (the real capacitance, in parallel with an imaginary internal current leakage resistor). Note that this is not the same as the ESR of a cap, which is about charge & discharge current losses.
Ok, let’s disconnect the power supply and track the voltage readings in high-impedance mode. It is 10:17 here, and the voltage has just dropped to 5.00V – with the power supply removed.
Time passes. Unfortunately, waiting for the voltage to drop to 1.84V (i.e. 36.8% of 5V) would take a bit long, so let’s throw some math at this and come up with a quicker way to measure leakage current:
- for T = R x C, we need to measure a drop to 36.8% (i.e. a factor 0.368) of the original voltage
- since the charge decay curve is exponential, we can estimate when 0.5 T will happen
- this turns out to be the square root of 0.368, i.e. a factor of 0.607
- so with a drop to 0.607 x 5V = 3.033V, we know 0.5 x T
- let’s repeat that trick one more time, to get at 0.25 x T
- my trusty on-screen calculator tells me that the square root of 0.607 is 0.779
- so if we wait for a drop to 0.779 x 5V = 3.894V, we’ll know 0.25 x T
- four times that duration, and we have T, the RC time constant we’re after
Good. That means I only need to wait for the supercap charge to drop by roughly 1V i.s.o. over 3V.
More time passes. It’s now 0:26 after midnight, and the voltage has dropped to 3.98V – i.e. not yet the 3.894V we need to reach, but hey, let’s call it a day anyway.
That’s over 14 hours total, i.e. over 50,000 seconds = 0.25 x T, so the calculation now becomes:
- 200000s = R x 0.47F
- R = 200000 / 0.47 ≈ 425 kΩ
- so at 5V, the internal discharge current is 5V / 425kΩ ≈ 12 µA
Hmmm…. that amount of leakage is three orders of magnitude higher than with a 47 µF electrolytic cap, but it might still be usable as power source for a JeeNode or JeeNode Micro. Here’s my reasoning:
- suppose the JN/JNµ draws 12 µA on average – a tough target, but it should be feasible
- then we’re effectively draining the supercap twice as fast as its self-discharge
- it looks like the supercap can hold a charge down to 1.8V for 56 hours on its own
- note that 1.8V is too low for RFM12B use, but the microcontroller would still work
- with the added load from the JN/JNµ, this halves to 28 hours, i.e. slightly over a day
- so the challenge will be to fully recharge the supercap to 5V at least once a day
A solar cell might just do it – assuming it’s large enough to overcome a dark and cloudy winter day. And the good news is that supercaps can charge up very fast, so a short period of bright light could be enough.
Update – There’s a lot more to supercaps than this…
As suggested by @jpc in a comment yesterday, I had a look at some documentation from Panasonic, in particular Part 2. And sure enough, they show that a supercap can be modeled as a whole set of capacitors in parallel, each with their own – often substantial – series resistance. It takes a while to “reach them” with charge, so to speak. Which explains why a long charge time increases the charge and voltage:
And which also explains why the supercap tends to drop quickly at first:
Having seen the discharge tail off much more than expected (i.e. flatten out and retain voltage), I can confirm that a supercap behaves considerably differently from a plain electrolytic capacitor.
The good news, is that for our intended purpose, this might actually work out quite well: a solar cell, keeping the supercap charged up fairly well most of the time, with just night-time JeeNode activity to drain the charge a bit, and occasional dark days, expecially in wintertime.
Update #2 – Three days have passed, and the voltage is still 3.23V, so T will be over 6 days, and the corresponding discharge rate even lower than estimated above. Bit of a puzzle – the discharge tails off considerably, apparently. Which is good news in fact, because that leaves more charge for a JeeNode to use. I’m ending this experiment for now: real-world testing with a JeeNode sending packets will be more useful.
To be continued…