PID控制器中的常见问题
@(PID)
PID各部分的作用
P控制器
P控制器不能让稳态误差为零,然而随着增大 K p Kp Kp 参数,可以减小稳态误差。
稳态误差是系统从一个稳态过渡到新的稳态,或系统受扰动作用又重新平衡后,系统出现的偏差。
I控制器
积分控制是叠加每个时刻的误差信号,因此它具有记忆功能,可以反映一定的历史信息。
积分控制以减小稳态误差为目的
D控制器
有些场合下,控制会出现一定超调量,如果不想让系统出现超调,可以添加D微分控制环节,微分控制可以反映未来的行为,假设当前系统输出快要到达目标给定,这个时候的误差斜率很大,如果不添加D控制,则会导致超调,但是加入了D控制环节,系统通过对误差微分的作用,可以求得当前时刻误差的降低速度,进而控制误差减小的增速来抑制超调发生。
超调量也叫最大偏差或过冲量。偏差是指被调参数与给定值的差。对于稳定的定值调节系统来说,过渡过程的最大偏差就是被调参数第一个波峰值与给定值的差。
PID控制器中存在的问题
问题一:采样时间不定
解决办法
问题二:积分饱和问题
如果用到积分环节,我们一定或者肯定会存在积分控制器中存在的饱和问题
当系统的达到饱和时,由于积分的作用,系统在对其进行不断叠加,影响退饱和的速度。
解释:
有积分特性的控制器普遍存在积分饱和问题,就是说,这种控制器只要偏差没有消失,其输出就会按偏差的极性向两个极端位置(最大或最小)的方向变化。这样就会出现控制器或执行器损坏,并因克服反向扰动的速度降低而恶化系统的控制品质。对于前者,无需多加说明。对于后者,可用图1来说明。当控制器输出达到规定的上、下限时,执行器已处于饱和状态,即Pout继续增加,执行器也不会继续动作。因为控制器做了虚拟的控制动作,故通过控制器的介质不会改变。一旦控制系统出现扰动,使控制偏差的极性变反,控制器的输出要慢慢从深饱和区退出,直到处于信号范围才能改变控制介质的流量。就是说,从P1点退到控制系统开始起作用的P2点,要耽误从P1点到P2点的运动时间,即在T1至T2的时间内,控制系统不起任何作用。
解决方法
-
采用限幅装置
采用某种形式的限幅是防积分饱和的另一种方法。工业上应用的气动控制器都配有限幅装置。根据限幅装置的限幅范围,可使控制器的输出不超越控制器所限定的输出范围。严格地说,这种输出限幅并不是真正的防积分饱和,只是限幅装置把送给控制阀的信号限制住而已,并不能改善克服反向扰动的控制品质。 -
条件积分法
首先设定输出的上下幅值,(等于小于实际的饱和输出值,视具体情况而定),然后进行两个判断
:判断是否已经饱和即饱和限幅中的输入输出是否一致,判断控制器的输出和误差值是否同号,若两者都满足则关闭积分控制(积分系数为零),当误差信号改变或不再饱和时开启积分通道。参考视频链接:https://www.youtube.com/watch?v=NVLXCwc8HzM&list=RDCMUCgdHSFcXvkN6O3NXvif0-pA&index=3
-
PID串级控制
见我的另一篇博客 -
clamp the Integral and the output
问题三:微分环节放大噪声
PID的微分项对计算的误差信号中的噪声(尤其是高频噪声)非常敏感,该噪声主要来自用于测量输出的传感器。
解决办法
在控制器内部的导数项的输出中添加一个低通滤波器,最常见的是加入一阶低通滤波器。
问题四:Derivative Kick
发生Derivative Kick是因为每当调整设定点时,误差值都会突然变化。误差突然跳跃导致误差的导数瞬间变大,并导致控制器输出在上限或下限饱和一个周期。虽然这种瞬时跳跃对于大多数系统来说通常不是问题,但控制器输出的突然饱和会给最终控制元件带来不适当的压力,或者可能扰乱过程。
解决办法
一般引入过程变量PV(process variable)
过程变量可取输入量
应用后的效果
问题五:PID的开关
当在程序的某个时刻,希望将输出强制为某个值,此时会让PID控制器混乱,当停止覆盖输出并切换回PID时,可能会立即获得输出值的巨大变化。
解决办法
这个问题的解决方案是有一种方法来关闭和打开PID。这些状态的常用术语是“手动”(我将手动调整值)和“自动”(PID将自动调整输出)。如果未处于自动模式,将立即离开“计算”功能,而不调整“输出”或任何内部变量。
问题六:PID的初始化
在上一个问题中,我们实现了关闭和打开 PID 的功能。我们将其关闭,但现在让我们看看重新打开它时会发生什么:
解决办法
效果:
参考文档:http://brettbeauregard.com/blog/2011/04/