Buck Converter Operating in Boundary Conduction Mode

Overview

This demonstration shows a buck converter with an on-line parameter tuning technique for predictive peak current mode control operating in Boundary Conduction Mode (BCM) as explained in [1].

Note

This model contains model initialization commands that are accessible from:
PLECS Standalone: the menu Simulation > Simulation Parameters… > Initializations
PLECS Blockset: right click in the Simulink model window > Model Properties > Callbacks > InitFcn*

Model

The top-level schematic contains the power circuit and the controller, as shown in Fig. 1. The power circuit is a simple buck converter with a MOSFET and a resistive load. The controller regulates the output voltage and regulates the converter to operate in BCM. Sensor error in the voltage measurement and parameter deviation in the estimated inductance are modeled as well.

../../_images/model_sch.svg

Fig. 1 Top-level schematic of the model

Controller

The control logic consists of three main Subsystems, as shown in Fig. 1. The “PWM” subsystem generates the gate signal based on variable on and off times from the main controller. An event signal is generated by the “PWM” subsystem when the PWM carrier reaches a minimum or maximum. The event signals are used in the “ADC” subsystem to sample the inductor current at the minimum and maximum of the inductor current ripple.

The “Controller” subsystem is a Triggered Subsystem and implements the main control logic. Components within a Triggered Subsystem are executed as a group based on the input trigger signal. The trigger input is aligned with the peak of the current ripple.

The controller subsystem is shown in Fig. 2. The voltage compensator regulates the DC output voltage by comparing the sensed DC output signal against a reference. The output of the voltage compensator is the peak inductor current reference, \(i_{\mathrm{command}}\). This reference signal is then used in the calculation of on-time and off-time, i.e., \(t_{\mathrm{on}}\) and \(t_{\mathrm{off}}\) respeticvely, in the predictive peak current mode control, with on-line parameter tuning technique.

../../_images/ctrl_sch.svg

Fig. 2 Controller of the Buck converter in BCM

Voltage Compensator

Plant transfer function

To set the PI controller gain parameters a plant transfer function is needed. The transfer function for the outer voltage loop is \(V(s)\). The voltage loop is designed to be slower than the current loop so that it does not distort the current reference.

\(V(s)\) relates the change of the current through the inductor (L), \(I_{\mathrm{L}}\) (the input variable), to the response of the capacitor voltage \(V_{\mathrm{C}}\) (the output variable):

\[\begin{aligned} V(s) = \frac{V_{\mathrm{C}}}{I_{\mathrm{L}}} \approx \frac{1}{s\,C} = \frac{1}{{s\, T_2}}, \quad \mathrm{where\,} T_2 := C \end{aligned}\]
Equivalent delay

The control system often introduces several small delays (e.g. from sensors, actuators, sampling, calculation delays, PWM delay). It is generally assumed that these delays are smaller than the time constant of the plant. If \(T_{\Sigma}\) is the equivalent delay of the control system, then the simplified transfer function of the delay is:

\[\begin{aligned} D_{\Sigma}(s) = \frac{1}{1+sT_{\Sigma}} \end{aligned}\]

The delays present in this model for this specific implementation are:

  • a small time constant for control calculation, \(T_{\mathrm{calc}}\), is \(\frac{1}{2}\, T_{\mathrm{s}}\)

  • a small time constant for PWM output generation, \(t_{\mathrm{pwm}}\), is \(\frac{1}{2}\, T_{\mathrm{s}}\) where, \(T_{\mathrm{s}}\) is the sample time of the controller.

The equivalent delay, \(T_{\Sigma}\), is therefore:

\[\begin{aligned} T_{\Sigma} = T_{\mathrm{calc}} + t_{\mathrm{pwm}} = T_{\mathrm{s}} \end{aligned}\]
Calculation of control parameters for the voltage loop

The control parameters of the voltage PI controller (\(K_{\mathrm{p}}\) and \(K_{\mathrm{i}}\)), since the outer voltage loop of the plant represents a pure integrator, are calculated using the Symmetrical Optimum Criterion. The system’s loop gain \(V_{\mathrm{LG}}(s)\) is given by the product of the transfer functions of the controller, equivalent time delay and plant:

\[\begin{aligned} V_{\mathrm{LG}}(s) = \frac{1+sT_{\mathrm{n}}}{sT_{\mathrm{i}}} \cdot \frac{1}{1+sT_{\Sigma}} \cdot \frac{1}{{s\, T_2}}, \quad \mathrm{\,where\,} K_{\mathrm{p}} = \frac{T_{\mathrm{n}}}{T_{\mathrm{i}}} \mathrm{\,\,and\,\,} K_{\mathrm{i}} = \frac{1}{T_{\mathrm{i}}} \end{aligned}\]

After solving the corresponding closed-loop transfer function, the final coefficients are:

\[\begin{aligned} T_{\mathrm{n}} = 4 \cdot T_{\Sigma} \mathrm{\,\,and\,\,} T_{\mathrm{i}} = 8 \cdot \frac{{T_{\Sigma}}^2}{T_{\mathrm{2}}} \end{aligned}\]

For a more detailed explanation on calculating the controller parameters, refer to [2].

These continuous parameters are converted to discrete parameters in the model. Since the sample time of the controller subsystem varies with the switching period, the gains for the discrete controller are calculated on the fly. The switching period for a boundary mode buck converter is calculated as:

\[\begin{aligned} t_{\mathrm{pwm}}=\frac{2L}{(1-d) R_{\mathrm{L}}} \end{aligned}\]

where, \(L\) is the output inductance, \(d\) is the duty ratio and \(R_{\mathrm{L}}\) is the load resistance.

Varying all the parameters on the fly to calculate the sample time required to derive the gains of the controller results in controller instability. Therefore, \(d\) and \(R_{\mathrm{L}}\) are kept constant, and sample time is calculated by using the predicted value of the inductance, \(L_\mathrm{new}\), derived in a later section.

../../_images/ctrl_predictive.svg

Fig. 3 Predictive current control with BCM

Predictive peak current mode control

The peak current controller regulates the peak ripple current to the current command, \(i_{\mathrm{command}}\). At the beginning of the switching period the on-time of the PWM signal, \(t_{\mathrm{on}}\), is calculated so as to reach the peak current set point. The current decreases to \(0\) by controlling the off time of the PWM signal, \(t_{\mathrm{off}}\). The on and off durations are calculated by predicting the inductor current rising slope, \(m_{\mathrm{1}}\), and falling slope, \(m_{\mathrm{2}}\), as shown in Fig. 3. These for a Buck converter are calculated as follows:

\[\begin{aligned} m_{\mathrm{1}}=\frac{V_{\mathrm{in}}-V_{\mathrm{o}}}{L} \end{aligned}\]
\[\begin{aligned} m_{\mathrm{2}}=\frac{V_{\mathrm{o}}}{L} \end{aligned}\]

The on-time and off-time of the nth switching period are calculated by equations:

\[\begin{aligned} t_{\mathrm{on}}[n]=\frac{i_{\mathrm{command}}-i_{\mathrm{L}} [v][n]}{m_{\mathrm{1}}} \end{aligned}\]
\[\begin{aligned} t_{\mathrm{off}} [n]=\frac{i_{\mathrm{command}}}{m_{\mathrm{2}}} \end{aligned}\]

where, \(i_{\mathrm{L}} [v][n]\) is the inductor current sampled at the beginning of the nth switching period.

The switching period (\(t_{\mathrm{pwm}}\)) of the nth switching period is calculated as follows:

\[\begin{aligned} t_{\mathrm{pwm}} [n]= t_{\mathrm{on}}[n]+t_{\mathrm{off}} [n] \end{aligned}\]

On-line parameter tuning

To address the sensitivity associated with inductor variation and input voltage drift, on-line parameter tuning is included. This method is based on sampled currents between two PWM outputs. The rising and falling current slopes, \(m_{\mathrm{1\_on}}\) and \(m_{\mathrm{2\_on}}\), for nth switching period are calculated and updated on-line using the following equations:

\[\begin{aligned} m_{\mathrm{1\_on}}[n]=\frac{i_{\mathrm{L}} [p][n-1]-i_{\mathrm{L}} [v][n-1]}{t_{\mathrm{on}}[n-1]} \end{aligned}\]
\[\begin{aligned} m_{\mathrm{2\_on}}[n]=\frac{i_{\mathrm{L}} [p][n-1]-i_{\mathrm{L}} [v][n]}{t_{\mathrm{off}} [n-1]} \end{aligned}\]

where, \(i_{\mathrm{L}}[p]\) is the inductor current sampled at the peak of inductor current, and \(i_{\mathrm{L}}[v]\) is the inductor current sampled at the beginning of the switching period or the valley of the inductor current. In the PLECS model, all the parameters are delayed by one additional time step.

When on-line tuning is turned on, a small value of \(1\mathrm{e-}7\) is subtracted from the calculated off time to create a small disturbance, which pushes the inductor current to almost reach Continuous Conduction Mode (CCM). This ensures that the controller can accurately calculate the rising and falling slopes for the next step, and the inductor current always stays in BCM in steady state.

The on-time and off-time are fed to a State Machine block to generate PWM signals.

Since the on-line tuning block relies on previously calculated values, logic is added to enable the block based on a minimum peak current and switching period, to ensure the on-line tuning block is only enabled after the first few transients.

To ensure that the values of \(m_{\mathrm{1}}\) and \(m_{\mathrm{2}}\) are always up-to-date in the predictive peak current mode block, the inductance value is updated on-line using the updated \(m_{\mathrm{2\_on}}\) calculated from the on-line tuning block.

\[\begin{aligned} L_{\mathrm{new}}=\frac{V_{\mathrm{o}}}{m_{\mathrm{2\_on}}} \end{aligned}\]

A signal switch monitors the calculated value of the inductance. If it’s not within the limits, it switches to using the previously calculated value of L.

Simulation

Run the simulation with the model as provided to observe the inductor current command, inductor current, PWM signals, and the triggers where inductor current is sampled.

To show the sensitivity associated with inductor variation and the input voltage drift, the inductor value in the circuit is set to \(1.3\) of the nominal value by default and the input voltage measurement is changed to \(0.9\) times the actual value. Additionally, at \(0.1\) seconds, there is a step change in the voltage reference, and at \(0.3\) seconds, the load resistance is halved.

To experiment with the model, and to verify the on-line parameter tuning block, run the model as is and save the trace using the “Hold current trace” button. Then, from the “Controller” subsystem set the online tuning parameter as off and re-run the model. Compare the two traces. You will observe that when online tuning is disabled, the converter does not achieve BCM. One can also change inductor nominal value to \(0.7\) rated

The simulation results, with online parameter tuning enabled, are shown in Fig. 4.

../../_images/results22.svg

Fig. 4 Simulation results

Bibliography

[1]

Y. Chang and Y. Lai, “Online Parameter Tuning Technique for Predictive Current-Mode Control Operating in Boundary Conduction Mode,” in IEEE Transactions on Industrial Electronics, vol. 56, no. 8, pp. 3214-3221, Aug. 2009, doi: 10.1109/TIE.2009.2024651. Available: https://ieeexplore.ieee.org/document/5071286

[2]

Conception de systèmes automatiques, Hansruedi Bühler, Presses Polytechniques Romandes, Lausanne 1988, ISBN 2-88074-149-1