机械控制工程基础实验指导书机械设计by Ling Zhang.docx

上传人:b****2 文档编号:1637793 上传时间:2023-05-01 格式:DOCX 页数:28 大小:387.34KB
下载 相关 举报
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第1页
第1页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第2页
第2页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第3页
第3页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第4页
第4页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第5页
第5页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第6页
第6页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第7页
第7页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第8页
第8页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第9页
第9页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第10页
第10页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第11页
第11页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第12页
第12页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第13页
第13页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第14页
第14页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第15页
第15页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第16页
第16页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第17页
第17页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第18页
第18页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第19页
第19页 / 共28页
机械控制工程基础实验指导书机械设计by Ling Zhang.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

机械控制工程基础实验指导书机械设计by Ling Zhang.docx

《机械控制工程基础实验指导书机械设计by Ling Zhang.docx》由会员分享,可在线阅读,更多相关《机械控制工程基础实验指导书机械设计by Ling Zhang.docx(28页珍藏版)》请在冰点文库上搜索。

机械控制工程基础实验指导书机械设计by Ling Zhang.docx

机械控制工程基础实验指导书机械设计byLingZhang

前实验一Matlab运算基础

 

一、实验目的

1.熟悉MATLAB的工作环境和各窗口功能;

2.熟悉基本的MATLAB环境命令操作。

二、实验基本知识

1.熟悉MATLAB环境:

MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器

文件和搜索路径浏览器。

2.掌握MATLAB常用命令

clc:

清除命令窗口中内容

clear:

清除工作空间中变量

help:

对所选函数的功能、调用格式及相关函数给出说明

3.MATLAB变量与运算符

变量命名规则如下:

(1)变量名可以由英语字母、数字和下划线组成;

(2)变量名应以英文字母开头;

(3)长度不大于31个;

(4)区分大小写。

MATLAB中设置了一些特殊的变量与常量,列于下表。

表1MATLAB的特殊变量与常量

变量名

功能说明

变量名

功能说明

ANS

默认变量名,以应答最近一次操作运算结果

realmin

最小的正实数

i或j

虚数单位

INF(inf)

无穷大

pi

圆周率

NAN(nan)

不定值(0/0)

eps

浮点数的相对误差

nargin

函数实际输入参数个数

realmax

最大的正实数

nargout

函数实际输出参数个数

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符。

表2MATLAB算术运算符

操作符

功能说明

操作符

功能说明

+

\

矩阵左除

-

.\

数组左除

*

矩阵乘

/

矩阵右除

.*

数组乘

./

数组右除

^

矩阵乘方

'

矩阵转置

.^

数组乘方

.'

数组转置

表3MATLAB关系运算符

操作符

功能说明

==

等于

~=

不等于

>

大于

<

小于

>=

大于等于

<=

小于等于

表4MATLAB逻辑运算符

逻辑运算符

逻辑运算

说明

&

And

逻辑与

|

Or

逻辑或

~

Not

逻辑非

Xor

逻辑异或

表5MATLAB特殊运算

符号

功能说明示例

符号

功能说明示例

1:

1:

4;1:

2:

11

.

分隔行

..

分隔列

()

%

注释

[]

构成向量、矩阵

调用操作系统命令

{}

构成单元数组

=

用于赋值

4.多项式运算

poly:

产生特征多项式系数向量

例如poly([12])表示特征根为1和2的特征多项式的系数向量,结果为ans=1-32

roots:

求多项式的根

例如roots([1304])求特征方程s^3+3s^2+4=0的根,结果为

ans=

-3.3553

0.1777+1.0773i

0.1777-1.0773i

p=poly2str(c,‘x’)(以习惯方式显示多项式)

例如p=poly2str([13],'x')以x为变量表示多项式,结果为p=x+3

conv,convs:

多项式乘运算

deconv:

多项式除运算

tf:

构造一个传递函数

三、实验内容

1.学习使用help命令,例如在命令窗口输入helpconv,然后根据帮助说明,学习使用指令conv(其它不会用的指令,依照此方法类推)

2.学习使用clc、clear,观察commandwindow、commandhistory和workspace等窗口的变化结果。

3.初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。

注意:

每一次M-file的修改后,都要存盘。

实验二典型线性环节的模拟

一、实验目的

1.通过实验熟悉matlab的simulink仿真环境。

2.研究分析参数变化对典型环节动态特性的影响。

二、实验原理框图

1.惯性比例环节

上图可观察输入输出两条曲线该图只能观察输出曲线

图1

注:

将图中的输入信号模块step模块更换为Ramp模块既可观察斜坡响应曲线。

2.二阶环节仿真,如图2所示:

图2

3.积分环节仿真,如图3所示:

图3

4.比例积分环节仿真,如图4所示:

图4

5.比例+微分环节仿真,如图5所示:

图5

6.比例+积分+微分环节仿真,如图6所示:

图6

三、思考题

1.惯性环节在什么情况下可近似比例环节?

而在什么情况下可近似为积分环节?

2.惯性环节与不振荡的二阶环节的阶跃响应曲线有何不同?

四、实验报告要求

完成上述各项实验内容,并记录实验遇到的问题和实验结果。

实验三二阶系统的阶跃响应

一、实验目的

1.学习二阶系统阶跃响应曲线的实验测试方法;

2.研究二阶系统的两个重要参数wn、ksi对阶跃响应指标的影响;

3.学习系统时域性能的分析方法。

二、实验内容

1.Matlab控制系统工具箱提供了两种典型输入的系统响应函数

(1)step()——单位阶跃响应函数

y=step(num,den,t)

其中:

num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可由t=0:

step:

end等步长地产生。

该函数返回值y为系统在仿真中所得输出组成的矩阵。

[y,x,t]=step(num,den)

时间向量t由系统模型特性自动生成,状态变量x返回为空矩阵。

如果对具体响应值不感兴趣,只想绘制系统的阶跃响应曲线,可以以如下格式进行函数调用:

step(num,den)

step(num,den,t)

线性系统的稳态值可以通过函数dcgain()来求得,其调用格式为:

dc=dcgain(num,den)dc=dcgain(a,b,c,d)

(2)impulse()——单位冲激响应函数

求取脉冲激励响应的调用方法与step()函数基本一致。

y=impulse(num,den,t)

[y,x,t]=impulse(num,den)

impulse(num,den)

impulse(num,den,t)

2.仿真分析应用

(1)输入信号为单位阶跃信号、单位斜坡信号、单位加速度信号时的响应

a.系统的闭环传递函数为:

,分析其单位阶跃响应曲线。

程序代码如下:

clear;

num=[1];

den=[1,0.4,1];

t=[0:

0.1:

10];

G=tf(num,den)%系统传递函数

y=step(G,t);%单位阶跃响应

plot(t,y);

grid;

xlabel('Time[sec]t');

ylabel('y');

结果

G=

1

---------------

s^2+0.4s+1

Continuous-timetransferfunction.

其单位阶跃响应曲线如图1所示。

 

图1单位阶跃响应曲线

b.系统的闭环传递函数为:

,分析其单位斜坡响应曲线。

程序代码如下:

clear;

num=[1];

den=[1,0.3,1];

t=[0:

0.1:

10];

u=t;%单位斜坡输入

G=tf(num,den)%系统传递函数

y=lsim(G,u,t);%单位斜坡响应

plot(t,y);

grid;

xlabel('Time[sec]t');

ylabel('y');

其单位斜坡响应曲线如图2所示。

 

图2单位斜坡响应曲线

c.系统的闭环传递函数为:

,分析其单位加速度斜坡响应曲线。

程序代码如下:

clear;

num=[1];

den=[1,0.3,1];

t=[0:

0.1:

10];

u=1/2.*t.*t;%单位加速度输入

G=tf(num,den)%系统传递函数

y=lsim(G,u,t);%单位加速度响应

plot(t,y);

grid;

xlabel('Time[sec]t');

ylabel('y');

其单位加速度斜坡响应曲线如图3所示。

 

图3单位加速度斜坡响应曲线

d.单位负反馈的开环传递函数为

,系统输入单位斜坡信号时的响应曲线及其输入输出信号对比。

代码如下:

clear;

numg=[1,2];

deng=[1,10,1];

sys=tf(numg,deng)%单位负反馈系统的开环传递函数

G=feedback(sys,1)%系统传递函数

v1=[0:

0.1:

1];

v2=[0.9:

-0.1:

-1];

v3=[-0.9:

0.1:

0];

t=[0:

0.1:

4];

u=[v1,v2,v3];%输入信号

y=lsim(G,u,t);%输出信号

plot(t,y,t,u);

xlabel('Time[sec]t');

ylabel('theta[rad]');

grid;

结果如图4所示。

 

图4输入输出信号曲线

(2)时域响应分析

a.典型二阶系统的开环传函为

,单位负反馈,

,绘制

取0,0.2,0.4,0.6,0.9,1.2,1.5时闭环系统的单位阶跃响应。

代码如下:

clear;

wn=1;%无阻尼自然频率

sigma=[0,0.2,0.4,0.6,0.9,1.2,1.5];%阻尼比,不同取值

num=wn*wn;

t=linspace(0,20,200);

forj=1:

7

den=conv([1,0],[1,2*wn*sigma(j)]);

sys=tf(num,den)%单位负反馈系统的开环传递函数

G=feedback(sys,1)%系统传递函数

y(:

j)=step(G,t);%单位阶跃响应

step(G,t);

end

plot(t,y(:

1:

7));

grid;

gtext('sigma=0');

gtext('sigma=0.2');

gtext('sigma=0.4');

gtext('sigma=0.6');

gtext('sigma=0.9');

gtext('sigma=1.2');

gtext('sigma=1.5');

结果如图5所示

图5不同阻尼比时的单位阶跃响应曲线

对一般的二阶系统,形式变化后可用

表示,其中K为回路增益,通常可调,T为时间常数,由受控对象特性决定,一般不可调。

分析K和T对系统单位阶跃响应的影响

b.系统开环传递函数

,其中

,绘制K取0.1,0.2,0.5,0.6,0.8,1.0,2.4时闭环系统的单位阶跃响应。

代码如下:

clear;

T=1;

K=[0.1,0.2,0.5,0.8,1.0,2.4];

t=linspace(0,20,200);

num=1;

den=conv([1,0],[T,1]);

forj=1:

6

sys=tf(num*K(j),den);%单位负反馈系统的开环传递函数

G=feedback(sys,1);%系统传递函数

y(:

j)=step(G,t);%单位阶跃响应

end

plot(t,y(:

1:

6));

grid;

gtext('K=0.1');

gtext('K=0.2');

gtext('K=0.5');

gtext('K=0.8');

gtext('K=1.0');

gtext('K=2.4');

 

图6不同回路增益时的单位阶跃响应曲线

c.高阶系统分析——主导极点构成的系统与原系统的单位阶跃响应

已知高阶系统的传递函数为

,考虑主导极点及偶极子后系统近似的传递函数为

K=147.3;

t=0:

0.1:

10;

num0=K*[1,1.5];

den00=[1,2,5];

den01=[1,10,26];

den02=[1,1.7];

G0=tf(num0,conv(den00,conv(den01,den02)));%高阶系统的传递函数

y0=step(G0,t);%单位阶跃响应

num1=5;

G1=tf(num1,den00);%考虑主导极点及偶极子后系统近似的传递函数

y1=step(G1,t);%单位阶跃响应

plot(t,y0,'b',t,y1,'g');

grid;

gtext('originalsystemresponse');

gtext('predominatepolesmodifiedsystemresponse');

三、思考与实验报告要求

1.思考:

二阶系统结构参数ksi、wn对其单位阶跃响应的性能有何影响。

2.线性系统稳定性分析。

3.记录实验结果及实验中遇到的问题。

实验四控制系统的根轨迹分析法

一、实验目的

根轨迹法根据用于研究系统结构参数(如开环增益)改变对系统闭环极点分布的影响,从而进行系统性能分析。

根轨迹分布:

左右分布决定终值(稳定性),虚实分布决定振型,远近决定响应快慢。

通过实验熟悉matlab中与根轨迹分析相关的函数,借助这些函数对控制系统进行根轨迹分析,观察系统的零极点分布,根据根轨迹判断系统的稳定性,寻找特定闭环极点。

二、实验内容

1.常用Matlab控制系统工具箱提供的根轨迹分析函数

(1)pzmap()——绘制零极点函数

①调用格式:

pzmap(sys)

pzmap(sys1,sys2,………)

[p,z]=pzmap(sys)

②使用说明:

pzmap(sys)函数可绘制线性定常系统的零极点图,对于SISO系统而言就是绘制传递函数的零极点。

pzmap(sys1,sys2,……….)函数可在同一复平面绘制不同系统的零极点图,为区别起见可用不同颜色表示,如pzmap(sys1,’r’,sys2,’b’………)。

[p,z]=pzmap(sys),返回零极点数据,不绘制零极点图。

(2)绘制根轨迹的函数rlocus()

①调用格式

rlocus(sys)

rlocus(sys,k)

rlocus(sys1,sys2,………)

[r,k]=rlocus(sys)或r=rlocus(sys,k)

②使用说明

rlocus计算并绘制SISO系统的根轨迹。

适用于连续时间系统和离散时间系统。

rlocus(sys,k)绘制增益为k时的闭环极点。

rlocus(sys1,sys2,………)在同一个复平面中画出多个SISO系统的根轨迹,为区分系统的根轨迹也可以用不同颜色来区别,如:

rlocus(sys1,’r’,sys2,’b:

’,sys3,’gx’)。

[r,k]=rlocus(sys)或r=rlocus(sys,k)返回增益为k时复根位置的矩阵R,R有length(k)行,其第j行列出的是增益K(j)时的闭环根。

(3)计算给定一组根的根轨迹增益的函数rlocfind()

①调用格式

[k,poles]=rlocfind(sys)

[k,poles]=rlocfind(sys,p)

②使用说明

rlocfind()函数可计算出与根轨迹上极点对应的根轨迹增益。

适用于连续时间系统和离散时间系统。

[k,poles]=rlocfind(sys)执行后,在根轨迹图形窗口显示十字形光标,当用户在根轨迹上选择一点时,其相应的增益由k记录,与增益相关的所有极点记录于poles中。

[k,poles]=rlocfind(sys,p)函数可对指定根计算对应的增益与根矢量。

(4)在连续系统根轨迹图上加等阻尼线和等自然振荡线的函数sgrid

①调用格式

sgrid

sgrid(z,wn)

②使用说明

sgrid()函数命令可在连续系统的根轨迹或零极点图上绘制出栅格线,栅格线由等阻尼系数与自然振荡角频率构成。

阻尼线间隔为0.1,范围从0到1,自然振荡角频率的间隔为1rad/s,范围从1到10。

绘制栅格线之前,当前窗口必须有连续时间系统的根轨迹或零极点图,或者该函数必须与函数pzmap()或rlocus()一起使用。

sgrid(z,wn)函数可以指定阻尼系数z与自然振荡角频率wn。

2.仿真分析应用(一般根轨迹程序仿真)

(1)系统的传递函数为

,作出零极点图。

程序如下:

num=[2.515];

den=conv([1,2,3],[1,5]);

sys=tf(num,den);%绘制零极点图

pzmap(sys);%输出零极点

[p,z]=pzmap(sys);

title('零极点图');

结果如图1所示。

 

图1零极点图

(2)单位负反馈系统的开环传递函数为

,绘制闭环根轨迹。

程序代码如下:

num=[1];

den=conv([1,1],conv([0.5,1],[4,1]));

sys=tf(num,den);

%绘制根轨迹图

rlocus(sys);

[p,z]=pzmap(sys);

title('根轨迹图');

结果如图2所示。

 

图2闭环根轨迹

(3)已知某单位负反馈系统开环传递函数为

,绘制闭环根轨迹并在根轨迹上任选一点计算该点增益K机所有极点的位置。

代码如下:

num=[1,5];

den=conv([1,1],conv([1,3],[1,12]));

sys=tf(num,den);

%绘制根轨迹图

rlocus(sys);

[k,poles]=rlocfind(sys);

%计算用户所选定点处的增益和其他闭环极点

title('根轨迹图');

结果如图3所示。

 

图3闭环根轨迹

(4)系统的闭环传递函数为

,做出系统带栅格线的根轨迹图。

程序代码如下:

num=[2,5,1];

den=[1,2,3];

sys=tf(num,den)

%绘制根轨迹图

rlocus(sys)

%添加栅格线

sgrid

title('带栅格线的根轨迹图')

结果如图4所示。

 

图4带栅格线的根轨迹图

三、思考与实验报告要求

1、如何在matlab中寻找特定的阻尼比下K值和全部闭环特征根。

2、设定一高阶不稳定系统,分析如何让系统稳定并画出稳定系统的根轨迹。

3、记录实验中遇到的问题。

实验五控制系统的频域分析法

一、实验目的

1.学习matlab中与频域分析相关的函数的应用。

2.根据绘制的频率特性分析系统性能。

二、实验内容

1.Matlab控制系统工具箱提供的频域法分析函数

(1)nyquist()——极坐标图

①调用格式:

nyquist(num,den)

②使用说明:

nyquist(num,den)绘制以连续时间多项式传递函数表示的系统极坐标图。

当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(w从负无穷到正无穷)。

当代输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re、虚部im以及角频率点w矢量(为正部分);可用plot(re,im)绘制出w从负无穷到零变化对应部分。

(2)Bode()——对数坐标图

①调用格式:

bode(num,den)bode(num,den,w)

②使用说明:

bode(num,den)绘制以连续时间多项式传递函数表示的系统极bode图。

当代输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统bode图相应的mga、相角pha与角频率点w矢量,或只是返回幅值与相角。

相角以度为单位,幅值可转换为分贝单位:

mag(dB)=20log10(mag)。

2.仿真分析应用

(1)绘制Nyquist图

已知一个典型的一阶环节传递函数为

仿真程序如下:

clear;

num=5;

den=[3,1];

G=tf(num,den);

nyquist(G)

grid;

结果如图1所示。

 

图1Nyquist图

(2)绘制bode图

已知一个典型的二阶环节传递函数为

,绘制自然频率为0.7、不同阻尼比时的bode图。

程序代码如下:

w=[0,logspace(-2,2,200)];

wn=0.7;

tou=[0.1,0.4,1.0,1.6,2.0];

forj=1:

5

sys=tf([wn*wn],[12*tou(j)*wn,wn*wn]);

bode(sys,w);

holdon;

end

gtext('tou=0.1');

gtext('tou=0.4');

gtext('tou=1.0');

gtext('tou=1.6');

gtext('tou=2.0');

结果如图2所示。

图2不同阻尼比时的bode图

已知二阶系统的传递函数为

,matlab绘制bode图,并从图中直接得出谐振峰值和谐振频率。

代码如下:

num=[3.6];

den=[1,3,5];

G=tf(num,den);

bode(G);

在bode图上右键菜单选择“peakResponse”菜单项。

出现一个原点即谐振频率处,如图3所示。

 

图3bode图

(3)稳定性分析

已知一高阶系统的传递函数为

,计算系统的相角稳定裕度和幅值稳定裕度,绘制bode图。

代码如下:

num=5*[0.0167,1];

den=conv(conv([1,0],[0.03,1]),conv([0.0025,1],[0.001,1]));

G=tf(num,den);

w=logspace(0,4,50);

bode(G,w);

grid;

[Gm,Pm,Wcg,Wcp]=margin(G);

程序执行结果:

Gm=455.2548Pm=85.2751

Wcg=602.4232Wcp=4.9620

结果如图4所示。

图4bode图

已知一高阶系统的传递函数为:

,计算当开环增益K=5,500,800,3000时系统稳定裕度的变化。

程序代码如下:

K=[5,500,800,3000];

forj=1:

4

num=K(j)*[0.0167,1];

den=conv(conv([1,0],[0.03,1]),conv([0.0025,1],[0.001,1]));

G=tf(num,den);

y(j)=allmargin(G);

end

y

(1)

y

(2)

y(3)

y(4)

ans=GMFrequency:

602.4232

GainMargin:

4.5525

PMFrequency:

237.7216

PhaseMargin:

39.7483

DMFrequency:

237.7216

DelayMargin:

0.0029

Stable:

1

ans=GMFrequency:

602.4232

GainMargin:

2.8453

PMFrequency:

329.9063

PhaseMargin:

27.7092

DMFrequency:

329.9063

DelayMargin:

0.001

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2