Skip to Content

Buck Converter Basics

In this post, I’ll go over the opposite of the boost converter - a buck converter! This takes some regulated DC input voltage, and drops it down to a lower regulated DC voltage. Now, this is obviously a lot easier task - we’ve already seen plenty of ways to do this. Resistor dividers, diodes, some weird RLC combo for higher frequencies. Those are all very lossy - though, we talked about one solution with respect to buffer stages. But what if we don’t want the full on op amp and the additional circuitry it requires? Let’s find out.


Much like the boost converter, we’ll just do the derivations of what this circuit does, and find that it magically does what we want it to. We have two states for the switch: on and off. In the on (closed) state, we have

$$V_{in} = V_L + V_{R||C}$$

In the off (open) state:

$$V_D + V_L + V_{R||C} = 0$$

Since this is a DC/DC converter, we should really only be seeing DC voltage throughout the circuit. At DC, our capacitor looks like an open circuit (huge resistance), and our inductor looks like a short circuit (near-zero resistance). We’ll take this as meaning $V_{R||C} \approx V_R = V_{out}$. Like before, we’ll also say the diode has a very small turn on voltage ($V_D \approx 0$).

The trick is similar too - we just have to set the inductor voltage to zero across a switching period. We’ll spend some fraction ($D$) of that on, and some fraction ($1-D$) off.

$$ T_{on} (V_{in} - V_{out}) + T_{off}(-V_{out}) = 0 $$

$$ DT_{tot}(V_{in} - V_{out}) + (1-D)T_{tot}(-V_{out}) = 0 $$

$$ D(V_{in} - V_{out}) + (1-D)(-V_{out}) = 0 $$

$$ DV_{in} - DV_{out} - V_{out} + DV_{out} = 0 $$

$$ DV_{in} - V_{out} = 0 $$

$$ DV_{in} = V_{out} $$

Since $D$ is limited from $0 < D < 1$, we know that our output will always be less than our input. This means we’re stepping, or bucking, the voltage down. As always, let’s see it working in simulation now.

* Ideal Buck Converter
.model switch1 sw vt=1 ron=1 roff=1E12

vin n1 0 DC 12
sw1 n2 n1 n3 0 switch1
vsw n3 0 pulse(0 5 0 0 0 15u 20u)
d1 0 n2 d
l1 n4 n2 50uH
c1 n4 0 22uF
r1 n4 0 10

.tran 0.1u 5m
.options list node post


And the output:


Overall, pretty close! We have some transients in the beginning, but they die out fast enough. Ideally, we should be getting $12*34 = 9$V, but it ends up being a tad lower. This is most likely due to non-ideal switches and diodes (as usual).