![先进PID控制MATLAB仿真(第5版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/9/47549009/b_47549009.jpg)
1.3.5 积分分离PID控制算法
在普通PID控制中引入积分环节的目的,主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的超调,甚至引起系统较大的振荡。这在生产中是绝对不允许的。
积分分离控制基本思路:当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定值时,引入积分控制,以便消除静差,提高控制精度。其具体实现步骤如下:
①根据实际情况,人为设定阈值ε>0;
②当|error(k)|>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;
③当|error(k)|≤ε时,采用PID控制,以保证系统的控制精度。
积分分离控制算法可表示为
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_44_1.jpg?sign=1739000830-6K77JISJa9o7reBW9B40F4ykwpcji5od-0-9c03ea329ecf975e5a785987d5fcd66c)
式中,T为采样时间;β为积分项的开关系数。
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_44_2.jpg?sign=1739000830-uvef4buN2ufxxB3SBTnXju78gGLGfnH6-0-2f326975c519a4be05dffe2d2c7425bc)
根据积分分离式PID控制算法得到其程序框图如图1-22所示。
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_44_3.jpg?sign=1739000830-tliAvg8z656qh99eKphRhPX0PTSdV7yJ-0-e21a2801d470a2ff239445ac7119e2bc)
图1-22 积分分离式PID控制算法程序框图
【仿真实例】
设被控对象为一延迟对象:
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_44_4.jpg?sign=1739000830-5UMQrg6V1uWd7LFLlaEL7Uxhvi9wyZ9p-0-f07ccbeed237f6a38d06f97e69346154)
采样时间为20s,延迟时间为4个采样时间,即80s,被控对象离散化为
y(k)=-den(2)y(k-1)+num(2)u(k-5)
【仿真之一】 采用M语言进行仿真
取M=1,采用积分分离式PID控制器进行阶跃响应,对积分分离式PID控制算法进行改进,采用分段积分分离方式,即根据误差绝对值的不同,采用不同的积分强度。仿真中指令信号为yd(k)=40,控制器输出限制在[-110,110],其阶跃跟踪如图1-23所示。取M=2,采用普通PID控制,其阶跃跟踪如图1-24所示。
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_45_1.jpg?sign=1739000830-AL6gRDKzkBoBqZ0CHpDTNFbCtjPXJ0kh-0-0fdee7771f98400fac0a374155088967)
图1-23 积分分离式PID阶跃跟踪(M=1)
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_45_2.jpg?sign=1739000830-2hH4tQErUnVRaTDqUgCesIeNxYQx9T7n-0-d8bbd6686b7e8eae403d274ec0dddb36)
图1-24 采用普通PID阶跃跟踪(M=2)
〖仿真程序〗 chap1_13.m
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_45_3.jpg?sign=1739000830-xRxEQ26qkq6AMJje64MRCKiCFoi0DivS-0-b4aaafefe02c497bf07b4ae43d721df8)
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_46_1.jpg?sign=1739000830-zDmB0vtcPxYhxRGW1HXncHcS8PXprvej-0-36dd3a04ca827ef1c72673a7c8acc003)
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_47_1.jpg?sign=1739000830-JymzeDBn6QOZVctYhNsWcqDQ70ezpkjZ-0-8c59d0af48bf131e0a3ad38c188c1a35)
由仿真结果可以看出,采用积分分离方法控制效果有很大的改善。值得注意的是,为保证引入积分作用后系统的稳定性不变,在输入积分作用时比例系数kp可作相应变化。此外,β值应根据具体对象及要求而定:若β过大,则达不到积分分离的目的;若β过小,则会导致无法进入积分区。如果只进行PD控制,会使控制出现余差。
【仿真之二】 采用Simulink仿真
通过Simulink模块实现积分分离PID控制算法阶跃响应,仿真结果如图1-25所示。
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_47_2.jpg?sign=1739000830-T4Bh3Xk2xLlWaNQbsZK783Md8NDYjJWO-0-5b600bc097103ca394763edae16d2e8b)
图1-25 采用Simulink仿真的阶跃响应
〖仿真程序〗
(1)初始化程序:chap1_14int.m
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_47_3.jpg?sign=1739000830-gNDAprVdeM7A5v4tK68qMdZLs7SHu7n3-0-d535acf26d9706eb899b79ddc1dc6dc2)
(2)Simulink主程序:chap1_14.mdl
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_48_1.jpg?sign=1739000830-eTwX3g97OwV6OXlrqmW5xNOOtz5phkgs-0-eccad05d1d62189c66ce0af4022948b7)
(3)作图程序:chap1_14plot.m
![](https://epubservercos.yuewen.com/49A0DC/26947284307535106/epubprivate/OEBPS/Images/45295_48_2.jpg?sign=1739000830-nixIPD5StG0g9foi2EPSew3xsE4tXZbP-0-c1b38e3f708d0f2b1b90da2dc227537c)