计算机控制课程设计达林算法计算机控制系统设计.docx
《计算机控制课程设计达林算法计算机控制系统设计.docx》由会员分享,可在线阅读,更多相关《计算机控制课程设计达林算法计算机控制系统设计.docx(10页珍藏版)》请在冰豆网上搜索。
![计算机控制课程设计达林算法计算机控制系统设计.docx](https://file1.bdocx.com/fileroot1/2022-11/25/27234772-187a-49ca-a682-8fd375dcd767/27234772-187a-49ca-a682-8fd375dcd7671.gif)
计算机控制课程设计达林算法计算机控制系统设计
课程设计
基本信息
学生姓名:
由小玉
学号:
090220319
院系名称:
信息与电气工程学院
课程设计名称:
计算机控制课程设计
同组人姓名:
蒯庆华王安琪
教师评语及课程设计成绩
评语:
成绩:
教师签字:
年月日
课程设计(论文)任务书
专业
仪器科学与技术
班级
0902203
学生
由小玉
指导教师
李剑锋
题目
计算机控制课程设计
子题
达林算法计算机控制系统设计
设计时间
2012年12月19日至2012年12月25日共1周
设计要求
某过程对象的传递函数为:
,采用零阶保持器,采样周期
,试:
试:
1、从理论上设计
的达林算法控制器。
2、利用MATLAB的Simulink仿真工具系统进行仿真,分析系统的输出和控制器的输出。
3、分析系统的振铃现象,并对达林算法控制器进行改进,并利用MATLAB的Simulink仿真工具进行仿真。
4、利用MATLAB的控制工具箱,对无振铃现象的系统进行仿真,绘制系统的输出响应曲线。
5、将控制器转化为差分方程,利用MATLAB的M-文件,绘制系统的输出响应曲线和控制器的输出序列。
指导教师签字:
系(教研室)主任签字:
年月日
一、从理论上设计
的达林算法控制器。
1、求达林算法所期望的闭环脉冲传递函数
因为
所以
又有
带入达林算法所要期望的闭环脉冲传递函数,可得:
系统的闭环误差脉冲传递函数为:
2、求广义对象的脉冲传递函数:
3、数字控制器为:
二、利用MATLAB的Simulink仿真工具系统进行仿真,分析系统的输出和控制器的输出。
1、simulink仿真图:
2、达林算法下,单位阶跃输入时的输出响应为:
分析:
输出响应曲线没有超调,但是调节时间长,大约为15s。
3、达林算法下,单位节约输入时数字控制器的输出响应:
分析:
数字控制器的输出序列以2T为周期上下振荡,出现振铃现象,振铃现象会增加执行机构的磨损,甚至有交互作用的所参数系统中会影响系统的稳定性,因此应采取措施消除。
三、分析系统的振铃现象,并对达林算法控制器进行改进,并利用MATLAB的Simulink仿真工具进行仿真。
1、分析产生振铃现象的原因:
在单位圆的左半平面的实轴上有极点。
2、振铃现象的消除方法:
找出造成振铃现象的因子,然后令z=1即可。
修改后的数字控制器:
仿真图如下:
输出响应曲线如下:
数字控制器输出曲线:
分析:
振铃现象消除后,系统的稳态性能不变,动态性能变差,调节时间变长且产生超调。
数字控制器的输出很快衰减,消除了振铃现象。
四、利用MATLAB的控制工具箱,对无振铃现象的系统进行仿真,绘制系统的输出响应曲线。
1、matlab程序如下:
t=0:
1:
50;
r=step(1,1,t);
num=1;
den=[110];
G=tf(num,den,'iodelay',2);
Gd=c2d(G,1,'ZOH')
num1=[0.622-0.8510.2290];
den1=[1-0.6070-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');
gridon;
2、无振铃现象的仿真图:
分析:
无振铃系统稳态性能不变,但是动态性能变差,出现了超调。
五、将控制器转化为差分方程,利用MATLAB的M-文件,绘制系统的输出响应曲线和控制器的输出序列。
1、差分方程如下:
未消除振铃现象:
消除振铃现象后:
2、matlab的M文件绘图程序如下:
uk1=0;uk2=0;uk3=0;uk4=0;
yk1=0;yk2=0;
ek1=0;ek2=0;
ts=1;
fork=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;
fork=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=u1k1;u1k1=u1(k);
y1k2=y1k1;y1k1=y1(k);
e1k2=e1k1;e1k1=e1(k);
end
figure
(1);
plot(time-1,y1,'r',time-1,y,'b-');
gridon;
figure
(2);
stem(time-1,u,'k*');
gridon;
figure
(2);
stem(time-1,u1,'k*');
gridon;
仿真图如下:
系统输出响应:
未消除振铃现象的控制器的输出:
消除振铃现象的控制器的输出:
分析:
如图所示,振铃现象消除后,系统的稳态性能不变,动态性能变差,调节时间变长且产生超调。
数字控制器的输出很快衰减,消除了振铃现象,而且减小震荡现象,减弱执行机构的磨损情况。
六、课程设计心得体会
通过本次课程设计,我对matlab这个软件的使用更加熟练,但是还是对画图的一些函数了解不够深刻,课后我会更加努力去学习这个软件的使用。
除外我还对达林算法有了更深刻的认识和了解,能够更加熟练的运用课上所学的知识学以致用。
通过本次课程设计提高了自己的实际动手能力和独立思考的能力,在设计过程中我也可以发现了自己的不足之处,在以后的学习中要及时弥补自己的缺点。