The AA Power Board contains a switching boost converter to step the voltage from a single AA battery up to the 3.3V required by a JeeNode.
Nifty stuff. Magic almost… if you take the water analogy, then it’s similar to pushing water up a mountain! Wikipedia has a schematic with the basic idea:
Think of the coil as a rubber band (I’ll use a gravitational force analogy here), then closing the switch is like stretching it from the current voltage to ground. Opening the switch is equivalent to letting it go again – causing the rubber band to contract, pulling the end back up and then exceding the original height (voltage) as it overshoots. The diode then sneakily gets hold of the rubber band at its highest point. The analogy works even better if you imagine a cup of water attached to the end. Well, you get the picture…
The trick is to repeat this over and over again, with a very efficient switch and a good rubber band, eh… I mean inductor. The way these boost regulators work, you’ll see that they constantly seek the proper voltage (feeding a storage pool at the end, in the form of a capacitor).
Enough talk. Let’s look at it with a scope:
What you’re seeing is not the output voltage, which is of course 3.3V, but the variation in output voltage, which is measured in millivolts. IOW, 45 times a second, the regulator is overshooting the desired output by about 20 mV, and then it falls back almost 20 mV under 3.3V, at which point the booster kicks in again.
Let’s load the circuit lightly with a 10 kΩ resistance, i.e. 330 µA current draw:
No fundamental change, but the horizontal axis is now greatly enlarged, because the discharge is more substantial, causing the boost frequency to go to 2.2 KHz.
With a 1 kΩ load, i.e. 3.3 mA current draw, you can see the boost working a bit harder to charge up, i.e. the slope towards ≈ 20 mV above 3.3V is more gradual:
Keep in mind that the difference is also due to yet more magnification on the horizontal time axis. The boost converter is cycling at 21.1 KHz now.
With a 330 Ω load, i.e. 10 mA current draw, the wavevorm starts getting a few high-frequency spikes:
The total regulation is still good, though, with about 25 mV peak-to-peak ripple.
Now let’s simulate what happens with the RFM12B transmitter on, using a 100 Ω load, i.e. 33 mA current:
Looks like the regulator needs more time to charge than to discharge, at this power level. Still the characteristic “hunting” towards the proper voltage level.
With a 68 Ω / 50 mA load, the regulator decides to use more force, losing a bit of its fine touch:
The scope’s frequency measurement was off here, it probably got confused by the high frequency components in the signal. Repetion rate appears to be ≈ 65 KHz. But now the total ripple has increased to about 70 mV.
That’s probably about as high as we’re going to need for a JeeNode with some low-power sensors attached. But hey, why stop here, right?
Here’s the output with a 47 Ω load, i.e. about 70 mA:
Whoa… that’s a ± 0.05 V swing, regulation is starting to suffer. I also just found out that the scope software has peak-to-peak measurement logic built in (and more). No need to estimate values from the divisions anymore.
Note that a 70 mA current at the end will translate to some 200 mA current draw on the battery – that’s the flip side of boost regulators: you only get higher voltage by drawing a hefty current from the input source as well.
Until this point, I used a standard 1.5V alkaline battery, but it’s not fresh and showing signs of exhaustion at these power levels (the output was a bit erratic).
To push even further, I switched to a fully charged Eneloop battery, which supplies 1.2 .. 1.3V and has a much lower internal resistance. This translates to being able to supply much larger currents (over 1 A) without the output voltage dropping too much. In this case, the change didn’t have much effect on the measurements, but I was worried that continued testing would soon deplete the alkaline battery and skew the results.
To put it all in perspective, here is the output with the same 47 Ω load, but showing actual DC voltage levels:
So you see, its still a fairly well regulated power supply at 70 mA, though not quite up to 3.3V, as it should be.
One last test, using a 33 Ω resistor, which at 3.3V means we’ll be pulling a serious 100 mA from this circuit:
Measuring these values with a multimeter gives me 3.16 V @ 89 mA, while the resitance reads as 32.7 Ω – there’s some inconsistency here, which might be caused by the high-frequency fluctations in the output, I’m not sure.
But all in all, the AA Power Board seems to be doing what it’s supposed to do, with sufficient oomph to drive the ATmega, the RFM12B in transmit mode, and a bit of extra circuitry. A bit jittery, but no sweat!
Update – With a 10 µF capacitor plus 10 kΩ load the limits don’t change much, just the discharge shape:
The same, at higher horizontal magnification:
Note that AC coupling distorts the vertical position, it’s still ± 18 mV ripple, even if the up peak appears higher.
Interesting write up. What does the voltage look like once it dumps into the smoothing capacitor on the JeeNode? Does that minor ripple get taken out, or is the capacitor too slow to respond to such a high frequency?
See update.
There is actually a device that will push water up a mountain. :-) It’s called the Hydraulic Ram, you just feed it with water and it will then happily push a portion of that water up to higher altitudes for you.
Increasing flow makes a valve close with creates a pressure pulse that forces water up a pipe until the flow stops and the valve opens again to make the flow increase until … and so on.
http://en.wikipedia.org/wiki/Hydraulic_ram
Alas, you can’t use it to build a perpetuum mobile. :-)
Yep – a mention of that can also be found in a previous post, but it’s good to bring it up again.
I wonder what the maximum amount of current you can safely before other problems start showing up. Batteries getting to hot is one of those examples.
I’ll leave that exercise for the reader :) – the specs say that the LTC3525 will deliver up to 140 mA from a 1.8V input (but only 60 mA from 1V). Sounds like the input current is limited to around 250 mA. The chip is protected, so experiments like these ought to be safe…
Excellent article.
Thank you so much for this! I wanted to understand it for a long time now :) But I have a question: what’s the scope you use?
Hantek DSO-2090 – goes up to about 40 MHz, I got mine from Conrad. It’s a USB device, i.e. w/ software on the computer screen. I’m running it on Win2K under Parallels on Mac OSX.
Wouldn’t mind getting an Agilent 3000-X, though :) – or better still something that will go up to 1 GHz and shows me the actual RF waveform…
I’ve always been advised to avoid these USB and portable digital scopes, but if you say you’re satisfied with it then I trust you 100%… On my shopping list ;)
And thanks :)