因为 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 变换才能完成计算。代码层面核心区别调制方式计算逻辑是否需要反 ClarkeSVPWMUα、Uβ→扇区判定 矢量作用时间→PWM不需要SPWMUα、Uβ→Ua、Ub、Uc→PWM需要数学本质SVPWM 属于矢量合成直接基于两相静止坐标系参数计算基础矢量作用时间 SPWM 属于坐标维度转换必须先将两相坐标系电压还原为三相坐标系电压。通俗举例SVPWM 如同操控方向盘直接给定转向角度就能控制车轮 SPWM 需要分别计算三个车轮各自的转动圈数单独控制每一路输出。总结反 Clarke 变换仅为 SPWM 所需。本项目选用能效更优的 SVPWM该变换不再单独调用若切换为 SPWM 模式就会启用反 Clarke 变换。