exponenta event banner

Двухтактный обратный преобразователь в режиме непрерывной проводимости

В этом примере показано, как управлять выходным напряжением двухтактного обратного преобразователя. Ток, протекающий через индуктор, никогда не равен нулю, поэтому преобразователь постоянного тока работает в режиме непрерывной проводимости (CCM). Для преобразования и поддержания номинального выходного напряжения подсистема PI Controller использует простое встроенное управление. Во время запуска опорное напряжение увеличивается до требуемого выходного напряжения.

Преобразователь работает в CCM только в том случае, если

  • $K > K_{critical}$ ,

где:

  • $K = 2 * L/(R * Tsw)$ .

  • $K_{critcal} = 1 - D$ .

  • $L$ - индуктивность фильтра.

  • $R$ - сопротивление нагрузки.

  • $T_{sw}$ - период переключения для каждого МОП-транзистора. То есть, где$T_{sw} = 0.5/f_{sw}$ -$f_{sw}$ частота переключения.

  • $D$ - рабочий цикл ввода ШИМ в затвор каждого МОП-транзистора. То есть, где$D = T_{on}/T_{sw}$ -$T_{on}$ время включения МОП.

Открыть модель

open_system('ee_push_pull_converter_ccm.slx');

Задание параметров проектирования

Система должна генерировать и поддерживать выходное напряжение 80 В при полной мощности нагрузки 1000 Вт. Входное напряжение 400 В, а коэффициент витков трансформатора 2. Полная нагрузка включает в себя постоянную нагрузку и циклическую нагрузку. Сценарий 'ee _ push _ pull _ converter _ ccm _ data.m' определяет параметры конструкции как переменные в рабочей области MATLAB ®.

Input_Voltage           = 400;                                %  Input voltage to the push-pull converter [V]
Output_Voltage          = 80;                                 %  Desired output voltage from the push-pull converter [V]
Output_Power            = 1000;                               %  Full load power output [W]
fsw_Hz                  = 40000;                              %  MOSFET switching frequency [Hz]
primary_winding         = 200;                                %  Number of turns in the primary winding
secondary_winding       = 100;                                %  Number of turns in the secondary winding
TR                      = primary_winding/secondary_winding;  %  Turns ratio
Kp                      = 0.01;                               %  Proportional gain for PI controller
Ki                      = 20;                                 %  Integral gain for PI controller
del_I                   = 40;                                 %  Peak-peak inductor ripple current as a percentage of full load current
del_V                   = 1;                                  %  Peak-peak output voltage ripple as a percentage of output voltage
share_constload         = 70;                                 %  Percentage of load current drawn by constant load
share_cyclicload        = 100-share_constload;                %  Percentage of load current drawn by cyclic load
cyclic_load_period      = 1/20;                               %  Cyclic load period
cyclic_load_pul_width   = 50;                                 %  Pulse width of the current pulses drawn by the cyclic load
Ts                      = 1e-7;                               %  Sampling time for the solver

Расчет рабочего цикла с разомкнутым контуром

Рабочий цикл зависит от входного напряжения, коэффициента витков и требуемого выходного напряжения.

Duty = Output_Voltage/(Input_Voltage/TR);

Определение сопротивления постоянной нагрузки

I_fl_average = Output_Power/Output_Voltage;                     %  Full load average current that flows through the load
R_const = Output_Voltage/I_fl_average;

Расчет индуктивности фильтра

Выберите значение индуктивности на основе входных и выходных характеристик преобразователя. Значение индуктивности зависит от входных и выходных характеристик преобразователя. В этом примере преобразователь должен работать в CCM для 20-100% полной мощности нагрузки. Когда при нижнем граничном условии мощность составляет 20% от мощности полной нагрузки, средний ток нагрузки составляет 20% от среднего тока полной нагрузки, I_fl_average. В конце каждого цикла в нижнем граничном состоянии ток индуктора переходит в ноль. Ток пульсации индуктора, del_I, в этот момент вдвое превышает средний выходной ток нагрузки, то есть 40% от среднего выходного тока полной нагрузки.

L_min = (Input_Voltage/TR)*Duty*(1-Duty)/(2*fsw_Hz*del_I*I_fl_average*...
    0.01);

График зависимости индуктивности от пульсации тока индуктора

Создайте этот график, чтобы увидеть, как индуктивность фильтра соотносится с током пульсации индуктора (выраженным в процентах от тока полной нагрузки). Для этого примера маркер при 40% соответствует индуктивности 1,2e-04 Н.

del_I_range = 20:0.1:50;     %  Percentage of full load current (20-50%)
L_range = (Input_Voltage/TR)*Duty*(1-Duty)./(2*fsw_Hz*del_I_range*...
    I_fl_average*0.01);
figure;
hold on;
plot(del_I_range,L_range);
hold on;
L_del_I = (Input_Voltage/TR)*Duty*(1-Duty)/(2*fsw_Hz*del_I*...
    I_fl_average*0.01);
plot(del_I,L_del_I, '*');
xlabel('Inductor current ripple (% of full load current)');
ylabel('Inductance (H)');
title('Inductance Vs Inductor Current Ripple');

Выберите емкость фильтра

C_min = (Input_Voltage/TR)*Duty*(1-Duty)/(8*(2*fsw_Hz)^2*L_min*...
    Output_Voltage*del_V*0.01);

График зависимости емкости от пульсации напряжения

Создайте этот график, чтобы увидеть, как емкость для ограничения пульсации выходного напряжения изменяется в зависимости от расчетных параметров. Для этого примера маркер при 1% пульсации выходного напряжения соответствует емкости 9,766e-06 F.

del_V_range = 0.5:0.1:5;
C_range = (Input_Voltage/TR-Output_Voltage)*Duty./(8*(2*fsw_Hz)^2*L_min*...
    Output_Voltage*del_V_range*0.01);
figure;
hold on;
plot(del_V_range,C_range);
hold on;
C = (Input_Voltage/TR-Output_Voltage)*Duty/(8*(2*fsw_Hz)^2*L_min*...
    Output_Voltage*del_V*0.01);
plot(del_V,C,'*');
xlabel('Voltage Ripple (%)');
ylabel('Capacitance (F)');
title('Capacitance Vs Voltage Ripple');

Запуск моделирования

sim('ee_push_pull_converter_ccm.slx');

Просмотр результатов моделирования

Для просмотра сводных результатов во время или после моделирования откройте блок «Область цепи» в окне модели или введите в командной строке MATLAB:

open_system('ee_push_pull_converter_ccm/Scopes/Circuit Scope');

Для просмотра управляющих данных и данных об ошибках во время или после моделирования откройте блок «Объем контроллера PI» в окне модели или введите:

open_system('ee_push_pull_converter_ccm/Scopes/PI Controller Scope');

После моделирования для просмотра зарегистрированных данных Simscape™ с помощью обозревателя результатов Simscape введите:

sscexplore(simlog_ee_push_pull_converter_ccm);
%