Experimenting With DIY Boost Converters
I have a project in mind, one which needs a built-in battery and also requires a tightly regulated 5 volt power supply. Lithium ion batteries are clearly the way to go, but with a battery voltage that varies between 4.2 and 3.0 volts, they can’t power 5 volt electronics directly. What I need is a boost converter. These are DC-DC converters that can “step-up” a DC source much the same way a transformer can step-up an AC one.
While at university, I took multiple power electronics courses. One was effectively “DC-DC Converters”, though the course list was something more bureaucratic. Unfortunately those classes only explained the basics of how to design the core of the converter (or the “power-pole” as Ned Mohan put it). Clearly you need to know this to design a DC-DC converter, but it’s not everything you need to know. Topics like feedback loop design, real-world limitations, and practical advice were largely absent. You know, the things you actually want to know.
As is so often the case, we have to build a prototype to explore a real circuit under real conditions. For a circuit as temperamental as the one I chose, this is mandatory. Simulations are wonderful tools but they have limitations like any other tool. Knowing how to get things done in the real word is what we actually want. Doubly so when so many design equations break down in practice.
I came into this little project with a few specific design goals. I am pleased to say I have achieved all of them. There’s plenty of room for improvement- I only barely made some of those goals. But, I have shown what I want to do is feasible. That’s what matters in the prototype stage.
Discrete Boost Converter Design
Before settling on this particular design, I spent quite a bit of time looking for boost converter designs. Just like my bench supply, I discovered plenty of questionable schematics endlessly copy-pasted with no regard for their flaws. Getting this far required quite a bit of SPICE experimentation. Everything from the classic Joule thief to copies of existing ICs was tried.
The final schematic of my circuit was a simple three transistor self-oscillating circuit using a single winding inductor. I don’t believe this is the best discrete boost converter you can build. It does hit the sweet spot between simplicity, efficiency, and ease of design. Practical enough to use in some circumstances too.
Here’s the reference schematic for my boost converter. Took me a few months to figure out the best setup!
Operation of this circuit is pretty simple. R1, R4, C1, L1, Q1 and Q3 make a classic complimentary transistor oscillator. Using an inductor means the voltage at Q3’s collector varies with L1’s saturation. C1, R4 pass this voltage spike back towards Q1, closing the oscillator. L1 repeatedly charges to saturation, then discharges back to idle. R2 ensures Q1 can always turn on in the absence of a feedback pulse.
When Q3 turns off, current flowing through L1 is redirected through D2. L1 is acting as a sort of current to voltage converter at that point. High voltage, low current pulses accumulate in C2. That’s how the output voltage can be higher than the input voltage.
Q2, R3, D1 form a crude feedback network. When D1’s threshold is exceeded, Q2 shunts Q3’s base to ground. This interrupts the normal oscillator behavior, forcing the oscillator into the “off” state. Q3 is prematurely shut off, causing output voltage rise to be limited. R3 keeps Q2 off when D1 isn’t conducting.
While a pretty simple circuit to build, these self-oscillating DC-DC converters can be a pain to thoroughly analyze. I had a whole section doing just that, only for me to realize this circuit is very resistant to traditional analysis methods. Many of those equations make certain assumptions about circuit behavior that simply aren’t true here. While I could go into deeper analysis I don’t see the point when you still have to do a lot of experimentation to get things working right. Might as well jump straight to the interesting bit.
My Design Goals
While DC-DC converter design can be recreational, I actually have a very specific goal in mind. This is a prototype circuit to try and figure out the foibles of these circuits that nobody bothers telling you about. In a world full of off the shelf DC-DC converter ICs, there simply isn’t any interest in building these discrete converters anymore.
I count five basic goals:
- Runs off a standard lithium-on cell. That means a supply voltage between 3 and 4.2 volts.
- 5V logic compatible output. Assuming standard tolerances that means output must always be between 4.5 and 5.5 V.
- Minimum output current of 150mA at 3V.
- Real efficiency of at least 70%. That would put this circuit on par with cheap DC-DC converter ICs (e.g. the MC34063).
- As simple as I can make it.
All these goals are achievable. The compromises needed to get there aren’t necessarily practical in all cases, but you can definitely get there.
Testing The Discrete Boost Converter
Switching power supplies are often very temperamental. A proper, stable output can be surprisingly conditional. Too much output current will cause the converter to shut down. Sometimes too little current does the same! Oscillations in the output often show up. Once in a while the circuit just doesn’t work. No idea why. It just doesn’t. Until it suddenly does again. Always fun, that one.
Because these circuits can be so hard to design, testing is vital. You cannot just leap from SPICE to finished circuit here. That is true of all DC-DC converters, but these self-oscillating designs are even worse. The difference between “runs in simulation” and “runs in real life” are razor thin.
Building The Circuit
Because this circuit required a lot of experimentation, I used a breadboard. Much easier to test things out when you don’t have to solder!
My circuits are almost always breadboarded first. Alas, switching converters are notoriously hard to breadboard!
Unfortunately, DC-DC converters are not always breadboard friendly. Between loose connections and high contact resistance, there’s only so much I can accomplish. The good news is this circuit is not the kind that is too sensitive to low level noise. Components popping out proved harder to control. Worn out breadboards are also prone to shorting out. That hounded me to no end. I did manage to get everything working well enough to run the tests.
I played around with the circuit to optimize various characteristics. Without much in the way of design guidance, this is pretty much all you can do. Swap parts out, see what happens, make notes, repeat. Keep track of what works. Lots of interplay between components.
During testing I tried a variety of transistors. I settled on the ZTX1048A, which gave the best overall results. The simple truth is that this circuit is very picky about the main switching transistor. Many simply won’t make the cut. I’d suggest the 2N4401 as a more mundane alternative, but I couldn’t find any working ones in my parts box. Good saturation characteristics are very important. Don’t trust SPICE because the simulation can’t account for many real-world variables. My simulations ran noticeably different from the real circuit even when all the parts were identical.
Another thing discovered the hard way was the interaction between Q2, R3, and D1. Output voltage is the sum of Q2’s base voltage (around 0.6v) plus D1’s breakdown voltage. R3 shifts this value around. Higher resistance drops the output voltage. Lowering resistance raises it. I settled on 56K because that gave the best overall results.
Test Setup
Testing a new power supply requires digging out Simple Load. She’s seen better days, and I never did get around to improving her, but she’s what I have. Good enough for now.
Supply power is provided by my bench supply. Having finely controllable output is mandatory for proper testing. You need to know exactly what’s going on at the supply side to calculate efficiency. Being able to see the circuit short out in real time is also very useful.
Measurement is tricky, since the meters on both my power supply and load aren’t accurate at all- this is after several rounds of calibration. Instead I use my oscilloscope in combination with my multimeter. Oscilloscope traces are necessary for finding the voltage ripple, so I had to use one anyways.
Here’s the test setup in all it’s awful, messy glory. The only thing I’m not using here is the signal generator, sandwiched between the power supply and oscilloscope. Affirmations that I might one day clean up my workbench have proven untrue.
A sample oscilloscope trace showing output voltage in yellow, voltage at Q1’s base in blue. This was taken on a fairly light load.
Despite my best efforts, this test setup leaves much to be desired. I’m working with very touchy, imprecise instruments with various limitations. I always try to do things properly with what I have. That does not necessarily translate into “always done properly”. There are probably better ways to set this up even with the equipment I have. Hard lessons to be learned for later.
Results
I tried several minor variants of the circuit with different component values. My final circuit uses the values shown in my schematic. I don’t necessarily have the means to accurately measure the inductor, so the 220uH may be wildly off base. My last attempt came closer to 300uH. A few hundred uH here and there turns out not to change much.
First, I need to know how the power supply behaves under load. The key metric here is total efficiency- power out divided by power in. Remember, I have a target of 70% or more. The next metric is total output current. I want at least 150mA over the entire range. Obviously the output voltage must be stable, which I define as remaining above 4.5V and below 5.5V. Maximum output current is defined as the maximum current that can be drawn without falling out of regulation.
Input Voltage | Input Current @ 150mA Load | Output Voltage | Efficiency @ 150mA Load | Maximum Output Current |
---|---|---|---|---|
3.0V | 395mA | 5.25V | 66% | 160mA |
3.5V | 330mA | 5.36V | 69% | 240mA |
4.0V | 290mA | 5.4V | 69% | 340mA |
The good news is that I can reach my target output current even at the lowest input voltage. I’m cutting it quite close, with only 10mA of overload margin at the low end, but I can meet the target output. Efficiency remains doggedly just below 70%. This is about 10% less than the SPICE simulation gave me. Measurement/calculation errors are probably shifting the final value around somewhat. Difficult to tell which way with what I have. Still, I’d call that a success that can be worked upon.
Voltage regulation isn’t quite as good as I was expecting. Load regulation is hovering around 10% across the current range, while a good power supply can keep things below 5%. Ripple in the output is significant, though I suspect a real load would take it just fine. Most 5V logic will accept input up to 6V. I don’t feel comfortable using such a power supply with a voltage sensitive circuit though.
Next, I need to measure the quiescent current. This is the effective “no-load” current. Less is better here. Battery powered devices often spend huge amounts of time idle. Besides, minimizing the current not going to the load increases overall efficiency.
Input Voltage | Quiescent Current |
---|---|
3.0 | 3mA |
3.5 | 4mA |
4.0 | 5mA |
As expected, quiescent current doesn’t change that much compared to the input voltage. It does change by more than I was expecting though. Keep in mind these measurements are below the precision of my instruments. This could easily be between 3.9 and 5.0 mA which is about half of the rounded off range. 4mA seems to be a reasonable average either way.
Finishing Up
DC-DC converters are all around us- in handheld devices, large appliances, electric vehicles, and HVDC transmission lines, to name just a handful. Knowing the basics of how they work is kind of mandatory for anyone who dabbles in electronics. Knowing how to properly test them is arguably more useful. By far the best way to do either is to build an example circuit and poke it. That’s the entire reason I wrote this.
I managed to keep my prototype together long enough to run the tests. Breadboards don’t like having big power components shoved into them. Just jostling the board slightly can break everything. I’m certain there is at least one short in the breadboard somewhere. As a follow-up, I want to build an improved circuit on a more permanent perfboard. Retrospectively, I should have done that to begin with. I managed to blow though quite a few parts due to breadboard shenanigans.
Quiescent current is by far the biggest limitation for future applications. 4-5mA is very high. A standard 2Ah cell would be drained in just over two weeks. Clearly this circuit can’t power an always on device that spends most of it’s time in a low power state. Much of the energy goes through Q2 as it shunts Q3’s base current to ground. Interrupting this current instead would greatly increase efficiency at low output currents. I’m already working on ways to do just that.
A distinct disadvantage of these simple self-oscillating boost converters is that they tend to use their inductor inefficiently. That’s because they usually operate in critical conduction mode, where the inductor is alternately charged to saturation, then discharged down to zero current. Conduction losses are therefore high, along with switch currents. Continuous mode operation keeps the inductor at a lower average current reducing conduction losses, but requires more complex designs with more components.
Another distinct disadvantage of simple self-oscillating DC-DC converters is that the operating frequency changes during operation. This can lead to electrical and acoustic noise depending on load, input voltage, etc. There is no way to fix or mitigate this problem. In practice there appears to be little concern beyond mere annoyance. Only noise sensitive analog systems really get hurt here. For those applications you would avoid any kind of switching circuit.
One last distinct disadvantage of simple self-oscillating converters is that they are pretty much impossible to optimize. You can calculate some limits to the operating envelope, but it’s extremely hard to cover all your bases. You just don’t have enough independent knobs to turn. These circuits are very sensitive to component variance too; it may be impossible to build two circuits with similar performance.
2024 rapidly comes to a close, a shitty year that portends an even shittier future. I have much to say about that, but let’s just finish this project first. At the very least electronics can’t betray me like politicians can.
I have a few projects lined up over the next few months. I expect to get back to them starting in late January or early February. We’ll see if I can do that while everything else is going on.
Have a question? Comment? Insight? Post below!