2008 级
《MATAB语言与控制系统仿真》课程
大作业
姓 名 学 号 所在院系 班 级 日 期 同组人员
作业评分 评阅人
设计报告评分表
项 目 方案论证9分 设计过程应包括的主要内容或考核要点 性能指标分析;控制方法及实现方案 常见问题 未分析指标 没有说明方案理由 未进行方案比较 有分析指标,未用程序分析 有方案说明,未用程序说明 有设计过程,未运用程序 有简单程序应用,无算法 有程序,没有程序说明 未说明设计理由 扣分 -5 -1 -1 -1 -1 -20 -5 -5 -2 -9 -3 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -9 -4 得分 控制器设计与参数计算 基本35分 部分 结果63分 分析10分 格式规范9分 第1没有误差分析 对设计结果的分析与核没有对结果验证 有量化指标,但没有分析 算,分析原因和改进 有分析验证,没有运用程序 没有总结或总结太虚 图号图名等问题 没有对图表说明 重点考查完整性,图表,中英文参杂,不一致 字体不一致 公式的规范性 图形截屏 参考文献规范问题 参考文献的引用问题 提出改进的性能指标,完成分析,设计并对结果予以验证 考虑参数变化,干扰影响未提出其他方案 有,未用程序验证 有程序,未对程序说明 提高项9分 第29 -2 -9 -4 部分 项27分 分 第3项9分 未对误差干扰进行分析 等其他因素,完成分析,有,未用程序验证 有程序,未对程序说明 设计并对结果予以验证 提出其他更完善的性能指标,完成分析,设计并对结果予以验证 未提出其他指标要求 有,未用程序验证 有程序,未对程序说明 -2 -9 -4 -2 报告 得分 90分 合计 特色报告的特色和难度系数,掌握程度予以评价 加分 0-30分 总分 报告得分+答辩/特色加分 2
目录
一、引言....................................................4
二、设计方法................................................5
三、结果分析...............................................18
四、深入探讨...............................................20
五、总结...................................................27
六、致谢和参考文献.........................................29
七、附录(程序)...........................................30
3
铣床(the milling machine)的系统设计
一、引言
本学期开始学习《MATLAB语言、控制系统分析与设计》,其实最早接触matlab是在学习概率论时。在老师的讲解与自己平时的练习中,不断地使用和学习matlab软件。其实一开始学习的目标就不局限于控制系统领域,希望了解该软件的各种用途。当然了,最基本的用途是绘图。经过半个学期的汲取,觉得它用途广泛,功能强大。我最喜欢的就是它的仿真(simulink),也许是对于初学者来说最简单的操作。学习matlab的同时,也同时加深了对控制系统知识的掌握。自控中的绘图可以在matlab下的响应分析的图形用户界面(ltiview)中建立。此外还有sisotool等自控方面的超强工具箱。
图10.1铣床模型
4
图10.2铣床系统方框图
铣床系统的开环传递函数
G(s)?2s(s?1)(s?5) (10.1)
设计要求:
重新设计滞后校正器参数
R(s)?a2a1)对于斜坡输入
s,稳态误差小于8
2)使校正后系统的阶跃响应超调量P.O.?20%
对于(1)参数a不影响系统的设计,在以下分析中作为‘1’处理
本章的核心是滞后校正系统,但之所以对铣床系统采用滞后校正,理由见(四)深入探讨中频域下的分析。另外我们超前校正器、超前-滞后校正器、PI校正器、PD校正器、PID校正器。
二、设计方法
以运用matlab编程为主,其他各种工具箱为辅助
根据极点、零点、增益输入原系统开环传递函数,并加入单位负反馈构成闭环系统 程序1
G=zpk([],[0,-1,-5],2);%原系统开环传递函数 sys=feedback(G,1);%单位负反馈,构成闭环 得到
G(s)?2s(s?1)(s?5) (10.2)
2(s?5.096s)?(2
sys? 第一个要求稳态误差小于a/8 程序2 tf1=10;
a=1;
t=[0:0.1:tf1]; u=a*t;%斜坡输入 y_t=lsim(sys,u,t);
0.s9?04205 ) (10.3) . 3 9 2
plot(t,y_t,'b-',t,u,'r:')
yss=y_t(length(t));
5