В этом примере показано, как управлять выходным напряжением двухтактного обратного преобразователя. Ток, протекающий через индуктор, никогда не равен нулю, поэтому преобразователь постоянного тока работает в режиме непрерывной проводимости (CCM). Для преобразования и поддержания номинального выходного напряжения подсистема PI Controller использует простое встроенное управление. Во время запуска опорное напряжение увеличивается до требуемого выходного напряжения.
Преобразователь работает в CCM только в том случае, если
,
где:
.
.
- индуктивность фильтра.
- сопротивление нагрузки.
- период переключения для каждого МОП-транзистора. То есть, где
-
частота переключения.
- рабочий цикл ввода ШИМ в затвор каждого МОП-транзистора. То есть, где
-
время включения МОП.
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);
%
