自动控制理论仿真实验指导书目录实验一典型环节的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 G200,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 s s C R Z Z s G 1,1001.011)(111112==-=-=-=图1-3 比例环节的模拟电路及SIMULINK 图形其对应的模拟电路及SIMULINK 图形如图1-5所示。
4.微分环节(D)的传递函数为uf C K R s s C R Z Z s G10,100)(111112==-=-=-= uf C C 01.012=<<其对应的模拟电路及SIMULINK 图形如图1-6所示。
5.比例+微分环节(PD )的传递函数为)11.0()1()(111212+-=+-=-=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)(11212s R sC 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 211)(2+= 五、实验报告1.画出各典型环节的SIMULINK 仿真模型。
2. 记录各环节的单位阶跃响应波形,并分析参数对响应曲线的影响。
3. 写出实验的心得与体会。
六、预习要求1.熟悉各种控制器的原理和结构,画好将创建的SIMULINK 图形。
图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 数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。
考虑下列系统:25425)()(2++=s s s R 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 表示脉冲响应进行计算的时间例:试求下列系统的单位脉冲响应:12.01)()()(2++==s s s G s R s C 在MATLAB 中可表示为num=[0 0 1];den=[1 0.2 1];impulse(num,den)gridt itle(‘Unit -impulse Response of G(s)=1/(s^2+0.2s+1)’)由此得到的单位脉冲响应曲线如图2-3所示:② 求脉冲响应的另一种方法应当指出,当初始条件为零时,G (s)的单位脉冲响应与sG(s)的单位阶跃响应相同。