DC-DC converters via the 10-potentiometer method

First, the "10-potentiometer method" is when you have the basic idea for a circuit but tune it by varying values until it works the way you want. That's basically where I started.

The general idea is that I wanted to make a high-current source for the 5-volts I'll need to run the logic circuits and LED's (I wired the LED's to expect 5-volts on the input resistor) that's pretty clean, but it doesn't have to be perfect. I knew I didn't want to start with a linear supply: if I went from 12 volts to 5 volts, the power efficiency is 42% (i.e. at 1 amp it's 12 watts in for 5 watts out and 5 watts / 12 watts = 42%.) However, I also didn't want to go with an off-the-shelf solution — mostly because I thought my requirements were really easy.

I got up on Monday, August 1 really early and got started. I dug through my transistor bin to find an NPN that could handle around 3 amps. When I started I figured I could go from 12 volts to half that (6-volts) and then drop the rest through a 7805 regulator to give a nicely cleaned-up output.

I got a buck-style converter set up. It was similar to the circuit above — using the twin-T oscillator as a source for pulse-width modulation on an op-amp — but I didn't use the 7905 and just had a couple 100K resistors on the input pin of the feedback op-amp to approximate 6 volts, I didn't have a high-pass filter on the feedback circuit, the oscillator was running from +12 volts to 0 (or 0 to -12 volts as I've got it diagrammed) and the output was just a current follower where I had an NPN set up with the base tied to the output of the PWM op-amp (top right) with its collector tied to battery-positive, and the emitter driving the diode/inductor/capacitor buck setup.

I ran 127mA through 51 ohms to get 6.7 volts (850 mW) and I was able to source 5 volts at 1 amp into 5 ohms (25 watts) although it seems to go linear. I suspect the transformer I'm was using as an inductor doesn't have enough current capacity. I tried 8 ohms and managed to source 800mA at 6 volts (2.4 watts) and that seemed to be the limit of the power source before going linear (the transistor was on at over a 90% duty cycle.) With that output current, I checked the input and it was drawing around 650mA at 12 volts or 7.8 watts — hardly efficient at all at 33%. With the 51-ohm load, it uses 130mA just like the output … then again, maybe my meter just isn't very good at measuring transient currents like the circuit is drawing from the battery. I used the oscilloscope instead so I could estimate the waveform (and actually calculate RMS voltages) with an 0.1 ohm resistor — a handy value for converting to current (volts times ten.)

I tried some differnet chokes and found one that would cause the circuit to input 700mA RMS (2A peak-to-peak) at 12 volts (8.4 watts) for an output of 1 amp into 8 ohms (8 watts) so that's pretty good (although for some reason it decides to output 8 volts instead of 6 volts.) I tried switching to another op-amp (now the LM324 which is what I stuck with throughout) figuring that it could get its output closer to the rails — that got me to around 65% at 8 ohms but only 24% at 51 ohms, but running that inefficiently, I would expect 2 watts dissipated on the bare transistor to get hot really fast … hmm … I'm concerned about my measuring efficiency. I tried estimating the waveform power levels with some calculations and got to a 45% efficient — worse than the 50% efficiency of just dropping half the voltage as a resistive load.

I kept switching coils, transistors, and resistors. Man am I sick of staring at breadboards and oscilloscopes. I got varying figures and even created perpetual motion machines: I had a 115% efficiency at one point. I was certain it was measurement error.

Up until now, I was using a linear power supply for the 12-volt input. When I switched to the battery, everything stopped working. I had to start all over again — I tried varying the frequency of the PWM oscillator then I tried removing the feedback loop to see if I could get something out unregulated and met with some success. I also floated the PWM oscillator (oh yeah: originally I had the emitter tied to ground, so the oscillator was running very close to the rails.) I added a filter capacitor at the input. All this helped but didn't get me any closer to something that could significantly beat a linear supply.

I decided to check my 0.1 ohm resistor to make sure it's good. Using the meter, I measured a 203 ohm resistor in series with the 0.1 ohm and measured 12.67 volts across it (when I hooked the two series resistors across the battery) for a current of 62.41mA. The 0.1 ohm resistor dropped 0.0123 V so the resistance is actually 0.197 ohms. Once I figured that out, all my efficiencies were twice as good. I took a break and enjoyed the catharsis, but I really didn't believe my measurements so I went back and did them again. Using a 303 ohm resistor, I get 12.74 volts across it which is 42mA and I measured 4.0 mV across the 0.1 ohm resistor, making it 0.095 ohms. Darn. I tried the other resistor: it now reads 205 ohms and dropped 12.70 volts or 61.95 mA. Given the 5.9mV drop on the test resistor, I get 0.095 ohms again.

I tried making a PNP current source to drive the NPN current follower off the op-amp … somewhat similar to what I've got above, but the PNP output goes to an NPN current follower. That gave me an efficiency of 42%. I stripped the circuit back to the point that the transistor is switching a full 12 volts on-and-off at a 50% duty cycle, and still it has a 50% efficiency. The collector-emitter voltage switches between 12-volts and 1.5 volts, but that only accounts for some of the inefficiency. I decided to try a MOSFET in the same configuration but got the same result.

Tuesday I got up early again and I figured the feedback loop was giving me trouble by switching off the resistors too soon regardless of the high-pass filter I added yesterday. I thought about using a sample-hold circuit on each pulse, but then thought that was stupid and would be a waste of time. Instead I figured that the output transistor can't get fully on or fully off based on the op-amp. I couldn't figure out what to do about it. I tried using a buck-boost configuration where the inductor is in parallel to the output but that didn't work. Heck, the inductors had no appreciable effect at all.

Once I did some measurements, I figured out the big problem. The MOSFET output was swinging from 0 volts to 8.1 volts when using the 8-ohm load. That 4 volts at 670 mA (6 ohms) with 50% duty cycle accounts for 1.3 watts of power loss (out of a total input of around 8 watts and an output of 3.5 watts, so there's still some 3.2 watts going somewhere I haven't found yet.) I tried the 51 ohm load and the peak is around 9.1 volts with a current of 120mA but with about a 30% duty cycle — 75 ohms this time accounting for 360 mW out of a total loss of 710 mW. I checked, and if I supply a full 12 volts to the gate of the MOSFET, the maximum output is only 9.1 volts into 51 ohms. Harumph.

I switched to some 2N277 PNP transistors I had lying around in the switch-configuration I have on the first stage of the output in the circuit above. However, that didn't work. I tried the more reliable small-signal PNP's but that didn't work either.