简单理解:为什么SVPWM没看到提反Clarke变换
因为 SVPWM 和 SPWM 计算思路完全不同!
用拼积木比喻理解
SVPWM(空间矢量 PWM):直接拼出目标
有 6 组基础电压矢量:U1 (100)、U2 (110)、U3 (010)、U4 (011)、U5 (001)、U6 (101)。 想要指定方向、幅值的电压矢量,操作步骤:
- 判断目标矢量所属扇区
- 计算相邻两个基础矢量的作用时长
- 配置定时器,分配两组矢量的输出占空比 可直接由 Uα、Uβ 计算三相 PWM 时间分配,无需反 Clarke 变换。
SPWM(正弦波 PWM):先坐标转换再输出
需要生成相位互差 120° 的三路正弦调制波: A 相 sin (θ)、B 相 sin (θ-120°)、C 相 sin (θ+120°) 操作步骤:
- 通过反 Clarke 变换,将 Uα、Uβ 换算为 Ua、Ub、Uc 三相电压
- 把三相电压换算成各路 PWM 占空比 必须依靠反 Clarke 变换才能完成计算。
代码层面核心区别
| 调制方式 | 计算逻辑 | 是否需要反 Clarke |
|---|---|---|
| SVPWM | Uα、Uβ→扇区判定 + 矢量作用时间→PWM | 不需要 |
| SPWM | Uα、Uβ→Ua、Ub、Uc→PWM | 需要 |
数学本质
SVPWM 属于矢量合成,直接基于两相静止坐标系参数计算基础矢量作用时间; SPWM 属于坐标维度转换,必须先将两相坐标系电压还原为三相坐标系电压。
通俗举例
SVPWM 如同操控方向盘,直接给定转向角度就能控制车轮; SPWM 需要分别计算三个车轮各自的转动圈数,单独控制每一路输出。
总结
反 Clarke 变换仅为 SPWM 所需。本项目选用能效更优的 SVPWM,该变换不再单独调用;若切换为 SPWM 模式,就会启用反 Clarke 变换。
