控制系统仿真实验说明书
Matlab部分
目 录
前 言 ............................................................................................................ 错误!未定义书签。 实验一 MATLAB基本操作 ......................................................................................................... 2 实验二 MATLAB编程 ................................................................................................................. 6 实验三 MATLAB底层图形控制 ................................................................................................. 6 实验四 控制系统古典分析 ........................................................................................................... 6 实验五 控制系统现代分析 ........................................................................................................... 6 实验六 PID控制器的设计 ......................................................................................................... 12 实验七 系统状态空间设计 ......................................................................................................... 14 实验八 磁悬浮系统仿真 ............................................................................................................. 16 实验九 直流双闭环调速系统仿真 ............................................................................................. 20 实验十 倒立摆控制系统仿真 ..................................................................................................... 21
1
实验一 MATLAB基本操作
实验目的
1.熟悉MATLAB实验环境,练习MATLAB命令、m文件基本操作。 2.利用MATLAB编写程序进行矩阵运算、图形绘制、数据处理等。 3. 熟悉矩阵相关的基本函数和命令。 4.熟练使用帮助。
实验原理
MATLAB环境是一种为数值计算、数据分析和图形显示服务的交互式的环境。MATLAB
有3种窗口,即:命令窗口(The Command Window)、m-文件编辑窗口(The Edit Window)和图形窗口(The Figure Window),而Simulink另外又有Simulink模型编辑窗口。
1.命令窗口(The Command Window)
当MATLAB启动后,出现的最大的窗口就是命令窗口。用户可以在提示符“>>”后面
输入交互的命令,这些命令就立即被执行。
在MATLAB中,一连串命令可以放置在一个文件中,不必把它们直接在命令窗口内输入。在命令窗口中输入该文件名,这一连串命令就被执行了。因为这样的文件都是以“.m”为后缀,所以称为m-文件。
2.m-文件编辑窗口(The Edit Window)
我们可以用m-文件编辑窗口来产生新的m-文件,或者编辑已经存在的m-文件。在
MATLAB主界面上选择菜单“File/New/M-file”就打开了一个新的m-文件编辑窗口;选择菜单“File/Open”就可以打开一个已经存在的m-文件,并且可以在这个窗口中编辑这个m-文件。
3.图形窗口(The Figure Window)
图形窗口用来显示MATLAB程序产生的图形。图形可以是2维的、3维的数据图形,
也可以是照片等。
实验内容
1 用MATLAB可以识别的格式输入下面两个矩阵
2
12A131233414i35723357 B267i239818943359653578542i 4243再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调
用相应的命令查看MATLAB工作空间的占用情况。
2 选择合适的步距绘制出下面的图形
sin(1/t),其中t(1,1)
3 对下面给出的各个矩阵求取矩阵的行列式、秩、特征多项式、范数、特征根、特征向量和逆矩阵。
07.53.5057658334.1710870,B A06810991031.5003.719.3579101234332456785518,D C910111211857131415165131
4 求解下面的线性代数方程,并验证得出的解真正满足原方程。
721241321390915327721264X,(b)X (a)221151915321171321302211521 5.
(1) 初始化一10*10矩阵,其元素均为1 (2) 初始化一10*10矩阵,其元素均为0 (3) 初始化一10*10对角矩阵
(4) 输入A=[7 1 5;2 5 6;3 1 5],B=[1 1 1; 2 2 2; 3 3 3],执行下列命令,理解其含义 A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A
6在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),sin(t)/t∈[0,2π],用不同颜色,不同线的类型予以表示,注意坐标轴的比例控制。
3
实验二 Matlab编程
实验目的
1.熟悉 Matlab 程序设计的基本方法 2.掌握for,while,switch-case,if结构 3.掌握函数编写方法
实验原理
1 在MATLAB帮助中切换到index标签,分别键入if,while,for,switch查看相关说明
2建立函数文件,系统提供了一个用于创建用户函数的命令function,以备用户
(1).格式:
function [输出变量列表]=fun_name(输入变量列表) 用户自定义的函数体
(2).函数文件名为:fun_name,注意:保存时文件名与函数名最好相同; (3).存储路径:最好在系统的搜索路径上。 (4). 调用方法:输出参量=fun_name (输入变量) Example 求向量的平均值及标准差 function [mean,stdev] = stat(x) n = length(x); mean = sum(x)/n;
stdev = sqrt(sum((x-mean).^2/n));
实验内容
1分别用for和while循环结构编写程序,求出
K2i122223i063262263
并考虑一种避免循环的简洁方法来进行求和。
2计算 1+2+…+n<2000 时的最大 n 值
4
3 用MATLAB语言实现下面的分段函数
h,xDyf(x)h/Dx,xD
xDh,存放于文件ff.m中,令D=3,h=1求出,f(-1.5), f(0.5), f(5).
5
实验三 Matlab底层图形控制
实验目的
1.理解Matlab中的句柄
2.利用MATLAB命令获取句柄及对目标进行设置
实验原理
MATLAB为所创建的每一个图形对象都分配一个句柄(相当于指针),用户可以通过MATLAB中的函数来获取对象的句柄,并对其进行控制,系统中这些图形对象具有继承关系。
根:图形对象的根,对应于计算机屏幕,根只有一个,其它所有图形对象都是根的后代。 图形窗口: 根的子代,窗口的数目不限,所有图形窗口都是根屏幕的子代,除根之外,其它对象则是窗的后代。
界面控制:图形窗口的子代,创建用户界面控制对象,使得用户可采用鼠标在图形上作功能选择,并返回句柄。
界面菜单: 图形窗口的子代,创建用户界面菜单对象 轴:图形窗口的子代,创建轴对象,并返回句柄,线面字块像的父辈 线:轴的子代,创建线对象 面:轴的子代,创建块对象 字:轴的子代,创建字对象 块:轴的子代,创建块对象 像:轴的子代,创建图像对象
各图形对象的句柄数据格式: 根屏幕 0
图形窗口 整数,表示图形窗口数
其它对象 对应的浮点数
get: 获得句柄图形对象的属性和返回某些对象的句柄值 set: 改变图形对象的属性
gcf:当前窗口对象的句柄 Get Current Figure gca:当前轴对象的句柄 Get Current Axes
实验内容
1 在MATLAB命令行中编程得到y=sin(t)和y1=cos(t)函数, plot(t,y);figure(10);plot(t,y1); 2 在MATLAB命令行中键入h=get(0),查看根屏幕的属性,h此时为根屏幕句柄的符号表
6
示,0为根屏幕对应的标号。
3 h1=get(1);h2=get(10), 1, 10分别为两图形窗口对应标号,其中1为Matlab自动分配,标号10已在figure(10)中指定。查看h1和h2属性,注意CurrentAxes和CurrenObject属性。 4 输入h.Children,观察结果。
5 键入gcf,得到当前图像句柄的值,分析其结果与h,h1,h2中哪个一致,为什么?
6 鼠标点击Figure 1窗口,让其位于前端,在命令行中键入gcf,观察此时的值,和上一步中有何不同,为什么?
7 观察h1.Children和h2.Children,gca的值。
8 观察以下程序结果h3=h1.Children; set(h3,'Color','green');h3_1=get(h3,'children');set(h3_1, 'Color','red'); 其中h3_1为Figure1中线对象句柄,不能直接采用h3_1=h3.Children命令获得。
9 命令行中键入plot(t,sin(t-pi/3)),观察曲线出现在哪个窗口。h4=h2.Children;axes(h4); plot(t,sin(t-pi/3)),看看此时曲线显示在何窗口。
Matlab图形高级编程
编写图形接口界面,实现绘制bode图,阶跃响应等功能,可参考往届例子。
7
实验四 控制系统古典分析
实验目的
以MATLAB或Simulink为工具,对控制系统进行时域、频域分析。
实验原理
1、 时域分析法是根据系统的微分方程(或传递函数),利用拉普拉斯变换直接解出动态方
程,并依据过程曲线及表达式分析系统的性能。时域响应指标如图1所示。
图1 典型的系统时域响应指标表示
延迟时间td,指响应曲线第一次达到其终值一半所需要的时间。 上升时间tr,指响应曲线从终值10%上升到终值90%所需要的时间;对于有振荡的系统,也可定义为响应从零第一次上升到终值所需要的时间。上升时间是系统响应速度的一种度量。
峰值时间tp,指响应超过终值达到第一个峰值所需要的时间。
调节时间ts,指响应达到并保持在终值±5%(或±2%)内所需要的时间。 超调量σ%,指响应的最大偏离量h(tp)与终值h(∞)之差的百分比,即:
%h(tp)h()100%
h()稳态误差,描述系统稳态性能的一种性能指标。
2、 频域分析法通常从频率特性出发对系统进行研究。在工程分析和设计中,通常把频率特
性画成一些曲线,从频率特性曲线出发进行研究。这些曲线包括幅频特性和相频特性曲线,幅相频率特性曲线,对数频率特性曲线以及对数幅相曲线等,其中以幅相频率特性曲线,对数频率特性曲线应用最广。对于最小相位系统,幅频特性和相频特性之间存在着唯一的对于关系,故根据对数幅频特性,可以唯一地确定相应的相频特性和传递函数。根据系统的开环频率特性去判断闭环系统的性能,并能较方便地分析系统参量对系统性能的影响,从而指出改善系统性能的途径。
8
实验内容
1. Matlab里控制系统的三种数学模型的转换,tf(),zpk(),ss(),tf2ss()等。
2.给定典型输入信号下求解系统的输出响应,step(),impluse()。
3.已知二阶系统G(s)10
s22s10(1) 编写程序求解系统的阶跃响应;修改参数,实现1和2的阶跃响应;修改参数,实现n11n和n22n的阶跃响应(n10) 2(2) 试做出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。
2s10s20.5s10s20.5s G1(s)2;G2(s)2;G3(s)2
s2s10s2s10s2s10 G2(s)s 2s2s10
要求:分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应的影响; 分析响应曲线的零初值、非零初值与系统模型的关系;
分析响应曲线的稳态值与系统模型的关系; 分析系统零点对阶跃响应的影响; 4.已知某控制系统的开环传递函数G(s)K,K1.5
s(s1)(s2)试绘制系统的开环频率特性曲线,并求出系统的幅值与相位裕量。
5 已知G(s)k(s1)
s2(0.1s1)令k=1作Bode图,应用频域稳定判据确定系统的稳定性,并确定使系统获得最大相位裕度的增益k值。
*6.分析下面的非最小相位系统
6(s4)10s360s2110s60 G1(s)2 ,G2(s)432s(0.5s1)(0.1s1)s17s82s130s100绘制频域响应曲线,并解释为什么这样的系统被称为“非最小相位”系统,试从其频域响应
加以解释。
9
7. 系统A: Ga(s)21G(s) 系统B: bs22s22s33s23s1(1)用控制系统工具箱中的函数求给定系统的阶跃响应,并求出相应的性能指标:上升时
间、峰值时间、调节时间及超调量。编写MATLAB程序并给出结果;如果不使用step()函数,求给定系统的阶跃响应。
(2) 求解给定系统的频率响应,编写MATLAB程序并给出结果。
1G(s)esG(s)8.闭环系统C:Gc(s),
s22s21G(s)es(1) 利用Simulink工具求解系统的阶跃响应,给出Simulink仿真框图及阶跃响应曲线;
(2) 怎样消除纯延迟部分对系统的影响,给出Simulink仿真框图并分析仿真结果。
(提示:Smith预估方法)
10
实验五 控制系统现代分析
实验目的
1、掌握如何使用 Matlab 进行系统的稳定性分析
2、掌握如何使用 Matlab 进行系统的能观测性、能控性分析 3、掌握如何使用 Matlab 进行离散系统分析
实验原理
1、 根据Matlab控制系统常用函数编写出仿真程序,也可以根据SIMULINK完成实验
实验内容
1系统稳定性分析
(1)代数法稳定性判据:(用求分母多项式的根和 Routh 函数两种方法) 已知系统的开环传递函数为:
试对系统闭环判别其稳定性
(2)Bode 图法判断系统稳定性:
已知两个单位负反馈系统的开环传递函数分别为:
用 Bode 图法判断系统闭环的稳定性。
2系统能控性、能观性分析
已知连续系统的传递函数模型:
当α分别取-1,0,+1 时,判别系统的能控性与能观性。
3 求出(2)中G1的穿越频率,设为f1。选择用不同的采样率将其离散化,f=f1,2*f1,5*f1绘制出不同情况下系统的频率响应曲线,包括 Bode 图和 Nyquist 图,并求出幅值裕度和相角裕度。观察不同采样率的影响。
11
实验六 PID控制器的设计
实验目的
研究PID控制器对系统的影响;
实验原理
1.模拟PID控制器
典型的PID控制结构如图2所示。 PID控制器
比 例
e(t) r(t) u(t) `
对象模型 积 分
微 分
图2 典型PID控制结构 PID调节器的数学描述为
y(t) 1u(t)Kp[e(t)Tit0e()dTdde(t)] dt2 数字PID控制器
在计算机PID控制中,连续PID控制算法不能直接使用,需要采用离散化方法,通常使用数字PID控制器。以一系列采样时刻点kT(T为采样周期)代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:
tkTkkt e(jT)Te(j)0e()dTj0j0de(t)e(kT)e((k1)T)e(k)e(k1)TTdt离散PID表达式:
1ke(k)e(k1)u(k)Kp[e(k)e(j)TTd]
Tij0T 12
实验内容
1.已知三阶对象模型G(s)1/(s1)3,利用MATLAB编写程序,研究闭环系统在不同控制情况下的阶跃响应,并分析结果。
(1) Ti,Td0时,在不同KP值下,闭环系统的阶跃响应; (2) Kp1,Td0时,在不同Ti值下,闭环系统的阶跃响应; (3) KpTi1时,在不同Td值下,闭环系统的阶跃响应;
2.被控对象同上,选择合适的参数进行模拟PID控制(PID参数整定)
13
实验七 系统状态空间设计
实验目的
1 学习系统的能控性、能观测性判别计算方法; 2 掌握极点配置控制器的设计方法。
实验原理
如果给出了对象的状态方程模型,我们希望引入某种控制器,使得闭环系统的极点移动到指定位置,从而改善系统的性能,这就是极点配置。
1、状态反馈与极点配置
状态反馈是指从状态变量到控制端的反馈,如图3所示。 设原系统动态方程为:
AxBuxyCx引入状态反馈后,系统的动态方程为:
(ABK)xBvxyCxvuIBsxCyAK 图3 状态反馈 2、输出反馈与极点配置
输出反馈指从输出端到状态变量导数x的反馈,如图4所示。 设原系统动态方程为:
AxBuxyCx引入输出反馈后,系统的动态方程为:
(AHC)xBvxyCx 14
vuBIsAxCyH 图4 输出反馈
实验内容
1.已知对象模型
00 x00100010x001011001u01y1234 x如何将闭环系统的极点配置在s1,2,3,4= -1,-2,-1±j?
*2.已知对象模型
00 x00100500x07000811u34y0508 xˆ1,2。 利用MATLAB实现将其中的两个极点配置到s
3.已知对象模型
0.30.10.052x(t)0u(t),x(t)10.10
1.58.90.054y123x(1) 如果我们想将闭环系统的极点配置到-1,-2,-3,利用MATLAB设计控制器,并绘出闭环系统的阶跃响应曲线。(说明:用两种方法配置极点)
*(2) 如果想将闭环系统的所有极点均配置到-1,怎样设计控制器?
15
实验八 磁悬浮系统仿真
实验目的
1. 以磁悬浮系统为研究对象,掌握PID控制器的设计方法;
2. 以磁悬浮系统为研究对象,通过状态反馈配置极点,改善系统的动态性能; 3. 比较以上两种控制方法的效果,能够分析原因。
实验原理
1、磁悬浮模型建立
我们以磁悬浮球为例建立电磁悬浮系统数学模型。磁悬浮球控制系统如图5所示。
图5 磁悬浮球控制系统
整个磁路的磁阻近似为:
R2e (1) 0S
式中,0为空气中的导磁率,e为气隙厚度,S为气隙的截面积。
气隙中的磁感应强度为: B (2) S式中,为磁通量。
电磁线圈产生的对质量为M的钢球产生的电磁吸力为:
F由磁路理论知:
B2S0 (3)
NIR (4)
式中N是线圈匝数,I是线圈中流过的电流。
16
NI, 将其代入(2)式 RNI B (5)
RS由(4)式得:将(1)式和(5)式代入(3)式,得: F对(6)式线性化
FFF0K1(II0)K2(ee0)其中,FK1IK2e,F0K1I0K2e0 在ee0处, I00SN2I24e2 (6)
FFIe (7) Ie0eI02e0NMg (8) 0S0SI0N2F在(7)式中, K1 (9) 2II0,e02e00SI02N2F K2 (10) 3eI0,e02e0由牛顿第一定律(Fma),得到钢球的运动方程:
d2(e)K1IK2eMgM (11)
dt2对(11)式进行拉普拉斯变换(将Mg看成为Mg1(t)),得: K1I(s)K2e(s)Mg整理后得: I(s)1s2Me(s) (12) s1Mg2 (13) Ke(s)Mse(s)2K1sd(t) (14) dt 电路的电压平衡方程式: u(t)rI(t)其中,(t)L(t)I(t)
则 u(t)rI(t)L0而 LdI(t)dLdeI0 (15) dtdedt0N2S2edL0N2S, ,所以 2de2e 17
dI(t)I0(0N2S)de u(t)rI(t)L02dtdt2e即: u(t)rI(t)L0对(16)式进行拉普拉斯变换,得:
U(s)(rL0s)I(s)K1se(s) (17) 将(13)式代入(17)式:
dI(t)deK1 (16) dtdtMgK1U(s)(rL0s)K2e(s)Ms2e(s)K12se(s)
sL0Ms3e(s)Mrs2e(s)(L0K2K12)se(s)rK2e(s)(rL0s)将上式还原微分方程(注:忽略L0Mg(t)项),得:
Mg (18) s(t)Mre(t)(L0K2K12)e(t)rK2e(t)rMg L0MeK1u(t) (19)
对(19)式进行代换如下: 设y(t)e(t)e0
e ye y y ev(t)rMgrK2e0K1u(t)
ML0则(19)式可变为
L0K2K12rK2ryyyyv (20)
L0ML0ML0对(20)式进行拉普拉斯变换得
L0K2K12rK2r2sy(s)sy(s)sy(s)v (21)
L0ML0ML03则系统得被控对象传递函数为:
y(s)v(s)1 (22) 2LKKrKr12s3s202sL0ML0ML0 18
实验内容
1. 已知磁悬浮系统的模型,设计PID调节器。 磁悬浮系统模型参数选择如下:
M=1kg 钢球质量
S4cm2 电磁铁表面积 N1000 电磁线圈的圈数 r2 电磁线圈电阻
e05mm 钢球于电磁铁之间的控制距离
空气中的磁导率0=410-7,电磁线圈和钢球的磁材料的磁导率可看作非常大
由计算得出:
K114.7 K23938.8 L050mH I01.4A
所以(22)式写成
y(s)13 (23) v(s)s40s220.5-157552(23)式同样可以写成:
y(s)1 v(s)(s43.3533)[s(41.676743.5568i)][s(41.676743.5568i)](24)
2.以磁悬浮系统为研究对象,利用状态反馈配置极点,改善系统的动态性能。
思考题
1. 当磁悬浮系统处于平衡状态,这时给系统分别加入阶跃扰动信号、连续脉冲扰动信号、
固定扰动信号情况下,分析系统响应情况。
2. 二种方法控制结果是否相同,如果不同,请分析原因。
19
实验九 直流双闭环调速系统仿真
实验目的
掌握Simulink工具分析设计电动机速度控制系统的方法。
实验原理
1. 双闭环V-M调速系统目的; 2. 积分调节器的饱和非线性问题; 3. 电流环和转速环的工程设计。
实验内容
1、 建立双闭环调速系统的模型;
系统中采用三相桥式晶闸管整流装置,基本参数如书(”控制系统仿真与计算机辅助设计”)
2、 利用Simulink建立仿真模型,并分析系统的动态性能。
20
实验十 倒立摆控制系统仿真
实验目的
掌握Simulink工具分析设计一阶倒立摆控制系统的方法,提高获取英文文献能力
实验原理
2、 一阶倒立摆精确模型;
3、 电动机、驱动器及机械传动装置的模型; 4、 双闭环PID控制器的设计
实验内容
1、 根据一阶倒立摆控制系统的模型,利用Simulink建立仿真模型进行仿真实验; 2、 改变倒立摆的部分参数,分析系统的性能。 具体请见CP8.8,完成此题。
21
22
因篇幅问题不能全部显示,请点此查看更多更全内容