2023年11月25日发(作者:)

自动控制原理simulink实验指导

自动控制原理

上机实验指导书

王芳、杨志超编写

南京工程学院电力工程学院

〇〇七年二月

1 / 43

自动控制原理simulink实验指导

Simulink仿真集成环境简介…………………………………………………………………2

实验一 典型环节的性能分析……………………………………………………………11

实验二 二阶系统的性能分析……………………………………………………………14

实验三 自动控制系统的稳定性和稳态误差分析………………………………………17

实验四 自动控制系统根轨迹的分析……………………………………………………22

实验五27 自动控制系统的频域分析…………………………………………………

实验六 控制系统的校正及设计…………………………………………………………32

实验七 非线性系统的稳定性分析………………………………………………………39

1 / 43

自动控制原理simulink实验指导

Simulink仿真集成环境简介

Simulink是可视化动态系统仿真环境。1990年正式由Mathworks公司引入到

MATLAB中,它是Slmutation Link的结合。这里主要介绍它的使用方法和它在控制

系统仿真分析和设计操作的有关内容。

1、进入Simulink操作环境

双击桌面上的MATLAB图标,启动MATLAB,进入开发环境,如图0-1所示:

0-1 MATLAB开发环境

MATLAB的桌面操作环境画面进入Simulink操作环境有多种方法,介绍如下:

①点击工具栏的Simulink图标,弹出如图0-2的图形库浏览器画面。

②在命令窗口键入“simulink”命令,可自动弹出图形库浏览器。

上述两种方法需从该画面File下拉式菜单中选择New/Model或点击图标

得到图0-3的图形仿真操作画面。

③从“File”下拉式菜单中选择“New/Model,弹出图0-3所示的未命名的图形仿真操

作画面。从工具栏中点击图形库浏览器图标,调出图0-2的图形库浏览器画面。图

0-3用于仿真操作,图0-2的图形库用于提取仿真所需的功能模块。

2 / 43

自动控制原理simulink实验指导

0-2 Simulink图形库浏览器画面

0-3 simulink仿真操作环境画面

2、提取所需的仿真模块

在提取所需仿真模块前,应绘制仿真系统框图,并确定仿真所用的参数。

0-2中的仿真用图形库,提供了所需的基本功能模块,能满足系统仿真的需要。

该图形库有多种图形子库,用于配合有关的工具箱。下面将对本书中实验可能用到的功

能模块作一个简单介绍。

1 Sources(信号源模块组)

点击图0-2图形库浏览器画面中的Sources,界面右侧会出现各种常用的输入信号,

3 / 43

自动控制原理simulink实验指导

如图0-4所示。

0-4信号源模块组

·In(输入端口模块)——用来反映整个系统的输入端子,这样的设置在模型线性化与

命令行仿真时是必需的。

·Signal Generator(信号源发生器)——能够生成若干种常用信号,如方波信号、正弦

波信号、锯齿波信号等,允许用户自由调整其幅值、相位及其它信号。

·From File(读文件模块)和From Workspace(读工作空间模块)——两个模块允许从

文件或MATLAB工作空间中读取信号作为输入信号。

·Clock(时间信号模块)——生成当前仿真时钟,在于事件有关的指标求取中是很有

意义的。

·Constant(常数输入模块)——此模块以常数作为输入,可以在很多模型中使用该模

块。

·Step(阶跃输入模块)——以阶跃信号作为输入,其幅值可以自由调整。

·Ramp(斜坡输入模块)——以斜坡信号作为输入,其斜率可以自由调整。

·Sine Wave(正弦信号输入模块)——以正弦信号作为输入,其幅值、频率和初相位

可以自由调整。

·Pulse Genetator(脉冲输入模块)——以脉冲信号作为输入,其幅值和脉宽可以自由

调整。

4 / 43

自动控制原理simulink实验指导

2Continuous(连续模块组)

连续模块组包括常用的连续模块,如图0-5所示。

0-5 连续模块组

·Derivative(微分器)——此模块相当于自动控制系统中的微分环节,将其输入端的

信号经过一阶数值微分,在其输出端输出。在实际应用中应该尽量避免使用该模块。

·Integrator(积分器)——此模块相当于自动控制系统中的积分环节,将输入端信号经

过数值积分,在输出端输出。

·Transfer Fcn(传递函数)——此模块可以直接设置系统的传递函数,以多项式的比值

bsbsbsb

mm110

mm1

形式描述系统,一般形式为,其分子分母多项式的系

G(s)

nn1

sasasa

n110

数可以自行设置。

·Pole-Zero(零极点)——将传递函数分子和分母分别进行因式分解,变成零极点表达

形式,其中(系统的零点)(系统的极点)可以

G(s)K

自行设置。

·Transport Delay(时间延迟)——此模块相当于自动控制系统中的延迟环节,用于将

输入信号延迟一定时间后输出,延迟时间可以自行调整。

3Math Operations(数学函数模块组)

数学函数模块组包含各种数学函数运算模块,如图0-6所示。

·Gain(增益函数)——此模块相当于自动控制系统中的比例环节,输出信号等于输入

信号的乘以模块中种指定的数值,此数值可以自行调整。

·Sum(求和模块)——此模块相当于自动控制系统中的加法器,将输入的多路信号进

(sz)(sz)(sz)

12m

z

i

p

j

(sp)(sp)(sp)

12n

5 / 43

自动控制原理simulink实验指导

行求和或求差。

·其它数学函数,如Abs(绝对值函数)Sign(符号函数)Rounding Function(取整

模块)等。

0-6 数学函数模块组

4Sinks(输出池模块组)

输出池模块组包含那些能显示计算结果的模块,如图0-7所示。

0-7 输出池模块组

·Out(输出端口模块)——用来反映整个系统的输出端子,这样的设置在模型线性化

与命令行仿真时是必需的,另外,系统直接仿真时这样的输出将自动在MATLAB工作

空间中生成变量。

·Scope(示波器模块)——将其输入信号在示波器中显示出来。

·x-y Graphx-y示波器)——将两路输入信号分别作为示波器的两个坐标轴,将信号

6 / 43

自动控制原理simulink实验指导

的相轨迹显示出来。

·To Workspace(工作空间写入模块)——将输入的信号直接写到MATLAB的工作空

间中。

·To File(写文件模块)——将输入的信号写到文件中。

·Display(数字显示模块)——将输入的信号以数字的形式显示出来。

·Stop Simulation(仿真终止模块)——如果输入的信号为非零时,将强行终止正在进

行的仿真过程。

·Terminator(信号终结模块)——可以将该模块连接到闲置的未连接的模块输出信号

上,避免出现警告。

从图0-2中用鼠标点击打开所需子图形库,用鼠标选中所需功能模块,将其拖曳到

0-3中的空白位置,重复上述拖曳过程,直到将所需的全部功能模块拖曳到图0-3中。

拖曳时应注意下列事项:

1 根据仿真系统框图,选择合适的功能模块进行拖曳,放到合适的位置,以便

于连接。

2 对重复的模块,可采用复制和粘贴操作,也可以反复拖曳。

3 功能模块和图0-3的大小可以用鼠标移动到图标或图边,在出现双向箭头后

进行放大或缩小的操作。

4 选中功能模块的方法是直接点击模块,用鼠标选定所需功能模块区域来选中

区域内所有功能模块和连接线,点击选中,并按下“shift”键,再点击其它

功能模块。

3、功能模块的连接

根据仿真系统框图,用鼠标点击并移动所需功能模块到合适的位置,将鼠标移到有

关功能模块的输出端,选中该输出端并移动鼠标到另一个功能模块的输入端,移动时出

现虚线,到达所需输入端时,释放鼠标左键,相应的连接线出现,表示该连接已完成。

重复以上的连接过程,直到完成全部连接,组成仿真系统。

4、功能模块参数设置

使用者需设置功能模块参数后,方可进行仿真操作。不同功能模块的参数是不同的,

用鼠标双击该功能模块自动弹出相应的参数设置对话框。

7 / 43

自动控制原理simulink实验指导

例如,图0-8Transfer Fcn(传递函数)功能模块的对话框。功能模块对话框由

功能模块说明和参数设置框组成。功能模块说明框用于说明该功能模块使用的方法和功

能,参数框用于设置该模块的参数。Transfer Fcn的参数框由分子和分母多项式两个编

辑框组成,在分子多项式框中,用户可输入系统模型的分子多项式,在分母多项式框中,

输入系统模型的分母多项式。设置功能模块的参数后,点击OK进行确认,将设置的参

数送仿真操作画面,并关闭对话框。

0-8 Transfer Fcn(传递函数)模块参数设置对话框

5、仿真器参数设置

点击图0-3操作画面“Simulation”下拉式菜单“Simulation Parameters…”选项,

弹出如图0-9所示的仿真参数设置画面。共有SolverWorkspace I/ODiagnostics

AdvancedReal-Time Workshop等五个页面。Solver中设置Solver TypeSolver(步

长)等。仿真操作时,可根据仿真曲线设置终止时间和最大步长,以便得到较光滑的输

出曲线。

6、示波器参数设置

当采用示波器显示仿真曲线时,需对示波器参数进行设置。双击Scope模块,弹出

如图0-10所示的示波器显示画面,点击画面的图标弹出如图0-11所示的示波器属

性对话框,分2个页面,用于设置显示坐标窗口数、显示时间范围、标记和显示频率或

采样时间等。时间范围可以在示波器属性对话框里的General页中的Time range设置,

8 / 43

自动控制原理simulink实验指导

设置值应与仿真器终止时间一致,以便最大限度显示仿真操作数据。鼠标右键点击示波

器显示窗口,从弹出菜单选择“Autoscale,或直接点击图标,可在响应曲线显示后

自动调整纵坐标范围;从弹出菜单选择Save current axes settings或直接点击图标

将当前坐标轴范围的设置数据存储。此外,还有打印、放大或恢复等操作。

0-9 仿真参数设置画面

0-10 示波器显示画面 0-11 示波器属性对话框

7、运行仿真

模型编辑好后,点击图0-3操作画面“Simulation”下拉式菜单“start”或“start

9 / 43

自动控制原理simulink实验指导

Simulation”按钮运行,双击Scope模块,显示输出曲线。

8、对数据作后续处理

当仿真任务比较复杂时,需要将Simulation生成的数再导入到工作空间进行处理和

分析,仿真结束后,输出结果通过“To workspace”传送到工作空间中,在工作空间窗

口中能看到这些变量,使用whos命令能看到这些变量的详细信息。另外,To file

From file”模块能实现文件与Simulink的数据传输。

10 / 43

自动控制原理simulink实验指导

实验一 典型环节的性能分析

一、实验目的

1、熟悉各种典型环节的阶跃响应曲线;

2、了解参数变化对典型环节动态特性的影响。

二、实验任务

1、比例环节(

K

从图0-2的图形库浏览器中拖曳Step(阶跃输入)Gain(增益模块)Scope(示波

器)模块到图0-3仿真操作画面,连接成仿真框图。

改变增益模块的参数,从而改变比例环节的放大倍数观察它们的单位阶跃响应

K

曲线变化情况。可以同时显示三条响应曲线,仿真框图如图1-1所示。

1-1比例环节仿真框图

1

2、积分环节(

Ts

将图1-1仿真框图中的Gain(增益模块)换成Transfer Fcn(传递函数)模块,设

1

Transfer Fcn(传递函数)模块的参数,使其传递函数变成型。

Ts

改变Transfer Fcn(传递函数)模块的参数,从而改变积分环节的,观察它们的单

T

位阶跃响应曲线变化情况。仿真框图如图1-2所示。

1-2 积分环节仿真框图

11 / 43

自动控制原理simulink实验指导

3、一阶惯性环节(

1

Ts1

1

Ts1

将图1-2Transfer Fcn(传递函数)模块的参数重新设置,使其传递函数变成

型,改变惯性环节的时间常数,观察它们的单位阶跃响应曲线变化情况。仿真框图如

T

1-3所示。

1-3 惯性环节仿真框图

4、实际微分环节(

Ks

Ts1

Ks

Ts1

将图1-2Transfer Fcn(传递函数)模块的参数重新设置,使其传递函数变成

型,(参数设置时应注意

T1

不变,改变Transfer Fcn(传递函数)模块的参数,从而改变,观察它们的

KT

单位阶跃响应曲线变化情况。仿真框图如图1-4所示。

1-4 实际微分环节仿真框图

2

n

5、二阶振荡环节(

22

s2s



nn

将图1-2Transfer Fcn(传递函数)模块的参数重新设置,使其传递函数变成

12 / 43

自动控制原理simulink实验指导

2

n

型(参数设置时应注意,仿真框图如图1-5所示。

01

22

s2s



nn

1)令不变,取不同值(,观察其单位阶跃响应曲线变化情况;

n

01

2)令=0.2不变,取不同值,观察其单位阶跃响应曲线变化情况。

n

1-5 二阶振荡环节仿真框图

6、延迟环节(

e

s

将图1-2仿真框图中的Transfer Fcn(传递函数)模块换成Transport Delay(时间延

迟)模块,改变延迟时间,观察单位阶跃响应曲线变化情况。仿真框图如图1-6所示。

1-6 延迟环节仿真框图

三、实验要求

1、完成实验任务所有的仿真分析;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 实验原理;

3 各环节的仿真框图和阶跃响应曲线;

4 讨论各环节中参数变化对阶跃响应的影响;

5 实验的体会。

13 / 43

自动控制原理simulink实验指导

实验二 二阶系统的性能分析

一、实验目的

1、研究二阶系统的两个重要参数阻尼比和自然振荡频率对系统动态性能的影

n

响;

2、比较比例微分控制的二阶系统和典型二阶系统的性能;

3、比较输出量速度反馈控制的二阶系统和典型二阶系统的性能。

二、实验任务

1、典型二阶系统

2

n

二阶系统的传递函数为=,仿真框图如图1-5所示。

(s)

22

s2s



nn

1)令=10不变,取不同值:=0=1>1,观察

n1

2345

01

其单位阶跃响应曲线变化情况;

2)令=0不变,取不同值,观察其单位阶跃响应曲线变化情况;

n

3)令=0.2不变,取不同值,观察其单位阶跃响应曲线变化情况,并计算超

n

调量

Mp%

t

s

4)令=10不变,取不同值(,观察其单位阶跃响应曲线变化情况,

n

01

并计算超调量

Mp%

t

s

2、比例微分控制的二阶系统

比例微分控制的二阶系统的结构图如图2-1

2-1 比例微分控制的二阶系统的结构图

系统中加入比例微分控制,使系统阻尼比增加,并增加一个闭环零点,可以通过仿

14 / 43

自动控制原理simulink实验指导

真比较典型二阶系统和比例微分控制的二阶系统的单位阶跃响应的性能指标。

2

n

25

上图所示的控制系统,令,其中,从

T0.15,0.2

dn

s(s2)s(s2)



n

Simulink图形库浏览器中拖曳Step(阶跃输入)Sum(求和模块)Pole-Zero(零极点)

模块、Scope(示波器)模块到仿真操作画面,连接成仿真框图如图2-2所示。图中

Pole-Zero(零极点)模块建立

G(s)

2-2 典型二阶系统和比例微分控制的二阶系统比较仿真框图

3、输出量速度反馈的二阶系统

输出量速度反馈的二阶系统的结构图如图2-3

2-3 输出量速度反馈的二阶系统的结构图

系统中加入输出量的速度反馈控制,使系统阻尼比增加,可以通过仿真比较典型二

阶系统和输出量速度反馈控制的二阶系统的单位阶跃响应的性能指标。

2

n

25

2-3所示的控制系统,令,其中

K0.1

f

n

5,0.2

s(s2)s(s2)



n

建立仿真框图如图2-4所示。图中

0.1s1

0.1s1

0.001s1

15 / 43

自动控制原理simulink实验指导

2-4 典型二阶系统和输出量速度反馈控制的二阶系统比较仿真框图

三、实验要求

1、完成实验任务所有的仿真分析;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 实验原理;

3 实验任务中要求的所有仿真框图和阶跃响应曲线;

4 讨论下列问题:

a) 试讨论欠阻尼时参数对二阶系统阶跃响应曲线及性能指标

ns

Mp%

t

影响;

b) 试讨论欠阻尼时参数对二阶系统阶跃响应曲线及性能指标的影

Mp%

t

s

响;

c) 试讨论二阶系统加入比例微分控制后性能指标的变化;

d) 试讨论二阶系统加入带输出量速度反馈控制后性能指标的变化。

5)实验体会。

16 / 43

自动控制原理simulink实验指导

实验三 自动控制系统的稳定性和稳态误差分析

一、实验目的

1、研究高阶系统的稳定性,验证稳定判据的正确性;

2、了解系统增益变化对系统稳定性的影响;

3、观察系统结构和稳态误差之间的关系。

二、实验任务

1、稳定性分析

欲判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环

传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,

者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。

1)已知单位负反馈控制系统的开环传递函数为,用

G(s)

0.2(s2.5)

s(s0.5)(s0.7)(s3)

MATLAB编写程序来判断闭环系统的稳定性,并绘制闭环系统的零极点图。

MATLAB命令窗口写入程序代码如下:

z=-2.5

p=[0,-0.5,-0.7,-3]

k=0.2

Go=zpk(z,p,k)

Gc=feedback(Go,1)

Gctf=tf(Gc)

dc=

dens=ploy2str(dc{1},'s')

运行结果如下:

dens=

s^4 + 4.2 s^3 + 3.95 s^2 + 1.25 s + 0.5

dens是系统的特征多项式,接着输入如下MATLAB程序代码:

den=[1,4.2,3.95,1.25,0.5]

17 / 43

自动控制原理simulink实验指导

p=roots(den)

运行结果如下:

p =

-3.0058

-1.0000

-0.0971 + 0.3961i

-0.0971 - 0.3961i

p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭

环系统是稳定的。

下面绘制系统的零极点图,MATLAB程序代码如下:

z=-2.5

p=[0,-0.5,-0.7,-3]

k=0.2

Go=zpk(z,p,k)

Gc=feedback(Go,1)

Gctf=tf(Gc)

[z,p,k]=zpkdata(Gctf,'v')

pzmap(Gctf)

grid

运行结果如下:

z =

-2.5000

p =

-3.0058

-1.0000

-0.0971 + 0.3961i

-0.0971 - 0.3961i

k =

18 / 43

自动控制原理simulink实验指导

0.2000

输出零极点分布图如图3-1所示。

3-1 零极点分布图

2已知单位负反馈控制系统的开环传递函数为

G(s)

k(s2.5)

s(s0.5)(s0.7)(s3)

=110100MATLAB编写程序来判断闭环系统的稳定性。

k

只要将(1)代码中的k值变为110100,即可得到系统的闭环极点,从而判断

系统的稳定性,并讨论系统增益k变化对系统稳定性的影响。

2、稳态误差分析

1)已知如图3-2所示的控制系统。其中,试计算当输入为单位

G(s)

s5

s(s10)

2

阶跃信号、单位斜坡信号和单位加速度信号时的稳态误差。

3-2 系统结构图

19 / 43

自动控制原理simulink实验指导

Simulink图形库浏览器中拖曳Sum(求和模块)Pole-Zero(零极点)模块、Scope

(示波器)模块到仿真操作画面,连接成仿真框图如图3-3所示。图中,Pole-Zero(零

极点)模块建立,信号源选择Step(阶跃信号)Ramp(斜坡信号)和基本模块构

G(s)

成的加速度信号。为更好观察波形,将仿真器参数中的仿真时间和示波器的显示时间范

围设置为300

3-3 系统稳态误差分析仿真框图

信号源选定Step(阶跃信号),连好模型进行仿真,仿真结束后,双击示波器,输

出图形如图3-4所示。

3-4 单位阶跃输入时的系统误差

信号源选定Ramp(斜坡信号),连好模型进行仿真,仿真结束后,双击示波器,输

出图形如图3-5所示。

3-5 斜坡输入时的系统误差

20 / 43

自动控制原理simulink实验指导

信号源选定加速度信号,连好模型进行仿真,仿真结束后,双击示波器,输出图形

如图3-6所示。

3-6 加速度输入时的系统误差

从图3-43-53-6可以看出不同输入作用下的系统的稳态误差,系统是II型系统,

因此在阶跃输入和斜坡输入下,系统稳态误差为零,在加速度信号输入下,存在稳态误

差。

2)若将系统变为I型系统,,在阶跃输入、斜坡输入和加速度信

G(s)

5

s(s10)

号输入作用下,通过仿真来分析系统的稳态误差。

三、实验要求

1、完成实验任务中的所有内容;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 实验原理;

3 实验任务中要求完成实验的程序代码、仿真框图、波形和数据结果;

4 讨论下列问题:

a) 讨论系统增益k变化对系统稳定性的影响;

b) 讨论系统型数以及系统输入对系统稳态误差的影响。

5)实验体会。

21 / 43

自动控制原理simulink实验指导

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

一、实验目的

1、学习用MATLAB绘制系统根轨迹;

2、掌握根据系统根轨迹图分析系统性能。

二、实验任务

bsbsbsb

mm110

mm1

根据系统的开环传递函数,用MATLAB绘制系

GH(s)

nn1

asasasa

nn110

统的根轨迹时,首先将传递函数的分子分母多项式的系数写成两个一维数组:

num[bbbb]

mm110

den[aaaa]

nn110

利用MATLA中的rlocus函数绘制系统的根轨迹。

1、使用MATLAB绘制负反馈系统的根轨迹,该系统的开环传递函数为

GH(s)

k(s8)

2

s(s2)(s8s32)

MATLAB程序代码如下:

num=[1, 8]

den=conv([1,2,0],[1,8,32])

sys=tf(num,den)

rlocus(sys) %绘制根轨迹图

axis([-15 5 -10 10]) %调整绘制区域

MATLAB绘制的根轨迹如图4-1所示。

2、使用MATLAB绘制正反馈系统的根轨迹,该系统的开环传递函数为

GH(s)

k(s8)

s(s2)(s8s32)

2

MATLAB程序代码如下:

num=[1, 8]

den=conv([1,2,0],[1,8,32])

22 / 43

自动控制原理simulink实验指导

sys=tf(num,den)

rlocus(-sys) %绘制根轨迹图

axis([-15 5 -10 10]) %调整绘制区域

MATLAB绘制的根轨迹如图4-2所示。

4-1 负反馈系统根轨迹图

4-2 正反馈系统根轨迹图

3使MATLAB

a

GH(s)

5(sa)

,其中

1a100

(s1)(s3)(s12)

MATLAB程序代码如下:

23 / 43

自动控制原理simulink实验指导

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

k=5

poles=[]

param=[] %定义数组存储结果

for a=1:100 %a1变化到100

num=[0 0 k k*a]

clpoly=num+den

clp=roots(clpoly) %计算闭环极点

poles=[poles;clp]

param=[param;a]

end

plot(poles,'*')

axis equal

axis([-4 0 -2 2])

MATLAB绘制的根轨迹如图4-3所示。

4-3系统参变量根轨迹图

4、某负反馈系统的开环传递函数为,用MATLAB绘制系统

GH(s)

k

s(s1)(s4)

的根轨迹,并求下面两种情况下的K值:1)两分支进入右半平面时;2)两条分支

24 / 43

自动控制原理simulink实验指导

从实轴进入复平面时。

MATLAB程序代码如下:

num=[1]

den=conv([1,1,0],[0,1,4])

sys=tf(num,den)

rlocus(sys) %绘制根轨迹图

axis([-15 5 -10 10]) %调整绘制区域

[k,poles]=rlocfind(sys) %计算增益值和极点

MATLAB绘制的根轨迹如图4-4所示。

4-4 根轨迹图

利用rlocfind命令,可求得任意点对应的K值。两分支进入右半平面时,

K19

对应的极点为poles=-4.9701-0.0149 + 1.9625i-0.0149 - 1.9625i因此可得当时,

K19

系统由两个闭环极点位于s右半平面,系统不稳定;两条分支从实轴进入复平面时,

K0.88

,对应的极点为poles= -4.0706-0.4647 + 0.0296i-0.4647 - 0.0296i,则当

19K0.88

时,系统存在一对共轭的复数极点,系统响应由单调变为振荡。

5使MATLAB

GH(s)

k

,并求系统稳定的范围。

s(s5)(s2s5)

2

6使MATLAB

25 / 43

自动控制原理simulink实验指导

GH(s)

k

,并求系统响应无超调的范围。

s(s2)(s5)

三、

实验要求

1、完成实验任务中所有根轨迹的绘制及分析;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 实验原理;

3 实验任务中要求完成实验的程序代码、根轨迹图和运行结果;

4 实验体会。

26 / 43

自动控制原理simulink实验指导

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

一、实验目的

1、利用MATLAB绘制系统的频率特性图;

2、根据Nyquist图判断系统的稳定性;

3、根据Bode图计算系统的稳定裕度。

二、实验任务

利用MATLAB绘制系统的频率特性图,是指绘制Nyquist图、Bode图,所用到的

函数主要是nyquistngridbodemargin等。

1Nyquist图的绘制及稳定性判断

nyquist函数可以计算连续线性定常系统的频率响应,当命令中不包含左端变量时,

仅产生Nyquist图。

命令nyquist(num,den)将画出下列传递函数的Nyquist图:

bsbsbsb

mm110

mm1

GH(s)

nn1

asasasa

nn110

其中

num[bbbb]den[aaaa]

mm110nn110

1)已知某控制系统的开环传递函数为,用MATLAB绘制系

G(s)

统的Nyquist图,并判断系统的稳定性。

MATLAB程序代码如下:

num=[50]

den=[1,3,-10]

nyquist(num,den)

axis([-6 2 -2 0])

title('Nyquist ')

50

(s5)(s2)

执行该程序后,系统的Nyquist图如图5-1所示。

27 / 43

自动控制原理simulink实验指导

5-1 系统的Nyquist

由上图可知Nyquist曲线逆时针包围(-1j0)点半圈,而开环系统在右半平面有一个

极点,故系统稳定。

2)已知系统的开环传递函数为,用MATLAB分别绘制

G(s)

100k

s(s5)(s10)

k1,8,20

时系统的Nyquist图,并判断系统的稳定性。

2Bode图的绘制及稳定裕度的计算

MATLAB提供绘制系统Bode图函数bode( )bode( num,den)绘制以多项式函数表

示的系统Bode图。

2

n

1)已知典型二阶环节的传递函数为,其中,分别

G(s)

22

n

0.7

s2s



nn

绘制时得Bode图。

0.1,0.4,1,1.6,2

MATLAB程序代码如下:

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

wn=0.7

tou=[0.1,0.4,1,1.6,2]

for j=1:5

sys=tf([wn*wn],[1,2*tou(j)*wn,wn*wn])

28 / 43

自动控制原理simulink实验指导

bode(sys,w)

hold on

end

gtext('tou=0.1')

gtext('tou=0.4')

gtext('tou=1')

gtext('tou=1.6')

gtext('tou=2')

执行该程序后,系统的Bode图如图5-2所示。

5-2 系统的Bode

2)已知某高阶系统的传递函数为,绘制

G(s)

5(0.0167s1)

s(0.03s1)(0.0025s1)(0.001s1)

系统的Bode图,并计算系统的相角裕度和幅值裕度。

MATLAB程序代码如下:

num=5*[0.0167,1]

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

sys=tf(num,den)

29 / 43

自动控制原理simulink实验指导

w=logspace(0,4,50)

bode(sys,w)

grid

[Gm,Pm,Wg,Wc]=margin(sys)

执行该程序后,系统的Bode图如图5-3所示。

5-3 系统的Bode

运行结果如下:

Gm =

455.2548

Pm =

85.2751

Wg =

602.4232

Wc =

4.9620

由运行结果可知,系统的幅值裕度,相角裕度,相角穿

L455.2548

g

85.2751

越频率,截止频率

g

602.4262rad/s

c

4.962rad/s

30 / 43

自动控制原理simulink实验指导

3)已知某高阶系统的传递函数为,绘制系统的

G(s)

Bode图,并计算系统的相角裕度和幅值裕度。

三、

实验要求

1、完成实验任务中所有的内容;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 实验原理;

100(0.5s1)

s(s1)(0.1s1)(0.05s1)

3 实验任务中要求完成实验的程序代码、结果图、结论和运行结果;

4 讨论系统增益变化对系统稳定性的影响;

5 实验体会。

31 / 43

自动控制原理simulink实验指导

实验六 控制系统的校正及设计

一、实验目的

1、掌握串联校正环节对系统稳定性的影响;

2、了解使用SISO系统设计工具(SISO Design Tool)进行系统设计。

二、设计任务

串联校正是指校正元件与系统的原来部分串联,如图6-1所示。

6-1 串联校正

图中,表示校正部分的传递函数,表示系统原来前向通道的传递函数。当

G(s)G(s)

co

G(s)(a1)G(s)(a1)

cc

1aTs1aTs

,为串联超前校正;当,为串联迟后校正。

1Ts1Ts

我们可以使用SISO系统设计串联校正环节的参数,SISO系统设计工具(SISO

Design Tool是用于单输入单输出反馈控制系统补偿器设计的图形设计环境。通过该工

具,用户可以快速完成以下工作:利用根轨迹方法计算系统的闭环特性、针对开环系统

Bode图的系统设计、添加补偿器的零极点、设计超前/滞后网络和滤波器、分析闭环系

统响应、调整系统幅值或相位裕度等。

1)打开SISO系统设计工具

MATLAB命令窗口中输入sisotool命令,可以打开一个空的SISO Design Tool

也可以在sisotool命令的输入参数中指定SISO Design Tool启动时缺省打开的模型。注

意先在MATLAB的当前工作空间中定义好该模型。如图6-2为一个DC电机的设计环

境。

2)将模型载入SISO设计工具

通过命令,可以将所要研究的模型载入SISO设计工具中。点击该菜单项后,将弹

Import System Data对话框,如图6-3所示。

3)当前的补偿器(Current Compensator

32 / 43

自动控制原理simulink实验指导

6-2中当前的补偿器(Current Compensator)一栏显示的是目前设计的系统补偿

器的结构。缺省的补偿器增益是一个没有任何动态属性的单位增益,一旦在跟轨迹图和

Bode图中添加零极点或移动曲线,该栏将自动显示补偿器结构。

4)反馈结构

SISO Design Tool 在缺省条件下将补偿器放在系统的前向通道中,用户可以通过

+/-”按钮选择正负反馈,通过“FS”按钮在如下图6-4几种结构之间进行切换。

6-2 SISO系统的图形设计环境

6-3 Import System Data对话框

33 / 43

自动控制原理simulink实验指导

6-4 SISO Design Tool中的反馈控制结构

16-1所示的控制系统,原开环传递函数为试用SISO

G(s)

o

2

s(0.1s1)(0.3s1)

系统设计工具(SISO Design Tool)设计超前校正环节,使其校正后系统的静态速度误

差系数,相角裕度为,并绘制校正前后的Bode图,并计算校正前后的相角

K6

v

45

裕度。

1)将模型载入SISO设计工具

MATLAB命令窗口先定义好模型,代码如下:

G(s)

o

num=2

den=conv([0.1,1,0],[0.3,1])

G=tf(num,den)

得到结果如下:

Transfer function:

2

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

0.03 s^3 + 0.4 s^2 + s

输入sisotool命令,可以打开一个空的SISO Design Tool通过命令,可以将模型G

载入SISO设计工具中,如图6-5所示。

2)调整增益

根据要求系统的静态速度误差系数,补偿器的增益应为3,将图6-5中的

K6

v

C(s)=1改为3,如图6-5所示。从图中Bode相频图左下角可以看出相位裕度

21.2

不满足要求。

3)加入超前校正网络

在开环Bode图中点击鼠标右键,选择“Add Pole/Zero”下的“Lead”菜单,该命

2

s(0.1s1)(0.3s1)

34 / 43

自动控制原理simulink实验指导

令将在控制器中添加一个超前校正网络。这时鼠标的光标将变成“X”形状,将鼠标移

Bode图幅频曲线上接近最右端极点的位置按下鼠标,得到如图6-6所示的系统。

6-5 改变增益后的系统

6-6 增加超前网络后的系统

35 / 43

自动控制原理simulink实验指导

从图中Bode相频图左下角可以看出相位裕度,仍不满足要求,需进一步

28.4

调整超前环节的参数。

4)调整超前网络的零极点

将超前网络的零点移动到靠近原来最左边的极点位置,接下来将超前网络的极点向

右移动,并注意移动过程中相角裕度的增长,一直到相角裕度达到,此时超前网络

45

满足设计要求。如图6-7所示。

6-7 最后满足要求的系统

从图中可以看出来,超前网络的传递函数为,最后系统的

3(10.26s)

K6

v

(10.054s)

45.9

2、图6-1所示的控制系统,原开环传递函数为,试用SISO系统

G(s)

o

k

s(0.2s1)

设计工具(SISO Design Tool)设计超前校正环节,使其校正后系统的静态速度误差系

,相角裕度为,并绘制校正前后的Bode图,并计算校正前后的相角裕

K100

v

30

36 / 43

自动控制原理simulink实验指导

度。

3、使用SISO Design Tool设计直流电机调速系统。典型电机结构示意图如图6-8

所示,控制系统的输入变量为输入电压,系统输出是电机负载条件下的转动角速

U(t)

a

现设计补偿器的目的是通过对系统输入一定的电压,使电机带动负载以期望的

(t)

角速度转动,并要求系统具有一定的稳定裕度。

6-8 直流电动机调速系统

直流电机动态模型本质上可以视为典型二阶系统,设某直流电机的传递函数为

G(s)

1.5

s14s40.02

2

系统的设计指标为:上升时间,稳态误差,最大超调量

t0.5se5%

rss

M%10%

P

幅值裕度,相角裕度

L20dB

g

40

系统设计步骤:

1)调整补偿器的增益

如果对该系统进行时域仿真,可发现其阶跃响应时间很大,提高系统响应速度的最

简单方法就是增加补偿器增益的大小。在SISO的设计工具中可以很方便的实现补偿器

增益的调节:鼠标移动到Bode幅值线上,按下鼠标左键抓取Bode幅值线,向上拖动,

释放鼠标,系统自动计算改变的系统增益和极点。

既然系统要求上升时间,应调整系统增益,使得系统的穿越频率位于

t0.5s

r

c

3rad/s附近。这是因为3rad/s的频率位置近似对应于0.33s的上升时间。

为了更清楚的查找系统的穿越频率,点击鼠标右键,在快捷菜单中选择“Grid”命

令,将在Bode图中绘制网格线。

观察系统的阶跃响应,可以看到系统的稳态误差和上升时间已得到改善,但要满足

37 / 43

自动控制原理simulink实验指导

所有的设计指标,还应加入更复杂的控制器。

2)加入积分器

点击鼠标右键,在弹出的快捷菜单中选择Add Pole/Zero下的Integrator菜单,

这时系统将加入一个积分器,系统的穿越频率随之改变,应调整补偿器的增益将穿越频

率调整回3rad/s的位置。

3)加入超前校正网络

为了添加一个超前校正网络,在开环Bode图中点击鼠标右键,选择Add Pole/Zero

下的“Lead”菜单,该命令将在控制器中添加一个超前校正网络。这时鼠标的光标将变

成“X”形状,将鼠标移到Bode图幅频曲线上接近最右端极点的位置按下鼠标。

Bode图中可以看出幅值裕度还没有达到要求,还需进一步调整超前环节的参数。

4)移动补偿器的零极点

为了提高系统的响应速度,将超前网络的零点移动到靠近电机原来最左边的极点位

置,接下来将超前网络的极点向右移动,并注意移动过程中幅值裕度的增长。也可以通

过调节增益来增加系统的幅值裕度。

试按照上述方法调整超前网络参数和增益,最终满足设计的要求。

三、

实验要求

1、完成设计任务中所有的内容;

2、撰写实验报告。

实验报告内容包括:

1 实验题目和目的;

2 设计原理;

3 超前网络设计中的设计过程、网络传递函数、校正前后的Bode图及相角

裕度;

4 直流电机调速系统设计中的设计过程、补偿器的传递函数及最终的各性

能指标;

5 设计体会。

38 / 43

自动控制原理simulink实验指导

实验七 非线性系统的稳定性分析

一、实验目的

1、掌握使用MATLAB编程进行非线性系统的稳定性分析;

2、掌握稳定自振荡频率和振幅的计算。

二、实验任务

若非线性系统如图7-1所示,则使用描述函数法判别非线性系统稳定性的方法:先

求出非线性环节的描述函数,然后在极坐标图上分别画出线性部分的和非

N(A)G(j)

线性部分的,并假设的极点均在的左半平面,则(1)若曲线不包

1

G(s)G(j)

s

N(A)

曲线,则系统稳定;2)若曲线包围曲线,则系统不稳定;3

11

G(j)

N(A)N(A)

1

曲线相交,则系统产生自振荡。 曲线与

N(A)

G(j)

7-1 非线性系统结构图

1、某非线性系统结构图如图7-2所示,1)试用MATLAB编程判断系统的稳定性

2)如果系统为稳定的自振荡,计算自振荡的频率和振幅。

7-2 系统结构图

39 / 43

自动控制原理simulink实验指导

非线性环节为理想继电器特性,描述函数为,则=。使用

N(A)

1

4A

N(A)

A4

MATLAB编程画出曲线与曲线,代码如下:

G(j)

num=[10];

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

g=tf(num,den);

nyquist(g);

axis([-6 6 -2 2]);

hold on;

a=0:0.01:1000;

na=-pi*a/4;

plot(real(na),imag(na));

1

N(A)

运行程序,可得如图7-3所示的曲线与曲线:

G(j)

1

N(A)

7-3 曲线与曲线

G(j)

1

N(A)

图中曲线包含两部分,Nyquist曲线指的是沿箭头方向的前半

G(j)

00

40 / 43

自动控制原理simulink实验指导

部分,曲线是负实轴(从0-,从图中可看出,曲线与曲线

11

G(j)

N(A)N(A)

相交,则系统产生自振荡,并且为稳定的自振荡。

下面计算自振荡的频率和振幅,MATLAB程序代码如下:

for w=0.01:0.001:100;

g=10/(j*w*(1+j*w)*(2+j*w));

re=real(g);

im=imag(g);

if abs(im)<0.001;

break;

end;

end;

na=re;

a=-4*na/pi;

运行结果如下:

w =

1.4140

a =

2.1227

则自振荡的振幅,频率

A2.12271.414

2、某非线性系统结构图如图7-3所示,1)试用MATLAB编程判断系统的稳定性

2)如果系统为稳定的自振荡,计算自振荡的频率和振幅。

7-3 系统结构图

41 / 43

自动控制原理simulink实验指导

试用上述MATLAB编程画出曲线与曲线,并判断稳定性,计算自振

G(j)

荡的频率和振幅。

三、

实验要求

1、完成实验任务中所有的内容;

2、撰写实验报告。

实验报告内容包括:

1)实验题目和目的;

2)实验原理;

1

N(A)

3)实验任务中要求完成实验的程序代码、结果图、结论和运行结果;

4)实验体会

42 / 43