控制工程实验指导书.docx
- 文档编号:6404757
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:21
- 大小:274KB
控制工程实验指导书.docx
《控制工程实验指导书.docx》由会员分享,可在线阅读,更多相关《控制工程实验指导书.docx(21页珍藏版)》请在冰豆网上搜索。
控制工程实验指导书
《控制工程基础》实验指导书
常熟理工学院机械工程系
目录
1.MATLAB时域分析实验………………………………………………………2
2.MATLAB频域分析实验………………………………………………………4
3.Matlab校正环节仿真实验…………………………………………………8
4.附录:
Matlab基础知识……………………………………………………14
实验1MATLAB时域分析实验
一、实验目的
1.利用MATLAB进行时域分析。
要求:
(1)计算连续系统的时域响应(单位脉冲输入,单位阶跃输入,任意输入)。
(2)根据系统的极点分析系统的稳定性。
2.掌握Matlab系统分析函数impulse、step、lsim、roots、pzmap的应用。
二、实验内容
1.已知某高阶系统的传递函数为
,试求该系统的单位脉冲响应、单位阶跃响应、单位速度响应和单位加速度响应。
MATLAB计算程序
num=[22050];
den=[11584223309240100];
t=(0:
0.1:
20);
figure
(1);
impulse(num,den,t);%ImpulseResponse
figure
(2);
step(num,den,t);%StepResponse
figure(3);
u1=(t);%Ramp.Input
holdon;
plot(t,u1);
lsim(num,den,u1,t);%Ramp.Response
gtext(‘t’);
igure(4);
u2=(t*t/2);%Acce.Input
holdon;
plot(t,u2);
lsim(num,den,u2,t);%Acce.Response
gtext(‘t*t/2’);
2.已知某高阶系统的传递函数为
,试求该系统的极点并判断系统的稳定性。
MATLAB计算程序
den=[123456789];
roots(den)
3.已知某高阶系统的传递函数为
,试求该系统的零极点并判断系统的稳定性。
MATLAB计算程序
num=[3.12*10^56.25*10^6];
den=[11.0*10^28.0*10^34.4*10^56.24*10^6];
[p,z]=pzmap(num,den);
pzmap(num,den);
title(‘Pole-ZeroMap’);
holdon;
实验2 MATLAB频域分析实验
一、实验目的
1、加深理解频率特性的概念,了解一般系统的的Nyquist图和Bode图的特点和绘制。
2、学习采用MATLAB绘制和分析系统频率特性图
二、实验要求
1、分析开环系统的频率特性,并用MATLAB绘制其开环Nyquist图和Bode图,求取剪切频率ωc,将实验结果与理论分析计算结果进行比较,验证理论的正确性。
2、用MATLAB作闭环Nyquist图和Bode图,分析单位反馈系统的频率特性。
三、实验原理
1、对数频率特性:
Bode图——对数坐标图,又称Bode图,它由对数幅频特性图和对数相频特性图组成。
对数幅频特性图纵坐标标度为20lgG(jw),其中对数以10为底均匀分度,采用单位是分贝(db);横坐标标度为lgw,以对数分度绘制,标以w,采用单位是弧度/秒(rad/s)。
对数相频特性图纵坐标为角度,均匀分度,采用单位为度,横坐标与第一张图完全相同。
对数相频特性图放在第一张之下,同时使横坐标的上下一一对应,以便对比分析。
2、极坐标频率特性曲线(又称尼奎斯特曲线)
它是在复平面上用一条曲线表示w由
时的频率特性。
即用矢量G(jw)的端点轨迹形成的图形,w是参变量。
在曲线的上的任意一点可以确定实频、虚频、幅频和相频特性。
3、用MATLAB作频率特性曲线
1)用MATLAB作开环频率特性
设系统的开环传递函数为
(2.1)
则系统的开环频率特性为
(2.2)
据式(2.2)和表2.1中的MATLAB命令可绘制出相应的尼奎斯特图和博德图。
2)用MATLAB作闭环频率特性
若
表示频率特性幅值,
表示相角,则闭环频率特性为
(2.3)
其频率响应可按式(2.3)计算出不同频率处的
和
(i=1,2,3,…),即可求得闭环系统频率特性并画出相应的曲线。
3)单位负反馈系统的频率特性
设单位负反馈系统的开环传递函数为
,闭环频率特性表示为
(2.4)
有式(2.2),得
(2.5)
据式(2.5)和表2.1的MATLAB命令可绘制出闭环频率特性曲线。
表1MATLAB绘制频率响应曲线基本命令表
调用格式
说明
nyquist(num,den,w)
Nyquist(num,den,w)可按指定的频率点w绘制系统的尼奎斯特图。
bode(num,den,w)
按指定的频率点w绘制系统的博德图。
freqresp(num,den,sqrt(-1)*w)
按指定的频率点w绘制闭环或开环频率响应曲线。
plot(w,
)
plot(w,
)
相当于绘制以w为参变量的函数
和
的曲线
num[]和den[]分别表示传递函数的分子和分母中包含以s的降幂排列的多项式系数;gridon:
在所画出的图形坐标中加入栅格;text():
文字注释;tf(num,den):
创建传递函数对象;feedback(,1):
求单位负反馈系统的闭环传递函数。
4、实验步骤
1)将系统的传递函数写成式(2.2)和(2.5)形式;
2)在MATLAB环境下,按MATLAB语言格式要求,给num和den赋值;
3)在MATLAB环境下,用表1的命令绘图;
4)输入MATLAB程序。
5、举例说明
例1:
已知控制系统的开环传递函数为
,利用MATLAB画出尼奎斯特图。
实验程序:
num=[001];
den=[10.81];
nyquist(num,den);
gridon;
title(‘NyquitPlotofG(s)=1/(s^2+0.8s+1)’);
例2:
已知控制系统的开环传递函数为
,利用MATLAB画出博德图。
实验程序:
num=[0025];
den=[1425];
bode(num,den);
gridon;
title(‘BodeDiagramofG(s)=25/(s^2+4s+25)’);
例3:
已知单位负反馈系统的开环传递函数为
,利用MATLAB画出w从
到
的博德图。
实验程序:
num=[091.89];
den=[11.290];
w=logspace(-2,3,100);
bode(num,den,w);
gridon;
title(‘BodeDiagramofG(s)=9(s^2+0.2s+1)/[s(s^2+1.2s+9)]’);
例4:
已知单位负反馈系统的开环传递函数为
,利用MATLAB绘制系统的频率特性曲线。
解:
系统的开环频率特性为
,闭环频率特性为
实验程序:
P=tf([1],[11]);
PC=feedback(P,1);
bode(PC);
gridon;
title(‘FrequencyResponseofClosedLoop’);
实验3 MATLAB校正环节仿真实验
一、实验目的
1、学习利用实验探索研究控制系统的方法;
2、学会控制系统数学模型的建立及仿真;
3、熟悉并掌握控制系统频域特性的分析;
4、采用PID算法设计磁悬浮小球控制系统;
5、了解PID控制规律和P、I、D参数对控制系统性能的影响;
6、学会用Simulink来构造控制系统模型。
二、实验内容
在Matlab中Simulink环境下,建立控制系统的方框图,进行仿真,调整PID参数,观察系统瞬态响应和稳态响应的变化,并记录几组PID参数作为实际系统控制参数。
三、实验原理
首先从理论上对磁悬浮小球系统进行数学建模,采用PID算法设计调节器,在MATLAB平台仿真获得适当的PID参数范围,并进行频域分析,观察并记录实验仿真结果。
1、系统建模及仿真
磁悬浮小球系统简介:
它主要由铁芯、线圈、位置传感器、放大器、控制器和控制对象小球组成。
系统开环结构如图所示。
控制要求:
调节电流,使小球的位置x始终保持在平衡位置。
忽略小球受到的其它干扰力,则受控对象小球在此系统中只受电磁吸力F和自身重力mg。
球在竖直方向的动力学方程可以如下描述:
式中:
x——磁极到小球的气隙,单位m;m——小球的质量,单位Kg;F(i,x)——电磁吸力,单位N;g——重力加速度,单位m/s2。
由磁路的基尔霍夫定律、毕奥-萨格尔定律和能量守恒定律,可得电磁吸力为:
式中:
μ0——空气磁导率,4πX10-7H/m;A——铁芯的极面积,单位m2;N——电磁铁线圈匝数;x——小球质心到电磁铁磁极表面的瞬时气隙,单位m;i——电磁铁绕组中的瞬时电流,单位A。
根据基尔霍夫定律,线圈上的电路关系如下:
式中:
L——线圈自身的电感,单位H;i——电磁铁中通过的瞬时电流,单位A;R——电磁铁的等效电阻,单位Ω。
当小球处于平衡状态时,其加速度为零,即所受合力为零,小球的重力等于小球受到的向上电磁吸力,即:
综上所述,描述磁悬浮小球系统的方程可完全由下面方程确定:
以小球位移为输出,电压为输入,可得系统的传递函数为:
其中:
设系统参数如下表所示:
序号
参数
数量
单位
1
m
28
g
2
R
13
Ω
3
L
118
mH
4
x0
15.5
mm
5
i0
1.2
A
6
k
4.587x10-5
Nm2/A2
四、实验要求
1、建立磁悬浮小球控制系统框图;
2、给定几组PID参数作为实际系统控制参数,并观察PID参数对系统瞬态响应和稳态响应的影响。
五、实验步骤
1)进入MATLAB软件系统,在命令区内键入simulink函数,调用实验软件系统的主界面。
2)将各模块连接起来,点击开始仿真,再双击示波器模块,其控制框图和仿真结果如下图所示。
从示波器来看,此系统是一个不稳定的系统。
则需要用PID控制器来控制。
3)利用MATLAB设计具有PID调节器的磁悬浮小球控制系统,并计算相关参数,其控制系统如下图:
4)在Matlab中Simulink环境下,建立系统的控制总方框图,如下图所示。
5)调整PID参数,观察系统瞬态响应和稳态响应的变化;如KP=1,KI=0.05,KD=8,其仿真结果如下图所示。
6)双击PID模块,弹出界面如下图所示,改变并记录几组PID参数作为实际系统控制参数。
附录
Matlab基础
关于MATLAB
MATLAB是Matrixlaboratory的缩写,是美国的MATHWORK公司开发的一种进行科学和工程计算的交互式程序语言。
1984年推出第一个商业版本,到现在已经到了6.1版本,功能日趋完善和强大。
主要适用于矩阵运算及控制和信息处理领域的分析设计。
另外还包括仿真、系统辨识、神经元网络、模糊控制等工具箱。
其中Simulink仿真工具箱可以利用图形界面和框图来编程和仿真。
运行MATLAB程序的流程
•MATLAB软件通常工作在交互状态下,当键入一条命令后,MATLAB系统立即执行该命令并在屏幕上显示结果;
•MATLAB系统也可以执行储存在文件中的命令序列。
这两种工作方式构成了系统的解释环境。
数字运算
MATLAB可以像计算器一样直接进行数学运算。
在MATLAB命令窗口内输入:
80*0.8+16*12.2
ans=
259.2000
帮助命令help
MATLAB提供了大量的函数和命令,如果想记住所有的函数及其调用格式几乎是不可能的。
在线帮助可以由help命令来获得。
在MATLAB的命令窗口直接键入help即可得到所有的帮助主题。
如果要对某一命令或函数进行查询,直接在help后跟上该命令或函数即可。
变量的命名规则
变量名对大小写敏感。
变量名的首字符必须是字母。
每个变更名最多可包含19个字符。
函数的命名规则与变量相同。
表达式
MTLAB对使用者键入的表达式进行翻译和计算,语句的形式通常为:
变量=表达式;
或简单地写作:
表达式;
其中分号是可选的,如果该语句的最后一个字符是分号,则在执行词句时不在屏幕上显示结果。
表达式是由运算符,函数以及变量名组成。
例如:
z=r*sin(x)
简单矩阵的输入
矩阵不需维数说明和类型定义,存储单元完全由计算机自动分配。
输入矩阵最简单的方法是输入矩阵的元素表,每个元素之间用空格或逗号隔开,用“;”号作为元素表中每一行的结束符,并用[]将元素表括起来。
例如,输入语句:
a=[123;456;789]
则结果为:
a=123
456
789
向量的产生
冒号是MATLAB中一个重要的字符。
语句:
x=1:
5
产生一个行向量,其元素为1至5的数,每个数较前一数字递增1。
即:
x=[12345],增量也可以是其它数。
如:
y=[0:
2:
10]
则y=[0,2,4,6,8,10]
矩阵操作
1、转置:
若a=[123;456]
b=a'
得b=
14
25
36
2、求逆(inverse)
使用函数inv(a),例如:
a=[120;25-1;410-1]
inv(a)
ans=
52-2
-2-11
0-21
3、矩阵的加、减、乘。
两个同维矩阵,才能进行加减运算
c=a+b;d=a-b;
a的列数等于b的行数,则e=a*b;
例如:
a=[1357],b=[2468]则
a.*b’
ans=
2123056
MATLAB程序的流程
MATLAB通常工作在交互状态下,当键入一条命令后,MATLAB系统立即执行该命令并在屏幕上显示结果;
MATLAB系统也可以执行储存在文件中的命令序列。
这两种工作方式构成了系统的解释环境。
当面对一个问题,用文本编辑器编辑好MATLAB程序后,保存为后缀为“.m”的文件(实质为MATLAB命令序列),执行时在命令窗口键入M文件名后回车或用菜单命令。
MATLAB程序的流程
MATLAB具有类似其它语言while,for循环语句,可以实现一条语句或一组语句的多次重复执行。
1、for循环
fori=1:
n,
forj=1:
n
a(i,j)=1/(i+j-1);
end
end
重复执行FOR和END之间的命令,可以嵌套。
2、while循环
while表达式
语句
end
例:
n=1;y=0;
whilen<=100
y=y+n;n=n+1;
end
得y=5050
3、if语句
ifx>0
x=x;
else
x=-x;
end
图形处理
MATLAB有强大图形处理功能,能处理二维、三维及图形对象或句柄图形。
二维图形处理常用命令有:
figure创建图形窗口
plot、fplot、ezplot基本的二维绘图命令
semilogx、semilogy、semilog,同plot,但此行的命令坐标轴是lnx,lny
xlabel、ylabel、title标注轴名称与图形标题
text、gtext、legend标注图形与图例的标注
helpgraph2d二维图形方面有命令
helpgraph3d三维图形方面有命令
helpspecgrah特殊图形方面有命令
假设有两个同长度的向量 x和y,则用plot(x,y)就可以自动绘制画出二维图来。
如果打开过图形窗口,则在最近打开的图形窗口上绘制此图,如果未打开窗口,则开一个新的窗口绘图。
〖例〗正弦曲线绘制:
t=0:
0.1:
2*pi; %生成横坐标向量,使其为0,0.1,0.2,...,6.2
y=sin(t);%计算正弦向量
plot(t,y)%绘制图形
这样立即可以得出二维图
控制系统工具箱
控制工具箱包含了进行控制系统分析与设计所必需的工具箱函数。
(1)模型建立
(2)模型变换
(3)模型简化(4)模型实现
(5)模型特性(6)方程求解
(7)时间响应(8)频率响应
(9)根轨迹(10)估计器/调节器设计
控制系统模型
1)状态空间
状态空间形式的系统方程写为:
在MATLAB中,这个系统简单的写为A、B、C、D四个矩阵的形式即可
Sys=ss(A,B,C,D)
2)传递函数
传递函数一般记为:
在MATLAB中,直接用分子/分母系数表示
Num=[b0,b1,b2…bm]den=[a0,a1,a2,….an]
sys=tf(num,den)
(3)零点增益模型(ZP)
在MATLAB中,用[z,p,k]矢量组表示
Sys=zpk(z,p,k)
模型之间的转换
控制系统的时域分析
Impulse脉冲响应
Step阶跃响应
Lsim任意输入模拟
控制系统频域分析
BodeBode图
NyquistNyquist图
Margain增益裕度和相位裕度
例:
figure,bode(sys1)画其Bode图
figure,nyquist(sys1)画Nyquist图
margin(sys1)求系统的幅值裕量与相位裕量
控制系统稳定性分析
在MATLAB中,可利用pzmap函数绘制系统的零极点图,从而确定系统的稳定性
调用格式:
Pzmap(num,den)
系统仿真工具箱SIMULINK
类似VB中在窗体上放置控件一样,SIMULINK用方框图的绘制代替了程序的编写。
SIMULINK主要完成两方面的工作
建立控制系统的模型
实现控制系统的仿真
SIMULINK启动
1.在MATLAB的命令窗口中键入SIMULINK,就打开了SIMULINK的模块库(如图);
2.在MATLAB命令窗口的file菜单中选择new命令的model,将打开一个新的空白窗口;
3.在MATLAB的工具栏中,按按钮,将打开一个新的空白窗口;
连接与建模
构成任何一个系统需要三步:
选定典型环节、相互联接和给定环节参数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制工程 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)