理论教育 改进PID控制算法

改进PID控制算法

时间:2023-07-01 理论教育 版权反馈
【摘要】:图3-45 基于不完全微分PID控制的闭环负反馈控制系统2.微分先行PID控制算法此算法的传递函数方块图如图3-46所示。为此,提出了积分分离PID控制算法。采用饱和非线性PID控制算法,可以避免PID的输出发生溢出现象,进而消除由于溢出所引起的冲击。

改进PID控制算法

在PLC中,PID控制规律是由PLC程序来实现的,因此灵活性很大。为满足不同控制系统的需求,可对PID算法做相应改进。

1.不完全微分PID控制算法

在PID控制算法中,微分部分可以改善控制系统的动态性能指标,但是会放大作用于系统的干扰信号,降低系统的抗干扰能力,容易引起饱和效应和数据溢出。为此,可以在PID控制算法的微分部分之后串联一个时间常数Tf的一阶惯性环节,如图3-45所示。这种对于PID控制的改进算法被称为不完全微分PID控制算法。实际上,一阶惯性环节就是一个低通滤波器,在此处的作用就是对通过微分部分的高频干扰信号实现低通滤波,可以有效地抑制高频干扰信号,从而克服了上述这些缺点。该低通滤波器的滤波特性完全由该一阶惯性环节的时间常数Tf确定。

978-7-111-39745-8-Chapter04-70.jpg

图3-45 基于不完全微分PID控制的闭环负反馈控制系统

2.微分先行PID控制算法

此算法的传递函数方块图如图3-46所示。这种改进算法的特点是,只对系统的反馈信号bt)进行微分运算,而对系统的参考输入设定值rt)不进行微分运算。此时,当系统的参考输入设定值rt)发生变化时,系统的微分控制部分的输出不会发生变化,从而使得系统输出ct)的变化比较缓和。这种对反馈信号bt)首先进行微分运算的微分先行PID控制算法,比较适用于系统的参考输入设定值rt)频繁发生变化的场合,可以避免由系统的参考输入设定值rt)频繁发生变化所引起的系统振荡。而对系统的反馈信号bt)进行微分运算,可以提高系统的快速性,缩短系统瞬态响应的过渡过程,从而可以明显地改善系统的动态特性。

978-7-111-39745-8-Chapter04-71.jpg

图3-46 基于微分先行PID控制的闭环负反馈控制系统

3.微分先行的不完全微分PID控制算法

基此算法的传递函数方块图如图3-47所示。所谓“微分先行的不完全微分PID控制算法”,就是指将反馈信号Bs)分为两路,并分别进行计算的一种改进的PID控制算法。参考输入信号Rs)与其中的一路反馈信号Bs)相减得到系统的偏差信号Es),然后将此偏差信号Es)进行“比例加积分”形式的改造,形成控制规律Upis)。对另一路反馈信号Bs)直接进行“微分先行的不完全微分”运算,形成控制规律Uds)。最后将Upis)与Uds)相加,得到微分先行的不完全微分PID控制算法的控制规律Us)。

978-7-111-39745-8-Chapter04-72.jpg

图3-47 基于微分先行的不完全微分PID控制的闭环负反馈控制系统

4.积分分离PID控制算法

在控制系统中增加积分环节的目的,主要是为了消除系统的稳态误差,提高系统的控制精度。但是积分环节对系统瞬态响应的过渡过程不利。当系统在起动过程、停止过程或参考输入设定值大幅度变化时,系统的输出有很大的偏差。由于积分运算的累积作用,从而使得系统的超调量过大,甚至会使系统发生振荡。(www.daowen.com)

为此,提出了积分分离PID控制算法。这种算法既可以保持积分作用,又可以减小系统的超调量,使控制系统的性能得道了较大的改善。具体实现方法为

1)根据实际要求,设定衡量偏差的阈值ε>0。

2)当系统的偏差小于阈值ε时,采用PID控制,可以使系统有较好的控制精度。

3)当系统的偏差大于或等于阈值ε时,只采用PD控制,让积分控制不起作用,从而可以避免系统的超调量过大,并可以使系统有较快的响应速度。

5.死区非线性PID控制算法

死区非线性PID控制算法是一种对PID环节的输入信号(即偏差信号)进行限制的PID控制算法。采用死区非线性PID控制算法,可以避免控制系统的动作过于频繁,进而消除由于频繁动作所引起的振荡。具体实现方法为

1)根据实际要求,设定限制偏差的死区δ>0。

2)当系统的偏差小于死区δ时,可令系统的偏差为零,则PID控制的输出为零,从而可以避免控制系统的频繁动作。

3)当系统的偏差大于或等于死区δ时,对系统的偏差进行PID控制。

6.饱和非线性PID控制算法

饱和非线性PID控制算法是一种对PID环节的输出信号(即偏差信号的PID改造结果)进行限制的PID控制算法。采用饱和非线性PID控制算法,可以避免PID的输出发生溢出现象,进而消除由于溢出所引起的冲击。具体实现方法为

1)根据实际要求,设定限制PID输出的饱和区a>0。

2)当系统的PID输出小于饱和区a时,对系统的偏差进行PID控制。

3)当系统的PID输出大于或等于饱和区a时,可令系统的PID输出为零,从而可以避免PID控制的输出发生溢出现象。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈