4. SVPWM原理(上):空间电压矢量概念、6扇区划分、基本电压矢量与零矢量
好,咱们进入SVPWM的世界。说实话,很多初学者一看到SVPWM就头大,觉得公式多、推导复杂。但我想告诉你的是——SVPWM本质上就是一套“如何用开关管拼出任意方向电压”的规则。我当年刚接触FOC时,也是被各种矢量图绕晕了,后来自己动手在示波器上抓波形,才真正搞明白。
这一节我们先打地基。把空间电压矢量、扇区划分、基本矢量和零矢量这几个概念吃透。后面再讲合成和切换时间,你就不会觉得难了。
4.1 从“三相静止”到“空间旋转”
先想一个问题:电机绕组里通的是三相正弦电流,对吧?那这三相电流在空间上会产生什么?
答案是——一个旋转的合成磁动势。
我们之前讲Clark变换时,把三相电流投影到了αβ坐标系。其实电压也一样。三相逆变器的六个开关管,能产生8种开关状态。每种状态对应一组三相电压。把这组电压通过Clark变换,就能得到一个在αβ平面上的矢量。
这个矢量,就是空间电压矢量。
我个人的理解是:你把它想象成一个“箭头”,箭头的方向代表合成电压的方向,箭头的长度代表电压幅值。FOC要做的,就是让这个箭头始终指向我们想要的方向——也就是转子磁场的方向。
核心概念:空间电压矢量 = 三相逆变器开关状态在αβ平面上的映射。它是一个旋转的、幅值可调的矢量。
4.2 六扇区划分——把360°切成6块
为什么是6个扇区?因为三相逆变器只有6个有效开关状态(后面会讲)。这6个状态在αβ平面上刚好把360°均匀分成6份,每份60°。
扇区划分的规则很简单:
- 扇区I:0° ~ 60°
- 扇区II:60° ~ 120°
- 扇区III:120° ~ 180°
- 扇区IV:180° ~ 240°
- 扇区V:240° ~ 300°
- 扇区VI:300° ~ 360°
你想想看,我们通过电流环算出了目标电压矢量Uref,它有一个角度θ。这个θ落在哪个扇区,我们就用这个扇区相邻的两个基本矢量去合成它。
我在项目中遇到过一个问题:角度刚好落在扇区边界上怎么办?比如正好60°。我的做法是——归到下一个扇区。因为边界上的计算容易产生数值抖动,稍微偏一点就会来回切换扇区,导致电流波形毛刺。统一归到下一个扇区,能避免这个问题。
避坑指南:扇区判断不要用atan2直接算角度再查表,效率低。实际工程中常用Uα和Uβ的符号组合来判断。比如Uβ > 0且Uα > 0且Uβ/Uα < √3,就是扇区I。这样全是比较运算,没有三角函数,快得多。
4.3 基本电压矢量——那6个“固定方向”的箭头
三相逆变器有6个开关管:上管Q1、Q3、Q5,下管Q2、Q4、Q6。同一桥臂上下管不能同时导通。所以每个桥臂只有两种状态:上管通(记为1)或下管通(记为0)。
三个桥臂组合起来,一共2³ = 8种状态。其中6种是有效矢量,2种是零矢量。
这6个有效矢量分别是:
| 矢量编号 | 开关状态 (A B C) | α轴分量 | β轴分量 | 幅值 |
|---|---|---|---|---|
| U1 (100) | Q1通, Q4通, Q6通 | 2/3 Vdc | 0 | 2/3 Vdc |
| U2 (110) | Q1通, Q3通, Q6通 | 1/3 Vdc | 1/√3 Vdc | 2/3 Vdc |
| U3 (010) | Q2通, Q3通, Q6通 | -1/3 Vdc | 1/√3 Vdc | 2/3 Vdc |
| U4 (011) | Q2通, Q3通, Q5通 | -2/3 Vdc | 0 | 2/3 Vdc |
| U5 (001) | Q2通, Q4通, Q5通 | -1/3 Vdc | -1/√3 Vdc | 2/3 Vdc |
| U6 (101) | Q1通, Q4通, Q5通 | 1/3 Vdc | -1/√3 Vdc | 2/3 Vdc |
注意看,所有有效矢量的幅值都是2/3 Vdc。这个值是怎么来的?Clark变换等幅值变换下,三相电压合成矢量的幅值就是2/3倍母线电压。嗯,这里要记住,后面算最大调制比时会用到。
4.4 零矢量——两个“原地踏步”的状态
零矢量有两个:000和111。
- 000:所有下管导通,三相绕组全部接到地。
- 111:所有上管导通,三相绕组全部接到母线正。
这两种状态下,三相电压相等,合成矢量为0。说白了就是电机绕组上没有电压差,电流靠续流维持。
零矢量有什么用?我告诉你,零矢量是SVPWM的“填充剂”。你想啊,我们只能输出6个固定方向的矢量,但目标电压Uref的方向是任意的。怎么办?用相邻两个基本矢量合成,再插入零矢量来调节等效幅值。
举个例子:目标矢量在扇区I,我们就用U1和U2来合成方向,用零矢量来填充剩余时间。这样在一个PWM周期内,平均效果就等于目标矢量。
注意:零矢量的选择会影响开关损耗和电流纹波。一般原则是:尽量减少开关次数。比如从U1(100)切换到U2(110),只变了B相一个开关。如果插入零矢量000,从U2到000也只变一个开关。但如果插入111,从U2到111要变两个开关。所以扇区I通常用000作为零矢量。其他扇区同理,选离当前有效矢量最近的零矢量。
4.5 一张图看懂SVPWM空间矢量
下面这张SVG图,把上面讲的所有概念都画出来了。我建议你仔细看几分钟,把每个矢量的位置、扇区边界、零矢量位置都记在脑子里。
这张图里,从原点出发的6个箭头就是基本电压矢量U1~U6。它们把平面分成6个扇区。原点处的圆里写着000/111,代表两个零矢量都在这里。
你注意看,U1和U2之间的夹角是60°,正好是扇区I的范围。其他扇区同理。这就是SVPWM的几何基础——用相邻的两个基本矢量,通过平行四边形法则,合成任意方向的目标矢量。
4.6 为什么是这6个方向?
你可能想问:为什么基本矢量偏偏是这6个方向?能不能更多?
答案是——受限于三相逆变器的拓扑结构。三个桥臂,每个只有两种状态,总共就8种。去掉两个零矢量,只剩6个有效状态。这6个状态在αβ平面上的投影,就是这6个方向。
我刚开始做FOC时,总想着能不能用更多矢量来提高精度。后来想明白了:精度不是靠增加基本矢量数量,而是靠PWM周期内的占空比调节。你想想看,一个PWM周期只有几十微秒,但我们可以在这段时间内精确控制U1、U2和零矢量的作用时间,合成出任意方向和幅值的平均电压。这就是SVPWM的精髓。
个人经验:我在调试一个200W的伺服电机时,发现电流波形在扇区边界处有轻微畸变。排查了很久,最后发现是扇区判断的阈值设置太死板。后来我加了一个滞环——在边界附近±1°范围内保持当前扇区不变,波形立刻干净了。这种小技巧,书本上一般不会写。
4.7 小结一下
这一节我们讲了三个核心概念:
- 空间电压矢量:三相逆变器开关状态在αβ平面上的映射,是一个旋转矢量。
- 6扇区划分:6个有效矢量把360°均匀分成6个60°扇区。
- 基本矢量与零矢量:6个有效矢量提供固定方向,2个零矢量提供“填充”和“调节”作用。