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 动态误差——加减速时的「硬伤」

动态误差,我更喜欢叫它「瞬态误差」。它发生在系统状态变化的时候——启动、停止、加减速、换向。

为什么动态误差重要?因为大多数伺服系统不是在匀速状态下工作的。数控机床要频繁加减速,机器人要不断换向。动态误差直接影响加工轮廓精度。

动态误差的来源:

  1. 加速度限制:电机扭矩不够,跟不上指令加速度
  2. 速度前馈不足:速度环响应慢,导致位置滞后
  3. 摩擦和惯性:机械系统的非线性因素
  4. 滤波器延迟:为了滤除噪声,加了低通滤波器,但引入了相位延迟

我记得有一次调试一台高速贴片机,动态误差一直降不下来。后来发现是加速度前馈参数设错了。加速度前馈的作用是提前补偿惯性力,让电机在加速时「有准备」。调好之后,动态误差直接降了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,否则就是给自己挖坑。