第四节: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板都熏黑了。后来查原因,就是驱动芯片的传播延迟不一致,导致实际死区比设置值还小。

死区时间怎么设?我一般按这个流程来:

  1. 查器件手册:看开关管的关断延迟时间(t_off)和开通延迟时间(t_on)
  2. 算最小值:死区 ≥ t_off(max) - t_on(min) + 安全余量
  3. 加裕量:考虑驱动芯片延迟、温度漂移,再加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逆变电路设计知识框架,你可以把它当作学习路线图:

DC-AC逆变电路设计知识体系 全桥逆变拓扑 • 四个开关管结构 • 四种工作模式 • 半桥 vs 全桥对比 • 母线电压利用率 • 直通短路风险 SPWM调制原理 • 载波 vs 调制波 • 单极性 vs 双极性 • 调制比选择 • 谐波分析 • 代码实现 死区时间设置 • 死区产生原因 • 计算方法 • 裕量设计 • 死区补偿 • 实测验证 三者之间的关联 • 全桥拓扑决定了SPWM的调制方式(单极性/双极性) • SPWM的开关频率直接影响死区时间的设置裕量 • 死区时间过大会导致SPWM输出波形畸变,需要补偿算法 设计要点总结 拓扑选型 → 调制策略 → 死区计算 → 补偿优化 → 实验验证(这是一个迭代过程,每个环节都可能回退调整)

这张图把三个核心知识点串起来了。你注意看底部的关联说明——拓扑、调制、死区这三者不是孤立的,它们互相影响。比如你选了单极性SPWM,死区补偿就必须做;你选了IGBT,死区就得设大一点。

好了,这一节的内容就到这。全桥拓扑的结构、SPWM的生成逻辑、死区时间的设置方法,这三个点你只要吃透了,DC-AC逆变电路设计就算入门了。剩下的就是多动手、多调试,慢慢积累经验。