控制工程实验报告经典控制部分 南理工
成绩:
《控制工程基础》课程实验报告
班级:11102002
学号:1110200208
姓名:汤国苑
南京理工大学
2013年12月
《控制工程基础》课程仿真实验
一、 已知某单位负反馈系统的开环传递函数如下 (25分)
2
10
()525
G s s s =
++ 借助MATLAB 和Simulink 完成以下要求:
(1) 把G(s)转换成零极点形式的传递函数,判断开环系统稳定性。
MATLAB 程序: clear; num=[10]; den=[1 5 25]; sys=tf(num,den); [Z,P,K]=tf2zp(num,den)
零极点形式的传递函数: )
43301.05.2)(4401.45.2(10
)(j s j s s G ++-+=
由于极点均在左半平面,所以开环系统稳定。
(2) 计算闭环特征根并判别系统的稳定性,并求出闭环系统在0~10秒内的
脉冲响应和单位阶跃响应,分别绘出响应曲线。
闭环传递函数 35510
)(2++=s s s T
特征方程355)(2++=s s s q 特征根 211551j s +-=
2
115
52j s --= 由于根在左半平面,所以系统稳定。 用simulink 仿真: 脉冲响应:
结果:
012345678910 -0.04
-0.02
0.02
0.04
0.06
0.08
0.1
仿真时间(s)
幅
值
阶跃响应:
结果:
123
45678910
0.050.10.150.20.250.30.350.4仿真时间(s )
幅值
(3) 当系统输入()sin5r t t 时,运用Simulink 搭建系统并仿真,用示波器观
察系统的输出,绘出响应曲线。
曲线:
二、 (25分)某单位负反馈系统的开环传递函数为:
32432
626620
()3422
s s s G s s s s s +++=++++ 频率范围[0.1,100]ω∈ (1) 绘制频率响应曲线,包括Bode 图和幅相曲线(Nyquist 图)。
Matlab 语句: clear;
num=[6 26 6 20]; den=[1 3 4 2 2]; sys=tf(num,den); bode(sys,{0.1,100}) Bode 图:
Matlab语句:
clear;
num=[6 26 6 20];
den=[1 3 4 2 2];
sys=tf(num,den);
[z , p , k] = tf2zp(num, den) nyquist(sys)
Nyquist图:
(2)根据Nyquist判据判定系统的稳定性。
P=0 N=0 Z=P+N=0 所以系统稳定
以及幅值裕度与相位裕度。(3)根据Bode图求出系统的截止频率
c
Matlab语句:
clear;
num=[6 26 6 20];
den=[1 3 4 2 2];
sys=tf(num,den)
margin(sys)
图形:
-
30
-20-1001020
30M a g n i t u d e (d B )10
-210
-1
10
10
1
10
2
-180
-135-90
-450P h a s e (d e g )
B ode D i agr am
G m = I nf , P m = 82.8 deg (at 6.87 r ad/s)
Fr equency (r ad/s)
由图可得截止频率 =6.87rad/s ,幅值裕度无穷大,相位裕度为82.8deg
三、 (25分)某单位负反馈系统如下图所示,
(1) 当比例控制器增益K =1时,在Simulink 中搭建系统,当输入为阶跃函
数时,用示波器观察系统的输出,绘出响应曲线,并求出系统在阶跃输入下的超调量(% )和峰值时间(p t )。 Simulink 仿真:
结果:
123
45678910
00.10.20.30.4
0.5
0.6
0.7
仿真时间(s )
幅值
求超调量和峰值时间: 程序如下: num=[10]; den=[1 5 10];
[num2,den2]=cloop(num,den,-1) sys2=tf(num2,den2); [y,t,x]=step(sys2) mp=max(y); tp=spline(y,t,mp) cs=length(t);
yss=y(cs) ct=(mp-yss)/yss 结果:
系统阶跃响应的超调量 为11.84%。 系统的峰值时间tp 为0.8393s
(2) 绘制当0K =→∞变化时,闭环系统的根轨迹。
Matlab 语句: clear; num=[10]; den=[1 5 10]; sys=tf(num,den); [r,K]=rlocus(sys) rlocus(sys) 根轨迹图:
(3) 根据以上根轨迹,为使闭环系统在阶跃输入下超调量%30%<σ且稳态
误差2.0 κ1 e += ss 可知,要使ess<0.2,则K>4。 而由下图可知,当K=3.92时, %σ=30.2% >30% 且σ随K 增大而增大,所以不存在符合的K 值。 四、 (25分)若某单位反馈控制系统的开环传递函数为 ()(1)(0.51) K G s s s s = ++ (1) 借助MATLAB 和控制工具箱设计串联滞后校正网络,使校正后系统的 静态速度误差系数3v K =,且相角裕度不低于045。 由题意得K=3,取相角裕度为50,利用matlab 画出bode 图 Matlab 程序: clear; num=[3]; den=[0.5 1.5 1 0]; sys=tf(num,den); margin(sys) Bode 图: 由上图得20log α=14.5→α=5.309 , z=0.1*0.491=0.0491 , p=z/α=0.00924 矫正后开环传递函数为1) 0.00924 s 1)(1)(0.5s s(s 1)0.0491s 3( ++++=)(s G 验证此时的相位裕度和幅值裕度。 Matlab 程序如下: num=[3]; den=[0.5 1.5 1 0]; [num2,den2]=series(num,den,[20.367 1],[108.225 1]); G1=tf(num,den); G2=tf(num2,den2); figure(2); margin(G1); grid on hold on margin(G2); grid on hold on [Gm1,Pm1,Wcg1,Wcp1]=margin(G1) [Gm2,Pm2,Wcg2,Wcp2]=margin(G2) 结果如下: 此时相角裕度为45度,符合要求。 (2)绘制系统在校正前后的单位阶跃响应曲线,计算校正前后的时域性能指标t t t 等)并进行对比分析。 (,,,% r p s 校正前的单位阶跃响应: Matlab程序如下: num=[3]; den=[0.5 1.5 1 0]; G1=tf(num,den); step(feedback(G1,1),10) grid on 结果如下: 可见峰值时间t p为2.53s,由于响应不稳定所以无超调量和调节时间 校正后: Matlab程序如下: num=[3]; den=[0.5 1.5 1 0]; [num2,den2]=series(num,den,[20.367 1],[108.225 1]); G2=tf(num2,den2); step(feedback(G2,1)) grid on 结果如下: p r 间t s为27.5s。 由此可看出,采用串联滞后网络校正系统后截止频率变小,单位阶跃响应的峰值时间增大,并且响应变为稳定。 实验总结: 通过matlab仿真实验,我对于经典控制理论这门课有了更深刻的认识与体悟。学会了如何利用matlab工具设计开环与闭环系统,如何画出它们的Bode图和在各种输入量下的响应曲线,如何设计串联超前和滞后网络来满足系统传递函数需要达到的要求。同时我也体会到了matlab强大的运算能力。此次实验,提高了我独立分析和解决实际问题的能力,让我受益匪浅。