资源描述
机械控制工程实验
实验指导书
机电技术实验室
学号:2014010049 姓名:潘礼延 班级:机械1402
日期: 2016年10月8日
实验一 系统时域响应分析
一、 实验目的
本实验的主要目的是通过试验,能够使学生进一步理解和掌握系统时间响应分析的相关知识,同时也了解频率响应的特点及系统稳定性的充要条件。
二、 实验要求
学习有关MATLAB的相关内容,要求学生用MATLAB软件的相应功能,编程实现一阶、二阶和三阶系统在几种典型输入信号(包括单位脉冲信号、单位阶跃信号、单位斜坡信号和正弦信号)作用下的响应,记录结果并进行分析处理:对一阶和二阶系统,要求用试验结果来分析系统特征参数对系统时间响应的影响;对二阶系统和三阶系统的相同输入信号对应的响应进行比较,得出结论。
1.系统的传递函数及其MATLAB表达
(1)一阶系统
传递函数为:
传递函数的MATLAB表达:num=[k];den=[T,1];G(s)=tf(num,den)
(2)二阶系统
传递函数为:
传递函数的MATLAB表达:num=[wn^2];den=[1,wn,wn^2];G(s)=tf(num,den)
2.各种时间输入信号响应的表达
(1)单位脉冲信号响应:impulse(sys,t)
(2)单位阶跃信号响应:step(sys,t)
(3)任意输入信号响应:lsim(sys,u,t)
其中sys为建立的模型;t为仿真时间区段(可选)
三、 实验内容
1. 读懂以下代码,编写一阶系统单位阶跃响应曲线。
clear all;
t=0:0。01:7; %系统时间
nG=1; %传函分子系数
tao=1;dG=[tao 1]; %传函分母系数
G=tf(nG,dG) %建立传递函数
impulse(G,t); %绘制阶跃输入的曲线
xlabel(’时间');ylabel('幅值'); %给XY轴命名
grid on; %打开网格
title('一阶系统单位脉冲的响应曲线’);%给所绘图像定义标题
2. 读懂以下代码,编写二阶系统单位阶跃响应曲线。
clear all;
t=[0:0。01:4];
wn=7;kc=0。2; %定义二阶系统参数
nG=[wn^2];
dG=[1 2*kc*wn wn^2];
G=tf(nG,dG)
impulse(G,t);
xlabel('时间’);ylabel('幅值’);
grid on;
title(’二阶系统单位脉冲响应曲线’);
3. 读懂以下代码,编写二阶系统加速度信号的响应曲线。
clear all;
t=0:0.01:10;
wn=7;kc=0。7;
u=sin(0。5*pi*t);
nG=wn^2;
dG=[1 2*kc*wn wn^2];
G=tf(nG,dG)
lsim(G,u,t);
xlabel(’时间');ylabel(’幅值');
grid on;
title('二阶系统正弦响应及响应曲线’);
4. 读懂以下代码,编写二阶系统不同参数阶跃响应曲线(欠阻尼,临界阻尼,过阻尼).
clear all;
t=[0:0。001:7];
wn=7;
nG=[wn^2];
kc=0.2;dG1=[1 2*kc*wn wn^2];G1=tf(nG,dG1)
kc=0.5;dG2=[1 2*kc*wn wn^2];G2=tf(nG,dG2)
kc=0.8;dG3=[1 2*kc*wn wn^2];G3=tf(nG,dG3)
[y1,T]=step(G1,t);
[y2,T]=step(G2,t);
[y3,T]=step(G3,t);
plot(T,y1,’-—’,T,y2,’-.',T,y3,'-');
legend(’kc=0。2','kc=0.5',’kc=0。8');
xlabel(’时间');ylabel('幅值');grid on;
title('二阶系统单位阶跃响应曲线(不同欠阻尼);
5. 运行一下代码,判断所得各数值的含义。
clear all;
t=0:0。001:4;
yss=1;dta=0。02;
wn=7;
nG=[wn^2];
kc=0。2;dG1=[1 2*kc*wn wn^2];G1=tf(nG,dG1);
kc=0.5;dG2=[1 2*kc*wn wn^2];G2=tf(nG,dG2);
kc=0.8;dG3=[1 2*kc*wn wn^2];G3=tf(nG,dG3);
y1=step(G1,t);y2=step(G2,t);y3=step(G3,t);
% kc=0。2
%求上升时间tr
r=1;while y1(r)<yss;r=r+1;end
tr1=(r—1)*0.001;
%求峰值ymax和峰值时间tp
[ymax,tp]=max(y1);
tp1=(tp-1)*0.001;
%求超调量mp
mp1=(ymax-yss)/yss;
%求调整时间ts
s=4001;while y1(s)>1—dta & y1(s)〈1+dta;s=s-1;end
ts1=(s-1)*0。001;
% kc=0.5;
r=1;while y2(r)<yss;r=r+1;end
tr2=(r-1)*0。001;
[ymax,tp]=max(y2);
tp2=(tp—1)*0。001;
mp2=(ymax—yss)/yss;
s=4001;while y2(s)>1—dta &y3(s)<1+dta;s=s-1;end
ts2=(s—1)*0。001;
% kc=0.8;
r=1;while y3(r)<yss;r=r+1;end
tr3=(r—1)*0。001;
[ymax,tp]=max(y3);
tp3=(tp—1)*0。001;
mp3=(ymax—yss)/yss;
s=4001;while y3(s)>1-dta & y3(s)<1+dta;s=s-1;end
ts3=(s-1)*0。001;
%输出数据
[tr1 tp1 mp1 ts1;tr2 tp2 mp2 ts2;tr3 tp3 mp3 ts3]
实验二 系统频域响应分析
一、 实验目的
本试验的内容对应于教材的频率特性分析和系统稳定性分析相应章节的重点知识点,要求学生在熟练掌握课程相关内容的基础上,完成本实验,以加强学生对频率特性分析、几何判据及相对稳定性的学习效果。
二、 实验要求
系统频率特性分析试验要求学生运用MATLAB软件的相关功能,编程实现几种典型环节(要求改变环节的特征参数)的奈奎斯特图和波德图的绘制;用Bode函数求取系统的频域特征量;用Matlab求取一高阶系统的特征根并由此来判断系统的稳定性和求取该系统的相对稳定性。
(1)学生能够运用Matlab软件的相应功能,编程实现典型环节以及指定系统的Nyquist图、Bode图的计算机自动绘制;
(2)完成系统的频域性能指标求取;
(3)分析系统的相对稳定性等内容;
记录实验结果,并对实验结果进行相应的分析。
三、 实验内容
1. 分析借鉴以下两段代码,分别编写程序绘制一阶微分,惯性和二阶震荡环节乃氏图和波德图.
程序一:
clear all;
num=1;den=[1,0]; G=tf(num,den)
[re,im]=nyquist(num,den);
subplot(121);plot(re,im);
grid on;title('积分环节奈奎斯图’)
subplot(122),w=logspace(—2,3,100);
bode(num,den,w);
grid on;title('积分环节波德图')
程序二:
clear all;
num=[1,0];den=1; G=tf(num,den)
[re,im]=nyquist(num,den);
subplot(121);plot(re,im);
grid on;title(’积分环节奈奎斯特图’)
subplot(122);w=logspace(-2,3,100);
bode(num,den,w);
grid on;title('积分环节伯德图’)
2. 编程求取系统的频域性能指标M、Wb、Mr、Wr。
3. 运行以下程序,分析这两个系统的幅值裕量和相角裕量的正负,判断系统稳定性。
clear all;
den=conv([1 5],[1 1 0]);
K=10;num1=K;[mag1,phase1,w1]=bode(num1,den);
[Gm1 Pm1 Wg1 Wc1]=margin(mag1,phase1,w1);
K=100;num2=K;[mag2,phase2,w2]=bode(num2,den);
[Gm2 Pm2 Wg2 Wc2]=margin(mag2,phase2,w2);
[20*log10(Gm1) Pm1 Wg1 Wc1;20*log10(Gm2) Pm2 Wg2 Wc2]
subplot(121);margin(num1,den),grid on;title('K=1系统波德图’)
subplot(122);margin(num2,den),grid on;title(’K=2系统波德图’)
- 6 -
展开阅读全文