第四节:DC-AC逆变电路设计
全桥逆变拓扑、SPWM调制、死区时间设置——这三个东西,说白了就是逆变器的灵魂。我做了这么多年光伏逆变器,每次新人问我该从哪入手,我都会说:先把这三样吃透。
今天咱们就掰开揉碎了聊。我会结合自己踩过的坑,把每个关键点都讲清楚。
4.1 全桥逆变拓扑:为什么是它?
先看拓扑结构。全桥逆变器由四个开关管(Q1~Q4)组成,负载接在两个桥臂中点之间。你想想看,这其实就是两个半桥拼在一起。
核心优势:同样的直流母线电压下,全桥输出的交流电压幅值可以做到半桥的两倍。这意味着什么?意味着在相同功率等级下,你可以用更低的母线电压,或者用更小的电流。
我当年做第一版3kW单相逆变器时,就吃过拓扑选型的亏。一开始用了半桥,结果发现母线电压要抬到800V才能满足输出要求,电容选型、绝缘设计都变得很棘手。后来换成全桥,母线降到400V,问题迎刃而解。
全桥的工作模式其实就四种:
- 模式1(正半周):Q1、Q4导通,Q2、Q3关断。电流从母线正极→Q1→负载→Q4→母线负极。
- 模式2(负半周):Q2、Q3导通,Q1、Q4关断。电流方向反过来。
- 模式3(续流1):Q1、Q3导通,或通过体二极管续流。
- 模式4(续流2):Q2、Q4导通,或通过体二极管续流。
这里有个关键点:绝对不能出现同一桥臂上下管同时导通的情况。否则就是直通短路,管子瞬间炸掉。嗯,这个我后面讲死区时会细说。
4.2 SPWM原理:正弦波是怎么"拼"出来的?
SPWM,全称是Sinusoidal Pulse Width Modulation。说白了,就是用一系列宽度变化的脉冲,去"模拟"一个正弦波。
怎么实现的?拿一个高频三角波(载波)去跟一个低频正弦波(调制波)比较。三角波频率一般取10kHz~20kHz,正弦波就是50Hz或60Hz。
- 当正弦波 > 三角波时,输出高电平
- 当正弦波 < 三角波时,输出低电平
这样比较下来,输出的脉冲宽度就会按照正弦规律变化——中间宽、两边窄。经过LC滤波器后,就能还原出光滑的正弦波。
我的经验:调制比(正弦波幅值/三角波幅值)一般控制在0.8~0.95之间。太高了容易过调制,输出波形会失真;太低了母线利用率又不够。我习惯留5%~10%的余量。
SPWM有两种常见实现方式:
| 方式 | 特点 | 适用场景 |
|---|---|---|
| 单极性SPWM | 正半周只切换上桥臂,负半周只切换下桥臂 | 小功率、对EMI要求高的场合 |
| 双极性SPWM | 四个管子都在高频切换 | 大功率、动态响应要求高的场合 |
我个人更偏爱单极性SPWM。为什么?因为它的开关损耗小,而且输出谐波含量更低。但要注意,单极性SPWM在过零点附近会有"交越失真",需要额外处理。
下面是我用C语言写的一个SPWM生成核心代码片段,实际项目中可以直接移植:
// SPWM生成函数
// 输入:调制比m(0~1),载波周期Tsw,正弦波角度theta
// 输出:占空比duty(0~1)
float calc_spwm_duty(float m, float theta)
{
float duty;
// 正弦调制波
float sin_wave = m * sin(theta);
// 单极性SPWM:占空比在0~1之间线性映射
duty = 0.5f + 0.5f * sin_wave;
// 限幅保护
if(duty > 0.95f) duty = 0.95f;
if(duty < 0.05f) duty = 0.05f;
return duty;
}
4.3 死区时间设置:一个不能省的"安全间隙"
死区时间,英文叫Dead Time。它是什么?就是同一桥臂上下管切换时,故意插入的一段"两个管子都关断"的时间。
为什么要这么做?
你想想看,开关管从导通到关断需要时间,从关断到导通也需要时间。如果上管刚发关断信号、下管立马发导通信号,很可能上管还没完全关断、下管就已经开始导通了——这就是直通,瞬间短路。
血的教训:我曾经在一次样机调试中,为了追求效率把死区时间从500ns压到了200ns。结果上电不到3秒,IGBT模块直接炸了,PCB板都熏黑了。后来查原因,就是驱动芯片的传播延迟不一致,导致实际死区比设置值还小。
死区时间怎么设?我一般按这个流程来:
- 查器件手册:看开关管的关断延迟时间(t_off)和开通延迟时间(t_on)
- 算最小值:死区 ≥ t_off(max) - t_on(min) + 安全余量
- 加裕量:考虑驱动芯片延迟、温度漂移,再加50%~100%
举个例子,我常用的IGBT模块(比如英飞凌的IKW40N120T2),关断延迟典型值约300ns,开通延迟约50ns。那么:
- 理论最小值:300 - 50 = 250ns
- 加上驱动延迟(约100ns):250 + 100 = 350ns
- 再加50%裕量:350 × 1.5 ≈ 525ns
所以我一般设到500ns~1μs之间。MOSFET可以设小一点,IGBT建议设大一点。
避坑指南:我曾经遇到过一个问题——死区设对了,但输出波形在过零点附近有明显畸变。后来发现是死区补偿没做。简单说,就是根据电流方向,在死区期间适当调整占空比,补偿死区造成的电压损失。这个在单极性SPWM中尤其重要。
4.4 知识体系总览
下面这张图是我自己整理的DC-AC逆变电路设计知识框架,你可以把它当作学习路线图:
这张图把三个核心知识点串起来了。你注意看底部的关联说明——拓扑、调制、死区这三者不是孤立的,它们互相影响。比如你选了单极性SPWM,死区补偿就必须做;你选了IGBT,死区就得设大一点。
好了,这一节的内容就到这。全桥拓扑的结构、SPWM的生成逻辑、死区时间的设置方法,这三个点你只要吃透了,DC-AC逆变电路设计就算入门了。剩下的就是多动手、多调试,慢慢积累经验。