您的当前位置:首页正文

控制系统仿真实验指导书MATLAB部分资料

2021-05-07 来源:星星旅游


控制系统仿真实验说明书

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

12A131233414i35723357 B267i239818943359653578542i 4243再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调

用相应的命令查看MATLAB工作空间的占用情况。

2 选择合适的步距绘制出下面的图形

sin(1/t),其中t(1,1)

3 对下面给出的各个矩阵求取矩阵的行列式、秩、特征多项式、范数、特征根、特征向量和逆矩阵。

07.53.5057658334.1710870,B A06810991031.5003.719.3579101234332456785518,D C910111211857131415165131

4 求解下面的线性代数方程,并验证得出的解真正满足原方程。

721241321390915327721264X,(b)X (a)221151915321171321302211521 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循环结构编写程序,求出

K2i122223i063262263

并考虑一种避免循环的简洁方法来进行求和。

2计算 1+2+…+n<2000 时的最大 n 值

4

3 用MATLAB语言实现下面的分段函数

h,xDyf(x)h/Dx,xD

xDh,存放于文件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

s22s10(1) 编写程序求解系统的阶跃响应;修改参数,实现1和2的阶跃响应;修改参数,实现n11n和n22n的阶跃响应(n10) 2(2) 试做出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,作出相应的实验分析结果。

2s10s20.5s10s20.5s G1(s)2;G2(s)2;G3(s)2

s2s10s2s10s2s10 G2(s)s 2s2s10

要求:分析系统的阻尼比和无阻尼振荡频率对系统阶跃响应的影响; 分析响应曲线的零初值、非零初值与系统模型的关系;

分析响应曲线的稳态值与系统模型的关系; 分析系统零点对阶跃响应的影响; 4.已知某控制系统的开环传递函数G(s)K,K1.5

s(s1)(s2)试绘制系统的开环频率特性曲线,并求出系统的幅值与相位裕量。

5 已知G(s)k(s1)

s2(0.1s1)令k=1作Bode图,应用频域稳定判据确定系统的稳定性,并确定使系统获得最大相位裕度的增益k值。

*6.分析下面的非最小相位系统

6(s4)10s360s2110s60 G1(s)2 ,G2(s)432s(0.5s1)(0.1s1)s17s82s130s100绘制频域响应曲线,并解释为什么这样的系统被称为“非最小相位”系统,试从其频域响应

加以解释。

9

7. 系统A: Ga(s)21G(s) 系统B: bs22s22s33s23s1(1)用控制系统工具箱中的函数求给定系统的阶跃响应,并求出相应的性能指标:上升时

间、峰值时间、调节时间及超调量。编写MATLAB程序并给出结果;如果不使用step()函数,求给定系统的阶跃响应。

(2) 求解给定系统的频率响应,编写MATLAB程序并给出结果。

1G(s)esG(s)8.闭环系统C:Gc(s),

s22s21G(s)es(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)Tit0e()dTdde(t)] dt2 数字PID控制器

在计算机PID控制中,连续PID控制算法不能直接使用,需要采用离散化方法,通常使用数字PID控制器。以一系列采样时刻点kT(T为采样周期)代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:

tkTkkt e(jT)Te(j)0e()dTj0j0de(t)e(kT)e((k1)T)e(k)e(k1)TTdt离散PID表达式:

1ke(k)e(k1)u(k)Kp[e(k)e(j)TTd]

Tij0T 12

实验内容

1.已知三阶对象模型G(s)1/(s1)3,利用MATLAB编写程序,研究闭环系统在不同控制情况下的阶跃响应,并分析结果。

(1) Ti,Td0时,在不同KP值下,闭环系统的阶跃响应; (2) Kp1,Td0时,在不同Ti值下,闭环系统的阶跃响应; (3) KpTi1时,在不同Td值下,闭环系统的阶跃响应;

2.被控对象同上,选择合适的参数进行模拟PID控制(PID参数整定)

13

实验七 系统状态空间设计

实验目的

1 学习系统的能控性、能观测性判别计算方法; 2 掌握极点配置控制器的设计方法。

实验原理

如果给出了对象的状态方程模型,我们希望引入某种控制器,使得闭环系统的极点移动到指定位置,从而改善系统的性能,这就是极点配置。

1、状态反馈与极点配置

状态反馈是指从状态变量到控制端的反馈,如图3所示。 设原系统动态方程为:

AxBuxyCx引入状态反馈后,系统的动态方程为:

(ABK)xBvxyCxvuIBsxCyAK 图3 状态反馈 2、输出反馈与极点配置

输出反馈指从输出端到状态变量导数x的反馈,如图4所示。 设原系统动态方程为:

AxBuxyCx引入输出反馈后,系统的动态方程为:

(AHC)xBvxyCx 14

vuBIsAxCyH 图4 输出反馈

实验内容

1.已知对象模型

00 x00100010x001011001u01y1234 x如何将闭环系统的极点配置在s1,2,3,4= -1,-2,-1±j?

*2.已知对象模型

00 x00100500x07000811u34y0508 xˆ1,2。 利用MATLAB实现将其中的两个极点配置到s

3.已知对象模型

0.30.10.052x(t)0u(t),x(t)10.10

1.58.90.054y123x(1) 如果我们想将闭环系统的极点配置到-1,-2,-3,利用MATLAB设计控制器,并绘出闭环系统的阶跃响应曲线。(说明:用两种方法配置极点)

*(2) 如果想将闭环系统的所有极点均配置到-1,怎样设计控制器?

15

实验八 磁悬浮系统仿真

实验目的

1. 以磁悬浮系统为研究对象,掌握PID控制器的设计方法;

2. 以磁悬浮系统为研究对象,通过状态反馈配置极点,改善系统的动态性能; 3. 比较以上两种控制方法的效果,能够分析原因。

实验原理

1、磁悬浮模型建立

我们以磁悬浮球为例建立电磁悬浮系统数学模型。磁悬浮球控制系统如图5所示。

图5 磁悬浮球控制系统

整个磁路的磁阻近似为:

R2e (1) 0S

式中,0为空气中的导磁率,e为气隙厚度,S为气隙的截面积。

气隙中的磁感应强度为: B (2) S式中,为磁通量。

电磁线圈产生的对质量为M的钢球产生的电磁吸力为:

F由磁路理论知:

B2S0 (3)

NIR (4)

式中N是线圈匝数,I是线圈中流过的电流。

16

NI, 将其代入(2)式 RNI B (5)

RS由(4)式得:将(1)式和(5)式代入(3)式,得: F对(6)式线性化

FFF0K1(II0)K2(ee0)其中,FK1IK2e,F0K1I0K2e0 在ee0处, I00SN2I24e2 (6)

FFIe (7) Ie0eI02e0NMg (8) 0S0SI0N2F在(7)式中, K1 (9) 2II0,e02e00SI02N2F K2 (10) 3eI0,e02e0由牛顿第一定律(Fma),得到钢球的运动方程:

d2(e)K1IK2eMgM (11)

dt2对(11)式进行拉普拉斯变换(将Mg看成为Mg1(t)),得: K1I(s)K2e(s)Mg整理后得: I(s)1s2Me(s) (12) s1Mg2 (13) Ke(s)Mse(s)2K1sd(t) (14) dt 电路的电压平衡方程式: u(t)rI(t)其中,(t)L(t)I(t)

则 u(t)rI(t)L0而 LdI(t)dLdeI0 (15) dtdedt0N2S2edL0N2S, ,所以 2de2e 17

dI(t)I0(0N2S)de u(t)rI(t)L02dtdt2e即: u(t)rI(t)L0对(16)式进行拉普拉斯变换,得:

U(s)(rL0s)I(s)K1se(s) (17) 将(13)式代入(17)式:

dI(t)deK1 (16) dtdtMgK1U(s)(rL0s)K2e(s)Ms2e(s)K12se(s)

sL0Ms3e(s)Mrs2e(s)(L0K2K12)se(s)rK2e(s)(rL0s)将上式还原微分方程(注:忽略L0Mg(t)项),得:

Mg (18) s(t)Mre(t)(L0K2K12)e(t)rK2e(t)rMg L0MeK1u(t) (19)

对(19)式进行代换如下: 设y(t)e(t)e0

e ye y y ev(t)rMgrK2e0K1u(t)

ML0则(19)式可变为

L0K2K12rK2ryyyyv (20)

L0ML0ML0对(20)式进行拉普拉斯变换得

L0K2K12rK2r2sy(s)sy(s)sy(s)v (21)

L0ML0ML03则系统得被控对象传递函数为:

y(s)v(s)1 (22) 2LKKrKr12s3s202sL0ML0ML0 18

实验内容

1. 已知磁悬浮系统的模型,设计PID调节器。 磁悬浮系统模型参数选择如下:

M=1kg 钢球质量

S4cm2 电磁铁表面积 N1000 电磁线圈的圈数 r2 电磁线圈电阻

e05mm 钢球于电磁铁之间的控制距离

空气中的磁导率0=410-7,电磁线圈和钢球的磁材料的磁导率可看作非常大

由计算得出:

K114.7 K23938.8 L050mH I01.4A

所以(22)式写成

y(s)13 (23) v(s)s40s220.5-157552(23)式同样可以写成:

y(s)1 v(s)(s43.3533)[s(41.676743.5568i)][s(41.676743.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

因篇幅问题不能全部显示,请点此查看更多更全内容