《自动控制原理》课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《自动控制原理》课程设计
(理工类)
课程名称:自动控制原理专业班级: 08自动化(1)班学生学号: ********** 学生姓名:丁丽华
所属院部:机电工程学院指导教师:陈丽换
2009 ——2010 学年第二学期
金陵科技学院教务处制
金 陵 科 技 学 院
《自动控制原理》课程设计任务书
课程序号 32 课程编号04184500
实践序号 10 设计名称 自动控制原理课程设计 适用年级、专业 08自动化 时间 1 周
一、 设计目的:
1、 了解控制系统设计的一般方法、步骤。
2、 掌握对系统进行稳定性分析、稳态误差分析以及动态特性分析的方法。
3、 掌握利用MATLAB 对控制理论内容进行分析和研究的技能。
4、 提高分析问题解决问题的能力。
二、 设计内容与要求:
设计内容:
1、阅读有关资料。
2、对系统进行稳定性分析、稳态误差分析以及动态特性分析。
3、绘制根轨迹图、Bode 图、Nyquist 图。
4、设计校正系统,满足工作要求。
设计条件:
1、已知单位负反馈系统被控制对象的传递函数为
K G(S)S(S 1)(S 2)
=
++
设计要求:
1、能用MATLAB 解复杂的自动控制理论题目。
2、能用MATLAB 设计控制系统以满足具体的性能指标。
3、能灵活应用MATLAB 的CONTROL SYSTEM 工具箱和SIMULINK 仿 真软件,分析系统的性能。
设计题目: 0
K G(S)S(S 1)(S 2)
=
++,试用频率法设计串联滞后——超前校正装置,使系统
的相角裕量045γ≥,静态速度误差系数1
v K 10s -=,截止频率不低于1.5rad s
设计步骤:
1、静态速度误差系数1
v K 10s -=,即当S —>0时,
K G(S)S(S 1)(S 2)
=++=10,解得K 0=20s -1。
即被控对象的开环传递函数:
G(S)=
)
2)(1(20
++S S S 。
2、滞后校正器的传递函数为:G C1(S)=
TS
bTS
++11
根据题目要求,取校正后系统的截止频率W C =1.5rad/s,先试取b=0.105,编写求滞后校正器的传递函数的MATLAB 的程序如下: wc=1.5;k0=20;n1=1; d1=conv(conv([1 0],[1 1]),[1 2]);
b=0.105;T=1/(0.1*wc); B=b*T;Gc1=tf([B 1],[T 1])
将程序输入MA TLAB Command Window 后,并按回车,Command Window 出现如下代数式:
1
33.631
667.6++s s
由式可知:b=0.105,T=63.33。
3、 求超前校正器的传递函数,而已知串联有滞后校正器的传递函数为: G(S)G c1(S)=
)2)(1(20++S S S 1
33.631
667.6++s s
根据校正后系统的传递函数,编写求超前校正器的传递函数的MA TLAB 程序,其中调用了求超前校正器传递函数的函数leadc(),leadc.m 保存在matlab6.5\work\文件夹下,leadc.m 编制如下:
function [Gc]=leadc(key,sope,vars)
% MATLAB FUNCTION PROGRAM leadc.m %
if key==1
gama=vars(1);gama1=gama+5; [mag,phase,w]=bode(sope); [mu,pu]=bode(sope,w); gam=gama1*pi/180;
alpha=(1-sin(gam))/(1+sin(gam)); adb=20*log10(mu); am=10*log10(alpha); wc=spline(adb,w,am);
T=1/(wc*sqrt(alpha)); alphat=alpha*T;
Gc=tf([T 1],[alphat 1]); elseif key==2 wc=vars(1);
num=sope.num{1};den=sope.den{1}; na=polyval(num,j*wc); da=polyval(den,j*wc); g=na/da; g1=abs(g);
h=20*log10(g1); a=10^(h/10); wm=wc;
T=1/(wm*(a)^(1/2)); alphat=a*T;
Gc=tf([T 1],[alphat 1]); elseif key==3
gama=vars(1);wc=vars(2);gama1=gama+5; num=sope.num{1};den=sope.den{1}; ngv=polyval(num,j*wc); dgv=polyval(den,j*wc); g=ngv/dgv; thetag=angle(g);
thetag_d=thetag*180/pi; mg=abs(g);
gama_rad=gama1*pi/180;
z=(1+mg*cos(gama_rad-thetag))/(-wc*mg*sin(gama_rad-thetag)); p=(cos(gama_rad-thetag)+mg)/(wc*sin(gama_rad-thetag)); nc=[z,1];dc=[p,1]; Gc=tf(nc,dc); End
在Command Window 中编写下列程序: n1=conv([0 20],[6.667 1]);
d1=conv([1 0],[1 1]); d2=conv([1 2],[63.33 1]); d3=conv(d1,d2);
sope=tf(n1,d3);wc=1.5; [Gc]=leadc(2,sope,[wc])
写完后,按回车,出现如下代码:
12087.0113.2++s s ,即超前传递函数为G c2(S)=TS aTS ++11= 1
2087.01
13.2++s s ,可得
a=10.21,T=0.2087。
故校正后的开环系统总传递函数为:G(S)
G c1(S)
G c2(S)=