Двухтактный понижающий конвертер в прерывистом режиме проводимости

Этот пример показывает, как управлять выходным напряжением двухтактного понижающего конвертера. Текущее течение через индуктор достигает нуля во время переключателя от цикла МОП-транзисторов, и поэтому конвертер DC-DC действует в Прерывистом режиме проводимости (DCM). Этот режим проводимости в основном используется для приложений малой мощности. Чтобы преобразовать и поддержать входное напряжение постоянного тока как номинальное выходное напряжение, Подсистема контроллера PI использует простое интегральное управление. Во время запуска ссылочное напряжение сползается до желаемого выходного напряжения.

Конвертер действует в DCM только если

  • ,

где:

  • .

  • .

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

  • нагрузочное сопротивление.

  • переключающийся период для каждого MOSFET. Таким образом, где переключающаяся частота.

  • рабочий цикл входа PWM к логическому элементу каждого MOSFET. Таким образом, где На времени MOSFET.

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

open_system('ee_push_pull_converter_dcm.slx');
set_param(find_system('ee_push_pull_converter_dcm','FindAll', 'on','type','annotation','Tag','ModelFeatures'),'Interpreter','off');

Задайте параметры проекта

Система требуется, чтобы генерировать и поддерживать выходное напряжение 80 В с требованием к питанию 100 Вт. Входное напряжение составляет 400 В, и отношение поворотов преобразователя равняется 2. Загрузка включает постоянную активную нагрузку. 'ee_push_pull_converter_dcm_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_V                   = 1;                                  %  Peak-Peak Output Voltage Ripple as a percentage of Output Voltage
K                       = 0.3;                                %  Denotes trajectory that gives a relation between Output Voltage Ratio and Duty Cycle.
Ts                      = 1e-7;                               %  Sampling time for the solver

Операционный контур между прерывистым режимом проводимости и непрерывным режимом проводимости

На основе ограничения, установленного K и Рабочим циклом, рабочий режим переключается между Прерывистым режимом проводимости (DCM) и Непрерывным режимом проводимости (CCM). Отношения Выходного напряжения CCM и DCM:

  • Непрерывный режим проводимости

  • Прерывистый режим проводимости

Вычислите рабочий цикл разомкнутого цикла для DCM

Рабочие режимы могут визуализироваться для различных значений K путем генерации графика между Отношением Выходного напряжения и Рабочим циклом. Из этого графика найдите, что соответствующий Рабочий цикл должен был достигнуть Отношения Выходного напряжения, как задано в Параметрах Проекта для особого значения выбранного K.

figure;
D_range = 0:0.001:1;
Voltage_ratio = zeros(length(D_range));
for i=1:length(D_range)
    K_crit = 1-D_range(i);
    if K < K_crit
        Voltage_ratio(i) = 2/(1+sqrt(1+4*K/D_range(i)^2));
    else
        Voltage_ratio(i) = D_range(i);
    end
end
VR = Output_Voltage/(Input_Voltage/TR);
Duty = sqrt(4*K/((2/VR-1)^2-1));
hold on;
plot(Voltage_ratio,D_range);
hold on;
plot(VR,Duty,'*');
ylabel('Duty Cycle');
xlabel('Output to Input Voltage Ratio');
title('Discontinuous Mode Operating Region');

% The Open-Loop Duty Cycle required would be approximately 28.28% from the
% graph.

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

I_average = Output_Power/Output_Voltage;                     %  Average current that flows through the load
R_const = Output_Voltage/I_average;

Определите индуктивность фильтра

Чтобы оценить индуктивность, требуемую для DCM, используйте это отношение между K, Сопротивлением и Периодом Времени переключения.

L_min = (K*R_const)/(2*2*fsw_Hz);

Проверьте предполагаемый результат значений индуктивности в операции DCM. Если результаты значения в операции CCM, выберите различное значение K и повторно вычислите. Выполните итерации, пока вы не находите значение индуктивности, которое приводит к операции DCM.

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

Отношение между емкостью и Пульсацией Выходного напряжения

C_min = (2-(Duty/(Output_Voltage/(Input_Voltage/TR))))^2/(4*R_const*2*fsw_Hz*del_V*0.01);

Постройте емкость по сравнению с пульсацией напряжения

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

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

Запустите симуляцию

sim('ee_push_pull_converter_dcm.slx');

Просмотрите результаты симуляции

Чтобы просмотреть итоговые результаты во время или после симуляции, откройте блок Circuit Scope от подсистемы Осциллографов или путем ввода в подсказке команды MATLAB:

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

Чтобы просмотреть управление и ошибочные данные во время или после симуляции, откройте блок Controller Scope PI от подсистемы Осциллографов или, введите:

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

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

sscexplore (simlog_ee_push_pull_converter_dcm);

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