1. SVPWM基础:三相逆变器拓扑结构、电压空间矢量概念、SVPWM基本原理与优势

各位同学,咱们今天正式开讲SVPWM。说实话,我刚入行那会儿,看到SVPWM这几个字母就觉得头大——什么空间矢量、什么扇区判断,感觉比FOC还抽象。但后来真正做项目了才发现,这东西其实就是个“怎么用直流电模拟出三相正弦波”的数学游戏。搞懂了它,电机控制才算真正入门。

1.1 三相逆变器拓扑结构

先看硬件。三相逆变器说白了就是六个开关管搭起来的桥式电路。我习惯叫它“三相全桥”,结构其实很简单:

  • 直流母线:提供稳定的直流电压 Vdc,通常来自整流桥或电池。
  • 六个开关管:Q1~Q6,分成上桥臂(Q1、Q3、Q5)和下桥臂(Q2、Q4、Q6)。
  • 三个输出端:A、B、C,分别接电机三相绕组。

每个桥臂只有两种状态:上管导通、下管关断(记作“1”),或者上管关断、下管导通(记作“0”)。你想想看,三个桥臂组合起来,一共就是 23 = 8 种状态。

关键点:同一桥臂的上下管绝对不能同时导通!我在项目中遇到过新手写代码时死区时间没加够,结果上管还没关死下管就开了——瞬间短路,IGBT直接炸管。嗯,这个教训挺深刻的。

这8种状态里,有6种是“有效状态”(输出非零电压),2种是“零状态”(上桥臂全开或全关,输出为零)。咱们后面要讲的SVPWM,就是靠这8种状态拼出任意方向的电压矢量。

1.2 电压空间矢量概念

为什么要引入“空间矢量”?我记得刚学电机控制时,总觉得用三个正弦波驱动电机就够了,干嘛还要搞个矢量出来?

其实原因很简单:电机内部磁场是旋转的,而三相电压合成的效果,恰好可以用一个旋转的矢量来描述。这个矢量的大小和方向,就代表了定子磁链的幅值和位置。

咱们把三相电压 ua、ub、uc 通过 Clarke 变换,映射到 α-β 坐标系:

u_α = u_a
u_β = (u_a + 2*u_b) / √3

这样,三相电压就变成了一个二维矢量。8种开关状态对应的电压矢量,画在α-β平面上,就是6个相隔60°的基本矢量和2个零矢量。

我的经验:初学者最容易犯的错是把“空间矢量”和“时间矢量”搞混。空间矢量描述的是电压在空间上的分布,不是时间上的波形。你想想看,电机转子的位置是空间角度,不是时间相位——搞混了这两个,扇区判断就会出错。

下面这张图展示了6个基本电压矢量在α-β平面上的分布:

基本电压空间矢量分布图 α β V₁(100) V₂(110) V₃(010) V₄(011) V₅(001) V₆(101) V₀/V₇ 扇区Ⅰ 扇区Ⅱ 扇区Ⅲ 扇区Ⅳ 扇区Ⅴ 扇区Ⅵ 6个基本矢量将平面分为6个扇区,每个扇区60°

1.3 SVPWM基本原理

好,现在问题来了:我们只有6个固定方向的电压矢量,但电机需要的是任意方向、任意大小的电压——怎么办?

答案就是“矢量合成”。在一个PWM周期内,用相邻的两个基本矢量加上零矢量,通过调整它们的作用时间,就能“拼”出任意方向的电压矢量。这就像调色——只有红、黄、蓝三种原色,但通过不同比例混合,就能得到任何颜色。

具体步骤我总结为四步:

  1. 扇区判断:根据目标电压矢量 uref 的 α-β 分量,判断它在哪个扇区。
  2. 作用时间计算:计算相邻两个基本矢量的作用时间 T1、T2,以及零矢量时间 T0。
  3. 占空比分配:将计算出的时间转换为三相桥臂的占空比。
  4. PWM生成:用定时器输出对称PWM波形。

注意:作用时间计算时,一定要检查 T1 + T2 是否超过 PWM 周期。如果超过了,说明进入了过调制区,需要做等比例缩小处理。我曾经在高速电机项目里没做这个检查,结果电流波形直接畸变,电机嗡嗡响——后来加了过调制处理才解决。

下面这个表格列出了6个扇区对应的基本矢量组合:

扇区 角度范围 相邻矢量
Ⅰ 0° ~ 60° V₁(100)、V₂(110)
Ⅱ 60° ~ 120° V₂(110)、V₃(010)
Ⅲ 120° ~ 180° V₃(010)、V₄(011)
Ⅳ 180° ~ 240° V₄(011)、V₅(001)
Ⅴ 240° ~ 300° V₅(001)、V₆(101)
Ⅵ 300° ~ 360° V₆(101)、V₁(100)

1.4 SVPWM的优势

你可能会问:既然SPWM(正弦脉宽调制)也能驱动电机,为什么还要学SVPWM?

我直接说结论:SVPWM的直流母线电压利用率比SPWM高15%左右。什么意思呢?同样的直流母线电压,SVPWM能让电机跑得更快。具体来说:

  • SPWM:最大输出相电压峰值为 Vdc/2,线电压峰值为 √3·Vdc/2 ≈ 0.866·Vdc。
  • SVPWM:最大输出线电压峰值就是 Vdc,相当于把直流母线电压用满了。

这15%的差距,在低速时可能不明显,但到了高速弱磁区,每一点电压都很宝贵。我记得做电动工具项目时,客户要求转速必须达到30000rpm,用SPWM死活差一点,换成SVPWM后刚好达标——这就是实打实的优势。

另外,SVPWM的谐波含量更低,电流波形更正弦,电机运行更平稳。你想想看,电流谐波少了,铁损和铜损都会降低,发热自然就小了。

个人建议:如果你刚开始做电机控制,直接学SVPWM就行,别在SPWM上浪费时间。现在主流的MCU都内置了SVPWM的硬件支持,比如STM32的HRTIM或者TI的ePWM模块,配置起来很方便。

最后总结一下SVPWM的核心流程:

SVPWM实现流程图 输入 uα、uβ 扇区判断 计算 T₁、T₂、T₀ 生成三相PWM占空比

嗯,这一章的内容就到这里。SVPWM的基础概念其实不复杂,关键是理解“矢量合成”这个思想——用有限的开关状态,拼出任意需要的电压。后面几章我们会深入每个步骤的数学推导和代码实现,到时候你就能真正上手了。