3. 空间电压矢量合成原理
好,咱们进入SVPWM最核心的部分——电压矢量合成。说白了,就是怎么用六个固定的开关状态,拼出任意方向、任意大小的电压矢量。这背后的理论基础,就是伏秒平衡原理。
3.1 伏秒平衡原理
这个概念其实特别直观。你想想看,一个开关周期里,我让不同的电压矢量作用不同的时间,最终的效果就等价于一个平均电压矢量。这就是伏秒平衡。
核心公式:
Uref · Ts = Ux · Tx + Uy · Ty + U0 · T0
其中:
- Uref —— 参考电压矢量(你想要的那个)
- Ts —— 开关周期
- Ux、Uy —— 两个相邻的非零矢量
- Tx、Ty —— 对应的作用时间
- U0 —— 零矢量(U000或U111)
- T0 —— 零矢量作用时间
我在项目里调试电机噪音时,就遇到过一个问题:伏秒平衡算得没错,但实际波形就是不对。后来发现是死区时间没考虑进去,导致实际作用时间比理论值少了那么一点点。嗯,这个后面会专门讲。
伏秒平衡的物理意义很简单:电压乘以时间等于伏秒积。只要总的伏秒积相等,效果就一样。这就像你买东西,10块钱一斤买3斤,和5块钱一斤买6斤,总价都是30块,一个道理。
3.2 参考电压矢量的合成
现在问题来了:我们怎么用六个固定的基本矢量,去合成任意一个参考矢量Uref?
我习惯分三步走:
- 判断扇区 —— 先看Uref落在哪个60°扇区里
- 选择矢量 —— 用该扇区边界的两个非零矢量
- 计算时间 —— 根据伏秒平衡算出Tx、Ty、T0
举个例子,假设Uref落在第I扇区(0°~60°),那就用U1(100)和U2(110)来合成。作用时间怎么算?
时间计算公式(第I扇区):
T1 = √3 · Ts · |Uref| · sin(60° - θ) / Udc
T2 = √3 · Ts · |Uref| · sin(θ) / Udc
T0 = Ts - T1 - T2
θ是Uref与扇区起始边的夹角。
其他扇区也是类似的,只是角度偏移一下。你想想看,本质上就是正弦定理在矢量三角形里的应用。
我记得第一次手算这个的时候,还犯了个低级错误——把Udc当成了相电压峰值。其实这里的Udc是直流母线电压,千万别搞混了。
3.3 扇区判断方法
扇区判断是SVPWM的第一步,也是最容易出错的一步。我见过不少新手,上来就查表,结果扇区判断错了,整个波形都乱了。
常用的判断方法有两种:
| 方法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 角度法 | 根据Uref的相角θ直接判断 | 直观,容易理解 | 需要计算反正切,运算量大 |
| 分量法 | 根据Uα、Uβ的符号和比值判断 | 计算简单,适合单片机 | 需要记忆判断规则 |
实际工程中,我几乎只用分量法。为什么?因为单片机算反正切太慢了,尤其是低成本的MCU。分量法只需要几次比较和加减法,效率高得多。
分量法的判断规则是这样的:
// 定义三个中间变量
Ua = Uβ
Ub = -0.5 · Uβ + √3/2 · Uα
Uc = -0.5 · Uβ - √3/2 · Uα
// 扇区号计算
N = sign(Ua) + 2 · sign(Ub) + 4 · sign(Uc)
// 查表得到扇区
switch(N) {
case 1: sector = II; break;
case 2: sector = VI; break;
case 3: sector = I; break;
case 4: sector = IV; break;
case 5: sector = III; break;
case 6: sector = V; break;
}
注意:这里的sign()函数只返回1或0,不是-1。Uα、Uβ是经过Clark变换后的分量。我曾经在项目里把Uα和Uβ搞反了,结果电机转起来一顿一顿的,查了半天才发现。
为了让你更直观地理解整个合成过程,我画了张图:
从图上可以看得很清楚:Uref落在第I扇区,它由U1和U2合成。说白了,就是平行四边形法则在矢量空间里的应用。
3.4 工程实现中的几个坑
最后,我分享几个实际项目中踩过的坑:
- 过调制问题:当|Uref|超过六边形内切圆半径时,T1+T2会大于Ts。这时候必须做等比例缩小处理,否则波形会畸变。
- 扇区边界处理:当Uref正好落在扇区边界上时,判断结果可能抖动。我习惯加一个小的滞环,比如±0.5°的死区。
- 浮点运算精度:单片机做浮点运算时,sin(0°)可能不是精确的0。建议用查表法或者Cordic算法,别直接调math.h里的sin函数。
我的经验:扇区判断用分量法,时间计算用定点数。把√3和1/√3这些系数预先算好存成Q15格式,能省不少CPU时间。我在一个STM32F103的项目里,用这种方法把SVPWM的计算时间从30μs降到了8μs。
好了,伏秒平衡的原理、参考矢量的合成方法、扇区判断的技巧,这些就是SVPWM调制的核心。理解了这些,后面的七段式和五段式发波就水到渠成了。