- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机控制课程设计林算法计算机控制系统设计
课 程 设 计
基本信息
学生姓名: 由小玉
学 号: 090220319
院系名称: 信息与电气工程学院
课程设计名称: 计算机控制课程设计
同组人姓名: 蒯庆华 王安琪
教师评语及课程设计成绩
评语:
成绩:
教师签字:
年 月 日
课程设计(论文)任务书
专 业 仪器科学与技术 班 级 学 生 指导教师 题 目 计算机控制课程设计 子 题 设计时间 20112 月19日 至 2012 年 12 月 25日 共 1 周 设计要求
,采用零阶保持器,采样周期,试:
试:
1、的达林算法控制器。
2、利用MATLAB的Simulink仿真工具系统进行仿真
指导教师签字: 系(教研室)主任签字:
年 月 日
利用MATLAB的Simulink仿真工具系统进行仿真
达林算法下,单位阶跃输入时的输出响应为:
分析:输出响应曲线没有超调,但是调节时间长,大约为15s。
达林算法下,单位节约输入时数字控制器的输出响应:
分析:数字控制器的输出序列以2T为周期上下振荡,出现振铃现象,振铃现象会增加执行机构的磨损,甚至有交互作用的所参数系统中会影响系统的稳定性,因此应采取措施消除。
三、分析系统的振铃现象,并对达林算法控制器进行改进,并利用MATLAB的Simulink仿真工具进行仿真。
1、分析产生振铃现象的原因:在单位圆的左半平面的实轴上有极点。
2、振铃现象的消除方法:找出造成振铃现象的因子,然后令z=1即可。
修改后的数字控制器:
仿真图如下:
输出响应曲线如下:
数字控制器输出曲线:
分析:振铃现象消除后,系统的稳态性能不变,动态性能变差,调节时间变长且产生超调。数字控制器的输出很快衰减,消除了振铃现象。
四、利用MATLAB的控制工具箱,对无振铃现象的系统进行仿真,绘制系统的输出响应曲线。
1、matlab程序如下:
t=0:1:50;
r=step(1,1,t);
num=1;
den=[1 1 0];
G=tf(num,den,iodelay,2);
Gd=c2d(G,1,ZOH)
num1=[0.622 -0.851 0.229 0];
den1=[1 -0.607 0 -0.393];
Dd=tf(num1,den1,1)
sysopen=Gd*Dd;
sysclose=feedback(sysopen,1);
y=step(sysclose,t);
plot(t,r,b,t,y,r);
grid on;
无振铃现象的仿真图:
分析:无振铃系统稳态性能不变,但是动态性能变差,出现了超调。
五、将控制器转化为差分方程,利用MATLAB的M-文件,绘制系统的输出响应曲线和控制器的输出序列。
1、差分方程如下:
未消除振铃现象:
消除振铃现象后:
matlab的M文件绘图程序如下:
uk1=0;uk2=0;uk3=0;uk4=0;
yk1=0;yk2=0;
ek1=0;ek2=0;
ts=1;
for k=1:1:30
time(k)=k*ts;
r(k)=1;
y(k)=1.368*yk1-0.368*yk2+0.368*uk3+0.264*uk4;
e(k)=r(k)-y(k);
u(k)=0.607*uk1+0.393*uk3+0.622*e(k)-0.851*ek1+0.229*ek2;
uk4=uk3;uk3=uk2;uk2=uk1;uk1=u(k);
yk2=yk1;yk1=y(k);
ek2=ek1;ek1=e(k);
end
u1k1=0;u1k2=0;u1k3=0;u1k4=0;
y1k1=0;y1k2=0;
e1k1=0;e1k2=0;
for k=1:1:30
time(k)=k*ts;
r1(k)=1;
y1(k)=1.368*y1k1-0.368*y1k2+0.368*u1k3+0.264*u1k4;
e1(k)=r1(k)-y1(k);
u1(k)=1.068*e1(k)-1.461*e1k1+0.393*e1k2-0.111*u1k1+0.436*u1k2+0.393*u1k3+0.282*u1k4;
u1k4=u1k3;u1k3=u1k2;u1k2=u1k
文档评论(0)