第三章MATLAB与基本PID控制系仿真精品ppt课件.ppt
第三章 MATLAB与基本PID控制系统仿真 n3.1 PID控制概述n3.2 PID控制系统仿真n作业 PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:)()()(tyouttrinterror PID控制规律: 其中:kp比例系数;TI积分时间常数;TD微分时间常数tDIpdttderrorTdtterrorTterrorktu0)()(1)()(3.1 PID控制概述n(1)当阶跃输入作用时,P作用是始终起作用的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。n(2)PI控制器与被控对象串联连接时,可以使系统的型别提高一级,而且还提供了两个负实部的零点。n(3)与PI控制器相比,PID控制器除了同样具有提高系统稳态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。n(4)PID控制通过积分作用消除误差,而微分控制可缩小超调量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。n(5)从频域角度来看,PID控制是通过积分作用于系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。 PID控制的主要特点PID参数整定规律 几条基本的PID参数整定规律:n(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。n(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。n(3)增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。PID控制器参数整定PID控制器参数整定的方法很多,概括起来有两大类:n(1)理论计算整定法n主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。n(2)工程整定方法n主要有Ziegler-Nichols整定法、临界比例度法、衰减曲线法。这三种方法各有特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。n工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定;方法简单,计算简便,易于掌握。 n例:基本PID控制SIMULINK仿真仿真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)采用ODE45迭代方法,仿真时间为10s。Transfer Fcn133s +25s2SumSignalGeneratorScopePID ControllerPIDMuxMux3.2 PID控制系统仿真参数设置仿真曲线3.2.1 数字PIDn离散PID控制算法:kjdipTkerrorkerrorkTjerrorkkerrorkku0) 1()()()()(n1、离散系统的数字PID控制仿真:n例:被控对象为:n采样时间为1ms,采用Z变换进行离散化,进过Z变换后的离散化对象为:nyout(k)=-den(2)yout(k-1)-den(3)yout(k-2)-den(4)yout(k-3)n +num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)n分别对阶跃信号、正弦信号和方波信号进行位置响应,设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪,S=2为方波跟踪,S=3为正弦跟踪。ssssG1046585.86523407)(23nclear all;nclose all; nts=0.001;nsys=tf(523407,1,86.85,10465,0);ndsys=c2d(sys,ts,z);nnum,den=tfdata(dsys,v); nu_1=0.0;u_2=0.0;u_3=0.0;ny_1=0.0;y_2=0.0;y_3=0.0;nx=0,0,0;nerror_1=0;nfor k=1:1:500ntime(k)=k*ts; nS=3;nif S=1n kp=0.50;ki=0.001;kd=0.001; n rin(k)=1; %Step Signalnelseif S=2n kp=0.50;ki=0.001;kd=0.001; n rin(k)=sign(sin(2*2*pi*k*ts); %Square Wave Signaln方法一nelseif S=3n kp=1.5;ki=1.0;kd=0.01; %Sine Signaln rin(k)=0.5*sin(2*2*pi*k*ts); nend nu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controllern%Restricting the output of controllernif u(k)=10 n u(k)=10;nendnif u(k)=10 u(k)=10; end if u(k)0;n(2)当 时,采用PD控制;n(3)当 时,采用PID控制;ekerror)(ekerror)(n积分分离控制算法为:kjdipTkerrorkerrorkTjerrorkkerrorkku0) 1()()()()(n式中,T为采样时间; 为积分项的开关系数,且, 0, 1ekerrorekerror)()(n注意:若 过大,则达不到积分分离的目的;若 过小,则会导致无法进入积分区,使控制出现余差。n例:设被控对象为一延迟对象,即n采样时间为20s,延迟时间为4个采样时间,被控对象离散化为n y(k)=-den(2)y(k-1)+num(2)u(k-5)n取M=1,采用积分分离PID控制器进行阶跃响应,M=2,采用普通PID控制。160)(80sesGsnclear all;nclose all; nts=20;n%Delay plantnsys=tf(1,60,1,inputdelay,80);ndsys=c2d(sys,ts,zoh);nnum,den=tfdata(dsys,v); nu_1=0;u_2=0;u_3=0;u_4=0;u_5=0;ny_1=0;y_2=0;y_3=0;nerror_1=0;error_2=0;nei=0;nfor k=1:1:200ntime(k)=k*ts; n%Delay plantnyout(k)=-den(2)*y_1+num(2)*u_5; n%I separationnrin(k)=40;nerror(k)=rin(k)-yout(k);nei=ei+error(k)*ts;n程序:nM=1;nif M=1 %Using integration separationn if abs(error(k)=30&abs(error(k)=20&abs(error(k)=10&abs(error(k)=110 % Restricting the output of controllernu(k)=110;nendnif u(k)=10n u(k)=10;nendnif u(k)=10n u1(k)=10;nendnif u2(k)=10n u2(k)=10;nendnif u1(k)=-10n u1(k)=-10;nendnif u2(k)=-10n u2(k)=-10;nend n%Coupling Plantnyout1(k)=1.0/(1+y1_1)2*(0.8*y1_1+u1_2+0.2*u2_3);nyout2(k)=1.0/(1+y2_1)2*(0.9*y2_1+0.3*u1_3+u2_2);nerror1(k)=R(1)-yout1(k);nerror2(k)=R(2)-yout2(k);nerror=error1(k);error2(k); nu1_4=u1_3;u1_3=u1_2;u1_2=u1_1;u1_1=u(1); nu2_4=u2_3;u2_3=u2_2;u2_2=u2_1;u2_1=u(2); ny1_1=yout1(k);ny2_1=yout2(k); nx1=error; %Calculating Pnx2=(error-error_1)/ts; %Calculating Dnx3=x3+error*ts; %Calculating I nerror_1=error;nendnfigure(1);nplot(time,R(1),k,time,yout1,b);nhold on;nplot(time,R(2),k,time,yout2,r);nxlabel(time(s);ylabel(rin,yout);响应曲线(R=0;1)响应曲线(R=1;0)05001000150000.10.20.30.40.50.60.70.80.91time(s)rin,yout05001000150000.10.20.30.40.50.60.70.80.91time(s)rin,yout仿真曲线:作业1、设被控对象 试采用增量式PID进行控制,PID的参数 , 输入信号选单位阶跃信号。2、设被控对象 采样时间为10s,延迟时间为2个采样时间。试采用积分分离式PID进行控制,并与基本PID控制进行比较。输入信号选单位阶跃信号。sssG5040)(210,10. 0, 8dipkkk150)(20sesGs