3. 过调制的基本概念

3.1 为什么要过调制?

先问大家一个问题:你辛辛苦苦调出来的电机,最高转速就是上不去,为什么?

我早年做伺服驱动时,就碰到过这个坎。明明母线电压有310V,电机额定转速3000rpm,可实际跑到2800rpm就再也上不去了。查了半天,问题出在SVPWM的线性调制区——它只能输出到母线电压的0.577倍。

说白了,线性调制区就像个「安全区」。在这个区域内,电压矢量能完美合成,不会失真。但代价就是母线电压利用率低。你想想看,310V的母线,实际能用的只有179V左右,剩下的全浪费了。

那怎么办?

答案就是过调制。过调制允许我们突破这个0.577的限制,把电压利用率从0.577一直推到0.637(也就是六阶梯波模式)。代价是电压会有些失真,但换来的是更高的转速和转矩。

核心结论:过调制的本质,是用电压质量换电压幅值。在电机高速区,这点失真通常可以接受。

3.2 过调制的分类

过调制不是一步到位的。根据调制深度m的不同,业内一般分成两个区:过调制I区和过调制II区。

先看一个关键参数——调制比m。它的定义是:

m = Vref / Vsixstep

其中Vsixstep是六阶梯波时的基波电压幅值,Vref是参考电压矢量幅值。当m从0.907(线性区极限)增加到1.0(六阶梯波)时,我们就进入了过调制区。

3.2.1 过调制I区(0.907 ≤ m ≤ 0.952)

这个区间我习惯叫它「温和过调制区」。为什么温和?因为电压矢量的轨迹还基本保持圆形,只是有些地方被「削」了一下。

具体来说:

  • 参考电压矢量在大部分角度内还能正常合成
  • 只在某些角度(通常是30°、90°等位置)出现轻微饱和
  • 输出电压的谐波含量较低,THD还能接受

我在项目中遇到过这种情况:用普通电流环控制,在I区运行时电机噪音只比线性区大了2-3dB,完全不影响使用。所以很多商用驱动器,其实常年工作在过调制I区。

个人经验:如果你做的是风机、水泵这类对噪音不敏感的负载,直接让系统工作在m=0.95附近,能多榨出5%的转速。

3.2.2 过调制II区(0.952 ≤ m ≤ 1.0)

到了II区,情况就不一样了。电压矢量的轨迹开始明显变形,从圆形逐渐变成六边形。说白了,就是SVPWM在向六阶梯波过渡。

这个区间的特点:

  • 电压矢量在大部分角度都处于饱和状态
  • 输出电压含有大量低次谐波(5次、7次为主)
  • 电流波形明显畸变,电机噪音增大

我曾经调试一个高速主轴电机,目标转速是12000rpm。线性区只能跑到10800rpm,死活差一截。后来切到过调制II区,m设到0.98,转速直接拉到11800rpm。代价是电机温度高了8度,但客户能接受。

注意:过调制II区不是随便用的。如果你做的是伺服定位系统,电流畸变会导致定位抖动,这时候II区就不合适。我建议II区只用在转速环,位置环尽量避开。

3.3 两个区的对比

特性 过调制I区 过调制II区
调制比范围 0.907 ~ 0.952 0.952 ~ 1.0
电压利用率 提升约5% 提升约10%
电压波形 近似圆形,轻微畸变 六边形,明显畸变
谐波含量 低(THD < 5%) 高(THD > 10%)
适用场景 通用变频器、风机水泵 高速主轴、大转矩需求

3.4 核心逻辑图

下面这张图,是我自己总结的过调制决策流程。你调试时照着走,基本不会出错。

过调制决策流程图 计算调制比 m m < 0.907 ? 线性调制区 进入过调制区 m < 0.952 ? 过调制I区 过调制II区 m = Vref / Vsixstep,Vsixstep = 2/π * Vdc 线性区极限 m=0.907,六阶梯波 m=1.0

3.5 避坑指南

最后分享几个我踩过的坑:

  • 电流环饱和:过调制时电压输出受限,电流环的PI输出可能会饱和。我曾经没做抗饱和处理,结果电流环积分项越积越大,一退出过调制就炸了。记得加积分限幅。
  • 死区补偿:过调制II区电压波形畸变大,死区效应会被放大。我建议在II区把死区补偿算法打开,否则电流波形会很难看。
  • 切换平滑:从线性区切到过调制区,或者I区切到II区,一定要做平滑过渡。直接跳变会导致电流冲击,严重时可能触发过流保护。

我的习惯:在代码里用m作为切换依据,同时加一个滞环。比如m>0.91切I区,m<0.89切回线性区。这样能避免在边界来回震荡。

好了,过调制的基本概念就讲到这里。记住一句话:过调制不是洪水猛兽,用好了是利器,用不好是陷阱。下一节我们聊具体的实现算法。


公众号:蓝海资料掘金营,微信deep3321