欢迎来到天天文库
浏览记录
ID:48192310
大小:445.00 KB
页数:15页
时间:2020-01-18
《专家PID控制.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、专家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)2/151、专家PID控制原理根据误差及其变化,对图1所示的二阶系统单位阶跃响应误差曲线进行如下定性分析:(1)当e(k)>M1时,说明
2、误差的绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出按定值输出,以达到迅速调整误差,使误差绝对值以最大速度减小,同时避免超调。此时,它相当于实施开环控制。3/151、专家PID控制原理(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
3、(k)0或e(k)=0时,,说明误差的绝对值朝减小的方向变化,或者已经达到平衡状态。此时,可考虑采取保持控制器输出不变。(4)当e(k)e(k)<0,e(k)e(k-1)<0时,说明误差处于极值状态。如果此时
4、误差的绝对值较大,即e(k)M2,可考虑实施较强的控制作用,即u(k)=u(k-1)+k1kpem(k)如果此时误差的绝对值较小,即e(k)1;k2为抑制系数,0M2>0;k为控制周期的序号(
5、自然数);为任意小的正实数。在图1中,Ⅰ,Ⅲ,Ⅴ,Ⅶ,…区域,误差朝绝对值减小的方向变化,此时,可采取保持等待措施,相当于实施开环控制;Ⅱ,Ⅳ,Ⅵ,Ⅷ…区域,误差绝对值朝增大的方向变化,此时,可根据误差的大小分别实施较强或一般的控制作用,以抑制动态误差。6/152、仿真实例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设计控制器
6、。在仿真过程中,取0.001,程序中的5条规则与控制算法的5种情况相对应。专家PID控制仿真程序见附录程序exppid.m,仿真结果如图2和图3所示。7/152、仿真实例图2PID控制阶跃响应曲线图3误差响应曲线8/153、程序代码%程序代码%专家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
7、_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;9/153、程序代码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
此文档下载收益归作者所有