自动控制实验报告.docx
《自动控制实验报告.docx》由会员分享,可在线阅读,更多相关《自动控制实验报告.docx(26页珍藏版)》请在冰豆网上搜索。
自动控制实验报告
实验名称
实验一控制系统数学模型的建立
实验时间
2014.5.5第12周
实验成绩
实验目的
1、认识matlab界面,熟悉matlab实验环境。
2、掌握matlab建立控制系统数学模型的命令集模型相互转换的方法。
3、掌握使用matlab命令化简模型基本连接的方法。
源程序和实验结果
1.仿照实例实现以下传递函数的有理分式表示
6(s+5)
G(s)=---------------------------------------------------
(s2+3s+1)2(s+6)(s3+6s2+5s+3)
程序:
num=6*[1,5];
den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);
G=tf(num,den)
程序截图:
结果:
Transferfunction:
6s+30
---------------------------------------------------------------------------
s^8+18s^7+124s^6+417s^5+740s^4+729s^3+437s^2+141s+18
>>
2.仿照实例实现以下传递函数的零极点表示:
7(s+3)
G(s)=-----------------
(s+2)(s+4)(s+5)
程序:
z=[-3];
p=[-2,-4,-5];
k=[7];
sys=zpk(z,p,k)
结果:
Zero/pole/gain:
7(s+3)
-----------------
(s+2)(s+4)(s+5)
3.已知两环节传递函数G1(s)和G2(s)及反馈环节系数-1,求G1(s)和G2(s)两者串联和并联后的传递函数。
并显示单位负反馈时的闭环传递函数。
s+1
G1(S)=------------------
S+2
1
G2(S)=------------------
500S2
串联程序:
num1=[1,1];
den1=[1,2];
num2=[1];
den2=[500,00];
[num,den]=series(num1,den1,num2,den2);
G=tf(num,den)
结果:
Transferfunction:
s+1
------------------
500s^3+1000s^2
并联程序:
num1=[1,1];
den1=[1,2];
num2=[1];
den2=[500,00];
[nump,denp]=parallel(num1,den1,num2,den2);
G=tf(nump,denp)
结果:
Transferfunction:
500s^3+500s^2+s+2
-------------------------
500s^3+1000s^2
单位负反馈闭环传递函数程序:
num1=[1,1];
den1=[1,2];
num2=[1];
den2=[500,00];
[num,den]=feedback(num1,den1,num2,den2,-1)
G=tf(num,den)
结果:
num=
50050000
den=
500100011
Transferfunction:
500s^3+500s^2
--------------------------
500s^3+1000s^2+s+1
4.创建一个4阶系统的微分方程为:
、
y(4)+10y(3)+30y
(2)+40y
(1)+24y=4u
(2)+36u
(1)+32u
求:
(1)传递函数多项式
(2)创建G(s)为ZPK对象
程序:
numG=[43632]
denG=[110304024]
G=tf(numG,denG)
GG=zpk(G)
[z,p,k]=zpkdata(G,'v')
[z,p,k]=zpkdata(GG,'v')
结果:
numG=
43632
denG=
110304024
Transferfunction:
4s^2+36s+32
---------------------------------
s^4+10s^3+30s^2+40s+24
Zero/pole/gain:
4(s+8)(s+1)
---------------------------
(s+6)(s+2)(s^2+2s+2)
z=
-8
-1
p=
-6.0000
-2.0000
-1.0000+1.0000i
-1.0000-1.0000i
k=
4
z=
-8
-1
p=
-6.0000
-2.0000
-1.0000+1.0000i
-1.0000-1.0000i
k=
4
>>
小结和心得:
通过这次实验,我掌握matlab建立控制系统数学模型的命令集模型相互转换的方法,同时,掌握使用matlab命令化简模型基本连接的方法。
实验名称
实验二线性控制系统的时域分析
实验时间
2013.5.12第13周
实验成绩
实验目的
1、掌握一阶系统和二阶系统的阶跃响应。
2、理解二阶系统的无阻尼、欠阻尼、临界阻尼和过阻尼响应。
3、掌握二阶系统的两个重要参数、n对阶跃瞬态响应指标的影响
3、分析系统的稳定性、瞬态过程和稳态误差。
5、理解高阶系统的主导极点对系统特性的影响。
6、理解系统的零点对系统动态特性的影响。
源程序和实验结果
1.判断系统的传递函数如下,判断其稳定性:
S3+7s2+24s+24
(1)G(s)=------------------------------
S4+10s3+35s2+50s+24
S3+7s2+24s+24
(2)G(s)=---------------------------------------------
S8+2S7+3S5+S4+10s3+35s2+50s+24
(1)源程序:
num=[172424];den=[110355024];
g=tf(num,den)
roots(g.den{1})
运行结果:
Transferfunction:
s^3+7s^2+24s+24
----------------------------------------
s^4+10s^3+35s^2+50s+24
因为它的极点都在左半平面内,所以系统稳定。
(2)源程序:
因为它在右半平面有极点,所以系统不稳定。
2.单位负反馈系统的开环传递函数为8
G(s)=-------------
S(S+2)
求闭环系统的单位阶跃响应,标出系统的ts,tr,tp,并计算最大超调量和稳态误差。
源程序:
num=[8];
den=[1,2,8];
G=tf(num,den);
yss=1;
t=0:
0.1:
30;
[yout,t]=step(G);
[y1,i]=max(yout);
Mp=(y1-yss)/yss
tp=t(i)
dta=0.02;
j=100;
whileyout(j)>1+dta&yout(j)<1-dta;
j=j-1;
end
ts=t(j)
step(num,den,'r');
gridon;
xlabel('t');ylabel('c(t)');
运行结果:
3.给定典型二阶系统的自然频率Wn=8,仿真当zeta=0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,1.0,1.5,2.0,时的单位阶跃响应,并得出参数变化时对系统性能的影响。
wn=8;
t=0:
0.1:
20
forzeta=[0:
0.3:
1.8]
s=tf(4,[1,4*zeta,4]);
figure
(1),step(s,t),holdon
end
grid
title('二阶系统响应取不同阻尼比时的单位阶跃响应')
gtext('zeta=0');
gtext('zeta=0.3');
gtext('zeta=06');
gtext('zeta=0.9');
gtext('zeta=1.2');
gtext('zeta=1.5');
gtext('zeta=1.8');
holdoff
4..比较下面两闭环系统的单位阶跃响应,分析零点对系统动态响应的影响。
10
(1)G(s)=-------------------------
s2+2.5s+10
10(S+0.1)
(2)G(s)=-------------------------
s2+2.5s+10
(1)源程序:
num=[10];
den=[12.510]
step(num,den);
gridon;
xlabel('t');
ylabel('c(t)')
title('单位阶跃响应')
运行结果:
den=
1.00002.500010.0000
(2)源程序:
num=[101];
den=[12.510]
step(num,den);
gridon;
xlabel('t');
ylabel('c(t)')
title('单位阶跃响应')
运行结果:
den=
1.00002.500010.0000
5.开环系统的传递函数为20000,求其单位阶跃响应,并比较与
G(s)=-------------------------
S(S+5)(s+200)
开环系统10的差别,得出相应的结论。
G(s)=---------------------
s2+2.5s+10
源程序:
num=[20000];
den=[120510000]
step(num,den,'r');
gridon;
xlabel('t');
ylabel('c(t)');
holdon;
num=[100];
den=[15];
step(num,den,'g');
gridon;
xlabel('t');
ylabel('c(t)');
运行结果:
den=
120510000
小结和心得
通过实验,学会用Matlab判别系统的稳定性,求控制系统的单位阶跃响应,掌握了一阶系统和二阶系统的阶跃响应,掌握了二阶系统的两个重要参数、n对阶跃瞬态响应指标的影响,理解了二阶系统的无阻尼、欠阻尼、临界阻尼和过阻尼响应。
同时,我学会了分析系统的稳定性、瞬态过程和稳态误差,理解了高阶系统的主导极点对系统特性的影响,理解了系统的零点对系统动态特性的影响。
实验名称
实验三线性控制系统的频域分析
实验时间
2013.5.19第14周
实验成绩
实验目的
1、学习使用MATLAB绘制Bode图和Nyquist图。
2、掌握使用Bode图和Nyquist图分析系统性能的方法。
源程序和实验结果
1.已知控制系统开环传递函数10绘制其bode图。
G(s)=-----------------,
S2+2S+10
源程序:
num=[10];
den=[1210];
bode(num,den)
运行结果:
2.典型二阶系统wn2
G(s)=-----------------绘制wn=6时zeta取不同值时的bode图
S2+2zetas+wn2
wn=6,zeta=0.1,0.3,0.5,0.8,2。
源程序如下:
wn=6;
kosi=[0.1:
0.1:
1,2];
w=logspace(-1,1,100);
num=[wn^2];
L1=length(kosi);
figure;
fori=1:
L1
kos=kosi(i);
den=[12*kos*wnwn^2];
holdon;
bode(num,den,w);
end
holdoff
实验结果如下:
3.已知单位负反馈系统开环传递函数为64(s+2)
G(s)=-------------------------------,
s(s+0.5)(s2+6.4s+256.1)
求系统的幅值裕度,相位裕度和相应的交界频率,并判断稳定性。
源程序:
num=[00064128];
den=[16.9259.3256.10];
subplot(2,1,1);
nyquist(num,den);
subplot(2,1,2);
w=logspace(-2,3,100);
bode(num,den,w)
grid
[gm,pm,weg,wep]=margin(num,den);
gm,pm,weg,wep;
运行结果:
4.系统开环传递函数10
G(s)=-----------,绘制其Nyquist图。
S2+2s+10
程序:
num=[10];
den=[1210];
axis([-1,1.5,-2,2]);
nyquist(num,den)
结果:
5.已知0.5
G(s)=----------------,绘制其Nyquist图,判断系统的稳定性。
S3+2s2+s+0.5
程序:
num=[0.5];
den=[1210.5];
nyquist(num,den)
den=[1211];
roots(den)
结果:
ans=
-1.7549
-0.1226+0.7449i
-0.1226-0.7449i
分析:
由于系统的奈氏曲线没有包围且远离(-1,j0)点,且传递函数的不稳定根的个数为0,因此系统闭环稳定。
6.负反馈系统开环传递函数为k当k=1,3,5….15时,系统的奈氏
G(s)=----------------,
(3s+1)(5s+1)
曲线形状如何变化,分析k对系统的稳定性有什么影响。
源程序:
>>G=tf([1],[1582]);
nyquist(G)
roots([1582])
ans=
-0.2667+0.2494i
-0.2667-0.2494i
运行结果:
小结和心得
通过本次实验,我学习了使用MATLAB绘制Bode图和Nyquist图,掌握使用Bode图和Nyquist图分析系统性能的方法。
实验名称
实验四线性控制系统的校正
实验时间
2013.5.26第15周
实验成绩
实验目的
1、熟练最佳二阶模型法校正控制系统法。
2、熟练最佳频比的典型三阶模型校正控制系统法。
源程序和实验结果
1.单位反馈伺服系统的开环传递函数为:
200试按最佳二阶模型整定PID
G(s)=----------------,
S(0.1s+1)
参数,并绘制校正前后系统阶跃响应曲线和Bode图。
num=[200];
den=[0.110];
bode(num,den)
2.设开环传递函数10试按最佳二阶模型整定PID参数,并绘
G(s)=------------------------,
(s+1)(0.01s+1)
制校正前后系统阶跃相应的曲线和Bode图。
num=[10];
den=[0.011.011];
bode(num,den)
3.设单位反馈系统的开环传递函数40试按具有最佳频比的
G(s)=------------------------,
s(0.2s+1)(0.0625s+1)
典型三阶模型定PID参数,并绘制校正前后系统阶跃相应曲线和Bode图。
num=[40];
den=[0.01250.262510];
bode(num,den)
4.被控制对象传递函数为400要求技术指标为:
zeta=0.5和wn=13.5
G(s)=-------------------,
s(s2+30s+200)
rad/s。
设计一个串联校正装置,并绘制校正前后系统阶跃相应的曲线和Bode图。
根据实验,试说明校正前后系统的调节时间和超调量有何变化,相角裕度,增益穿越频率又有什么变化?
小结和心得:
通过本次实验,我熟练掌握了最佳二阶模型法校正控制系统法和最佳频比的典型三阶模型校正控制系统法。