2. 三相逆变器拓扑结构:三相全桥逆变器电路、开关状态与电压矢量、基本电压矢量定义
好,咱们正式开始聊 SVPWM 的核心硬件基础——三相逆变器拓扑。
说实话,我刚开始接触电机控制那会儿,总觉得 SVPWM 是纯软件算法,跟硬件关系不大。后来调试一台 7.5kW 的伺服驱动器,发现输出波形总是不对,查了三天才发现是逆变器死区时间设置跟开关状态配合出了问题。嗯,从那以后我明白了——不懂拓扑结构,SVPWM 就是空中楼阁。
2.1 三相全桥逆变器电路
先看最基本的电路结构。三相全桥逆变器,说白了就是六个开关管搭成三个桥臂。
核心结构:六个开关器件(IGBT/MOSFET)分成三组,每组两个管子串联,组成一个桥臂。三个桥臂并联在直流母线上,中点引出三相输出。
我习惯把每个桥臂的上管叫 Q1/Q3/Q5,下管叫 Q2/Q4/Q6。你想想看,这六个管子一共就两种状态——要么导通,要么关断。而且同一桥臂的上下管绝对不能同时导通,否则直流母线直接短路,炸管子是分分钟的事。
这里有个关键点:每个桥臂的输出电压只取决于上下管的开关状态。上管导通时,输出端接到直流母线正极(P),电压为 Vdc/2;下管导通时,输出端接到直流母线负极(N),电压为 -Vdc/2。
个人经验:实际项目中,我建议在上下管之间加硬件互锁电路,光靠软件延时不够保险。有一次我在实验室测试,死区时间设短了 0.5μs,上管还没完全关断下管就导通了,瞬间冒烟。从那以后,我所有设计都加硬件互锁。
2.2 开关状态与电压矢量
六个开关管,每个桥臂两种状态,总共 2³ = 8 种组合。这就是 SVPWM 的开关状态基础。
我习惯用三个二进制位来表示开关状态:[Sa, Sb, Sc]。每个位对应一个桥臂,1 表示上管导通、下管关断,0 表示上管关断、下管导通。
| 开关状态 | Sa | Sb | Sc | 输出相电压 (Va, Vb, Vc) |
|---|---|---|---|---|
| V0 | 0 | 0 | 0 | (-Vdc/2, -Vdc/2, -Vdc/2) |
| V1 | 1 | 0 | 0 | (Vdc/2, -Vdc/2, -Vdc/2) |
| V2 | 1 | 1 | 0 | (Vdc/2, Vdc/2, -Vdc/2) |
| V3 | 0 | 1 | 0 | (-Vdc/2, Vdc/2, -Vdc/2) |
| V4 | 0 | 1 | 1 | (-Vdc/2, Vdc/2, Vdc/2) |
| V5 | 0 | 0 | 1 | (-Vdc/2, -Vdc/2, Vdc/2) |
| V6 | 1 | 0 | 1 | (Vdc/2, -Vdc/2, Vdc/2) |
| V7 | 1 | 1 | 1 | (Vdc/2, Vdc/2, Vdc/2) |
这 8 种状态里,V0 和 V7 比较特殊——三相输出全部接到同一电位,电机绕组两端电压为零。我们叫它们零矢量。剩下的 V1~V6 是非零矢量,每个矢量对应一个特定的空间方向。
注意:V0 和 V7 虽然都是零矢量,但开关损耗不同。V0 是三个下管导通,V7 是三个上管导通。我在做低功耗设计时,会尽量选择切换次数少的零矢量来减少开关损耗。
2.3 基本电压矢量定义
现在我们把三相电压转换到 αβ 坐标系下。为什么要转?因为三相系统在空间上相差 120°,用 αβ 坐标系可以更直观地看到电压矢量的空间分布。
Clark 变换公式很简单:
Vα = Va - 0.5 * Vb - 0.5 * Vc
Vβ = (√3/2) * (Vb - Vc)
把上面 8 种状态代入,你会得到 6 个非零矢量和 2 个零矢量在 αβ 平面上的坐标。我直接给结果:
| 矢量 | Vα | Vβ | 幅值 | 角度 |
|---|---|---|---|---|
| V1 (100) | 2/3 Vdc | 0 | 2/3 Vdc | 0° |
| V2 (110) | 1/3 Vdc | √3/3 Vdc | 2/3 Vdc | 60° |
| V3 (010) | -1/3 Vdc | √3/3 Vdc | 2/3 Vdc | 120° |
| V4 (011) | -2/3 Vdc | 0 | 2/3 Vdc | 180° |
| V5 (001) | -1/3 Vdc | -√3/3 Vdc | 2/3 Vdc | 240° |
| V6 (101) | 1/3 Vdc | -√3/3 Vdc | 2/3 Vdc | 300° |
| V0 (000) | 0 | 0 | 0 | — |
| V7 (111) | 0 | 0 | 0 | — |
看到规律了吗?6 个非零矢量幅值相等,都是 2/3 Vdc,角度依次相差 60°,正好把 360° 平面分成 6 个扇区。这就是 SVPWM 的空间矢量图。
这张图就是 SVPWM 的灵魂。你想想看,我们想要合成任意方向、任意大小的电压矢量,但手里只有 6 个固定方向的矢量可用。怎么办?
答案就是矢量合成——用相邻的两个非零矢量和零矢量,通过时间加权平均,合成出目标矢量。这就是下一章要讲的核心内容。
关键结论:
- 三相全桥逆变器有 8 种开关状态,对应 6 个非零矢量和 2 个零矢量
- 6 个非零矢量在 αβ 平面上均匀分布,幅值均为 2/3 Vdc
- 零矢量幅值为零,用于调节合成矢量的幅值
- 任意目标电压矢量都可以由相邻两个非零矢量和零矢量合成
我个人觉得,理解这张矢量图比背公式重要得多。公式忘了可以查,但空间矢量合成的直觉一旦建立,后面所有内容都会变得很自然。
避坑指南:我曾经在调试时发现输出波形有畸变,查了半天发现是扇区判断写错了。V1 的角度是 0° 还是 60°?不同教材定义不一样。我建议统一用 V1(100) 对应 0°,V2(110) 对应 60°,这样顺时针转下去。一旦定下来就别改,否则代码里到处是坑。