4. 同步控制性能指标

各位搞多轴同步的兄弟,今天咱们聊点硬核的——位置环和速度环的调优。说实话,我见过太多项目,硬件选型没问题,电机也是大牌,但同步精度就是上不去。问题出在哪?十有八九是PID没调好。

你想想看,多轴同步说白了就是让几个轴像一个人走路一样协调。但每个轴都有自己的脾气——惯量不同、摩擦力不同、响应速度不同。PID参数就是用来驯服这些脾气的工具。调好了,四轴八轴都能同步得像一台机器;调不好,两个轴都能给你扭出麻花来。

4.1 位置环与速度环的角色分工

先搞清楚一件事:位置环和速度环不是各干各的,它们是嵌套关系。速度环在里面,位置环在外面。位置环给速度环发指令,速度环再去驱动电机。

我习惯用这个比喻:速度环是运动员,负责跑得快、跑得稳;位置环是教练,告诉运动员该跑到哪、什么时候停。教练喊得急了,运动员可能摔跤;教练喊得慢了,运动员又跑不到位。

控制环 输入 输出 主要目标 带宽范围
位置环 位置指令 速度指令 定位精度、跟随误差 10~50 Hz
速度环 速度指令 电流/转矩指令 速度平稳、抗扰动 100~500 Hz

这里有个关键点:速度环的带宽必须比位置环高一个数量级。如果速度环响应慢,位置环再怎么调也是白费力气。我在调试一台六轴机器人时遇到过这问题——位置环增益加到200了,轴还是抖。后来发现是速度环带宽只有30Hz,根本跟不上位置环的指令变化。

4.2 PID参数整定对同步精度的影响

PID三个参数,每个都有自己的脾气。我总结了一个口诀,虽然糙但管用:P管响应,I管精度,D管稳定。

4.2.1 比例增益(Kp)

Kp是主力。Kp越大,系统响应越快,位置误差越小。但Kp不是越大越好——过大会引起超调,甚至震荡。

对于多轴同步,我建议这样调:

  • 先让所有轴在空载下跑同样的轨迹
  • 从Kp=10开始,每次增加5,直到出现轻微震荡
  • 然后退回80%的值作为基准
  • 各轴的Kp尽量保持一致,差异不要超过10%
注意: 我曾经在一条包装线上,两个轴的Kp差了30%。结果同步误差从0.1mm直接飙到0.8mm。后来把参数拉平,误差立刻降下来。多轴同步,参数一致性比参数绝对值更重要。

4.2.2 积分增益(Ki)

Ki的作用是消除稳态误差。但Ki有个副作用——它会引入相位滞后。对于同步系统来说,相位滞后意味着轴与轴之间的延迟差会变大。

我的经验是:Ki能不用就不用,能小用就小用。如果位置环的稳态误差在允许范围内,干脆把Ki设成0。实在要用,Ki值不要超过Kp的1/10。

4.2.3 微分增益(Kd)

Kd是双刃剑。用好了能抑制超调,用不好会放大噪声。在伺服系统里,我一般只在速度环用Kd,位置环很少用。

为什么?因为位置环的指令通常是平滑的轨迹曲线,微分项对噪声太敏感。你想想看,编码器反馈稍微抖一下,微分项就能给你放大成一个很大的修正量,轴反而更不稳。

4.3 前馈补偿的应用

PID是被动纠偏——等误差出来了才去修正。前馈是主动预防——提前算好需要多少力,直接给上去。

前馈补偿的核心公式很简单:

速度前馈 = 位置指令微分 × 速度前馈增益
转矩前馈 = 加速度指令 × 惯量前馈增益

但实际应用时要注意几点:

  • 速度前馈:主要减少跟随误差。我习惯先设50%,看效果再往上加。加到80%以上时要注意,如果指令有突变,前馈会引起冲击。
  • 加速度前馈:主要补偿惯性力。这个参数跟负载惯量直接相关。换负载后一定要重新标定。
  • 摩擦前馈:很多驱动器支持。对于低速运行的轴,摩擦力占比大,加上摩擦前馈能明显改善同步精度。
调试技巧: 我调试多轴同步时,会先关掉所有前馈,把PID调稳。然后逐个打开前馈通道,每次只加一个。这样出了问题能快速定位是哪个参数引起的。

4.4 陷波滤波器抑制机械谐振

机械谐振是同步精度的头号杀手。一旦某个轴发生谐振,整个系统的同步误差会瞬间放大。谐振频率通常在几十到几百赫兹,跟机械结构的刚度、质量分布有关。

陷波滤波器的作用就是:在谐振频率点挖一个坑,把那个频率的能量吸收掉。

典型的陷波滤波器传递函数:

H(s) = (s² + ω₀²) / (s² + 2ζω₀s + ω₀²)

其中:
ω₀ = 2πf₀(f₀为谐振频率)
ζ  = 阻尼比(通常取0.1~0.3)

实际调试步骤:

  1. 找谐振点:用驱动器的FFT功能扫频,或者用手转动轴听声音。高频啸叫声通常就是谐振点。
  2. 设置中心频率:把f₀设成测到的谐振频率。
  3. 设置陷波深度:一般从-10dB开始,不够再加。太深会影响系统带宽。
  4. 验证效果:跑一遍同步轨迹,看误差曲线是否平滑了。
避坑指南: 我曾经在一个项目上,谐振频率是280Hz,我设了陷波滤波器后轴确实不抖了。但后来发现同步误差反而变大了——因为陷波滤波器把280Hz附近的相位也改变了,导致轴与轴之间的相位差增大。所以记住:陷波滤波器是治标不治本的。如果机械结构本身有问题,先改机械,再用滤波器做最后一道防线。

4.5 调优流程与实战要点

说了这么多,我整理一个实战调优流程,照着做基本不会翻车:

  1. 机械检查:联轴器是否松动?导轨是否卡涩?先排除机械问题。
  2. 速度环粗调:Kp从低到高,找到临界值后回退30%。Ki尽量小。
  3. 位置环粗调:Kp从低到高,观察跟随误差。目标是把误差控制在允许范围的50%以内。
  4. 前馈补偿:先加速度前馈,再速度前馈。每加一个就跑一次完整轨迹验证。
  5. 谐振抑制:如果轴有抖动,用陷波滤波器处理。
  6. 同步验证:让所有轴跑同样的S曲线,记录最大同步误差。
  7. 微调:根据同步误差曲线,微调各轴的Kp和Ki,让误差曲线尽量重合。
核心原则: 多轴同步调优,不是把每个轴都调到最优,而是让所有轴的动态特性尽量一致。哪怕每个轴都有点小误差,只要误差曲线形状一样,同步精度就能做得很高。

嗯,这里要注意一点:调参时一定要用统一的轨迹。我习惯用S曲线,加减速时间设成一样。这样各轴的响应差异才能暴露出来。

最后说一句:PID参数没有万能公式。每台机器的机械特性都不一样,参数必须现场调。但掌握了今天讲的这些原理和方法,你至少知道该往哪个方向调,而不是瞎蒙。

多轴同步调优核心逻辑 多轴同步精度提升 PID参数整定 前馈补偿 谐振抑制 PID参数整定 Kp决定响应速度 Ki消除稳态误差 Kd抑制超调 前馈补偿 速度前馈减跟随误差 加速度前馈补惯性 摩擦前馈补低速 谐振抑制 FFT扫频找谐振点 设置陷波频率/深度 验证相位影响 核心原则:各轴动态特性一致 参数一致性 > 单轴最优 调优顺序:速度环 → 位置环 → 前馈 → 谐振 → 同步验证 每次只改一个参数,跑完整轨迹验证效果