4. 抖动原因分析(上):供电电压波动、PWM调制策略不当、死区效应
电机一启动就抖,这事儿我碰过太多次了。很多工程师第一反应是PID参数没调好,上来就调比例积分微分。但说实话,很多时候根子不在算法上,而在更基础的物理层。
这一节,咱们就聊聊三个最常见的“隐形杀手”:供电电压波动、PWM调制策略不当,还有死区效应。搞懂这三个,你至少能排除一半的启动抖动问题。
核心观点:启动抖动往往是“电”的问题先于“控”的问题。先把供电和调制搞干净,再谈算法优化。
4.1 供电电压波动:被低估的“软脚”问题
供电电压波动,说白了就是电机“吃不饱”或者“吃撑了”。启动瞬间电流很大,如果电源内阻大、线路细,直流母线电压会被瞬间拉低。电压一掉,电流环输出就乱,力矩跟着抖。
我记得有一次调试一个750W的伺服电机,启动时总是前两圈抖得厉害。查了半天,发现是24V开关电源带不动峰值电流,母线电压从24V掉到了19V。换个功率大点的电源,问题直接消失。
常见的电压波动场景:
- 直流母线电压跌落:启动电流冲击导致母线电容放电过快,电压骤降。
- 纹波过大:整流滤波不充分,母线电压含有较大的100Hz/120Hz纹波。
- 线路压降:长距离供电线径不足,启动时压降可达数伏。
我的习惯:调试新系统时,第一件事就是拿示波器挂直流母线,看启动瞬间的电压波形。如果跌落超过5%,先解决供电,再谈控制。
电压波动对启动抖动的直接影响:
| 电压波动类型 | 典型表现 | 抖动特征 |
|---|---|---|
| 母线电压跌落 | 启动瞬间电压骤降5%-15% | 启动初期力矩不足,转速爬升慢,伴随低频抖动 |
| 纹波过大 | 母线电压有显著100Hz/120Hz波动 | 电机出现与电网频率相关的周期性抖动 |
| 线路压降 | 电机端电压低于驱动器输出电压 | 高速段力矩不足,启动时加速不均匀 |
注意:不要以为用了稳压电源就万事大吉。很多稳压电源的动态响应不够快,面对电机启动的瞬态电流冲击,电压照样会掉。我曾经吃过这个亏,后来改用带“峰值电流能力”标注的工业电源才搞定。
4.2 PWM调制策略不当:载波比和调制比的陷阱
PWM调制这事儿,看着简单,坑不少。我见过太多人把载波频率设得高高的,觉得越高越好。其实不然。
两个关键参数:
- 载波比:载波频率与基波频率的比值。载波比太低,电流谐波大,电机容易“嗡嗡”响,启动时力矩脉动明显。
- 调制比:调制波幅值与载波幅值的比值。调制比超过1进入过调制区,输出电压波形畸变,力矩波动加剧。
你想想看,电机刚启动时转速低,基波频率可能只有几赫兹。如果载波频率固定为10kHz,载波比高达几千,没问题。但转速一上来,基波频率到100Hz时,载波比就降到100了。这时候谐波含量明显增加。
调制策略不当的典型问题:
- 固定载波频率:低速时载波比过高(开关损耗大),高速时载波比不足(谐波大)。
- 调制比饱和:启动时为了快速建立电流,给定电压过高,进入过调制区,电压波形畸变。
- 死区补偿不足:死区时间在低载波比时影响更大,导致电压误差比例上升。
经验数据:我个人习惯将载波比保持在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调制策略、死区效应,这三个问题往往同时出现。我建议的排查顺序是:先看供电(示波器挂母线),再看调制(检查载波比和调制比),最后查死区(测量实际死区时间)。按这个顺序走,大部分启动抖动问题都能找到根因。