ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:266.93KB ,
资源ID:14319872      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14319872.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(专家PID控制系统Matlab仿真.docx)为本站会员(b****5)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

专家PID控制系统Matlab仿真.docx

1、专家PID控制系统Matlab仿真 专家PID控制系统Matlab仿真摘要:分析了一个速度控制器的控制仿真。其传递函数为: 使用专家PID控制系统,输入信号为阶跃信号,取采样时间为1ms,画出阶跃响应曲线和误差变化曲线。0引言 专家控制(Expert Control)的实质是基于受控对象和控制规律的各种知识,并以智能的方式利用这些知识来设计控制器。利用专家经验来设计PID参数便构成专家PID控制。 典型的二阶系统单位阶跃响应误差曲线如图1、2所示。对于典型的二阶系统阶跃响应过程作如下分析,根据误差及其变化,可设计专家PID控制器,该控制器可分为五种情况进行设计。1设计 根据误差及其变化,可设计

2、专家PID控制器,该控制器可分为以下五种情况进行设计: (1)当时,说明误差的绝对值已经很大,不论误差变化趋势如何,都应考虑控制器的输出应按最大或最小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。此时,它相当于实施开环控制。 (2)当时,说明误差在朝误差绝对值增大方向变化,或误差为某一常值,未发生变化。此时,如果,说明误差也较大,可考虑由控制器实施较强的控制作用,以达到扭转误差绝对值朝减小方向变化,并迅速减小误差的绝对值。此时,如果,说明尽管误差朝绝对值增大方向变化,但误差绝对值本身并不很大,可考虑控制器实施一般的控制作用,只要扭转误差的变化趋势,使其初误差绝对值减小方向变化。 (3

3、)当,或时,说明误差的绝对值朝减小的方向变化,或者已经达到平衡状态。此时,可考虑采取保持控制器输出不变。 (4)当,时,说明误差处于极值状态。如果此时误差的绝对值较大,可考虑实施较强的控制作用。 (5)当时,说明误差的绝对值很小,此时加入积分,减少稳态误差。2仿真图图1 阶跃响应曲线图2 误差曲线3程序%Expert 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

4、_3=0.0;y_1=0;y_2=0;y_3=0;x=0,0,0;x2_1=0;kp=0.6;ki=0.03; kd=0.01;error_1=0;for k=1:1:500time(k)=k*ts;rin(k)=1.0; %Tracing Jieyue Signalu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller%Expert control ruleif abs(x(1)0.8 %Rule1:Unclosed control firstly u(k)=0.45;elseif abs(x(1)0.40 u(k)=0.40;elseif abs(x(1

5、)0.20 u(k)=0.12; elseif abs(x(1)0.01 u(k)=0.10; end if x(1)*x(2)0|(x(2)=0) %Rule2 if abs(x(1)=0.05 u(k)=u_1+2*kp*x(1); else u(k)=u_1+0.4*kp*x(1); endend if (x(1)*x(2)0)|(x(1)=0) %Rule3 u(k)=u(k);endif x(1)*x(2)0&x(2)*x2_1=0.05 u(k)=u_1+2*kp*error_1; else u(k)=u_1+0.6*kp*error_1; endendif abs(x(1)=10

6、 u(k)=10;endif u(k)=-10 u(k)=-10;end%Linear modelyout(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)=rin(k)-yout(k);%-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); x(1)=error(k); % Calculating Px2_1=x(2);x(2)=(error(k)-err

7、or_1)/ts; % Calculating Dx(3)=x(3)+error(k)*ts; % Calculating Ierror_1=error(k);endfigure(1);plot(time,rin,b,time,yout,r);xlabel(time(s);ylabel(rin,yout);figure(2);plot(time,rin-yout,r);xlabel(time(s);ylabel(error);参考文献:1董海鹰. 智能控制理论及应用M.中国铁道出版社:北京.2006,47-48(页)模糊PID控制系统Matlab仿真摘要:分析了一个速度控制器的控制仿真。其传递

8、函数为: 使用模糊PID控制系统,输入信号为阶跃信号,取采样时间为1ms,画出阶跃响应曲线和误差变化曲线。0引言 模糊PID控制算法以误差E和Ec为输入,利用模糊控制规则在线对PID参数进行修改,以满足不同时刻的E和Ec对PID参数的要求,输出为Kp,Ki,Kd。图1 模糊控制原理图 该模糊推理控制系统是一个两输入三输出的形式,输入变量为E和Ec,输出变量为Kp,Ki和Kd,其调整原则为:(1)当误差|E|较大时,为使系统具有较好的快速跟踪性能,不论误差的变化趋势如何,都应该取较大的Kp和较小的Kd,同时为避免系统响应出现较大的超调,应对积分作用加以限制,取较小的Ki值。(2)当误差|E|处于

9、中等大小时,为使系统响应具有较小的超调,Kp应取得小些,同时为保证系统的响应速度,Ki和Kd的大小要适中,其中Kd的取值对系统响应的影响较大。(3)当误差|E|较小时,为保证系统具有较好的稳态性能,Kp和Ki应取得大些,同时为避免系统在设定值附近出现振荡,并考虑系统的抗干扰性能,当|E|较小时,Kd可取大些;当|E|较大时,Kd应取小些。1建立控制规则表 输入变量E,Ec和Kd语言值的模糊子集取为负大,负中,负小,零,正小,正中,正大,并简记为NB,NM,NS,ZO,PS,PM,PB,论域为-3,-2,-l,0,1,2,3。Ki论域为-0.06,-0.04,-0.02,0,0.02,0.04,

10、0.06,Kp论域为-0.3,-0.2,-0.l,0,0.1,0.2,0.3。隶属函数采用三角形函数, 根据对已有控制系统设计经验的总结,得到PID三个控制参数的模糊控制规则表,见表1表3。表1 Kp的模糊规则表ekpde NBNMNSZOPSPMPBNBPBPBPMPMPSZOZONMPBPBPMPSPSZONSNSPMPMPMPSZONSNSZOPMPMPSZONSNMNMPSPSPSZONSNSNMNMPMPSZONSNMNMNMNBPBZOZONMNMNMNBNB注:NB、NM、NS、ZO、PS、PM、PB分别表示负大、负中、负小、零、正小、正中、正大。表2 Ki的模糊规则表ekide

11、 NBNMNSZOPSPMPBNBNBNBNMNMNSZOZONMNBNBNMNSNSZOZONSNBNMNSNSZOPSPSZONMNMNSZOPSPMPMPSNMNSZOPSPSPMPBPMZOZOPSPSPMPBPBPBZOZOPSPMPMPBPB表3 Kd的模糊规则表ekdde NBNMNSZOPSPMPBNBPSNSNBNBNBNMPSNMPSNSNBNMNMNSZONSZONSNMNMNSNSZOZOZONSNSNSNSNSZOPSZOZOZOZOZOZOZOPMPBNSPSPSPSPSPBPBPBPMPMPMPSPSPB2仿真结果图2 ki的隶属度函数曲线图3 kp的隶属度函数曲

12、线图4 ec的隶属度函数曲线图5 e的隶属度函数曲线图6 kd的曲线图7 ki的曲线图7 kp的曲线图8 u的输出曲线图9 e的曲线图10 阶跃响应的曲线图11 规则输入输出3输出49条规则ans =1. If (e is NB) and (ec is NB) then (kp is PB)(ki is NB)(kd is PS) (1) 2. If (e is NB) and (ec is NM) then (kp is PB)(ki is NB)(kd is NS) (1) 3. If (e is NB) and (ec is NS) then (kp is PM)(ki is NM)(k

13、d is NB) (1) 4. If (e is NB) and (ec is Z) then (kp is PM)(ki is NM)(kd is NB) (1) 5. If (e is NB) and (ec is PS) then (kp is PS)(ki is NS)(kd is NB) (1) 6. If (e is NB) and (ec is PM) then (kp is Z)(ki is Z)(kd is NM) (1) 7. If (e is NB) and (ec is PB) then (kp is Z)(ki is Z)(kd is PS) (1) 8. If (e

14、 is NM) and (ec is NB) then (kp is PB)(ki is NB)(kd is PS) (1) 9. If (e is NM) and (ec is NM) then (kp is PB)(ki is NB)(kd is NS) (1) 10. If (e is NM) and (ec is NS) then (kp is PM)(ki is NM)(kd is NB) (1)11. If (e is NM) and (ec is Z) then (kp is PS)(ki is NS)(kd is NM) (1) 12. If (e is NM) and (ec

15、 is PS) then (kp is PS)(ki is NS)(kd is NM) (1)13. If (e is NM) and (ec is PM) then (kp is Z)(ki is Z)(kd is NS) (1) 14. If (e is NM) and (ec is PB) then (kp is NS)(ki is Z)(kd is Z) (1) 15. If (e is NS) and (ec is NB) then (kp is PM)(ki is NB)(kd is Z) (1) 16. If (e is NS) and (ec is NM) then (kp i

16、s PM)(ki is NM)(kd is NS) (1)17. If (e is NS) and (ec is NS) then (kp is PM)(ki is NS)(kd is NM) (1)18. If (e is NS) and (ec is Z) then (kp is PS)(ki is NS)(kd is NM) (1) 19. If (e is NS) and (ec is PS) then (kp is Z)(ki is Z)(kd is NS) (1) 20. If (e is NS) and (ec is PM) then (kp is NS)(ki is PS)(k

17、d is NS) (1)21. If (e is NS) and (ec is PB) then (kp is NS)(ki is PS)(kd is Z) (1) 22. If (e is Z) and (ec is NB) then (kp is PM)(ki is NM)(kd is Z) (1) 23. If (e is Z) and (ec is NM) then (kp is PM)(ki is NM)(kd is NS) (1) 24. If (e is Z) and (ec is NS) then (kp is PS)(ki is NS)(kd is NS) (1) 25. I

18、f (e is Z) and (ec is Z) then (kp is Z)(ki is Z)(kd is NS) (1) 26. If (e is Z) and (ec is PS) then (kp is NS)(ki is PS)(kd is NS) (1) 27. If (e is Z) and (ec is PM) then (kp is NM)(ki is PM)(kd is NS) (1) 28. If (e is Z) and (ec is PB) then (kp is NM)(ki is PM)(kd is Z) (1) 29. If (e is PS) and (ec

19、is NB) then (kp is PS)(ki is NM)(kd is Z) (1) 30. If (e is PS) and (ec is NM) then (kp is PS)(ki is NS)(kd is Z) (1) 31. If (e is PS) and (ec is NS) then (kp is Z)(ki is Z)(kd is Z) (1) 32. If (e is PS) and (ec is Z) then (kp is NS)(ki is PS)(kd is Z) (1) 33. If (e is PS) and (ec is PS) then (kp is

20、NS)(ki is PS)(kd is Z) (1) 34. If (e is PS) and (ec is PM) then (kp is NM)(ki is PM)(kd is Z) (1) 35. If (e is PS) and (ec is PB) then (kp is NM)(ki is PB)(kd is Z) (1) 36. If (e is PM) and (ec is NB) then (kp is PS)(ki is Z)(kd is PB) (1) 37. If (e is PM) and (ec is NM) then (kp is Z)(ki is Z)(kd i

21、s PS) (1) 38. If (e is PM) and (ec is NS) then (kp is NS)(ki is PS)(kd is PS) (1)39. If (e is PM) and (ec is Z) then (kp is NM)(ki is PS)(kd is PS) (1) 40. If (e is PM) and (ec is PS) then (kp is NM)(ki is PM)(kd is PS) (1)41. If (e is PM) and (ec is PM) then (kp is NM)(ki is PB)(kd is PS) (1)42. If

22、 (e is PM) and (ec is PB) then (kp is NB)(ki is PB)(kd is PB) (1)43. If (e is PB) and (ec is NB) then (kp is Z)(ki is Z)(kd is PB) (1) 44. If (e is PB) and (ec is NM) then (kp is Z)(ki is Z)(kd is PM) (1) 45. If (e is PB) and (ec is NS) then (kp is NM)(ki is PS)(kd is PM) (1)46. If (e is PB) and (ec

23、 is Z) then (kp is NM)(ki is PM)(kd is PM) (1) 47. If (e is PB) and (ec is PS) then (kp is NM)(ki is PM)(kd is PS) (1)48. If (e is PB) and (ec is PM) then (kp is NB)(ki is PB)(kd is PS) (1)49. If (e is PB) and (ec is PB) then (kp is NB)(ki is PB)(kd is PB) (1)4 程序:%Fuzzy Tunning PID Controlclear all

24、;close all;a=newfis(fuzzpid);a=addvar(a,input,e,-3,3); %Parameter ea=addmf(a,input,1,NB,zmf,-3,-1);a=addmf(a,input,1,NM,trimf,-3,-2,0);a=addmf(a,input,1,NS,trimf,-3,-1,1);a=addmf(a,input,1,Z,trimf,-2,0,2);a=addmf(a,input,1,PS,trimf,-1,1,3);a=addmf(a,input,1,PM,trimf,0,2,3);a=addmf(a,input,1,PB,smf,1

25、,3);a=addvar(a,input,ec,-3,3); %Parameter eca=addmf(a,input,2,NB,zmf,-3,-1);a=addmf(a,input,2,NM,trimf,-3,-2,0);a=addmf(a,input,2,NS,trimf,-3,-1,1);a=addmf(a,input,2,Z,trimf,-2,0,2);a=addmf(a,input,2,PS,trimf,-1,1,3);a=addmf(a,input,2,PM,trimf,0,2,3);a=addmf(a,input,2,PB,smf,1,3);a=addvar(a,output,k

26、p,-0.3,0.3); %Parameter kpa=addmf(a,output,1,NB,zmf,-0.3,-0.1);a=addmf(a,output,1,NM,trimf,-0.3,-0.2,0);a=addmf(a,output,1,NS,trimf,-0.3,-0.1,0.1);a=addmf(a,output,1,Z,trimf,-0.2,0,0.2);a=addmf(a,output,1,PS,trimf,-0.1,0.1,0.3);a=addmf(a,output,1,PM,trimf,0,0.2,0.3);a=addmf(a,output,1,PB,smf,0.1,0.3

27、);a=addvar(a,output,ki,-0.06,0.06); %Parameter kia=addmf(a,output,2,NB,zmf,-0.06,-0.02);a=addmf(a,output,2,NM,trimf,-0.06,-0.04,0);a=addmf(a,output,2,NS,trimf,-0.06,-0.02,0.02);a=addmf(a,output,2,Z,trimf,-0.04,0,0.04);a=addmf(a,output,2,PS,trimf,-0.02,0.02,0.06);a=addmf(a,output,2,PM,trimf,0,0.04,0.

28、06);a=addmf(a,output,2,PB,smf,0.02,0.06);a=addvar(a,output,kd,-3,3); %Parameter kpa=addmf(a,output,3,NB,zmf,-3,-1);a=addmf(a,output,3,NM,trimf,-3,-2,0);a=addmf(a,output,3,NS,trimf,-3,-1,1);a=addmf(a,output,3,Z,trimf,-2,0,2);a=addmf(a,output,3,PS,trimf,-1,1,3);a=addmf(a,output,3,PM,trimf,0,2,3);a=addmf(a,output,3,PB,smf,1,3);rulelist=1 1 7 1 5 1 1; 1 2 7 1 3 1 1; 1 3 6 2 1 1 1; 1 4 6 2 1 1 1;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2