4. 基本电压矢量:8种开关状态,6个非零矢量和2个零矢量
好,咱们接着往下聊。上一章我们把三相逆变器的拓扑结构理清了,也知道了六个开关管不能同时导通同一桥臂的上下管。那这六个开关管到底怎么组合,才能产生我们想要的电压矢量呢?
说白了,这就是SVPWM最核心的起点——基本电压矢量。我当年刚接触FOC时,对着这个“八种状态”看了半天,总觉得抽象。后来自己动手搭了一次实验板,用示波器看波形,才真正理解这八个状态到底在干什么。
4.1 开关状态的二进制表示
先看一个最简单的约定。我们把逆变器的三个桥臂,从上到下编号为A、B、C。每个桥臂只有两种状态:
- 上管导通,下管关断 → 记为
1 - 上管关断,下管导通 → 记为
0
这样一来,三个桥臂的状态就可以用一个三位二进制数来表示。比如 100 表示A相上管通,B相和C相都是下管通。
关键点:三个桥臂,每个桥臂2种状态,总共就是 2³ = 8 种组合。这8种组合,就是SVPWM的全部家底。
你可能会问:“为什么不是6种?不是只有6个开关管吗?” 嗯,这里要注意,每个桥臂的两个开关管是互补导通的,所以一个桥臂的状态只需要1个bit就能描述。8种状态,一个不多,一个不少。
4.2 6个非零矢量与2个零矢量
这8种状态里,有6种状态会让电机绕组上产生非零的电压差,我们叫它们非零矢量。另外2种状态,电机绕组两端电压差为零,叫零矢量。
我习惯把这8个状态列成一个表,一目了然:
| 开关状态 (A B C) | 矢量名称 | 类型 | 说明 |
|---|---|---|---|
| 000 | V₀ | 零矢量 | 所有下管导通,绕组短路到地 |
| 100 | V₁ | 非零矢量 | A相上管通,B、C相下管通 |
| 110 | V₂ | 非零矢量 | A、B相上管通,C相下管通 |
| 010 | V₃ | 非零矢量 | B相上管通,A、C相下管通 |
| 011 | V₄ | 非零矢量 | B、C相上管通,A相下管通 |
| 001 | V₅ | 非零矢量 | C相上管通,A、B相下管通 |
| 101 | V₆ | 非零矢量 | A、C相上管通,B相下管通 |
| 111 | V₇ | 零矢量 | 所有上管导通,绕组短路到母线正 |
我的小技巧:记这6个非零矢量,可以按“二进制数从小到大”的顺序来记:100 → 110 → 010 → 011 → 001 → 101。这样在写代码查表时不容易漏掉。
4.3 非零矢量在复平面上的位置
这6个非零矢量,如果画在复平面上,它们会把平面均匀地分成6个扇区,每个扇区60°。我直接画个图给你看:
看到这个图,你应该能理解为什么叫“基本电压矢量”了。这6个矢量就像6个固定的“积木块”,我们后面要合成的任意角度、任意大小的电压矢量,都得靠它们拼出来。
4.4 零矢量的作用
零矢量V₀(000)和V₇(111)虽然不产生电压,但它们的作用可一点都不小。我打个比方:
你想想看,如果只有6个非零矢量,那电机转起来就会一顿一顿的,像老式步进电机那样。零矢量的加入,让我们可以在一个PWM周期里插入“休息时间”,从而精细调节平均电压的大小。
我曾经踩过的坑:刚开始写SVPWM代码时,我为了省事,只用了V₀作为零矢量,没用V₇。结果发现电流波形里多了很多高频毛刺。后来才意识到,只用一种零矢量会导致开关管开关次数不均匀,发热也不均衡。正确的做法是V₀和V₇交替使用,让每个桥臂的开关次数尽量平均。
4.5 矢量幅值:直流母线电压的关系
这6个非零矢量的幅值是多少?我直接告诉你结论:每个非零矢量的幅值等于直流母线电压 \( V_{dc} \)。
为什么会这样?以V₁(100)为例:A相上管导通,接到母线正极 \( V_{dc} \);B相和C相下管导通,接到母线负极(0V)。所以A相相对于直流母线中点的电压是 \( +V_{dc}/2 \),B相和C相是 \( -V_{dc}/2 \)。合成后的空间矢量幅值就是 \( V_{dc} \)。
这个结论很重要,后面我们计算SVPWM的占空比时,会反复用到这个关系。
4.6 小结:记住这三点
好了,这一章的内容就这些。我帮你总结三个必须记住的点:
- 8种状态:3个桥臂,2³=8种组合,对应6个非零矢量 + 2个零矢量。
- 6个扇区:非零矢量在复平面上把360°均匀分成6个60°扇区。
- 零矢量不“零”:V₀和V₇虽然幅值为0,但它们是调节电压大小的关键,而且必须交替使用。