1、PID控制器设计PID控制器设计一、 PID控制的基本原理和常用形式及数学模型具有比例-积分-微分控制规律的控制器,称PID控制器。这种组合具有三种基本规律各自的特点,其运动方程为: (1-1)相应的传递函数为: (1-2)PID控制的结构图为:若,式(1-2)可以写成:由此可见,当利用PID控制器进行串联校正时,除可使系统的型别提高一级外,还将提供两个负实零点。与PI控制器相比,PID控制器除了同样具有提高系统的稳态性能的优点外,还多提供一个负实零点,从而在提高系统动态性能方面,具有更大的优越性。因此,在工业过程控制系统中,广泛使用PID控制器。PID控制器各部分参数的选择,在系统现场调试中
2、最后确定。通常,应使积分部分发生在系统频率特性的低频段,以提高系统的稳态性能;而使微分部分发生在系统频率特性的中频段,以改善系统的动态性能。二、 实验内容一:自己选定一个具体的控制对象(Plant),分别用P、PD、PI、PID几种控制方式设计校正网络(Compensators),手工调试P、I、D各个参数,使闭环系统的阶跃响应(Response to Step Command)尽可能地好(稳定性、快速性、准确性)控制对象(Plant)的数学模型: 实验1中,我使用MATLAB软件中的Simulink调试和编程调试相结合的方法不加任何串联校正的系统阶跃响应:(1) P控制方式:P控制方式只是在
3、前向通道上加上比例环节,相当于增大了系统的开环增益,减小了系统的稳态误差,减小了系统的阻尼,从而增大了系统的超调量和振荡性。P控制方式的系统结构图如下:取Kp=1至15,步长为1,进行循环测试系统,将不同Kp下的阶跃响应曲线绘制在一张坐标图下:MATLAB源程序:%对于P控制的编程实现clear;d=2;n=1 3 2;t=0:10;for Kp=1:1:15d1=Kp*d;g0=tf(d1,n);g=feedback(g0,1);y=step(g,t);plot(t,y);if ishold=1 ,hold on,endendgrid 由实验曲线可以看出,随着Kp值的增大,系统的稳态误差逐渐
4、减小,稳态性能得到很好的改善,但是,Kp的增大,使系统的超调量同时增加,系统的动态性能变差,稳定性下降。这就是P控制的一般规律。 由于曲线过于密集,我将程序稍做修改,使其仅仅显示出当系统稳态误差小于10%的最小Kp值 ,并算出此时系统的稳态值和超调量。新的程序为:%修改后对于P控制的编程实现clear;d=2;n=1 3 2;t=0:10;for Kp=1:1:15d1=Kp*d;g0=tf(d1,n);g=feedback(g0,1);y=step(g,t);plot(t,y);dc=dcgain(g)if dc,plot(t,y),disp(Kp),disp(dc),break,end;%
5、显示出稳态误差小于10%的最小Kp值,并算出稳态值if ishold=1 ,hold on,endendgridKp=10时系统的阶跃响应曲线我们就采用使系统稳态误差小于10%的最小Kp值10,并计算出此时系统的超调量为%,稳态误差为=。这些结果是我们能接受的。(2)PD控制方式PD控制方式是在P控制的基础上增加了微分环节,由图可见,系统的输出量同时受到误差信号及其速率的双重作用。因而,比例微分控制是一种早期控制,可在出现误差位置前,提前产生修正作用,从而达到改善系统性能的目的。控制系统的传递函数为:PD控制框图保持Kp=10不变,调试取Kd=1、2时的系统阶跃响应曲线并与P控制做比较:MAT
6、LAB源程序为:%编程实现PD控制与P控制的比较clear;t=0:10;d0=20;n=1 3 2;s0=tf(d0,n);s=feedback(s0,1);k=step(s,t);plot(t,k);Kp=10;if ishold=1,hold on,end;for Kd=1:2 d=2*Kd*Kp,2*Kp; g0=tf(d,n); g=feedback(g0,1); y=step(g,t); plot(t,y); if ishold=1,hold on ,end endendgrid 由实验曲线可以得知,在比例控制的基础上增加微分控制并不会影响系统的稳态误差,而增大微分常数Kd可以有效
7、的减小系统的超调量和调节时间,在不影响系统的稳态性能的基础上改善了系统的动态性能。微分控制部分相当于增大了系统的阻尼,所以可以选用较大的开环增益来改善系统的动态性能和系统的稳态精度。在MATLAB中用循环语句实现不同Kp和Kd值下系统阶跃响应曲线:由此曲线可以看出:当使Kp和Kd值趋于无穷大时,系统的动态性能和稳态性能都得到非常理想的结果,超调量0,调节时间0,稳态误差0,但实际的物理系统中Kp和Kd的值都受到一定的确限制,不可能想取多大就能取多大,所以上面的曲线并没有多大的实际意义,只是说明了PD控制所能达到的最理想状态和PD控制中的参数选择对阶跃响应曲线的影响。用MATLAB编程实现,源程
8、序如下:%编程实现PD控制clear;t=0:10;n=1 3 2;for Kp=10:100:110 for Kd=2:100:102 d=2*Kd*Kp,2*Kp; g0=tf(d,n); g=feedback(g0,1); y=step(g,t); plot(t,y); if ishold=1,hold on ,end endendgrid (3)PI控制PI控制是在P控制基础上增加了积分环节,提高了系统的型别,从而能减小系统的稳态误差。因为单纯使用增大Kp的方法来减小稳态误差的同时会使系统的超调量增大,破坏了系统的平稳性,而积分环节的引入可以与P控制合作来消除上述的副作用,至于积分环节
9、对系统的准确的影响将通过实验给出结论。PI控制的结构图为:系统的开环传递函数为:将PI控制与P控制的系统阶跃响应曲线进行比较:初步印象:上图的初步印象是PI控制中系统的稳态误差显着减小,但是系统的超调量和平稳性并没有得到改善,而增大积分环节中的增益Ki则会使系统的超调量增加,系统的震荡加剧,从而破坏了系统的动态性能。参数选择方法:根据上面的分析,要使系统各项性能尽可能的好,只有一边增大Ki加快系统消除稳态误差的时间,一边减小Kp来改善系统的动态性能。但是在用MATLAB仿真时发现,如果Ki取值过大就会使系统不稳定,为了说明问题,我将展示在Ki取14时系统的根轨迹图:可以发现,当Ki小于四时,无
10、论Kp取何值系统都是稳定的,但是当Ki=4时,就有一部分根轨迹在S又半平面内,此时系统不稳定,这在我们确定PI控制参数时是要加以考虑的。经过反复的手工调试,基本可以确定Ki可以选定在13范围之内,而Kp可以选定在2范围之内。下面我将展示一下当Ki分别取、1、2、3时不同Kp值下系统的阶跃响应图与MATLAB相应源程序:%编程实现PD控制clear;t=0:10;n=1 3 2 0;Ki=for Kp=:2 d=2*Kp,2*Ki*Kp; g0=tf(d,n); g=feedback(g0,1); y=step(g,t); plot(t,y); if ishold=1,hold on ,ende
11、ndgrid Ki=时不同Kp值下系统的阶跃响应图Ki=1时不同Kp值下系统的阶跃响应图Ki=2时不同Kp值下系统的阶跃响应图:Ki=3时不同Kp值下系统的阶跃响应图:由上面四幅图片可以看出选取Ki=1时系统的阶跃响应曲线比较好,在满足稳态精度的要求下系统的动态性能相对来说比较好,而在Ki=1的阶跃响应图中选择Kp=时的系统阶跃响应曲线,则此时Kp=,Ki=1,系统的开环传递函数为:前面,我们如此费事的寻找PI控制参数,但确定下来的系统阶跃响应的动态性能的快速性仍然不能很好的满足要求,上升时间和峰值时间比较长,系统的反应偏慢,这些都是PI控制的局限性。下面隆重推出PID控制方式,来更好的实现对
12、系统的控制,在此,也就是出现更好的系统阶跃响应曲线。(4) PID控制PID控制方式结合了比例积分微分三种控制方式的优点和特性,在更大的程度上改善系统各方面的性能,最大程度的使闭环系统的阶跃响应尽可能地最好(稳、快、准)。PID控制器的传递函数为:加上PID控制后的系统开环传递函数为:系统的结构图为:现在要调整的参数有三个:Kp、Kd、Ki 这样,增益扫描会更加复杂,这是因为比例、微分和积分控制动作之间有更多的相互作用。一般来说,PID控制中的Ki;与PI控制器的设计相同,但是为了满足超调量和上升时间这两个性能指标,比例增益Kp和微分增益Kd应同时调节:尽管曲线过于密集,但是从PD控制总结的一
13、般规律来看,超调量最大的那一族曲线所对应的Kd值最小,所以,我们选择Kd=、三组曲线族分开观察阶跃响应曲线:Ki=1,Kd=,Kp=110Ki=1,Kd=,Kp=110Ki=1,Kd=,Kp=110 从三组曲线图可以看出,增大Kd可以有利于加快系统的响应速度,使系统超调量减小,稳定性增加,同时增大Kp可以进一步加快系统的响应速度,使系统更快速。PID控制器虽然在复杂性上有所增加,但同另外三种控制器相比大大改善了系统的性能。综上所述,选择Ki=1,Kp=10,Kd=时系统各方面性能都能令人满意,所以可以作为PID控制参数。(5)实验内容一的总结实验内容一从P控制一直到PID控制,仿真的效果可以看
14、出系统的性能越来越好,可以发现PID控制所起的作用,不是P、I、D三种作用的简单叠加,而是三种作用的相互促进。增大比例系数P一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。所以调试时将比例参数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已经小到允许范围内,并且对响应曲线已经满意,则只需要比例调节器即可。如果在比例调节的基础上系统的静差不能满足设计要求,则必须加入积分环节。增大积分时间I有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。如果系统的动态过程反复
15、调整还不能得到满意的结果,则可以加入微分环节。增大微分时间D有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。在PID参数进行整定时如果能够有理论的方法确定PID参数当然是最理想的方法,但是在实际的应用中,更多的是通过凑试法来确定PID的参数。典型曲线如图所示:三、 概述PID控制技术的发展过程PID(比例积分微分)控制器对于过程控制是一种比较理想的控制器。在工业控制应用中,特别是在过程控制领域中,被控参数主要是温度、压力、流量、物位等,尽管各种高级控制(如自适应控制、预测控制、模糊控制等)不断完善,但是,在过去的50多年中,对PID控制器的设计和应用已经拥有
16、了许多的经验,而且在SISO控制系统中,用的绝大部分控制器都是PID控制器(80%以上)。有许多通用的PID控制器产品,对于不同的被控对象,只要适当地调整PID参数,就可以使控制系统达到所要求的性能指标。PID控制器获得成功的一个重要原因,就是在工业过程控制中,PID控制器的动作行为与人对外界刺激的自然反应非常相似。也就是说,PID控制器结合了人的自发性动作(比例动作)、以往的经验(积分动作)、根据趋势所做的对未来的推测(微分动作)的效果。四、 几种经典PID控制器的参数整定方法对于一个给定的控制系统,要实现预定的控制过程,必须通过选择合适的P、I、D控制参数来实现。整定控制器的参数,是提高控
17、制质量的主要途径。当控制器的参数整定好并且投入运行系统之后,被调参数可以稳定在工艺要求的范围之内,就可以认为控制器的参数整定好了。 选择合适的P、I、D参数可以采用两种方法:理论计算整定法与通过在线实验的工程整定法。因为工程整定法简单实用,计算简便,容易掌握,可以解决一般的实际问题,所以一般采用工程整定法。目前,常用的工程整定方法有Ziegler-Nichols整定法、Cohen-Coon整定法等。下面分别介绍这些方法。1、Ziegler-Nichols整定Ziegler-Nichols整定法是以下图中的带有延迟的一阶传递函数模型为基础提出来的。Ziegler和Nichols给出了整定控制器参
18、数的两种方法:(1) 第一种方法 用阶跃响应曲线来整定控制器的参数。先测出系统处于开环状态下的对象的动态特性(即通过实验测出控制对象的阶跃响应曲线,不一定采用单位阶跃响应曲线),根据这条阶跃响应曲线定出能反映该控制对象动态特性的参数,然后进行简单的计算就可以定出控制器的整定参数。例如,用实验得到控制对象的阶跃响应曲线,以曲线的拐点做一条切线,从曲线上可以得出三个参数:K是控制对象的增益,L是等效滞后时间,T是等效时间常数。根据得到的K、L、T这三个参数,利用表的Ziegler-Nichols整定法的经验公式来计算控制器的控制参数。控制器类型控制器的控制参数KpKiKdPT/KL00PIKLL0
19、PIDKL1/2L (2)第二种方法 用系统的等幅震荡曲线来整定控制器的参数。先测出系统处于闭环状态下控制对象的等幅振荡曲线(系统处于临界稳定状态),根据这条等幅振荡曲线定出能反映该控制系统对象动态特性的参数,然后进行简单的计算就可以定出控制器的整定参数。 系统的临界稳定状态是指在外界干扰或给定值作用下,系统出现的等幅振荡的过程。 在这种情况下,具体的做法是 :先使系统只受纯比例作用,将积分时间调到最大即Ki=0,微分时间调到最小(Kd=0),而将比例增益K的值调在比较小的值上;然后逐渐增大K值,直到系统出现等幅振荡的临界稳定状态,此时,比例增益的值为Km,从等幅振荡曲线上可以得到一个参数,临
20、界周期Tm。 根据得到的Km、Tm这两个参数,利用下表给出的经验公式来计算控制器的控制参数。控制器类型控制器的控制参数KpKiKdP00PITm0PID2/Tm2、Cohen-Coon整定法 1953年,Cohen和Coon提出了一种整定PID控制器参数的方法,被称为“Cohen-Coon整定法”。Cohen-Coon整定法与Ziegler-Nichols整定的第一种方法比较相似,也是利用单位阶跃响应曲线来整定控制器的参数。同样也是先测出控制对象的动态特性(通过实验测出控制对象的单位阶跃响应曲线),根据这条单位阶跃响应曲线定出一些能反映该控制对象动态特性的参数,然后进行简单的计算定出控制器的整
21、定参数。 用实验得到控制对象的单位阶跃响应曲线,过曲线的拐点作一条切线从曲线上得到三个参数:K是广义对象增益,L是等效滞后时间,T是等效时间常数。 根据得到的K、L、T这三个参数,利用下表中列出的经验公式来计算控制器的控制参数。控制器类型控制器的控制参数KpKiKdPT/KL+1/3K00PIKL+1/12K(9T+20L)/L(30T+3L)0PID4T/3KL+1/4K(13T+8L)/L(32T+6L)4TL/(11T+2L)五、 选定一种整定方法,用MATLAB实现我选择Ziegler-Nichols整定中的第一种方法,如前说明,先求出系统的阶跃响应曲线中的K、T、L,从前图可以读出K
22、=1、L=、T=,然后确定PID控制器的Kp、Ki、Kd的值,输入如下程序:%Ziegler-Nichols整定法clear;d=2;n=1 3 2;t=0:10;g0=tf(d,n);K=1;L=;T=;Kp=*T/(K*L);Ki=1/(2*L);Kd=*L;Kp,Ki,Kd,s=tf(s);Gc=Kp*(1+Ki/s+Kd*s);GcG=feedback(Gc*g0,1);y=step(GcG,t);plot(t,y);grid整定后的系统单位阶跃响应曲线如下图:实事求是地说,用Ziegler-Nichols整定法后的系统单位阶跃响应曲线超调量过大,调节时间也并不令人满意。六、 实验体会
23、这次实验,认识了自动控制领域最常用的PID控制,基本掌握了PID控制的基本规律,同时也认识到自动控制系统的复杂性。在利用MATLAB软件时经常会碰到一些新问题,而我们手头的资料有限,时间和精力有限,并不能解决所有问题。比如在PID控制时,一旦选定了Ki和Kd后,超调量随Kp的变化并不明显,这是我无法理解的,当Kp增加时,系统仅仅提高了响应的快速性,而超调量并没有显着的变化。又如,在PD控制时,当Kd和Kp取值足够大时,便可以使响应曲线完全理想化,即响应时间趋于0,超调量趋于0,在本系统中也满足足够的稳态精度,我就会这样怀疑,并不是所有系统采用PID控制效果一定比其他控制效果要好,等等。所有这些问题将在今后的学习和实验中寻求答案。七、 参考文献目录及页码西安交通大学出版社 反馈控制问题使用MATLAB及其控制系统工具箱 美 迪安 K 弗雷德里克 乔 H 周张彦斌 译 110-127页科学出版社自动控制原理第四版 胡寿松主编 225-226页重庆大学出版社控制系统计算机辅助设计 蔡启仲等编着 71-87页
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1