《自动控制原理(机械)》实验指导书
实验二 控制系统的时域分析(实验代码2)
一、实验目的和任务
1、 掌握用MATLAB对系统进行时间响应分析;
2、 掌握一阶惯性系统以及二阶系统的时间响应特征以及系统性能与系统参数之间的关系。
二、实验仪器、设备及材料
1、 计算机 2、 MATLAB软件
三、实验原理
1、 利用计算机对控制系统进行时域分析。
2、 使用MATLAB软件在计算机上对一、二阶系统进行时域分析。 四、实验步骤
准备知识:
设输入x(t),为输出为y(t),仿真时间段为矩阵t。 系统的传递函数用特征矩阵表示为:G(s)?num den利用MATLAB求取系统时间响应的函数有: 求取单位阶跃响应:[y,x,t]?step(num,den,t) 求取单位脉冲响应:[y,x,t]?impulse(num,den,t)
求取任意输入的时间响应:[y,x,t]?lsim(num,den,u,t) (注:u表示输入列向量)
1. 使用MATLAB求一阶惯性系统的单位阶跃响应曲线。系统传递函数如下:
G(s)?10
0.5s?1在命令窗口依次运行下面命令,并记录各命令运行后结果 >>t=[0:.5:5]; >>y=1-exp(-2*t); >>plot(t,y,`r`); >>axis[0 5 0 1.1];
>>set(gca,`ytick`,0:.1:1.1); >>title(`y(t)=1-exp(-2t)`); >>xlabel(`t`); >>ylabel(`y(t)`); >>grid
若系统传递函数为:
G(s)?10 s?1 5
《自动控制原理(机械)》实验指导书
自行编制在命令窗口运行命令,求其单位阶跃响应,并与上面的结果进行比较,把结论写入实验报告。
2.使用MATLAB求二阶系统的单位阶跃响应曲线。系统传递函数如下:
2?nG(s)?22s?2??ns??n(其中:?n?0.4 ?从0变化到2)
在命令窗口如下运行命令,,并记录各命令运行后结果。
>>syms s
for zeta=[0:0.2:0.8,1:0.5:2] wn=0.4;
wn=sym(num2str(wn)); zet=sym(num2str(zeta)); if zeta==0
figure(1)
ezplot(ilaplace(wn^2/s/s^2+wn^2)),[0 80]); grid on
title(`\\xi=0`) elseif zeta==1 figure(2)
ezplot(ilaplace(wn^2/s/(s+wn)^2),[0 80]); hold on; else figure(2)
ezplot(ilaplace(wn^2/s/(s^2+2*zet*wn+wn^2)),[0 80]); hold on; end end end grid on;
title(`\\xi:0.2,0.4,0.6,0.8,1.0,1.5,2.0`) axis([0 80 0 1.8]) gtext(`0.4`) gtext(`1.0`) gtext(`2.0`)
比较不同?值系统的响应曲线,有何结论?
五、实验报告要求
1、 将各实验内容的要求写入实验报告。 2、 将实验程序写入实验报告。 3、 记录各命令运行后的结果 4、 对运行的结果给出比较。
5、 实验报告应手工填写。
6
《自动控制原理(机械)》实验指导书
六、实验注意事项
1、 应做好MATLAB预习
2、 应注意记录下每一命令和运行后的结果,并写入实验报告中。
3、 对实验数据给出比较结论。
七、思考题
1、 一阶系统的时间常数T对系统价跃响应的影响。 2、 二阶系统阻尼比对系统价跃响应的影响。
7
《自动控制原理(机械)》实验指导书
实验三 控制系统的频域分析(实验代码3)
一、实验目的和任务
1、 利用MATLAB画一阶和二阶控制系统的伯德图 2、 利用MATLAB计算所给系统的相角裕量和幅值裕量
二、实验仪器、设备及材料
0、 计算机 1、 MATLAB软件
三、实验原理
0、 利用计算机对控制系统进行频域分析。 1、 使用MATLAB软件在计算机对系统进行频域分析。
四、实验步骤
准备知识:
系统的传递函数用特征矩阵表示为:G(s)?num denBode( )函数: bode(num,den,w);?为频率向量, ?=logspace(a,b,n),得到10a到10b之间的将(b-a)进行(n-1)等分后的n个?的值。
相位裕度、幅值裕度的求取:[Gm,Pm,Wcg,Wcp]=margin(mag,phase,w);其中mag为系统的幅频特性,phase为系统的相频特性,Gm为幅值裕度,Pm为相位裕度,Wcg为相位穿越频率(相位=-1800),Wcp为幅值穿越频率(剪切频率)。
1、
使用MATLAB画一阶惯性系统的伯德图。 传递函数如下:
1G(s)?
4s?1使用MATLAB画二阶系统的伯德图。 传递函数如下:
2?nG(s)?22 s?2??ns??n2、
C(s)
其中:?n?0.8 ??0.1,0.5,1,1.5,2
3、 使用MATLAB画如下系统的伯德图并计算出系统的相角裕量和幅值裕量。
系统传递函数如下:
G(s)?500(0.0167s?1
s(0.05s?1)(0.0025s?1)(0.001s?1)MATLAB参考程序如下:
1、 画一阶系统伯德图的参考程序:
8
《自动控制原理(机械)》实验指导书
>>num=1; den=[4 1]; g=tf(num,den); bode(G,`r`)
2、 画二阶系统伯德图的参考程序:
>>w=[0,logspace(-2,2,200)]; wn=0.8;
for zeta=[0.1 0.5 1 1.5 2];
G=tf([wn*wn],[wn∧2 2*zeta*wn wn*wn]); bode(G,w); hold on;
end
3、 画高阶系统伯德图和计算相角裕量和幅值裕量的参考程序:
画伯德图参考程序: num=500*[0.0167 1]; den1=conv([1 0],[0.05 1]);
den2=conv([0.0025 1],[0.001 1]); den=conv(den1,den2); Go=tf(num,den); w=logspace(0,4,50); bode(Go,w)
确定系统相角裕量和幅值裕量参考程序: >>margin(Go)
[Gm,Pm,Wcg,Wcp]=margin(Go)
五、实验报告要求
0、 将各实验内容的要求写入实验报告。 1、 将实验程序写入实验报告。 2、 记录各命令运行后的结果。 3、 对运行的结果给出给出结论。
4、 实验报告应手工填写。
六、实验注意事项
1、 应做好MATLAB预习
2、 应注意记录下每一命令和运行后的结果,并写入实验报告中。
3、 对实验数据给出结论。
七、思考题
1、 伯德图的横坐标是按什么刻度分度的? 2、 二阶系统阻尼比不同时对伯德图的影响。 3、 由相角裕量和幅值裕量判断所给系统是否稳定?
9