第二节 逆变器拓扑结构:单相全桥逆变器、三相逆变器、SPWM调制原理
好,咱们今天聊聊逆变器的拓扑结构。说实话,搞电机控制这么多年,我见过不少新手一上来就盯着控制算法猛学,结果连逆变器怎么工作的都没搞明白。这不行。你想想看,逆变器就是驱动器的“心脏”,它要是跳不好,再牛的控制算法也是白搭。
这一节,我带你把单相全桥、三相逆变器,还有SPWM调制原理彻底吃透。嗯,都是实战中天天要用的东西。
一、单相全桥逆变器
先看最简单的。单相全桥,说白了就是四个开关管搭成的“H”形电路。我习惯叫它H桥,因为长得像字母H。
拓扑结构长这样:
- 四个开关管:Q1、Q2(上桥臂),Q3、Q4(下桥臂)
- 负载接在桥臂中点:A点和B点之间
- 直流母线电压:Vdc
怎么工作的呢?很简单,两种状态:
- 状态1:Q1和Q4导通,Q2和Q3关断。电流从Vdc正极→Q1→负载→Q4→Vdc负极。负载上电压为+Vdc。
- 状态2:Q2和Q3导通,Q1和Q4关断。电流从Vdc正极→Q2→负载→Q3→Vdc负极。负载上电压为-Vdc。
你看,通过交替切换这两种状态,负载上就得到了一个交流方波电压。但方波谐波太大,电机根本受不了。所以实际中我们用的是SPWM,这个后面细说。
关键点:单相全桥的输出电压幅值就是Vdc。如果你想要更高的电压,就得用三电平或者多电平拓扑了。我在做小功率伺服驱动器时,经常用单相全桥,成本低、控制简单。
我的小技巧:调试单相全桥时,先别上高压。用12V低压先验证逻辑对不对。我曾经有一次直接把母线干到310V,结果程序写反了,上下桥臂直通,砰的一声,管子炸了。嗯,从那以后我再也不敢偷懒了。
二、三相逆变器
三相逆变器,这才是工业界的绝对主力。你想想看,绝大多数交流电机都是三相的,所以三相逆变器是标配。
拓扑结构:
- 六个开关管:Q1~Q6,分成三个桥臂
- 每个桥臂有两个管子:上管和下管
- 三个桥臂中点:U、V、W,分别接电机三相绕组
- 直流母线电压:Vdc
三相逆变器怎么工作的?说白了就是三个单相半桥拼在一起。每个桥臂独立控制,输出相对于直流母线中点的电压。
基本控制逻辑:
- 每个桥臂的上管和下管互补导通,不能同时导通(否则直通短路)
- 上管导通时,该相输出为+Vdc/2(相对于母线中点)
- 下管导通时,该相输出为-Vdc/2
三相逆变器能输出8种基本电压矢量(6个非零矢量+2个零矢量)。这就是后面要讲的空间矢量调制(SVPWM)的基础。不过今天咱们先不展开,先把SPWM搞明白。
警告:三相逆变器的死区时间设置非常关键。死区时间太短,容易直通炸管子;死区时间太长,输出电压畸变严重,电机电流会抖。我一般设1~3微秒,具体看开关管的开关速度。记住,死区时间要留余量,但别太大。
三、SPWM调制原理
好,重头戏来了。SPWM,全称正弦脉宽调制。为什么要用SPWM?因为我们要让逆变器输出正弦波电压,而不是方波。
核心思想:用一系列宽度按正弦规律变化的脉冲,来等效一个正弦波。你想想看,一个正弦波可以看成是无数个窄脉冲的叠加。只要脉冲足够窄、数量足够多,滤波后就能得到光滑的正弦波。
具体怎么实现?
- 生成一个高频的三角载波(比如10kHz)
- 生成一个低频的正弦调制波(比如50Hz)
- 比较两者:调制波 > 载波时,输出高电平;调制波 < 载波时,输出低电平
- 这样比较出来的脉冲序列,就是SPWM波
你看,原理其实不复杂。但实际做起来,有几个坑要注意。
调制度(Modulation Index):定义为调制波幅值与载波幅值的比值。调制度最大为1。超过1就进入过调制区,输出电压会失真。我一般把调制度控制在0.9以内,留点余量。
单相SPWM的代码示例(伪代码):
// 单相SPWM生成
// 载波频率: 10kHz, 调制波频率: 50Hz
// 三角载波幅值: 1.0, 正弦调制波幅值: 0.8
float carrier = 0.0; // 载波值
float step = 0.002; // 载波步长 (根据频率计算)
float sin_ref = 0.0; // 正弦参考值
float angle = 0.0; // 角度
while(1) {
// 生成三角载波
carrier += step;
if(carrier > 1.0) {
carrier = 2.0 - carrier; // 下降沿
step = -step;
}
if(carrier < 0.0) {
carrier = -carrier; // 上升沿
step = -step;
}
// 生成正弦调制波
sin_ref = 0.8 * sin(angle);
angle += 0.0001; // 50Hz对应的角度增量
// 比较输出
if(sin_ref > carrier) {
Q1_ON; Q4_ON; // 输出正电压
Q2_OFF; Q3_OFF;
} else {
Q1_OFF; Q4_OFF; // 输出负电压
Q2_ON; Q3_ON;
}
}
避坑指南:我曾经在项目里直接用浮点数做SPWM计算,结果发现CPU负载太高,载波频率上不去。后来改用查表法,把正弦值预先算好存到数组里,运行时就查表加插值,速度快多了。嗯,嵌入式开发里,能查表就别实时算。
三相SPWM:三相SPWM其实就是三个单相SPWM拼在一起。三个调制波相位互差120°,共用同一个三角载波。这样每个桥臂独立生成SPWM波,三相输出就平衡了。
但三相SPWM有个问题:直流母线电压利用率不高。理论上最大输出相电压幅值只有Vdc/2。所以后来才有了SVPWM,能把电压利用率提升到Vdc/√3。这个咱们后面章节再细聊。
总结一下:
- 单相全桥:四个管子,输出±Vdc,适合小功率
- 三相逆变器:六个管子,输出三相交流,工业主流
- SPWM:三角载波+正弦调制波,简单可靠,但电压利用率低
好了,这一节就到这里。下一节咱们聊聊SVPWM,那个更有意思。记住,理论要懂,但动手调才是真本事。回去找个开发板,写个SPWM程序,看看示波器上的波形,比看十遍书都管用。