目录
⚖️ 一、 核心差异速览表
🛠️ 二、 详细建模步骤
第一步:搭建主电路拓扑
第二步:设计双向 SPWM 控制器
📊 三、 仿真场景与结果分析
场景 1:电压利用率对比(开环)
场景 2:双向功率流动(闭环)
场景 3:谐波与波形质量
💡 四、 进阶分析:中点电位平衡
⚠️ 五、 避坑指南
这是一份基于 Simulink 的单相全桥与半桥双向 DC/AC 逆变器对比仿真实战教程。
在储能变流器(PCS)、不间断电源(UPS)和光伏逆变器设计中,选择**全桥(Full-Bridge)还是半桥(Half-Bridge)**是第一步。虽然两者都能实现 DC/AC 变换,但在电压利用率、器件数量和控制逻辑上有着本质区别。
本教程将带你搭建两套并行的仿真模型,通过“控制变量法”直观地展示两者的差异,并重点解析双向功率流动的实现细节。
⚖️ 一、 核心差异速览表
在开始仿真前,我们需要明确理论上的对比基准:
| 比较维度 | 单相半桥逆变器 | 单相全桥逆变器 |
|---|---|---|
| 开关管数量 | 2 个 | 4 个 |
| 直流侧结构 | 需要两个大容量串联电容分压 | 只需要一个直流源或电容 |
| 输出电压峰值 | ||
| 电压利用率 | 低 (50%) | 高 (100%) |
| 中点电位 | 存在中点漂移风险 | 无中点问题 |
| 适用场景 | 低成本、小功率应用 | 高性能、大功率应用 |
🛠️ 二、 详细建模步骤
为了公平对比,我们将两个拓扑放在同一个 Simulink 模型中,使用相同的电网参数和控制器。
第一步:搭建主电路拓扑
1. 公共部分:交流侧与滤波器
- 电网/负载:放置一个
AC Voltage Source(代表电网) 或Series RLC Load。 - 滤波器:由于半桥输出谐波较大,必须接 L 型或 LC 型滤波器。
- 电感 $L$:2mH。
- 注意:为了对比,全桥和半桥共用这一套滤波器和负载(通过切换开关),或者分别接完全相同的滤波器。建议分别搭建以便同时观察波形。
2. 半桥拓扑 (Half-Bridge)
- 直流侧:使用两个串联的大电容(
Capacitor)。- 参数:例如各2200uF。
- 关键点:这两个电容不仅滤波,还负责将直流母线电压一分为二,提供中点参考。
- 桥臂:使用
Universal Bridge模块,设置 Number of arms 为1(即单相半桥),或者用两个IGBT/Diode模块手动搭建。 - 连接:交流输出端接在两个开关管的中点。
3. 全桥拓扑 (Full-Bridge)
- 直流侧:使用一个直流电压源 (
DC Voltage Source) 或一个大电容。- 参数:400V(假设值)。
- 桥臂:使用
Universal Bridge模块,设置 Number of arms 为2。 - 连接:交流输出接在两个桥臂的中点之间。
⚠️ 关键参数设置:
为了保证输出电压相同(例如都输出 220V AC):
- 全桥直流电压:设为400V。
- 半桥直流电压:总电压需为800V(即两个 400V 电容串联),因为半桥输出最大只有 $V_{dc_total} / 2$。
- 或者:保持直流源均为 400V,观察半桥输出电压为何只有全桥的一半(验证电压利用率)。
第二步:设计双向 SPWM 控制器
双向控制的核心在于电流环。通过控制电流与电压的相位关系来决定能量流向。
Simulink 模块搭建:
- 锁相环:
- 检测电网电压相位 $\theta = \omega t$。
- 调制波生成:
- 使用
Sine Wave模块作为调制波。
- 使用
- PWM 生成:
- 全桥:通常采用双极性调制。
- 调制波 $V_{ref} = A_m \cdot \sin(\omega t)$。
- 载波:三角波。
- 比较逻辑:直接比较生成 PWM。
- 半桥:
- 逻辑与全桥类似,但要注意上下管互补导通,且必须加入死区时间防止直通。
- 全桥:通常采用双极性调制。
MATLAB Function 代码 (bidirectional_control.m):
用于计算调制波幅值(模拟 PI 控制器输出)。
function [mod_wave] = control_logic(v_ref, v_meas, i_meas, direction) %#codegen % v_ref: 目标电压/电流指令 % v_meas: 实际测量值 % i_meas: 电网电流 % direction: 1 (逆变), -1 (整流) % 简单的比例控制示例 float error = v_ref - v_meas; float kp = 0.1; % 基础调制波 float base_mod = kp * error; // 方向控制: // 逆变时,电流与电压同相 // 整流时,电流与电压反相 (乘以 -1) float final_mod = base_mod * direction; // 限幅 (防止过调制) if (final_mod > 1.0) final_mod = 1.0; end if (final_mod < -1.0) final_mod = -1.0; end mod_wave = final_mod; end📊 三、 仿真场景与结果分析
设置仿真时间0.2s,直流侧电压均设为400V(对于半桥,指总电压)。
场景 1:电压利用率对比(开环)
- 操作:给定相同的调制比(例如 0.8)。
- 现象:
- 全桥输出:交流电压峰值约为 $0.8 \times 400V = 320V$。
- 半桥输出:交流电压峰值约为 $0.8 \times (400V / 2) = 160V$。
- 结论:全桥的电压利用率是半桥的2倍。如果要输出同样的电压,半桥需要高一倍的直流母线电压。
场景 2:双向功率流动(闭环)
- 0 ~ 0.1s (逆变模式):
- 设置控制方向为 +1。
- 波形特征:网侧电压与电流同相位。
- 物理意义:能量从直流侧流向交流侧(放电)。
- 0.1s ~ 0.2s (整流模式):
- 设置控制方向为 -1(或将电流参考值设为负)。
- 波形特征:网侧电压与电流反相位(相差 180°)。
- 物理意义:能量从交流侧流向直流侧(充电)。
场景 3:谐波与波形质量
- 观察对象:逆变器输出端的 PWM 波形(滤波前)。
- 全桥:电平跳变为 $+V_{dc} \to -V_{dc}$,摆幅大,等效谐波次数较低。
- 半桥:电平跳变为 $+V_{dc}/2 \to -V_{dc}/2$,且受中点电容电压波动影响,波形对称性略差。
💡 四、 进阶分析:中点电位平衡
这是半桥拓扑最大的痛点。
原理:
半桥的两个串联电容充当了“虚拟中性点”。如果负载不对称或控制不当,流过中点的平均电流不为零,会导致一个电容充电,另一个放电。
Simulink 验证方法:
- 在半桥直流侧电容上并联一个不平衡电阻(模拟漏电)。
- 结果:你会发现 $V_{c1} \neq V_{c2}$,导致输出电压出现直流偏置,甚至损坏开关管。
- 对策:全桥拓扑天然不存在这个问题,这也是全桥在大功率应用中更受欢迎的原因。
⚠️ 五、 避坑指南
- 直通短路:
- 无论是半桥还是全桥,同一桥臂的上下管绝对不能同时导通。
- 对策:在 Simulink 中,如果使用理想开关模型,务必在 PWM 信号中加入Dead Time (死区)模块,或者在 IGBT 模块参数中设置缓冲电路。
- 直流侧电容取值:
- 半桥对电容要求极高。电容太小会导致中点电压剧烈波动(纹波大)。
- 建议:半桥仿真的电容值至少设为全桥的2-4倍。
- 求解器选择:
- 必须使用
ode23tb (stiff/TR-BDF2)。电力电子系统是刚性系统,使用默认求解器会导致仿真极慢或报错。
- 必须使用
- 接地问题:
- Simscape 电路必须有接地。
- 注意:全桥和半桥的接地点位置不同,不要混淆,否则会造成短路。
通过这套对比仿真,你可以直观地看到:虽然半桥节省了 2 个开关管,但牺牲了电压利用率,引入了中点平衡难题,并对电容提出了更高要求。在实际工程中,除非成本极其敏感,否则全桥(或其衍生拓扑如 T 型三电平)通常是更好的选择。