4. 抖动原因分析(上):供电电压波动、PWM调制策略不当、死区效应

电机一启动就抖,这事儿我碰过太多次了。很多工程师第一反应是PID参数没调好,上来就调比例积分微分。但说实话,很多时候根子不在算法上,而在更基础的物理层。

这一节,咱们就聊聊三个最常见的“隐形杀手”:供电电压波动、PWM调制策略不当,还有死区效应。搞懂这三个,你至少能排除一半的启动抖动问题。

核心观点:启动抖动往往是“电”的问题先于“控”的问题。先把供电和调制搞干净,再谈算法优化。

电机启动抖动三大原因框架 电机启动抖动三大电学原因 启动抖动 供电电压波动 PWM调制策略不当 死区效应 直流母线电压跌落 / 纹波过大 载波比不足 / 调制比饱和 死区时间导致电压畸变

4.1 供电电压波动:被低估的“软脚”问题

供电电压波动,说白了就是电机“吃不饱”或者“吃撑了”。启动瞬间电流很大,如果电源内阻大、线路细,直流母线电压会被瞬间拉低。电压一掉,电流环输出就乱,力矩跟着抖。

我记得有一次调试一个750W的伺服电机,启动时总是前两圈抖得厉害。查了半天,发现是24V开关电源带不动峰值电流,母线电压从24V掉到了19V。换个功率大点的电源,问题直接消失。

常见的电压波动场景:

  • 直流母线电压跌落:启动电流冲击导致母线电容放电过快,电压骤降。
  • 纹波过大:整流滤波不充分,母线电压含有较大的100Hz/120Hz纹波。
  • 线路压降:长距离供电线径不足,启动时压降可达数伏。

我的习惯:调试新系统时,第一件事就是拿示波器挂直流母线,看启动瞬间的电压波形。如果跌落超过5%,先解决供电,再谈控制。

电压波动对启动抖动的直接影响:

电压波动类型 典型表现 抖动特征
母线电压跌落 启动瞬间电压骤降5%-15% 启动初期力矩不足,转速爬升慢,伴随低频抖动
纹波过大 母线电压有显著100Hz/120Hz波动 电机出现与电网频率相关的周期性抖动
线路压降 电机端电压低于驱动器输出电压 高速段力矩不足,启动时加速不均匀

注意:不要以为用了稳压电源就万事大吉。很多稳压电源的动态响应不够快,面对电机启动的瞬态电流冲击,电压照样会掉。我曾经吃过这个亏,后来改用带“峰值电流能力”标注的工业电源才搞定。

4.2 PWM调制策略不当:载波比和调制比的陷阱

PWM调制这事儿,看着简单,坑不少。我见过太多人把载波频率设得高高的,觉得越高越好。其实不然。

两个关键参数:

  • 载波比:载波频率与基波频率的比值。载波比太低,电流谐波大,电机容易“嗡嗡”响,启动时力矩脉动明显。
  • 调制比:调制波幅值与载波幅值的比值。调制比超过1进入过调制区,输出电压波形畸变,力矩波动加剧。

你想想看,电机刚启动时转速低,基波频率可能只有几赫兹。如果载波频率固定为10kHz,载波比高达几千,没问题。但转速一上来,基波频率到100Hz时,载波比就降到100了。这时候谐波含量明显增加。

调制策略不当的典型问题:

  1. 固定载波频率:低速时载波比过高(开关损耗大),高速时载波比不足(谐波大)。
  2. 调制比饱和:启动时为了快速建立电流,给定电压过高,进入过调制区,电压波形畸变。
  3. 死区补偿不足:死区时间在低载波比时影响更大,导致电压误差比例上升。

经验数据:我个人习惯将载波比保持在100以上。如果做不到,就考虑分段调制或同步调制。启动阶段尤其要注意,载波比低于50时,抖动几乎不可避免。

不同调制策略对比:

调制策略 优点 缺点 适用场景
固定载波PWM 实现简单,开关频率固定 高低速性能不均衡 对成本敏感、性能要求不高的场合
同步调制 载波比恒定,谐波特性好 实现复杂,需要实时调整载波频率 中高速运行的电机
分段调制 兼顾低速和高速性能 切换点处理不好会引入抖动 宽调速范围应用
随机PWM 分散谐波频谱,降低电磁噪声 瞬时电流纹波较大 对噪声敏感的场合

避坑指南:我曾经在一个项目中用了固定载波PWM,低速启动时电机抖得像筛子。后来改成同步调制,载波比锁定在120,启动抖动直接消失。有时候不是算法不行,是调制策略没选对。

4.3 死区效应:看不见的电压畸变

死区时间,是为了防止上下桥臂直通而插入的延迟。但死区会带来一个副作用——输出电压畸变。

为什么会这样?死区时间内,电流通过续流二极管续流,输出电压被钳位到母线电压或地,而不是理想的PWM波形。这个误差在电流过零附近尤其明显,导致电压波形出现“台阶”或“缺口”。

死区效应的三个影响:

  • 电压损失:实际输出电压低于给定电压,等效于串联了一个电阻。
  • 电流畸变:电流过零时出现“钳位”现象,波形变差。
  • 力矩脉动:特别是低速时,死区时间占PWM周期的比例大,力矩波动明显。

我记得有一次调试一个2kW的永磁同步电机,空载启动时电机“咔咔”响,电流波形在过零处有明显的平顶。查了死区时间,设的是3微秒。对于10kHz的载波,死区占空比达到3%。这个比例在低速时足以引起明显的力矩脉动。

死区补偿的常见方法:

补偿方法 原理 效果
电压前馈补偿 根据电流方向,在电压给定中叠加补偿量 效果较好,但依赖电流极性检测精度
脉冲宽度补偿 直接调整PWM脉冲宽度,抵消死区影响 实现简单,适合固定死区时间
电流过零处理 在电流过零附近特殊处理,避免钳位 能有效改善过零畸变
自适应补偿 根据母线电压和电流实时调整补偿量 效果最好,但实现复杂

注意:死区补偿不是越大越好。补偿过量会导致过补偿,反而引入新的谐波。我建议先测量实际死区时间(包括驱动芯片的延迟),再计算补偿量。不要只看手册上的标称值。

死区效应的定量分析:

死区引起的电压误差可以近似表示为:

ΔV ≈ (T_dead / T_sw) × V_dc × sign(i)

其中:

  • T_dead:死区时间
  • T_sw:PWM开关周期
  • V_dc:直流母线电压
  • sign(i):电流方向(+1或-1)

你看,死区时间占比越大,电压误差越大。低速时开关周期长,死区占比小?不对,低速时基波电压低,死区误差占给定电压的比例反而大。这就是为什么低速抖动更明显。

总结一下:供电电压波动、PWM调制策略、死区效应,这三个问题往往同时出现。我建议的排查顺序是:先看供电(示波器挂母线),再看调制(检查载波比和调制比),最后查死区(测量实际死区时间)。按这个顺序走,大部分启动抖动问题都能找到根因。