Buck Converter with Voltage Controls
Overview
This demo uses a buck converter with resistive loads. The controller is implemented as a configurable subsystem with three different voltage controller implementations. Fig. 1 shows the top-level schematic of the model.
Fig. 1 Buck converter with voltage controls
Note
Model
Power circuit
The power circuit of the model is using a MOSFET as the main switch in the buck converter. The input voltage \(V_{\mathrm{in}}\) is \(24\,\mathrm{V}\) and the switching frequency \(f_{\mathrm{sw}}\) is \(100\,\mathrm{kHz}\).
The buck converter initially has only one resistive load branch. At the \(5\,\mathrm{ms}\) simulation time, a Step function happens from 0 to 1. This action parallels another resistive branch with the same resistor value to the load. This scenario performs a load step where the load current is doubled. During the load step, there will be system dynamics happening. The desired output voltage reference \(V_{\mathrm{ref}}\) is \(12\,\mathrm{V}\). In order to maintain the buck converter output voltage stable against the dynamics, a closed-loop voltage controller is used.
Control
The modulation method used in this buck converter is the conventional Pulse-Width Modulation (PWM) method. The output signal of the Voltage Controller subsystem is a modulation index value m. The PWM Generation block is done by comparing the modulation index against a symmetrical sawtooth carrier. The sawtooth signal is modeled with a Triangular Wave Generator changing between 0 and 1, with the same frequency as the converter switching frequency \(f_{\mathrm{sw}}\), and a duty cycle of 0.5.
The voltage controller has three configurations. The users can choose in the mask dialog of the Voltage Controller subsystem among Analog Op-Amp, Continuous Transfer Function and Discontinuous Transfer Function.
Please note that the resistor and capacitor values in the following Op-Amp based controller are pre-selected. The controller design process is not the purpose of this demo. The focus of this demo is to showcase different ways of modelling the same controller transfer function designed.
Analog control with Op-Amp
The analog controller structure based on Op-Amp is depicted in Fig. 2. The buck converter desired output voltage reference \(V_{\mathrm{ref}}\) is chosen as \(12\,\mathrm{V}\) in this demo for all three controller implementations.
Fig. 2 Voltage controller with Op-Amp
The output voltage (tag name vo) is sensed by a voltage divider composed of resistors values \(R_{\mathrm{0}}\), \(R_{\mathrm{1}}\) and \(R_{\mathrm{4}}\). The other end of the resistor bridge is connected to an Electrical Ground connector. This Electrical Ground connector is also connected to the negative DC rail of the buck converter power stage. The voltage potential on \(\mathrm{R4}\) is connected to the inverting input (-) of the Op-Amp. Therefore the measured output voltage appearing at the inverting input (-) has
When an Op-Amp operates in linear mode, the difference in voltage between the non-inverting (+) and inverting (-) pins can be neglected. The non-inverting (+) input of the Op-Amp is connected to a fixed voltage source, which
can be derived based on Eq. (1).
The output voltage of the Op-Amp is then normalized by dividing the \(V_{\mathrm{ref\_op\_amp}}\). This signal now represents the duty cycle value between 0 and 1. A Saturation block is used to limit the duty cycle value between 0.05 and 0.95 to avoid saturation in PWM generation.
The transfer function of the Op-Amp based controller can be derived as the following:
Continuous transfer function
In this implementation the controller block diagram is shown in Fig. 3. The desired output voltage reference \(V_{\mathrm{ref}} = 12\,\mathrm{V}\) is directly compared with the measured converter output voltage. The error passes through a series of transfer function blocks in continuous domain (\(s\)-domain). The same Saturation block is used to avoid saturation. In the end the result represents the duty cycle for the main switch in the buck converter.
Fig. 3 Voltage controller with continuous transfer function
The aim of this configuration is to represent the same transfer function implemented by the previous Op-Amp configuration.
First, Eq. (2) can be further rewritten in the following form
The transfer function of the continuous controller in Fig. 3 is:
Matching Eq. (3) with Eq. (4), the following parameters for the block diagram in Fig. 3 can be obtained:
Discrete Transfer Function
This controller implementation is aiming at representing the same continuous transfer function of Eq. (4) in discrete domain (\(z\)-domain). The controller block diagram is shown in Fig. 4.
Fig. 4 Voltage controller with discrete transfer function
Here we use the Trapezoidal (Tustin) discretization method, where the relationship of the variables \(s\) and \(z\) is:
where \(T_{\mathrm{disc}}\) is the discrete sample time and commonly considered the same as the converter switching period \(1/f_{\mathrm{sw}}\).
Applying Eq. (5) onto Eq. (4), we can obtain:
This defines the parameters in the controller block diagram in Fig. 4.
Simulation
First run the simulation for the default Voltage Controller configuration: Analog Op-Amp. The simulation result is shown in Fig. 5. After starting the simulation, the output voltage starts rising from \(0\). After some initial dynamics it reaches the desired \(12\,\mathrm{V}\) reference. At the time of \(5\,\mathrm{ms}\), the load step happens and the output voltage suffers a disturbance but is quickly controlled to settle back at \(12\,\mathrm{V}\) again, meanwhile the load current is doubled. This proves the stability of the closed voltage loop. Save this trace on the Scope.
Fig. 5 Simulation result of load voltage and inductor current for the Op-Amp configuration
Next, the configuration: Continuous Transfer Function is chosen and simulated, and the trace is shown on top of the previously saved trace. Fig. 6 shows the overlaid two traces. The results show very good agreement to each other due to the equivalence between Eq. (2) and Eq. (4) in continuous domain.
Fig. 6 Zoomed-in result comparison of the Op-Amp and continuous transfer function configuration around the load step
In the end, the configuration: Discrete Transfer Function is simulated and compared with the Continuous Transfer Function configuration. Fig. 7 shows the overlaid two traces. A slight difference in the transient waveforms can be observed. This is because the discretization process of a continuous system brings in discretization error, while doing Eq. (5). However after the transient, the two waveforms converge to a good agreement again which proves the stability of both methods.
Fig. 7 Zoomed-in result comparison of the continuous and discrete transfer function configuration around the load step
Conclusion
This model demonstrates three different ways to model a voltage controller of a buck converter using PLECS components. The stability of the three methods are validated by applying a load step. The Op-Amp implementation and continuous domain \(s\) transfer function show very good agreement. The discrete domain \(z\) transfer function shows a slightly different behavior during transients. This is due to the discretization process on a continuous system.