2. PID控制基础回顾:比例P、积分I、微分D的作用、PID参数对系统的影响、位置环与速度环
各位工程师朋友,咱们开始聊PID。说实话,我做了十几年运动控制,PID这东西就像老朋友一样。你越了解它,它就越听话。今天咱们就把这老朋友的脾气摸透。
2.1 比例P:最直接的“推手”
比例控制,说白了就是“有多大错,使多大劲”。
公式很简单:P_out = Kp × e(t)。其中e(t)是当前误差,Kp是比例增益。
我刚开始调伺服时,总喜欢把Kp往大了拧。觉得越大响应越快嘛。结果呢?电机嗡嗡响,跟得了帕金森似的。后来才明白,比例太大,系统会震荡,甚至发散。
核心要点:
- Kp越大,响应越快,但超调也越大
- Kp太小,系统反应迟钝,像没睡醒
- 纯比例控制必然存在稳态误差——这是它的“胎里毛病”
举个例子。你让电机转到1000转,比例控制下它可能只到980转。为什么?因为误差小了,输出的力也小了,刚好跟负载平衡。这20转的误差,就是稳态误差。
2.2 积分I:专治“老油条”误差
积分的作用,就是消除那个甩不掉的稳态误差。
公式:I_out = Ki × ∫e(t)dt
积分项会不断累积过去的误差。哪怕误差只有一点点,时间长了,积分值也会变大,最终把误差吃掉。
我的经验:
调积分时,我习惯先给一个很小的Ki值,比如0.01。然后慢慢往上加。为什么?因为积分太强,系统会“过冲”,然后来回震荡,这叫“积分饱和”。我曾经在一个龙门同步项目上吃过这个亏,两个轴因为积分饱和打架,差点把机械结构扭坏。
积分还有个副作用——它会降低系统的响应速度。你想想看,积分要慢慢累积,反应自然慢半拍。所以有些场合,比如快速定位,积分不能太大。
2.3 微分D:给系统装个“刹车”
微分看的是误差的变化趋势。误差在变大,它就输出负值,阻止它继续变大。误差在变小,它就收力,防止过冲。
公式:D_out = Kd × de(t)/dt
说白了,微分就是“预判”。它不关心你现在错多少,关心的是你下一步要错多少。
注意:
微分对噪声极其敏感。信号稍微抖一下,微分值就会剧烈跳动。我见过有人把Kd调得很大,结果电机高频抖动,比没调还糟糕。所以,如果你的反馈信号有毛刺,先滤波,再谈微分。
实际项目中,我很少单独用微分。它通常是跟P和I搭配使用,用来抑制超调,提高系统的稳定性。
2.4 PID参数对系统的影响
咱们用一张表来总结,这样更直观:
| 参数 | 响应速度 | 超调量 | 稳态误差 | 稳定性 |
|---|---|---|---|---|
| Kp ↑ | 加快 | 增大 | 减小(但不消除) | 降低 |
| Ki ↑ | 减慢 | 增大 | 消除 | 降低 |
| Kd ↑ | 加快(有限度) | 减小 | 无影响 | 提高(有限度) |
调参时,我个人的习惯是:先调P,让系统动起来;再加D,把超调压下去;最后加I,消除稳态误差。这个顺序,我用了十几年,基本没翻过车。
2.5 位置环与速度环
在伺服系统里,PID不是只有一个。通常有两个环:位置环和速度环。
位置环在外层,速度环在内层。位置环的输出,就是速度环的给定。速度环的输出,直接驱动电机。
为什么要搞两个环?
- 速度环:响应快,负责把电机转速稳住。它抗干扰能力强,负载突变时能快速恢复。
- 位置环:响应慢,负责最终的位置精度。它不直接跟电机打交道,而是通过速度环间接控制。
我画个图,你一看就明白:
调参时,有个原则:先内后外。先调速度环,再调位置环。速度环调好了,位置环就轻松多了。
实战建议:
调速度环时,我习惯给一个阶跃信号,看速度响应曲线。调位置环时,给一个位置阶跃,看位置跟踪误差。两个环的带宽要拉开差距,速度环带宽通常是位置环的5-10倍。这样内外环才不会“打架”。
2.6 避坑指南
最后,分享几个我踩过的坑:
- 积分饱和:我曾经在一个长行程定位项目上,积分累积太大,电机冲过了头。后来加了积分限幅和抗饱和处理,问题解决。
- 微分噪声:有一次编码器信号有毛刺,微分项疯狂输出,电机高频抖动。加了个低通滤波器,世界安静了。
- 位置环增益过高:位置环Kp太大,速度环跟不上,系统会震荡。记住,位置环的输出不能超过速度环的承受能力。
嗯,PID基础就聊到这儿。这些概念虽然基础,但真到了现场,你会发现它们比想象中更实用。下次咱们直接上手,讲整定步骤和实战案例。