3、三相逆变器的开关状态:8种开关组合,6个非零矢量与2个零矢量
好,咱们接着聊。上一章我们把三相逆变器的拓扑结构理清了,六个开关管,上下互补,这个基础大家应该都熟了。那这一章,我们就来聊聊这些开关管到底能摆出多少种“姿势”。
说白了,逆变器的工作,就是不停地切换这六个开关的通断状态。你想想看,三个桥臂,每个桥臂要么上管通、要么下管通,这不就是二进制的组合吗?2的3次方,一共8种状态。没错,就是这8种状态,构成了SVPWM的基石。
3.1 开关状态的二进制表示
我个人习惯,用三个二进制位来表示一个开关状态。比如 [100],意思就是A相上管通、B相下管通、C相下管通。这里有个约定俗成的规矩:1代表上管导通,0代表下管导通。
你可能会问,那上管和下管会不会同时导通?千万别!我在项目中就见过新手调试时,死区时间设置不当,导致上下管直通,那“啪”的一声,IGBT模块就报废了。所以,互补导通是铁律,死区时间必须留够。
这8种状态,我列个表,大家一目了然:
| 开关状态 (Sa Sb Sc) | 导通的上管 | 导通的下管 | 矢量类型 |
|---|---|---|---|
| 000 | 无 | Q2, Q4, Q6 | 零矢量 |
| 100 | Q1 | Q4, Q6 | 非零矢量 |
| 110 | Q1, Q3 | Q6 | 非零矢量 |
| 010 | Q3 | Q2, Q6 | 非零矢量 |
| 011 | Q3, Q5 | Q2 | 非零矢量 |
| 001 | Q5 | Q2, Q4 | 非零矢量 |
| 101 | Q1, Q5 | Q4 | 非零矢量 |
| 111 | Q1, Q3, Q5 | 无 | 零矢量 |
嗯,这里要注意,[000] 和 [111] 这两个状态,要么三个下管全通,要么三个上管全通。这时候电机端电压是多少?三相短路,电压为零。所以叫“零矢量”。
3.2 从开关状态到电压矢量
光有开关状态还不够,我们得把它映射到电机定子绕组上产生的电压矢量。这个映射关系,是通过Clark变换推导出来的。我不在这里推公式,直接给结论:
对于任意一个开关状态 [Sa, Sb, Sc],它在αβ坐标系下对应的电压矢量 V(Sa, Sb, Sc) 可以表示为:
V(Sa, Sb, Sc) = (2/3) * Vdc * (Sa + Sb * e^(j*2π/3) + Sc * e^(j*4π/3))
其中 Vdc 是直流母线电压。你把这个公式套进去算一下,就会发现一个很有意思的现象:6个非零矢量,幅值都是 (2/3)*Vdc,而且它们在空间上互差60度,正好把一个圆分成了6个扇区。
这6个矢量,我习惯叫它们 V1(100), V2(110), V3(010), V4(011), V5(001), V6(101)。它们就像六把尺子,我们想要的任意方向、任意大小的电压矢量,都得靠它们“拼”出来。
核心要点: 6个非零矢量幅值相等,相位互差60°,构成了一个正六边形。两个零矢量位于原点。这就是SVPWM的“调色盘”。
3.3 矢量空间与扇区划分
为了让大家更直观地理解,我画了一张SVG图,把这8个矢量的空间位置标出来。你看,是不是很清晰?
从图上可以清楚地看到,6个非零矢量把整个平面分成了6个扇区,每个扇区60度。我们想要合成的目标电压矢量 Vref,落在哪个扇区,就用这个扇区边界上的两个非零矢量,再加上零矢量,通过“伏秒平衡”的原理来合成它。
我的小技巧: 判断扇区其实很简单。把 Vref 的αβ分量算出来,然后看它的角度。比如角度在0°~60°之间,那肯定就在扇区Ⅰ,用V1和V2来合成。我在代码里一般用查表法,比实时计算角度快得多。
3.4 零矢量的妙用
说到零矢量,很多人觉得它“没用”,反正输出电压是零。其实不然。零矢量在SVPWM里扮演着至关重要的角色——调节调制比。
你想想看,如果只用两个非零矢量来合成,那合成出来的矢量幅值最大就是正六边形的内切圆半径,也就是 (√3/3)*Vdc。但如果我们插入零矢量,就可以“稀释”非零矢量的作用时间,从而得到幅值更小的矢量。这就是线性调制区的原理。
我曾经在一个项目中,电机在低速运行时噪音特别大。后来发现是零矢量分配不合理,导致电流谐波过大。我把零矢量从集中插入改成平均分配到开关周期的两端和中间,也就是所谓的“七段式SVPWM”,噪音问题立马就解决了。
避坑指南: 零矢量有两种:V0(000) 和 V7(111)。它们虽然效果一样,但开关切换次数不同。为了减少开关损耗,一般原则是:每次切换只改变一个桥臂的状态。比如从 V1(100) 切换到 V0(000),只需要关断Q1,而切换到 V7(111) 则需要同时开通Q3和Q5,损耗大得多。所以,在扇区Ⅰ,我习惯用 V0 作为零矢量。