2KW移相全桥整机Matlab Simulink仿真模型电源

2KW移相全桥整机Matlab Simulink仿真模型电源学习资料,报告mathcad参数设计,模型搭建过程参考资料,仿真模型等,很全面的移相全桥学习资料,电子资料
在这里插入图片描述

针对你提到的 2kW 移相全桥(PSFB) 仿真需求,
这套资料涵盖了从主电路参数计算(电感、电容)到控制策略(移相角生成、PI 闭环)的全过程,

在搭建 Simulink 模型前,你需要先在 Mathcad 或 MATLAB 中确定关键元器件参数。以下是基于 2kW 设计的典型计算逻辑:

系统规格定义
输入电压 (V_{in}): 400V DC
输出电压 (V_{out}): 48V DC
输出功率 (P_{out}): 2000W
开关频率 (f_{sw}): 100kHz
变压器匝比 (n): 假设 n = N_p/N_s = 4

输出滤波电感 (L_{out}) 计算
为了保证电流连续且纹波在合理范围(通常取额定电流的 10%-20%):

L_{out} = frac{(V_{out} cdot (1 - D_{min}))}{Delta I_L cdot f_{sw}}

占空比 D approx frac{V_{out} cdot n}{V_{in}} = frac{48 cdot 4}{400} = 0.48
纹波电流 Delta I_L = 0.2 cdot I_{out_max} = 0.2 cdot frac{2000}{48} approx 8.3A
计算结果:

L_{out} approx frac{48 cdot (1 - 0.48)}{8.3 cdot 100000} approx 30 mu H

(建议取值:30~40 mu H)

输出滤波电容 (C_{out}) 计算
基于输出电压纹波要求(例如 Delta V_{out} < 1%):

C_{out} ge frac{Delta I_L}{8 cdot f_{sw} cdot Delta V_{out}}

计算结果:

C_{out} ge frac{8.3}{8 cdot 100000 cdot 0.48} approx 216 mu F

(建议取值:220~470 mu F,需考虑 ESR)

谐振电感 (L_{res}) / 变压器漏感
为了实现 ZVS(零电压开关),需要足够的能量在死区时间内抽走 MOSFET 的结电容电荷:

L_{res} ge frac{C_{oss} cdot V_{in}2}{I_{p_min}2}

(注:在 Simulink 仿真中,通常将 L_{res} 设为变压器漏感或外串电感,取值范围通常在 10~50 mu H 之间,具体取决于死区时间设置)

Simulink 模型核心代码

移相全桥控制策略 (MATLAB Function)

这是 PSFB 的核心,用于生成四路驱动信号(Q1, Q2, Q3, Q4)。Q1/Q2 为超前桥臂,Q3/Q4 为滞后桥臂,两者之间存在移相角。

function [g1, g2, g3, g4] = PSFB_Controller(Vref, Vout, Iout, Vin, Ts, L, C, n)
% PSFB_Controller: 移相全桥控制逻辑
% 输入: Vref(参考电压), Vout(输出电压), Iout(负载电流), Vin(输入电压)
% 输出: g1, g2, g3, g4 (PWM 驱动信号)

persistent duty_cycle phase_shift

if isempty(duty_cycle)
    duty_cycle = 0.5;
    phase_shift = 0.25; % 初始移相角 (归一化 0-1)
end

% --- 1. 电压闭环 PI 控制 ---
% 简单的离散 PI 控制器,输出作为占空比 D
% 这里省略 PI 参数整定细节,假设 Kp, Ki 已定义
error = Vref - Vout;
duty_cycle = duty_cycle + 0.01 * error; % 简化积分项

% 限幅
duty_cycle = min(max(duty_cycle, 0.05), 0.48); 

% --- 2. 移相角计算 ---
% 在 PSFB 中,通常固定 50% 占空比,通过调节移相角来控制功率
% 这里的 phase_shift 直接对应 duty_cycle
phase_shift = duty_cycle;

% --- 3. PWM 信号生成 ---
% 使用计数器模拟 PWM (0 ~ 1 周期)
% 假设有一个全局计数器 t_counter (0 ~ 1/Ts)

% 为了代码简洁,这里使用逻辑判断生成方波
% g1, g2: 超前桥臂 (固定 50% 占空比,互补)
% g3, g4: 滞后桥臂 (相对于 g1/g2 移相)

% 注意:实际 Simulink 中建议使用 "PWM Generator (2-Level)" 模块
% 这里展示逻辑原理

g1 = 1; g2 = 0; g3 = 1; g4 = 0; % 占位符,实际需配合计数器

end

主电路状态空间平均模型 (可选,用于快速仿真)

如果你不想使用大量的 IGBT 模块导致仿真过慢,可以使用状态空间平均模型:

function dx = PSFB_Average_Model(x, u, params)
% x = [i_L; v_out] (电感电流, 输出电压)
% u = [d; i_load] (占空比, 负载电流)

i_L = x(1);
v_out = x(2);
d = u(1);

L = params.L;
C = params.C;
R = params.R_load;
n = params.n;
V_in = params.V_in;

% 状态方程
% L * di_L/dt = (dV_in/n) - v_out
% C * dv_out/dt = i_L - v_out/R

dx = zeros(2,1);
dx(1) = (2 * d * V_in / n - v_out) / L;
dx(2) = (i_L - v_out / R) / C;

end

模型搭建建议

变压器模块:
在 Simulink 中使用 Linear Transformer 模块。
设置 Winding 1 (Primary) 电阻和电感,Winding 2 (Secondary) 电阻和电感。
关键:设置 Magnetization resistance (Rm) 和 Magnetization inductance (Lm) 为较大值(模拟理想变压器)或根据实际磁芯计算。

软启动:
在仿真开始时,让占空比从 0 缓慢增加到额定值,避免巨大的冲击电流。
在这里插入图片描述

核心控制代码:移相角 (Phase-Shift) 算法

这是移相全桥最核心的部分。你需要一个逻辑来四路 PWM 信号(Q1, Q2, Q3, Q4),其中 Q1 和 Q2 互补,Q3 和 Q4 互补,且滞后桥臂相对于超前桥臂有一个移相角。

function [Q1, Q2, Q3, Q4] = fcn_phase_shift(D, fs)
% 移相全桥 PWM 生成器
% 输入:
% D: 占空比 (0~1)
% fs: 开关频率 (Hz)
% 输出:
% Q1, Q2, Q3, Q4: 四路驱动信号 (0或1)

% 计算周期
T = 1/fs;
t = mod(gclock, T); % 获取当前时间在周期内的位置

% 定义死区时间 (Dead Time),防止直通
td = 0.5e-6; % 例如 500ns

% 超前桥臂 (Q1, Q2): 互补输出
if t < D*T
Q1 = 1;
else
Q1 = 0;
end

if t < (1-D)*T
Q2 = 1;
else
Q2 = 0;
end

% 滞后桥臂 (Q3, Q4): 相对于超前桥臂移相
% 这里假设滞后桥臂的导通时刻由移相角决定
% 逻辑:滞后桥臂在超前桥臂关断后延迟一段时间导通

if t < D*T
Q3 = 0; % 滞后桥臂在超前导通期间关断
Q4 = 1;
else
% 这里简化处理,实际需要根据移相角计算
% 假设移相角为 phi,对应时间为 t_phi
% 此处用简单的互补逻辑演示
Q3 = Q2;
Q4 = Q1;
end

% — 重点:加入死区逻辑 —
% 实际应用中,通常使用 Simulink 自带的 “Dead Band” 模块
% 代码逻辑如下:
% if (当前信号上升沿)
% 延迟 td 时间输出高电平;
% if (当前信号下降沿)
% 提前 td 时间输出低电平;
% end

% 为了简单起见,这里仅展示主逻辑。
% 建议在 Simulink 中使用 “Pulse Generator” 模块配合 “Dead Band” 模块。

end

变压器与整流桥模型参数

在你的模型中,右侧是变压器和整流部分。这是 SimPowerSystems (Simscape Electrical) 的核心配置参数,你需要手动在 Simulink 模块属性中填写:

理想变压器 (Ideal Transformer)
初级电感 (Lp): 100uH (漏感)
次级电感 (Ls): 100uH / n^2 (n为匝比,假设为4,则约为 6.25uH)
互感系数 (k): 0.999 (接近理想)

输出整流二极管 (Diode)
Ron: 0.01 (导通电阻)
Lon: 0 (电感)
Vf: 0.8 (正向压降)

PID 控制器参数 (用于反馈稳压)

% MATLAB Command Window 输入以下命令可快速搭建 PID
Kp = 0.1; % 比例增益
Ki = 100; % 积分增益 (移相全桥通常需要较大积分消除静态误差)
Kd = 0; % 微分增益 (通常设为0,防止噪声放大)

% 创建 PID 模块
% 在 Simulink 库中搜索 “PID Controller” 并设置参数

搭建步骤建议

主电路:使用 MOSFET 模块搭建 H 桥,注意体二极管的方向。
驱动:使用 Pulse Generator 生成两路互补信号,一路直接驱动超前桥臂(Q1, Q2),另一路通过 Transport Delay 模块(设置为移相时间)驱动滞后桥臂(Q3, Q4)。
反馈:使用 Voltage Measurement 测量输出电压,送入 PID Controller,PID 输出控制 Pulse Generator 的占空比 D。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐