六个实战示例--自动控制理论--Simulink仿真

六个实战示例--自动控制理论--Simulink仿真
六个实战示例--自动控制理论--Simulink仿真

自动控制理论仿真实验指导书

目录

实验一典型环节的MA TLAB仿真 (2)

一、实验目的 (2)

二、SIMULINK的使用 (2)

三、实验原理 (3)

四、实验内容 (5)

五、实验报告 (5)

六、预习要求 (5)

实验二线性系统时域响应分析 (6)

一、实验目的 (6)

二、基础知识及MA TLAB函数 (6)

三、实验内容 (12)

四、实验报告 (13)

五、预习要求 (13)

实验三线性系统的根轨迹 (14)

一、实验目的 (14)

二、基础知识及MA TLAB函数 (14)

三、实验内容 (19)

四、实验报告 (19)

五、预习要求 (19)

实验四线性系统的频域分析 (20)

一、实验目的 (20)

二、基础知识及MA TLAB函数 (20)

三、实验内容 (23)

四、实验报告 (24)

五、预习要求 (24)

实验五线性系统串联校正 (25)

一、实验目的 (25)

二、基础知识 (25)

三、实验内容 (31)

四、实验报告要求 (32)

五、预习要求 (32)

实验六数字PID控制 (32)

一、实验目的 (32)

二、实验原理 (32)

三、实验内容 (35)

四、实验报告 (35)

五、预习要求 (35)

实验一 典型环节的MATLAB 仿真

一、实验目的

1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应

曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK 的使用

MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。

利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真环境下。

2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。

3.在simulink 仿真环境下,创建所需要的系统。

以图1-2所示的系统为例,说明基本设计步骤如下:

1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将

右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。

2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变

传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,

图1-1 SIMULINK 仿真界面 图1-2 系统方框图

数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。

3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立

系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。

4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”

图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。

5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通

常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。

6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”

图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。

7)连接各元件,用鼠标划线,构成闭环传递函数。

8

)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真

环境下的系统框图模型。运行完之后用鼠标双击“Scope ”元件,即可看到响应曲线。

三、实验原理

1.比例环节的传递函数为 K R K R R R Z Z s G 200,1002)(211212==-=-=-=

其对应的模拟电路及SIMULINK 图形如图1-3所示。

2.惯性环节的传递函数为

uf C K R K R s C R R R Z Z s G 1,200,10012.021)(121121212===+-=+-=-=

其对应的模拟电路及SIMULINK 图形如图1-4所示。

3.积分环节(I)的传递函数为

uf C K R Z s G 1,10011)(2==-=-=-

=

图1-3 比例环节的模拟电路及SIMULINK 图形

其对应的模拟电路及SIMULINK 图形如图1-5所示。

4.微分环节(D)的传递函数为

uf C K R s s C R Z Z s G 10,100)(111112==-=-=-= uf C C 01.012=<<

其对应的模拟电路及SIMULINK 图形如图1-6所示。

5.比例+微分环节(PD )的传递函数为

)11.0()1()(111

212+-=+-=-=s s C R R R Z Z s G uf C C uf

C K R R 01.010,10012121=<<=== 其对应的模拟电路及SIMULINK 图形如图1-7所示。

6.比例+积分环节(PI )的传递函数为

图1-4 惯性环节的模拟电路及SIMULINK 图形

图1-5 积分环节的模拟电路及及SIMULINK 图形

图1-6 微分环节的模拟电路及及SIMULINK 图形

)11(1)(1121

2s R s C R Z Z s G +-=+-=-= uf C K R R 10,100121===

其对应的模拟电路及SIMULINK 图形如图1-8所示。

四、实验内容

按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单

位阶跃响应波形。

① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+=s s G 和15.01)(2+=s s G ③ 积分环节

s s G 1)(1= ④ 微分环节s s G =)(1

⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G ⑥ 比例+积分环节(PI )s s G 11)(1+=和

s s

G 2

11)(2+=

五、实验报告

1.画出各典型环节的SIMULINK 仿真模型。

2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。

3. 写出实验的心得与体会。

六、预习要求

图1-7 比例+微分环节的模拟电路及SIMULINK 图形

图1-8 比例+积分环节的模拟电路及SIMULINK 图形

2.预习MATLAB 中SIMULINK 的基本使用方法。

实验二 线性系统时域响应分析

一、实验目的

1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶

跃、单位脉冲及单位斜坡函数作用下的响应。

2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。

3.熟练掌握系统的稳定性的判断方法。

二、基础知识及MATLAB 函数

(一)基础知识

时域分析法直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,

具有直观、准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响

应、脉冲响应和斜坡响应)。本次实验从分析系统的性能指标出发,给出了在MATLAB 环

境下获取系统时域响应和分析系统的动态性能和稳态性能的方法。

用MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s

的降幂排列写为两个数组num 、den 。由于控制系统分子的阶次m 一般小于其分母的阶次

n ,所以num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补

齐,缺项系数也用零补上。

1.用MATLAB 求控制系统的瞬态响应

1)阶跃响应

求系统阶跃响应的指令有:

step(num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出

step(num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10)

[y ,x]=step(num,den) 返回变量y 为输出向量,x 为状态向量

在MATLAB 程序中,先定义num,den 数组,并调用上述指令,即可生成单位阶跃输

入信号下的阶跃响应曲线图。

考虑下列系统:

25)(=s C

该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s 的降幂排

列。则MATLAB 的调用语句:

num=[0 0 25]; %定义分子多项式

den=[1 4 25]; %定义分母多项式

step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线

grid %画网格标度线

xlabel(‘t/s’),ylabel(‘c(t)’) %给坐标轴加上说明

title(‘Unit-step Respinse of G(s)=25/(s^2+4s+25)’) %给图形加上标题名

则该单位阶跃响应曲线如图2-1所示:

为了在图形屏幕上书写文本,可以用text 命令在图上的任何位置加标注。例如:

text(3.4,-0.06,’Y1’) 和 text(3.4,1.4,’Y2’)

第一个语句告诉计算机,在坐标点x=3.4,y=-0.06上书写出’Y1’。类似地,第二

个语句告诉计算机,在坐标点x=3.4,y=1.4上书写出’Y2’。

若要绘制系统t 在指定时间(0-10s )内的响应曲线,则用以下语句:

num=[0 0 25];

den=[1 4 25];

t=0:0.1:10;

step(num,den,t)

即可得到系统的单位阶跃响应曲线在0-10s 间的部分,如图2-2所示。

2)脉冲响应

① 求系统脉冲响应的指令有:

impulse (num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出

impulse (num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10)

[y,x]=impulse(num,den) 返回变量y 为输出向量,x 为状态向量

图2-1 二阶系统的单位阶跃响应

图2-2 定义时间范围的单位阶跃响应

[y,x,t]=impulse(num,den,t) 向量t 表示脉冲响应进行计算的时间

例:试求下列系统的单位脉冲响应:

1

2.01)()()(2++==s s s G s R s C 在MATLAB 中可表示为

num=[0 0 1];

den=[1 0.2 1];

impulse(num,den)

grid

t itle(‘Unit -impulse Response of G(s)=1/(s^2+0.2s+1)’)

由此得到的单位脉冲响应曲线如图2-3所示:

② 求脉冲响应的另一种方法

应当指出,当初始条件为零时,G (s)的单位脉冲响应与sG(s)的单位阶跃响应相同。

考虑在上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1所以

s s s s s s s G s C s R s C 112.012.01)()()()(22?++=++=== 因此,可以将G(s)的单位脉冲响应变换成sG(s)的单位阶跃响应。

向MATLAB 输入下列num 和den ,给出阶跃响应命令,可以得到系统的单位脉冲响

应曲线如图2-4所示。

num=[0 1 0];

den=[1 0.2 1];

step(num,den)

grid

图2-3 二阶系统的单位脉冲响应

sG(s)=s/(s^2+0.2s+1)’)

3)斜坡响应

MATLAB 没有直接调用求系统斜坡响应的功能指令。在求取斜坡响应时,通常利

用阶跃响应的指令。基于单位阶跃信号的拉氏变换为1/s ,而单位斜坡信号的拉氏变换

为1/s 2。因此,当求系统G(s)的单位斜坡响应时,可以先用s 除G(s),再利用阶跃响应

命令,就能求出系统的斜坡响应。

例如,试求下列闭环系统的单位斜坡响应。

1

1)()(2++=s s s R s C 对于单位斜坡输入量,R(s)=1/s 2 ,因此

s

s s s s s s s C 1)1(1111)(222?++=?++= 在MATLAB 中输入以下命令,得到如图2-5所示的响应曲线:

num=[0 0 0 1];

den=[1 1 1 0];

step(num,den)

title(‘Unit -Ramp Response Cuve for System G(s)=1/(s^2+s+1)’)

2. 特征参量ζ和n ω对二阶系统性能的影响

标准二阶系统的闭环传递函数为:

2222)()(n

n n s s s R s C ωζωω++=

图2-5 单位斜坡响应

1)ζ对二阶系统性能的影响

设定无阻尼自然振荡频率)/(1s rad n =ω,考虑5种不同的ζ值:ζ=0,0.25,0.5,1.0

和2.0,利用MATLAB 对每一种ζ求取单位阶跃响应曲线,分析参数ζ对系统的影响。

为便于观测和比较,在一幅图上绘出5条响应曲线(采用“hold ”命令实现)。

num=[0 0 1]; den1=[1 0 1]; den2=[1 0.5 1];

den3=[1 1 1]; den4=[1 2 1]; den5=[1 4 1];

t=0:0.1:10; step(num,den1,t)

grid

text(4,1.7,’Zeta=0’); hold

step(num,den2,t)

text (3.3,1.5,’0.25’)

step(num,den3,t)

text (3.5,1.2,’0.5’)

step(num,den4,t)

text (3.3,0.9,’1.0’)

step(num,den5,t)

text (3.3,0.6,’2.0’)

title(‘Step-Response Curves for G(s)=1/[s^2+2(zeta)s+1]’)

由此得到的响应曲线如图2-6所示:

2)n ω对二阶系统性能的影响

同理,设定阻尼比25.0=ζ时,当n ω分别取1,2,3时,利用MATLAB 求取单位阶跃

响应曲线,分析参数n ω对系统的影响。

num1=[0 0 1]; den1=[1 0.5 1];

图2-6 ζ不同时系统的响应曲线

t=0:0.1:10; step(num1,den1,t);

grid; hold on

text(3.1,1.4,’wn =1’)

num2=[0 0 4]; den2=[1 1 4];

step(num2,den2,t); hold on

text(1.7,1.4,’wn=2’)

num3=[0 0 9]; den3=[1 1.5 9];

step(num3,den3,t); hold on

text(0.5,1.4,’wn=3’)

由此得到的响应曲线如图2-7所示:

3.系统稳定性判断

1)直接求根判稳roots()

控制系统稳定的充要条件是其特征方程的根均具有负实部。因此,为了判别系统的

稳定性,就要求出系统特征方程的根,并检验它们是否都具有负实部。MATLAB 中对

多项式求根的函数为roots()函数。

若求以下多项式的根24503510234++++s s s s ,则所用的MATLAB 指令为:

>> roots([1,10,35,50,24])

ans =

-4.0000

-3.0000

-2.0000

-1.0000

特征方程的根都具有负实部,因而系统为稳定的。

图2-7 n ω不同时系统的响应曲线

劳斯判据的调用格式为:[r, info]=routh(den)

该函数的功能是构造系统的劳斯表。其中,den为系统的分母多项式系数向量,r 为返回的routh表矩阵,info为返回的routh表的附加信息。

以上述多项式为例,由routh判据判定系统的稳定性。

den=[1,10,35,50,24];

[r,info]=routh(den)

r=

1 35 24

10 50 0

30 24 0

42 0 0

24 0 0

info=

[ ]

由系统返回的routh表可以看出,其第一列没有符号的变化,系统是稳定的。

3)赫尔维茨判据hurwitz()

赫尔维茨的调用格式为:H=hurwitz(den)。该函数的功能是构造hurwitz矩阵。其中,den为系统的分母多项式系数向量。

以上述多项式为例,由hurwitz判据判定系统的稳定性。

>>den=[1,10,35,50,24]; H=hurwitz(den)

H=

10 50 0 0

1 35 24 0

0 10 50 0

0 1 35 24

由系统返回的hurwitz矩阵可以看出,系统是稳定的。与前面的分析结果完全一致。

注意:routh()和hurwitz()不是MATLAB中自带的功能函数,须加载ctrllab3.1文件夹(自编)才能运行。

三、实验内容

1.观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为

1

46473)(2342++++++=s s s s s s s G 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。

2.对典型二阶系统

2222)(n

n n s s s G ωζωω++= 1)分别绘出)/(2s rad n =ω,ζ分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,

分析参数ζ对系统的影响,并计算ζ=0.25时的时域性能指标ss s p r p e t t t ,,,,σ。

2)绘制出当ζ=0.25, n ω分别取1,2,4,6时单位阶跃响应曲线,分析参数n ω对系统

的影响。

3.系统的特征方程式为010532234=++++s s s s ,试用三种判稳方式判别该系统

的稳定性。

4.单位负反馈系统的开环模型为

)

256)(4)(2()(2++++=s s s s K s G 试分别用劳斯稳定判据和赫尔维茨稳定判据判断系统的稳定性,并求出使得闭环系统稳

定的K 值范围。

四、实验报告

1.根据内容要求,写出调试好的MATLAB 语言程序,及对应的MATLAB 运算结果。

2. 记录各种输出波形,根据实验结果分析参数变化对系统的影响。

3.总结判断闭环系统稳定的方法,说明增益K 对系统稳定性的影响。

4.写出实验的心得与体会。

五、预习要求

1. 预习实验中基础知识,运行编制好的MATLAB 语句,熟悉MATLAB 指令及step( )

和impulse( )函数。

2. 结合实验内容,提前编制相应的程序。

3.思考特征参量ζ和n ω对二阶系统性能的影响。

4.熟悉闭环系统稳定的充要条件及学过的稳定判据。

实验三 线性系统的根轨迹

一、实验目的

1. 熟悉MATLAB 用于控制系统中的一些基本编程语句和格式。

2. 利用MATLAB 语句绘制系统的根轨迹。

3. 掌握用根轨迹分析系统性能的图解方法。

4. 掌握系统参数变化对特征根位置的影响。

二、基础知识及MATLAB 函数

根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s 平面上的变化轨

迹。这个参数一般选为开环系统的增益K 。课本中介绍的手工绘制根轨迹的方法,只能

绘制根轨迹草图。而用MATLAB 可以方便地绘制精确的根轨迹图,并可观测参数变化

对特征根位置的影响。

假设系统的对象模型可以表示为

n

n n n m m m m a s b s a s b s b s b s b K s KG s G ++++++++==--+-11111210)()( 系统的闭环特征方程可以写成

0)(10=+s KG

对每一个K 的取值,我们可以得到一组系统的闭环极点。如果我们改变K 的数值,则

可以得到一系列这样的极点集合。若将这些K 的取值下得出的极点位置按照各个分支连

接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。

1)绘制系统的根轨迹rlocus ()

MATLAB 中绘制根轨迹的函数调用格式为:

rlocus(num,den) 开环增益k 的范围自动设定。

rlocus(num,den,k) 开环增益k 的范围人工设定。

rlocus(p,z) 依据开环零极点绘制根轨迹。

r=rlocus(num,den) 不作图,返回闭环根矩阵。

[r,k]=rlocus(num,den) 不作图,返回闭环根矩阵r 和对应的开环增益向量k 。

其中,num,den 分别为系统开环传递函数的分子、分母多项式系数,按s 的降幂排

列。K 为根轨迹增益,可设定增益范围。

例3-1:已知系统的开环传递函数9

24)1()(23++++=*

s s s s K s G ,绘制系统的根轨迹的MATLAB 的调用语句如下:

num=[1 1]; %定义分子多项式

den=[1 4 2 9]; %定义分母多项式

rlocus (num,den) %绘制系统的根轨迹

grid %画网格标度线

xlabel(‘Real Axis ’),ylabel(‘Imaginary Axis ’) %给坐标轴加上说明

title(‘Root Locus ’) %给图形加上标题名

则该系统的根轨迹如图3-1所示:

若上例要绘制K 在(1,10)的根轨迹图,则此时的MATLAB 的调用格式如下,对

应的根轨迹如图3-2所示。

num=[1 1];

den=[1 4 2 9];

k=1:0.5:10;

rlocus (num,den,k)

2)确定闭环根位置对应增益值K 的函数rlocfind ()

在MATLAB 中,提供了rlocfind 函数获取与特定的复根对应的增益K 的值。在求

出的根轨迹图上,可确定选定点的增益值K 和闭环根r (向量)的值。该函数的调用格

式为:

[k,r]=rlocfind(num,den)

执行前,先执行绘制根轨迹命令rlocus (num,den ),作出根轨迹图。执行rlocfind

命令时,出现提示语句“Select a point in the graphics window ”,即要求在根轨迹

图3-1 系统的完整根轨迹图形 图3-2 特定增益范围内的根轨迹图形

“+”标记,即得到了该点的增益K 和闭环根r 的返回变量值。

例3-2:系统的开环传递函数为253865)(232+++++=*

s s s s s K s G ,试求:(1)系统的根轨迹;(2)系统稳定的K 的范围;(3)K=1时闭环系统阶跃响应曲线。则此时的MATLAB

的调用格式为:

G=tf([1,5,6],[1,8,3,25]);

rlocus (G); %绘制系统的根轨迹

[k,r]=rlocfind(G) %确定临界稳定时的增益值k 和对应的极点r

G_c=feedback(G ,1); %形成单位负反馈闭环系统

step(G_c) %绘制闭环系统的阶跃响应曲线

则系统的根轨迹图和闭环系统阶跃响应曲线如图3-2所示。

其中,调用rlocfind ()函数,求出系统与虚轴交点的K 值,可得与虚轴交点的K

值为0.0264,故系统稳定的K 的范围为),0264

.0(∞∈K 。

3)绘制阻尼比ζ和无阻尼自然频率n ω的栅格线sgrid( )

当对系统的阻尼比ζ和无阻尼自然频率n ω有要求时,就希望在根轨迹图上作等ζ

或等n ω线。MATLAB 中实现这一要求的函数为sgrid( ),该函数的调用格式为:

sgrid(ζ,n ω) 已知ζ和n ω的数值,作出等于已知参数的等值线。

sgrid(‘new’) 作出等间隔分布的等ζ和n ω网格线。

例3-3:系统的开环传递函数为)

2)(1(1)(++=s s s s G ,由rlocfind 函数找出能产生主导极点阻尼ζ=0.707的合适增益,如图3-3(a)所示。

G=tf(1,[conv([1,1],[1,2]),0]);

(a )根轨迹图形 (b )K=1时的阶跃响应曲线 图3-2 系统的根轨迹和阶跃响应曲线

zet=[0.1:0.2:1];wn=[1:10];

sgrid(zet,wn);hold on;rlocus(G)

[k,r]=rlocfind(G)

Select a point in the graphics window

selected_point =

-0.3791 + 0.3602i

k =

0.6233

r =

-2.2279

-0.3861 + 0.3616i

-0.3861 - 0.3616i

同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图3-3(b)所示。事实上,ω线在设计系补偿器中是相当实用的,这样设计出的增益K=0.6233将使得整等ζ或等

n

个系统的阻尼比接近0.707。由下面的MATLAB语句可以求出主导极点,即r(2.3)点的阻尼比和自然频率为

G_c=feedback(G,1);

step(G_c)

dd0=poly(r(2:3,:));

wn=sqrt(dd0(3));zet=dd0(2)/(2*wn);[zet,wn]

ans =

0.7299 0.5290

我们可以由图3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近,设计的效果是令人满意的。

4)基于根轨迹的系统设计及校正工具rltool

MATLAB 中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个

前向通路中添加零极点(亦即设计控制器),从而使得系统的性能得到改善。实现这一

要求的工具为rltool ,其调用格式为:

rltool 或 rltool(G)

例3-4:单位负反馈系统的开环传递函数

)

50)(20)(5(125.0)(2++++=s s s s s s G 输入系统的数学模型,并对此对象进行设计。

den=[conv([1,5],conv([1,20],[1,50])),0,0];

num=[1,0.125];

G=tf(num,den);

rltool(G)

该命令将打开rltool 工具的界面,显示原开环模型的根轨迹图,如图3-4(a )所

示。单击该图形菜单命令Analysis 中的Response to Step Command 复选框,则将打开

一个新的窗口,绘制系统的闭环阶跃响应曲线,如图3-4(b )所示。可见这样直接得出

的系统有很强的振荡,就需要给这个对象模型设计一个控制器来改善系统的闭环性能。

单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳定

零点,调整它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则可以

试凑地设计出一个控制器

a )原对象模型的根轨迹 (

b )闭环系统阶跃响应 图3-4 根轨迹设计工具界面及阶跃响应分析

)

84.03.61)(84.03.61()26.10)(31.38(29.181307)(j s j s s s s G C -+++++= 在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。可见,rltool 可

以作为系统综合的实用工具,在系统设计中发挥作用。

三、实验内容

1.请绘制下面系统的根轨迹曲线

)

136)(22()(22++++=s s s s s K s G )

10)(10012)(1()12()(2+++++=s s s s s K s G )

11.0012.0)(10714.0()105.0()(2++++=s s s s K s G 同时得出在单位阶跃负反馈下使得闭环系统稳定的K 值的范围。

2. 在系统设计工具rltool 界面中,通过添加零点和极点方法,试凑出上述系统,

并观察增加极、零点对系统的影响。

四、实验报告

1.根据内容要求,写出调试好的MATLAB 语言程序,及对应的结果。

2. 记录显示的根轨迹图形,根据实验结果分析根轨迹的绘制规则。

3. 根据实验结果分析闭环系统的性能,观察根轨迹上一些特殊点对应的K 值,确

定闭环系统稳定的范围。

4.根据实验分析增加极点或零点对系统动态性能的影响。

5.写出实验的心得与体会。

五、预习要求

1. 预习实验中的基础知识,运行编制好的MATLAB 语句,熟悉根轨迹的绘制函数

rlocus()及分析函数rlocfind(),sgrid()。

2. 预习实验中根轨迹的系统设计工具rltool ,思考该工具的用途。

3. 掌握用根轨迹分析系统性能的图解方法,思考当系统参数K 变化时,对系统稳

定性的影响。

实验四 线性系统的频域分析

一、实验目的

1.掌握用MATLAB 语句绘制各种频域曲线。

2.掌握控制系统的频域分析方法。

二、基础知识及MATLAB 函数

频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正

弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频

率特性,分析方法比较简单,物理概念明确。

1.频率曲线主要包括三种:Nyquist 图、Bode 图和Nichols 图。

1)Nyquist 图的绘制与分析

MATLAB 中绘制系统Nyquist 图的函数调用格式为:

nyquist(num,den) 频率响应w 的范围由软件自动设定

nyquist(num,den,w) 频率响应w 的范围由人工设定

[Re,Im]= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图

例4-1:已知系统的开环传递函数为2

5262)(23++++=s s s s s G ,试绘制Nyquist 图,并判断系统的稳定性。

num=[2 6];

den=[1 2 5 2];

[z,p,k]=tf2zp(num,den); p

nyquist(num,den)

极点的显示结果及绘制的Nyquist 图如图4-1所示。由于系统的开环右根数P=0,系统

的Nyquist 曲线没有逆时针包围(-1,j0)点,所以闭环系统稳定。

p =

-0.7666 + 1.9227i

-0.7666 - 1.9227i

-0.4668

SIMULINK仿真方法简介

SIMULINK仿真方法简介 SIMULINK是一个进行动态系统的建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。 在SIMULINK提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可以构造出复杂的仿真模型。它的外表以方框图形式呈现,且采用分层结构。从建模角度,SIMULINK 既适用于自上而下的设计流程,又适用于自下而上的逆程设计。从分析研究角度,这种SIMULINK模型不仅让用户知道具体环节的动态细节,而且能够让用户清晰的了解各器件、各子系统、各系统间的信息交换,掌握各部分的交互影响。 1. 应用SIMULINK的基本操作 1)在MATLAB的命令窗运行指令simulink或点击命令窗口中的图标,便可以打开如图B1-2所示的SIMULINK模块库浏览器(Simulink Library Browser)。 图B1-2 SIMULINK库浏览器 2)点击Source字库前的“+”号(或双击字库名),便可以得到各种信源模块,如图B1-3。 图B1-3 信源子库的模块 3)点击“新建”图标,打开一个名为untitled的空白模型窗口,如图B1-4。

图B1-4 SIMULINK的新建模型窗口 4)用鼠标指向所需的信号源(如阶跃信号Step),按下鼠标左键,把它拖至untitled窗,就生成一个阶跃信号的复制品。,如图B1-5。 图B1-5模型创建中的模型窗口 5)采用上述方法,将信宿库Sink中的示波器scope拷贝到模型窗口,把鼠标指向信源右侧的输出端,当光标变成十字符时,按住鼠标任意键,移向示波器的输入端,就完成了两个模块间的信号连接,如图B1-6。 图B1-6 创建模型完毕中的模型窗口 6)进行仿真,双击示波器,打开示波器显示屏,如图1-7。点击模型窗口中的“仿真启动” 图标或点击simulink菜单下的start,仿真就开始了,就可以观测到阶跃信号的波形了,如图B1-7。

simulink 仿真教程(从入门到入土)+报告(真)

Simulink仿真 摘要:simulink作为matlab的衍生模组,具有强大的仿真能力。原则上你可以将任意具有明确映射关系的物理量进行仿真模拟。对于相互间关系不明确的物理量,则可以通过输入输出数据的采集,然后通过模糊控制的方案替代明确的映射关系。本文主要针对的是以电焊机电路为主,其他仿真为辅的教程性质的文章。关键词:matlab Simulink 仿真电焊机教程 第一章初识软件 (2) 1.1 simulink 简介 (2) 1.2 simulink基础页面 (2) 1.3 常用库的介绍 (3) 1.3.1 simulink库 (4) 1.3.1.1 常用模块库 (4) 1.3.1.2 其他常用子库模块 (6) 1.3.2 电气库Simscape (7) 1.3.2.1 Electrical库 (7) 1.3.2.2 Specialized Technology库 (8) 1.4模块连接 (9) 第二章简单仿真系统的建立 (11) 2.1传递函数S信号仿真 (11) 2.1.1 运放环节的等效替代 (11) 2.1.2 等效变换 (12) 2.1.3 逻辑仿真 (13) 2.2电气库仿真 (13) 2.3子系统和模块的建立 (15) 2.3.1 子系统的建立 (15) 2.3.2 模块的建立 (16) 第三章复合仿真 (18) 3.1 m函数模块 (18) 3.1.1 简单编程 (18) 3.1.2 部分函数介绍 (19) 3.2 整体模型 (21) 3.3 仿真注意事项 (22) 3.3.1 注意事项1 (22) 3.3.2 注意事项2 (23) 3.3.3 注意事项3 (24) 3.3.4 注意事项4 (24) 结语 (25)

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

adams和simulink联合仿真的案例分析

相信大家在联合仿真ADAMS和SIMULINK时都会遇到很多的问题:ADAMS/contro中的例子ball_beam通过联合仿真,更容易理解adams和simulink的联合仿真精髓。小球在一脉冲力的作用下沿着横梁滚动,此时梁的两端受力不平衡,梁的一段倾斜,为了使得小球不掉下横梁,在横梁上施加一个绕Z轴的力矩,横梁达到一定的角度之后逆向转动,然后小球就在这个作用力矩的控制下来回滚动而不掉下横梁!其中控制力矩在整个过程中是个动态变化的,力矩Torque_In是通过位移Position 和横梁转角Beam_Angle确定,这个是在simulink中通过框图完成的。 首先我申明一下我用的是adams2003和matlab6.5 以下我说明一下我的操作步骤: 1、把control中的ball_beam文件copy到另外一个文件夹下,同时设置adams和matlab的默认路径即为ball_beam文件夹,这样可以省略很多不必要的麻烦! 2、用aview打开ball_beam.cmd文件,先试试仿真一下,可以看到小球会在脉冲的作用下滚动,仿真时间最好大于8s 3、载入control模块,点击tools|plugin manager在control框选定。 4、点击control|plant export在file prefix下输入你的文件名,这个可以随便的,我输入的是myball,在plant input点击右键点

击guess选定tmp_MDI_PINPUT,在tmp_MDI_PINPUT中就是输入力矩Torque_In,只有一个输入参数;同样在plant output 中点击右键guess选定tmp_MDI_POUTPUT,这是模型的输出变量横梁转角Beam_Angle和小球与横梁中心轴的距离position。control package选择matlab,type是non_linear,初始化分析选择no,然后按ok!此时m文件已经生成了! 5、打开matalb,设置你的工作路径在ball_beam文件夹上,键入myball,马上有 %%% INFO : ADAMS plant actuators names : 1 Torque_In %%% INFO : ADAMS plant sensors names : 1 Beam_Angle 2 Position 出现 6、再键入adams_sys,弹出一个控制框图,这时可以新建一个mdl文件,将adams_sub拖入你新建的mdl框图中,其实再这里有一个偷懒的办法,就是在matlab中打开ball_beam.mdl文件,然后把他的那个adams_sub用你的刚产生的这个代替,然后另存为my_ball.mdl!

matlab-simulink 初级教程

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

matlab的Simulink简介

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 Simulink;是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。. 构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB® 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 丰富的可扩充的预定义模块库 交互式的图形编辑器来组合和管理直观的模块图 以设计功能的层次性来分割模型,实现对复杂设计的管理 通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码 提供API用于与其他仿真程序的连接或与手写代码集成 使用Embedded MATLAB?模块在Simulink和嵌入式系统执行中调用MATLAB算法 使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型 图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为 可访问MATLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据 模型分析和诊断工具来保证模型的一致性,确定模型中的错误 平面连杆机构 英文名称: planar linkage mechanism

simulink仿真说明

Simulink是Simulation和link仿真链接。是一个附加组件,为用户提供了一个建模与仿真的工作平台,由于许多功能是基于MATLAB平台的。必须在MATLAB环境中运行,也把他称为一个MATLAB的工具箱。 以前MATLAB仿真编程是在文本窗口中进行的。输入函数是命令和MATLAB 函数,在simulink 中与用户的交互接口是基于windows的模型化图形输入,用户可以通过单击拖动鼠标的方式绘制和组织系统,并完成对系统的仿真。因此对于我们来说只需知道这些功能模块的输入输出、功能以及图形界面的使用方法。就可以用鼠标和键盘进行仿真。 三种方法进入Simulink 1、在MATLAB菜单栏中单击FILE,在下拉菜单的NEW选项中单击MODEL. 2、在MATLAB工具栏中单击彩色图标,然后在打开的模型库浏览器窗口中单击 ‘新建文件‘ 3、在MATLAB命令窗口中输入Simulink,然后在打开的模型库浏览器窗口中单 击‘新建文件‘。 一、模块的提取 左键拖曳 右键add to 二、模块的移动放大和缩小 移动:左键拖曳选中后用方向键脱离线移动按住shift 然后拖曳 缩放 : 点击模块四个角拖曳 三、复制粘贴和删除和windows一样删除选择clear 四、模块的旋转:右键点击然后选择Flip block 顺时针转180度 rotate block 顺时针90度。 五、模块名的修改移动:单击该模块名出现一个小框可以像文本一样修改移动 还可以右键单击然后Hide name 六、模块参数设置:双击 七、模块连接:光标的箭头对准模块的输出端变成+后按下左键拖曳到另一个 输入端松开左键。 八、连线的弯折开始画线时,在需要弯折的地方松开鼠标停顿一下,然后继续 按下鼠标左键改变方向即可。 移动光标指向要移动的线段,然后拖动鼠标即可 删除选中要删除的部分,然后delete 直流电动机的直接启动 新建一个simulink 仿真平台打开simulink然后点击新建 打开simpowersystems的加号在electrical source中选择D C Voltage Source拖曳到仿真平台 Elements里面选Breaker Connectors 里面选择Ground output把电源正端接到断路器的1端,电源负端接

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

(完整版)matlab_4_SIMULINK仿真及DEE实例步骤

SIMULINK & DEE简介 ※如何进入SIMULINK? Step1:进入MATLAB Step2: 方法一:在workspace输入simulink的指令。 方法二:点选MATLAB Command Window上方之利用以上方法会获得下面的结果

※ 如何利用SIMULINK 解ODE Example1:2311+-='x x Step1:?'=dt x x 11 ? 在Library 中点选Continuous ,在Continuous 中选取integrator ,按住鼠标左键拖曳至untitled 中,分别在各接点拉上连接线并标明各个涵义。 Step2:2311+-='x x (1)从Math 中点选Gain 的图标,拖曳至untitled 中,并选取命令列中Format/Flip Block 使其转ο180

(2)从Math中,拖曳Sum至untitled中 (3)从Source中,用鼠标拖曳Constant至untitled,并把各点连结起来。 (4)从Sink中拖曳Scope至untitled中,并与 x连结 1

(5)把Constant改为2,把Gain改为-3。 Step3:设定参数 (1)选择Simulation/Parameters (2)调整适当的起始时间、结束时间和数值方法。

(3)点选Simulation/Start ,开始仿真。 (4)点选Scope ,显示仿真的结果。 Example2:???+-='+='-)cos(212 211t x x x e x x x t 1)0(0)0(21==x x Step1:???'='=??dt x x dt x x 2211 ? (1)点选Continuous 中之Integrator ,拖曳至untitled 。

状态空间与simulink仿真

考虑以下系统 u x X ???? ??????+??????????-----=102101110221 []x y 001= 对系统设计一个状态反馈控制器使得闭环阶跃响应的超调量小于5%,且在稳态值1%范围的调节时间小于4.6S 。 ○ 1主导二阶极点方法配置极点 分析: 超调量小于5%,即 %52 1≤--ξξπ e 算得69.0≥ξ 稳态值1%范围的调节时间小于4.6S ,即 6.46 .4≤= σ s t 1≥σ 下面首先对系统的能控性进行判断,以编程方式实现 a=[-1 -2 -2;0 -1 1;1 0 -1]; b=[2;0;1]; %输入a ,b 矩阵 q=[b a*b a^2*b] rank(q) 计算结果为 ??????????--=511010042q q 的秩为3 因此该系统为完全能控型系统,在满足系统要求的前提下,理论上能任意配置期望极点 下面根据具体的求解思路进行编程求解反馈控制器k

g=poly(a); %求原系统的特征方程 a2=g(2);a1=g(3);a0=g(4); w=[1 0 0;a2 1 0;a1 a2 1]; q1=[a^2*b a*b b]; p=q1*w; %求解转换矩阵 deta=1; zeta=0.75; wn=deta/zeta; %输入满足条件的ζ和δ den=conv([1 4],[1 2*deta wn^2]); %输入期望极点(-4,-1±0.88i) aa2=den(2);aa1=den(3);aa0=den(4); k=[aa0-a0 aa1-a1 aa2-a2]; k1=k*(inv(p)) %输出配置矩阵k k 得到[] 1 . 1 1= 4778 . . 0444 6444 下面对系统进行验证,是否满足条件 ahat=a-b*k1; bhat=b; chat=[1 0 0]; dhat=0; sys=ss(ahat,bhat,chat,dhat); step(sys,'r'); sys1=ss(a,b,c,d); hold on; grid on; step(sys1,'.-'); (其中sys1为未加控制器的原系统) 由图可知,系统在进行配置之前并未满足系统要求,在增加控制器之后,系统要求得到满足。

simulink_matlab仿真教程

simulink matlab仿真环境教程 Simulink是面向框图的仿真软件。 演示一个Simulink的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图1.1所示。 图7.1 Simulink界面 (2) 单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“Sine Wave”模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave”模块添加到untitled窗口,如图1.2所示。

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 ?在图1.1的Simulink模块库浏览器窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。 ?在图1.3的Simulink模型窗口选择菜单“File”“New”“Model”,或者单击工具栏的图标。 2. 打开文件 打开仿真模型文件有几种操作: 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

几个简单的simulink仿真模型

一频分复用和超外差接收机仿真 目的 1熟悉Simulink模型仿真设计方法 2掌握频分复用技术在实际通信系统中的应用 3理解超外差收音机的接收原理 内容 设计一个超外差收接收机系统,其中发送方的基带信号分别为1000Hz的正弦波和500Hz的方波,两路信号分别采用1000kHz和1200kHz的载波进行幅度调制,并在同一信道中进行传输。要求采用超外差方式对这两路信号进行接收,并能够通过调整接收方的本振频率对解调信号进行选择。 原理 超外差接收技术广泛用于无线通信系统中,基本的超外差收音机的原理框图如图所示: 图1-1超外差收音机基本原理框图 从图中可以看出,超外差接收机的工作过程一共分为混频、中频放大和解调三个步骤,现分别叙述如下: 混频:由天线接收到的射频信号直接送入混频器进行混频,混频所使用的本机振荡信号由压控振荡器产生,并可根据调整控制电压随时调整振荡频率,使得器振荡频率始终比接收信号频率高一个中频频率,这样,接受信号与本机振荡在混频器中进行相乘运算后,其差频信号的频率成分就是中频频率。其频谱搬移过程如下图所示:

图1-2 超外差接收机混频器输入输出频谱 中频放大:从混频模块输出的信号中包含了高频和中频两个频率成分,这样一来只要采用中频带通滤波器选出进行中频信号进行放大,得到中频放大信号。 解调:将中频放大后的信号送入包络检波器,进行包络检波,并解调出原始信号。 步骤 1、设计两个信号源模块,其模块图如下所示,两个信号源模块的载波分别为1000kHz,和1200kHz,被调基带信号分别为1000Hz的正弦波和500Hz的三角波,并将其封装成两个子系统,如下图所示: 图1-2 信源子系统模型图 2、为了模拟接收机距离两发射机距离不同引起的传输衰减,分别以Gain1和Gain2模块分别对传输信号进行衰减,衰减参数分别为0.1和0.2。最后在信道中加入均值为0,方差为0.01的随机白噪声,送入接收机。 3、接收机将收到的信号直接送入混频器进行混频,混频所使用的本机振荡信号由压控振荡器产生,其中压控振荡器由输入电压进行控制,设置Slider Gain模块,使输入参数在500至1605可调,从而实现本振的频率可控。压控振荡器的本振频率设为465kHz,灵敏度设为1000Hz/V。

saber中文使用教程SaberSimulink协同仿真

Saber中文使用教程之软件仿真流程 今天来简单谈谈 Saber 软件的仿真流程问题。利用 Saber 软件进行仿真分析主要有两种途径,一种是基于原理图进行仿真分析,另一种是基于网表进行仿真分析。前一种方法的基本过程如下: a. 在 SaberSketch 中完成原理图录入工作; b. 然后使用 netlist 命令为原理图产生相应的网表; c. 在使用 simulate 命令将原理图所对应的网表文件加载到仿真器中,同时在Sketch 中启动 SaberGuide 界面; d. 在 SaberGuide 界面下设置所需要的仿真分析环境,并启动仿真; e. 仿真结束以后利用 CosmosScope 工具对仿真结果进行分析处理。 在这种方法中,需要使用 SaberSketch 和 CosmosScope 两个工具,但从原理图开始,比较直观。所以,多数 Saber 的使用者都采用这种方法进行仿真分析。但它有一个不好的地方就是仿真分析设置和结果观察在两个工具中进行,在需要反复修改测试的情况下,需要在两个窗口间来回切换,比较麻烦。而另一种方法则正好能弥补它的不足。基于网表的分析基本过程如下: a. 启动 SaberGuide 环境,即平时大家所看到的 Saber Simulator 图标,并利用 load design 命令加载需要仿真的网表文件 ; b. 在 SaberGuide 界面下设置所需要的仿真分析环境,并启动仿真; c. 仿真结束以后直接在 SaberGuide 环境下观察和分析仿真结果。 这种方法要比前一种少很多步骤,并可以在单一环境下实现对目标系统的仿真分析,使用效率很高。但它由于使用网表为基础,很不直观,因此多用于电路系统结构已经稳定,只需要反复调试各种参数的情况;同时还需要使用者对 Saber 软件网表语法结构非常了解,以便在需要修改电路参数和结构的情况下,能够直接对网表文件进行编辑 saber中文使用教程Saber/Simulink协同仿真 接下来需要在Saber中定义输入输出接口以便进行协同仿真,具体过程如下

教材-第九章Simulink仿真介绍

下篇电机学MATLAB仿真 MATLAB因其完整的专业体系和先进的设计开发思路,在多个领域得到了广泛应用。其产品SIMULINK是一个动态系统建模、仿真和综合分析的集成软件包,在SIMULINK提供的图形用户界面(GUI)上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型,它能让使用者在可视化图形方式下以最小的代价来模拟系统的动态运行过程。电机的SIMULINK仿真模型构建主要使用SIMULINK中的电力系统仿真模块库(SimPowerSystem),该库是由加拿大的Hydro Quebec公司和TECSIM International公司共同开发的,功能非常强大,可以应用于电路、电力电子系统、电机系统、电路系统等领域的仿真。使用者可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。 为加深学生对电机学理论知识及先前实验的理解,本教材下篇应用MATLAB R2009b 软件,借助于MATLAB/SIMULINK强大功能,对电机与拖动控制中主要实验进行建模仿真。 第九章Simulink简介 其产品SIMULINK是一个动态系统建模、仿真和综合分析的集成软件包,在SIMULINK 提供的图形用户界面(GUI)上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型,它能让使用者在可视化图形方式下以最小的代价来模拟系统的动态运行过程。SIMULINK 是Simulation和Link两个英文单词的缩写,意思是仿真链接,MATLAB模型库都在此环境中使用,从模型库中提取模型放到SIMULINK的仿真平台上进行仿真。所以,有关SIMULINK的操作是仿真应用的基础。电机的SIMULINK仿真模型构建主要使用SIMULINK中的电力系统仿真模块库(SimPowerSystem),该库是由加拿大的Hydro Quebec 公司和TECSIM International公司共同开发的,功能非常强大,可以应用于电路、电力电子系统、电机系统、电路系统等领域的仿真。使用者可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。 9.1 SIMULINK的工作环境 1 SIMULINK启动 在MA TLAB中,启动SIMULINK环境有以下几种方法: (1)在MATLAB的菜单栏上选择File,在下拉菜单中的New选项下选中Model,如图9-1所示。

matlab-SIMULINK仿真实例资料

二并联杆数控螺旋面钻头尖刃磨机的机构仿真 一、仿真原理一、实训题目:全自动洗衣机控制系统 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉传输带控制系统的原理及要求 实训设备:: 1、OMRON PLC及模拟实验装置1台 2、安装CX-P编程软件的PC机1台 3、PC机PLC通讯的RS232电缆线1根 实训内容: 1、分析工艺过程,明确控制要求 (1)按下启动按扭及水位选择开关,相应的显示灯亮,开始进水直到高(中、低)水位,关水。 (2)2秒后开始洗涤。 (3)洗涤时,正转30秒停2秒;然后反转30秒停2秒。 (4)循环5次,总共320秒,然后开始排水。排水后脱水30秒。 图1 全自动洗衣机控制 2、统计I/O点数并选择PLC型号 输入:系统启动按钮一个,系统停止按钮一个,高、中、低水位控制开关三个,高、中、低液位传感器三个,以及排水液位传感器一个。

输出:进出水显示灯一盏,高、中、低水位显示灯各一盏,电机正、反转显示灯各一盏,排水、脱水显示灯灯各一盏。 PLC的型号:输入一共有9个,考虑到留有15%~20%的余量即9×(1+15%)=10.35,取整数10,所以共需10个输入点。输出共有8个,8×(1+15%)=9.2,取整数9,所以共需9个输出点。可以选OMRON公司的CPM1A/CPM2A 型PLC就能满足此例的要求。 3、I/O分配 表1 全自动洗衣机控制I/O分配表 输入输出 地址名称地址名称 00000 启动系统按钮01000 排水显示灯 00001 高水位选择按钮01001 脱水显示灯 00002 中水位选择按钮01002 进、出水显示灯 00003 低水位选择按钮01003 高水位显示灯 00004 排水液位传感器01004 中水位显示灯 00005 停止系统按钮01005 低水位显示灯 00006 高水位液位传感器01006 电机正转显示灯 00007 中水位液位传感器01007 电机反转显示灯 00008 低水位液位传感器 4、PLC控制程序设计及分析 实现功能:当按下按钮00000,中间继电器20000得电并自锁,按下停止按钮00005,中间继电器20000掉电。中间继电器20000为系统总启动。 实现功能:当按下按钮00001,中间继电器20001得电并自锁;当中间继电器20002、20003、20004、20007任意一个为ON,或按下停止按钮00005,或01000、01001为ON时,中间继电器20001掉电。

Simulink仿真教程

Simulink仿真教程 1.1 Simulink 基本操作 1.1.1 启动Simulink a)打开 单击MATLAB Command窗口工具条上的Simulink图标,或者在MATLAB命令窗口输入Simulink,即弹出图示的模块库窗口界面(Simulink Library Browser)。该界面右边的窗口给出Simulink所有的子模块库。 常用的子模块库有Sources(信号源),Sink(显 示输出),Continuous(线性连续系统),Discrete (线性离散系统),Function & Table(函数与 表格),Math(数学运算),Discontinuities (非 线性),Demo(演示)等。 每个子模块库中包含同类型的标准模型,这 些模块可直接用于建立系统的Simulink框图 模型。可按以下方法打开子模块库: 1)用鼠标左键点击某子模块库(如 【Continuous】),Simulink浏览器右边 的窗口即显示该子模块库包含的全部标准模块。 2)用鼠标右键点击Simulink菜单项,则弹出一菜单条,点击该菜单条即弹出该子库的标准模块窗口.如单击左图中的【Sinks】,出现“Open the ‘Sinks’Library”菜单条,单击该菜单条,则弹出右图所示的该子库的标准模块窗口。 b)打开空白窗口模型 模型窗口用来建立系统的仿真模型。只有先创建一个空白的模型窗口,才能将模块库的相应模块复制到该窗口,通过必要的连接,建立起Simulink仿真模型。也将这种窗口称为Simulink 仿真模型窗口。 以下方法可用于打开一个空白模型窗口: 1)在MATLAB主界面中选择【File:New→Model】 菜单项; 2)单击模块库浏览器的新建图标; 3)选中模块库浏览器的【File : New → Model】菜 单项。 所打开的空白模型窗口如图所示。

SIMULINK仿真的运行

SIMULINK仿真的运行 构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运 行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析。 一、设置仿真参数和选择解法器 设置仿真参数和选择解法器,选择Simulation菜单下的Parameters命令, 就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。 Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。 Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。 Diagnostics页,允许用户选择Simulink在仿真中显示的警告信息的等级。1、Solver页 此页可以进行的设置有:选择仿真开始和结束的时间;选择解法器,并设定它 的参数;选择输出项。 仿真时间:注意这里的时间概念与真实的时间并不一样,只是计算机仿真中对 时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执 行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。 一般仿真开始时间设为0,而结束时间视不同的因素而选择。总的说来,执行 一次仿真要耗费的时间依赖于很多因素,包括模型的复杂程度、解法器及其步 长的选择、计算机时钟的速度等等。 仿真步长模式:用户在Type后面的第一个下拉选项框中指定仿真的步长选取 方式,可供选择的有Variable-step(变步长)和Fixed-step(固定步长)方式。变步长模式可以在仿真的过程中改变步长,提供误差控制和过零检测。固 定步长模式在仿真过程中提供固定的步长,不提供误差控制和过零检测。用户 还可以在第二个下拉选项框中选择对应模式下仿真所采用的算法。 变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s, ode23t,ode23tb和discrete。 ode45:缺省值,四/五阶龙格-库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅 需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先 试试ode45。 ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。 ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它 需要以前多个时刻的解。 ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多步解法器。

AMESim与Simulink联合仿真设置步骤与仿真实例

AMESim与Simulink联合仿真设置步骤与仿真实例 本文采用版本为matlab R2010a和Amesim Rev10 联合仿真环境设置: 为了实现二者的联合仿真,需要在Windows2000或更高级操作系统下安装Visual C++ 6.0, AMESim4.2以上版本与MA TLAB6.1上版本(含Simulink),联合仿真存在AMESim与Matlab 的版本匹配问题,具体参照AMESim软件中帮助文件里有介绍,打开AMESim帮助文件,以Simulink为关键词进行搜索,即可找到AMESim与Matlab联合仿真的介绍,这里使用AMESim10,Matlab 2010a,可以匹配。 1.将VC++中的"VCV AR3 2.bat"文件从Microsoft Visual C++目录(通常是. \Microsoft Visual Studio\VC98\Bin中)拷贝至AMESim的安装目录下。 2.环境变量确认: 1) 选择“控制面板-系统”或者在“我的电脑”图标上点右键,选择“属性”;在弹 出的“系统属性”窗口中选择“高级”页,选择“环境变量”; 2) 在弹出的“环境变量”下面的窗口中找到系统变量“AME”,它的值就是你所安装 AMESim的路径,选中改环境变量;比如AMESim10安装目录(即AMESim10安 装文件的存储目录)是:D:\AMESim\v1000(D:\AMESim就是错误的),那么“AME” 的值就是D:\AMESim\v1000, 点击“确认”按键,该变量就会加到系统中; 3) 按上述步骤设置系统变量“MA TLAB”,该值为MA TLAB文件所安装的路径,例如 Matlab 2011a按照文件的存储路径为:D:\Program Files\MATLAB\R2011a,那么 “MA TLAB”的值就是D:\Program Files\MATLAB\R2011a,(写D:\Program Files\MATLAB,D:\Program Files 等都是错误的), 点击“确认”按键,该变量就会加到系统中; 4) 同样的方式定义系统变量LM_LICENSE_FILE,值为 D:\AMESim\v1000\licensing\license.dat,值就是AMESim软件许可文件的存储路径。 即LM_LICENSE_FILE=C:\AMESim4.2.0\licensing\license.dat。 3. 确认是否在AMESim中选择VC作为编译器。对AMESim 10而言,具体操作在AMESim-〉 Tools->Opions-> AMESim Preferences->Compilation/Parameters中,进去后选择Microsoft Visual C++项,然后点击OK确认。 4. 在MA TLAB命令窗口中输入mex –setup (mex与-之间有空格),敲回车出现:

Simulink与LabVIEW联合仿真教程

Building a LabVIEW User Interface for a Simulink? Model with LabVIEW Simulation Interface Toolkit 36 ratings | 3.75 out of 5 Overview The Simulation Interface Toolkit (SIT) provides a seamless integration between The MathWorks Inc. Simulink? software and LabVIEW. The Simulation Interface Toolkit automatically generates LabVIEW code to interface with a Simulink model resulting in a flexible and easy-to-use user interface. You first must configure the Simulink? model to communicate with LabVIEW. Then you can create a LabVIEW host VI that automatically calls, runs, and interacts with the Simulink? model. Table of Contents 1. Configuring the Simulink Model 2. Creating a LabVIEW User Interface 3. Creating Connections between the LabVIEW User Interface and the Simulink? Model 4. Attachments Configuring the Simulink Model Before LabVIEW can communicate with the Simulink? model, you must correctly configure the model in Simulink?. 1. Save the attached files, absbrakesingleclosed.mdl and abssingleclosed.vi, to the computer. 2. Launch MATLAB? and notice how the MATLAB? command window displays the following message: Starting the SIT Server on port 6011 SIT Server started The Simulation Interface Toolkit automatically installs the SIT server. If you do not see this message. you have not installed the toolkit correctly. 3. Enter simulink in the MATLAB? command window to launch the Simulink? Library Browser window. 4. Select File?Open and select the absbrakesingleclosed.mdl, which is file you downloaded in Step 1, to open the ABS Braking model. The simulation model should look similar to the following diagram:

相关文档
最新文档