资源描述
河南城建学院
《计算机控制技术》课程设计
题目:水塔水位的控制系统
班级
专业电气工程及其自动化
课程名称计算机控制技术
指导教师
电气与电子工程系
2012年 6 月
原始资料:
水塔水位控制系统设计
基本要求:水位控制范围10~5cm
控制精度:0。4cm
显示:十进制数码
水塔模型:
摘 要
本文根据液位系统过程机理,建立了单容水箱的数学模型。介绍了PID控制的基本原理及数字PID算法,并根据算法的比较选择了增量式PID算法。建立了基于单片机编程语言的PID液位控制模拟界面和算法程序,进行了系统仿真,并通过整定PID参数,利用MATLAB应用软件对系统进行仿真得到图线。
系统由进出水阀门,单片机,A/D转换器,D/A转换器,传感器,显示电路和键盘电路等组成。整个过程保持进水阀的开度比例不变,由传感器检测电路连续不断地相应液位值,送入A/D转换器中处理,输出的数字量送给单片机,控制显示电路实时显示实际液位值,由键盘输入设定值,控制器比较其值控制出水阀门的开度比例,以保持液位稳定在要求范围内。
关键词:水箱建模,液位控制,PID算法,增量式PID
目 录
第1章 绪论1
第2章 课程设计的方案2
2。1 概述2
2.2 系统组成总体结构2
第3章 硬件设计3
3。1 单片机最小系统设计3
3。2 传感器模块3
3.3 A/D转换和D/A转换模块3
3。4 键盘模块3
3。5 显示模块4
第4章 软件设计5
4.1 PID算法5
4。2 位置式PID控制系统6
4.3 增量型PID控制算法8
4.4 PID计算10
4。5 主程序控制流程11
4。6 显示部分12
第5章 系统测试与分析/实验数据及分析13
5。1 MATLAB程序13
5。2 MATLAB成象曲线13
第6章 课程设计总结14
参考文献15
附录:系统硬件原理图16
II
第1章 绪论
过程控制是自动技术的重要应用领域,它是指对液位、温度、流量等过程变量进行控制,在冶金、机械、化工、电力等方面得到了广泛应用.尤其是液位控制技术在现实生活、生产中发挥了重要作用,比如,民用水塔的供水,如果水位太低,则会影响居民的生活用水;工矿企业的排水与进水,如果排水或进水控制得当与否,关系到车间的生产状况;锅炉汽包液位的控制,如果锅炉内液位过低,会使锅炉过热,可能发生事故;精流塔液位控制,控制精度与工艺的高低会影响产品的质量与成本等。在这些生产领域里,基本上都是劳动强度大或者操作有一定危险性的工作性质,极容易出现操作失误,引起事故,造成厂家的的损失。可见,在实际生产中,液位控制的准确程度和控制效果直接影响到工厂的生产成本、经济效益甚至设备的安全系数.所以,为了保证安全条件、方便操作,就必须研究开发先进的液位控制方法和策略.
液位控制是工业中创建的过程控制,它对生产的影响不容忽视.但荣液位控制系统具有非线性、滞后、耦合等特征,能够很好地模拟工业过程特征。对于液位控制系统,常规的PID控制由于采用固定的参数,难以保证控制适应系统的参数变化和工作条件的变化,得不到理想效果。
在本设计中以液位控制系统的水箱作为研究对象,水箱的液位为被控制量,选择了出水阀门作为控制系统的执行机构。针对过程控制试验台中液位控制系统装置的特点,建立了基于单片机编程语言的PID液位控制模拟界面和算法程序。虽然PID控制是控制系统中应用最为广泛的一种控制算法。但是,要想取得良好的控制效果,必须合理的整定PID的控制参数,使之具有合理的数值。
第2章 课程设计的方案
2.1 概述
本次设计主要是综合应用所学知识,设计单容水箱液位控制系统设计,并在实践的基本技能方面进行一次系统的训练。能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步掌握计算机控制算法和PID算法在现实中应用的基本方法.
2.2 系统组成总体结构
图2.1是基于单片机为控制器单容水箱液位控制系统的基本组成硬件框图。主要由液位传感器,进水阀门,出水阀门,A/D转换电路,D/A转换电路,键盘电路,显示电路,单片机(89C51)组成.液位传感器可精确快速的测量微小液位差,把差值转换为电参数的器件。单片机信号得经由计算机PID算法计算传回。
工作原理:控制进水阀门的流量,液位传感器检测液位,与设定值相比得到的差值经过A/D转换,送入单片机中,经过PID算法分析传回单片机,控制显示电路实时显示液位的实际值,信息数据经过D/A转换控制出水阀门的开闭。
传感器
液位信号
显示电路
A/D转换电路
单
片
机
差动电路
键盘电路
出水阀门
PC机
D/A转换
复位电路
电路电路
图2.1系统框图
第3章 硬件设计
3.1 单片机最小系统设计
本次设计中的最小系统模块中包括CPU、复位电路和晶振。
3.2 传感器模块
本次设计中差压传感器选用柯普乐浮球液位传感器。它是一款根据浮力原理,并采用三线分压器原理对也未进行测量及信号得变送。浮球内磁钢的磁力线穿过导管,感应导管内干簧与电阻链,由此产生的电压与液位成正比例关系.工作原理简单应用范围广泛,对于液位的连续测量,能可靠稳定获取液位信号,不受被测介质的物理化学状态变化影响,支持信号源距离传送.适用范围:温度:-80℃~+200℃;压力:真空~100Mpa。耐腐蚀性强,适用于各种场合。误差在20mm之内.
3.3 A/D转换和D/A转换模块
该模块A/D转换选用ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。是目前国内应用最广泛的8位通用A/D芯片。
DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容.这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用.D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
3.4 键盘模块
本次设计中采用的4*4的非编码键盘。矩阵式非编码键盘的电路原理图如图3.4所示。当没有键按下时,行线和列线之间是不相连。若第N行第M列的键被按下,那么第N行与第M列的线就被接通。如果在行线上加上信号,根据列线的状态,便可得知是否有键按下.如果在行线上逐行加上一个扫描信号(本实验中用的低电平),就可以判断按键的位置。常用的按键识别有两种方法:一种是传统的行扫描法;另一种是速度较快的线反转法.本实验中采用的是线反转法进行识键.
键盘在单片机系统中是一个很重要的部件。为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段.
键盘可分为编码和非编码键盘两种.编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。
图3。1 键盘模块硬件原理图
3.5 显示模块
本设计采用三位LED显示电路。即常用的七段显示器件:半导体数码管将十进制数码分成七个字段,每段为一发光二极管。半导体数码管(或称LED数码管)的基本单元是PN结,目前较多采用磷砷化镓做成的PN结,当外加正向电压时,就能发出清晰的光线。单个PN结可以封装成发光二极管,多个PN结可以按分段式封装成半导体数码管。有动态显示和静态显示两种。为了便于实时显示,本设计采用动态显示。
第4章 软件设计
4.1 PID算法
数字PID控制是在实验研究和生产过程中采用最普遍的一种控制方法,在液位控制系统中也有着极其重要的控制作用。本章主要介绍PID控制的基本原理,液位控制系统中用到的数字PID控制算法及其具体应用.
一般,在控制系统中,控制器最常用的控制规律是PID控制。常规PID控制系统原理框图如图4.1所示。系统由模拟PID控制器和被控对象组成.
积分
比例
微分
被控对象
u(t)
e(t)
r(t)
-
c(t)
图4。1 PID控制系统原理框图
PID控制器是一种线性控制器,它是根据给定值r(t)与实际输出值c(t)构成控制偏差
e(t)=r(t)-c(t) (4-1)
将偏差的比例(P)、积分(I)和微分(D)通过线性组合可以构成控制量,对被控对象进行控制,故称PID控制器。它的控制规律为
(4-2)
写成传递函数形式为
(4—3)
式中 -—比例系数;
-—积分时间常数;
--微分时间常数;
从系统的稳定性、响应速度、超调量和稳态精度等各方面来考虑,PID控制器各校正环节的作用如下:
1、比例环节
用于加快系统的响应速度,提高系统的调节精度.越大,系统的响应速度越快,系统的调节精度越高,但易产生超调,甚至会导致系统不稳定。取值过小,则会降低调节精度,使响应速度缓慢,从而延长调节时间,使系统静态、动态特性变坏。
2、积分环节
主要用来消除系统的稳态误差。越小,系统的静态误差消除越快,但过小,在响应过程的初期会产生积分饱和现象,从而引起响应过程的较大超调.若过大,将使系统静态误差难以消除,影响系统的调节精度。
3、微分环节
能改善系统的动态特性,其作用主要是在响应过程中抑制偏差向任何方向的变化,对偏差变化进行提前预报.但过大,会使响应过程提前制动,从而延长调节时间,而且会降低系统的抗干扰性能。
4.2 位置式PID控制系统
由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此式(4-2)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID控制算法的算式(3—2),现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可作如下近似变换:
(4—4)
式中 T—-采样周期.
显然,上述离散化过程中,采用周期T必须足够短,才能保证有足够的精度。为书写方便,将e(kT)简化表示成e(k)等,即省去将式(4—4)代入式(4—2),可得离散的PID表达式为
(4—5)
或
(4—6)
式中 k—-采样序号,;
u(k)—-第 k次采样时刻的计算机输出值;
e(k)-—第k次采样时刻输入的偏差值;
e(k—1)——第(k-1)次采样时刻输入的偏差值;
——积分系数,;
—-微分系数,;
由z变换的性质
式(4-6)的z变换式为
(4—7)
由式(4—7)便可得到数字PID控制器的z传递函数为
(4—8)
或者
(4-9)
数字PID控制器如图4。2所示。
U(z)
u(k)
E(z)
e(k)
图 4.2 数字PID控制器的结构图
由于计算机输出的u(k)直接去控制执行机构(如出水阀门),u(k)的值和执行机构的位置(如阀门开度)是一一对应的,所以通常称式(4—5)或式(4—6)为位置式PID控制算法。
PID位置算法
D/A
执行
机构
被控对象
A/D
r(k) +
—
u(k)
e(k)
图4。3 位置式PID控制系统结构图
这种算法的缺点是,由于全量输出,所以每次输出均与过去的状态有关,计算时要对e(k)进行累加,计算机运算工作量大。而且,因为计算机输出的u(k)对应的是执行机构的实际位置,如计算机出现故障,u(k)的大幅度变化,会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合,还可能造成重大的生产事故,因而产生了增量式PID控制的控制算法。所谓增量式PID是指数字控制器的输出只是控制量的增量Δu(k).
4.3 增量型PID控制算法
当执行机构需要的是控制量的增量(例如驱动步进电动机)时,可由式(4-6)导出提供增量的PID控制算式。根据递推原理可得
(4-10。)
用式(4—6)减式(4—10),可得
(4—11)
r(k) +
D/A
Δu(k)
PID增量算法
A/D
执行
机构
被控
对象
—
u(t)
∫
Δu(t)
式中
图4.4增量型PID控制系统框图
式(4—11)称为增量式PID控制算法.
图4。4给出了增量式PID控制系统示意图。
可以将式(4-11)进一步改写为
(4-12)
式中 、、
它们都是与采样周期、比例系数、积分时间常数、微分时间常数有关的系数.可以看出,由于一般计算机控制系统采用恒定的采样周期T,一旦确定了、、,只要使用前后3次测量值的偏差,即可由式(4-11)或式(4-12)求出控制增量。
采用增量式算法时,计算机输出的控制增量Δu(k)对应的是本次执行机构位置(例如阀门开度)的增量.对应阀门实际位置的控制量,即控制量增量的积累需采用一定的方法来解决,例如用有积累作用的元件来实现;目前较多的是利用算式通过执行软件来完成。
由图4。3、图4。4可以看出,就整个系统而言,位置式与增量式控制算法并无本质区别,或者仍然全部由计算机承担其计算,或者一部分由其它部件去完成。
增量式控制虽然只是算法上作了一点改进,却带来了不少优点:
(1)由于计算机输出增量,所以误动作时影响小,必要时可用逻辑判断的方法去掉。
(2)手动/自动切换时冲击小,便于实现无扰动切换.此外,当计算机发生故障时,由于输出通道或执行装置具有信号的锁存作用,故能仍然保持原值.
(3)算式中不需要累加。控制增量Δu(k)的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果.
但增量式控制也有其不足之处:积分截断效应大,有静态误差;溢出的影响大.因此,在选择时不可一概而论,一般认为在以晶闸管作为执行器或在控制精度要求高的系统中,可采用位置控制算法,而在以步进电动机或电动阀门作为执行器的系统中,则可采用增量控制算法。
被
控
对
象
离线计算,,,置
将A/D结果赋给
求
计算控制增量△
D/A
A/D
将△输出给D/A
采样时刻
到否?
否
到
图4。5PID增量型控制算法流程图
4.4 PID计算
因为单容水箱液位控制系统传函是一阶惯性环节。应用MATLAB仿真,直接调试,调节和,
4.5 主程序控制流程
出水阀保持原开度
系统初始化
读取水箱液位
液位值送显示
显示值等于设定值?
A/D转换
按键扫描
有设定值?
键盘键入
控制出水阀开度比例
读输入值
偏差计算PID
N
Y
系统上电
图4。6主程序流程图
4.6 显示部分
该函数主要为各显示函数调用。其工作流程为先向LCD发送控制命令,再传送待显数据,最后刷新屏幕。其流程图如图4.7所示。
入口
发送命令
延时
发送数据
延时
显示
返回
图4.7 LCD显示函数流程图
4.7 程序部分
Private Sub pidloop()
dfilter = 10 ’数字滤波器
inputd = pv + (inputlast — pv) * (kd / 60)
inputlast = pv
inputdf = inputdf + (inputd — inputdf) * dfilter / 60
output = (sp - inputdf) * (kp / 100) + feedback
If output 〉 100 Then ’ 出水阀开度取值范围是0-100%
output = 100
End If
If output < 0 Then
output = 0
End If
HScroll2。Value = 100 - output ’自动模式下调节出水阀开度
Text6.Text = HScroll2.Value ’显示出水阀门开度值
feedback = feedback — (feedback — output) * ki / 60
End Sub
第5章 系统测试与分析/实验数据及分析
5.1 MATLAB程序
图5。1 一节惯性环节MATLAB程序图
5.2 MATLAB成象曲线
图5.2 一阶惯性环节MATLAB程序图
由图得=1和=0.5,=1.3
第6章 课程设计总结
在该系统的构想之初有不少困惑。主要是关于PID算法不知道如何应用到设计中。这次课设还要求有计算机仿真,一涉及到各门学科相联系应用于实践的设计,心里就开始发怵。因为在学习上都是单纯的学习某一门知识,知道怎么解题,如何理解题目的思路,对解题的用途投注了太少的注意力,以至于很多知识可能理解,会用,但是却不知道怎么把它用到设计里去.又或者是一些选修课,本来上课讲的内容就少,还一知半解,到用着的时候只能干瞪眼,或者重新去学了。
课程设计深刻的结合了所学综合了各门学科,像单片机,计算机控制,protel,MATLAB等,都需要我们在平时去关注去学习运用的。以前不是特别明白的地方也通过实践弄懂了。总的来说,这次课程设计使我 感受到了理论与实践相结合的目的及其重要意义,不但使我对所掌握的知识有了更深刻的认识,还提高了我的动手查阅资料的能力而且还锻炼了自己的独立思考能力。设计思路是最重要的,只要你的设计思路是成功的,那你的设计已经成功了一半。因此我们应该在设计前做好充分的准备,像查找详细的资料,这对于我掌握,理解学习过的知识有很大的帮助,对于思维 、逻辑及其理论知识的运用等多方面有了更加进一步的掌握。
遇到不懂的地方就要问,老师都会热情的帮助我们,不要怕问题简单幼稚,怕下不来面子,要知道谁都是从不懂到懂的,才能对自己有所助益,进步才能更加迅速.
在这里我也感谢所有给予我关心帮助的老师和同学,希望以后有更多的机会来锻炼自己的综合素质,为以后的学习、生活打下良好的基础,在这次课设中也暴露了自己的一些缺点,基础知识不够扎实,我会在以后的日子里加以改正,来提高自己综合能力。
参考文献
[1]喻其炳。工程中液位控制的三种常见方式。渝州大学学报,2002,19(4):91—93
[2]陶永华,尹怡欣,葛芦生。 新型PID控制及其应用。北京:机械工业出版社,1998。9:1-8
[3] 张毅刚。单片机原理及接口技术[M] .哈尔滨:哈尔滨工业大学出版社,2007:55—66
[4] 胡文金.单片机应用技术实训教程。重庆:重庆大学出版社,2005:5-21
[5] 王春鸣,陈刚,张素贞. 专家PID控制器。 石油化工自动化,2002,(5):25—27
附录:系统硬件原理图
13
展开阅读全文