自动液位监控系统的设计

2015-02-18 01:28刘萌雅张丽艳徐铭峰费继友
大连交通大学学报 2015年2期
关键词:蜂鸣器中断液位

刘萌雅,张丽艳,徐铭峰,费继友

(大连交通大学 电气信息学院,辽宁 大连 116028)

0 引言

液位监控在工业生产和人们生活中有很多应用.近年来采用的声、光、射线的监控方法,如雷达液位监控[1]、超声波液位监控[2]、激光液位监控[3]等许多工作仍处于实验室的研究阶段,即便有适用的系统问世,成本也是比较高的,且维修起来很麻烦.针对现阶段这种状况,本文给出了一种以STC89C52为处理器的系统,该系统的电路组成比较简单,调试起来也很方便,能较好的实现液位监控.本文非接触式的测量方式避免了与液体的直接接触,使得液位测量不会受到酸、碱、水垢等的影响.相比接触式的测量方式,该系统在使用时长和安装上也会有明显的优势,一经安装该系统便可长期稳定地运行在无人监控的状态下.

1 系统硬件组成及工作原理

本系统硬件[4-7]由电源电路、单片机最小系统、超声波测距模块、继电器控制水泵注水/排水电路、显示电路、报警电路还有蓄水容器组成,其硬件功能框图如图1所示.系统工作原理如下:当液位处于低位时,处理器经过分析液位传感器传来的信息,驱动蜂鸣器报警,同时也输出一个低电平信号使2路继电器的左边一路吸合,水泵1开始往容器内注入液体;当液位处于高位的时候,处理器经过分析液位传感器传来的信息,驱动蜂鸣器报警,同时也输出一个低电平信号使2路继电器的右边一路吸合,水泵2开始抽出容器内的液体;随着液位的变化,当到达设定液位时,送入处理器液位传感器的接口为高电平,继电器释放,水泵就会停止工作.另外,当超声波测距模块检测出的液位高度正好等于设定值时,系统保持静态无反应.整个监控过程,液位的高度都会通过LCD1602显示出来.对于液位的调整,本系统工作电压较低,再综合考虑成本及可操作性,选用了齿轮泵来实现.下面给出部分硬件电路的设计介绍.

图1 硬件功能框图

1.1 超声波测距模块

当处理器把一个周期大于10 μs的脉冲信号给超声波测距模块,模块的内部就会发射出8个40 kHz的周期性的电平来检测回波,如果检测到回波信号就立刻输出一个回响信号.所以测量的距离S由式(1)计算得出.

式中:S表示测量距离;t表示发射信号与收到的回响信号的时间差;V表示声速.

1.2 继电器控制电路

继电器是一种大电流被小电流控制的自动开关元件.设计中使用如图2所示的方法连接继电器和电机(水泵内的电机),能够实现硬件互锁,防止两个电机同时工作.具体过程为:给1号电机控制信号时,1号电机启动;给2号电机控制信号时,2号电机启动,如出现程序故障导致两电机都得到启动信号,两路继电器都发生动作,此时两个电机均没有被接通,即不会出现同时工作的故障.

图2 继电器和电机的连接电路

图3 蜂鸣器的驱动电路图

1.3 蜂鸣器报警电路

本次设计选用有源蜂鸣器,并采用低电平有效的输出方式.单片机I/O引脚输出的电流比较小,为了能够驱动蜂鸣器,就需增加一个来放大电流的电路.图3为蜂鸣器的驱动电路.

2 系统软件设计

系统主程序流程图[8-12]如图4所示.其工作过程如下:首先完成系统的初始化,接下来控制超声波模块重复的发射信号,每次发射周期结束,再判断信号发出后等待的时间里回波是否到达,也就是说判断是否有中断(见下文2.1节的回波检测部分),体现在主程序流程图中是每一次的判断过程.之后是计算距离值并将其显示是由中断子程序实现的,即先将超声波模块发射程序初始化,然后等待中断响应(见下文2.2节的中断服务程序部分),体现在主程序流程图中是每一次的判断之后的执行,待有中断响应之后,经函数计算将原始时间数据转换成十进制液位数据显示输出.

图4 主程序流程图

2.1 回波检测程序的设计

STC89C52单片机通过 P3.3口(连接 HCSR04的触发控制信号输入端Tx),发送出一连串的脉冲,以此来控制时间,随后启动定时器T0,当检测到回波时,通过P3.2口(连接HC-SR04的回响信号输出端Rx)产生外部中断信号,T0停止计时,记录下接收到回波所耗的时间.

2.2 中断服务程序的设计

系统发射出40 kHz的脉冲信号后,T0开始计时,当遇到液面后返回回波信号,经回波检测电路产生外部中断信号传至单片机,即激发外部中断0,开始响应中断服务程序,T0停止计数.而中断服务程序就是响应外部中断.在中断服务程序中,进入中断服务程序的计数值c被读出来,保存到随机存储器中,再由式(2)算出距离distance的值:

3 测试与结果

3.1 测试过程

首先,系统进行硬件调试.该调试过程相对简单,主要需要做的是检查开发板与模块连线是否连接正常,然后对超声波测距模块、LCD1602液晶屏、继电器、蜂鸣器、水泵等分别进行测试,直接将主控单片机 STC89C52、LCD1602液晶屏、HCSR04超声波测距模块、继电器、蜂鸣器、水泵等连接构成自动液位监控系统,编写适当程序进行液位监控,测试出系统的绝对误差.

3.2 测试结果

本次的设计完成了预定的基本性能要求,实现了自动液位监控的功能,具体结果如下:①能实时输出当前的水位情况;②能根据要求动态的调整水位到指定数值;③在水平面基本静止的条件下,动态调整水位到规定数值,误差小于3 cm;④系统应具备电传功能,实现液位数据向PC的传输;⑤功耗较低.

此外,本文给出了本设计的正程—回程实测图,其理论液位显示数据与实际液位的数据曲线为阶梯状,如图5所示.

图5 正程—回程实测图

由图5实验数据可知,该系统的平均测量误差小于0.3 cm,液位显示分辨率为1 cm.由于实际情况下,液面存在一定的波动或震动,尤其是在注水或排水的情况下,液面不稳定程度加剧,如果显示分辨率太高,会造成显示数据的频繁变动,无法顺利的读取数据.因此,在设计时应该选取合适的系统分辨率,经调试本设计将系统分辨率设为1 cm.实验结果表明了本设计合理可靠性.

4 结论

本次设计的自动液位监控系统主要目的是使液位始终保持在一定范围,避免液位过高或过低现象的发生.本设计采用STC89C52单片机为系统控制,应用超声波测距原理,能实现对范围在0~14 cm内的液位的有效测量,其绝对误差小于3 cm,重复性也好,能够确保水位在允许的范围内浮动,同时还兼有了高低液位报警功能.可见基于STC89C52单片机设计的超声波液位监控系统的硬件部分简单、可靠性高、测量误差范围小.

[1]范飞飞.基于雷达液位计的水文信息实时监测系统的研究[D].湖北:湖北工业大学,2013.

[2]卢伟.高精度超声波液位测量系统的设计与实现[D].河北:河北工业大学,2012.

[3]闫达海,胥光申.面曝光快速成形激光液位检测系统的研究[J].天津工业大学学报,2013(1):81-85.

[4]普仕凡,张丽艳,李桂林,等.基于89C52单片机的智能温控仪设计[J].大连交通大学学报,2008,29(3):91-94.

[5]刘振超,张丽艳,普仕凡.基于W78E516控制的触摸液晶显示屏AG320240A4STCW-T51的应用[J].现代显示,2009(1):44-47.

[6]胡汪洋,冀恩祥,费继友.基于单片机控制电子胸卡的设计[J].仪表技术,2010(5):23-25.

[7]费继友,周茉.基于ARM+FPGA的嵌入式数控装置设计[J].制造技术与机床,2010(12):70-73.

[8]郭天祥.51单片机C语言教程—入门、提高、开发、拓展全攻略[M].北京:电子工业出版社,2009.

[9]刘昌华,易逵.8051单片机的C语言应用程序设计与实践[M].北京:国防工业出版社,2007.

[10]刘坤,宋戈,赵红波,等.51单片机C语言应用开发技术大全[M].北京:人民邮电出版社,2008.

[11]张忠梅.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007.

[12]王昌明,孔德仁,何云峰.传感与测试技术[M].北京:北京航空航天大学出版社,2005.

猜你喜欢
蜂鸣器中断液位
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
单片机驱动蜂鸣器的程序设计
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
基于FPGA的中断控制器设计*
跟踪导练(二)(5)
千里移防,卫勤保障不中断
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
宝马530车冷却液液位过低报警