《自动控制原理》课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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时,

0K 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])

将程序输入MATLAB 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

根据校正后系统的传递函数,编写求超前校正器的传递函数的MATLAB 程序,其中调用了求超前校正器传递函数的函数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)=

相关文档
最新文档