基于单片机实现的液位控制器设计
2009-05-12钟晓强
摘 要:介绍一种基于单片机实现的液位控制器的设计方法,该控制器以单片机为核心,通过外围硬件电路来达到实现控制的目的。可根据需要设定液位控制高度,同时具备报警、高度显示等功能,由于增加了气体压力传感器,使其具有与液面不接触的特点,可用于有毒、腐蚀性液体液位的控制,具有较高的研究价值。该控制器不仅可用于学校进行教学研究,还可用于生产实际,是目前比较缺少的一种产品。
关键词:传感器;A/D转换;控制器;外围硬件电路
中图分类号:TP368.1文献标识码:B
文章编号:1004 373X(2009)02 051 03
Design of Liquid Level Controller Based on Single Chip Computer
ZHONG Xiaoqiang
(Zhejiang Business Technology Institute,Ningbo,315012,China)
Abstract:This paper introduces a method for the design of liquid level controller based on single chip computer,this controller combines the single chip computer with peripheral hardware circuit to achieve the control performance.The controlled liquid level can be set as needed,it also has functions of displaying the liquid level and alarming.Due to the gas pressure sensor,it possesses the feature of non-contact with the liquid,thus can be used for the liquid level control of poisonous or corrosive liquid.It can be used for the teaching or research in school,and can be put into practical applications.
Keywords:sensor;A/D conversion ;controller;peripheral hardware circuit
0 引 言
随着微电子工业的迅速发展,单片机控制的智能型控制器广泛应用于电子产品中,为了使学生对单片机控制的智能型控制器有较深的了解。经过综合分析选择了由单片机控制的智能型液位控制器作为研究项目,通过训练充分激发学生分析问题、解决问题和综合应用所学知识的潜能。另外,液位控制在高层小区水塔水位控制,污水处理设备和有毒,腐蚀性液体液位控制中也被广泛应用。通过对模型的设计可很好的延伸到具体应用案例中。
1 系统设计方案比较说明
对于液位进行控制的方式有很多,而应用较多的主要有2种,一种是简单的机械式控制装置控制,一种是复杂的控制器控制方式。两种方式的实现如下:
(1) 简单的机械式控制方式。其常用形式有浮标式、电极式等,这种控制形式的优点是结构简单,成本低廉。存在问题是精度不高,不能进行数值显示,另外很容易引起误动作,且只能单独控制,与计算机进行通信较难实现。
(2) 复杂控制器控制方式。这种控制方式是通过安装在水泵出口管道上的压力传感器,把出口压力变
成标准工业电信号的模拟信号,经过前置放大、多路切换、A/D变换成数字信号传送到单片机,经单片机运算和给定参量的比较,进行PID运算,得出调节参量;经由D/A变换给调压/变频调速装置输入给定端,控制其输出电压变化,来调节电机转速,以达到控制水箱液位的目的。
针对上述2种控制方式,以及设计需达到的性能要求,这里选择第二种控制方式,同时考虑到成本需要把PID控制去掉。最终形成的方案是,利用单片机为控制核心,设计一个对供水箱水位进行监控的系统。根据监控对象的特征,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制固态继电器的开断进行液位的调整,最终达到液位的预设定值。检测值若高于上限设定值时,要求报警,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求报警,开启继电器,控制水泵开始上水[4]。现场实时显示测量值,从而实现对水箱液位的监控。
2 工作原理
2.1 原理框图
原理框图如图1所示。
2.2 工作原理
基于单片机实现的液位控制器是以AT89C51芯片为核心,由键盘、数码显示、A/D转换、传感器,电源和控制部分等组成。工作过程如下:水箱(水塔)液位发生变化时,引起连接在水箱(水塔)底部的软管管内的空气气压变化,气压传感器在接收到软管内的空气气压信号后,即把变化量转化成电压信号;该信号经过运算放大电路放大后变成幅度为0~5 V标准信号,送入A/D转换器, A/D转换器把模拟信号变成数字信号量,由单片机进行实时数据采集,并进行处理,根据设定要求控制输出,同时数码管显示液位高度。通过键盘设置液位高、低和限定值以及强制报警值。该系统控制器特点是直观地显示水位高度,可任意控制水位高度。
3 硬件设计
液位控制器的硬件主要包括由单片机、传感器(带变送器)、键盘电路、数码显示电路、A/D转换器和输出控制电路等。
3.1 单片机
单片机采用由Atmel公司生产的双列40脚AT89C51芯片,如图1所示。其中,P0口用于A/D转换和显示;P1口连接一个3×5的键盘; P2口用于控制电磁阀和水泵动作; P3口用于上、下限指示灯,报警指示灯以及用于读写控制和中断等。图2是AT89C51芯片的引脚功能说明。
3.2 传感器
传感器使用SY-9411L-D型变送器,它内部含有1个压力传感器和相应的放大电路。压力传感器是美国SM公司生产的555-2型OEM压阻式压力传感器,其有全温度补偿及标定(0~70 ℃),传感器经过特殊加工处理,用坚固的耐高温塑料外壳封装[6]。其引脚分布如图3所示。1脚为信号输出(-);2脚为信号输出(-);3脚为激励电压;4脚为地;5脚为信号输出(+);6脚为信号输出(+)。
在水箱底部安装1根直径为5 mm的软管,一端安装在水箱底部;另一端与传感器连接。水箱水位高度发生变化时,引起软管内气压变化,然后传感器把气压转换成电压信号,输送到A/D转换器。
3.3 键盘电路
P1口作为键盘接口,连接一个4×4键盘。结构上采用行列方式,可定义键盘布局。结构如图4所示。
3.4 液位显示电路
液位显示采用数码管动态显示,范围从0~999(单位可自定),选择的数码管是7段共阴极连接,型号是LDS18B20。在这里使用到了74LS373 ,它是一个8位的D触发器,在单片机系统中经常使用,可以作地址数据总线扩展的锁存器,也可以作为普通的LED的驱动器件,由于单独使用HEF4511B七段译码驱动显示器来完成数码管的驱动显示,因此74LS373在这里只用作扩展的缓冲,图5是显示电路的原理图。
3.5 A/D转换电路及控制输出
A/D转换电路在控制器中起主导作用,用它将传感器输出的模拟电压信号转换成单片机能处理的数字量。该控制器采用CMOS工艺制造的逐步逼近式8位A/D转换器芯片ADC0809。在使用时可选择中断、查询和延时等待3种方式编制A/D转换程序。图6是A/D转换部分原理图,在接线时先经过运算放大器和分压电路把传感器输出的电流信号转换成电压信号,然后输入到A/D转换器。
控制输出主要有上下限状态显示、超限报警。另外在设计过程中预留了串行口,供进一步开发使用。
4 软件设计
液位控制器模型的软件设计框图如图7所示。
(1) 键盘程序
由于键盘采用的是4×4结构,因此可使用的键有16个,根据需要分别定义各键,0~9号为数字键,10~15号分别是确定键、修改键、移位键、加/减键、取消键和复位键。程序如下:
KEY: MOV P2,#07H ;用反转法查键
KEY1: MOV B,A ;有键按下,存键码
MOV A,P2
MOV DPTR,#TABLE
ANL A,#07H
MOV R3,#0FFH ;存顺序码单元初始化
MOV B,A
KEY2: INC R3
MOV P2,#0F8H
MOV A,R3
MOV A,P2
MOVC A,@DPTR
ANL A,#0F8H
CJNE A,KEY3 ;判键码,求顺序码
ORL A,B
MOV A,R3 ;若找到键码,存顺序码
CJNE A,#0FFH,KEY1
RET
RET ;无键按下
KEY3: CJNE A,#0FFH,KEY2;判是否查完
RET ;已查完,键码未找到,以无按键处理
TABLE:DB 0F6H,0EEH,0DEH,0BEH,7EH ;按键特征码表
DB 0F5H,0EDH,0DDH,0BDH,7DH
DB 0F3H,0EBH,0DBH,0BBH,7BH,0FFH
…
(2) A/D转换子程序
A/D转换子程序如下:
…
ADCC:PUSH ACC;模数转换程序
PUSH B
MOV DPTR,#0BFFFH
MOVX A,@DPTR;读模数转换值
MOV B,#0AH;十六/十进制转换
DIV AB
MOV DSP1,B
MOV B,#0AH
DIV AB
MOV DSP2,B
MOV DSP3,A
POP B
POP ACC
SETB EA
RETI
…
值得注意的是,在用汇编语言编写控制器程序时,相对会比较麻烦,如果用C语言编写程序会简单很多,这里就不再做具体说明。
5 结 语
基于单片机实现液位控制器模型设计的关键在于硬件电路的正确构建,只有在电路准确的前提下再进行软件编程才能取得成功。
参考文献
[1]蔡黎.一种基于单片机的水位控制系统设计.仪器仪表用户,2007,14(4):44-45.
[2]陈霞,白小军.基于单片机的液位监控系统.武汉理工大学学报,2007,29(3):3-6.
[3]陈新昌,王万章.单片机在水位控制中的应用.信息科技,2006(24):89-90,94.
[4]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,1996.
[5]刘华东.单片机原理与应用.北京:电子工业出版社,2003.
[6]何希才.传感器及其应用实例[M].北京:机械工业出版社,2004.
[7]董晓红.单片机原理及接口技术.西安:西安电子科技大学出版社,2004.
[8]付晓光.单片机原理与实用技术.北京:清华大学出版社,2004.
作者简介 钟晓强 浙江工商职业技术学院,讲师,硕士。主要研究方向为电气自动化和应用电子技术。