Gvc simulation for peak current mode controlled Boost converter in Simplis

Ming Sun

Ming Sun / December 23, 2022

9 min read––– views

Gvc transfer function for PCM (peak current mode) Boost converter

In Ref. [1], we have derived the Gvc transfer function for PCM controlled Boost converter.

`G_(vc) = G_(vc0) * (1-s/omega_(rhpz))/(1+s/(omega_nQ)+(s/omega_n)^2)`
(1)

Where, the DC gain is:

`G_{vc0} = (R*D^')/(2R_(sns) + D^('3)*R*S_e*T_s/V_g)`
(2)

The dominant pole is:

`omega_p = 2/(RC)`
(2)

The subhamonic oscillation pole is:

`omega_n = pi*f_(SW)`
(4)

The quality factor Q is:

`Q = 1/(pi*[D^'(1+S_e/S_r)-0.5])`
(5)

The right half plane zero is:

`omega_(rhpz) = (R*D^('2))/L`
(6)

In this tutorial, let us create the Gvc test bench in Simplis and verify the above equations.

Gvc test bench in Simplis for PCM Boost converter

The PCM controlled Boost converter is as shown in Fig. 1.

Gvc test bench for PCM controlled Boost converter in Simplis
Fig. 1Gvc test bench for PCM controlled Boost converter in Simplis

The transient waveforms from Simplis simulation are as shown in Fig. 2.

Transient simulation waveforms from Simplis test bench
Fig. 2Transient simulation waveforms from Simplis test bench

The AC simulation result of Gvc is as shown in Fig. 3.

AC simulation result of Gvc from Simplis
Fig. 3AC simulation result of Gvc from Simplis

Comparison between Matlab and Simplis

The following Matlab script can be used to compare the Gvc transfer function between Matlab and Simplis.

comparision.m
clc; clear; close all;

Vg = 3.8;
V = 20;
L = 1e-6;
C = 10e-6;
fsw = 3e6;
Rsns = 0.3;
R = 20;

Dp = Vg/V;
D = 1-Dp;
Ts = 1/fsw;
Se = (V-Vg)/L*Rsns;
Sr = Vg/L*Rsns;

s = tf('s');

Gvc0 = R*Dp/(2*Rsns + Dp^3*R*Se*Ts/Vg);
wp = 2/R/C;
wn = pi*fsw;
Q = 1/pi/(Dp*(1+Se/Sr)-0.5);
wrhpz = R*Dp^2/L;

Gvc = Gvc0*(1-s/wrhpz)/(1+s/wp)/(1+s/wn/Q+s^2/wn^2);

h = bodeplot(Gvc);                    % Plot the Bode plot of G(s)
setoptions(h, 'FreqUnits', 'Hz');   % change frequency scale from rad/sec to Hz
set(findall(gcf,'type','line'),'linewidth',2);
p = getoptions(h);
p.PhaseMatching = 'on';
p.PhaseMatchingFreq = 1;
p.PhaseMatchingValue = 0;
setoptions(h,p);

grid on;
hold on;

% read simplis simulation results from csv file
data = csvread("simplis.csv", 1, 0);
freq = data(:,1);
mag = data(:,2);
phase = data(:,3);

ax = findobj(gcf, 'type', 'axes');
phase_ax = ax(1);
mag_ax = ax(2);


% append simplis plot to bode plot
plot(phase_ax, freq, phase, 'r--', 'LineWidth', 2);
plot(mag_ax, freq, mag, 'r--', 'LineWidth', 2);
legend('Math', 'Simplis')
xlim([100, 1.67e6]);

The comparison result from Matlab is as shown in Fig. 4.

Gvc transfer function Bode plot comparison between Mathematics derivation and Simplis
Fig. 4Gvc transfer function Bode plot comparison between Mathematics derivation and Simplis

In the above condition, we let compensation ramp to track the inductor current down slope. As a result, Eq. 5 can be written as:

`Q = 1/(pi*[D^'(1+S_f/S_r)-0.5]) = 1/(pi*[D^'(1+(V-V_g)/V_g)-0.5]) = 2/pi`
(6)

We can run another condition, where we reduce the compensation ramp slope. As a result, the quality factor Q should be increased and we will see higher peaking introduced by the subhamonic poles. The new Gvc plot from AC simulation with reduced compensation ramp slope is as shown in Fig. 5.

Gvc transfer function Bode plot with reduced compensation ramp slope
Fig. 5Gvc transfer function Bode plot with reduced compensation ramp slope

References and downloads

[1] Modeling of peak current mode controlled Boost converter

[2] Gvc test bench for PCM controlled Boost converter schematic - pdf

[3] Gvc test bench for PCM controlled Boost converter schematic - download


HomeWikis
SnippetsAbout
Google ScholarLinkedIn