Switched mode DC-DC converter basics

01 Nov 2022 - tsp
Last update 01 Nov 2022
Reading time 40 mins

This article is a short summary about the simple basics behind typical DC-DC converters - to be precise about the family called switched-mode power supplies. This type of DC-DC converter is often used in highly efficient power supplies as well as solar charge controllers and solar MPPT trackers. The blog article of course only sums up the basics required to understand the operation of a typical SMPS. In contrast to linear regulators switched mode regulators can achieve much higher efficiencies and since they do not thermally dissipate the excessive voltage drops they also require way less cooling - and are able to work with much higher voltage differences than linear regulators. They are somewhat more complicated than linear regulators though - but would even allow construction of completely transformerless power supplies (there are in fact such applications but one should keep in mind the dangers in case of failure when thinking about this though; depending on the design a failure of a single component would allow live line voltage to directly leak into the low voltage side of such an supply).

The topologies looked at in this short summary are:

Topology Inverting Output voltage range Output impedance range
Buck No $U_{out} \leq U_{in}$ $R_{in} \leq R_{out}$
Boost No $U_{out} \geq U_{in}$ $R_{in} \geq R_{out}$
Buck-Boost Yes $0 \geq U_{out} \geq -\infty$ any
Four-switch any any any

Note that some parts are only summarized at the buck and the boost regulators that will be used for the buck-boost and the four switch topology in the end.

A short recap: The capacitor and inductor

Switched mode power supplies require an energy storage element. One could use either a capacitor or - in practice used way more often due to reasons seen later - inductors. The following section serves as a short reminder on the properties of those components. In case one remembers how to do basic calculations with those reactive elements and also remembers which one flips current and which one voltage sign when switching from charging to discharging one can safely skip this section.

The capacitor

A capacitor is a storage element that stores charge carriers. The amount of charge carriers is usually termed $Q$. The simplified idea is that an applied voltage across two capacitor plates or foils pulls apart charge carriers and thus the contained charge is directly proportional to the applied voltage $U$. The proportionality factor is called capacitance $C$.

[ Q = C * U ]

When one now recalls that a current is nothing else than the flow of charge carriers per time one can already derive the relation between current and voltage at an capacitor:

[ I = \frac{\partial Q}{\partial t} \\ \frac{\partial Q}{\partial t} = \underbrace{\frac{\partial C}{\partial t}}_{0} * U + C * \frac{\partial U}{\partial t} \\ \frac{\partial Q}{\partial t} = C * \frac{\partial U}{\partial t} \\ \to I(t) = C * \frac{\partial U(t)}{\partial t} \\ \frac{1}{C} \int I(t) dt = U(t) ]

In the second equation it has been assumed that the capacity of the capacitor stays constant over time. This is a safe asumption in many parts of electronics. As one can see one can either express the current at a given time by the change of voltage with time or the voltage as the summed up flown current.

Lets take a short look at a simple R-C network (i.e. charging and discharging an capacitor via a current limiting resistor) that gets charged from a constant voltage source.

RC network

As one can see the total voltage $U_b$ has to drop over the resistor and the capacitor:

[ U_b = U_R(t) + U_C(t) ]

Charging a capacitor via an RC network

For charging one can assume that in the initial condition there are no charge carriers at the capacitor, i.e. $Q=0 \to 0=C*U \to U(t=0) = 0$. This will be required for the boundary condition later on. Inserting Ohm’s law $U=R I$ for the resistor, recalling that $I = \frac{\partial Q}{\partial t}$ and inserting the equation for the capacitor from above yields a simple inhomogeneous differential equation:

[ U_b = R * I(t) + U_C(t) \\ U_b = R * \frac{\partial Q(t)}{\partial t} + U_C(t) \\ U_b = R * C * \frac{\partial U_C(t)}{\partial t} + U_C(t) ]

This equation can be solved easily by the separation ansatz:

[ U_b = R * C * \frac{\partial U_C(t)}{\partial t} + U_C(t) \\ U_b - U_C(t) = R * C * \frac{\partial U_C(t)}{\partial t} \\ \frac{1}{RC} = \frac{1}{U_b - U_C(t)} \frac{\partial U_C(t)}{\partial t} \\ \frac{1}{RC} \partial t = \frac{1}{U_b - U_C(t)} \partial U_C(t) ]

Integrating on both sides is simple - the terms on the left hand side are just constants so it’s pretty straight forward, substituting on the right side with $u = U_b - U_C$ is also simple to integrate again:

[ \frac{1}{RC} \partial t = \frac{1}{U_b - U_C(t)} \partial U_C(t) \\ \int \frac{1}{RC} dt = \frac{1}{U_b - U_C} d U_C \\ \frac{t}{RC} + c_1 = \int \frac{1}{u} d U_C \\ \frac{t}{RC} + c_1 = - \int \frac{1}{u} du \\ \frac{t}{RC} + c_2 = - log(u) \\ \frac{t}{RC} + c_2 = - log(U_b - U_C) \\ -\frac{t}{RC} + c_2 = log(U_b - U_C) ]

Now one can use the boundary condition to directly identify the constant $c_2$ when assuming that $U_C(t=0) = 0$:

[ c_2 = log(U_b) ]

Inserting, moving both logarithms to the right hand side and combining them using the equations for logarithms yields a simple equation:

[ -\frac{t}{RC} + log(U_b) = log(U_b - U_C) \\ -\frac{t}{RC} = log(U_b - U_C) - log(U_b) \\ -\frac{t}{RC} = log(\frac{U_b - U_C}{U_b}) \\ e^{-\frac{t}{RC}} = \frac{U_b - U_C}{U_b} \\ e^{-\frac{t}{RC}} = 1 - \frac{U_C}{U_b} \\ 1 - e^{-\frac{t}{RC}} =\frac{U_C}{U_b} \\ U_b * (1 - e^{-\frac{t}{RC}}) = U_C(t) ]

This yields the voltage over time when charging an RC network from a constant voltage source:

[ U_C(t) = U_b * (1 - e^{-\frac{t}{RC}}) ]

Inserting into the equation for the current on the capacitor $I = C \frac{\partial U}{\partial t}$ yields the equation for the current:

[ I_C(t) = C * \frac{\partial U_C(t)}{\partial t} \\ I_C(t) = C * \frac{\partial}{\partial t} U_b * (1 - e^{- \frac{t}{RC}}) \\ I_C(t) = C * U_b * \frac{1}{RC} e^{- \frac{t}{RC}} \\ I_C(t) = \frac{U_b}{R} e^{- \frac{t}{RC}} ]

As one can see the equation yields $I_C(t=0) = \frac{U_b}{R}$ yields the same result as Ohms law for the resistor alone. This means that the current over the capacitor is only limited by the resistor at the $t = 0$.

When one looks at the behavior when charging a $C = 1 mF = 10^{-3} F$ capacitor via a $R = 1 k\Omega = 10^3 \Omega$ resistor (which would yield a so called time constant $\tau = R C = 1 s$) one could see the behaviur plotted in the following graph:

Charging of 1 mF capacitor via a 1 kR resistor

Power flowing into charging of 1 mF capacitor via a 1 kR resistor

Discharging a capacitor via an RC network

The approach for modeling the discharge via an RC network is the same as for charging:

[ U_b = U_R(t) + U_C(t) = 0 \\ 0 = R * I_C(t) + U_C(t) \\ 0 = R * \frac{\partial Q(t)}{\partial t} + U_C(t) \\ 0 = R * C * \frac{\partial U_C}{\partial t} + U_C(t) \\ -U_C(t) = R C \frac{\partial U_C}{\partial t} \\ -\frac{\partial t}{RC} = \frac{\partial U_C}{U_C} \\ -\int \frac{1}{RC} dt = \int \frac{1}{U_C} d U_C \\ -\frac{t}{RC} + c_1 = ln(U_C) ]

Inserting the boundary condition for $U_C(t=0) = U_0$ yields the constant $c_1$:

[ c_1 = ln(U_0) \\ \to -\frac{t}{RC} + ln(U_0) = ln(U_C) \\ -\frac{t}{RC} = ln(U_C) - ln(U_0) \\ -\frac{t}{RC} = ln(\frac{U_C}{U_0}) \\ e^{-\frac{t}{RC}} = \frac{U_C}{U_0} \\ U_C(t) = U_0 e^{-\frac{t}{RC}} ]

Again inserting into the definition for the current over the capacitor yields the current equation:

[ I_C(t) = C * \frac{\partial U_C(t)}{\partial t} \\ I_C(t) = C * \frac{\partial}{\partial t} U_0 e^{-\frac{t}{RC}} \\ I_C(t) = - \frac{C * U_0}{RC} e^{-\frac{t}{RC}} \\ I_C(t) = - \frac{U_0}{R} e^{-\frac{t}{RC}} ]

As one can see the current is - in contrast to the charging current - negative.

Discharging a 1 mF capacitor via 1 kR from 5V

Power flowing out of discharging 1 mF capacitor via 1 kR

Summary for the capacitor

  Charging Discharging
Voltage $U_C(t) = U_b * (1 - e^{-\frac{t}{RC}})$ $U_C(t) = U_0 e^{-\frac{t}{RC}}$
Current $I_C(t) = \frac{U_b}{R} e^{- \frac{t}{RC}}$ $I_C(t) = - \frac{U_0}{R} e^{-\frac{t}{RC}}$
Charge $Q_C(t) = C * U_b * (1 - e^{-\frac{t}{RC}})$ $Q_C(t) = C * U_0 e^{-\frac{t}{RC}}$

In case one does not charge or discharge the capacitor with an initial voltage of $U_C(t=0)=0$ one can easily modify the equations to begin charging at a value $U_C(t=0) = U_{c,0}$ by inserting the appropriate boundary condition. Since the equations makes no assumption on the sign of the initial as well as the applied external voltage this yields two general equations that can be used for charging and discharging:

[ U_C(t) = U_b - (U_b - U_{c,0}) e^{-\frac{t}{RC}} \\ I_C(t) = \frac{U_b - U_{c,0}}{R} e^{-\frac{t}{RC}} ]

The inductor

The inductor is a little more tricky to understand than the capacitor. When one recalls Faradays law of induction one can recall that the magnetic flux is given by the surface integral:

[ \phi(t) = \int \int \vec{B}(t) d\vec{A} ]

To change the flux some force is required. In term of Faradays induction law this is usually termed the electromotive force $\epsilon$:

[ \epsilon = - \frac{\partial \phi}{\partial t} ]

To get the flux one has to sum up all magnetic field lines - or calculate a sum over the magnetic field passing through a given area, i.e. $\phi = \int B dA$.

[ \epsilon = - \frac{\partial}{\partial t} \int B dA \\ U(t) = - \frac{\partial}{\partial t} \int B dA ]

First one can now assume to work in vacuum:

[ H = \frac{B}{\mu_0} - \underbrace{M}_{\to 0} \\ B = \mu_0 H ]

When working in an isotropic material the magnetization can be included using the term $\mu_r$ in a simple way, i.e. $B = \mu_0 \mu_r H$. Inserting into the previous equations and transforming the surface integral into a closed loop integral along a path:

[ U(t) = - \frac{\partial}{\partial t} \mu_0 \int H dA \\ U(t) = - \frac{\partial}{\partial t} \mu_0 \oint H dL ]

Now when one recalls that $-L * I = \mu_0 \oint H dL$:

[ U(t) = - \frac{\partial}{\partial t} \mu_0 \int H dA \\ U(t) = - \frac{\partial}{\partial t} \underbrace{\mu_0 \oint H dL}_{-L * I(t)} \\ U(t) = L \frac{\partial I(t)}{\partial t} ]

Charging of an inductor over an RL network

Again assuming the charging over an current limiting resistor as done for the capacitor before one can do nearly the same as for the capacitor before, this time starting by modelling the current. As boundary condition one can assume that the current at $t=0$ is zero ($I(t=0) = 0$) since no magnetic field is present at the initial time.

[ U_B = U_R + U_L \\ U_B = R * I(t) + L * \frac{\partial I(t)}{\partial t} \\ U_B - R I(t) = L \frac{\partial I}{\partial t} \\ \frac{1}{L} \partial t = \frac{1}{U_B - R I} \partial I \\ \int \frac{1}{L} dt = \int \frac{1}{U_B - R I} dI \\ \frac{t}{L} + c_1 = - \frac{1}{R} ln(U_B - R I) \\ -\frac{R t}{L} + c_2 = ln(U_B - R I) ]

Inserting the boundary condition yields $c_2 = ln(U_B)$

[ -\frac{R t}{L} + ln(U_B) = ln(U_B - R I) \\ -\frac{Rt}{L} = ln(\frac{U_B - RI}{U_B}) \\ e^{-\frac{R}{L} t} = 1 - \frac{R}{U_B} I \\ 1 - e^{-\frac{R}{L} t} = \frac{R}{U_B} I \\ \to I(t) = \frac{U_B}{R} (1 - e^{-\frac{R}{L} t}) ]

Inserting into the equation for $U(t)$ from above one yields the equation for the voltage drop across the inductor:

[ U(t) = U_B e^{-\frac{R}{L} t} ]

Plotting the charging behavior again:

Charging a 1H inductor via 1 kR resistor with 5V supply voltage

Power flowing into a 1H inductor via 1 kR resistor with 5V supply voltage

Discharging of an inductor over an RL network

The discharge model works - as a surprise - similar:

[ 0 = U_R + U_L \\ 0 = R * I(t) + L \frac{\partial I(t)}{\partial t} \\ -R I(t) = L \frac{\partial I(t)}{\partial t} \\ -\frac{R}{L} \partial t = \frac{1}{I(t)} \partial I(t) \\ \int -\frac{R}{L} dt = \int \frac{1}{I} dI \\ -\frac{R}{L} t + c_1 = ln(I) ]

Assuming that $I(t = 0) = I_0$ yields $c_1 = ln(I_0)$

[ -\frac{R}{L} t + ln(I_0) = ln(I) \\ -\frac{R}{L} t = ln(\frac{I}{I_0}) \\ e^{-\frac{R}{L} t} = \frac{I}{I_0} \\ I(t) = I_0 * e^{-\frac{R}{L} t} ]

Inserting into the equation $U(t) = L \frac{\partial I(t)}{\partial t}$ yields the voltage drop:

[ U(t) = - R * I_0 e^{-\frac{R}{L} t} ]

Assuming the same conditions as during the charging of the inductor - for example when turning off the supply voltage instantanously - one can again plot voltage and current:

Discharging a 1H inductor over a 1 kR resistor

Power flowing out of a discharging 1H inductor over a 1 kR resistor

Summary for the inductor

  Charging Discharging
Voltage $U(t) = U_B e^{-\frac{R}{L} t}$ $U(t) = - R * I_0 e^{-\frac{R}{L} t}$
Current $I(t) = \frac{U_B}{R} (1 - e^{-\frac{R}{L} t})$ $I(t) = I_0 * e^{-\frac{R}{L} t}$

Generalizing the equation in the same way as for the capacitor - assuming there is an initial current $I(t=0) = I_{C,0}$ applied to the inductor when applying boundary conditions - allows one to define general equations that describe charging and discharging at the same time:

[ U_L(t) = - (U_b - R * I_{L,0}) * e^{-\frac{R}{L} t} \\ I_L(t) = \frac{U_b - (U_b - R I_{L,0}) * e^{-\frac{R}{L} t}}{R} ]

Summary of the important properties for the reactive components

As one can see the components differ in some basic properties:

Basics of DC-DC converters

So why this long recap for the capacitor and inductor? Basically it would be possible to use both of them as energy storage elements for DC-DC converters. In most topologies inductors are used as energy storage elements and capacitors only as input and output smoothing capacitors though for various reasons - one of them being the current limiting during initial charging and discharging. The power curves above have been plotted since a DC-DC converter can not only be seen as a voltage transformer but also as an impedance match between the input and the output which is important when considering stuff like maximum power point tracking for solar cells for example - more on that later.

To classify different DC-DC converter topologies one usually looks at:

The basic asynchronous buck converter

The asynchronous buck converter is a simple non isolating non inverting asynchronous step down converter (i.e. it reduces the input voltage). For a first look at the basic idea it’s assumed that the switched mode regulator already has reached a steady state - the output voltage is constant (since the output capacitor is large enough to smooth out any variations) and the input voltage is constant too. This is of course not a real situation - just a model to get a first idea how this stuff works.

The most simple asynchronous buck topology

So how does the asynchronous buck converter work? In case the switch Q1 is enabled the higher input voltage causes the diode D1 to block. The input current flows through the inductor (that takes the full voltage difference between input and output and blocks current flowing directly while charging and slowly increasing flowing current while the voltage drop slowly decreases during the charge cycle). In addition during the on state the output capacitor charges itself. It’s assumed that the ripple is neglectable for the load (one could add another inductive component to form a filter together with the output ripple suppressing capacitor).

Asynchronous buck converter in on state

Assuming continuous mode (the inductor current never reaches zero) the voltage across the inductor is

[ U_L = U_{in} - U_{out} ]

One can use this to calculate the change in current during the charging phase:

[ U_{in} - U_{out} = L \frac{\partial I_L}{\partial dt} \\ \int_{0}^{t_{on}} \frac{U_{in} - U_{out}}{L} d\tau = \Delta I_L(t) ]

Assuming that the output voltage stays constant due to a large output filtering capacitor:

[ \int_{0}^{t_{on}} \frac{U_{in} - U_{out}}{L} d\tau = \Delta I_L(t) \\ \frac{U_{in} - U_{out}}{L} t_{on} = \Delta I_{L,on} \\ \frac{U_{in} - U_{out}}{L} D T = \Delta I_{L,on} ]

Again assuming continuous mode the switch will be opened and closed for a fixed overall period $T$ with a duty cycle (ranging from 0 to 1) called $D$. Operating the switch with $D=0$ will keep it disabled all the time, $D=1$ will enable it and $D=0.5$ would run it open for $\frac{T}{2}$ and closed for the same amount of time.

When the switch opens the circuit changes. Keep in mind from the basics above that the current keeps it’s direction when stopping the charging of an inductor but the voltage changes it’s sign. The voltage seen over the inductor after opening the switch is $V_L = -U_{out}$ - but the polarity on the output does not change (one can see the polarity change when drawing arrows along the flowing current direction - once the current flows from higher supply voltage into the load side, the other time the current flows from ground into the load side).

Asynchronous buck converter in off state

[ -U_{out} = L \frac{\partial I_L}{\partial dt} \\ \frac{1}{L} \int_{t_{on}}^{T} -U_{out} = \Delta I_{L,off} \\ \frac{-U_{out}}{L} (1-D) T = \Delta I_{L,off} ]

Assuming steady state the input and output current change has to exactly compensate each other:

[ \Delta I_{L,on} + \Delta I_{L,off} = 0\\ (U_{in} - U_{out}) D - U_{out} (1-D) = 0 \\ U_{in} D - U_{out} D - U_{out} + U_{out} D = 0 \\ U_{in} D - U_{out} = 0 \\ U_{in} D = U_{out} \\ D = \frac{U_{out}}{U_{in}} ]

As one can see the duty cycle in steady state (assuming constant output voltage and constant load on the output side) would define the ratio between input and output voltage.

First - the assumption that the regulator reaches a steady state is reasonable also when starting up. Since the voltage difference between ground and the supply voltage is larger than the output voltage to the supply voltage the charging process is faster than the discard process during the startup - this will lead to buildup of the magnetic field. A short simulation of a buck regulator with an ideal diode (zero forward voltage), $1 \Omega$ resistance when charging and discharging, no output capacitor for the first 25 cycles with a $50\%$ duty cycle and a charge and discharge duration of $\frac{1}{10}$ of a time constant shows the following behavior (the inductor has been taken to be a $L=22\mu h$ inductor - a typical value for small scale buck converters):

Running for 25 cycles with 50% duty cycle, constant load resistance and 1/10 of time constant on and off period in ideal case

The power flow can also be calculated:

Power output when running for 25 cycles with 50% duty cycle, constant load resistance and 1/10 of time constant on and off period in ideal case

The first cycle is always the charging cycle when running with Q1 enabled, the second cycle is the discharge cycle when running with Q2 disabled. As one can see it’s assumed the current on the inductor never reaches zero. One can also see that the voltage direction over the inductor changes it’s direction. This means the output voltage does not change it’s sign due to the input side of the inductor being tied to high potential during charging phase and to low potential during discharge phase. As one can see the expected behaviour - an output voltage of around $6V$ when running with a duty cycle of $50\%$ and an input voltage of $12V$ is reached after a short period of time.

By adapting the duty cycle - for example in this case to $\approx 33\%$ - one can change the output voltage. With $\approx 33\%$ the expected output voltage would be $\frac{1}{3}$ of the input voltage - $4V$:

Buck, 25 cycles, constant load, 1/5 of time constant period, 33 percent duty cycle

Buck, 25 cycles, constant load, 1/5 of time constant period, 33 percent duty cycle

Load variations

So what happens when the load varies rapidly. Let’s add some random noise to the output resistance. To perform a simple simulation the input resistance is still assumed to be $1\Omega$ but the load resistance is assumed to be distributed according to a Gaussian distribution with $\mu = 1 \Omega$ and $\sigma = 0.5\Omega$:

Buck with constant duty cycle, gaussian noise on the load resistance

Buck with constant duty cycle, gaussian noise on the load resistance

As one can see a constant duty cycle buck regulator cannot really cope with rapid output load variations. Different constant loads on the other hand are on average irrelevant with this topology since the effect on charging and discharging phase is the same:

Load resistance Behavior Power
$1 \Omega$ Load at 1 Ohm Load at 1 Ohm
$1k \Omega$ Load at 1 kOhm Load at 1 kOhm
$1M \Omega$ Load at 1 MOhm Load at 1 MOhm

Different loads change the ripple on the output voltage though.

Why use an inductor instead of a capacitor

The answer is quick and simple: It would entirely be possible to construct the same type of regulator using a capacitor (in inverting topolgy). But in this case the inrush currents would only be limited during the initial charging phase by the resistance. This would mean that - without any other protective measure - the input current would be massive which would also mean a massive overshoot of the output voltage during the initial charging phase. This is a problem that one does not get with an inductor based buck setup.

Why you should not built a buck with constant duty cycle anyways

A word of caution: Even though the designs look so simple - please do not try to build such an regulator using some timing source like an oscillator or a 555 multivibrator. There is a reason why there is a huge amount of switched mode regulator ICs out there - and they all include error amplifiers and high precision voltage references for their sensing mechanisms. This is required since the usual input voltages do in fact drift when working with line power - and also load variations might make huge jumps. Those ICs sense the current or the voltage on either the input or the output side and either:

The basic synchronous buck converter

So what’s the problem with the previously discussed asynchronous buck converter so we need to revise the design? It looks pretty simple and solid - and in fact works. But especially for high currents the efficiency is limited by the passive switching element - the diode. As one can see during dischage phase the output voltage is reduced by the voltage drop across the diode - usually on the order of the range $0.8V$ to $1.3V$. This might not sound problematic on first sight but when one considers 10’th to 100’rd of amperes flowing through this diode the power dissipation gets into the range of tens to hundreds of Watts - which might be a substantial amound of the output power and thus reduce efficiency of the regulator pretty fast. The input voltage is of course limited by reverse breakdown voltage of the diode. In addition there is some voltage slope depending dead time till the diode switches. The solution to this problem is pretty simple but somewhat frightening to the hobby electronics designer: Adding a second active switching element instead of the diode. The $R_{DS,on}$ of MosFETs is usually much lower than the resistance represented by the diode.

Basic synchronous buck converter

This design simply replaces the diode by a MosFET. In theory the MosFETs control signal has to be inverted so one might be tempted to build such an setup by just adding an inverter at the gate of the MosFET. This will lead to catastrophic failure of the circuit for sure. Why? The failure mode is basically both MosFETs being in conductive state and thus shorting out the input voltage without any relevant current limiting. This would thermally fry the MosFETs under most conditions instantanously - or at least blow the fuses in front of the input port. This would happen since the time for a MosFET to turn off is usually way lower than the time for a MosFET to turn on. Even when using (like shown in the circuit above) n channel MosFETs on high and low side (using specially designed gate drivers that use charge pumps makes this possible) this asymmetry would still be present, when using n and p channel FETs it would be even worse. The solution is somewhat simple: Adding dead time between switching off one MosFET and switching on the other. This is a feature usually implemented in SMPS integrated circuits - usually with selectable dead time to adjust to minimize the dead time.

In addition this design would not survive turning off most likely since the Q2 MosFET would not survive the high discharge currents when both switches are disabled. To prevent this one should always add a flyback diode across the FETs drain and source as usual.

Basic synchronous buck converter

Of course this might mean that some current is flowing over the diode in case the dead time has been chosen too large - but even then efficiency will improve due to the fact that the diode will only conduct for a short time till the MosFET takes over. Efficiencies of synchronous buck converters are usually way larger than efficiencies of asynchronous buck converters for large voltage differences and high currents. The switch from a diode to an actively controlled MosFET might make the differnce between a power supply begin at $40\%$ efficient to a power supply that reaches over $98\%$ efficiency. But keep in mind one has to calculate that everytime since there are even situations where the efficiency of a simple linear regulator is larger than a SMPS due to switching currents required on the MosFETs and other losses.

Using a buck converter to maximize power transfer (impedance match, maximum power point tracking)

Sometimes the idea of a DC-DC regulator is not to provide a specific output voltage for a given input voltage but to maximize the transfered power. This is the case for example for solar cells. The typical idealized voltage-current relation for a solar cell looks like the following:

Solar cell current, voltage and power relations

As one can see for an open the current goes down to zero, for a short at zero voltage the current is at maximum as one would expect from any other type of load of supply. The interesting part is the power curves. As one can see there is a point where a solar panel delivers the maximum power (the maximum power point) at a specific voltage and specific current. One can interpret the different I-V combinations just as different load resistances $R_i$.

For any power transfer system the input and output power differ just by a scaling factor - the efficiency $\eta$:

[ U_{out} * I_{out} = \eta U_{in} * I_{in} \\ U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\ \frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\ \to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\ \to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}} ]

When one recalls from the really simplistic view that the ratio between output and input voltage is just controlled by the duty cycle of the buck converter one can see that one is basically controlling the impedance ratio by the duty cycle

[ D = \frac{U_{out}}{U_{in}} \\ \to D^2 = \eta \frac{R_{in}}{R_{out}} \\ D = \sqrt{\eta \frac{R_{in}}{R_{out}}} \\ \to R_{in} = \frac{D^2 R_{out}}{\eta} ]

As one can see one is directly able to scale the input or the output impedance by changing the duty cycle. In the ideal case $D^2 * R_{out} = R_{in}$. This allows one to maximize the power transfer from some input side to the output side. Since the maximum power point often drifts in applications such as solar panel controllers one has to actively track the optimum. This is often done by slightly changing the impedance and measuring the change in power transfer ratio. Then one follows the gradient to the largest power transfer like in bisection methods to search local minima or maxima of mathematical functions in discrete ways. Since it’s possible to enter local minima during fast changes of illumination on solar panels for example such controllers also often offer features that interrupt normal operation at periodic times and scan the whole I-V curve of the supply side again to escape local minima (this is often called shading prevention). This of course stops power transfer - or at least limits it - but provides a huge gain by escaping local minima occuring for example with partially shaded solar panels.

The buck converter can only convert a low impedance input into a high impedance, i.e. $R_{out}$ has to be larger than $R_{in}$. Because of this one will se later that one will most of the time use a buck-boost topology for such applications that is able to adapt an impedance match into both directions.

The basic asynchronous boost converter

The idea of boost converters works similar to the idea of buck converters. The main difference is that the switch gets places on the load side of the inductor. In a boost converter when the switch is closed the diode blocks and current is flowing from the voltage source into the inductor, charging the inductor and increasing the voltage. When the switch is opened the diode conducts and the inductor discharged. The output voltage in a buck is basically the absolute value of the voltage across the inductor. In a boost converter the behavior is different - when the switch is closed the inductor is charged by the input voltage and no output voltage is supplied since the diode is blocking. When the switch opens the diode conducts and the voltage source in series with the charged inductor supplies the voltage to the output load during the discharge phase. Thus the output voltage is larger than the input voltage.

A simple model of a boost converter

Again a simplistic view in continuous mode during on and off state allows to see how the device operates. During on state the inductor is charged directly from the input voltage source, the output voltage is only supplied by the output capacitor:

Simple boost converter with switch enabled (charging)

During this phase the voltage across the inductor is the same as the input voltage. Assuming again steady state operation with constant voltages (note that usually charging also happens over a small resistor and the coil has some small series resistance):

[ U_L = U_{in} \\ L \frac{\partial I_L(t)}{\partial t} = U_{in} \\ \Delta I_L = \int_0^{t_{on}} \frac{1}{L} U_{in} dt \\ \Delta I_{L,on} = \frac{DT}{L} U_{in} ]

In off state the output capacitor is charged via the discharging inductor, the inductor is put in series with the input voltage. Keep in mind that the voltage on the inductor has flipped it’s direction (the current stayed the same) since $U_{out} > U_{in}$

Simple boost converter with switch disabled (discharging)

Doing the same as above in the charging phase:

[ U_L + U_{in} = U_{out} = U_{C} \\ U_{in} + L \frac{\partial I_L(t)}{\partial t} = U_{out} \\ \Delta I_{L,off} = \int_{t_{on}}{T} \frac{1}{L} (U_{out} - U_{in}) dt \\ \Delta I_{L,off} = \frac{(1-D)T}{L} (U_{out} - U_{in}) ]

Now assuming steady state operation means the changes in current have to be the same again:

[ \Delta I_{L,on} = \Delta I_{L,off} \\ \frac{DT}{L} U_{in} = \frac{(1-D)T}{L} (U_{out} - U_{in}) \\ D U_{in} = (1-D) (U_{out} - U_{in}) \\ \to D = \frac{U_{out} - U_{in}}{U_out} \\ \to \frac{U_{in}}{U_{out}} = \underbrace{(1-D)}_{0 \leq D \leq 1} ]

From the last equation one can see that the output voltage is always larger or equal to the input voltage - thus the name boost regulator.

The basic synchronous boost converter

Again the main limit for efficiency are switching losses and - the passive switch, the diode. The idea with the synchronous boost converter is the same as with the synchronous buck converter - replacing the diode with an active switch.

Simple synchronous boost converter

Again the same pitfalls as with the synchronous buck converter arise - the switches do require a dead time to be not enabled at the same time - though the failure modes are different. In case both switches are enabled at the same time the capacitor would discharge at highest possible current through both MosFETs in addition to the charging current passing through Q2. The amount of time the power diodes are conducting alone on the other hand again has high influence on efficiency.

The boost converter as impedance match (maximum power point tracking)

As with the buck converter the boost can also be used as adjustable impedance match.

[ U_{out} * I_{out} = \eta U_{in} * I_{in} \\ U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\ \frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\ \to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\ \to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}} ]

Inserting again the simplistic equation from above:

[ \frac{1}{1-D} = \frac{U_{out}}{U_{in}} \\ \frac{1}{1-D} = \sqrt{\eta \frac{R_{in}}{R_{out}}} \to D = 1 - \sqrt{\frac{R_out}{\eta R_in}} \\ \to R_in = (\frac{1}{1 - D})^2 \frac{R_{out}}{\eta} ]

As one can see from the last equation the boost converter allows one to provide a higher input impedance than output impedance. This is also what allows it to transfer power out of batteries at low charge, harvest energy, etc.

The asynchronous basic buck-boost

Sometimes one requires a circuit that allows one to step up or down input voltage or convert impedances over a full range from increasing to decreasing with respect to the output impedance. The buck as well as the boost regulator only handle one of those situations. To solve that problem there are two topologies that one encounters:

Lets take a look at the inverting buck-boost topology - keep in mind that $U_{out}$ is negative with respect to GND!

Simple inverting buck-boost topology

As one can see the inductor is this time placed parallel to the load. How does this work? During the charge cycle the inductor is directly charged from the input voltage (usually via some kind of sense resistor). During this phase the output is supplied only from the output capacitor.

Simple inverting buck-boost topology

During on phase the equation is again pretty simple as long as one assumes constant input voltage:

[ U_L = U_{in} \\ L \frac{\partial I_L(t)}{\partial t} = U_{in} \\ \Delta I_{L,on} = \int_0^{t_{on}} \frac{1}{L} U_{in} \\ \Delta I_{L,on} = \frac{DT}{L} U_{in} ]

In the off state the inductor is put in parallel to the output load (and output capacitor). When one remembers that the inductor switches signs of the voltage while discharging while keeping the current direction one now sees why the output voltage is inverted.

Simple inverting buck-boost topology

Assuming constant output voltage (i.e. a really large output capacitor):

[ U_L = U_{out} \\ L \frac{\partial I_L(t)}{\partial t} = -U_{out} \\ \Delta I_{L,off} = \int_{t_{on}}^{T} \frac{1}{L} U_{out} \\ \Delta I_{L,off} = \frac{(1-D)T}{L} U_{out} ]

Again requiring steady state behavior:

[ \Delta I_{L,on} + \Delta I_{L,off} = 0 \\ \Delta I_{L,on} = - \Delta I_{L,off} \\ \frac{DT}{L} U_{in} = - \frac{(1-D)T}{L} U_{out} \\ D U_{in} = -(1-D) U_{out} \\ \to \frac{U_{out}}{U_{in}} = - \frac{D}{1-D} \\ \to D = - \frac{U_{out}}{U_{in} - U_{out}} ]

As one can see this regulator - under ideal conditions - would output the same voltage as inputted for a duty cycle of $50\%$. Dutycycles between $50\%$ and $100\%$ increase, duty cycles between $0\%$ and $50\%$ decrease the output voltage with respect to the input voltage.

The synchronous basic buck-boost

As one can guess after the journey through buck and boost converters up until now the idea behind the synchronous converter is again replacing the passive switching element by an active one:

Simple inverting buck-boost topology

Again the same considerations have to be made. This time switching both MosFETs at the same time would cause the input to be applied directly to the output and thus energy may flow either way - depending on input and output voltage. Again dead time as well as flyback diodes are required for proper operation.

Using the buck-boost as impedance match

Now lets get to another interesting application of the buck-boost. It allows one to arbitrarily tune the input impedance (or output impedance):

[ U_{out} * I_{out} = \eta U_{in} * I_{in} \\ U_{out} * \frac{U_{out}}{R_{out}} = \eta U_{in} * \frac{U_{in}}{R_{in}} \\ \frac{U_{out}^2}{R_{out}} = \eta \frac{U_{in}^2}{R_{in}} \\ \to \frac{U_{out}^2}{U_{in}^2} = \eta \frac{R_{in}}{R_{out}} \\ \to \frac{U_{out}}{U_{in}} = \sqrt{\eta \frac{R_{in}}{R_{out}}} ]

Inserting our simplistic equation that relates the duty cycle to the voltage proportionality:

[ (-\frac{D}{1-D})^2 = \eta \frac{R_{in}}{R_{out}} \\ \to R_{in} = \frac{R_{out}}{\eta} * (\frac{D}{1-D})^2 \\ \to D = \frac{\sqrt{\eta \frac{R_{in}}{R_{out}}}}{1 + \sqrt{\eta \frac{R_{in}}{R_{out}}}} ]

As one can see the term $\frac{D}{1-D}$ can supply values smaller or larger than 1. Thus the inverting buck-boost can provide impedance match in both directions - increasing or decreasing the input impedance with respect to the output impedance. This makes the buck-boost in theory ideal for applications like solar maximum power point tracking controllers.

The most flexible four-switch solution

As one can see above most of the designs are rather similar. There is a four switch based topology that allows one to operate a DC-DC converter in any of the described modes. Note that the boost and buck modes again are outputting positive voltages with respect to ground, the buck-boots topology outputs negative voltages.

Control A Control B Control C Control D Regime
On Off PWM PWM Boost converter (non inverting)
PWM (A,C) PWM (B,D) PWM (A,C) PWM (B,D) Buck-boost converter (inverting)
PWM PWM Off On Buck converter (non inverting)

As one can see one still only requires two PWM signals that are - in theory - exactly negated to build any of the topologies. Still dead time is required due to the above mentioned reasons. This is an interesting approach when one wants to build such an controller using a fast microcontroller or DSP.

Four switch topology

This article is tagged: Physics, Tutorial, Basics, How stuff works, Power grid, Electronics


Data protection policy

Dipl.-Ing. Thomas Spielauer, Wien (webcomplains389t48957@tspi.at)

This webpage is also available via TOR at http://rh6v563nt2dnxd5h2vhhqkudmyvjaevgiv77c62xflas52d5omtkxuid.onion/

Valid HTML 4.01 Strict Powered by FreeBSD IPv6 support