3. 执行器纹波与死区:电机齿槽转矩、力矩纹波、死区效应的数学描述与补偿思路
好,咱们进入第三章。这一章聊的是执行器层面的干扰——说白了,就是电机本身不干净。
你想想看,理想电机输出力矩应该和电流成正比,对吧?但现实世界里,电机转起来会有“咯噔咯噔”的感觉,低速时尤其明显。这就是齿槽转矩和力矩纹波在作怪。再加上驱动器死区,整个系统就像得了“帕金森”。
我个人习惯把这三类问题统称为“执行器脏数据”。不把它们处理干净,你的PID调得再好也没用。
3.1 齿槽转矩:天生的“锯齿”
齿槽转矩是永磁电机的“胎里毛病”。它源于定子齿槽和转子永磁体之间的磁阻变化。转子转到不同位置,磁路磁阻不一样,就产生了周期性的转矩波动。
数学上,齿槽转矩可以描述为:
T_cog(θ) = Σ T_n · sin(n · N_c · θ + φ_n)
其中:
- θ:转子电角度
- N_c:齿槽数(定子槽数与极对数的某种组合)
- T_n:第n次谐波的幅值
- φ_n:初始相位
说白了,这就是一个多频率叠加的正弦波。基频由齿槽数决定,高次谐波是磁路饱和、边缘效应带来的。
关键点:齿槽转矩和电流无关!电机不通电它也存在。你用手盘一下伺服电机的轴,感觉一顿一顿的,那就是齿槽转矩。
我在项目中遇到过一台直驱转台,低速跟踪时误差总是周期性跳动。查了半天,发现齿槽转矩的基频正好和机械谐振频率重合了。嗯,这种“共振”最头疼。
3.2 力矩纹波:电流换相的“疤痕”
力矩纹波和齿槽转矩不同,它是在电机通电运行时才出现的。主要来源有两个:
- 反电动势波形不理想——理想正弦波变成了畸变波
- 电流换相不连续——尤其是方波驱动时,换相瞬间力矩会掉下来
数学描述上,力矩纹波可以写成:
T_ripple(θ, i) = K_t(θ) · i - K_t0 · i0
其中K_t(θ)是随角度变化的力矩常数。理想情况下K_t是常数,但实际它含有谐波:
K_t(θ) = K_t0 + Σ K_tn · sin(n · θ + ψ_n)
所以力矩纹波本质上就是“力矩常数波动”乘以“电流”。
我的经验:对于正弦波驱动的永磁同步电机,5次和7次谐波是主要贡献者。做FFT分析时,重点关注这两个频率。
3.3 死区效应:驱动器的“犹豫期”
死区效应来自功率管开关的“非理想性”。为了防止上下桥臂直通,驱动器会在切换时插入一段死区时间——所有管子都关断。这段时间里,电流通过续流二极管走,输出电压就偏离了指令值。
死区效应的数学描述比较绕,我直接给结论:
ΔV_dead = -T_dead · f_sw · V_dc · sign(i)
其中:
- T_dead:死区时间(典型值1~3μs)
- f_sw:开关频率
- V_dc:母线电压
- sign(i):电流方向符号
你看,这个误差电压和电流方向有关。电流过零时,符号不确定,就会产生“零电流钳位”现象——电流在零附近死活过不去。
避坑指南:我曾经调试一个低速龙门平台,发现电机在零速附近抖动。查了三天,最后发现是死区补偿参数设反了——电流方向检测有延迟,补偿反而加剧了纹波。所以,死区补偿一定要和电流采样同步好。
3.4 补偿思路:从“堵”到“疏”
处理这些干扰,我总结了三板斧:
| 干扰类型 | 补偿方法 | 适用场景 |
|---|---|---|
| 齿槽转矩 | 前馈补偿(查表法) | 低速、高精度定位 |
| 力矩纹波 | 谐波注入(自适应) | 中高速连续运动 |
| 死区效应 | 电压补偿+电流过零检测优化 | 所有工况 |
具体做法:
- 齿槽转矩补偿:先离线测出齿槽转矩曲线,存成查找表。运行时根据转子位置查表,把对应的补偿力矩加到电流指令里。注意,补偿值要经过低通滤波,别引入高频噪声。
- 力矩纹波补偿:用自适应算法在线辨识谐波幅值和相位,然后反向注入。我习惯用LMS(最小均方)算法,收敛快,计算量小。
- 死区补偿:根据电流方向和死区时间,计算补偿电压,叠加到PWM占空比上。关键是要处理好电流过零时的“模糊区”——我一般加一个滞环,避免频繁切换。
核心思想:补偿不是消除干扰,而是“以毒攻毒”——用已知的干扰模型,生成反向的抵消信号。模型越准,补偿效果越好。
3.5 知识体系图
下面这张图总结了执行器干扰的三大来源和补偿策略的对应关系:
这张图把三个干扰源、它们的数学本质以及对应的补偿方法串在了一起。你对照着看,思路会清晰很多。
一个小建议:实际项目中,别一上来就搞复杂的自适应算法。先试试离线标定+查表法,简单可靠。如果效果不够,再上自适应。我见过太多人把简单问题复杂化了。
好了,执行器层面的干扰就聊到这儿。记住,电机不是完美的,但我们可以用脑子让它“表现得完美”。
公众号:蓝海资料掘金营,微信deep3321