先进控制实验报告..doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
先进控制实验报告.

先进控制实验报告 班级:自121 姓名:张伟琦 学号:120941 项目 预习 操作 报告 总评 得分 实验一、Matlab M文件基本编程与常规PID实验 (一)实验目的: 1、掌握Matlab M文件基本编程方法以及基本函数的使用。 2、掌握利用Matlab M文件建立常规系统的线性建模。 3、掌握利用Matlab M文件编写PID控制程序。 4、针对以上编写的PID程序进行PID参数的调整,理解PID三个参数对系统性能的影响。 (二)实验内容: 1、线性系统建模实验。 2、增量式PID的编程实验。 (三)实验程序: 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);%分子 分母取值 把上边系数 存DATA里 Kp=0.45;Ki=0.00001;Kd=0.001; U_1=0;U_2=0;U_3=0; Y_1=0;Y_2=0;Y_3=0; e_1=0;e_2=0; A=Kp+Ki+Kd; B=-Kp-2*Kd; C=Kd; for k=1:1:1500 %k=1 以1为增量增到1500 rin(k)=1;%信号 time(k)=k*ts; yout(k)=-den(2)*Y_1-den(3)*Y_2-den(4)*Y_3+num(2)*U_1+num(3)*U_2+num(4)*U_3; error(k)=rin(k)-yout(k); u(k)=A*error(k)+B*e_1+C*e_2; u(k)=U_1+u(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); e_2=e_1;e_1=error(k); end figure(1);%画图 开图框 plot(time,rin,b,time,yout,r);%是颜色time是变量 横坐标 time 和rin长度要一样 xlabel(time(s)),ylabel(rin,yout); (四)实验结果: 实验总结: 经过这次实验,我不但复习了Matlab的基础知识并且学会了通过编写M文件来实现常规及增量式PID控制器的设计,针对不同的控制对象选择设定不同的控制参数,来完成控制目标,使得控制系统达到理想的超调,稳态误差等。同时经过老师的讲解,我不仅复习了PID控制三个参数的意义还了解了增量式PID的原理与建模与推导过程,并通过Matlab实现了此类PID控制,绘制了增量式PID的阶跃响应曲线,得知了此类PID的优缺点。与书本上的知识相对应使得我对PID控制的认知更加深刻。 实验二、模糊控制实验 (一)实验目的: 1、掌握模糊控制基本原理并编程实现。 2、理解模糊PID控制基本原理并编程实现。 (二)实验内容: 1、模糊控制编程实验。 2、模糊PID控制编程实验。 (三)实验程序: clear all; clear all; a=newfis(fuzz_ljk); f1=1.0; a=addvar(a,input,e,[-3*f1,3*f1]); a=addmf(a,input,1,NB,zmf,[-3*f1,-1*f1]); a=addmf(a,input,1,NM,,trimf,[-3*f1,-2*f1,0]); a=addmf(a,input,1,NS,,trimf,[-3*f1,-1*f1,1*f1]); a=addmf(a,input,1,Z,,trimf,[-2*f1,0,2*f1]); a=addmf(a,input,1,PS,,trimf,[-1*f1,1*f1,3*f1]); a=addmf(a,input,1,PM,,trimf,[0,2*f1,3*f1]); a=addmf(a,input,1,PB,,smf,[1*f1,3*f1]); f2=1.0; a=addvar(a,input,ec,[-3*f2,3*f2]); a=addmf(a,input,2,NB,zmf,[-3*f2,-1*f2]); a=addmf(a,input,2,NM,,trimf,[-3*f2,-2*f2,0]); a=addmf(a,input,2,NS,,trimf,[-3*f2,-1*f2,1*f2]); a=addmf(a,input,2,Z,,trimf,[-2*f2,0,2*f2

您可能关注的文档

文档评论(0)

wuyuetian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档