1. SVPWM 基础概念:什么是 SVPWM、与 SPWM 的区别、电压空间矢量概念

各位同学,咱们今天正式开讲 SVPWM。说实话,我第一次接触这个名词的时候,脑子里全是问号——这跟学校里学的 SPWM 到底有啥不一样?后来在项目里被坑过几次,才真正搞明白它的价值。今天我就把这几年的经验揉碎了讲给你听。

1.1 什么是 SVPWM?

SVPWM,全称 Space Vector Pulse Width Modulation,中文叫「空间矢量脉宽调制」。说白了,它不是单纯地调电压大小,而是调电压的「方向」和「旋转轨迹」。

你想想看,电机要转起来,靠的是定子绕组产生的旋转磁场。传统 SPWM 只盯着三相电压的正弦波形,但 SVPWM 直接盯着「磁场矢量」本身——它要保证合成的磁场矢量在空间里画出一个标准的圆。

核心思想: 把逆变器的 8 种开关状态映射到复平面上的 8 个基本电压矢量,通过相邻两个矢量的时间组合,合成任意方向和幅值的电压矢量。

我在一个伺服驱动器项目里,刚开始用 SPWM,电机低速时抖得厉害。换成 SVPWM 之后,同样的硬件,噪声降了 30%,转矩脉动明显改善。嗯,这就是 SVPWM 的厉害之处。

1.2 SVPWM 与 SPWM 的区别

很多教材喜欢列一堆公式对比,我换个角度——从「目标」和「手段」两个维度给你讲清楚。

对比项 SPWM SVPWM
控制目标 让三相电压波形接近正弦 让合成磁链轨迹接近圆形
调制方式 三角载波与正弦波比较 电压矢量合成与扇区判断
直流电压利用率 约 0.866(线性区) 可达 1.0(线性区)
谐波特性 低次谐波较多 谐波集中在开关频率附近
实现复杂度 简单,查表或实时计算 稍复杂,需扇区判断和时间计算
动态响应 一般 更好,尤其低速

我的经验: 如果你做的是风机、水泵这类对动态要求不高的应用,SPWM 完全够用。但如果是伺服、机器人关节、电动汽车驱动,SVPWM 几乎是标配。我曾经在一个 48V 低压伺服项目里,用 SPWM 时母线电压利用率不够,电机最高转速只有 3000rpm;换成 SVPWM 后,同样的母线电压,转速直接拉到 4000rpm——这就是 15% 的利用率提升带来的实际收益。

1.3 电压空间矢量概念

这个概念是 SVPWM 的基石。我建议你把它理解成一个「矢量地图」。

三相逆变器有 6 个开关管,上下桥臂互补导通。一共 8 种开关状态:6 个非零矢量(V1~V6)和 2 个零矢量(V0、V7)。

  • 非零矢量: 幅值为 2/3 Vdc,方向固定,间隔 60°
  • 零矢量: 幅值为 0,位于原点

这 8 个矢量把复平面分成 6 个扇区,每个扇区 60°。你要合成的目标矢量 Vref,就落在某个扇区里。然后你用这个扇区相邻的两个非零矢量,加上零矢量,通过时间加权平均,就能「拼」出 Vref。

注意: 千万不要以为 SVPWM 只能输出这 8 个固定矢量。它是通过 PWM 周期内的平均效果来模拟任意矢量的。你想想看,一个 PWM 周期只有几十微秒,开关频率 10kHz 时周期才 100μs,在这个时间窗口内,Vref 几乎不变,所以用相邻矢量组合是合理的。

下面这张图帮你理清 SVPWM 的整体知识框架:

SVPWM 知识体系框架 SVPWM 核心原理 电压空间矢量 扇区判断 时间计算 8 种开关状态 6 个扇区划分 Clark 变换 扇区号计算 T1/T2 计算 占空比分配 生成 PWM 驱动信号 电机控制 伺服驱动 电动汽车 说明:SVPWM 从电压空间矢量出发,经过扇区判断和时间计算,最终生成 PWM 驱动信号 广泛应用于电机控制、伺服驱动和电动汽车等领域

1.4 为什么 SVPWM 的电压利用率更高?

这个问题我当年也困惑过。SPWM 的调制比最大只能到 0.866(线性区),超过就会过调制。而 SVPWM 的线性区调制比可以到 1.0。

原因其实不复杂:SPWM 是三相独立调制,每相最大输出幅值只有 Vdc/2;而 SVPWM 是「矢量合成」,它利用了非零矢量的幅值(2/3 Vdc)和零矢量的灵活插入,让合成矢量的最大幅值可以达到 Vdc/√3 ≈ 0.577 Vdc(相电压峰值),折算到线电压就是 Vdc。

一个小技巧: 如果你在调试时发现电机转速上不去,先检查一下调制方式。我曾经有个项目,客户抱怨电机最高转速比设计值低 10%,查了半天发现是代码里误用了 SPWM 的调制比限制。改成 SVPWM 后,问题立刻解决。

1.5 本章小结

这一章我们讲了三个核心点:

  • SVPWM 是什么: 通过电压矢量合成,让电机磁场画圆
  • 与 SPWM 的区别: 目标不同、利用率不同、谐波特性不同
  • 电压空间矢量: 8 个基本矢量、6 个扇区、时间加权合成