PID控制系统的分析与设计广东工业大学自动化学院李明系统仿真与MATLAB一个简单PID控制的实例冲热水淋浴,假定冷水龙头开度保持不变,只调节热水比例关系•根据具体的龙头和水压,温度高一度,热水需要关小一定的量,比如说,关小一格。换句话说,控制量和控制偏差成比例关系,偏差越大,控制量越大•控制偏差就是实际测量值和设定值或目标值之差。在比例控制规律下,偏差反向,控制量也反向。也就是说,如果淋浴水温要求为四十度,实际水温高于四十度时,热水龙头向关闭的方向变化;实际水温低于四十度时,热水龙头向开启的方向变化。•控制量=比例控制增益*控制偏差一个简单PID控制的实例积分关系•但是比例控制规律并不能保证水温能够精确达所需控制的温度。人们这时对热水龙头作微调,只要水温还不合适,就一点一点地调节,直到水温合适为止。这种只要控制偏差不消失就渐进微调的控制规律,在控制里叫积分控制规律•因为控制量和控制偏差在时间上的累积成正比,其比例因子就称为积分控制增益。工业上常用积分控制增益的倒数,称其为积分时间常数,其物理意义是偏差恒定时,控制量加倍所需的时间•控制偏差有正有负,全看实际测量值是大于还是小于设定值,所以只要控制系统是稳定的,也就是实际测量值最终会稳定在设定值上,控制偏差的累积不会是无穷大的•积分控制的基本作用是消除控制偏差的余差(也叫残差)一个简单PID控制的实例微分关系•如果水管水温快速变化,人们会根据水温的变化调节热水龙头:水温升高,热水龙头向关闭方向变化,升温越快,开启越多;水温降低,热水龙头向开启方向变化,降温越快,关闭越多。这就是所谓的微分控制规律•因为控制量和实际测量值的变化率成正比,其比例因子就称为微分控制增益,工业上也称微分时间常数。微分时间常数没有太特定的物理意义,只是类似积分时间常数的名称•微分控制的重点不在实际测量值的具体数值,而在其变化方向和变化速度•微分控制在理论上和实用中有很多优越性,但局限也是明显的。如果测量信号存在扰动,微分控制就会产生很多不必要甚至错误的控制信号。所以工业上对微分控制的使用是很谨慎的PID控制器简介PID控制器(比例-积分-微分控制器)由比例单元P、积分单元I和微分单元D组成。通过Kp,Ki和Kd三个参数的设定完成控制律的设计。PID控制器主要适用于基本线性和动态特性不随时间变化的系统PID控制器的输入一般是系统输出与一个参考值的差值即控制偏差,然后把这个差别用于计算新的控制量,目的是可以让系统的输出达到或者保持在参考值PID()pKet0()tiKed()ddetKdtObjecty(t)r(t)_PID控制器的表达式PID控制器的时域表达式•如图1所示,连续PID控制器的一般表达式为•式中,Kp为比例控制增益、Ki为积分控制增益,Kd为微分控制增益,Ti为积分时间常数,Td为微分时间常数()1()()()()()()ttpidpdooidetdetutKetKedKKetedTdtTdt图1单位负反馈控制系统示意图Gc(s)G(s)r(t)y(t)e(t)u(t)控控控控控控控-PID控制器的表达式PID控制器的时域表达式•PID控制器通过对误差信号e(t)的加权计算,得到控制信号u(t),驱动受控对象,使得误差e(t)按减少的方向变化,从而达到控制要求•当Ti→∞,Td=0时,称为比例(P)控制器;•当Td=0时,称为比例积分(PI)控制器;•当Ti→∞时,称为比例微分(PD)控制器;•当Ti≠∞,Td≠0时,称为比例积分微分(PID)控制器•Kp,Ti,Td三个参数一旦确定,PID控制器的性能也随之确定PID控制器的表达式PID控制器的传递函数•仍然参照图1,对PID的时域表达式进行拉普拉斯变换,可得•于是可得几种控制方案的控制器传递函数分别为•比例(P)控制器•比例积分(PI)控制器•比例微分(PD)控制•比例积分微分(PID)控制器•为避免纯微分运算,常常用一阶超前环节去近似纯微分环节式中,N→∞时,则为纯微分运算。实际中,N不必过大,一般N=10,就可以逼近实际的微分效果。()1()1()icpdpdiKEsGsKKsKTsUssTs1()1icppiKGsKKsTs()cpGsK()1cpdpdGsKKsKTs1()1icpdpdiKGsKKsKTssTs1()11dcpdiTsGsKTTssNPID参数对控制性能的影响PID参数对控制性能的影响•PID控制器的Kp,Ti,Td三个参数的大小决定了PID控制器的比例、积分、微分控制作用的强弱•下面举例分别分析Kp,Ti,Td三个参数中一个参数发生变化而另两个参数保持不变时,对系统控制性能的影响。PID参数对控制性能的影响例1以电机转速控制系统为例,分析PID参数对控制性能的影响某电机转速控制系统如图2所示,采用PID控制器。试绘制系统单位阶跃响应曲线,分析Kp,Ti,Td三个参数对控制性能的影响。图2某电机转速控制系统示意图PID26347599s5959s13.33s5.2控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控控0.0118控控控控控控控控G1G2G3G4PID参数对控制性能的影响比例系数Kp对控制性能的影响•采用比例控制,令Kp分别取1、2、3、4、5,且Ti→∞,Td=0时,绘制系统的阶跃响应曲线s=tf('s');G1=59/(s+59);G2=13.33/s;G12=feedback(G1*G2,1);%内环传递函数G3=26347/(s+599);G4=5.2;G=G12*G3*G4;forKp=1:5Gc=feedback(Kp*G,0.0118);%比例控制的传递函数为常数Kpstep(Gc);holdon;endlegend('Kp=1','Kp=2','Kp=3','Kp=4','Kp=5');holdoff;PID参数对控制性能的影响比例系数Kp对控制性能的影响00.050.10.150.20.250.3020406080100120140StepResponseTime(sec)AmplitudeKp=1Kp=2Kp=3Kp=4Kp=5图3在不同的比例系数Kp下,比例控制对系统阶跃响应的影响PID参数对控制性能的影响比例系数Kp对控制性能的影响•随着比例系数Kp的增加,超调量增大,系统响应速度加快,同时会稳态误差减小,但不能消除稳态误差。•经仿真调试,若Kp≥19时,系统的阶跃响应曲线变为发散型,闭环系统不稳定。也就是,比例系数Kp的无限增加,会使系统不稳定。0246810121416-1.5-1-0.500.51x108StepResponseTime(sec)AmplitudeKp=19图3Kp=19时,P控制下控制系统的阶跃响应曲线PID参数对控制性能的影响积分时间常数Ti对控制性能的影响•采用PI控制,固定比例系数Kp=1,令Ti取0.03,0.05,0.07时,绘制该系统的阶跃响应曲线s=tf('s');G1=59/(s+59);G2=13.33/s;G12=feedback(G1*G2,1);G3=26347/(s+599);G4=5.2;G=G12*G3*G4;Kp=1;forTi=0.03:0.02:0.07PIGc=tf(Kp*[Ti1],[Ti0]);%PI控制器传递函数Gc=feedback(PIGc*G,0.0118);step(Gc);holdon;endlegend('Ti=0.03','Ti=0.05','Ti=0.07');holdoff;PID参数对控制性能的影响积分时间常数Ti对控制性能的影响00.10.20.30.40.50.60.7020406080100120140StepResponseTime(sec)AmplitudeTi=0.03Ti=0.05Ti=0.07图3在不同的积分常数Ti下,PI控制对系统阶跃响应的影响PID参数对控制性能的影响积分时间常数Ti对控制性能的影响•积分作用的强弱取决于积分常数Ti。Ti越小,积分作用就越强,反之Ti大则积分作用弱。•积分控制的主要作用是改善系统的稳态性能,消除系统的稳态误差。当系统存在控制误差时,积分控制就进行,直至无差,积分调节停止,积分控制输出一常值•加入积分控制可使得系统的相对稳定性变差•Ti值的减小可能导致系统的超调量增大,Ti值的增大可能使得系统响应趋于稳态值的速度减慢PID参数对控制性能的影响微分时间常数Td对控制性能的影响•采用PID控制,固定比例系数Kp=1,Ti=0.07,令Td分别取0.005,0.01,0.015时,绘制该系统的阶跃响应曲线s=tf('s');G1=59/(s+59);G2=13.33/s;G12=feedback(G1*G2,1);G3=26347/(s+599);G4=5.2;G=G12*G3*G4;Kp=1;Ti=0.07;forTd=[0.0050.010.015]PIDGc=tf(Kp*[Ti*TdTi1],[Ti0]);%PID控制器传递函数Gc=feedback(PIDGc*G,0.0118);step(Gc),holdonendlegend('Td=0.005','Td=0.01','Td=0.015')holdoff;PID参数对控制性能的影响微分时间常数Td对控制性能的影响00.050.10.150.20.250102030405060708090100StepResponseTime(sec)AmplitudeTd=0.005Td=0.01Td=0.015图4在不同的积分常数Td下,PID控制对系统阶跃响应的影响PID参数对控制性能的影响微分时间常数Td对控制性能的影响•随着微分时间常数Td的增加,闭环系统响应的响应速度加快,调节时间减小•微分环节的主要作用是提高系统的响应速度•由于该环节对误差的导数(即误差变化率发生作用),它能在误差较大的变化趋势时施加合适的控制,但是过大的Kd值会因为系统造成或者受控对象的大时间延迟而出现问题•微分环节对于信号无变化或变化缓慢的系统不起作用。PID控制器的设计Ziegler-Nichols经验整定公式•Ziegler(齐格勒)和Nichols(尼柯尔斯)在1942年提出了PID参数的经验整定公式。这个公式是针对受控对象模型为带延迟的一阶惯性传递函数提出的,即•式中,K为比例系数,T为惯性时间常数,τ为纯延迟时间常数。在实际过程控制系统中,大多数受控对象模型可以近似转换成这样的带延迟的一阶惯性传递函数。其近似转换方法有多种,其中比较好的方法就是,在获取受控对象阶跃响应数据后,用最小二乘拟合方法拟合出系统的模型参数K,T,τ()1sKGseTsPID控制器的设计Ziegler-Nichols整定方法•由Ziegler-Nichols经验整定设计PID控制器的方法有两种。•已知由阶跃响应整定的参数(包括比例系数K、惯性时间常数T、纯延迟时间τ),通过查表,可计算出PID控制器的三个参数Kp、Ti、Td。这里经验整定公式适合于0.1≤τ/T≤1。如果比值τ/T过大,则表明系统的时间延迟很大,对这样的系统可适当予以补偿,Smith补偿器就是一种比较有效的方法•如果已知受控对象频域响应参数(增益裕量Kc、剪切频率ωc,Tc=2π/ω),即可查表计算PID控制器的三个参数Kp、Ti、Td。如果提供了受控对象的传递函数G,就可用MATLAB提供的函数[Gm,Pm,Wc]=margin(G)直接求出增益裕量Kc和剪切频率ωc,再根据经验整定参数Kp、Ti、Td由阶跃响应整定由频域响应整定控制器类型KpTiTdKpTiTdPa0.5KcPI0.9a30.4Kc0.8TcPID1.2a20.50.6Kc0.5Tc0.12Tc表1Ziegler-Nichols经验整定公式TaKPID