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:

Several types of ac sweep blocks are available in PSIM:

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:

 

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.

The amplitude and phase plots of current loop transfer functionFigure 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

Digital control design with PSIM

3 phase inverter control

Peak Current Control of a boost converter