3、三相逆变器拓扑:6个开关管的8种开关状态,基本电压矢量
好,咱们进入正题。SVPWM 这东西,说白了就是控制六个开关管,让电机转起来。你想想看,六个开关管,每个只有“开”和“关”两种状态,那总共能组合出多少种状态?没错,23 = 8 种。这 8 种状态,就是 SVPWM 的根基。
我刚开始学 FOC 的时候,总觉得这 8 种状态很抽象。后来在调试一个 2kW 的伺服驱动器时,有一次 IGBT 模块炸了,我拿着示波器去量驱动波形,才真正把这张拓扑图和实际波形对应起来。嗯,纸上得来终觉浅啊。
3.1 三相逆变器拓扑结构
先看这张经典的拓扑图。左边是直流母线,电压是 Vdc。右边是三相输出,分别接电机的 U、V、W 三相。中间是六个开关管,我习惯叫它们 Q1~Q6。
- 上桥臂:Q1、Q3、Q5
- 下桥臂:Q2、Q4、Q6
这里有个铁律:同一相的上下桥臂不能同时导通。为什么?因为一旦同时导通,直流母线就直接短路了,电流会瞬间飙升,管子必炸。我在实验室亲眼见过一次,那声音,跟放鞭炮似的。
为了方便分析,我们给每个开关管定义一个开关函数。比如 U 相,上管导通、下管关断,我们就记作 Su = 1;反之,上管关断、下管导通,记作 Su = 0。V 相和 W 相同理。
这样,三个开关函数 (Su, Sv, Sw) 就能唯一确定逆变器的状态。
3.2 8种开关状态
三个二进制位,能表示 0~7 这 8 个数。对应到逆变器,就是 8 种开关状态。我习惯把它们列成一张表,一目了然。
| 状态编号 | Su | Sv | Sw | 矢量符号 | 说明 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | V0 (000) | 零矢量,下桥臂全通 |
| 1 | 0 | 0 | 1 | V1 (001) | 有效矢量 |
| 2 | 0 | 1 | 0 | V2 (010) | 有效矢量 |
| 3 | 0 | 1 | 1 | V3 (011) | 有效矢量 |
| 4 | 1 | 0 | 0 | V4 (100) | 有效矢量 |
| 5 | 1 | 0 | 1 | V5 (101) | 有效矢量 |
| 6 | 1 | 1 | 0 | V6 (110) | 有效矢量 |
| 7 | 1 | 1 | 1 | V7 (111) | 零矢量,上桥臂全通 |
注意看,状态 0 和状态 7 都是零矢量。区别在于:V0 是下桥臂三个管子全通,电机三相直接短路到地;V7 是上桥臂全通,三相短路到母线正极。这两种状态都不会在电机上产生电压差,所以叫“零矢量”。
3.3 基本电压矢量
这 8 种状态,对应到电机端子上,会产生什么样的电压呢?我们需要把开关状态映射到 α-β 坐标系上。
假设电机是星形连接,中性点电压为 Vn。那么 U 相端电压 Vu 就是:
V_u = S_u * V_dc - V_n
V_v = S_v * V_dc - V_n
V_w = S_w * V_dc - V_n
经过 Clark 变换(这个后面章节会细讲),我们可以得到每个状态对应的 α-β 轴电压分量。结果就是下面这张经典的矢量图。
下面这张 SVG 图,把 8 个矢量的空间分布画出来了。我建议你盯着它看几分钟,把每个矢量的位置和对应的开关状态记熟。这是 SVPWM 的“地图”,后面所有扇区判断、作用时间计算,都离不开它。
你看这张图,6 个有效矢量把整个平面分成了 6 个扇区,每个扇区 60°。这就是 SVPWM 的核心思想:用相邻的两个有效矢量,加上零矢量,来合成任意方向、任意大小的目标电压矢量。
举个例子,如果我想合成一个位于扇区Ⅰ的矢量,那就用 V4 (100) 和 V6 (110) 这两个相邻矢量,再配合零矢量 V0 或 V7,通过控制它们的作用时间比例,就能“拼”出目标矢量。
3.4 从开关状态到实际波形
理论讲完了,咱们看看实际波形长什么样。我拿一个简单的例子:假设我们想让电机输出一个在扇区Ⅰ的电压矢量。
在一个 PWM 周期内,开关管的导通顺序可能是这样的:
- 先打 V0 (000):下桥臂全通,电机三相短路。
- 然后打 V4 (100):U 相上管通,V、W 下管通。
- 再打 V6 (110):U、V 上管通,W 下管通。
- 最后打 V7 (111):上桥臂全通,电机三相短路到母线正极。
- 然后反向回去:V6 → V4 → V0。
这种“中心对称”的序列,能有效降低谐波。我早期做项目时,为了省事,用过非对称序列,结果电流波形明显变差,电机噪音也大了不少。后来老老实实改回对称序列,问题就解决了。