实验一 控制系统建模与分析.docx
《实验一 控制系统建模与分析.docx》由会员分享,可在线阅读,更多相关《实验一 控制系统建模与分析.docx(16页珍藏版)》请在冰豆网上搜索。
实验一控制系统建模与分析
实验一控制系统建模与分析
一、实验目的
1、建立系统的数学模型,并进行模型的转换
2、掌握如何使用Matlab进行系统的时域分析、频域分析、根轨迹分析、稳定性分析;
3、编写M文件,求取系统单位阶跃响应性能指标;
4、掌握如何使用线性时不变系统浏览器(LTIViewer)
二、实验内容
1、建立模型与特征根稳定性分析
某控制系统结构如图所示:
(1)编写程序求闭环系统的传递函数模型,并写出传递函数形式;
程序如下:
K=200;
G=tf(1,[1,0]);
G1=tf(1,[1,5]);
G3=tf(3,[1,2]);
G2=feedback(G3,1);
G0=K*G*G1*G2;
Sys=feedback(G0,1)
运行结果:
Transferfunction:
600
-------------------------
s^3+10s^2+25s+600
(2)并将该传递函数模型转化为零极点模型和部分分式模型,并分别写出零极点模型形式和部分分式模型形式;
1)程序如下:
sys=zpk(sys)
运行结果:
Zero/pole/gain:
600
--------------------------------
(s+12.05)(s^2-2.055s+49.77)
2)程序如下:
[rpk]=residue(600,[1,10,25,600])
运行结果:
r=
2.7289
-1.3645-2.5575i
-1.3645+2.5575i
p=
-12.0549
1.0275+6.9797i
1.0275-6.9797i
k=
[]
………..
(3)求出系统的闭环极点,说明系统的稳定性。
程序如下:
p=pole(Sys)
运行结果:
p=
-12.0549
1.0275+6.9797i
1.0275-6.9797i
由运行结果可知,系统有三个极点,其中两个极点位于右半S平面,可见该系统不稳定。
2、时域分析
根据下面传递函数模型:
(1)绘制其单位阶跃响应曲线,并从图上读取最大超调量,调节时间,上升时间;
程序如下:
sys=tf([5,25,30],[1,6,10,8]);
step(sys)
运行结果:
最大超调量:
7.28%;调节时间:
3.64s;上升时间:
1.41s。
(2)绘制系统的单位脉冲响应。
程序如下:
sys=tf([5,25,30],[1,6,10,8]);
impulse(sys)
运行结果:
3、频域分析
典型二阶系统传递函数为:
(1)作出当ζ=0.7,n取2、4、6、8、10、12的伯德图。
程序如下:
wn=[2:
2:
12];zet=0.7;
holdon
fori=1:
length(wn)
num=wn(i)^2;den=[1,2*zet*wn(i),wn(i)^2];
bode(num,den);
end
gridon
holdoff
运行结果:
(2)作出当n=6,ζ取0.2、0.4、0.6、0.8、1.0、1.5、2.0的伯德图。
程序如下:
wn=6;
zet=[0.2:
0.2:
1.0,1.5,2.0];
holdon
fori=1:
length(zet)
num=wn^2;den=[1,2*zet(i)*wn,wn^2];
bode(num,den);
end
gridon
holdoff
运行结果:
4、根轨迹分析
根据下面负反馈系统的开环传递函数,绘制系统根轨迹,并分析系统稳定的k值范围。
分别取稳定时的某个k值和不稳定时的某个k值,求闭环系统的单位阶跃响应。
1.程序如下:
sys=tf(1,[1,3,2,0]);
rlocus(sys)
[x,y]=ginput(3);
p=x+i*y;
K=rlocfind(sys,p)
运行结果:
K=
0.01510.38496.0138
由上可知02.稳定取K=3时
程序如下:
clc;
clear;
K=3
G0=tf(K,[1,3,2,0]);
G=feedback(G0,1);
step(G)
运行结果:
3.不稳定取K=10时
程序如下:
clc;
clear;
K=10
G0=tf(K,[1,3,2,0]);
G=feedback(G0,1);
step(G)
运行结果:
5、Nyquist稳定性稳定性分析
已知单位负反馈系统的开环传递函数为:
利用Nyquist稳定性判据判断闭环系统的稳定性,分别画出开环系统和闭环系统的单位阶跃响应。
a)程序如下:
G=tf([100,500],conv([1,6,-16],[1,20]));
nyquist(G);
G_close=feedback(G,1);
eig(G_close)
运行结果:
ans=
-12.4968+4.7619i
-12.4968-4.7619i
-1.0065
逆时针包围(-1,j0)一次(R=1),开环有一个正实部极点(P=1),P=R,闭环系统稳定。
由运行结果也可知,系统有三个根,全都位于左半S平面,由此可见该系统是稳定的。
b)程序如下:
G=tf([100,500],conv([1,6,-16],[1,20]));
step(G)
运行结果:
c)程序如下:
G=tf([100,500],conv([1,6,-16],[1,20]));
G_close=feedback(G,1);
step(G_close)
运行结果:
6、已知系统传递函数为:
(1)编写M文件求取系统的性能指标(超调量,上升时间,调节时间)
先建立一个stepchar.m的文件
程序为:
function[pos,tr,ts,tp]=stepchar(g0,delta)
[y,t]=step(g0);
[mp,ind]=max(y);
dimt=length(t);
yss=y(dimt);
pos=100*(mp-yss)/yss;
tp=t(ind);
fori=1:
dimt
ify(i)>=0.8
tr=t(i);
break;
end
end;
fori=1:
length(y)
ify(i)<=(1-delta)*yss||y(i)>=(1+delta)*yss
ts=t(i);
end
end
再建立一个M文件,程序:
sys=tf(5,[3,4,6]);
[pos,tr,ts,tp]=stepchar(sys,0.02)
两个m文件存在同一个文件夹中。
运行结果:
pos=
18.4228
tr=
1.5895
ts=
5.8811
tp=
2.5432
(2)利用LTIViewer对系统进行分析,在一个分析窗口中画出系统的单位阶跃响应、单位脉冲响应、伯德图、伯德幅频图、相频图、奈奎斯特曲线、尼克尔斯曲线。
并从单位阶跃响应曲线图上读取最大超调量,调节时间,上升时间,与
(1)中的结果进行对比。
程序如下:
sys=tf([5],[3,4,6]);
ltiview
运行结果:
超调量为18.6%;调节时间为5.85s;上升时间为1.13s。
结果与
(1)的结果基本一样。