自动控制MATLAB实验
结果分析:在 k<53.6364 时,系统是稳定的。
(6)在 SIMULINK 中建立如图所示的数学模型,绘制其单位阶跃响应曲线,开环及闭环伯德图。
1 0.002s+1 电流环滤波
0.072 电流反馈系数 70 s 传动装置 传递函数 Scope
1 Step 0.01s+1 转速环给定平衡滤波
0.0867s+1 0.0164s
试验结果:
(3) 系统结构图如下所示,画出 nyquist 频率曲线和伯德图,判断系统的稳定性。 R(s) + _ 10 + _ G(s) C(s)
其中 G ( s )
16.7 s (0.85s 1)(0.25s 1)(0.0625s 1)
源程序:%3
k=10; G=tf([16.7,0],[conv(conv([0.85,1],[0.25,1]),[0.0625,1])]); G_a=feedback(G,-1); subplot(311) nyquist(k*G_a) subplot(312) bode(k*G_a) subplot(313) pzmap(k*G_a)
rlocus(G); grid [k,p]=rlocfind(G)
试验结果:
selected_point = -19.9052 - 0.6211i k = 9.6031 p = -107.7221 -22.1989 -20.0791
结果分析:即产生重实根时,k=9.6031.
(5)某开环系统传递函数为: Go ( s )
1. 实验的基本原理
控制系统的模拟实验是采用复合网络法来模拟各种典型环节, 即利用运算放大器和 RC 组成的不同 输入网络和反馈网络组合, 模拟出各种典型环节, 然后按照给定系统的结构图将这些模拟环节连接起来, 便得到了相应的模拟系统。然后将输入信号加到模拟系统的输入端,使系统产生动态响应。这时,可利 用计算机或示波器等测试仪器,测量系统的输出,便可观测到系统的动态响应过程,并进行性能指标的 测量。若改变系统的某一参数,还可进一步分析研究参数对系统性能的影响。
实验一 MATLAB 的基本应用
1、试验目的
熟悉 matlab 的基本知识,会利用其与控制系统有关的函数分析和设计控制系统。
2、实验内容
(1)系统模型如下所示,判断系统的稳定性,以及系统是否为最小相位系统。
G (s)
3s 3 16 s 2 41s 28 s 6 14s 5 110s 4 528s 3 1494s 2 2117 s 112
den=[0.1,0]; G=tf(num,den); grid step(G)
试验结果:
(3)微分环节令 R2 = 100K ,C1 =1μf ,C2 =0.01μf ,
源程序:%3
k=-1; num=[0.1,0]; den=[0.001,1]; G=tf(num,den); grid step(k*G)
实验结果:
timetopeak = 1.5682 percentovershoot = 99.9658 setllingtime = 6.9545
源程序:5-2 %1.2
num=[0,0,100]; den=[1,5,100]; G=tf(num,den); grid step(G) t=0:0.1:2.5; [y,t]=step(G); [Y,k]=max(y); timetopeak=t(k) C=dcgain(G); [Y,k]=max(y); percentovershoot=100*(Y-C)/C i=length(t);
Grand total is 3458 elements using 30206 bytes >> plot(tout,yout)
试验结果:单位阶跃响应
闭环伯德图: 修改原理图
[a,b,c,d]=linmod('tu6bihuan') sys=ss(a,b,c,d); >> bode(sys) >> [a,b,c,d]=linmod('tu6'); >> sys=ss(a,b,c,d); >> bode(sys) >> margin(sys)
2、实验要求
1)根据每一个原理图,写出其传递函数; 2)画出每一种典型环节的阶跃响应曲线; 3)讨论振荡环节(二阶系统):按实验给出的欠阻尼下的响应曲线,求出tp 和ts ,与理论值相比较, 讨论振荡环节性能指标与ζ,ωn 的关系。 时域性能指标测量方法: (1)最大超调量σ% :利用输出波形,读出响应最大值和稳态值所具有的刻度值。 (2)峰值时间tp :根据输出的波形最大值,找出这一点在水平方向上所具有的刻度值。 (3)调节时间 ts :读出水平方向上对应输出从零到进入 5%或 2%误差带时所占的刻度值
源程序:%1
num=[3,16,41,28]; den=[1,14,110,528,1494,2117,112]; subplot(211) nyquist(num,den) subplot(212) pzmap(num,den)
实验结果:
结果分析:由根轨迹图知,系统稳定,由零极点图知,系统是最小相位系统。
3、实验内容
(1)比例环节,其中取 R1 = 100K , R2 = 200K ,
源程序:%1
k=-2; num=[1]; den=[1]; G=tf(num,den); grid step(k*G)
试验结果:
(2)积分环节,取 R1 =100K , C= 1μf ,
源程序:%2
num=-1*[0,1];
试验结果:
(4)惯性环节取 R1 =100K R2 =200K , C = 1μf ,
源程序:%4
k=-2; num=[0,1]; den=[0.2,1]; G=tf(num,den); grid step(k*G)
试验结果:
(5)振荡环节,
源程序:5-1
%1.1 num=[0,0,100]; den=[1,0,100]; G=tf(num,den); grid step(G) t=0:0.1:2.5; [y,t]=step(G); [Y,k]=max(y); timetopeak=t(k) C=dcgain(G); [Y,k]=max(y); percentovershoot=100*(Y-C)/C i=length(t); while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1; end setllingtime=t(i)
k ( s 2) 要求绘制系统的闭环根轨迹,分析其稳定 ( s 4 s 3) 2
2
性,并绘制出当 k=55 和 k=56 时系统的闭环冲激响应。
源程序:%5
G=tf([1,2],[conv([1,4,3],[1,4,3])]); rlocus(G); grid [k,p]=rlocfind(G) k=55; Gk=feedback(k*G,1);
(2)已知某闭环系统的传递函数为: G ( s )
10 s 25 ,求其单位阶跃响应曲 0.16 s 1.96 s 2 10 s 25
3
线,单位脉冲响应曲线,以及输入信号为 r (t ) 1 t 的响应曲线。
源程序:%2
num=[10,25]; den=[0.16,1.96,10,25]; subplot(3,1,1) impulse(num,den,'r') title('Impulse Response'); subplot(3,1,2) step(num,den) title('Step Response'); t=[0:0.01:2] u=1+t; subplot(3,1,3) lsim(num,den,u,t)
while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1; end setllingtime=t(i) 试验结果:
timetopeak = 0.3212 percentovershoot = 44.4114 setllingtime = 1.4055
源程序: 5-3 %1.3
num=[0,0,100]; den=[1,10,100]; G=tf(num,den); grid step(G) t=0:0.1:2.5; [y,t]=step(G); [Y,k]=max(y); timetopeak=t(k) C=dcgain(G); [Y,k]=max(y); percentovershoot=100*(Y-C)/C i=length(t); while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1; end setllingtime=t(i)
试验结果:
结果分析:由伯德图、相角图及零极点图可知 z 不等于 0,所以系统是不稳定的。
(4)已知某单位反馈系统的开环传递函数为: G ( s )
k 要求:绘制系统的 s (0.01s 1)( 0.02 s 1)
闭环根轨迹,并确定使系统产生重实根和纯虚根的开环增益 k。
源程序:%4
G=tf(1,[conv([0.01,1],[0.02,1]),0]);
实验模型如图所示:
实验过程:
whos Name Size Bytes Class
G k n p tout yout
1x1 1x1 1x1 3x1 1000x1 1000x1
2206 8 11968 24 8000 8000
tf object double array struct array double array double array double array
试验结果: