Application note for the control of a buck converter with peak current control, PCMC, and PSIM
Introduction
When we design voltage and current controllers for a power converter, an ac analysis is required to obtain frequency responses of the power converter. These frequency responses include open-loop transfer function, loop transfer function, closed-loop transfer function, input impedance, output impedance, etc.
PSIM provides several blocks to perform the ac sweep. It injects perturbation into the measured system and measures the frequency response in the time domain. An important feature of the ac analysis in PSIM is that the measured system can be in original circuit model form instead of the average model.
In this application note, a Peak Current Mode Controlled (PCMC) dc-dc buck converter is used as an example to illustrate the steps to perform the ac analysis. We will demonstrate how to set up the circuit to obtain frequency response plots for different transfer functions. This application note demonstrates the robustness and flexibility of using ac sweep in PSIM for fast and accurate frequency response analysis.
System Specifications
The buck converter has following specifications:
Vin_rated = 12V; Vin_min = 6V; Vin_max =16V
Vo_rated = 5V
Po_rated = 50W
fsw = 100 kHz
Setting Up the Buck Converter
First, we design the inner current loop with slope compensation and peak current mode control.
We then perform an ac sweep of the inner current loop for outer voltage loop design. The outer voltage loop is designed to have a 4-kHz bandwidth.
We finally use the ac sweep of the closed-loop converter to obtain the input and output impedances.
The PCMC buck converter is shown in Figure 1. The voltage and the current control loops are highlighted within the red rectangular boxes in the figure.
Figure 1: PCMC buck converter with both current and voltage control loops
AC Analysis of Current Loop and Voltage Loop
The following steps are needed for the ac analysis of any power converters in PSIM:
- Identify a sinusoidal voltage source as the excitation source for the ac sweep.
- Place AC sweep probes at the desired output locations. To measure the loop response of a closed control loop, use the node-to-node probe AC sweep probe (loop).
- Place the AC sweep block in the schematic and define the ac sweep parameters.
- Run the simulation.
Several types of ac sweep blocks are available in PSIM:
- AC Sweep
- AC Sweep (1)
- AC Sweep (2)
- AC Sweep (multi-sine)
The process of the ac sweep with the regular AC Sweep block is that a small ac excitation signal is injected into the system as the perturbation, and the signal at the same frequency is extracted at the output. The process is repeated for all other frequencies.
The AC Sweep (1) block works in the same way as the regular AC Sweep block. The difference is that the ac sinusoidal excitation points can be defined arbitrarily inside the AC Sweep (1) block.
The AC Sweep (2) block works in a different way from the AC Sweep and AC Sweep (1) blocks. With this block, PSIM will run the transient simulation up to the steady-state time specified by users. PSIM will then simulate an additional number of cycles (again specified by users) to calculate ac sweep results.
With the AC Sweep (multi-sine) block, the excitation source consists of a signal with multiple frequencies. The circuit is run to the steady-state, and the frequency response is obtained with a one-time-domain simulation run.
The regular AC Sweep block is the first choice for complex power converter topologies. The AC Sweep (1) block has more flexibility in defining perturbation amplitudes. The AC Sweep (2) block is preferred with closed-loop power converters. The AC Sweep (multi-sine) block is preferred with simpler power converter topologies.
The first three ac sweep blocks are less sensitive to the time step size of the simulation, whereas the AC Sweep (multi-sine) block is more sensitive to the time step size selection.
We will use the regular AC Sweep block in this application note.
The following transfer functions are generated:
- Current loop transfer function
- Current closed-loop transfer function (Vo/I_ref)
- Voltage loop transfer function
- Input impedance (V_in/I_in)
- Output impedance (Vo/Io)
1. CURRENT LOOP TRANSFER FUNCTION
The buck converter with a current control loop is shown in Figure 2. The schematic file “Buck – current loop – ac sweep.psimsch” can be found in the “simu” subfolder of this application note folder.
To obtain the frequency response of the current loop transfer function, the ac sine perturbation is applied in the feedback output current (Io_fb).
We have used a node-to-node AC sweep probe (loop) to measure the loop gain response of a closed current control loop.
The AC Sweep block, AC Sweep Probe (loop), and ac sine perturbation source are highlighted in the figure below.
Figure 2: A PCMC buck converter with ac sweep set up for current loop transfer function.
The AC Sweep block is configured to sweep from 100 Hz to 50 kHz. An AC perturbation amplitude of 0.05 is applied to the Io_fb (a typical value is 5% to 10% of the normal operating value). The configuration of the regular AC Sweep is shown below in Figure 3.
Figure 3: Parameters of the AC Sweep block
The ac sweep result of the current loop transfer function is shown in Figure 4. The gain-cross-over frequency is close to 35 kHz, as expected as this is the desired bandwidth of the inner current loop.
Figure 4: The amplitude and phase plots of current loop transfer function
2. CURRENT LOOP TRANSFER FUNCTION (VO/I_REF) FOR THE OUTER LOOP DESIGN
The buck converter with a closed current loop is shown in Figure 5. The schematic file “Buck – current loop Vo_Iref – ac sweep.psimsch” can be found in the “simu” subfolder of this application note folder.
To design the voltage loop controller, the ac sweep is used to measure the frequency response of the transfer function Vo/I_ref, where I_ref is the current reference and Vo is the output voltage.
An ac sinusoidal perturbation is applied to the current reference, and an AC Probe is used to measure the output Vo.
The AC Sweep block is configured in a similar way as in Section 1.
The AC Sweep block, AC Probe, and ac sine perturbation source are highlighted in the figure.
Figure 5: The buck converter with ac sweep set up for Vo/I_ref
The ac sweep results of the transfer function Vo/I_ref are shown in Figure 6 below.
Figure 6: The amplitude and phase plots of Vo/I_ref
3. VOLTAGE LOOP TRANSFER FUNCTION
To obtain the frequency response of the PCMC buck voltage loop gain transfer function, the converter with both inner current and outer voltage loops is set up in Figure 7. The ac sine perturbation is applied in the feedback output voltage (Vo_fb). The schematic file “Buck – voltage loop – ac sweep.psimsch” can be found in the “simu” subfolder of this application note folder.
We have used node-to-node AC Sweep Probe (loop) to measure the loop gain response of a closed voltage control loop, as highlighted in the figure below.
Figure 7: A buck converter with ac sweep set up for voltage loop transfer function.
The AC Sweep block is configured to sweep from 100 Hz to 50 kHz. An ac perturbation amplitude of 0.25 is applied to the Vo_fb. The configuration of the AC Sweep block is shown below.
Figure 8: Parameters of the AC Sweep block
The ac sweep result of the voltage loop transfer function is shown in Figure 9 below. The gain-cross-over frequency of this transfer function is close to 4 kHz, as expected as this is the desired bandwidth for the outer voltage control loop.
Figure 9: The amplitude and phase plots of voltage loop transfer function.
4. INPUT IMPEDANCE (V_IN/I_IN)
To obtain the input impedance of the PCMC buck transfer function V_in/I_in, one AC probe is used to measure the input current (I_in), and the other AC probe is used to measure the input voltage (V_in) as shown in Figure 10 below. The schematic file “Buck – input impedance.psimsch” can be found in the “simu” subfolder of this application note folder.
The AC Sweep block is configured to sweep from 10 Hz to 50 kHz (Figure 11). An ac perturbation amplitude of 1.2 is applied to the input source V_in.
Once ac sweep is done, since both V_in and I_in are in log scale, we can obtain the input impedance by subtracting the frequency response of voltage V_in with the frequency response of I_in.
The ac sweep result of the transfer function V_in/I_in is shown in Figure 12. The input impedance of the PCMC buck converter is around 9 dBΩ below 4 kHz.
Figure 10: A buck converter with ac sweep set up for the input impedance V_in/I_in
Figure 11: Parameters of the AC Sweep block
Figure 12: The amplitude and phase plots of the input impedance V_in/I_in
5. OUTPUT IMPEDANCE (VO/IO)
To obtain the output impedance Vo/Io of the buck converter, one AC Probe is used to measure the output current (Io), and the other AC Probe is used to measure the Vo as shown in Figure 13. The schematic file “Buck – output impedance.psimsch” can be found in the “simu” subfolder of this application note folder.
The AC Sweep block is configured to sweep from 10 Hz to 50 kHz (Figure 14). An ac perturbation amplitude of 0.5 is applied to the output voltage Vo.
Once ac sweep is done, since both Vo and Io are in log scale, we can obtain the output impedance by subtracting the frequency response of Vo with the frequency response of Io.
The ac sweep result of the transfer function Vo/Io is shown in Figure 15. The output impedance is around -72 dBΩ at 10 Hz.
Figure 13: A buck converter with ac sweep set up for the output impedance Vo/Io
Figure 14: Parameters of the AC Sweep block
Figure 15: The amplitude and phase plots of the output impedance Vo/Io
Conclusions
The process of ac analysis for different frequency responses of a power converter system is explained in this application note.
We have demonstrated how to set up an ac sweep for a PCMC buck converter to obtain the inner current loop transfer function, outer voltage loop transfer function, input impedance, and output impedance.
Related resources
PSIM power supply design solutions