专家PID控制课件_第1页
专家PID控制课件_第2页
专家PID控制课件_第3页
专家PID控制课件_第4页
专家PID控制课件_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专家PID控制1、专家PID控制原理1、专家PID控制原理专家PID控制的实质是:基于受控对象和控制规律的各种知识,无须知道被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直接型专家控制器。图1典型二阶系统单位阶跃响应误差曲线令e(k)表示离散化的当前采样时刻的误差值,e(k-1),e(k-2)分别表示前一个和前两个采样时刻的误差值,则有e(k)=e(k)-e(k-1)e(k-1)=e(k-1)-e(k-2)1、专家PID控制原理根据误差及其变化,对图1所示的二阶系统单位阶跃响应误差曲线进行如下定性分析:(1)当e(k)>M1时,说明误差的绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出按定值输出,以达到迅速调整误差,使误差绝对值以最大速度减小,同时避免超调。此时,它相当于实施开环控制。1、专家PID控制原理(3)当e(k)e(k)<0,e(k)e(k-1)>0或e(k)=0时,,说明误差的绝对值朝减小的方向变化,或者已经达到平衡状态。此时,可考虑采取保持控制器输出不变。(4)当e(k)e(k)<0,e(k)e(k-1)<0时,说明误差处于极值状态。如果此时误差的绝对值较大,即e(k)M2,可考虑实施较强的控制作用,即u(k)=u(k-1)+k1kpem(k)如果此时误差的绝对值较小,即e(k)<M2,可考虑实施较弱的控制作用,即u(k)=u(k-1)+k2kpem(k)1、专家PID控制原理(5)当e(k)(精度)时,说明误差的绝对值很小,此时加入积分环节,减少稳态误差。以上各式中,em(k)为误差的第k个极值;u(k)为第k次控制器的输出;u(k-1)为第k-1次控制器的输出;k1为增益放大系数,k1>1;k2为抑制系数,0<k2<1;M1,M2为设定的误差界限,M1>M2>0;k为控制周期的序号(自然数);为任意小的正实数。在图1中,Ⅰ,Ⅲ,Ⅴ,Ⅶ,…区域,误差朝绝对值减小的方向变化,此时,可采取保持等待措施,相当于实施开环控制;Ⅱ,Ⅳ,Ⅵ,Ⅷ…区域,误差绝对值朝增大的方向变化,此时,可根据误差的大小分别实施较强或一般的控制作用,以抑制动态误差。2、仿真实例2、仿真实例求3阶传递函数的阶跃响应其中,对象采样时间为lms。采用z变换进行离散化,经过z变换后的离散化对象为y(k)=-den(2)y(k-1)-den(3)y(k-2)-den(4)y(k-3)

+num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)采用专家PID设计控制器。在仿真过程中,取0.001,程序中的5条规则与控制算法的5种情况相对应。专家PID控制仿真程序见附录程序exppid.m,仿真结果如图2和图3所示。3、程序代码%程序代码%专家PID控制仿真程序:exppid.m%ExpertPIDControllerclearall;closeall;clc;ts=0.001;sys=tf(5.235e005,[1,87.35,1.047e004,0]);%Plantdsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;y_1=0;y_2=0;y_3=0;x=[0,0,0]';x2_l=0;error_1=0;kp=0.6;ki=0.03;kd=0.01;3、程序代码fork=1:1:500time(k)=k*ts;r(k)=1;u(k)=kp*x(1)+kd*x(2)+ki*x(3);%PIDController%Expertcontrolruleifabs(x(1))>0.8%Rule1:Unclosedcontrolruleu(k)=0.45;elseifabs(x(1))>0.40u(k)=0.40;elseifabs(x(1))>0.20u(k)=0.12;elseifabs(x(1))>0.01u(k)=0.10;end(1)当e(k)>M1时,实施开环控制。3、程序代码ifx(1)*x(2)>0|(x(2)==0)%Rule2ifabs(x(1))>=0.05u(k)=u_1+2*kp*x(1);elseu(k)=u_1+0.4*kp*x(1);endendif(x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0)%Rule3u(k)=u(k);end(2)当e(k)e(k)>0或e(k)=0时如果e(k)M2,控制器输出为u(k)=u(k-1)+k1{kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2e(k-1)+e(k-2)]}如果e(k)<M2,控制器输出为u(k)=u(k-1)+kp[e(k)-e(k-1)]+kie(k)+kd[e(k)-2e(k-1)+e(k-2)](3)当e(k)e(k)<0,e(k)e(k-1)>0或e(k)=0时保持控制器输出不变。3、程序代码%Restrictingtheoutputofcontrollerifu(k)>=10u(k)=10;endifu(k)<=-10

u(k)=-10;end%Linearmodely(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)...+num(2)*u_1+num(3)*u_2+num(4)*u_3;error(k)=r(k)-y(k);3、程序代码%----------Returnofparameters----------u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=y(k);x(1)=error(k);%CalculatingPx2_1=x(2);x(2)=(error(k)-error_1)/ts;%CalculatingDx(3)=x(3)+error(k)*ts;%CalculatingI

温馨提示

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

最新文档

评论

0/150

提交评论