当前位置:文档之家› 自控-二阶系统Matlab仿真

自控-二阶系统Matlab仿真

自动控制原理
二阶系统性能分析Matlab 仿真大作业附题目+
完整报告内容
设二阶控制系统如图1所示,其中开环传递函数
)
1(10
)2()(2+=+=s s s s s G n n ξωω
图1
图2
图3
要求:
1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则和
分别取多少?
解:
由)1(10
)2()(2
+=
+=s s s s s G n n ξωω得10
21,10,102===ξωωn t K d T
对于测速反馈控制,其开环传递函数为:)
2()s (2
2n t n n
K s s G ωξωω++=; 闭环传递函数为:2
2
2)2
(2)(n
n n t n
s K s s ωωωξωφ+++=

所以当n t K ωξ2
1+=0.707时,347.02)707.0(t =÷⨯-=n K ωξ;
对于比例微分控制,其开环传递函数为:)2()1()(2
n n
d s s s T s G ξωω++=;
闭环传递函数为:)
)2
1(2)1()(2
22
n n n d n
d s T s s T s ωωωξωφ++++=;
所以当n d T ωξ2
1
+=0.707时,347.02)707.0(=÷⨯-=n d T ωξ;
2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解:
①图一的闭环传递函数为:
2
22
2)(n n n s s s ωξωωφ++=,10
21
,10n ==ξω Matlab 代码如下:
clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12;
Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)
title('图一单位阶跃响应曲线'); xlabel('t/s');ylabel('c(t)');
响应图如下:
②图二的闭环传递函数为:
2
22)2
1(2)(n
n n t n
s K s s ωωωξωφ+++=
,707.0,10n ==t ξω
Matlab 代码如下:
clc clear wn=sqrt(10); zeta=0.707; t=0:0.1:12;
Gs=tf(wn^2,[1,2*zeta*wn,wn^2]);
step(Gs,t)
title('图二单位阶跃响应曲线'); xlabel('t/s');ylabel('c(t)');
响应图如下:
③图三的闭环传递函数为:
2
22
)2
1(2)1()(n
n n d n
d s T s s T s ωωωξωφ++++=,707.0,10n ==d ξω
Matlab 代码如下:
clc clear wn=sqrt(10); zeta=0.707;
t=0:0.1:12;
Gs=tf([0.347*wn^2,wn^2],[1,2*zeta*wn,wn^2]); step(Gs,t)
title('图三单位阶跃响应曲线'); xlabel('t/s');ylabel('c(t)');
响应图如下:
3、分别求出在单位斜坡输入下,3个系统的稳态误差; 解:
①当t t =)(r 时,图一的开环传递函数为:
)
1(10
)2()(2+=
+=s s s s s G n n ξωω是I 型系统 1
00020lim lim lim lim )()(,1)()(11)()(11e -→→→→====⋅+⋅
=v s s v v
s s ss s K
s H s sG K K s H s sG s s H s G s 其中K=10,所以10
1
e =
ss
②当t t =)(r 时,图二的开环传递函数为:
)
1224.0(237
.2)47.31(10)2()s (2
2+=++=++=s s s s K s s G n t n n ωξωω是I 型系统 1
00020lim lim lim lim )()(,1)()(11)()(11e -→→→→====⋅+⋅
=v s s v v
s s ss s K
s H s sG K K s H s sG s s H s G s 其中K=2.237,所以447.0237
.21
e ==
ss ③当t t =)(r 时,图三的开环传递函数为:
)
1()
1s 374.0(10)2()1()(2
++=
++=s s s s s T s G n n d ξωω是I 型系统 1
00020lim lim lim lim )()(,1)()(11)()(11e -→→→→====⋅+⋅
=v s s v v
s s ss s K
s H s sG K K s H s sG s s H s G s 其中K=10,所以10
1
e =ss
4、列表比较3个系统的动态性能和稳态性能,并比较分析测速反馈控制和比例微分控制对改善系统性能的不同之处; 解:
可以利用Matlab 求峰值时间、超调量、上升时间、调节时间,代码以系统一为例:
clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12;
G=tf(wn^2,[1,2*zeta*wn,wn^2]); C=dcgain(G); [y,t]=step(G);
plot(t,y); [Y,k]=max(y); timetopeak=t(k)
percentovershoot=100*(Y-C)/C n=1; while y(n)<C n=n+1; end risetime=t(n) i=length(t)
while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1; end
settingtime=t(i)
得到结果如下:
5、试用绘制图3对应的系统中参数变化时的根轨迹图,分析变化对系统性能的影响;用MATLAB 画出分别为0,0.1,0.2,0.5和1时的系统单位阶跃响应图,比较其动态性能。

解:
①)
1(10
s 10)2()1()(d 2
++=
++=s s T s s s T s G n n d ξωω,由特征方程0)(1=+s G 得: 010102=+++s T s s d ,
010
1012=+++s s s
T d 此时可利用Matlab 编程得到根轨

Matlab 代码如下:
clc clear num=[10 0]; den=[1 1 10]; G=tf(num,den); rlocus(G);
d T d T d T
title('Td 变化的参数根轨迹'); xlabel('实轴');ylabel('虚轴');
根轨迹图如下:
②图三的闭环传递函数为:
222
)2
1(2)1()(n n n d n d s T s s T s ωωωξωφ++++=,1021
,10n ==ξω,在Td 分别取0,0.1,
0.2,0.5和1时,可以用for 语句实现 Matlab 代码如下:
clc clear wn=3.1623; zeta=0.1581; t=0:0.1:12;
Td=[0,0.1,0.2,0.5,1];
hold on;
for i=1:length(Td)
Gs=tf([Td(i)*wn^2,wn^2],[1,2*(zeta+0.5*Td(i)*wn)*wn,wn^2])
step(Gs,t)
end
hold on;
title('图三Td变化单位阶跃响应曲线');
xlabel('t/s');ylabel('c(t)');
响应图如下:
随着Td的增大,系统的峰值时间、上升时间、延迟时间、调节时间减小;超调量、振荡次数减小,系统的平稳性提高,快速性也提高了。

11。

相关主题