自控课设作业.docx
- 文档编号:25045968
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:21
- 大小:390.68KB
自控课设作业.docx
《自控课设作业.docx》由会员分享,可在线阅读,更多相关《自控课设作业.docx(21页珍藏版)》请在冰豆网上搜索。
自控课设作业
课程设计报告
(2010--2011年度第1学期)
名称:
《自动控制理论》课程设计
题目:
基于自动控制理论的性能分析与校正
院系:
自动化
班级:
自动化0803
学号:
200802020311
学生姓名:
指导教师:
设计周数:
1周
成绩:
日期:
2010年12月31日
一、课程设计的目的与要求
本课程为《自动控制理论A》的课程设计,是课堂的深化。
设置《自动控制理论A》课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。
作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。
通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。
通过此次计算机辅助设计,学生应达到以下的基本要求:
1.能用MATLAB软件分析复杂和实际的控制系统。
2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。
3.能灵活应用MATLAB的CONTROLSYSTEM工具箱和SIMULINK仿真软件,分析系统的性能。
二、设计正文
1.控制系统的模型
第二章作业:
题目1:
已知系统的传递函数为:
(2s^2+4s+6)/(2s^3+5s^2+7s+9),在MATLAB环境下获得其连续函数的传递模型。
已知系统的脉冲传递函数为:
(2z^2+4z+6)/(2z^3+5z^2+7z+9)在MATLAB环境下获得其采样时间为5s的传递函数传递模型.
【解】 程序:
num=[246];
den=[2579];
G1=tf(num,den)
Ts=5;
G2=tf(num,den,Ts)
结果:
Transferfunction:
2s^2+4s+6
-----------------------
2s^3+5s^2+7s+9
Transferfunction:
2z^2+4z+6
-----------------------
2z^3+5z^2+7z+9
Samplingtime:
5
>>
题目2:
生成一个ξ=0.5,ωn=2的标准二阶系统,随机生成一个5阶的稳定系统,并实现两个模型的串联,并联和反馈。
【解】 程序:
[num1,den1]=ord2(2,0.5);
G1=tf(num1,den1)
[num2,den2]=rmodel(5);
G2=tf(num2,den2)
Gs=series(G1,G2)
Gp=parallel(G1,G2)
Gf=feedback(G1,G2,-1)
结果:
Transferfunction:
1
-------------
s^2+2s+4
Transferfunction:
1.082s+0.8031
--------------------------------------------------------
s^5+10.24s^4+109.8s^3+489.2s^2+2380s+808.7
Transferfunction:
1.082s+0.8031
---------------------------------------------------------------------------------
s^7+12.24s^6+134.3s^5+749.7s^4+3797s^3+7525s^2+1.114e004s
+3235
Transferfunction:
s^5+10.24s^4+110.8s^3+492.1s^2+2386s+811.9
---------------------------------------------------------------------------------
s^7+12.24s^6+134.3s^5+749.7s^4+3797s^3+7525s^2+1.114e004s
+3235
Transferfunction:
s^5+10.24s^4+109.8s^3+489.2s^2+2380s+808.7
---------------------------------------------------------------------------------
s^7+12.24s^6+134.3s^5+749.7s^4+3797s^3+7525s^2+1.114e004s
+3235
>>
2.控制系统的时域分析
第三章作业
题目1:
系统闭环特征方程为s^4+2s^3+4s^2+5s+6=0,是确定特征根在s平面的位置,并判断系统闭环稳定性。
【解】 程序:
d1=2;
a=[25;14]
d2=det(a);
b=[250;146;025];
d3=det(b);
c=[2500;1460;0250;0146];
d4=det(c);
if(d1>0)&(d2>0)&(d3>0)&(d4>0)
WARNDLG('Thesystemisstable','StabilityAnalysis');
else
WARNDLG('Thesystemisunstable','StabilityAnalysis');
end
结果:
d1=
2
a=
25
14
d2=
3
b=
250
146
025
d3=
-9
c=
2500
1460
0250
0146
d4=
-54
>>
>>
题目2:
已知二阶系统的传递函数为:
G(s)=ωn^2/(S^2+2ξωnS+ωn^2),ωn=5,求ξ=0.1/0.2/0.3、…2时的阶跃响应和脉冲响应曲线。
【解】程序:
wn=5;
w2=wn*wn;num=w2;
forks=0.1:
0.1:
2
den=[12*wn*ksw2];
figure
(1);
step(num,den);
holdon
figure
(2);
impulse(num,den);
holdon
end
结果:
3.控制系统的根轨迹分析
第四章作业
题目1:
负反馈系统开环传递函数如下:
G(s)=k*(s+3)*(s+5)/s^2(s+9)*(s+9),试绘制k由0~+∞变化时其闭环系统的根轨迹,另外求出部分关键点。
【解】程序:
num=conv([13],[15]);
den1=conv([19],[19]);
den2=conv([10],[10]);
den=conv(den1,den2);
rlocus(num,den)
Rlocfind(num,den)
结果
点击分离点,其相应的增益及与增益有关的所有极点功能得到如下:
Selectapointinthegraphicswindow
selected_point=
-8.9692-0.1863i
ans=
0.1210
>>其中-8.9692-0.1863i是分离点,相应的另外一个分离点是-3.9455-0.1863i,此时k=0.1210.
题目2:
单位负反馈系统的开环传递函数为G1(S)=K/S(S+3),G2(S)=K/S(S+3)(S+6),G3(S)=K(S+7)/S(S+3)(S+6),G4(S)=K(S+6)/S(S+3)(S+6)是利用根轨迹法研究开环极点对系统根轨迹的影响,并绘制他们的单位节约响应。
【解】程序:
num=1;den=poly([0,-3]);
subplot(2,2,1),rlocus(num,den)
num1=num,den1=conv(den,[16]);
subplot(2,2,2),rlocus(num1,den1);
num2=[17];den2=den1;
subplot(2,2,3),rlocus(num2,den2);
num3=[16];den3=den2;
subplot(2,2,4),rlocus(num3,den3);
figure
(2);
[num,den]=cloop(num,den);
[num1,den1]=cloop(num1,den1);
[num2,den2]=cloop(num2,den2);
[num3,den3]=cloop(num3,den3);
t=0:
0.1:
50;
step(num,den,t)
holdon
step(num1,den1,t)
step(num2,den2,t)
step(num3,den3,t)
结果:
开环极点对系统根轨迹的影响 系统的阶跃响应曲线
4.控制系统的频域分析
第五章作业:
题目一:
系统的传递函数为G(s)=(10s+50)/(s^2+4s+3),正选输入信号u(t)=2cos(5t+30︒)仿真区间为0<=t<=6s,画出系统输出的稳态值yss(t)和输出y(t),并讨论他们的联系。
【解】程序:
G=tf([1060],[153]);t=[0:
0.06:
6];
u=2*cos(5*t+30*pi/180);y=lsim(G,u,t);
[mag,phase]=bode(G,5);yss=2*mag*cos(5*t+(30+phase)*pi/180);
plot(t,u,'-',t,y,'--',t,yss,'-');axis([06-75.5])
结果:
对象的极点为-1 -3 ,则系统是渐进稳定的。
由yss(t)和y(t)的曲线可知在4s后几乎完全重合,yss(t)和输出y(t)之比是系统的频率特性。
题目2:
系统的传递函数为G(S)=5(S^2-2S+5)/(S+2)(S-1).是绘制幅相频率特性曲线,并判断闭环根的分布和闭环稳定性。
【解】程序:
num=[5-1025];
den=conv([13],[1-1]);
nyquist(num,den);
结果:
因为有半平面的开环极点数p=1,根据奈氏判据,又半平面的闭环极点数z=p-(a-b)=1-(1-2)=2.所以系统不稳定。
5.线性控制系统的设计与校正
第六章作业:
题目一:
被控对象传递函数G(S)=400/S(S^2+30S+180),要求的技术指标是
和
rad/s。
试用根轨迹法设计一串联校正。
【解】程序:
figure('pos',[50,50,200,150],'color','w');
ng=400;dg=[1301800];
G=tf(ng,dg);
zeta=0.6;
wn=12.5;
[num,den]=ord2(wn,zeta);
s=roots(den);
s1=s
(1);
G=tf(G);
ng=G.num{1};
dg=G.den{1};
ngv=polyval(ng,s1);
dgv=polyval(dg,s1);
G=ngv/dgv;
Phi=angle(G);
ifPhi>0;
Phi_c=pi-Phi;
elsePhi_c=-Phi;
end
Phi=angle(s1);
theta_z=(Phi+Phi_c)/2;
theta_p=(Phi-Phi_c)/2;
Z_c=real(s1)-imag(s1)/tan(theta_z);
P_c=real(s1)-imag(s1)/tan(theta_p);
nk=[1-Z_c];
dk=[1-P_c];
nkv=polyval(nk,s1);
dkv=polyval(dk,s1);
kv=nkv/dkv;
kc=abs(1/G/kv)
Gc=tf(nk,dk)
G=tf(ng,dg);
GGc=G*Gc*kc;
step(feedback(GGc,1));
holdon
step(feedback(G,1));
gtext('?
?
?
?
?
¡ã')
gtext('?
?
?
?
?
¨®')
结果:
kc=
10.9087
Transferfunction:
s+6.241
---------
s+25.04
校正前后的阶跃响应曲线(绿色:
校正前曲线,蓝色:
校正后曲线)
题目2:
已知系统固有的传递函数为:
G(s)=11.16/s(s+5.3),采用根轨迹分析法设计,要求闭环系统具有阻尼比zeta=0.80,自然频率wn=1.30rad/s,同时,静态误差ew=4.85%。
【解】程序:
figure('pos',[50,50,200,200],'color','w');
numg=11.16;deng=[15.30];
G=tf(numg,deng);
zeta=0.8
wn=1.30;
err=4;
ifnargin<4
ew=4.85;
end
ifnargin<2
zeta=0.8;
end
disp('原系统的零极点传递函数:
')
G=tf(G)
[r,k]=rlocus(G);
[num,den]=ord2(wn,zeta);
s=roots(den);
s1=s
(1);
za=zeta/sqrt(1-zeta^2);
ri=r(1,find(imag(r(1,:
))>0));
ra=imag(ri)./real(ri);
KK=spline(ra,k(find(imag(r(1,:
))>0)),1/za);
symsxGnGd;
Gn=poly2sym(G.num{1});
Gd=poly2sym(G.den{1});
ess=limit(Gn*KK/Gd*x);
kc=round(100/sym2poly(ess)/err);
numg=G.num{1};deng=G.den{1};
ngv=polyval(numg,s1);
dgv=polyval(deng,s1);
g=ngv/dgv;
theta_G=angle(g);
theta_s=angle(s1);
MG=abs(g);
Ms=abs(s1);
Tz=(sin(theta_s)-kc*MG*sin(theta_G-theta_s))/(kc*MG*Ms*sin(theta_G))
Tp=-(kc*MG*sin(theta_s)+sin(theta_G+theta_s))/(Ms*sin(theta_G))
disp('校正装置的传递函数:
')
Gc=tf([Tz1],[Tp1])
disp('校正后系统的传递函数:
')
GGc=G*Gc*kc
figure
(1);
step(feedback(GGc,1));
holdon;
step(feedback(G*kc,1));
figure
(2);
bode(numg,deng);
holdon;
bode(GGc.num,GGc.den);
结果:
zeta=
0.8000
原系统的零极点传递函数:
Transferfunction:
11.16
-----------
s^2+5.3s
Tz=
1.4978
Tp=
24.2989
校正装置的传递函数:
Transferfunction:
1.498s+1
-----------
24.3s+1
校正后系统的传递函数:
Transferfunction:
200.6s+133.9
----------------------------
24.3s^3+129.8s^2+5.3s
>>
阶跃响应曲线比较 Bode曲线比较
(绿色:
校正前曲线,蓝色:
校正后曲线)
题目三:
已知单位负反馈系统的开环传递函数为G(S)=200/(0.1S+1)(0.2S+1),试设计串联校正装置,使系统指标满足单位斜坡输入信号时的无稳态误差,相位裕度
20°,穿越频率
150rad/s。
【解】程序:
num=200;
den=conv([0.110],[0.21]);
figure
(1);
margin(num,den)
a=20;
wm=150;
T=1/(sqrt(a)*wm)
nc=[a*T1];
dc=[T1];
n=conv(num,nc);
d=conv(den,dc);
figure
(2);
margin(n,d)
结果:
ans=
10
T=
0.0015
动态校正前的系统Bode图动态校正后的系统Bode图
题目四:
已知一系统的传递函数是G(s)=12/s(s+6),设计一滞后校正环节,要求静态误差<5%,幅值交角频率为3rad/s.相位裕度为30°。
【解】程序:
figure('pos',[50,50,200,150],'color','w');
num=12;
den=[160];
Wcg=3;
G=tf(num,den);
pm=30;
dPm=pm+5;
kc=12;
G=tf(G);
num=G.num{1};
den=G.den{1};
nv=polyval(num,j*Wcg);
dv=polyval(den,j*Wcg);
g=nv/dv;
theta_G=angle(g);
MG=abs(g);
dpm=dPm*pi/180;
dt=(dpm-theta_G);
Tz=(1+kc*MG*cos(dt))/(-Wcg*kc*MG*sin(dt));
Tp=(cos(dt)+kc*MG)/(Wcg*sin(dt));
Gc=tf([Tz1],[Tp1])
step(feedback(G*kc,1),8);
holdon
step(feedback(G*Gc*kc,1),8);
figure('pos',[350,50,200,200],'color','w');
bode(G*kc*Gc);
gridon
holdon
bode(G*kc);
gridon
结果:
Transferfunction:
0.5178s+1
------------
4.394s+1
>>
阶跃响应曲线比较 Bode曲线比较
(绿色:
校正前曲线,蓝色:
校正后曲线)
三、课程设计总结或结论
通过这一周的课程设计,不仅使我对自动控制原理这门课程进行了一次很好的回顾和整理,同时也加深对这门课程的理解。
总结如下:
1、能用MATLAB软件进行简单的控制程序分析,能够设计简单的控制系统以满足具体的性能指标要求。
2、对控制系统的时域分析、根轨迹分析、频域分析有了更深刻的了解。
3、学会了用不同校正方法对控制系统进行校正
四、参考文献
[1]于希宁,孙建平,《自动控制原理》,中国电力出版社,第一版,2008年2月
[2]张晋格,《控制系统CAD—基于MATLAB语言》,机械工业出版社,第二版,2004年7月
[3]魏克新,《MATLAB语言与自动控制系统设计》,机械工业出版社,第二版,2004年9月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自控 作业