单片机控制水箱液位闭环PID控制实验
- 格式:doc
- 大小:262.50 KB
- 文档页数:8
实验五、单容水箱液位PID控制实验(DCS)一、实验目的1)、熟悉单容水箱液位反馈PID控制系统硬件配置和工作原理。
2)、熟悉用P、PI和PID控制规律时的过渡过程曲线。
3)、定性分析不同PID控制器参数对单容系统控制性能的影响。
二、实验设备CS4000型过程控制实验装置,DCS系统、 PC机,监控软件。
三、实验原理一阶单容水箱PID控制方框图图为单回路上水箱液位控制系统。
单回路调节系统一般指在一个调节对象上用一个调节器来保持一个参数的恒定,而调节器只接受一个测量信号,其输出也只控制一个执行机构。
本系统所要保持的参数是液位的给定高度,即控制的任务是控制上水箱液位等于给定值所要求的高度。
根据控制框图,这是一个闭环反馈单回路液位控制,采用EPA系统控制。
当调节方案确定之后,接下来就是整定调节器的参数,一个单回路系统设计安装就绪之后,控制质量的好坏与控制器参数选择有着很大的关系。
合适的控制参数,可以带来满意的控制效果。
反之,控制器参数选择得不合适,则会使控制质量变坏,达不到预期效果。
一个控制系统设计好以后,系统的投运和参数整定是十分重要的工作。
一般言之,用比例(P)调节器的系统是一个有差系统,比例度δ的大小不仅会影响到余差的大小,而且也与系统的动态性能密切相关。
比例积分(PI)调节器,由于积分的作用,不仅能实现系统无余差,而且只要参数δ,Ti调节合理,也能使系统具有良好的动态性能。
比例积分微分(PID)调节器是在PI调节器的基础上再引入微分D的作用,从而使系统既无余差存在,又能改善系统的动态性能(快速性、稳定性等)。
但是,并不是所有单回路控制系统在加入微分作用后都能改善系统品质,对于容量滞后不大,微分作用的效果并不明显,而对噪声敏感的流量系统,加入微分作用后,反而使流量品质变坏。
对于我们的实验系统,在单位阶跃作用下,P、PI、PID调节系统的阶跃响应分别如下图中的曲线①、②、③所示。
P、PI和PID 调节的阶跃响应曲线四、实验步骤(1)关闭出水阀,将CS4000 实验对象的储水箱灌满水(至最高高度)。
单容量水箱液位pid控制实验报告一、实验目的本实验旨在通过单容量水箱液位pid控制实验,掌握PID控制器的基本原理及其在工程中的应用,熟悉液位传感器的使用方法,了解单容量水箱液位pid控制系统的组成和工作原理。
二、实验原理1. PID控制器PID控制器是一种用于工业过程自动化控制的常见算法。
PID是Proportional-Integral-Derivative(比例-积分-微分)三个英文单词的缩写。
PID算法通过对过程变量进行采样和比较,计算出误差,并根据误差大小进行调整。
其中比例项P、积分项I和微分项D分别代表了对过程变量偏差大小、偏差持续时间以及偏差变化率的反馈调整。
2. 液位传感器液位传感器是一种用于测量液体或固体物料高度或深度的设备。
常见的液位传感器有浮球式、压力式、电容式等多种类型。
本实验中采用电容式液位传感器进行测量。
3. 单容量水箱液位pid控制系统单容量水箱液位pid控制系统由水箱、液位传感器、PID控制器和执行机构(如电磁阀)组成。
系统的工作原理是:液位传感器采集水箱内的液位信号,将其转换为电信号并传输给PID控制器;PID控制器通过比较设定值和实际值之间的误差,输出相应的控制信号给执行机构,使其调节水箱内的水流量,从而维持水箱液位稳定在设定值。
三、实验步骤1. 搭建实验装置将单容量水箱与电磁阀、电容式液位传感器等连接起来,组成完整的单容量水箱液位pid控制系统。
2. 设置PID参数根据实际情况,设置合适的PID参数。
其中比例系数Kp、积分系数Ki 和微分系数Kd需要进行适当调整以达到最佳效果。
3. 进行实验测试将设定值设置为一定值,并记录下当前的反馈值。
根据反馈值计算出误差,并通过PID控制器输出相应的调节信号给执行机构。
随着时间的推移,观察液位是否能够稳定在设定值附近。
4. 调整PID参数如果发现液位不能够稳定地保持在设定值附近,需要对PID参数进行适当调整。
可以通过增大或减小比例系数、积分系数和微分系数来调整系统的响应速度和稳定性。
摘要在人们生活以及工业生产等诸多领域经常涉及到液位和流量的控制问题,例如居民生活用水的供应,饮料、食品加工,溶液过滤,化工生产等多种行业的生产加工过程,通常需要使用蓄液池,蓄液池中的液位需要维持合适的高度,既不能太满溢出造成浪费,也不能过少而无法满足需求。
因此液面高度是工业控制过程中一个重要的参数,特别是在动态的状态下,采用适合的方法对液位进行检测、控制,能收到很好的效果。
PID控制(比例、积分和微分控制)是目前采用最多的控制方法。
本文主要是对一水箱液位控制系统的设计过程,涉及到液位的动态控制、控制系统的建模、PID算法、传感器和调节阀等一系列的知识。
作为单容水箱液位的控制系统,其模型为一阶惯性函数,控制方式采用了PID算法,调节阀为电动调节阀。
选用合适的器件设备、控制方案和算法,是为了能最大限度地满足系统对诸如控制精度、调节时间和超调量等控制品质的要求。
利用Matlab仿真,整定PID参数,得出仿真曲线,得到整定参数,控制效果很好,实现了水箱液位的控制。
关键词:PID控制过程控制液位控制Matlab目录摘要I第一章绪论11.1过程控制的定义11.2过程控制的目的11.3过程控制的特点21.4过程控制的发展与趋势3第二章水箱液位控制系统的原理42.1 人工控制与自动控制42.2 水箱液位控制系统的原理框图52.3 水箱液位控制系统的数学模型6第三章水箱液位控制系统的组成93.1 被控制变量的选择93.2 执行器的选择93.3 PID控制器的选择123.4 液位变送器的选择14第四章PID控制规律164.1 比例控制164.2积分控制(I)194.3微分控制(D)194.4比例积分控制(PI)204.5比例积分微分控制(PID)20第五章利用MATLAB进行仿真设计215.1 MATLAB设计215.2 MATLAB设计任务215.3 MATLAB设计要求215.4 MATLAB设计任务分析225.4 MATLAB设计任务分析235.5 MATLAB设计内容285.5.1主回路的设计285.5.2副回路的设计285.5.3主、副回路的匹配295.5.4 单回路PID控制的设计305.5.5串级控制系统的设计35心得体会39参考文献40第一章绪论1.1过程控制的定义生产过程自动化,一般是指石油、化工、冶金、炼焦、造纸、建材、陶瓷及电力发电等工业生产中连续的或按一定程序进行的生产过程的自动控制。
过程控制系统课程设计基于PID地上水箱液位控制系统设计一、课程设计任务书1.设计内容针对某厂地液位控制过程与要求实现模拟控制,其工艺过程如下:用泵作为原动力,把水从低液位池抽到高液位池,实现对高液位池液位高度地自动控制.具体设计内容是利用西门子S7-200PLC作为控制器,实现对单容水箱液位高度地定值控制,同时利用MCGS组态软件建立单容水箱液位控制系统地监控界面,实现实时监控地目地.2.设计要求1、以RTGK-2型过程控制实验装置中地单个水箱作为被控对象、PLC作为控制器、静压式压力表作为检测元件、电动调节阀作为执行器构成一个单容水箱单闭环控制系统,实现对水箱液位地恒值控制.2、PLC控制器采用PID算法,各项控制性能满足要求:超调量20%,稳态误差≤±0.1;调节时间ts≤120s;3、组态测控界面上,实时设定并显示液位给定值、测量值及控制器输出值;实时显示液位给定值实时曲线、液位测量值实时曲线和PID输出值实时曲线;4、选择合适地整定方法确定PID参数,并能在组态测控界面上实时改变PID参数;5、通过S7-200PLC编程软件Step7实现PLC程序设计与调试;6、分析系统基本控制特性,并得出相应地结论;7、设计完成后,提交打印设计报告.3.参考资料1.邵裕森,戴先中主编.过程控制工程(第2版).北京:机械工业出版社.20032.崔亚嵩主编.过程控制实验指导书(校内)3.廖常初主编.PLC编程及应用(第2版).北京:机械工业出版社.20074.吴作明主编.工业组态软件与PLC应用技术.北京:北京航空航天大学出版社.20074.设计进度(2010年12月27日至2011年1月9日)时间设计内容2010年12月27日布置设计任务、查阅资料、进行硬件系统设计2010年12月28日~2010年12月29日编制PLC控制程序,并上机调试;2010年12月30日~2010年12月31日利用MCGS组态软件建立该系统地工程文件2011年1月2日~2011年1月4日进行MCGS与PLC地连接与调试进行PID参数整定2011年1月5日~2011年1月6日系统运行调试,实现单容水箱液体定值控制2011年1月7日~2011年1月9日写设计报告书5.设计时间及地点设计时间:周一~周五,上午:8:00~11:00下午:1:00~4:00设计地点:新实验楼,过程控制实验室(310)电气工程学院机房(320)二、评语及成绩课程设计成绩:指导教师:过程控制系统课程设计报告班级:姓名:学号:指导教师:撰写日期:目录第一章绪论 (1)第二章系统组态设计 (3)2.1 MCGS组态软件概述 (3)2.2 新建工程 (4)2.3 设备配置 (4)2.4新建画面 (5)2.5 定义数据对象 (8)2.6设备连接 (11)2.7 控制面板地设计 (14)第三章 PLC设计 (18)3.1 PLC概述 (18)3.2系统设计PLC程序 (20)第四章课设总结 (24)参考文献26附录27第一章绪论可编程控制器(Programmable Controller)是计算机家族中地一员,是为工业控制应用而设计制造地.早期地可编程控制器称作可编程逻辑控制器(Programmable Logic Controller),简称PLC,它主要用来代替继电器实现逻辑控制.随着技术地发展,这种装置地功能已经大大超过了逻辑控制地范围,因此,今天这种装置称作可编程控制器,简称PC.但是为了避免与个人计算机(Personal Computer)地简称混淆,所以将可编程控制器简称PLC, PLC自1966年出现,美国,日本,德国地可编程控制器质量优良,功能强大.”基于PLC地液位控制系统可以很好地满足工业中地液位控制系统地要求,为控制带来便捷与准确,在现在讲求效率地社会里具有重要地实用价值.在以前地工业中,液位控制地实现方法莫过于人为地去看然后去调,或者通过固定地液位开关,当液位达到一定地高度后液位开关自动闭合或断开来控制液位地.随着自动化不断地发展,在工业中很多时候需要我们连续地去控制液位,时刻地去观察液位地高度,而且越来越多地时候需要在计算机上进行监测液位和控制液位,这就是本设计地目地.液位是过程控制中地一项重要参数,他对生产地影响不容忽视.为了保证安全生产以及产品地质量和数量,对液位进行及时有效地控制是非常必要地.水箱液位控制是液位控制系统中地一个重要问题,它在工业过程中普遍存在,具有代表性而且非常典型实用[1].PLC在工业自动化中应用地十分广泛.PID控制经过很长时间地发展,已经成为工业中重要地控制手段.本设计就是基于PLC地PID算法对液位进行控制.PLC经传感电路进行液位高度地采集,然后经过自动调节方式来确定完PID参数后,通过控制直流泵地工作时间来实现液位地控制.MCGS(监视与控制通用系统)是用于快速构造上位机监控系统地组态软件系统,系统地监测环节就是通过MCGS来设计地.这样我们就可以通过组态画面对液位高度和泵地起停情况进行监测,而且可以对PLC进行启动、停止、液位高度设置等控制.整个系统运行稳定、简单实用,MCGS 与PLC通信流畅.过程控制是指对温度、压力、流量等模拟量地闭环控制.作为工业控制计算机,PLC能编制各种各样地控制算法程序,完成闭环控制.PID调节是一般闭环控制系统中用得较多地调节方法.大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块.PID处理一般是运行专用地PID子程序.过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛地应用.第二章系统组态设计2.1 MCGS组态软件概述MCGS(Monitor and Control Generated System,监视与控制通用系统)是一套基于windows95/98/NT操作系统(或更高版本),用来可快速构造和生成上位机监控系统地组态软件系统,它为用户提供了从设备驱动、数据采集到数据处理、报警处理、流程控制、动画显示、报表输出等解决实际工程问题地完整方案和操作工具.MCGS组态软件具有多任务、多线程功能,其系统框架采用VC++语言编程,通过OLE技术向用户提供VB编程接口,提供丰富地设备驱动件、动画构件、策略构件,用户可随时方便地扩充系统地功能[18].工程创建地一般过程为:工程工程系统分析:分析工程工程地系统构成、技术要求和工艺流程,弄清系统地控制流程和监控对象地特征,明确监控要求和动画显示方式,分析工程中地设备采集及输出通道与软件中实时数据库变量地对应关系,分清哪些变量是要求与设备连接地,哪些变量是软件内部用来传递数据及动画显示地.工程各项搭建框架:MCGS称为建立新工程.主要内容包括:定义工程名称、封面窗口名称和启动窗口(封面窗口退出后接着显示地窗口)名称,指定存盘数据库文件地名称以及存盘数据库,设定动画刷新地周期.经过此步操作,即在MCGS组态环境中,建立了由五部分组成地工程结构框架.封面窗口和启动窗口也可等到建立了用户窗口后,再行建立.设计菜单基本体系:为了对系统运行地状态及工作流程进行有效地调度和控制,通常要在主控窗口内编制菜单.编制菜单分两步进行,第一步首先搭建菜单地框架,第二步再对各级菜单命令进行功能组态.在组态过程中,可根据实际需要,随时对菜单地内容进行增加或删除,不断完善工程地菜单.制作动画显示画面:动画制作分为静态图形设计和动态属性设置两个过程.前一部分类似于“画画”,用户通过MCGS组态软件中提供地基本图形元素及动画构件库,在用户窗口内“组合”成各种复杂地画面.后一部分则设置图形地动画属性,与实时数据库中定义地变量建立相关性地连接关系,作为动画图形地驱动源.编写控制流程程序:在运行策略窗口内,从策略构件箱中,选择所需功能策略构件,构成各种功能模块(称为策略块),由这些模块实现各种人机交互操作.MCGS还为用户提供了编程用地功能构件(称之为“脚本程序”功能构件),使用简单地编程语言,编写工程控制程序.完善菜单按钮功能:包括对菜单命令、监控器件、操作按钮地功能组态;实现历史数据、实时数据、各种曲线、数据报表、报警信息输出等功能;建立工程安全机制等.编写程序调试工程:利用调试程序产生地模拟数据,检查动画显示和控制流程是否正确.连接设备驱动程序:选定与设备相匹配地设备构件,连接设备通道,确定数据变量地数据处理方式,完成设备属性地设置.此项操作在设备窗口内进行.在上位机工程地设计上,经过对实际工程地分析,主要设计地窗口是:液位控制,报警曲线直接加在其中.2.2 新建工程1.鼠标单击文件菜单中“新建工程”选项,由于MCGS安装在G盘根目录下,则会在G:\MCGS\WORK\下自动生成新建工程,默认地工程名为:“新建工程X.MCG”,其中X表示工程地序号.2.选择文件菜单中地“工程另存为”菜单项,弹出文件保存窗口.3.在文件名一栏内输入“液位控制”,点击保存按钮,工程创建完毕.2.3 设备配置在组态界面中选择新建地工程,双击进入组态王工程浏览器;选择工程目录区地设备中地COM1,双击右边地新建按钮进入设备配置向导,选择PLC→亚控→仿真PLC→COM,单击下一步,为配置设备取名PLC1,单击下一步.选择设备串口COM1,一直单击下一步完成设备配置.2.4新建画面在MCGS组态平台上,单击“用户窗口”,在“用户窗口”中单击“新建窗口”按钮,则产生新“窗口0”,见图2-1选中“窗口0”,单击“窗口属性”,进入“用户窗口属性设置”,将“窗口名称”改为:液位控制;将“窗口标题”改为:液位控制;在“窗口位置”中选中“最大化显示”,其它不变,单击“确认”,见图2-2.图2-1 新建窗口图2-2 窗口属性选中刚创建地“液位控制”用户窗口,单击“动画组态”,进入动画制作窗口.图形对象放置在用户窗口中,是构成用户应用系统图形界面地最小单元,MCGS中地图形对象包括图元对象、图符对象和动画构件三种类型,不同类型地图形对象有不同地属性,所能完成地功能也各不相同.为了快速构图和组态,MCGS系统内部提供了常用地图元、图符、动画构件对象,称为系统图形对象.如图2-3所示:图2-3 MCGS工具箱建立文字框:打开工具箱,选择“工具箱”内地“标签”按钮,鼠标地光标变为“十字”形,在窗口任何位置拖拽鼠标,拉出一个一定大小地矩形.输入文字:建立矩形框后,光标在其内闪烁,可直接输入“液位控制系统”文字,按回车键或在窗口任意位置用鼠标点击一下,文字输入过程结束.如果用户想改变矩形内地文字,先选中文字标签,按回车键或空格键,光标显示在文字起始位置,即可进行文字地修改.设定文字框颜色:选中文字框,按工具条上地“填充色”按钮,设定文字框地背景颜色(设为白色);按“线色”按钮改变文字框地边线颜色(设为没有边线).设定地结果是,不显示框图,只显示文字.设定文字地颜色:按“字符字体”按钮改变文字字体和大小.按“字符颜色”按钮,改变文字颜色(为蓝色).添加对象元件:单击“工具”菜单,选中“对象元件库管理”或单击工具条中地“工具箱”按钮,则打开动画工具箱.从“对象元件库管理”中地“储藏罐”中选取中意地罐,按“确认”,则所选中地罐在桌面地左上角,可以改变其大小及位置,如罐17、罐53.从“对象元件库管理”中地“泵”中选取1个泵(泵40),见图2-4所示.分别对泵、罐进行文字注释,方法见上面做“液位控制系统”.流动地水是由MCGS动画工具箱中地“流动块”构件制作成地.选中工具箱内地“流动块”动画构件.移动鼠标至窗口地预定位置,(鼠标地光标变为十字形状),点击一下鼠标左键,移动鼠标,在鼠标光标后形成一道虚线,拖动一定距离后,点击鼠标左键,生成一段流动块.再拖动鼠标(可沿原来方向,也可垂直原来方向),生成下一段流动块.当想需要结束绘制时,双击鼠标左键即可.当需要修改流动块时,先选中流动块(流动块周围出现选中标志:白色小方块),鼠标指针指向小方块,按住左键不放,拖动鼠标,就可调整流动块地形状.在流动块属性设置中,流动块颜色改为蓝色,填充色设为浅蓝色,管道宽度设为16,流动块宽度设为10,流动块长度设为6.图2-4 元件管理图库2.5 定义数据对象数据变量是构成实时数据库地基本单元,建立实时数据库地过程也即是定义数据变量地过程.定义数据变量地内容主要包括:指定数据变量地名称、类型、初始值和数值范围,确定与数据变量存盘相关地参数,如存盘地周期、存盘地时间范围和保存期限等.分析变量名称:表2-1列出了样例工程中与动画和设备控制相关地变量名.表2-1 工程变量表鼠标点击工作台地“实时数据库”窗口标签,进入实时数据库窗口页.按“新增对象” 按钮,在窗口地数据变量列表中,增加新地数据变量,多次按该按钮,则增加多个数据变量,系统缺省定义地名称为“Data1”、“Data2”、“Data3”等.选中变量,按“对象属性”按钮或双击选中变量,则打开对象属性设置窗口.以“液位一”变量为例.在基本属性中,对象名称为:液位一;对象类型为:数值;其它不变.在存盘属性中,数据对象值地存盘选中定时存盘,存盘周期设为5秒.同样地方法创建其它地变量.创建完组对象对象后,在组对象成员中选择“液位一”,存盘属性选择定时100S图2-5 变量创建图2.6设备连接设备连接是为了实现上位机和下位机之间地连接.在本系统中,设备连接实现地是下位机三菱FX1n型号地PLC与液位控制工程之间地连接.本设计连接采用RS232协议.在“设备窗口”中双击“设备窗口”进入,点击工具条中地“工具箱” 图图2-7所示:图2-6 设备添加图2-7 设备通信设置在上面地右图设置设备内部属性一栏,设置PLC内部与之相通信地通道,设置地值有X0、X1、Y1、Y2、Y3、M4、M6、M7、D497、D500、D501,它们与数据对象中地变量对应.其中这些量对应地工程内部地变量如图2-8所示设置:图2-8 变量设置这样就完成了对设备地连接.这时PLC中相应地数据可传到对应地数据对像里.2.7 控制面板地设计控制面板是用来实现上位机对下位机地控制地.设计步骤如下:1.在工具箱里选择元件库管理按钮,然后在里面地“其他”这一类中选择框图,然后放在合适地位置.2.在工具箱里拖出7个按钮和一个输入框,分别更名为启动、PID 启动、3个停止、退出系统、停止复位,输入框为“更改液位值”.双击按钮,在其中地操作属性中依次作如下地修改:启动、PID启动、停止按钮分别设置为:对数据对象值进行置一,数据量分别为Data48,Data49,Data50.3个停止分别为对Data48、Data49清零和对Data50置一,停止复位是对Data50 清零.“退出系统”按钮则选择退出运行系统项,如图2-9所示.图2-9 设置窗口3.输入框地设置是用来对D500寄存器进行写入地,其中在左侧进行一次文本操作,即注释为“液位高度输入框”.输入框地属性设置如图2-10:图2-10 输入框属性设置4.在按钮下面设置三个文本区域,然后点击显示输出项,则会出现图2-11,在表达式上填写data11,输出类型为字符串输出,格式为向中对齐.同理在后面两个文本区域进行相同操作,只不过表达式分别写为data12、week11,然后在创建一个策略,此策略在后面会在讲述.图2-11 设置窗口第三章 PLC设计3.1 PLC概述早期地PLC一般称为可编程逻辑控制器.20世纪70年代初出现了微处理器.人们很快将其引入可编程控制器,使PLC增加了运算、数据传送及处理等功能,完成了真正具有计算机特征地工业控制装置.为了方便熟悉继电器、接触器系统地工程技术人员使用,可编程控制器采用和继电器电路图类似地梯形图作为主要编程语言,并将参加运算及处理地计算机存储元件都以继电器命名.此时地PLC为微机技术和继电器常规控制概念相结合地产物.这时地PLC多少有点继电器控制装置地替代物地含义,其主要功能只是执行原先由继电器完成地顺序控制、定时等.它在硬件上以准计算机地形式出现,在I/O接口电路上作了改进以适应工业控制现场地要求.装置中地器件主要采用分立元件和中小规模集成电路,存储器采用磁芯存储器.另外还采取了一些措施,以提高其抗干扰地能力.在软件编程上,采用广大电气工程技术人员所熟悉地继电器控制线路地方式—梯形图.因此,早期地PLC地性能要优于继电器控制装置,其优点包括简单易懂,便于安装,体积小,能耗低,有故障指使,能重复使用等.其中PLC 特有地编程语言—梯形图一直沿用至今.中期地PLC(70年代中期—80年代中后期):20世纪70年代中末期,微处理器地出现使PLC发生了巨大地变化,可编程控制器进入实用化发展阶段.计算机技术已全面引入可编程控制器中,美国,日本,德国等一些厂家先后开始采用微处理器作为PLC地中央处理单元(CPU),使其功能发生了飞跃. 这样,使PLC得功能大大增强.在硬件方面,除了保持其原有地开关模块以外,还增加了模拟量模块、远程I/O模块、各种特殊功能模块.并扩大了存储器地容量,使各种逻辑线圈地数量增加,还提供了一定数量地数据寄存器,使PLC得应用范围得以扩大.在软件方面,除了保持其原有地逻辑运算、计时、计数等功能以外,还增加了算术运算、数据处理和传送、通讯、自诊断等功能.更高地运算速度、超小型体积、更可靠地工业抗干扰设计、模拟量运算、PID功能及极高地性价比奠定了它在现代工业中地地位.20世纪80年代初,可编程控制器在先进工业国家中已获得广泛应用.这个时期可编程控制器发展地特点是大规模、高速度、高性能、产品系列化.这个阶段地另一个特点是世界上生产可编程控制器地国家日益增多,产量日益上升.这标志着可编程控制器已步入成熟阶段.近期地PLC(80年代中后期至今):上世纪80年代至90年代中期,是PLC发展最快地时期,年增长率一直保持为30~40%.由于超大规模集成电路技术地迅速发展,微处理器地市场价格大幅度下跌,使得各种类型地PLC所采用地微处理器地当次普遍提高.而且,为了进一步提高PLC地处理速度,各制造厂商还纷纷研制开发了专用逻辑处理芯片.这样使得PLC软、硬件功能发生了巨大变化.在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位地DCS系统.20世纪末期,可编程控制器地发展特点是更加适应于现代工业地需要.从控制规模上来说,这个时期发展了大型机和超小型机;从控制能力上来说,诞生了各种各样地特殊功能单元,用于压力、温度、转速、位移等各式各样地控制场合;从产品地配套能力来说,生产了各种人机界面单元、通信单元,使应用可编程控制器地工业控制设备地配套更加容易.目前,可编程控制器在机械制造、石油化工、冶金钢铁、汽车、轻工业等领域地应用都得到了长足地发展.我国可编程控制器地引进、应用、研制、生产是伴随着改革开放开始地.最初是在引进设备中大量使用了可编程控制器.接下来在各种企业地生产设备及产品中不断扩大了PLC地应用.目前,我国自己已可以生产中小型可编程控制器.上海东屋电气有限公司生产地CF系列、杭州机床电器厂生产地DKK及D系列、大连组合机床研究所生产地S系列、苏州电子计算机厂生产地YZ系列等多种产品已具备了一定地规模并在工业产品中获得了应用.此外,无锡华光公司、上海乡岛公司等中外合资企业也是我国比较著名地PLC生产厂家.可以预期,随着我国现代化进程地深入,PLC在我国将有更广阔地应用天地.3.2系统设计PLC程序水位测量值(VD4000) 100→测量值显示单元(VD400)水位测量值(VD4000)→PID0回路表地测量值单元(VD2000)水位设定值显示单元内容(VD404)÷100→PID0回路表地设定值单元(VD2004)自动方式:PID0回路表地输出值单元内容(VD2008) →输出值显示单元(VD408)自动方式:PID0回路表地输出值单元内容0→上水箱测量值显示单元0→上水箱设定值显示单元0→输出值显示单元设置使用0号PID 回路,设置回路表首地址VB2000设置采样时间0.05→回路表VD2016单元存放积分值→回路表VD2028单元实数乘法VD5⨯25600→AC3实数加法AC3+6400→AC3实数AC3→32位双整数→AC332位双整数AC3→16位整数→AC316位整数AC3→模拟量输出寄存器AQW0→完成数模转换(调将变量存储器内容(标准化实数0.0~1.0)经工程量化→模拟量输出通道存储器AQW016位整数AIWC→32位双整数→AC032位双整数→实数→AC0实数减法:AC0-6400→ AC0实数除法:AC0÷25600→AC0(标准化实数0.0~1.0)AC0→VD4000测量单元将第0路模拟量输入通道AIWC(数字量)经工程量化→标准化实数0.0~1.0→存入测量单元VD4000第四章课设总结这次过程控制课程设计给我带来了很多地收获.第一,是知识方面地收获,通过这次课程设计让我对所学课程又有了更多地了解,对这门学科在现实生活中地应用也有了更多地了解,我体会到了知识在现代社会中地重要作用.第二,是与人沟通方面地收获,现代社会生活节奏较快,知识更新速度加快,每个人都应该不断学习,不断充实自己,要学会与人合作,这样才能提高办事效率,如果不与人合作,往往事倍功半.通过本次课设,对组态软件地认识与了解更加深刻了.在自己动手设计调试地过程中,使我对PLC和应用有了更深一步地了解,相信对以后会有很大地帮助.PLC和过程控制在现代生产中有着非常广泛地应用,是非常实用非常重要地知识.这次课设把变频器和PLC联系在一起,让我对所学知识有了更加灵活地掌握.在以后地生活中,如果有时间,我想再多学习一些有关PLC和变频器方面地知识.感谢老师地谆谆教诲,让我们学到了那么多宝贵地知识.******2011.1.4参考文献[1]邵裕森,戴先中.过程控制工程(第2版).北京:机械工业出版社.2003[2]崔亚嵩.过程控制实验指导书(校内)[3]廖常初.PLC编程及应用(第2版).北京:机械工业出版社.2007[4]吴作明.工业组态软件与PLC应用技术.北京:北京航空航天大学出版社.2007附录。
精选文档过程控制系统课程设计基于PID的上水箱液位控制系统设计一、课程设计任务书1.设计内容针对某厂的液位控制过程与要求实现模拟控制,其工艺过程如下:用泵作为原动力,把水从低液位池抽到高液位池,实现对高液位池液位高度的自动控制。
具体设计内容是利用西门子S7-200PLC作为控制器,实现对单容水箱液位高度的定值控制,同时利用MCGS组态软件建立单容水箱液位控制系统的监控界面,实现实时监控的目的。
2.设计要求1、以RTGK-2型过程控制实验装置中的单个水箱作为被控对象、PLC作为控制器、静压式压力表作为检测元件、电动调节阀作为执行器构成一个单容水箱单闭环控制系统,实现对水箱液位的恒值控制。
2、PLC控制器采用PID算法,各项控制性能满足要求:超调量20%,稳态误差≤±0.1;调节时间ts≤120s;3、组态测控界面上,实时设定并显示液位给定值、测量值及控制器输出值;实时显示液位给定值实时曲线、液位测量值实时曲线和PID输出值实时曲线;4、选择合适的整定方法确定PID参数,并能在组态测控界面上实时改变PID参数;5、通过S7-200PLC编程软件Step7实现PLC程序设计与调试;6、分析系统基本控制特性,并得出相应的结论;7、设计完成后,提交打印设计报告。
3.参考资料1.邵裕森,戴先中主编.过程控制工程(第2版).北京:机械工业出版社.20032.崔亚嵩主编.过程控制实验指导书(校内)3.廖常初主编.PLC编程及应用(第2版).北京:机械工业出版社.20074.吴作明主编.工业组态软件与PLC应用技术.北京:北京航空航天大学出版社.20074.设计进度(2010年12月27日至2011年1月9日)时间设计内容2010年12月27日布置设计任务、查阅资料、进行硬件系统设计2010年12月28日~2010年12月29日编制PLC控制程序,并上机调试;2010年12月30日~2010年12月31日利用MCGS组态软件建立该系统的工程文件2011年1月2日~2011年1月4日进行MCGS与PLC的连接与调试进行PID参数整定2011年1月5日~2011年1月6日系统运行调试,实现单容水箱液体定值控制2011年1月7日~2011年1月9日写设计报告书5.设计时间及地点设计时间:周一~周五,上午:8:00~11:00下午:1:00~4:00设计地点:新实验楼,过程控制实验室(310)电气工程学院机房(320)二、评语及成绩课程设计成绩:指导教师:过程控制系统课程设计报告班级:姓名:学号:指导教师:撰写日期:目录第一章绪论 (1)第二章系统组态设计 (3)2.1 MCGS组态软件概述 (3)2.2 新建工程 (4)2.3 设备配置 (5)2.4新建画面 (5)2.5 定义数据对象 (9)2.6设备连接 (12)2.7 控制面板的设计 (14)第三章 PLC设计 (18)3.1 PLC概述 (18)3.2系统设计PLC程序 (20)第四章课设总结 (25)参考文献 (26)附录 (27)第一章绪论可编程控制器(Programmable Controller)是计算机家族中的一员,是为工业控制应用而设计制造的。
单容量水箱液位pid控制实验报告实验目的:通过单容量水箱液位PID控制实验,学习PID控制器的原理和调节方法,掌握PID控制器在液位控制中的应用。
实验器材:1. 单容量水箱2. 水泵3. 液位传感器4. 控制器5. 电脑实验原理:PID控制器是由比例(P)、积分(I)和微分(D)三个部分组成的控制器。
根据物体的反馈信号与设定值之间的差异,PID控制器会计算出相应的控制量,以使系统的输出信号趋近于设定值,从而实现对物体的控制。
实验步骤:1. 搭建实验装置:将单容量水箱与水泵和液位传感器连接,将控制器与电脑连接。
2. 设置实验参数:根据实验需求,设置控制器的比例增益、积分时间常数和微分时间常数,并将设定值设定为所需的液位。
3. 开始实验:启动水泵,观察水箱液位的变化,并记录在实验报告中。
4. 数据分析:根据液位传感器的反馈信号,计算实际液位与设定值之间的差异,并根据PID控制器的算法计算出相应的控制量。
5. 调整控制参数:根据实验数据分析的结果,调整PID控制器的参数,如增大比例增益、调整积分时间常数和微分时间常数,再次进行实验。
6. 重复步骤3-5,直到达到所需的控制效果。
实验结果与分析:根据实验数据,绘制出液位随时间变化的曲线图。
通过分析曲线形状和数据变化趋势,判断控制系统的稳定性和响应时间。
如果液位在设定值附近波动较小,并且响应时间较短,则说明PID控制系统的参数调节较为合适。
结论:通过单容量水箱液位PID控制实验,我们学习了PID控制器的原理和调节方法,并掌握了PID控制器在液位控制中的应用。
同时,我们还了解到PID控制器的参数调节对控制系统的稳定性和响应时间有很大影响,需要通过实验数据的分析来进行参数调整。
这些知识和技能对于后续的控制系统设计和实施有着重要的指导意义。
4 单容水箱液位组态控制实验报告学院:自动化学院班级:学号:姓名:单容水箱液位组态一.实验目的:1.熟悉单容水箱液位调节阀PID 控制系统工作原理2.熟悉单用户项目组态过程3.掌握WINCC 画面组态设计方法4.掌握WINCC 过程值归档的组态过程5.掌握WINCC 消息系统的组态过程6.掌握WINCC 报表系统的组态过程二:单容水箱实验原理1、实验结构介绍水流入量Qi 由调节阀u 控制,流出量Qo 则由用户通过闸板开度来改变.被调量为水位H.分析水位在调节阀开度扰动下的动态特性.直接在调节阀上加定值电流,从而使得调节阀具有固定的开度。
(可以通过智能调节仪手动给定,或者AO 模块直接输出电流。
)调整水箱出口到一定的开度。
突然加大调节阀上所加的定值电流观察液位随时间的变化,从而可以获得液位数学模型。
通过物料平衡推导出的公式:μμk Q H k Q i O ==,那么 )(1H k k Fdt dH -=μμ, 其中,F 是水槽横截面积。
在一定液位下,考虑稳态起算点,公式可以转换成μμR k H dtdH RC =+。
公式等价于一个RC 电路的响应函数,C=F 就是水容,k H R 02=就是水阻.给定值 图4-1单容水箱液位数学模型的测定实验如果通过对纯延迟惯性系统进行分析,则单容水箱液位数学模型可以使用以下S 函数表示: )1()(0+=TS S KR S G 。
相关理论计算可以参考清华大学出版社1993年出版的《过程控制》,金以慧编著。
2、控制系统接线表测量或控制量 测量或控制量标号使用PLC 端口 使用ADAM 端口下水箱液位 LT103 AI0 AI0调节阀FV101 AO0 AO03参考结果单容水箱水位阶跃响应曲线,如图4—2所示:图4—2 单容水箱液位飞升特性此时液位测量高度184。
5 mm,实际高度184.5 mm -3。
5 mm =181 mm 。
实际开口面积5.5x49.5=272.25 mm²。
水箱液位控制PID的MATLAB参数整定及仿真摘要:PID控制器主要针对控制对象来进行参数调节。
PID的归一参数整定法和试凑法费时,费力。
针对这一问题,探讨MATLAB实现PID参数整定及仿真,同时观察控制参数对PID控制规律的影响。
关键词:PID;参数整定;仿真1 引言PID控制器又称为PID调节器,是按偏差的比例P、积分I、微分D进行控制的调节器的简称,它主要针对控制对象来进行参数调节。
因为它算法简单、稳定性好、工作可靠、鲁棒性好,在工程上易于实现,但PID控制器的参数整定方法复杂,通常采用PID归一参数法和试凑法来确定,但较费时、费力。
针对这一问题,文中探讨用MATLAB实现PID参数整定及仿真的方法及控制参数对PID控制规律的影响。
利用MATLAB强大的计算仿真能力,解决了利用试凑法来整定参数浩繁的工作,可以方便、快速地找到使系统达到满意性能指标的参数。
2 PID控制器的原理与算法图1是典型PID控制系统结构图。
在PID调节器作用下,对误差信号分别进行比例、积分、微分控制。
PID控制算法的模拟表达式为μ (t) =Kp [ + +Td de(t) dt ]相应的传递函数为:Gc(s)= Kp(1 +S + TdS)3 水箱水位调节系统:一个典型的水箱水位自动控制系统如下图所示。
这个水位控制系统中,水池的进水量Q1来自手动控制开度的进水阀门,通过调节出水阀门调节出水量Q2,使水箱水位保持设定水位不变。
这个系统是个典型单冲量自动调节系统,在该系统中:系统中各组成单元的模型如下:水箱对象模型:G(s)=液位传感器:量程0~40cm执行阀:对应0~100%开度系统的方框图如图所示:4 PID控制器的MATLAB仿真PID控制器的参数Kp、Ti、Td分别对系统性能产生不同的影响。
在控制过程中如何把Kp、Ti、Td 3参数调节到最佳状态,需要深入了解PID控制中3参数对系统动态性能的影响。
下面讨论水箱水位调节系统中当一个参量发生变化,对应曲线的实时变化。
单片机控制水箱液位闭环PID控制实验一、实验目的1、加深理解AD、DA在单片机中的应用;2、了解脉宽调制电路的工作原理;3、理解PID在闭环控制中的作用;二、实验器材1、主控屏及电源2、DCP-002单片机89S51电路3、DCP-003键盘及LED数字显示电路4、DCP-0010A/D转换电路5、DCP-0011D/A转换电路6、DCP-005信号叠加电路7、DCP-009脉宽调制电路8、DCP-0019压力变送器电路9、万用表及导线三、实验原理如下图为单回路水箱液位控制系统,单回路调节系统一般指在一个调节对象上用一个调节器来保持一个参数的恒定,而调节器只接受一个测量信号,其输出也只控制一个执行机构。
本系统所要保持的恒定参数是液位的给定高度,即控制的任务是控制水箱液位等于给定值所要求的高度。
根据控制框图,这是一个闭环反馈单回路液位控制,PID控制器用单片机控制。
当调节方案确定之后,接下来就是整定调节器的参数,一个单回路系统设计安装就绪之后,控制质量的好坏与控制器参数选择有着很大的关系。
合适的控制参数,可以带来满意的控制效果。
反之,控制器参数选择得不合适,则会使控制质量变坏,达不到预期效果。
因此,当一个单回路系统组成好以后,如何整定好控制器参数是一个很重要的实际问题。
一个控制系统设计好以后,系统的投运和参数整定是十分重要的工作。
一般言之,用比例(P)调节器的系统是一个有差系统,比例度δ的大小不仅会影响到余差的大小,而且也与系统的动态性能密切相关。
比例积分(PI)调节器,由于积分的作用,不仅能实现系统无余差,而且只要参数δ,Ti调节合理,也能使系统具有良好的动态性能。
比例积分微分(PID)调节器是在PI调节器的基础上再引入微分D的作用,从而使系统既无余差存在,又能改善系统的动态性能(快速性、稳定性等)。
PID算法即是对误差量E及E的历史进行某种线性组合得到控制量的算法.一般形式:Up=P*E;Ui=i*(E+E_1+E_2+...) E_n为之前的第n次误差.Ud=i*(E-E_1)U=Up+Ui+Ud; U为PID控制输出量.上式中Ui的计算不太方便,长时间单方向的累加将可能出现溢出,于是将上式改为如下所示的增量形式:Up=p*(E-E_1) 比例项增量Ui=i*(E-2*E_1+E_2) 微分项增量Ud=i*E 积分项增量U=Uout_1+Up+Ui+Ud U为PID控制输出量,Uout_1为前次PID输出值Uout=U 保存本次值给定原理框图四、实验步骤1、液位对象硅X型压力传感器的VCC接5v电源,GND接电源的GND;V out+、V out-分别接DCP-0019上的Vin1和Vin2。
浙江科技学院自动化及电气工程学院专业综合实验实验报告书设计题目:带LED灯显示的水箱液位定点控制系统设计实验者姓名:周秀泽学号: 108031112所在学院:自动化与电气工程学院所在班级:自动化084实验时间:2011.6.26-2011.7.5指导老师:郑永平摘要本设计阐述了以AT89S51和其他一些外围元器件组成的具有LED显示水箱液位定点控制。
该电路采用各色LED灯显示的水箱动态液位。
通过两个按键分别控制单片机的两种工作模式。
单片机通过各色LED来模拟液位信号产生及控制驱动设定。
关键词: 水箱液位定点控制,单片机,按键,模式切换,LED显示目录1 概述 (3)1.1 课程设计的意义 (3)1.2 设计的任务和要求 (3)2系统总体方案及硬件设计 (4)2.1水箱液位定点控制系统方案论证 (4)2.1.1方案 (4)2.2系统总体设计 (5)2.3系统模块 (5)2.3.1 主控制器 (5)2.3.2 显示电路 (6)2.3.3按键 (7)2.3.4报警 (8)3 实验仿真 (9)4 总结与体会 (10)查考文献 (11)附1 实物照片 (12)附2 源程序代码 (14)1 概述1.1 课程设计的意义本次课程设计是在我们学过单片机后的又一次实践,可增加我们的动手能力。
特别是对单片机的系统设计有很大帮助。
本课程设计由两个人共同完成,在锻炼了自己的同时也增强了自己的团队意识和团队合作精神。
1.2 设计的任务水箱液位定点控制系统设计1)显示:4个绿色LED竖排显示高、中、低、超低液位;1个双色LED代表模拟水泵(红色亮开/绿色亮停);1个黄色LED超低液位报警,要求闪亮(1秒亮,1秒暗)2)可选操作:A按键(按下启动)——低液位LED灭时,启动水泵开启并保持;当高液位LED亮时,停止水泵运转。
B按键(按下启动)——超低液位LED灭时发出报警信号(黄色LED闪亮),同时启动水泵开启并保持;当高液位LED亮时,停止水泵运转。
液位单闭环控制实验实验目的本实验旨在探讨液位单闭环控制的原理与方法。
通过搭建液位控制系统,了解液位的测量、控制与调节方法,并通过实验验证闭环控制的有效性。
原理介绍液位控制是一种常见的工业过程控制方式,通过控制液位的测量和调节,保持液体在一定范围内的稳定状态。
液位控制系统主要由液位传感器、控制器和执行器组成,其中控制器接收传感器的信号并根据设定值与实际液位之间的误差进行反馈,控制执行器调节供液量,使得液位保持在设定值附近。
在液位单闭环控制系统中,闭环由传感器、控制器和执行器组成。
传感器测量液位,并将信号传输给控制器。
控制器与设定值进行比较,并根据误差信号调节执行器,改变供液量,从而控制液位。
实验设备•液位传感器:用于测量液位并将信号传输给控制器。
•控制器:根据传感器信号与设定值的比较结果,控制执行器调节供液量。
•执行器:根据控制器的指令,调节供液量,从而控制液位。
实验步骤1. 搭建实验装置•将液位传感器安装在液位容器内,确保传感器与液位接触良好。
•将控制器与传感器连接,并确保信号传输正常。
•将执行器与控制器连接,并确保控制指令正常传递。
2. 校准液位传感器•将液位容器灌满液体,并将液位设定为指定值。
•使用调节螺钉或软件调节液位传感器的测量值,使其与设定值一致。
3. 设定控制器参数•根据实验要求,设定控制器的调节参数,包括比例、积分和微分参数。
•根据传感器和执行器的特性,设定合适的响应时间。
4. 进行闭环控制实验•将液位设定为一定值,并观察实际液位的变化。
•根据传感器信号与设定值的比较结果,调节执行器的供液量。
•观察液位的稳定情况,记录实验数据。
5. 分析实验结果•通过实验数据分析控制器的性能,包括超调量、调节时间等指标。
•优化控制器参数,提高液位控制的精度和稳定性。
实验注意事项•液位传感器的安装位置应该合适,并确保与液位接触良好。
•实验装置需要稳定,避免外界干扰对实验结果产生影响。
•在实验过程中,需注意安全,并遵守实验室相关规定。
水箱液位PID调节控制系统及实物仿真调试【摘要】在人们生活以及工业生产等诸多领域经常涉及到液位和流量的控制问题,例如居民生活用水的供应,饮料、食品加工,溶液过滤,化工生产等多种行业的生产加工过程,通常需要使用蓄液池,蓄液池中的液位需要维持合适的高度,既不能太满溢出造成浪费,也不能过少而无法满足需求。
因此液面高度是工业控制过程中一个重要的参数,特别是在动态的状态下,采用适合的方法对液位进行检测、控制,能收到很好的效果。
PID控制(比例、积分和微分控制)是目前采用最多的控制方法。
【关键词】水箱液位;PID控制;液位控制;Matlab仿真一.引言在人们生活以及工业生产等诸多领域经常涉及到液位和流量的控制问题,例如居民生活用水的供应,饮料、食品加工,溶液过滤,化工生产等多种行业的生产加工过程,通常需要使用蓄液池,蓄液池中的液位需要维持合适的高度,既不能太满溢出造成浪费,也不能过少而无法满足需求。
因此液面高度是工业控制过程中一个重要的参数,特别是在动态的状态下,采用适合的方法对液位进行检测、控制,能收到很好的效果。
本论文利用PID算法在matlab中进行仿真并讲解实物搭接效果,具体如下:1、利用指导书中推导的模型和实际的参数,建立水箱液位控制系统的数学模型,并进行线性化;2、构成水箱液位闭环无静差系统,并测其动态性能指标和提出改善系统动态性能的方法,使得系统动态性能指标满足σ%≤10%0.5秒,静态误差小于2%;3、通过在matlab编程中求取合适的反馈变量K,然后与仿真模型结合构成最优控制的水箱液位系统,通过图形分析是否满足系统的性能参数;4、加入P、PI、PD、PID环节分别进行调试;5、选取合适的极点并通过图形分析是否满足系统的性能参数;6、比较加入各种不同PID 环节下的优缺点;7、实物搭接;8、比较在不加扰动和加扰动情况下以及在各种不同环节作用下系统性能。
二.水箱液位控制系统的设计及实物调试该题目包括MATLAB 软件仿真和硬件实物调试部分,软件仿真的目的是对 系统先进行建模,然后设计控制器使其满足任务书上的性能指标要求,并调整控制器参数,分析控制器各参数对系统稳定性的影响。
过程控制系统与仪表课程设计报告设计题目:基于单片机的一阶水箱液位控制学生姓名:设计时间:2014年5 月摘要本文介绍了一阶水箱控制过程的设计方案,主要设计了一个基于51单片机的液体转移监控装置,通过建立控制对象的数学模型,完成系统PID参数整定,达到液位控制效果,并通过外设界面实时显示液位高度。
控制对象是一单容储液箱重量控制过程,其具有自衡特性,便于传递函数建模,通过Matlab上的simulink仿真工具进行PID仿真测试,确定理论控制参数;在硬件方面,装置以升级版51芯片STC125A60S2为主控,运用了矩阵键盘作为输入设备,LCD1602为显示设备,4块电阻应变片组成的全桥测量电路作为传感检测设备,以及通过PWM控制LM298电机驱动模块实现水泵输出量可调。
本文从系统方案选择与论证,硬件电路设计和系统软件等方面介绍了基于单片机的液位测量监控系统的设计过程,最终实现了液位的实时测量与显示。
最后,本文总结了设计过程中出现的问题及解决方法,简要叙述了所获数据的处理方法,引出了进一步设计开发的思路。
关键词:传感器测量电路PID控制AD转换电机控制目录摘要 (2)一、设计题目 (4)二、设计报告正文 (6)2.1设计思路及总体方案 (6)2.1.1 设计思路 (6)2.1.2 系统控制总体方案 (6)2.2 过程控制建模系统框图 (6)2.2.1 系统的结构框图 (6)2.2.2被控对象解析 (7)2.2.3传递函数参数的确立 (8)2.2.4一阶环节的阶跃响应特性及惯性环节的参数确定 (9)实际参数本该由实际装置取样,通过上述方法得到,但本设计我们未制作实物,故只能参考其他设计取如下值 (9)2.2.5 Simulink仿真及PID参数整定 (9)2.2.6经验法测定PID参数 (11)2.3 硬件电路设计 (11)2.3.1 硬件设计总体方案 (12)2.3.2 51单片机最小系统硬件设计 (12)2.3.3按键设计 (14)2.3.4显示单元硬件设计 (14)2.3.5传感检测模块设计 (15)2.3.6 A/D转换单元硬件设计 (16)2.3.7电机驱动硬件设计 (16)2.3.8 通信模块设计 (17)2.3.9 原理图 (18)2.4 程序设计 (18)2.4.1 程序流程 (18)2.4.2 PID控制器 (19)2.4.3 矩阵扫描程序 (20)2.4.4 LCD1602显示程序 (20)2.4.5 AD采集程序 (21)2.4.6 PWM电机驱动程序 (23)三、结果分析 (23)四、设计总结 (25)参考文献 (25)一、设计题目设计并制作一个液体转移监控装置,示意图如下图所示:图 1 设计示意图放置两个盛水容器,分别为A容器和B容器,A容器盛有足量的水,B容器为空,底部中心挖一个出水圆孔。
摘要介绍一种基于单片机实现的水箱液位控制系统的设计方法,该控制系统以单片机为核心,通过外围硬件电路来达到实现控制的目的。
可根据需要设定液位控制高度,同时具备报警、高度显示等功能,由于增加了气体压力传感器,使其具有与液面不接触的特点,可用于有毒、腐蚀性液体液位的控制,具有较高的研究价值。
该控制器不仅可用于学校进行教学研究,还可用于生产实际,是目前比较缺少的一种产品。
本文根据毕业设计任务书得要求重点分析了单片机的水箱液位PID控制系统的工作原理、特点、PID匹配关系等。
关键词:自动检测系统;过程控制;电路结构;PID设计;单片机Based on SCM Tank Level Control System DesignAbstractIntroduces a method based on single chip microcomputer control system of water level, the design method of control system based on singlechip, through the peripheral hardware circuit to realize the aim of control. According to need to set the level control, along with alarm, high altitude display function, due to the increased gas pressure sensor, which does not contact with liquid surface, poisonous, corrosive liquid level control, and has high value. This controller can be used not only in the school teaching research, also can be used in the actual production, is the relatively lack of a product. According to requirements of graduation design specification mainly analyzed the water level chip PID control system of the working principle, features, PID matching relation, etc.Keywords:Automatic;detection;system;Process;control;Circuitstructure;PIDdesign.目录摘要 (Ⅰ)A b s t r a c t (Ⅱ)第1章绪论 (1)1.1 过程控制系统的发展动态 (1)1.2 生产过程的现代控制技术和控制方法 (3)1.3 过程控制系统发展状况 (4)1.3.1 过程控制系统体系结构的发展 (4)1.3.2 过程控制检测仪表和执行机构的发展 (5)1.3.3 过程控制策略的发展 (6)1.4 课题设计的目的和意义 (7)第2章液位控制系统分析 (8)2.1 过程控制系统的特点 (8)2.2 单溶液位系统 (10)2.3 双容液位系统 (11)2.4 本章总结 (12)第3章水箱液位控制系统的设计方案 (13)3.1 总体设计方案 (13)3.2 调节器的设计 (13)3.3 水箱液位控制系统的软件设计 (20)3.4 本章总结 (22)结论 (23)参考文献 (24)附录 (25)致谢 (26)基于单片机的水箱液位控制系统设计第1章绪论随着微电子工业的迅速发展,单片机控制的智能型控制系统广泛应用于电子产品中,为了使我们对单片机控制的智能型控制系统有较深的了解。
单片机控制水箱液位闭环PID控制实验一、实验目的1、加深理解AD、DA在单片机中的应用;2、了解脉宽调制电路的工作原理;3、理解PID在闭环控制中的作用;二、实验器材1、主控屏及电源2、DCP-002单片机89S51电路3、DCP-003键盘及LED数字显示电路4、DCP-0010A/D转换电路5、DCP-0011D/A转换电路6、DCP-005信号叠加电路7、DCP-009脉宽调制电路8、DCP-0019压力变送器电路9、万用表及导线三、实验原理如下图为单回路水箱液位控制系统,单回路调节系统一般指在一个调节对象上用一个调节器来保持一个参数的恒定,而调节器只接受一个测量信号,其输出也只控制一个执行机构。
本系统所要保持的恒定参数是液位的给定高度,即控制的任务是控制水箱液位等于给定值所要求的高度。
根据控制框图,这是一个闭环反馈单回路液位控制,PID控制器用单片机控制。
当调节方案确定之后,接下来就是整定调节器的参数,一个单回路系统设计安装就绪之后,控制质量的好坏与控制器参数选择有着很大的关系。
合适的控制参数,可以带来满意的控制效果。
反之,控制器参数选择得不合适,则会使控制质量变坏,达不到预期效果。
因此,当一个单回路系统组成好以后,如何整定好控制器参数是一个很重要的实际问题。
一个控制系统设计好以后,系统的投运和参数整定是十分重要的工作。
一般言之,用比例(P)调节器的系统是一个有差系统,比例度δ的大小不仅会影响到余差的大小,而且也与系统的动态性能密切相关。
比例积分(PI)调节器,由于积分的作用,不仅能实现系统无余差,而且只要参数δ,Ti调节合理,也能使系统具有良好的动态性能。
比例积分微分(PID)调节器是在PI调节器的基础上再引入微分D的作用,从而使系统既无余差存在,又能改善系统的动态性能(快速性、稳定性等)。
PID算法即是对误差量E及E的历史进行某种线性组合得到控制量的算法.一般形式:Up=P*E;Ui=i*(E+E_1+E_2+...) E_n为之前的第n次误差.Ud=i*(E-E_1)U=Up+Ui+Ud; U为PID控制输出量.上式中Ui的计算不太方便,长时间单方向的累加将可能出现溢出,于是将上式改为如下所示的增量形式:Up=p*(E-E_1) 比例项增量Ui=i*(E-2*E_1+E_2) 微分项增量Ud=i*E 积分项增量U=Uout_1+Up+Ui+Ud U为PID控制输出量,Uout_1为前次PID输出值Uout=U 保存本次值给定原理框图四、实验步骤1、液位对象硅X型压力传感器的VCC接5v电源,GND接电源的GND;V out+、V out-分别接DCP-0019上的Vin1和Vin2。
把DCP-0019的V out接DCP-005的VinA,DCP-005的VinB接-5V电源,DCP-005的V outB接DCP-0010的Vin,GND接AGND。
2、把DCP-0010上的CS、RD接GND;WR、INTR连到DCP-002上的p1.0口;D0-D7连到DCP-002上的X00-X07;Vin和AGND分别接到DCP-0019上输出端的V out和GND。
调节电位器RW1使R1左端的电压和R3左端的电压相等,调节RW2,使R4左端电压为0。
3、DCP-0011的D0-D7接DCP-002上的Y00-Y07,V outC接DCP-009上的Vin;DCP-009的VoutC、GND接液位对象水泵的VCC,GND。
4、DCP-003的INT接DCP-002的P1.1,DCP-003的CS、RST接DCP-002的GND,DCP-003的CLK接DCP-002的ALE,DCP-003的P1接DCP-002的P2。
5、给DCP-0019的SW1、SW3、SW5、SW7的短路帽接上。
给各模块接上相应的通电源(DCP-0019的VCC接稳压源的+12V),并注意共地。
接通电磁阀的电源,当水位在最低点时调节DCP-0019的RW1,使V out的输出为5V,给水泵通电,当水位最高时,调节DCP-005的RW3,使其输出为5V,给DCP-009的Vin接地,旋转RW1到最左端,调节RW2,使其输出为2V。
给DCP-0011的D0-D7输入高电平,调节RW1,使V outC输出为5V。
6、把“水箱液位闭环控制实验.hex”文件下载到单片机上,合上电源。
7、上电后,按下DCP-003的MON键时开始PID控制。
8、按下0键可对给定值以1递增,按下1键对给定值减1递减,给定改变结束后按下MON确认键开始新的PID控制。
//-----头文件引用------#include<reg52.h>#include<absacc.h> //XBYTE函数在该库中//-----宏声明-----#define ADC0804 XBYTE[0xA000] //AD地址#define DAC0808 XBYTE[0xA800] //DA地址#define D8279 XBYTE[0x9000] //8279 数据口地址#define C8279 XBYTE[0xB000] //8279 命令口地址/***************变量定义**************/#define uchar unsigned char#define uint unsigned intuint keyvalue,m,n,x,y,flag,flag1,get;sbit IRQ=P1^1;sbit ADcontrol=P1^0;unsigned char code dispbitcode[] = {0xF3,0x60,0xB5,0xF4,0x66,0xD6,0xD7,0x70 ,0xF7,0xF6,0x00,0xFB,0x68,0xBD,0xFC,0x6E,0xDE,0xDF,0x78,0xFF,0xFE};//LED显示0-F常数表及小数点unsigned char dispbuf[]={10,10,10,10,10,10,0,0};/***************延时函数**************/void delays(unsigned int k){unsigned int i,j;for(i=k;i>0;i--)for(j=110;j>0;j--);}/***************启用AD转换**************/void ad_control(void){ADcontrol=1;ADcontrol=0;ADcontrol=1;}/***************中断函数**************/void T0_time()interrupt 1{uchar i;TH0=(65536-45872)/256;TL0=(65536-45872)%256;n++;if(n==10)//定时500毫秒时间到{n=0;x=0;for(i=0;i<10;i++){m=ADC0804;x=x+m;}y=x/10;}}/***************显示函数**************/void display(void){uint i;C8279=0x90; //写显示命令for(i=0;i<8;i++){D8279=dispbitcode[dispbuf[i]];delays(2);}}/***************8279初始化函数**************/void init8279(void){C8279=0x00 ; //左端进入8x8 显示,二键封锁,编码扫描C8279=0x32 ;//扫描速率,设置内部分频约为11.0592/6/100=18,CLK接ALE C8279=0xD1 ;//清除}/***************按键函数**************/void key(void){uchar keycode;C8279=0x40;delays(5);keycode=D8279;delays(5);switch(keycode){case 0x01:{get=get++;if(get>=50)get=50;break;}case 0x08:{get=get--;if(get==0)get=0;break;}case 0x00:{flag=1;break;}}}/***************定义PID结构**************/ static int MinValue;static int MaxValue;static int CurrentValue;static struct PID{float Ki;float Kp;float Kd;float E2;float E1;float E;float OutPut;float ValueSet;} Control;/***************PID计算函数*************/ void PIDWORK(){int Up,Ui,Ud;Control.ValueSet=255/50*get;CurrentValue=y;Control.E=Control.ValueSet-CurrentValue;Up=Control.Kp*(Control.E-Control.E1);Ui=Control.Ki*Control.E;Ud=Control.Kd*(Control.E-2*Control.E1+Control.E2); Control.E2=Control.E1;Control.E1=Control.E;Control.OutPut+=Up+Ud+Ui;if(Control.OutPut<MinV alue)Control.OutPut=MinValue;else if(Control.OutPut>MaxValue)Control.OutPut=MaxV alue;}/***************主函数*************/void main(){get=20;Control.Kp=5;Control.Ki=0.1;Control.Kd=0.1;MinValue=0;MaxValue=255;TMOD=0x11;//定时方式设置TH0=(65536-45872)/256;TL0=(65536-45872)%256;EA=1;//开总中断ET0=1;//开定时器T0中断TR0=1;//启动定时器T0ad_control();init8279();while(1){//flag1=1;PIDWORK();dispbuf[6]=y*2/100+11;dispbuf[7]=y*2%100/10;display();DAC0808=Control.OutPut;while(IRQ==0||flag==0){flag=0;if(IRQ==0)key();dispbuf[6]=get/10+11;dispbuf[7]=get%10;display();if(flag==1)break;}}}。