2、振动源分析:齿槽转矩、磁链谐波、电流采样噪声、死区效应
做FOC控制这么多年,我踩过最多的坑,就是振动问题。你想想看,电机转起来嗡嗡响,或者低速时一顿一顿的,客户那边直接退货。说白了,振动源就四个:齿槽转矩、磁链谐波、电流采样噪声、死区效应。今天我把它们一个个扒开来讲。
2.1 齿槽转矩——天生的“锯齿”
齿槽转矩是什么?简单说,就是永磁体和定子齿之间“吸来吸去”产生的力矩波动。电机没通电时,你用手转转子,感觉一卡一卡的,那就是齿槽转矩在作怪。
我在项目中遇到过一台12槽10极的电机,低速运行时转速波动特别大。一开始我以为是控制参数没调好,折腾了两天。后来用示波器看电流波形,发现电流里有个6次谐波特别明显。一算,正好是齿槽转矩的基频。
齿槽转矩的频率公式:
f_cog = N_c * LCM(Z, 2p) / 60 * n
其中:N_c是齿槽转矩的谐波次数,Z是槽数,2p是极数,n是转速(rpm)。
怎么抑制?我个人的习惯是:
- 磁钢斜极——把磁钢斜着贴,相当于把齿槽转矩“抹平”。斜一个齿距效果最好。
- 定子斜槽——工艺上麻烦点,但效果类似。
- 分数槽绕组——比如12槽10极,齿槽转矩基频高,幅值小。
- 控制层面加谐波补偿——在电流环里注入反向的6次谐波。
我的经验:齿槽转矩在低速时最明显。如果你做的是伺服或者机器人关节,这个必须处理。我一般先测反电动势波形,看看有没有明显的“平顶”或“尖峰”,那往往是齿槽转矩的征兆。
2.2 磁链谐波——反电动势不是完美的正弦波
理想情况下,电机的反电动势是正弦波。但现实是,磁钢形状、绕组分布、磁路饱和,都会让反电动势里夹杂着谐波。最常见的是3次、5次、7次谐波。
这些谐波会干什么?它们会在电流环里产生对应的转矩脉动。比如5次谐波会产生6次转矩脉动,7次谐波也会产生6次转矩脉动。你想想看,两个6次叠加在一起,振动能不厉害吗?
磁链谐波引起的转矩脉动频率:
f_torque = 6 * f_electrical
其中f_electrical是电频率。所以6次谐波是FOC振动里的“头号通缉犯”。
我记得有一次做高速主轴电机,转速到30000rpm时,电机啸叫得厉害。用频谱仪一测,6次谐波比基波还大。后来怎么解决的?
- 优化电机设计——磁钢形状改成“面包形”,减少谐波含量。
- 控制算法补偿——在电流环里加谐振控制器,专门抑制6次谐波。
- 离线标定+查表——提前测出反电动势谐波,在控制里做前馈补偿。
注意:磁链谐波和齿槽转矩的振动频率可能重叠。比如6次转矩脉动,可能是齿槽转矩引起的,也可能是磁链谐波引起的。我建议先做空载实验,把齿槽转矩的影响单独分离出来。
2.3 电流采样噪声——ADC上的“雪花”
这个坑我栽过好几次。电流采样噪声,说白了就是ADC读到的电流值不准。原因很多:采样电阻的温漂、运放的偏置、PCB布局的干扰、PWM开关噪声耦合到采样回路。
你想想看,电流环的带宽通常有1-2kHz。如果采样噪声的频率落在电流环带宽内,它就会被控制器“当真”,然后输出错误的电压指令。结果就是电机振动。
采样噪声的典型来源:
1. PWM开关瞬间的尖峰干扰
2. 采样电阻的寄生电感
3. 运放的共模抑制比不足
4. ADC的量化噪声
我个人的处理方法是:
- 硬件层面——采样时刻避开PWM开关沿。我习惯在PWM载波的波峰或波谷采样,那时候开关噪声最小。
- 软件层面——加低通滤波器。但注意,滤波器截止频率不能太低,否则会引入相位延迟,影响电流环稳定性。
- 多次采样取平均——在一个PWM周期内采多次,然后平均。这个办法简单有效。
- 差分采样——用差分运放,抑制共模噪声。
我曾经:在一个项目里,电流采样噪声导致电机在100Hz附近有共振。查了两天,最后发现是采样电阻的PCB走线太长,引入了电感。把走线缩短后,问题解决。所以,硬件布局真的很重要。
2.4 死区效应——PWM里的“真空期”
死区时间,是逆变器上下桥臂同时关断的那段时间。目的是防止直通短路。但死区会带来一个问题:输出电压失真。
为什么会这样?因为死区期间,电流通过续流二极管续流。如果电流方向是正的,输出电压会被拉低;如果电流方向是负的,输出电压会被抬高。结果就是,实际输出电压和理想电压之间有了偏差。
死区引起的电压误差:
ΔV = (T_dead / T_sw) * V_dc * sign(I)
其中T_dead是死区时间,T_sw是PWM周期,V_dc是母线电压,sign(I)是电流方向。
这个电压误差会带来什么?它会引入低次谐波,尤其是3次、5次、7次。这些谐波又会导致转矩脉动。死区效应在轻载时特别明显,因为那时候电流小,死区时间占比大。
我建议的抑制方法:
- 死区补偿——根据电流方向,在PWM占空比里加上或减去一个补偿量。这是最常用的方法。
- 硬件改进——用更快的开关器件,减小死区时间。SiC或GaN器件可以做到几十纳秒的死区。
- 电流极性检测——死区补偿的关键是准确知道电流方向。但电流过零时,方向判断容易出错。我习惯加一个滞环,避免在过零点来回切换。
注意:死区补偿不是万能的。如果电流采样有偏置,补偿方向会搞反,反而让振动更严重。我曾经吃过这个亏,后来加了偏置校准才搞定。
2.5 四种振动源的对比与诊断
实际项目中,这四种振动源往往同时存在。怎么区分?我列个表,方便你对照诊断。
| 振动源 | 主要频率特征 | 负载相关性 | 速度相关性 | 诊断方法 |
|---|---|---|---|---|
| 齿槽转矩 | 与槽极配合相关,低速明显 | 与负载无关 | 随转速升高,频率升高 | 空载转动,测转矩波动 |
| 磁链谐波 | 6倍电频率为主 | 随负载增大而增大 | 随转速升高,频率升高 | 测反电动势谐波含量 |
| 电流采样噪声 | 高频随机噪声 | 与负载无关 | 与转速无关 | 看电流波形毛刺 |
| 死区效应 | 低次谐波(3,5,7次) | 轻载时更明显 | 与转速无关 | 对比有无死区补偿的电流波形 |
嗯,到这里,四种振动源就讲完了。你可能会问,知道了振动源,下一步怎么抑制?别急,后面的章节会一个一个讲具体的补偿算法。我个人建议,先把你手上的电机测一遍,看看哪个振动源是主要矛盾。抓住主要矛盾,问题就解决了一半。
总结一句话:齿槽转矩是“机械设计”的锅,磁链谐波是“电磁设计”的锅,电流采样噪声是“硬件+软件”的锅,死区效应是“PWM策略”的锅。对症下药,才能药到病除。