3. 惯量辨识原理:从运动方程到工程实践
大家好,我是老张。今天咱们聊聊惯量辨识的原理。说实话,这个知识点我当年刚入行时也觉得挺抽象的,直到在产线上被一台大惯量设备折腾了三天三夜……嗯,从那以后,我对惯量辨识的理解就深刻多了。
惯量辨识,说白了就是让伺服系统自己算出负载有多“重”。不是物理重量,而是转动惯量——你可以理解为旋转时的“惯性大小”。为什么重要?因为伺服系统的增益参数跟负载惯量直接挂钩。负载变了,参数不跟着变,系统就容易抖或者响应慢。
核心观点:惯量辨识是自适应整定的前提。没有准确的惯量值,后面谈什么自动调参都是空中楼阁。
3.1 惯量辨识的数学模型
先看最基本的运动方程。伺服电机的动力学模型其实很简单:
J * dω/dt = Te - TL - B * ω
其中:
- J —— 总惯量(电机转子+负载),单位 kg·m²
- ω —— 电机角速度,单位 rad/s
- Te —— 电磁转矩,单位 N·m
- TL —— 负载转矩,单位 N·m
- B —— 粘性摩擦系数
这个方程是所有惯量辨识方法的起点。你想想看,如果我们能知道Te、ω和TL,那J不就解出来了吗?但问题在于——TL通常是未知的,而且会随着工况变化。
我个人习惯把运动方程改写成离散形式,方便在数字控制器里实现:
J * (ω[k] - ω[k-1]) / Ts = Te[k-1] - TL[k-1] - B * ω[k-1]
这里Ts是采样周期。我在项目中遇到过一个问题:采样周期选得太小,噪声放大得厉害;选得太大,又跟不上动态变化。后来我总结了一个经验——采样周期取电流环周期的5~10倍比较合适。
3.2 基于运动方程的辨识方法
这是最直观的方法。说白了就是让电机跑一段特定的轨迹,然后通过测量转矩和速度来反推惯量。
常用的方法有两种:
- 加减速法:让电机以恒定加速度加速,再以恒定减速度减速。通过加速段和减速段的转矩差来消除负载转矩的影响。
- 正弦扫描法:给电机施加正弦速度指令,通过频率响应来辨识惯量。
加减速法的原理很简单。假设加速段转矩为Te_acc,减速段转矩为Te_dec,忽略摩擦:
J * α = Te_acc - TL
J * (-α) = Te_dec - TL
两式相减,TL就消掉了:
J = (Te_acc - Te_dec) / (2 * α)
你看,多巧妙!不需要知道负载转矩,只需要测两个转矩值和一个加速度值。
我的经验:加减速法在实际应用中最稳定。我曾经在一条包装生产线上用这个方法,辨识误差控制在3%以内。但要注意——加速度不能太大,否则会触发电流限幅;也不能太小,否则转矩差会被噪声淹没。
3.3 基于扰动观测器的辨识方法
这个方法更高级一些。扰动观测器(DOB)本来是用于估计外部扰动的,但我们可以用它来估计负载转矩,然后结合运动方程反推惯量。
扰动观测器的基本思想是:把实际系统与标称模型之间的差异看作一个“等效扰动”,然后通过滤波器估计出来。
具体到惯量辨识,流程是这样的:
- 建立标称模型,假设惯量为J_nom
- 运行扰动观测器,估计出等效扰动d_hat
- 等效扰动中包含惯量误差项:(J - J_nom) * dω/dt
- 通过最小二乘法或递推算法,从d_hat中提取出真实的J
这个方法的好处是可以在线运行,不需要专门的辨识轨迹。但缺点也很明显——对模型精度要求高,而且滤波器参数不好调。
注意:扰动观测器方法对低速段效果不好。为什么?因为dω/dt在低速时信噪比太低。我曾经在0.5rpm以下试过,结果辨识出来的惯量值忽大忽小,完全没法用。所以建议在额定转速的10%以上运行。
3.4 离线辨识与在线辨识的区别
这个问题我经常被问到。简单来说:
| 对比项 | 离线辨识 | 在线辨识 |
|---|---|---|
| 执行时机 | 系统停机或空闲时 | 系统正常运行中 |
| 轨迹要求 | 需要专门的辨识轨迹 | 利用实际运行数据 |
| 精度 | 较高(可控制条件) | 受工况影响较大 |
| 计算量 | 可离线处理,计算量大没关系 | 需实时计算,算法要轻量 |
| 适用场景 | 初次调试、负载变化不频繁 | 负载频繁变化、需要自适应 |
我个人建议:初次调试用离线辨识,运行中用在线辨识做微调。这样既保证了精度,又兼顾了实时性。
离线辨识的典型做法是:让电机跑一段“S型速度曲线”,采集全程的转矩和速度数据,然后用最小二乘法离线拟合。我习惯在数据采集后先做一次低通滤波,把高频噪声去掉,效果会好很多。
在线辨识则常用递推最小二乘法(RLS)或卡尔曼滤波。这些算法可以逐点更新惯量估计值,但要注意——如果负载转矩变化太快,算法可能跟不上。我曾经在冲压机床上遇到过这个问题,负载每秒钟变化好几次,RLS根本收敛不了。后来改用带遗忘因子的RLS,才勉强能用。
避坑指南:我曾经在调试一台印刷机时,离线辨识结果很准,但一上线就乱跳。查了半天才发现——印刷滚筒的惯量会随着纸张卷径变化而缓慢变化。离线辨识只代表当前状态,不能一劳永逸。所以对于这种变惯量负载,必须用在线辨识持续跟踪。
知识体系总览
下面这张图总结了惯量辨识的核心逻辑,我画了很久才满意:
这张图把整个惯量辨识的脉络理清楚了。从运动方程出发,分两大技术路线,再落实到具体的执行方式,最后服务于自适应整定。你想想看,是不是一目了然?
好了,关于惯量辨识的原理就聊到这里。记住一句话:方法没有绝对的好坏,只有合不合适。加减速法简单可靠,适合大多数场合;扰动观测器法更灵活,但对算法功底要求高。选哪种,取决于你的应用场景和团队能力。