基于MATLAB的恒流控制移相全桥DC-DC变换器仿真系统
1. 项目介绍
本项目是一个基于MATLAB原生代码(无Simulink图形化界面依赖)实现的移相全桥(PSFB)DC-DC变换器仿真系统。该系统通过离散数值积分方法,建立了包含主电路拓扑、高频变压器漏感模型、副边整流滤波以及数字PI控制器的完整数学模型。
项目的核心目标是模拟和验证移相全桥变换器在恒流控制(Constant Current Control)模式下的运行特性,特别是重点实现了由变压器漏感引起的占空比丢失(Duty Cycle Loss)效应的物理建模,能够精确反映变换器在启动及负载突变情况下的动态响应。
2. 功能特性
- 纯代码物理建模:不依赖Simulink工具箱,仅使用MATLAB脚本实现电力电子系统的离散状态空间仿真,仿真步长可达10ns级,精确捕捉开关瞬态。
- 高精度PSFB拓扑仿真:
* 实现了超前臂(Lead Leg)和滞后臂(Lag Leg)的移相全桥逻辑。
*
关键特性:引入了谐振/漏感($L_r$)参数,并在微分方程求解中包含了漏感电流对副边电压建立的影响,从而精确模拟了PSFB特有的“占空比丢失”现象。
* 实现了基于离散时间的数字PI控制器。
* 包含输出限幅(0 ~ 0.45移相角)及积分抗饱和(Anti-windup)机制。
* 控制频率与开关频率同步(100kHz),模拟真实的DSP/MCU数字控制时序。
* 内置负载突变逻辑(3ms时刻),模拟从轻载(半载)切换至满载的工况,用于验证恒流控制算法的鲁棒性。
* 记录了变压器原边电压/电流、整流后电压、输出滤波后电压/电流、移相角及驱动波形,为ZVS(零电压软开关)特性分析提供数据支撑。
3. 实现细节与算法分析
该仿真系统完全集中在 main.m 脚本中,主要由参数配置、仿真引擎 run_simulation 和绘图功能 plot_results 组成。
3.1 主电路拓扑物理模型 (run_simulation 函数)
仿真引擎使用欧拉法(或类似的离散步进法)求解电路微分方程,核心逻辑如下:
* 根据归一化时间生成PWM波。超前臂 Q1/Q2 固定50%占空比;滞后臂 Q3/Q4 根据控制器计算的
phase_shift_ratio 进行相移。
* 计算原边H桥输出电压 $V_{ab}$($+V_{in}, 0, -V_{in}$)。
*
方程:$L_r cdot frac{di_{Lr}}{dt} = V_{ab} - V_{sec_reflected}$
*
反射电压逻辑:代码中通过判断原边电流 $i_{Lr}$ 的方向和大小,确定的副边反射电压。这模拟了整流二极管的导通与截止特性。
*
谐振电感作用:$L_r$ 的存在使得原边电流不能突变,这是实现ZVS和导致副边占空比丢失的物理基础。
*
占空比丢失模拟:代码中包含了一个关键判断
if abs(i_Lr) < (i_Lf_reflected * 0.95)。当原边电流尚未达到折算后的滤波电感电流时,认为处于换流阶段,副边二极管全部导通续流,变压器实际上未向负载传输能量(即整流输出电压 $v_{filter_in}$ 被钳位为0)。这是PSFB最显著的非理想特性,本项目对此进行了精确建模。
*
输出滤波:建立 $L_f$ 和 $C_f$ 的标准状态方程,求解输出电流 $i_{Lf}$ 和输出电压 $V_{Cf}$。
3.2 数字恒流控制策略
控制器模拟了实际微控制器(MCU/DSP)的中断运行机制:
- 采样与执行:仅在每个开关周期的开始时刻(检测
dt_sw)执行一次控制算法,而非每个仿真步长都执行。 - PI算法:
*
误差计算:$Error = I_{ref} - I_{measure}$(恒流模式)。
*
积分器:累加误差,并实施上下限限幅(防止积分饱和导致系统超调过大)。
*
输出计算:$Phase = K_p cdot Error + K_i cdot Integral$。
- 移相调制:计算出的移相角直接控制滞后臂相对于超前臂的导通延迟时间。
3.3 系统参数
- 输入电压:400V DC
- 目标恒流:20A
- 开关频率:100kHz
- 变压器匝比:5:1
- 关键元件:谐振电感 $20mu H$,输出滤波电感 $100mu H$,输出电容 $470mu F$。
4. 系统要求
- 软件版本:MATLAB R2016a 或更高版本。
- 工具箱:无特殊工具箱需求,仅需基础MATLAB环境。
5. 使用方法
- 确保MATLAB当前工作路径包含
main.m 文件。 - 直接运行
main.m 脚本。 - 运行过程:
* 脚本将清除工作区并初始化系统参数。
* 调用
run_simulation 进行时长为 6ms 的瞬态仿真。
* 仿真包含两个阶段:0-3ms 为启动及轻载阶段,3-6ms 为额定负载阶段。
- 结果查看:
* 仿真结束后将自动生成波形窗口(注:根据源码逻辑,将绘制包含原边电压/电流、副边电压、输出电压/电流等关键波形的图表)。
* 用户可直接访问工作区结构体变量
Data,其中包含了所有仿真步长的时间序列数据,方便进行后续处理或自定义绘图。