




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使用的是数字PID控制器。、位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,可得离散PID位置式表达式:u(k)T kkp e(k) - e(j)TI j 0kkpe(k)K e(j)Tj 0(e(k) e(k 1) k e(k) e(k 1) kd式中,kpki,kdkpTd,Tie为误差信号(即PID控制器的输入),u为控制信号(即控制器的
2、输出)。在仿真过程中,可根据实际情况,对控制器的输出进行限幅。、连续系统的数字PID控制仿真连续系统的数字PID控制可实现D/A及A/D的功能,符合数字实时控制的 真实情况,计算机及DSP的实时PID控制都属于这种情况。1. Ex3设被控对象为一个电机模型传递函数 G(s),式中1Js2 BsJ=0.0067,B=0.1。输入信号为 0.5sin(2 t),采用PD控制,其中kp20, kd0.5。米用ODE45方法求解连续被控对象方程。因为G(s) US,所以J噢Js BsdtB史udt,另y1y,y2 y,则y1y2y2 (B/J)y2 (1/J)*u,因此连续对象微分方程函数 ex3f.
3、m如下fun ctio n dy = ex3f(t,y,flag ,para)u=para;J=0.0067;B=0.1;dy=zeros(2,1);dy(1) = y(2);dy(2) = -(B/J)* y(2) + (1/J)*u;控制主程序ex3.mclear all;close all;ts=0.001; %采样周期xk=zeros(2,1);%被控对象经A/D转换器的输出信号y的初值e_1=0;%误差 e(k-1)初值u_1=0;%控制信号u(k-1)初值for k=1:1:2000 %k为采样步数time(k) = k*ts; %time中存放着各采样时刻% D/Arin(k)=
4、0.50*sin(1*2*pi*k*ts); % 计算输入信号的采样值P ara=u_1;tS pan=0 ts;tt,xx=ode45(ex3f,tS pa n, xk, para); %ode45解系统微分方程%xx有两列,第一列为tt时刻对应的y,第二列为tt时刻对应的y导数xk = xx(end,:);% A/D,提取xx中最后一行的值,即当前y和y导数yout(k)=xk(1); %xk(1)即为当前系统输出采样值y(k)e(k)=rin(k)-yout(k);% 计算当前误差de(k)=(e(k)-e_1)/ts; % 计算 u(k)中微分项输出u(k)=20.0*e(k)+0.5
5、0*de(k);% 计算当前 u(k)的输出%控制信号限幅if u(k)10.0u(k)=10.0;endif u(k)=10endif u(k)=-10u(k)=-10;end%根据差分方程计算系统当前输出y(k)yout(k)=-de n(2)*y_1-de n(3)*y_2-de n *y_3+num( 2)*u_1+ num( 3)*u_2+nu m(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
6、_3=y_2;y_2=y_1;y_仁yout(k);x(1)=error(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,n n, r,time,yout,b);xlabel(time(s),ylabel(ri n,yout);2. Ex6针对于Ex5被控对象所对应的离散系统,设计针对三角波、锯齿波和随机信号的位置式响应。仿真程序:ex6.m。程序中当S=1时为三角波,S=2时为锯齿波,S=3时为随机信号。如果D=1,贝
7、M过Pause命令实现动态演示仿真。%PID Con trollerclear all;close all;ts=O.OO1;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,z);nu m,de n=tfdata(dsys,v);u_1=0.0;u_2=0.0;u_3=0.0;r_1=ra nd;y_1=0;y_2=0;y_3=0;x=0,0,0;error_1=0;disp(S=1-Triangle,S=2-Sawtooth,S=3-Random)% S=E角,S=2锯齿,S=3随机S=i np ut(Number of input
8、 sig nal S:)% 接收输入信号代号disp(D=1-Dynamic display,D=1-Direct display)%D=1 动画显示,D=1 直接显示D=i np ut(D=)for k=1:1:3000time(k)=k*ts;kp=1.0;ki=2.0;kd=0.01;if S=1 %Tria ngle Sig nalif mod(time(k),2)=5.0 nn( k)=ra nd;vr(k)=abs(ri n( k)-r_1)/ts);endendu(k)=k p*x(1)+kd*x (2)+ki*x(3);%P ID Con troller%Restricti n
9、g the out put of con trollerif u(k)=10endif u(k). nlA ctL2BlorIdK图2-4离散PID控制的封装界面其程序运行结果如表5所示。表5 Simulink仿真结果Kp=0.5;Ki=0.001;Kd=0.001;T=0.001Kp=1.5;Ki=0.01;Kd=0.01;T=0.001QScopc昌自 QfQ ASH 0 a-w151.5U号J.b120.4Time fsW Drfrne oflsel 0=.I曰B ScopeI D Q 1蚪3=10u(k)=10;end if u(k)02)当 e(k)时,采用PD控制,可避免产生过大的
10、超调,又使系统有较快的响应;3)当 e(k)时,采用PID控制,以保证系统的控制精度。积分分离算法可表示为:u(k) kp e(k)kijke(j)T kd0e(k)Te(k 1)式中,T为采样时间,B为积分项的开关系数,1|e(k)|0 |e(k)|Ex9设备控对象为一个延迟对象G(s)80se60s 1,采样周期为20s,延迟时间为4个采样周期,即80s。输入信号r(k)=40,控制器输出限制在-110,110。kp0.8,ki0.005, kd 3被控对象离散化为 y(k) den(2)y(k 1) num(2)u(k 5)仿真方法一:仿真程序:ex9_1.m。当M=1时采用分段积分分离
11、法,M=2 时采用普通PID控制。%ln tegrati on Sep arati on PID Con troller clear all;close all;ts=20;%Delay p la ntsys=tf(1,60,1, inp utdelay,80);dsys=c2d(sys,ts,zoh);nu m,de n=tfdata(dsys,v);u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;% M=1分段积分分离,M=2普通PID dis p(M=1-Us ing in tegrati
12、on sep arati on,M=2-Not using in tegratio n sep arati on)M=inpu t(whether or not use in tegrati on sep arati on method:) for k=1:1:200 time(k)=k*ts;%输出信号 yout(k)=-de n(2) *y_1+ num (2)*u_5;rin (k)=40;error(k)=ri n( k)-yout(k);ei=ei+error(k)*ts;% 积分项输出if M=1%使用分段积分分离if abs(error(k)=30&abs(error(k)v=4
13、0beta=0.3;elseif abs(error(k)=20&abs(error(k)v=30beta=0.6;elseif abs(error(k)=10&abs(error(k)v=20beta=0.9;elseend elseif M=2beta=1.0;endkp=0.80;ki=0.005;kd=3.0;u(k)=k p*error(k)+kd*(error(k)-error_1)/ts+beta*ki*ei;if u(k)=110%控制信号限幅u(k)=110;endif u(k)1 !-ABmfccb-D- H-crtfl-bTidkffi FctiD-inpf*tr Tla
14、rrftr FcnriibFt、二 HU1|K rsr1T- 11DUor4:-TliTi-* In1a 雷 rMlxd1 心5Fa图3-1 Simulink主程序其运行结果如表2所示。表2 Simulink仿真结果分析:由图可知,积分时间常数能消除系统的稳态误差, 提高系统控制精度,只有当积分时间常数合适时,过度过程的特性才比较理想。积分时间常数过小, 系统震荡次数多,积分时间常数过大,对系统性能影响减少。、抗积分饱和PID控制算法Xmax,若控制器输出所谓积分饱和是指若系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致执行机构达到极限位置u(k )继续增大,阀
15、门开度不可能在增大,此时就称计算机输出控制超出正常运行 范围而进入了饱和区。一旦系统出现反向偏差,u(k)逐渐从饱和区推出。进入饱和区越深,则退出饱和区所需时间越长。在这段时间内,执行机构仍停留在极限 位置而不能随偏差反向立即作出相应的改变, 这时系统就像失去控制一样,造成控制性能恶化。这种现象称为积分饱和现象或积分失控现象。抗积分饱和的思路是,在计算 u(k)时,首先判断上一时刻的控制量 否已超出限制范围。若u(k-1)umax,贝U只累加负偏差;若u(k-1)=umu(k)=um;end if u(k)=umif error(k)0alp ha=0;elsealp ha=1;end els
16、eif u(k)0alp ha=1;elsealp ha=0;end elsealp ha=1;end elseif M=2 %Not using in tergrati on sturati onalp ha=1;end%Retur n of PID p arameters 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 pha*error(k)*ts;xi(
17、k)=x(3);end figure(1);sub plot(311);plot(time,ri n, b,time,yout,r);xlabel(time(s);ylabel( Po sitio n track in g);sub plot(312);plot(time,u,r);xlabel(time(s);ylabel(Co ntroller out put);sub plot(313);plot(time,xi,r);xlabel(time(s);ylabel(I ntegrati on);其运行结果如表3所示。表3例10仿真结果M=1时采用抗积分饱和算法M=2时采用抗积分饱和算法JD
18、cf cd- -上El口匸分析:比较仿真结果知,采用普通的算法时,积分项的存在,有时可能会引 起积分饱和,增加系统的调整时间和超调量,而采用了抗积分饱和的方法,可以 消除静态误差,使控制量不易进入饱和区,即使进入了,也能较快,系统的输出 特性得到了一定改善。三、不完全微分PID控制算法在PID控制中,微分信号的引入可改善系统的动态特性,但也易引入高频干扰,在误差扰动突变时尤其显出微分项的不足。 若在控制算法中加入低通滤波器,则可使系统性能得到改善。具体做法就是在PID算法中加入一个一阶惯性环节(低通滤波器)一,Tf为滤波器系数。1 TfSTfUD(k) UD(k 1)Ts T fKd(1可得此
19、时的微分项输出为TDkp ke(k)e(k ,其中)e(k) e(k 1) UD(k 1)卫UD(k 1),Kd kpID,Ts为采样时间,TD为微分时间常数。Ts T fTsEx11被控对象为时滞系统传递函数G(s)80s詁,在对象的输出端加幅值为0.01的随机信号。采样周期为20ms。采用不完全微分算法,kp 03ki 0.0055,Td140。所加的低通滤波器为仿真程序:exll.m。1180s 1M=1时采用不完全微分,M=2时采用普通PIDQ(s)%PID Con troler with P artial differe ntial clear all;close all;ts=20
20、;sys=tf(1,60,1, inp utdelay,80);dsys=c2d(sys,ts,zoh);nu m,de n=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:100 time(k)=k*ts;rin (k)=1.0;yout(k)=-den(2)*y_1+ num(2)*u_5; % 输出信号差分方程D(k)=0.01*ra nds(1);% 干扰信号yout(k)=yout(k)+D(
21、k); %加入干扰后的输出信号 error(k)=ri n( k)-yout(k);ei=ei+error(k)*ts; %矩形面积求和计算的积分项输出 kp=0.30;ki=0.0055;TD=140;kd=k p*TD/ts;Tf=180;%Q的滤波器系数Q=tf(1,Tf,1);% 低通滤波器%M=1选择不完全微分,M=2选择普通PID dis p(M=1 Usi ng P artial differe ntial P ID,M=2- Using PID Con troler without P artial differe ntial)M=inpu t(whether or not u
22、se P artial differe ntial PID:)if M=1%M=1时用不完全微分alfa=Tf/(ts+Tf);ud(k)=kd*(1-alfa)*(error(k)-error_1)+alfa*ud_1;u(k)=k p*error(k)+ud(k)+ki*ei;ud_1=ud(k);elseif M=2%M=2 时用普通 PIDu(k)=k p*error(k)+kd*(error(k)-error_1)+ki*ei;end%输出限幅 if u(k)=10u(k)=10;end if u(k)=-10u(k)=-10;end%更新采样值 u_5=u_4;u_4=u_3;u_
23、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);end figure(1);plot(time,n n, b,time,yout,r);xlabel(time(s);ylabel(ri n,yout);figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);figure);plot(time,ri n-yout,r);xlabel(time(s);ylabel(error);figure(4);bode(Q,r);dcgai n( Q);其运行结果如表4所示。分析
24、:比较m=1与m=2的图可得知:在标准PID算式中,当有阶跃信号输入时,微分想输出急剧增加,容易引起调节过程的震荡,导致品质因数下降,为了克服这点才引入不完全微分的 PID算法。其微分作用逐渐下降,微分输出信号按指数规律逐渐衰减到零,因而系统变化比较缓慢,不容易引起振荡。微分控制可以改善动态特性,如超调量减少,调节时间缩短,使稳态误差减少,提高控制精度。表4例11运行结果M=1时米用不完全微分M=2时采用普通PID输入信号 (蓝线)输出信号 (红线)采样输出0 问6 & k/ri巨TifIB 耳 diHf rN iTfi ?ii上创7 *7LIBLJ.JJL 皿 =110u(k)=110;en
25、dif u(k)=-110u(k)=-110;end%Up date p arametersu_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,ri n,r,time,yout,b);xlabel(time(s);ylabel(ri n,yout);figure(2);plot(time,u,r);xlabel(time(s);ylabel(u);其运行结果如表5所示。分析:微分先行PID算法将微分
26、算法放在前面,适用于给定量频繁升降的场合,可以避免给定值升降时引起的系统振荡,从而改善系统的动态特性。表5例12仿真结果某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算法为:e(k)0 e(k)e(k) |e(k)|B,式中e(k)B为位置跟踪偏差,B为可调的死区参数,具体可根据实际控制对象由试验确定。若B太小,会使控制动作过于频繁,达不到稳定被控对象的目的;若 B太大,则系统将产生较大的滞后。523500Ex13设被控对象为G(s)-523500,采样周期为1ms,对象输s 87.35s10470s出上有一个幅值为0.5的正态分布的随机干扰
27、信号。采用积分分离式PID控制算法进行阶跃响应,取=0.2,死区参数B=0.1,采用低通滤波器对对象输出信号1进行滤波,滤波器为 Q(s) 。0.04s 1仿真程序:ex13.m。M=1时,采用一般积分分离式 PID控制算法,M=2时采用带死区的积分分离式PID控制算法。clear all;%PID Con troler with dead zoneclose all;ts=O.OO1;sys=tf(5.235e005,1,87.35,1.047e004,0);dsys=c2d(sys,ts,z);nu m,de n=tfdata(dsys,v) u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;yy_1=0;error_1=0;error_2=0;ei=0;sys1=tf(1,0.04,1); %Low Freq Sig nal Filter dsys1=c2d(sys1,ts,tucsi n);nu m1,de n1=tfdata(dsys1,v);f_1=0;%M=1选择普通积分分离式PID, M=2选择带死区的积分分离式PID算法 dis p(M=1-Usi ng com mon in tegrati on sep eratio n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游度假区景观初步设计2025年旅游目的地形象塑造评估报告
- 基于大数据的2025年物流园区仓储设施设计创新报告
- (2025年标准)逗笑老婆的协议书
- (2025年标准)定向 委托 培养协议书
- (2025年标准)调价补充协议书
- (2025年标准)店面合作协议解除协议书
- 建设工程合同签订流程及范本
- (2025年标准)资金入股个人协议书
- 2025年合作解约情侣协议书
- 2025年新危废处置协议书
- 留疆战士考试题库及答案
- 赏识你的学生
- 心衰病患者护理查房课件
- TSG11-2020 锅炉安全技术规程
- 哲学导论(完整版)
- 合成孔径雷达
- 北师大版数学四年级下册全册教案设计
- 汉语拼音发音表(适合初学者和老年人)
- 购物中心商场商户促销活动管理制度
- 中国工商银行个人贷款申请表
- 【教学设计】3《科学探究:物质的密度》01
评论
0/150
提交评论