1. SVPWM基础原理:从三相逆变器拓扑到电压空间矢量

各位同学好,我是老张。做电机控制这些年,我见过太多人在PWM调制上栽跟头。今天咱们聊聊SVPWM,这个在DSP上跑得飞快的算法。

说实话,我刚入行时也觉得SPWM挺好用。直到有一次做伺服驱动器,电流谐波大得离谱,电机嗡嗡响。后来换成SVPWM,问题一下解决了。嗯,从那以后我就再也没用过SPWM。

1.1 三相逆变器拓扑——先看硬件长啥样

先看硬件。三相逆变器说白了就是六个开关管,搭成三个桥臂。每个桥臂上下两个管子,互补导通。

核心结构:

  • 三个桥臂:A相、B相、C相
  • 每个桥臂两个开关:上管和下管
  • 上下管不能同时导通——会短路,我吃过这个亏

你想想看,每个桥臂只有两种状态:上管导通(记作1)或下管导通(记作0)。三个桥臂组合起来,一共2³=8种状态。

这8种状态里,有6个是非零电压矢量,2个是零矢量(全上管通或全下管通)。这就是SVPWM的物理基础。

1.2 电压空间矢量——为什么是六个方向?

咱们把三相电压放到复平面上。A相在0°方向,B相在120°,C相在240°。每个开关状态对应一个合成电压矢量。

我习惯用这个公式来理解:

V = (2/3) * (Va + Vb * e^(j*120°) + Vc * e^(j*240°))

代入8种开关状态,你会得到6个非零矢量,它们把平面分成6个扇区。每个扇区60°,正好一个正六边形。

个人经验:我在调试时发现,很多新手搞不清扇区编号。其实你记住:扇区1在0°~60°,扇区2在60°~120°,依此类推。顺时针还是逆时针?看你的电机转向定义。

1.3 为什么SVPWM比SPWM更高效?

这个问题我问过很多面试者。答案其实很直接——直流母线电压利用率。

SPWM是正弦波和三角波比较,输出的是正弦脉宽。它的最大相电压幅值只有母线电压的一半。说白了,你用了100V的母线,电机只能得到50V的相电压。

SVPWM不一样。它直接合成旋转电压矢量,最大相电压幅值可以达到母线电压的0.577倍。算下来,电压利用率提高了约15.5%。

调制方式 最大相电压幅值 电压利用率
SPWM Vdc/2 0.5
SVPWM Vdc/√3 0.577

为什么会这样?因为SVPWM在零矢量里插入了冗余状态,让合成矢量可以超出正弦波的范围。你想想看,同样的母线电压,SVPWM能让电机跑得更快,这就是效率优势。

避坑指南:我曾经在项目里直接拿SPWM的代码改SVPWM,结果电机转起来抖得厉害。后来发现是扇区判断的边界条件没处理好。记住,扇区边界上的矢量切换要加死区,不然开关管会炸。

1.4 核心逻辑:从目标电压到开关时序

SVPWM的流程其实就三步:

  1. 判断扇区——根据目标电压矢量的角度,确定它在哪个60°扇区
  2. 计算作用时间——用相邻两个非零矢量和零矢量,合成目标矢量
  3. 生成PWM波——把作用时间转换成开关管的导通时序

我画了一张流程图,帮你理清思路:

SVPWM核心逻辑流程图 输入:Vα, Vβ 扇区判断 计算T1, T2, T0 生成PWM波形 输出:三相占空比 从Clark变换得到 根据Vα, Vβ角度 伏秒平衡原理 七段式或五段式

你看,整个流程很清晰。在DSP上实现时,我建议用查表法做扇区判断,比实时计算快得多。

1.5 伏秒平衡——SVPWM的数学灵魂

SVPWM的核心思想是伏秒平衡。什么意思?就是在一个PWM周期内,用相邻两个非零矢量和零矢量,合成出你想要的任意电压矢量。

公式长这样:

T1 = Ts * Vref * sin(60° - θ) / (Vdc * sin(60°))
T2 = Ts * Vref * sin(θ) / (Vdc * sin(60°))
T0 = Ts - T1 - T2

其中Ts是PWM周期,Vref是目标电压幅值,θ是扇区内的角度偏移。

我的习惯:实际工程中,我会把sin值预先算好存成表格。DSP算三角函数太慢了,查表加线性插值,精度够用,速度翻倍。

1.6 零矢量的妙用

零矢量有两个:V0(000)和V7(111)。它们的作用时间可以自由分配。

我常用的七段式SVPWM,就是把零矢量拆成两半,分别放在周期开头和结尾。这样开关次数均匀,谐波小。

五段式呢?只用一个零矢量,开关次数少,但谐波大一些。怎么选?看你的应用场景。做伺服驱动我选七段式,做风机水泵我选五段式。

曾经踩过的坑:有一次我为了省DSP算力,用了五段式。结果电机在低速时噪声特别大。后来发现是零矢量分配不合理,导致电流纹波变大。换成七段式,问题解决。

1.7 小结

这一章咱们把SVPWM的底牌翻了个遍。从三相逆变器的8种开关状态,到6个扇区的电压矢量,再到伏秒平衡的数学原理。核心就一句话:SVPWM通过合成旋转电压矢量,把直流母线电压用到了极致。

下一章,咱们会深入DSP的硬件资源,看看怎么用PWM模块和ADC配合,把SVPWM跑得又快又稳。


专注资料整理