实验四 PID控制系统的Simulink

实验四 PID控制系统的Simulink
实验四 PID控制系统的Simulink

自动控制理论

学院:机电工程学院

班级:13级电信一班

姓名:

学号:

实验四 PID 控制系统的Simulink 仿真分析

一、实验目的和任务

1.掌握PID 控制规律及控制器实现。

2.掌握用Simulink 建立PID 控制器及构建系统模型与仿真方法。

二、实验原理和方法

在模拟控制系统中,控制器中最常用的控制规律是PID 控制。PID 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。PID 控制规律写成传递函数的形式为a s K s Ki K s T s T K s U s E s G d p d i

p ++=++==)11()()()( 式中,P K 为比例系数;i K 为积分系数;d K 为微分系数;i p i K K T =

为积分时间常数;p

d d K K T =为微分时间常数; 简单来说,PID 控制各校正环节的作用如下:

(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立

即产生控制作用,以减少偏差。

(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决

于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。

(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

三、实验使用仪器设备

计算机、MATLAB 软件

四、实验内容(步骤)

1、在MATLAB 命令窗口中输入“simulink ”进入仿真界面。

2、构建PID 控制器:(1)新建Simulink 模型窗口(选择“File/New/Model ”),在Simulink Library Browser 中将需要的模块拖动到新建的窗口中,根据PID 控制器的传递函数构建出如下模型:

各模块如下:

Math Operations模块库中的Gain模块,它是增益。拖到模型窗口中后,双击模块,在弹出的对话框中将‘Gain’分别改为‘Kp’、‘Ki’、‘Kd’,表示这三个增益系数。

Continuous模块库中的Integrator模块,它是积分模块;Derivative模块,它是微分模块。

Math Operations模块库中的Add模块,它是加法模块,默认是两个输入相加,双击该模块,将‘List of Signs’框中的两个加号(++)后输入一个加号(+),这样就改为了三个加号,用来表示三个信号的叠加。

Ports & Subsystems模块库中的In1模块(输入端口模块)和Out1模块(输出端口模块)。

(2)将上述结构图封装成PID控制器。

①创建子系统。选中上述结构图后再选择模型窗口菜单“Edit/Creat Subsystem”

②封装。选中上述子系统模块,再选择模型窗口菜单“Edit/Mask Subsystem”

③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。本次试验主要需进行以下几项设置:

Icon(图标)项:“Drawing commands”编辑框中输入“disp(‘PID’)”,如下

左图示:Parameters(参数)项:创建Kp,Ki,Kd三个参数,如下右图示:

至此,PID控制器便构建完成,它可以像Simulink自带的那些模块一样,进行拖拉,或用于创建其它系统。

3、搭建一单回路系统结构框图如下图所示:

所需模块及设置:Sources模块库中Step模块;Sinks模块库中的Scope模块;Commonly Used Blocks模块库中的Mux模块;Continuous模块库中的Zero-Pole 模块。Step模块和Zero-Pole模块设置如下:

4、构建好一个系统模型后,就可以运行,观察仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数、启动仿真和仿真结果分析。选择菜单“Simulation/Confiuration Parameters”,可设置仿真时间与算法等参数,如下图示:其中默认算法是ode45(四/五阶龙格-库塔法),适用于大多数连续或离散系统。

5、双击PID模块,在弹出的对话框中可设置PID控制器的参数Kp,Ki,Kd:

设置好参数后,单击“Simulation/Start”运行仿真,双击Scope示波器观察输出结果,并进行仿真结果分析。比较以下参数的结果:

(1)Kp=8.5,Ki=5.3,Kd=3.4

(2)Kp=6.7,Ki=2,Kd=2.5

(3)Kp=4.2,Ki=1.8,Kd=1.7

6、以Kp=8.5,Ki=5.3,Kd=3.4这组数据为基础,改变其中一个参数,固定其余两

个,以此来分别讨论Kp,Ki,Kd的作用。

Kp=8.5 Ki=5.3 改变Kd=5

Kp=8.5 改变Ki=7.3 Kd=3.4

改变Ki=9.5 Kd=5.3 Ki=3.4

7、分析不同调节器下该系统的阶跃响应曲线(1)P调节 Kp=8

(2)PI调节 Kp=5,Ki=2

(3)PD调节 Kp=8.5,Kd=2.5

(4)PID调节 Kp=7.5,Ki=5,Kd=3

五.实验总结

在本次实验中,不同于以往的自动控制实验,这次使用的simulink,将实验要求中的图形和参数绘制,在这上面花费的巨大的精力,通过修改参数,得出不同的实验结果。

PID控制各校正环节的作用如下:

(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器

立即产生控制作用,以减少偏差。

(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取

决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。

(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。

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_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 。

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掉电。

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与-之间有空格),敲回车出现:

相关主题
相关文档
最新文档