2. 跟随性核心指标:跟随误差、稳态误差、动态误差、带宽、相位裕度
做伺服驱动这些年,我见过太多工程师一上来就调PID参数,调了半天发现效果还是不行。为什么?因为你不清楚到底要优化哪个指标。
跟随性好不好,不是靠感觉的。它有五个核心指标来衡量。这五个指标就像汽车的仪表盘——速度、转速、油温、胎压、电量。你只看一个,肯定出问题。
今天我就把这五个指标掰开揉碎了讲清楚。每个指标我都会告诉你:它是什么、怎么算、怎么用、以及我踩过的坑。
核心观点:跟随性优化的本质,就是在这五个指标之间找平衡。你不可能让所有指标都完美,但你必须知道哪个指标对你的应用最重要。
2.1 跟随误差——最直观的指标
跟随误差,说白了就是「指令位置」和「实际位置」之间的差值。你让电机走到100mm,它实际走到99.8mm,那0.2mm就是跟随误差。
我习惯用这个公式来理解:
e(t) = θ_cmd(t) - θ_act(t)
其中:
e(t) — 跟随误差(随时间变化)
θ_cmd(t) — 指令位置
θ_act(t) — 实际位置
注意,跟随误差是实时变化的。它不是固定值。加速的时候误差大,匀速的时候误差小,减速的时候又可能反向。
我的经验:调试时先用示波器看跟随误差曲线。如果曲线像正弦波一样震荡,说明增益太高;如果曲线一直偏在一边,说明有静差或者摩擦力补偿不够。
我在一个半导体封装设备项目里遇到过这种情况:跟随误差在低速时只有2个脉冲,但一加速到高速就飙到50个脉冲。后来发现是速度前馈没加。加了前馈之后,高速时的跟随误差降到了5个脉冲以内。
2.2 稳态误差——系统稳定后的「老毛病」
稳态误差和跟随误差不一样。跟随误差看的是全过程,稳态误差只看系统稳定之后的残余误差。
举个例子:你让伺服从静止加速到1000rpm,刚加速那会儿误差很大,但等它稳定运行在1000rpm之后,如果还有误差,那就是稳态误差。
稳态误差主要取决于:
- 系统类型(Type):0型系统对阶跃输入有稳态误差,I型系统对斜坡输入有稳态误差
- 开环增益:增益越高,稳态误差越小
- 扰动:负载变化、摩擦力等外部因素
| 系统类型 | 阶跃输入 | 斜坡输入 | 加速度输入 |
|---|---|---|---|
| 0型 | 有稳态误差 | ∞ | ∞ |
| I型 | 0 | 有稳态误差 | ∞ |
| II型 | 0 | 0 | 有稳态误差 |
注意:不要为了消除稳态误差而无限提高增益。增益太高会导致系统震荡甚至不稳定。我曾经见过一个工程师把位置环增益调到500,稳态误差确实没了,但电机一启动就尖叫——那是震荡的前兆。
2.3 动态误差——加减速时的「硬伤」
动态误差,我更喜欢叫它「瞬态误差」。它发生在系统状态变化的时候——启动、停止、加减速、换向。
为什么动态误差重要?因为大多数伺服系统不是在匀速状态下工作的。数控机床要频繁加减速,机器人要不断换向。动态误差直接影响加工轮廓精度。
动态误差的来源:
- 加速度限制:电机扭矩不够,跟不上指令加速度
- 速度前馈不足:速度环响应慢,导致位置滞后
- 摩擦和惯性:机械系统的非线性因素
- 滤波器延迟:为了滤除噪声,加了低通滤波器,但引入了相位延迟
我记得有一次调试一台高速贴片机,动态误差一直降不下来。后来发现是加速度前馈参数设错了。加速度前馈的作用是提前补偿惯性力,让电机在加速时「有准备」。调好之后,动态误差直接降了60%。
2.4 带宽——系统的「反应速度」
带宽,简单理解就是系统能响应的最高频率。带宽越高,系统反应越快,跟随性越好。
但带宽不是越高越好。为什么?因为带宽越高,系统对高频噪声也越敏感。而且带宽受限于机械谐振频率。
带宽的工程定义:
带宽 = 闭环系统幅频特性下降到 -3dB 时的频率
单位:Hz 或 rad/s
实际调试中,我一般这样估算:
- 速度环带宽 ≈ 速度环增益 / (2π)
- 位置环带宽 ≈ 位置环增益 / (2π) × 0.3~0.5
经验法则:位置环带宽通常是速度环带宽的1/5到1/3。如果你把位置环带宽设得比速度环还高,系统一定会震荡。这是很多新手容易犯的错误。
2.5 相位裕度——稳定性的「安全垫」
相位裕度,很多人觉得它抽象。我换个说法:它衡量的是系统离「震荡」还有多远。
相位裕度的定义:在开环增益为0dB的频率处,系统的相位距离-180°还有多少度。
相位裕度 PM = 180° + ∠G(jω_c)
其中 ω_c 是穿越频率(增益为0dB处的频率)
相位裕度多少合适?
| 相位裕度范围 | 系统表现 | 适用场景 |
|---|---|---|
| PM < 30° | 震荡风险高,超调大 | 不推荐使用 |
| 30° ≤ PM ≤ 45° | 响应快,有一定超调 | 对快速性要求高的场合 |
| 45° ≤ PM ≤ 60° | 响应适中,稳定性好 | 大多数通用场合 |
| PM > 60° | 响应慢,但非常稳定 | 对稳定性要求极高的场合 |
我的习惯:调试时先用扫频仪测一下系统的伯德图。如果相位裕度低于30°,我会优先降低增益或者调整滤波器参数。如果相位裕度高于70°,我会适当提高增益来提升响应速度。
2.6 五个指标的关系——牵一发而动全身
这五个指标不是独立的。它们之间相互影响:
- 带宽↑ → 跟随误差↓:反应快了,跟踪更准
- 带宽↑ → 相位裕度↓:反应快了,稳定性下降
- 增益↑ → 稳态误差↓:但可能引发震荡
- 动态误差↓ → 需要更高带宽:但受限于机械谐振
说白了,你不可能让所有指标都完美。你需要根据应用场景做取舍。
举个例子:
- 数控机床:优先保证动态误差小,因为加工轮廓精度最重要。带宽要够,但相位裕度不能低于40°。
- 印刷设备:优先保证稳态误差小,因为套印精度要求高。带宽可以适当降低。
- 机器人:优先保证带宽和相位裕度的平衡,因为既要快速响应又要稳定。
避坑指南:我曾经在一个项目中,为了追求极致的跟随误差,把带宽调到了300Hz。结果一上负载,电机就开始高频震荡。后来发现是机械谐振频率只有250Hz。记住:带宽不能超过机械谐振频率的1/3到1/2,否则就是给自己挖坑。