第三讲:主电路拓扑详解——单相全桥逆变器

各位同学,今天我们来啃一块硬骨头——单相全桥逆变器的拓扑结构。说实话,这玩意儿是逆变器最经典的电路之一,搞懂了它,后面三相桥、多电平拓扑你都会觉得亲切很多。

我刚开始做逆变器那会儿,总觉得全桥不就是四个管子嘛,有啥好研究的?结果第一次调试就炸了MOS管,原因就是死区时间没设对。嗯,咱们今天就把这块彻底讲透。

3.1 拓扑结构长什么样?

单相全桥逆变器,说白了就是四个开关管组成的H桥。你看这个H形状,左边两个管子是上桥臂和下桥臂,右边也是两个。中间跨接的就是负载,通常是滤波电感和电容。

我习惯把四个管子编号为Q1、Q2、Q3、Q4。Q1和Q4是一对,同时导通;Q2和Q3是另一对,同时导通。这两对交替工作,就能在负载上产生交流电压。

核心要点:全桥逆变器的本质就是通过开关管的通断组合,把直流母线电压Vdc转换成交流方波,再经过滤波得到正弦波。

你想想看,如果Q1和Q4导通,负载上得到的电压是+Vdc;换成Q2和Q3导通,电压就变成-Vdc。一正一负交替,不就是交流了吗?

3.2 工作模态分析——四个阶段

咱们把完整的一个交流周期拆开看,其实就四种工作模态。我当年在实验室用示波器一个一个抓波形,才真正理解这些模态。

模态 导通管 输出电压 电流方向
模态1 Q1、Q4 +Vdc Q1→负载→Q4
模态2 Q1、Q3(续流) 0 负载→Q3→Q1
模态3 Q2、Q3 -Vdc Q3→负载→Q2
模态4 Q2、Q4(续流) 0 负载→Q4→Q2

这里有个容易搞混的地方——续流模态。当负载是感性负载时,电流不能突变。你关断Q1和Q4后,电感里的电流还得继续流,这时候就靠体二极管或者反并联二极管来续流。

我的经验:续流路径一定要设计好。我曾经遇到过续流回路阻抗太大,导致电压尖峰把管子击穿。后来在布局时把续流回路走线加粗、缩短,问题就解决了。

3.3 死区时间——这个坑我踩过

死区时间,说白了就是上下桥臂不能同时导通。你想想,如果Q1还没完全关断,Q2就导通了,那直流母线就直接短路了——这就是传说中的“直通”故障。

为什么会这样?因为开关管不是理想的。关断需要时间,导通也需要时间。我测过一些IGBT,关断延迟可能有几百纳秒,导通延迟也有几十纳秒。如果不留死区,早晚要炸管子。

死区时间怎么设?我一般遵循这个原则:

  • 死区时间 ≥ 关断延迟 + 导通延迟 + 安全裕量
  • 对于MOSFET,死区通常设100-500ns
  • 对于IGBT,死区通常设1-3μs
  • 安全裕量建议留50%以上

警告:死区时间不是越大越好!死区太大,输出电压波形会失真,谐波含量增加,严重时电机都会抖动。我见过有人为了保险设了5μs的死区,结果电机嗡嗡响,谐波超标。

3.4 死区时间的影响——你不得不知道的事

死区时间对逆变器的影响,主要体现在三个方面:

  1. 输出电压基波幅值降低——死区期间输出电压为零,相当于有效导通时间变短了
  2. 低次谐波增加——主要是3次、5次、7次谐波,这些谐波会让电机发热
  3. 零电流钳位效应——电流过零时,死区会导致电流波形出现“台阶”

我记得有一次做并网逆变器,电网电流THD死活降不到5%以下。查了三天,最后发现是死区补偿没做好。后来加了死区补偿算法,THD直接降到3%以内。

死区补偿的核心思路:根据电流方向,在PWM信号中主动调整占空比,抵消死区造成的电压损失。电流为正时,补偿量为正;电流为负时,补偿量为负。

3.5 代码实现——死区设置示例

下面是我常用的死区设置代码,基于STM32的TIM高级定时器。你注意看,死区时间是通过寄存器直接配置的。

// 死区时间设置示例(STM32F4)
// 目标死区:500ns,定时器时钟168MHz
// 死区计算:500ns / (1/168MHz) ≈ 84个时钟周期

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;

// 死区配置
TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable;
TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable;
TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1;
TIM_BDTRInitStructure.TIM_DeadTime = 84;  // 500ns死区
TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable;
TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High;
TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable;

TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure);

调试技巧:我建议你在示波器上同时看上下桥臂的栅极驱动波形。死区时间对不对,一眼就能看出来。两个波形之间要有明显的“空隙”,那就是死区。

3.6 避坑指南——我踩过的那些雷

最后,分享几个实战中容易忽略的点:

  • 驱动芯片的传播延迟——不同驱动芯片的延迟不一样,选型时要算进去
  • 温度对开关速度的影响——温度升高,开关速度变慢,死区要留余量
  • 布局布线的影响——驱动回路走线太长,会增加延迟和振荡
  • 死区不对称——上下桥臂的死区可能不一样,要分别测量

我曾经在一个项目中,因为驱动芯片的传播延迟没算进去,导致死区时间实际只有理论值的60%。结果上电就炸了IGBT模块,一个模块好几千块,心疼得很。从那以后,我每次都会用示波器实测死区时间,绝不只看理论计算。

好了,这一讲的内容就到这里。全桥拓扑是逆变器的基础,死区时间是调试的关键。下一讲我们会聊SPWM调制策略,到时候你会看到死区时间对调制波形的具体影响。

课后思考:如果负载是纯阻性,死区时间的影响会变小吗?为什么?

公众号:蓝海资料掘金营,微信deep3321