自动控制原理实验指导书

更新时间:2024-06-18 05:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章 基于MATLAB 7.1的控制系统仿真 知识3.1 MATLAB7.1与Simulink6.1入门基础

一、实验目的

1.熟悉Matlab实验环境,掌握Matlab命令窗口的基本操作。 2.掌握Matlab建立控制系统数学模型的命令及模型相互转换方法。 3.学会使用Simulink模型结构图化简复杂控制系统模型方法。 二、预习要求

1.学习实验相关知识, 熟悉Matlab实验环境。

2.熟悉Simulink模型结构图建立控制系统数学模型的仿真方法。 三、实验内容

1.控制系统MATLAB7.1环境简述

MATLAB(Matrix Laboratory)又名矩阵实验室,是一种以矩阵为基本数据单位的适合于科学和工程计算的数学软件系统。MATLAB是MathWorks公司开发的一套具有强大的科学及工程计算功能和丰富的图形显示功能的软件。其功能包括:数值分析、矩阵运算、信号和图像处理、系统建模、控制和优化、计算结果和功能可视化等。

(1)MATLAB语言

MATLAB语言的程序可以用两种方式来执行,即命令行方式和m文件方式,对应于函数m文件和独立m文件。独立m文件由命令描述行写成之后存储,即可在MATLAB平台上单独调用执行。函数m文件需要相应的输入输出变量参数方可执行,实验中采用MATLAB命令行方式。

(2)Simulink简介

MATLAB的Simulink是一个用来对动态系统进行建模、仿真与分析的软件包。进入MATLAB界面后,在命令窗口中键入“Simulink”,回车后便打开一个名为Simulink Library Browser的模块库浏览器,如图3-1所示。可以看见模块库中包括以下几个子模块库:Continuous(连续时间模型库),Discontinuities(非连续时间模型库),Discrete(离散时间模型库),Math Operations(数学运算模型库),Ports&Subsystem(端口与子系统模型库),Signals Routing(信号路由库),Sinks(输出节点库),Sourses(源节点库),User-Defined Functions(用户定义函数模型库)等。Simulink为用户提供了用方框图进行系统建模的图形窗口,采用这种建模方式绘制控制系统的动态模型结构图,只需要通过鼠标的点击或拖拽,将模块中提供的各种标准模块复制到Simulink的模型窗口中,就可以完成模型的创建。

图3-1 Simulink 模块库浏览器

2.举例说明如何使用MATLAB命令行方式与Simulink进行系统的建模与仿真。 下面对如图3-2的系统进行阶跃响应仿真。 (1)MATLAB命令行方式

写出系统传递函数,采用阶跃响应函数求阶跃响应,得到阶跃响应曲线,如图3-3所示。 具体程序如下:

n1=[50];d1=[1 10 0]; %采用矩阵的形式表示传递函数分子、分母 [n2,d2]=cloop(n1, d1, -1); %构成单位负反馈闭环系统 printsys(n2, d2) %显示传递函数的多项式模型 num/den = 50 --------------- s^2 + 10 s + 50

step(n2, d2) R(s)+50s2?10sC(s)_

图3-2 二阶系统方框图 图3-3 二阶系统阶跃响应

(2)Simulink方式

① 在MATLAB命令窗口中执行Simulink命令,打开Simulink Library Browser窗口。 ② 在File菜单中建立一个新的Model文件。

③ 建立系统动态结构图:分别从Sourses(源节点库)中调出Step、Math Operations(数学运算模型库)中调出Sum、Continuous(连续时间模型库)中调出Transfer Function、Sinks(输出节点库)中调出Scope,按照图3-4所示连接方法将各模块连接起来。

④ 参数修改:分别单击Transfer Function及Sum模块,进入参数对话框修改相应参数。如图3-5所示。

⑤ 仿真:参数设置完成后,得到系统动态结构图,如图3-6所示。单击Simulink

菜单中下的Start命令可进行系统仿真,双击Scope可观察到系统的单位阶跃响应,如图3-7所示。

图3-4 建立Simulink 模块文件示例

图3-5参数修改示例

图3-6 二阶系统动态结构图 图3-7 二阶系统阶跃响应

需要说明的是,MATLAB软件功能强大,内容丰富,本指导仅从完成实验的角度对相关涉及到的MATLAB软件功能加以说明,如有需要系统学习MATLAB控制理论编程知识的读者,请另行参阅相关书籍。 四、实验报告要求

1.熟悉使用各种函数命令建立控制系统数学模型。 2.完成实验的例题,并记录实验结果。 3.编写M文件程序及Simulink动态结构图。

实验3.2 基于Simulink典型环节的特性分析

一、实验目的

1.掌握Simulink模型结构图的方法分析典型环节的单位阶跃响应。

2.掌握典型环节的特征参数的测量方法,并根据阶跃响应曲线建立传递函数。 二、预习要求

1.根据典型环节参数,建立Simulink动态结构图。 2.掌握仿真参数的设置方法。 三、实验内容

1.典型环节

比例环节传递函数:G?s??C?s??K?2 R?s?C?s?11?? R?s?TssC?s?11?K??1? R?s?Tss 积分环节传递函数:G?s?? 比例积分环节传递函数:G?s??C?s?R2 比例微分环节传递函数:G?s????1?R1Cs??2?2s

R?s?R1比例积分微分环节传递函数:G?s??C?s?T1?KP?i?Tds?2??0.1s R?s?s0.1s惯性环节传递函数:G?s??2.Simulink实现方案

C?s?K2 ??R?s?Ts?10.2s?1Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。利用Simulink可以快速建立控制系统模型,观察比例、积分、比例积分、比例积分微分、惯性环节阶跃响应的动态特性。

图3-8为典型环节Simulink动态仿真结构图。

subplot(3,1,2); plot(t,y(:,2)) axis([0 5 -2.5 2.5]); grid

subplot(3,1,3); plot(t,y(:,3)) axis([0 5 -5 5]); grid

gtext('K=5'); gtext('K=12'); gtext('K=18');

图 3-15 K取不同值时系统的阶跃响应

四、实验报告要求

1.完成实验内容中的实验,编写程序,记录相关数据并分析,得出结论。 2.掌握系统开环增益变化对稳态误差的影响。 五、拓展自我实践

1.已知系统的传递函数为?(s)?指标。

2.已知系统的开环传递函数为G(s)?动态性能指标。

2s,试绘制其5 s内的单位阶跃响应,并测出动态性能

s2?3s?25100,试绘制单位负反馈闭环系统的单位阶跃响应,并测出2s?3s实验3.4 基于Matlab控制系统稳态误差分析

一、实验目的

1.掌握使用Simulink仿真环境进行控制系统稳态误差分析方法。 2.研究系统在不同典型输入信号作用下稳态误差的变化。 3.分析系统型次及开环增益对稳态误差的影响。 二、预习要求

1.分析不同型次的控制系统在不同典型输入信号作用下的稳态误差。 2.根据实验内容,设计Simulink动态仿真结构图。 三、实验内容

1.0型二阶系统稳态误差

0型系统的方框图如图3-15所示。求0型系统的单位阶跃响应和单位斜坡响应曲线。

+E(s)_2(1?0.2s)?(1?0.1s)C(s)

图2-17 0型二阶系统的方框图

程序如下: clc clear Rp=1; Rv=1; num=2;

den=[0.02,0.3,1]; Gopen=tf(num,den); Kp=dcgain(Gopen) Kv=dcgain([num 0],den)

ess1=Rp/(1+Kp) %0型二阶系统的单位阶跃响应误差 ess2=Rv/Kv %0型二阶系统的单位斜坡响应误差 Gclose=feedback(Gopen,1,-1); figure(1);

step(Gclose,'r'); %0型二阶系统的单位阶跃响应曲线图 hold on figure(2); t=0:0.01:5;

u1=t;

lsim(Gclose,u1,t); %0型二阶系统的单位斜坡响应曲线图 运行结果如下:

0型二阶系统的单位阶跃响应静态位置误差系数为Kp =2; 0型二阶系统的单位斜坡响应静态速度误差系数为Kv =0; 0型二阶系统的单位阶跃响应误差为ess1 =0.3333; 0型二阶系统的单位斜坡响应误差为ess2 =Inf。 响应曲线如图3-15和3-16所示。

图3-15 0型二阶系统的单位阶跃响应 图3-16 0型二阶系统的单位斜坡响应 2.Ⅰ型二阶系统稳态误差

Ⅰ型系统的方框图如图3-17所示。求Ⅰ型系统的单位阶跃响应和单位斜坡响应曲线。

R(s)+E(s)_10(1?0.1s)sC(s)

图3-17 Ⅰ型二阶系统的方框图

程序如下: clear clc Rp=1; Rv=1; num=10; den=[0.1,1,0]; Gopen=tf(num,den); Kp=dcgain(Gopen) Kv=dcgain([num 0],den)

ess1=Rp/(1+Kp) %I型二阶系统的单位阶跃响应误差

ess2=Rv/Kv %I型二阶系统的单位斜坡响应误差 Gclose=feedback(Gopen,1,-1); figure(1);

step(Gclose); %I型二级系统的单位阶跃响应曲线 figure(2); t=0:0.01:5; u1=t;

lsim(Gclose,u1,t); %I型二级系统的单位斜坡响应曲线 运行结果如下:

Ⅰ型二阶系统的单位阶跃响应静态位置误差系数为Kp =Inf; Ⅰ型二阶系统的单位斜坡响应静态速度误差系数为Kv =10; Ⅰ型二阶系统的单位阶跃响应误差为ess1 =0; Ⅰ型二阶系统的单位斜坡响应误差为ess2 =0.1。 响应曲线如图3-18和3-19所示。

图3-18 Ⅰ型二阶系统的单位阶跃响应 图3-19 Ⅰ型二阶系统的单位斜坡响应 3.Ⅱ型二阶系统稳态误差

R(s)+_E(s)10(1?0.47s)s2C(s)

图2-21 Ⅱ型二阶系统的方框图

程序如下: clear clc Rv=1;

Ra=1; num=[4.7,10]; den=[1,0,0]; Gopen=tf(num,den); Kv=dcgain([num 0],den) Ka=dcgain([num 0 0],den)

ess1=Rv/Kv % II型二阶系统的单位斜坡响应误差 ess2=Ra/Ka % II型二阶系统的单位抛物线响应误差 Gclose=feedback(Gopen,1,-1); figure(1); t=0:0.01:5; u1=t;

lsim(Gclose,u1,t); % II型二阶系统的单位斜坡响应曲线 figure(2); t=0:0.01:5; l=length(t); for i=1:l u2(i)=t(i)^2/2; end

lsim(Gclose,u2,t); % II型二级系统的单位斜坡响应曲线 运行结果如下:

Ⅱ型二阶系统的单位斜坡响应静态速度误差系数为Kv =Inf; Ⅱ型二阶系统的单位抛物线静态加速度误差系数为Ka =10; Ⅱ型二阶系统的单位斜坡响应误差为ess1 =0; Ⅱ型二阶系统的单位抛物线响应误差为ess2 =0.1。 响应曲线如图3-20和3-21所示。

图3-20 Ⅱ型二阶系统的单位斜坡响应 图3-21 Ⅱ型二阶系统的单位抛物线响应

四、实验报告要求

1.根据实验内容要求,设计Simulink动态仿真结构图,记录相关数据并分析,得出结论。 2.掌握系统开环增益变化对稳态误差的影响。

本文来源:https://www.bwwdw.com/article/ayl3.html

Top