1. 控制发散现象解析:什么是发散、发散的类型、发散对系统的影响
大家好,我是老张。做PID整定这么多年,我见过最多的场景就是——一上电,曲线直接飞了。嗯,这就是发散。
发散这个词,说白了就是系统的输出不受控了,越跑越偏。你想想看,本来想让电机转到1000转,结果它冲到2000、3000,最后直接保护停机。这就是典型的发散现象。
1.1 什么是发散
从控制理论的角度讲,发散就是系统的闭环极点跑到了复平面的右半平面。但咱们做工程的不需要背这些公式,你只需要记住一个判断标准:系统的输出振幅随时间越来越大,就叫发散。
发散的本质:反馈回路中的增益过大,导致系统无法收敛到设定值。
我在项目中遇到过一件事。有一次调试一个温度控制柜,P值设了15,I值设了0.5。一开机,温度从25℃直接冲到120℃,然后掉到-10℃,再冲到150℃。整个车间的人都跑过来看热闹。嗯,那就是发散。
1.2 发散的类型
发散其实分两种,我习惯叫它们「震荡发散」和「单调发散」。这两种情况在工程现场都很常见,但处理方式完全不同。
1.2.1 震荡发散
震荡发散,就是系统的输出像荡秋千一样,越荡越高。每次过冲都比上一次大,周期基本不变。
为什么会这样?说白了就是比例增益太大了。系统稍微偏离设定值,控制器就拼命往回拉,结果拉过头了,又往反方向猛拉。一来二去,振幅越来越大。
我举个例子。你用手去扶一个倒立摆,如果反应太猛,手一推就推过头了,摆杆反而倒得更快。这就是震荡发散。
现场判断技巧:看曲线有没有明显的波峰波谷,而且波峰一次比一次高。如果有,那就是震荡发散。
1.2.2 单调发散
单调发散更可怕。系统的输出不震荡,直接往一个方向猛冲,直到撞上限位或者烧设备。
这种情况通常出现在积分项设置不当的时候。积分项一直在累积误差,误差越大积分越快,积分越快输出越大,输出越大误差越大——这是个正反馈循环。
我曾经调试一个液位控制系统,I值设了2.0。液位从50%开始往下掉,PID输出一直在加,但液位还在掉。为什么?因为积分项已经饱和了,输出加到100%了,但阀门还没完全打开。等阀门完全打开,液位已经掉到10%以下了。这就是典型的单调发散。
注意:单调发散比震荡发散更危险。震荡发散至少还有回摆的趋势,单调发散是直接往一个方向冲到死。
1.3 发散对系统的影响
发散对系统的影响,我总结成三个层面:
| 影响层面 | 具体表现 | 后果 |
|---|---|---|
| 设备层面 | 电机过速、阀门全开全关、加热器超温 | 设备损坏、寿命缩短 |
| 工艺层面 | 产品质量不合格、生产中断 | 废品率上升、产能下降 |
| 安全层面 | 压力超限、温度失控、危险品泄漏 | 人员伤亡、环境污染 |
你想想看,一个发散的PID系统,就像一匹脱缰的野马。你不及时拉住它,它能把整个系统都带崩。
我记得有一次在化工厂做项目,一个反应釜的温度PID发散,温度冲到300℃(正常是150℃)。要不是有独立的安全联锁系统自动切断了加热,那个反应釜可能就炸了。从那以后,我每次调试PID都会先设好输出限幅和安全阈值。
1.4 发散与收敛的边界
发散和收敛之间,其实有一条很窄的边界。这条边界就是临界增益。
在临界增益下,系统会做等幅振荡——振幅不变,一直震荡下去。增益再大一点,就发散;增益再小一点,就收敛。
我习惯用下面这张图来理解这个关系:
这张图我画了很多遍。你注意看,收敛区的曲线振幅越来越小,发散区的曲线振幅越来越大。中间那条虚线就是临界增益——系统刚好做等幅振荡。
我的经验:调试PID时,先把P值从0慢慢往上加,直到系统出现等幅振荡。这时候的P值就是临界增益。然后取临界增益的50%~60%作为实际P值,这样基本不会发散。
1.5 如何快速判断发散
在现场,你不可能拿个示波器去分析极点位置。我教你三个土办法:
- 听声音——电机或者阀门如果发出「嗡嗡」的规律性响声,而且声音越来越大,八成是震荡发散。
- 看仪表——如果仪表数值来回跳,而且跳动的幅度一次比一次大,那就是发散。
- 摸温度——加热设备如果温度忽高忽低,而且波动范围越来越大,也是发散。
我曾经在调试一个伺服电机位置环的时候,电机发出「呜——呜——」的声音,频率越来越快,声音越来越大。我赶紧切断了使能。检查发现位置环P值设了80,太大了。降到30之后,电机就安静了。
安全提醒:发现发散现象后,第一时间切断执行器输出或者切换到手动模式。不要想着「再观察一下」,那可能就晚了。
好了,这一章我们聊了发散是什么、有哪些类型、对系统有什么影响。下一章我会讲收敛的原理,以及如何从发散状态调整到收敛状态。到时候我会分享一个我用了十年的「三步整定法」,很实用。