大学本科自动控制理论课程设计Word文件下载.docx
《大学本科自动控制理论课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《大学本科自动控制理论课程设计Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
时域分析法、频域分析法
2013年1月4日
3
根轨迹分析法、系统校正
2013年1月5日
4
整理打印课程设计报告,并答辩
2013年1月6日
五、设计成果要求
上机用MATLAB编程解题,从教材或参考书中选题,控制系统模型、控制系统的时域分析法、控制系统的根轨迹分析法、控制系统的频域分析法每章选择两道题。
第六章校正选四道,其中根轨迹超前校正一道、根轨迹滞后校正一道、频域法超前校正一道、频域法滞后校正一道。
并针对上机情况打印课程设计报告。
课程设计报告包括题目、解题过程及程序清单和最后的运行结果(曲线),课程设计总结或结论以及参考文献。
六、考核方式
《自动控制理论课程设计》的成绩评定方法如下:
根据
1.打印的课程设计报告。
2.独立工作能力及设计过程的表现。
3.答辩时回答问题的情况。
成绩评分为优、良、中、及格以及不及格5等。
学生姓名
指导教师:
2013年1月6日
二、设计正文
1.控制系统模型
2.控制系统的时域分析
3.控制系统的根轨迹分析
4.控制系统的频域分析
5.控制系统的校正
1.控制系统模型
1.1控制系统方框图如图所示,求此系统的传递函数。
G1=tf([1],[0.51]);
G2=tf([1],[122]);
H1=2;
H2=tf([0.51],[0.21]);
GH1=feedback(G2,H2);
G=GH1*G1;
GH=feedback(G,H1)
>
Transferfunction:
0.2s+1
----------------------------------------
0.1s^4+0.9s^3+2.85s^2+4.8s+5
总结:
刚刚接触matlab,学会基础的用Simulink画了系统框图,了解了tf还有feedback函数是构成闭环传递函数,对matlab最基础的运行了一次,对它有了基本的概念。
对于求传递函数需要清楚是正反馈还是负反馈,进行化简求解。
1.2求解微分方程组{
,{
[x,y]=dsolve('
1*Dx+y=10,-1*x+2*Dy+2*y=0'
'
x(0)=0,y(0)=6'
)
x=
20+exp(-1/2*t)*(-20*cos(1/2*t)-12*sin(1/2*t))
y=
10+exp(-1/2*t)*(-16*sin(1/2*t)-4*cos(1/2*t))
了解了dsolve函数的意义,即求解微分方程e在初值条件c下的特解,dsolve(e,c),
在matlab中用D表示导数,即Dy表示y'
,使用软件使计算速度快了很多,在工作中能提高效率。
2控制系统的时域分析
2.1已知一个如图所示的二阶系统,其开环传递函数G
=
其中T=1,试绘制k分别为0.1,0.2,0.5,0.8,1.0,2.4时其单位负反馈系统的单位阶跃响应曲线。
MATLAB程序如下:
T=1
k=[0.1,0.2,0.5,0.8,1.0,2.4]
t=linspace(0,20,200)
num=1
den=conv([1,0],[T,1])
forj=1:
6
s1=tf(num*k(j),den)
sys=feedback(s1,1)
y(:
j)=step(sys,t);
end
plot(t,y(:
1:
6))
grid
程序输出如图所示:
gtext('
k=0.1'
)
k=0.2'
k=0.5'
k=0.8'
k=1.0'
k=2.4'
绘制阶跃响应通过改变回路增益k的值改变系统的快速性和稳定性,
=
,
,可见K越大
越大,
越小,表明K对稳定性和快速性相矛盾,在实际系统中应根据系统的要求适当折中。
写程序中练习了step函数为阶跃响应函数
2.2
已知单位负反馈控制系统的开环传递函数为Go
,试用MATLAB编写程序判断此闭环系统的稳定性,并绘制闭环系统的零极点图。
z=[]
p=[0,-5,-1/3]
k=10/3
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
dc=Gctf.den
dens=poly2str(dc{1},'
s'
运行结果如下:
dens=
s^3+5.3333s^2+1.6667s+3.3333
接着输入如下MATLAB程序代码:
den=[1,5.3333,1.6667,3.3333]
p=roots(den)
den=
1.00005.33331.66673.3333
p=
-5.1351
-0.0991+0.7996i
-0.0991-0.7996i
系统只有负实部的特征根,因此闭环系统是稳定的。
[z,p,k]=zpkdata(Gctf,’v’)提取分子分母多项式
pzmap(Gctf)
3.根轨迹分析
3.1
已知某单位负反馈系统开环传递函数如下:
,试绘制系统的根轨迹,并在根轨迹图上任选一点,计算该点的增益k及其所有极点
num=[1,5]
den=conv([1,1],conv([1,3],[1,12]))
sys=tf(num,den)
rlocus(sys)
[k,poles]=rlocfind(sys)
运行结果如下
Selectapointinthegraphicswindow
selected_point=
-3.5000+3.6646i
k=
38.3540
poles=
-8.7755
-3.6123+3.5926i
-3.6123-3.5926i
用软件画根轨迹更精确简单,了解了rlocus()为绘制根轨迹的函数,rlocus(sys,k)绘制增益为k的闭环极点,也了解了rlocfind函数,且从图中看出根轨迹在左半平面系统稳定,在右半平面系统不稳定。
3.2绘制参数a的根轨迹,使用MATLAB画出系统的根轨迹,该系统的开环传递函数如下
GH(s)=
其中2
a
10
解:
MATLAB程序代码如下:
den=conv(conv([11],[13]),[112]);
k=5
clpoles=[];
param=[];
foralpha=2:
num=[00kk*alpha];
clpoly=num+den;
clp=roots(clpoly);
clpoles=[clpoles;
clp'
];
param=[param;
alpha];
disp([param,clpoles])
plot(clpoles,'
*'
axisequal;
axis([-40-22])
gridon
数据显示结果如下
2.0000-11.4658-3.3291-1.2051
3.0000-11.5249-3.0000-1.4751
4.0000-11.5826-2.4174-2.0000
5.0000-11.6388-2.1806-0.6972i-2.1806+0.6972i
6.0000-11.6938-2.1531-1.0041i-2.1531+1.0041i
7.0000-11.7475-2.1262-1.2341i-2.1262+1.2341i
8.0000-11.8001-2.1000-1.4251i-2.1000+1.4251i
9.0000-11.8516-2.0742-1.5913i-2.0742+1.5913i
10.0000-11.9020-2.0490-1.7399i-2.0490+1.7399i
4.频域分析法
4.1已知系统的开环传递函数为:
,试分别绘制k=1,7.8,20时系统的极坐标图,并利用Nyquist稳定判据判断闭环系统的稳定性。
clear
p=[0,-5,-10]
k=100.*[1,7.8,20]
G=zpk(z,p,k
(1))
[re1,im1]=nyquist(G)
G=zpk(z,p,k
(2))
[re2,im2]=nyquist(G)
G=zpk(z,p,k(3))
[re3,im3]=nyquist(G)
plot(re1(:
),im1(:
),re2(:
),im2(:
),re3(:
),im3(:
))
v=[-5,1,-5,1];
axis(v)
k=20'
k=7.8'
k=1'
运行结果如图:
该开环系统没有右半平面S平面的极点(p=0),因此开环系统是稳定的。
从图中可以看出当K=1时,开环系统的Nquist图不包围(-1,j0)点,根据Nquist稳定判据,系统是稳定的。
当k=7.8和k=20时,开环系统的Nquist图包围(-1,j0)点,根据Nquist稳定判据,系统是不稳定的。
clear为清除工作空间的所有变量,练习了.*为两矩阵对应元素相乘。
增大开环增益K会使相角稳定裕量减小,使稳定性变差。
4.2
已知某系统的开环传递函数为G0=
求系统的相角稳定裕量和幅值稳定裕量,并绘制系统的伯德图,判断系统的稳定性。
num=10*[(5/4)^25/41]
den=conv(conv([100],[(10/3)1]),conv([(0.2/3)1],[(1/40)1]))
G=tf(num,den)
bode(G)
[Gm,Pm,Wcg,Wcp]=margin(G)
15.63s^2+12.5s+10
-------------------------------------------
0.005556s^5+0.3072s^4+3.425s^3+s^2
Gm=
0.1198
Pm=
60.6660
Wcg=
0.6614
Wcp=
4.3878
开环对数频率特性如图所示;
频率响应曲线对-180o线正负穿越各一次,其差为零;
因此系统稳定。
学会了用matlab绘制bode图并求相角稳定裕量和幅值稳定裕量,更精准效率高,通过曲线对L(w)>
0情况下对-180线穿越次数判断稳定性。
5.控制系统的校正
根轨迹超前校正:
已知系统的开环传递函数为
,用根轨迹法确定一串联校正装置,使得超调量不大于30%,调节时间不大于8s
Matlab程序如下:
den=conv([210],[0.51]);
num=1;
G=tf(num,den);
rltool(G)
运行得到校正前的根轨迹如图:
串联
后,
校正后的根轨迹
G1=tf(num,den);
Ga=feedback(G1,1)
den1=[0.131];
num1=[2.31];
G2=tf(num1,den1);
G=feedback(G1*G2,1);
step(Ga,G);
校正前'
校正后'
校正前后的响应曲线:
根轨迹滞后校正
已知系统固有的传递函数为:
,采用根轨迹分析法设计,要求闭环系统具有阻尼比zeta=0.707,自然频率wn=1.516rad/s,同时,静态误差ew=4.06%。
num=24.2;
den=[15.80];
zeta=0.707
wn=1.516;
err=4;
ifnargin<
ew=4.06;
zeta=0.707;
disp('
原系统的零极点传递函数:
'
G=tf(G)
[r,k]=rlocus(G);
[num,den]=ord2(wn,zeta);
s=roots(den);
sa=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);
num=G.num{1};
den=G.den{1};
ngv=polyval(num,sa);
dgv=polyval(den,sa);
g=ngv/dgv;
theta_G=angle(g);
theta_s=angle(sa);
MG=abs(g);
Ms=abs(sa);
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))
校正装置的传递函数:
Gc=tf([Tz1],[Tp1])
校正后系统的传递函数:
GGc=G*Gc*kc
step(feedback(GGc,1),feedback(G*kc,1));
校正后’)
运行后结果:
eta=
0.7070
Transferfunction:
24.2
-----------
s^2+5.8s
Tz=
1.1767
Tp=
25.6449
1.177s+1
25.64s+1
256.3s+217.8
-----------------------------
25.64s^3+149.7s^2+5.8s
校正前后的阶跃响应曲线:
频率超前校正
设计一个校正装置,使校正后系统的静态速度误差系数
100,截止频率>
60rad/s,相位裕量
45
num1=[00100];
den1=[0.0410];
G=tf(num1,den1);
w=logspace(-1,2,100)
bode(G,w);
margin(G);
[Gm,Pm,Wcg,Wcp]=margin(G);
[Gm,Pm,Wcg,Wcp]%判断是滞后校正还是超前校正
numc=[0.02621]denc=[0.01061]
Gc=tf(numc,denc)
w=logspace(-1,3,100)
figure
(2)bode(Gc,w);
Ge=Gc*G;
figure(3)margin(Ge)[Gm,Pm,Wcg,Wcp]=margin(Ge);
[Gm,Pm,Wcg,Wcp]
G1=feedback(G,1)
G11=feedback(Ge,1)
num=[00100]
den=[0.041100]
numd=[002.62100]
dend=[0.0004240.05063.62100]
t=0:
0.005:
0.5;
figure(4)
[c1,x1,t]=step(num,den,t);
[c2,x2,t]=step(numd,dend,t)
plot(t,c1,'
:
k'
t,c2,'
-k'
)%得出响应曲线
校正前的相位裕量和截止频率
ans=Inf28.0243Inf46.9701
串联的校正装置:
0.0262s+1
------------
0.0106s+1
校正后的的相位裕量和截止频率
ans=
Inf47.5917Inf60.3251
校正前bode图
校正装置bode图:
校正后的bode图
校正前后系统单位阶跃响应曲线:
频率滞后校正
已知单位负反馈系统的开环传递函数为G(s)=
,试设计串联校正装置,使性能指标满足单位阶跃输入信号时无稳态误差,相角裕量
num=205;
den=conv([10],[0.31]);
figure
(1)
margin(G)
%判断超前校正还是滞后校正,因为相角裕量为7.3小于50所以牺牲穿越频率提高相位裕度
a=10.^(45.7/20);
wc=1.02;
T=1/(0.1*wc)
nc=[T1]
dc=[a*T1]
n=conv(num,nc)
d=conv(den,dc);
figure
(2)
margin(n,d)
[Gm,Pm,Wcg,Wcp]=margin(n,d);
%57.3>
50所以满足要求
t1=0:
0.1:
5
G1=tf(num,den)
G2=feedback(G1,1)
step(G2,t1)
G3=tf(n,d)
G4=feedback(G3,1)
holdon
t2=0:
20
step(G4,t2)
gtext(校正前)
gtext(校正后)
校正前的bode图
校正后的bode图:
校正后相角裕量为67.3>
50,满足要求。
校正前后系统的阶跃响应曲线:
三、课程设计总结或结论
四、参考文献
[1]刘坤,刘翠响matlab自动控制原理习题精解国防工业出版社第一版2004年
[2]王正林王胜开MATLAB/Simulink与控制系统仿真电子工业出版社第一版2005年
[3]瞿亮,凌民基于MATLAN的控制系统计算机仿真清华大学出版社第一版2006年
[4]赵广元.MATLAB与控制系统仿真.北京航空航天大学出版社第一版2009.6