《自 动 控 制 原 理》课 程 设 计
(理工类)
课程名称: 自动控制原理 专业班级: 08自动化(1)班
学生学号: 0804110601 学生姓名: 丁丽华
所属院部: 机电工程学院 指导教师: 陈丽换
2009 ——2010 学年 第二学期
金陵科技学院教务处制
金 陵 科 技 学 院
《自动控制原理》课程设计任务书
课程序号 课程编号04184500
实践序号 设计名称 自动控制原理课程设计 适用年级、专业 08自动化 时间 1 周
一、 设计目的:
1、 了解控制系统设计的一般方法、步骤。
2、 掌握对系统进行稳定性分析、稳态误差分析以及动态特性分析的方法。 3、 掌握利用MATLAB对控制理论内容进行分析和研究的技能。 4、 提高分析问题解决问题的能力。
二、 设计内容与要求:
设计内容:
1、阅读有关资料。
2、对系统进行稳定性分析、稳态误差分析以及动态特性分析。 3、绘制根轨迹图、Bode图、Nyquist图。 4、设计校正系统,满足工作要求。
设计条件:
1、已知单位负反馈系统被控制对象的传递函数为
G(S)
K0
S(S 1)(S 2)
设计要求:
1、能用MATLAB解复杂的自动控制理论题目。 2、能用MATLAB设计控制系统以满足具体的性能指标。
3、能灵活应用MATLAB的CONTROL SYSTEM 工具箱和SIMULINK仿 真软件,分析系统的性能。
设计题目: G(S)
K0
,试用频率法设计串联滞后——超前校正装置,使系统
S(S 1)(S 2)
0的相角裕量 45,静态速度误差系数Kv 10s 1,截止频率不低于1.5rads
设计步骤:
1、静态速度误差系数Kv 10s 1,即当S—>0时,G(S) 即被控对象的开环传递函数:
G(S)=
K0
=10,解得K0=20s-1。
S(S 1)(S 2)
20
。
S(S 1)(S 2)
2、滞后校正器的传递函数为:GC1(S)=
1 bTS1 TS
根据题目要求,取校正后系统的截止频率WC=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出现如下代数式:
6.667s 1
63.33s 1
由式可知:b=0.105,T=63.33。
3、 求超前校正器的传递函数,而已知串联有滞后校正器的传递函数为: G(S)Gc1(S)=
6.667s 120
S(S 1)(S 2)63.33s 1
根据校正后系统的传递函数,编写求超前校正器的传递函数的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])
写完后,按回车,出现如下代码:
2.13s 11 aTS2.13s 1
,即超前传递函数为Gc2(S)== ,可得
0.2087s 11 TS0.2087s 1
Gc1(S)
Gc2(S)=
a=10.21,T=0.2087。
故校正后的开环系统总传递函数为:G(S)
6.667s 12.13s 120
S(S 1)(S 2)63.33s 10.2087s 1
验证校正后的闭环系统的性能指标,画出bode图:
由图可知:剪切频率为Wc=1.54rad/s,相角裕量为γ= 45°,符合设计要求。 4、 用MATLAB求校正前后系统的特征根: 20
先写出校正前系统单位负反馈传递函数:Ф(S)= ─────── S3+3*S2+2S+20 故在Commmand Window 中写入:p=[1 3 2 20];roots(p) 回车后得到:
ans =
-3.8371 0.4186 + 2.2443i 0.4186 - 2.2443i
由于校正前系统单位负反馈得特征方程有右半平面的根,故校正前的闭环系统不稳定。 写出校正后系统单位负反馈传递函数: 11.5290S2+7.1480S+0.8128
Ф(S)= ──────────────────────── S5+7.8058*S4+16.4931*S3+21.3676*S2+7.2994*S+ 0.8128 故在Commmand Window 中写入p=[1.00007.8058 16.4931 21.3676 7.2994 0.8128]; roots(p)
回车后得到:p =
1.0000 7.8058 16.4931 21.3676 7.2994 0.8128 ans =
-5.4570 -0.9582 + 1.3694i -0.9582 - 1.3694i -0.2163 + 0.0810i
-0.2163 - 0.0810i
由于校正后系统单位负反馈得特征方程没有右半平面的根,故 …… 此处隐藏:3131字,全部文档内容请下载后查看。喜欢就下载吧 ……