PID控制试验报告

上传人:沈*** 文档编号:97007754 上传时间:2022-05-26 格式:DOC 页数:41 大小:1.31MB
收藏 版权申诉 举报 下载
PID控制试验报告_第1页
第1页 / 共41页
PID控制试验报告_第2页
第2页 / 共41页
PID控制试验报告_第3页
第3页 / 共41页
资源描述:

《PID控制试验报告》由会员分享,可在线阅读,更多相关《PID控制试验报告(41页珍藏版)》请在装配图网上搜索。

1、实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因 此连续PID控制算法不能直接使用,需要采用离散化方法。在计算机 PID控制 中,使用的是数字PID控制器。一、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点 kT代表连续时间t,以矩形 法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散 PID位置 式表达式:T kTd、u(k)=kp e(k)+ Z e(j)+*(e(k)e(k 1)ITi j=0T)= kpe(k) k10.0u(k)=10.0;endif u(k) u(k-2)、u(k-3)的初值y_1=0.0;y_2=0.

2、0;y_3=0.0; %y(k-1)、y(k-2)、y(k-3)的初值x=0,0,0; %比例、微分、积分项的初值error_1=0;%e(k-1)的初值disp(S=1-step,S=2-sin,S=3-square)% S=阶跃,S=2方波,S=3正弦 S=input(Number of input signal S:)% 接收输入信号代号for k=1:1:1500time(k)=k*ts;%各采样时刻%各项PID系数%阶跃信号输入%各项PID系数%方波信号输入%各项PID系数%正弦信号输入%PID控制信号输出u(k)if S=1 %阶跃输入时kp=0.50;ki=0.001;kd=0.

3、001;rin(k)=1;elseif S=2kp=0.50;ki=0.001;kd=0.001;rin(k)=sign(sin(2*2*pi*k*ts);elseif S=3kp=1.5;ki=1.0;kd=0.01;rin(k)=0.5*sin(2*2*pi*k*ts);endu(k尸kp*x(1)+kd*x(2)+ki*x(3);%控制信号输出限幅if u(k)=10u(k)=10;endif u(k)=-10u(k)=-10;%根据差分方程计算系统当前输出y(k)yout(k尸-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2

4、+num(4)*u_3;error(k)=rin(k)-yout(k);% 当前误差%更新 u(k-1)、u(k-2)、u(k-3)、y(k-1)、y(k-2)、y(k-3)u 3=u 2;u 2=u 1;u 1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);乂二的他);%比例输出x(2)=(error(k)-error_1)/ts; % 微分输出x(3)=x(3)+error(k)*ts;%积分输出error_1=error(k);% 更新 e(k-1)endfigure(1);% 作图plot(time,rin,r,time,yout,b);xlabel(time(s)

5、,ylabel(rin,yout);2. Ex6针对于Ex5被控对象所对应的离散系统,设计针对三角波、锯齿波 和随机信号的位置式响应。仿真程序:ex6.m。程序中当S=1时为三角波,S=2时为锯齿波,S=3时为 随机信号。如果D=1,那么通过pause命令实现动态演示仿真。%PID Controllerclear all;close all;ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,z);num,den=tfdata(dsys,v);u_1=0.0;u_2=0.0;u_3=0.0;r_1=rand;y_1=0;

6、y_2=0;y_3=0;x=0,0,0;error_1=0;disp(S=1-Triangle,S=2-Sawtooth,S=3-Random)% S=角,S=2锯齿,S=3 随机S=input(Number of input signal S:)% 接收输入信号代号disp(D=1-Dynamic display,D=1-Direct display)%D=1 动画显示,D=1 直接 显示D=input(D=)for k=1:1:3000time(k)=k*ts;kp=1.0;ki=2.0;kd=0.01;if S=1 %Triangle Signalif mod(time(k),2)=5.

7、0rin(k)=rand;vr(k)=abs(rin(k)-r_1)/ts);endendu(k尸kp*x(1)+kd*x(2)+ki*x(3);%PID Controller%Restricting the output of controllerif u(k)=10u(k)=10;endif u(k)=10u(k)=10;endif u(k)02)当|e(k)|工时,采用PD控制,可防止产生过大的超调,又使系统有较 快的响应;3)当|e(k)|w8时,采用PID控制,以保证系统的控制精度。积分别离算法可表示为:u(k) =kpe(k) 小 e(j)T kd .k) 7)j=oT式中,T为采

8、样时间,B为积分项的开关系数,P=1 |e(k) |J0 k)N-80sEx9设备控对象为一个延迟对象 G(s) = -e-,采样周期为20s,延迟时间 60s 1为4个采样周期,即80s。输入信号r(k)=40,控制器输出限制在-110,110。kp =0.8,ki =0.005,kd =3被控对象离散化为 y(k) - -den(2)y(k -1) num(2)u(k -5)仿真方法一:仿真程序:ex9_1.m。当M=1时采用分段积分别离法,M=2 时采用普通PID控制。%Integration Separation PID Controllerclear all;close all;ts

9、=20;%Delay plantsys=tf(1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v);u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_i=0;y_2=0;y_3=o;error_1=0;error_2=0;ei=0;% M=1分段积分别离,M=2普通PIDdisp(M=1-Using integration separation,M=2-Not using integration separation)M=input(whether or not use integration sepa

10、ration method:)for k=1:1:200time(k)=k*ts;%输出信号yout(k)=-den(2)*y_1+num(2)*u_5;rin(k)=40;error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;% 积分项输出if M=1%使用分段积分别离if abs(error(k)=30&abs(error(k)=20&abs(error(k)=10&abs(error(k)=110%控制信号限幅u(k)=110;endif u(k)Umax,那么只累加负偏差;假设U(k-1)=umu(k)=um;endif u(k)=umif error(k

11、)0alpha=0;elsealpha=1; endelseif u(k)0 alpha=1;elsealpha=0; endelsealpha=1;endelseif M=2 %Not using intergration sturation alpha=1;end%Return of PID parameters u 3=u 2;u 2=u 1;u 1=u(k); y_3=y_2;y_2=y_1;y_1=yout(k); error_1=error(k);x(1)=error(k);%计算比例项x(2)=(error(k)-error_1)/ts; % 计算微分项 x(3)=x(3)+al

12、pha*error(k)*ts; % 计算积分项 xi(k)=x(3);endfigure(1);subplot(311);plot(time,rin,b,time,yout,r);xlabel(time(s);ylabel(Position tracking);subplot(312);plot(time,u,r);xlabel(time(s);ylabel(Controller output);subplot(313);plot(time,xi,r);xlabel(time(s);ylabel(Integration);其运行结果如表3所示。表3例10仿真结果M=1时米用抗积分饱和算法M=

13、2时米用抗积分饱和算法D2 01 OJ U Qt 07 QJ 而切 口020304 M QB 07 Q.lEF岩 iJ.豆r口口QI2 UM 04 g6 0607 O.BIE*分析:比拟仿真结果知,采用普通的算法时,积分项的存在,有时可能会引 起积分饱和,增加系统的调整时间和超调量,而采用了抗积分饱和的方法,可以 消除静态误差,使控制量不易进入饱和区,即使进入了,也能较快,系统的输出 特性得到了一定改善。三、不完全微分PID控制算法在PID控制中,微分信号的引入可改善系统的动态特性,但也易引入高频干扰,在误差扰动突变时尤其显出微分项的缺乏。 假设在控制算法中参加低通滤波器, 那么可使系统性能得

14、到改善。具体做法就是在 PID算法中参加一个一阶惯性环节低通滤波器,Tf为滤波器系数。1 TfS可得此时的微分项输出为UDk = Tf UDk _1 kp TD ek-ek-1 苴Ts TfTs Tf,于士 T= Kd(1 - - )e(k)-e(k -1); Ud (k -1)a= TfUD(k-1), Kd =kp1, Ts为采样时间,Td为微分时间常数。Ts Tfp Ts_80sEx11被控对象为时滞系统传递函数 G(s)=,在对象的输出端加幅值 60s 1为0.01的随机信号。采样周期为20ms。采用不完全微分算法,kp =0.3,ki =0.0054Td =140。所加的低通滤波器为

15、Q(s) =1 180s 1仿真程序:ex11.m。M=1时采用不完全微分,M=2时采用普通PID%PID Controler with Partial differentialclear all;close all;ts=20;sys=tf(1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v);u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; %空制信号初值ud_1=0;%uD(k-1)初值y_1=0;y_2=0;y_3=0; %输出信号初值error_1=0;ei=0;for k=1:1:100tim

16、e(k)=k*ts;rin(k)=1.0;yout(k)=-den(2)*y_1+num(2)*u_5; % 输出信号差分方程D(k)=0.01*rands(1);% 干扰信号yout(k)=yout(k)+D(k); %参加干扰后的输出信号error(k)=rin(k)-yout(k);ei=ei+error(k)*ts; %矩形面积求和计算的积分项输出kp=0.30;ki=0.0055;TD=140;kd=kp*TD/ts;Tf=180;%Q的滤波器系数Q=tf(1,Tf,1);% 低通滤波器%M=1选择不完全微分,M=2选择普通PIDdisp(M=1 Using Partial diff

17、erential PID,M=2- Using PID Controler without Partial differential)M=input(whether or not use Partial differential PID:)if M=1%M=1时用不完全微分alfa=Tf/(ts+Tf);ud(k)=kd*(1-alfa)*(error(k)-error_1)+alfa*ud_1;u(k)=kp*error(k)+ud(k)+ki*ei;ud_1=ud(k);elseif M=2 %M=2 时用普通 PIDu(k)=kp*error(k)+kd*(error(k)-error_

18、1)+ki*ei;end%输出限幅if u(k)=10u(k)=10;endif u(k)=-10u(k)=-10;end%更新采样值u 5=u 4;u 4=u 3;u 3=u 2;u 2=u 1;u 1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);error_1=error(k);endfigure(1);plot(time,rin,b,time,yout,r);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);figure(3);plot(time,rin

19、-yout,r);xlabel(time(s);ylabel(error);figure(4);bode(Q,r);dcgain(Q);其运行结果如表4所示。分析:比拟m=1与m=2的图可得知:在标准PID算式中,当有阶跃信号输 入时,微分想输出急剧增加,容易引起调节过程的震荡,导致品质因数下降,为 了克服这点才引入不完全微分的PID算法。其微分作用逐渐下降,微分输出信号按指数规律逐渐衰减到零,因而系统变化比拟缓慢,不容易引起振荡。微分控 制可以改善动态特性,如超调量减少,调节时间缩短,使稳态误差减少,提高控 制精度。表4例11运行结果采样输出误差输出四、微分线性PID控制算法微分线性的PID

20、控制结构如图3-2所示,其特点是只对输出量y(k)进行微分, 而对给定值r(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量 的变化通常是比拟缓和的,它适用于给定值r(k)频繁升降的场合,可以防止给定值升降时引起的系统振荡,从而改善系统的动态特性。令微分局部的传递函数为uD_ =1Ds1Y1,式中 一1一相当于低通y(s)TdS 1TdS 1滤波器。那么有 Td dUD ud =Td dy y dtdt由差分得:TDUD(k)-UD(k-1) UD(k)-TD y(k)-y(k-1) y(k) TT整理得微分局部的输出:uD (k) =GuD(k -1) +c2y(k)-c3y(k

21、 -1)其中C1 =Td_ Td T _Td, c2 一, c3 一TdTTd TTdT比例积分局部的传递函数为:uP9) = kp1+,其中Ti为积分时间常数 E(s) p离散控制算式为u(k)=Up|(k)+uD(k)。e 80sEx12设被控对象为一个延迟对象 G(s)=,米样周期为20so输入信号60s 1为带有高频干扰的方波信号:r(t) =sgn(sin(0.0005项)+0.05sin(0.03E)。普通 PID 控制中kp=0.36,ki =0.0021, kd =14。微分先行 PID 中 =0.5。仿真程序:ex12.m。M=1时使用微分先行PID, M=2使用普通PID%

22、PID Controler with differential in advance clear all;close all;ts=20;sys=tf(1,60,1,inputdelay,80);dsys=c2d(sys,ts,zoh);num,den=tfdata(dsys,v);u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;ud_1=0;y_i=0;y_2=0;y_3=o;error_1=0;error_2=0;ei=0;%M=1使用微分先行PID , M=2使用普通PIDdisp(M=1?aJsing PID Controler with differential in a

23、dvance ,M=2- Using commonPID Controler)M=input(whether or not use PID Controler with differential in advance:);for k=1:1:400time(k)=k*ts;%Linear modelyout(k)=-den(2)*y_1+num(2)*u_5;kp=0.36;kd=14;ki=0.0021;rin(k)=1.0*sign(sin(0.00025*2*pi*k*ts);rin(k)=rin(k)+0.05*sin(0.03*pi*k*ts);error(k)=rin(k)-you

24、t(k);ei=ei+error(k)*ts;gama=0.50;Td=kd/kp;c1=gama*Td/(gama*Td+ts);c2=(Td+ts)/(gama*Td+ts);c3=Td/(gama*Td+ts);if M=1 %PID Control with differential in advanceud(k)=c1*ud_1+c2*yout(k)-c3*y_1;u(k)=kp*error(k)+ud(k)+ki*ei;elseif M=2 %Simple PID Controlu(k)=kp*error(k)+kd*(error(k)-error_1)/ts+ki*ei;endi

25、f u(k)=110u(k)=110;endif u(k)=-110u(k)=-110;end%Update parametersu 5=u 4;u 4=u 3;u 3=u 2;u 2=u 1;u 1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,r,time,yout,b);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);其运行结果如表5所

26、示。分析:微分先行PID算法将微分算法放在前面,适用于给定量频繁升降的场 合,可以防止给定值升降时引起的系统振荡,从而改善系统的动态特性。表5例12仿真结果五、带死区的PID控制算法某些系统为了防止控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算法为:e( k) =e(k).e(k) B,式中e(k)为位置跟踪偏差,B为可调的死区参数,具体可根据实际控制对象由试验确定 假设B太小,会使控制动作过于频繁,达不到稳定被控对象的目的;假设 B太大,那么系统将产生较大的滞后Ex13设被控对象为G(s)=52350032s 87.35s10470s,采样周期为1ms,

27、对象输出上有一个幅值为0.5的正态分布的随机干扰信号。采用积分别离式PID控制算法进行阶跃响应,取=0.2,死区参数B=0.1,采用低通滤波器对对象输出信号进行滤波,滤波器为Q(s)=00.04s 1仿真程序:ex13.m。M=1时,采用一般积分别离式 PID控制算法,M=2时采用带死区的积分别离式PID控制算法%PID Controler with dead zone clear all; close all;ts=0.001;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,z);num,den=tfdata(dsys,v)u_1=

28、0;u_2=0;u_3=0;u_4=0;u_5=0;y_i=0;y_2=0;y_3=o;yy_i=0;error_1=0;error_2=0;ei=0;sys1=tf(1,0.04,1); %Low Freq Signal Filterdsys1=c2d(sys1,ts,tucsin);num1,den1=tfdata(dsys1,v);f_1=0;%M=1选择普通积分别离式PID, M=2选择带死区的积分别离式PID算法 disp(M=1-Using common integration seperation PID Controler ,M=2- Using integration sep

29、eration PID Controler with dead zone)M=input(whether or not use integration seperation PID Controler with dead zone:); for k=1:1:2000 time(k)=k*ts;rin(k)=1; %Step Signal%Linear modelyout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3D(k)=0.50*rands(1); %Disturbance signal yyou

30、t(k)=yout(k)+D(k);%Low frequency filterfilty(k)=-den1(2)*f_1+num1(1)*(yyout(k)+yy_1);error(k)=rin(k)-filty(k);if abs(error(k)=0.20ei=ei+error(k)*ts;elseei=0;endkp=0.50;ki=0.10;kd=0.020;u(k)=kp*error(k)+ki*ei+kd*(error(k)-error_1)/ts;if M=1 u(k)=u(k);elseif M=2 %Using Dead zone if abs(error(k)=10 u(k

31、)=10;endif u(k)=-10 u(k)=-10;end%Return of PID parametersrin_1=rin(k);u 3=u 2;u 2=u 1;u 1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);f_1=filty(k);yy_1=yyout(k);error_2=error_1;error_1=error(k);end figure。);subplot(211);plot(time,rin,r,time,filty,b);xlabel(time(s);ylabel(rin,yout);subplot(212);plot(time,u,r);x

32、label(time(s);ylabel(u);figure(2);plot(time,D,r);xlabel(time(s);ylabel(Disturbance signal);其运行结果如表6所示。表6例13仿真结果M=1选择普通积分别离式PID算法M=2选择带死区的积分别离式PID算法if abs(error(k)=0.10 u(k)=01 uy 0.51.50-0.5 00.20.40.60.811.21.41.61.82time(s)105u0-5 00.20.40.60.811.21.41.61.82time(s)1.100.t u o y00.20.40.60.811.21.4

33、1.61.82time(s)-010-5L0LUIIJiIn0.20.40.60.811.21.41.61.82time(s)0.50.5训曲油MIU0.4 IlliiE il I j|i0.31庙1; i Llj 11 liL 111干扰信D(k)Q. 勺l a g s e c00I a n g s e c n训wi ;a s D-0.1a u s D-0.1W1 II-0.2|11 Nl N1 p-02IH THI 唧W11 -0.3 M N L-0.4|(-0.4% M n1 p 1III .1 -0.5iiii1-0 511111100.20.40.60.811.21.41.61.8200.20.40.60.811.21.41.61.82time(s)time(s)分析:在控制精度要求不太高,控制过程要求尽量平稳的场合,为了

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!