2. 惯量辨识原理:手动惯量辨识与在线惯量辨识的工程方法,以及辨识不准时的典型表现

做伺服调参这么多年,我见过太多工程师一上来就调增益、调带宽,结果越调越乱。其实有个关键步骤经常被跳过——惯量辨识。

说白了,伺服驱动器并不知道你带的负载有多重。它只能按内部模型算电流。你告诉它负载是轻的,它就用轻负载的算法;你告诉它是重的,它就用重负载的算法。如果这个值错了,后面所有参数都是白调。

这一章,我就把惯量辨识的底牌翻给你看。

2.1 什么是惯量比?为什么它这么重要?

先明确一个概念:惯量比 = 负载惯量 / 转子惯量。

大多数伺服驱动器出厂默认惯量比是 1 倍,也就是负载惯量和电机转子一样重。但实际现场呢?我遇到过带大转盘的设备,惯量比能到 30 倍以上。也遇到过带轻载小滑台的,只有 0.5 倍。

惯量比直接影响三个东西:

  • 响应速度:惯量比越大,系统越“迟钝”,同样的增益下响应变慢
  • 稳定性:惯量比偏差大时,系统容易震荡甚至啸叫
  • 轨迹精度:加减速阶段的跟随误差会明显增大

核心结论:惯量比是伺服调参的“地基”。地基歪了,上面盖的楼(增益、带宽、滤波器)全是危房。

2.2 手动惯量辨识:最可靠的老办法

手动辨识,说白了就是让电机自己“掂量”一下负载有多重。原理很简单:给一个已知的转矩,测加速度,然后反推惯量。

2.2.1 加减速法

这是最经典的方法。操作步骤:

  1. 让电机在空载下匀速运行(比如 500 rpm)
  2. 记录此时的转矩电流 Iq1
  3. 让电机带负载重复同样的速度,记录 Iq2
  4. 惯量比 ≈ (Iq2 - Iq1) / (加速度 × 转子惯量)

嗯,这里要注意:加速度必须保持一致。我见过有人用手动加减速,每次按按钮的力度不一样,结果算出来的值差好几倍。

2.2.2 转矩注入法

很多高端驱动器支持这个功能。驱动器会注入一个正弦波转矩信号,然后分析速度响应。

// 伪代码示意:转矩注入法核心逻辑
注入频率 f = 10 Hz
注入幅值 T_inj = 5% 额定转矩
测量速度响应幅值 V_amp 和相位差 φ
惯量 J = T_inj / (2π × f × V_amp × sin(φ))

这个方法的好处是不需要电机跑起来,静止状态就能做。我调试一个大型龙门铣时就用过这招,电机锁轴状态下直接注入,避免了机械冲击。

我的习惯:手动辨识至少做 3 次,取中间值。如果 3 次结果偏差超过 10%,说明机械有异常(比如导轨卡滞、皮带打滑),先排查机械再继续调参。

2.3 在线惯量辨识:自动化的双刃剑

在线辨识,就是驱动器在正常运行过程中,实时估算惯量比。听起来很美好,但实际用起来有不少坑。

2.3.1 工作原理

在线辨识通常基于模型参考自适应系统(MRAS)。核心思路:

  • 建立一个参考模型(理想电机模型)
  • 一个可调模型(带未知惯量参数)
  • 比较两个模型的输出误差,用自适应律调整惯量参数

说白了,就是让驱动器自己猜,猜错了就修正,直到猜对为止。

2.3.2 在线辨识的触发条件

不是任何时候都能做在线辨识。大多数驱动器要求:

条件 要求 原因
速度变化 必须有明显的加减速过程 匀速段没有加速度信息,无法辨识
负载转矩稳定 外部负载不能剧烈波动 负载变化会被误认为是惯量变化
速度环增益 不能太低(建议 > 10 Hz) 增益太低时速度响应慢,辨识收敛慢
辨识时间 至少 2~3 个加减速周期 需要足够的数据窗口

我曾经在一个包装机上吃过亏。那个设备每分钟启停 60 次,按理说在线辨识条件很好。但结果辨识出来的惯量比忽大忽小。查了半天才发现——切刀机构在每次动作时负载会突变,在线辨识把负载变化当成了惯量变化。

避坑指南:在线辨识结果不要直接写入参数。我建议先让它跑 10 个周期,取平均值,再手动写入。直接自动写入的话,万一遇到一次异常扰动,参数就乱了。

2.4 辨识不准时的典型表现

惯量辨识不准,系统会有一系列“症状”。我总结了一个快速诊断表:

症状 可能原因 现场判断方法
低速运行时抖动 惯量比设置偏小 用手摸电机外壳,感觉高频微振
高速运行时啸叫 惯量比设置偏大 听声音,通常在 1~2 kHz 频段
加减速过冲大 惯量比偏小 用示波器看速度阶跃响应,超调量 > 20%
定位时间变长 惯量比偏大 从启动到到位的时间比正常值长 30% 以上
跟随误差波动 惯量比与实际偏差 > 50% 看位置误差曲线,呈周期性波动

你想想看,如果惯量比设成 1 倍,实际是 10 倍,会怎样?驱动器以为负载很轻,给的增益很高。结果就是系统震荡,电机嗡嗡响,严重时直接报过载。

反过来,如果惯量比设得太大,驱动器会以为负载很重,给的增益很低。系统变得“肉肉的”,响应慢,定位拖泥带水。

我的经验法则:惯量比偏差在 ±30% 以内,系统通常还能稳定运行,只是性能打折扣。超过 ±50%,基本必出问题。超过 ±100%,别想了,直接报故障。

2.5 惯量辨识的完整流程

下面这张图是我自己总结的惯量辨识决策流程,你可以直接贴在调试间墙上:

惯量辨识决策流程图 开始惯量辨识 机械状态是否正常? (导轨、皮带、联轴器) 先排查机械问题 可以进行辨识 是否允许停机做手动辨识? (生产节拍允许吗?) 手动辨识(加减速法) 在线辨识(MRAS) 验证并写入参数

这个流程我用了快十年。核心原则就一条:先确认机械,再选方法,最后验证。

2.6 几个实战技巧

  • 手动辨识时,速度环增益要临时降低。增益太高时,速度响应太快,辨识结果会被噪声淹没。我一般降到 5~10 Hz 再做。
  • 在线辨识时,滤波时间常数要适当加大。特别是速度反馈滤波,设到 2~5 ms 比较稳妥。太小了辨识结果跳动大。
  • 辨识完成后,做一次阶跃响应测试。给一个 100 rpm 的阶跃,看超调量和稳定时间。如果超调 < 10%,稳定时间 < 50 ms,说明惯量比基本对了。
  • 对于垂直轴(带重力负载),要特别注意。重力转矩会干扰辨识结果。我建议在垂直轴上先做静态转矩补偿,再做惯量辨识。

一个小技巧:如果你不确定辨识结果准不准,可以手动把惯量比调大 50% 和调小 50%,分别跑一次同样的轨迹。如果两次结果差异很大,说明辨识是准的。如果差异很小,说明你的系统对惯量不敏感,那就不用纠结精确值了。

嗯,惯量辨识这块就讲这么多。记住一句话:惯量比是伺服调参的起点,不是终点。起点对了,后面的路就好走了。