基于超声波传感器的水位自动控制系统
基于超声波传感器的水位自动控制系统
李 严1,张 民2
(1. 青岛理工大学计算机工程学院 266033;2. 青岛理工大学自动化工程学院 266033)
摘要:通过测量传感器的信号频率来获取液面高度,由单片机系统数据处理模块、A/D数
据输入模块、485通讯模块、液位控制及报警模块组成。由键盘设定液位,主机可以显示和设定从机的液位,再通过传感器和A/D转换把当前液位传到控制器与设定值比较;单片机控制电磁阀调节液位。最后给出实际测试结果与数据分析。
关键词:超声波传感器;ICL7135;液位控制;OCM4X8C 中图分类号:TP273+.5 文献标识码:B
Design of Automatic Control System of Liquid Level
Li Yan1, Zhang Min2
(1. School of Computer Engineering, Qingdao Technological University 266033; 2. School of Automation Engineering, Qingdao Technological University 266033) Abstract: The liquid level altitude is get by surveying signal frequency of ultrasonic sensor and
mainly consists of the part of data processing module; A/D data input module, 485 communication module, liquid level control module and warning module. By setting the liquid level according keyboard, the mainframe is able to show and set the level of inferior controller. Comparing actual level which is transformed by the sensor and A/D transfer, SCM controls the electromagnetic valve to modulate liquid level. At the end actual test results and data analysis are showed.
Key words: ultrasonic sensor; ICL7135; liquid level control; OCM4X8C 0 引言
目前国内在液位自动控制方面缺少长期可靠的使用范例,还没有适用于液位测量和自动控制的定型产品。因此,开展液位自动控制的研究工作十分必要[1]。
系统为一个水位监测与控制装置,通过键盘可以设定瓶内液位(0~25cm 内的任意值),并通过控制电磁阀(或类似于电磁阀的装置)使瓶内的液位达到设定值,液位超过25cm 或低于2cm 时会发出警报。显示器能实时显示当前液位状态和瓶内液体重量以及阀门状态。
1 系统功能概述及框图
本设计利用MCS-51单片机结合数字芯片、模拟电路,完成对水位的检测和自动控制。 基本工作流程为:主机通过键盘设定自己和从机的液位,超声波传感器测出当前水位对应的电压值,再经过ICL7135模数转化送入控制器与设定值比较,单片机通过控制电磁阀调节主机液位,并把设定值与当前值显示在LCD 上;主机控制器通过485通讯对从机控制器传输设定值,从机控制器也可以如主机控制器一样对液位进行控制,并通过LCD 显示主机给定值与当前液位值;并利用485通讯把从机当前液位传送给主机显示出来。
系统由单片机系统数据处理模块、A/D数据输入模块、485通讯模块[2]、液位控制及报警模块及键盘和显示模块等几部分组成[3]。系统总框图如图1所示。
2 方案论证与比较
考虑系统的要求,在对器件的选择过程中,侧重于对传感器和模数转换芯片的选择。
2.1 传感器
系统设计过程中,主要对以下三种传感器进行了选择比较。 方案一:压力传感器
图1 系统框图
Fig1. Scheme of system
目前的液位压力传感器大部分是投入式静压液位变送器,而投入式静压液位传感器只有参考大气压才能进行准确测量,然而连接电缆中的通气会受到环境的影响,造成气管内壁冷凝,结露。露水滴到电子器件和传感器上,会影响精度或者输出漂移。同时,结露过快,变送器的使用寿命也会大大缩短。此压力传感器容易受到环境的影响而造成测量不准确,并且安装不方便。
方案二:压阻式压力传感器
压阻式传感器是用集成电路工艺直接在硅平膜片上按一定晶向制作扩散压敏电阻;硅平膜片在微小变形时有良好的弹性特性,当硅片受压后,膜片的变形使扩散电阻的阻值发生变化;此变阻器容易受外部环境的影响,如温度,从而造成测量不准确,而且体积一般比较大,不易安装、不易携带;一般其精确度也比较低。不能满足设计的需要,所以不选择。
方案三:超声波传感器
超声波传感器是工业领域内第一款在产品上带有按键设定功能和自诊断功能的小型传感器。它虽然体积小,但是具有其它大型传感器所具有的功能,安装使用方便而且不受被测物体的颜色影响,有许多特设功能,如:具有自诊断LED 显示和按键设定功能、温度补偿功能、可选择模拟量或开关量输出等;其供电电压为10~30V ,测量范围为30mm ~300mm ,输出电压0V ~10V ,输出电流为4mA ~20mA ,最小负载阻抗2.5欧,精度可达到0.5mm ,外形分为直线型和直角型。感应口径为18mm 。
超声波传感器所具有的条件满足设计所需要0~25cm 的液位控制,以及液位误差不超过±0.3cm的要求,并且解决了安装不方便的难题。所以本设计选择了精度高,体型小的超声波传感器。
[4]
[4]
[4]
2.2 A/D转换器
所采用的A/D转换器的精度和性能直接影响后端单片机接收数据的精度,在此我们对以下两种AD 转换器进行比较分析。
方案一:采用8位ADC0809 A/D转换器
ADC0809是常用的8位A/D转换器,属逐次逼近型,ADC0809由单一+5V供电,片内含带有锁存功能的8
路模拟电子开关,可对0~+5V 8路的模拟电压信号分时进行转换,完成一次转换约需100us ,所以速度较快,但是ADC0809芯片分辨率低,精度不够,不能满足本系统要求,不予采用。
方案二:采用4位半双积分A/D转换器ICL7135
ICL7135是应用广泛的4位半双积分A/D转换器,动态BCD 码输出的积分型A/D转换器。其特点是:精度高、极性自动转换输出、自动校零、单一电源工作、动态BCD 码输出。
由于双积分方法的二次积分时间比较长,所以A/D转换速度慢,通常为(3~10)次/s ,此外,对周期变化的干扰信号积分为零,抗干扰性能也比较好。在同等精度的情况下,价格
[6]
[5]
低于逐次逼近式A/D转换器,因而在对速度要求不高的场合,更宜于采用这类A/D转换器。
考虑系统的要求,本设计采用控制精度较高的ICL7135 A/D转换器。
3 硬件电路及软件设计
本设计的硬件电路包括最小系统电路、液位控制及报警电路、ICL7135信号采集传输电路、键盘和显示模块等。
[7]
3.1 最小系统(电源供电电路与I/O扩展及选通电路)
本设计使用的最小系统板是以80C52单片机为内核,并且具有良好的扩展性。CPU 外
3.3 ICL7135信号采集传输电路
本电路由一个小型集成电路来实现,采样后的信号经过电位器送到ICL7135进行处理,将处理后信号直接送到单片机最小系统出(2.5V )分压获得1V 电压。
HC240是八位缓冲线/线驱动器,内含八个具有三态输出反相缓冲器。三态输出的反相缓冲器,输出允许控制端(ENA 、ENB ),每一个EN 控制四个缓冲器,1A 、2A 数据输入,1Y 、2Y输出。输出分别送出个、十、百、千、万位。
[10]
。ICL7135量程为0~2V ,基准电压由MC1403输
HC157是四路二选一开关,1为选择输入端,S 为低电平时,选择A 输出;S 为高电平时,选择B 输出ICL7135的BCD 码的位选通输出端D1-D5分别接8位可编程逻辑接口电路8255的PA0~PA3和PB0~PB4。CPU 可读取各个位的状态并判断,从而在ICL7135的B1~B8输出端读取BCD 数据。ICL7135信号采集传输电路如图3所示。
.1.1
图3 ICL7135信号采集传输电路
Fig3. Signal collects and transmits circuit of ICL7135
3.5 软件设计
软件部分主要是利用51系列单片机作控制器,传感器输出电压进行采样,将采样值与设定值比较,单片机对电磁阀控制来调节液位,主机通过485通讯给分机设定数值,分机控制器对分机液位进行控制。软件部分包括ICL7135采样部分、485通讯部分、数字处理部分、显示部分、键盘部分等。为了避免在传感器移动造成测量数据不准确,特别增加了调零功能,进一步提高了系统的准确性。主程序流程图如图4所示。
4 实验结果及分析
需要的测试设备有4位1/2高精度数字万用表、刻度尺、100M 双踪数字示波器。测试
结果如表4-1所示。
表4-1 测试数据 实际液位(mm) 0 10 20 30 40 50 60 70 80 90 100
显示液位(mm) 0 10 20 30 40 50 60 70 80 90 100
液位偏差(mm) 0 0 0 0 0 0 0 0 0 0 0
电压(V) 2.00001.92601.85201.77801.70401.63001.55601.48201.40801.33401.2600
质量(g) 0 92 185 277 370 462 555 648 740 833 925
实际液位(mm)110 120 130 140 150 160 170 180 190 200
显示液位(mm)110 120 131 141 151 161 171 181 191 201
液位偏差(mm)0 0 1 1 1 1 1 1 1 1
电压(V) 1.1860 1.1120 1.0380 0.9640 0.8900 0.8160 0.7420 0.6680 0.5940 0.5200
质量(g) 1018 1110 1212 1305 1397 1490 1583 1675 1768 1860
注:零点电压为:2.0000V 零点液位:30mm
由以上数据我们可以看出,系统的各个检测单元的测试数据精度很高、液晶显示值和测量值与设定值非常接近,与传感器输出电压成线性关系,与重量也成一定的比例关系,这与硬件的选择及其参数的匹配以及软件控制算法的选择是不可分割的。
5 设计总结
本设计在硬件上,使用S18UUA 超声波传感器,ICL7135等高精度芯片和仪器进行液位测量,使所测量的液位精度远高于液位误差不超过±0.3cm的要求。此外,本设计还应用了MAX485通讯,OCM4X8C 液晶显示LCD 等芯片和元件,使设计更符合实际应用的要求,也相应的降低了软件设计的难度。在软件上,采用规范化的编程方法,有效的减少了程序所需要的存储空间。目前本课题主要用于地下水位的检测,项目经济效益接近15万元。
本文作者创新点:
(1)采用超声波传感器进行测量,提高了系统精度。
(2)主站能测量并显示主站自己和任何一个分站的液位高度、液体质量和阀的状态。 (3)主站能设定自己的入水阀和出水阀状态。
(4)分站能显示该分站的液位高度,液体重量,显示和设定入水阀出水阀状态。
参考文献
[1] 余祖俊.微机检测与控制应用系统设计[M].北京交通大学出版社,2001 [2] 李玉忍,谢利理.实用RS-485通信接口的设计[J].测控技术,2000,19(4) [3] 邵裕森.过程控制系统及仪表[M].机械工业出版社.1993 [4] 赵家贵.电子电路设计[M].中国计量出版社.2005
[5] 邬宽明.单片机外围器件手册.北京航空航天大学出版社.1998 [6] ICL7135 DATASHEET. MAXIN
[7] 李朝青.PC机与单片机&DSP数据通信技术选编[M].北京航空航天大学出版社,2004 [8] 刘元扬,刘德溥.自动检测与过程控制[M].北京冶金工业出版社.1980
[9] 张 越.单片机贮油罐液位监测系统[J].微计算机信息,2007年第8-2期:115-117 [10] 胡光书.数字信号处理[M].清华大学出版社.2001
作者简介:李严(1984-),男(汉族),山东聊城人,青岛理工大学硕士研究生,研究方向为计算机控制技术。
Biography:Liyan(1984-), Male(Han), Shandong Province, Qingdao Technological University, master graduate student, the technique of computer control.