基于单片机的超声波液位检测系统设计

2014-02-11 05:46张晓东马宏旭
机电工程技术 2014年8期
关键词:蜂鸣器测距液位

鲁 可,张晓东,马宏旭

(河南工业大学电气工程学院,河南郑州 450007)

基于单片机的超声波液位检测系统设计

鲁 可,张晓东,马宏旭

(河南工业大学电气工程学院,河南郑州 450007)

为解决腐蚀性液体的液位测量中电极特别容易被电解腐蚀的问题,将超声波技术应用到工业生产液位或物料的检测中。以AT89S52单片机为核心,建立超声波测得距离和声速与传输时间之间的关系,提出通过硬件电路设计和软件编程实现对液位高度的检测的方法,进行了超声波测距在20 cm和80 cm两种距离的试验。由于超声波受温度的影响较大,采用温度传感器对温度进行测量,根据公式进行温度补偿,并设计了报警模块,当温度过高时进行报警。结果表明,超声波测距的相对误差分别为2.5%和1.25%,这样的精度能够满足实际需求,达到了预期目标。该系统具有测量准确、功耗低、使用寿命长等特点,可以满足一般的工业需要。

液位检测;超声波;单片机

0 引言

液位测量是与生活息息相关的一个话题,在现实生活中,有许多行业都需要对液位进行测量。传统的测量方法,如差位分布电极法,需要电极长时间地浸泡在液体中,特别容易被电解,腐蚀。为了解决这个问题,本课题采用一种非接触性的测量技术,即超声波传感技术进行液位检测,实现对液位或物料的检测。超声波液位测量是液位测量中最常用也是最为便捷有效的测量方法[1]。利用超声波检测或感知物体时,具有非破坏性、遥控性、实时性、可穿透性等优点,因此利用超声波测距十分方便[2]。

超声波,是一种声波,频率高于人耳能听到的频率,大多数用于超声波检测,下限频率为20 kHz,上限为100 kHz。超声波传感器就是利用超声波在超声场中的物理特性和各种效应研制而成的传感器[3]。超声波在液体中传播的过程中,方向性比较好,并且传播过程中能量损失比较少,在其遇到分界面时,能够反射,用反射测距的原理,测得超声波在发射之后遇到分界面反射的时间,来确定液面的高度。

1 超声波液位检测原理

超声波液位检测有脉冲回波法、共振法、频差法以及声衰减法,其中应用较广的是脉冲回波法[4]。本文采用脉冲回波法来进行测距,其基本原理是:将超声波发射器、接收器装于一个容器顶部,在同一高度,利用超声波遇到不同物质界面反射的性质,超声波发射器发出信号和接收器收到信号的时间记录下来,即可测得距离。其原理如图1所示。

图1 超声波测距原理图

超声波传输的单次距离S与声速v和传输时间t之间的关系可以表示为:

其中S为超声波传输的单次距离,v为超声波传播速度,t为回波时间,t=T1+T2。

同理,超声波测液位就是要测量距离液面的距离,把超声波测距仪安装在所测液面的上方,通过换算来求得液位高度。超声波液位检测原理图如图2所示。

图2 超声波液位测量原理图

由图2可知,提前测得超声波探头到所测容器的底部的距离,假定为H,超声波探头距前液面的距离为S,即可得知液面高度,h=H-S。因此超声波液位测量的关键工作就是测量探头到液面的的距离S。

2 系统硬件设计

本系统由AT89S52单片机、超声波发射接受模块、LCD液晶显示模块、温度检测模块和声音报警模块组成。系统总体框图如图3所示。

图3 系统总体框图

AT89S52单片机作为整个系统的核心部件,协调着各模块的工作。超声波收发器模块连接到单片机进行超声波发射和接收。温度测量模块也将现场的环境温度数据采集到单片机。在这个过程中,LCD液晶显示电路不断更新当前值。如果温度过高,则触发声音报警模块。

(1)AT89S52单片机

AT89S52最小系统如图4所示。

(2)超声波发射接受模块

本系统选用HC-SR04超声波发射接受模块。HC-SR04超声波发射接受模块可以提供2 cm~400 cm的非接触距离测量,此模块包括超声波发射器、接收器、控制电路三个部分。在Trig引脚上产生一个宽度大于10μs的高电平脉冲,即可激活模块,模块将会自动发送8个40 kHz的方波脉冲,并且发送完成后模块将自动检测是否有反射信号返回,若在一定时间内收到反射信号,则模块会在Echo引脚上输出一个和信号传输时间成正比的高电平信号,系统通过检测这个高电平的宽度时间T即可计算出反射物体距模块的距离S。假设校准后的声速为v,那么距离S为:

超声波发射接受模块的实物图如图5所示。

图4 AT89S52最小系统

(3)液晶显示模块

数码管是比较常用的显示器件,在各种系统中都得到了广泛的应用,数码管的体积相对较小,而且重量轻、它的功耗也很低,是一种相对理想的数据输出的器件。考虑到本系统对显示方面的要求,确保温度和液位高度同时准确清晰的显示,本系统的液位显示部分采用1602液晶显示模块。

1602液晶显示器一般的自带ASCII字库,其基本特性如下:

(1)显示32个英文字符;

(2)内置ASCII码字库;

(3)通讯方式:8线/4线并行可选,本设计选用8线并行方式。

图5 超声波发射接受模块实物图

(4)温度测量模块

在空气中,常温下超声波的传播速度是334 m/s,由于超声波的传播速度V受到空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1℃,声速增加约0.6 m/s。因此在测距准确度要求很高的情况下,应通过温度补偿的方法对传播速度加以校正[5]。

超声波受温度影响较大,其速度与温度的表达式为c=331.5+ 0.607T,所以要想保证测量的精度,必须要补偿温度,本设计使用 DS18B20进行温度测量。DSl8B20是美国DALLAS半导体公司,研发推出的一种智能温度传感器。它能够直接测出温度,使用方便,并且性能较为良好。

(5)报警模块

当温度过高时,超声波速度会受到较大影响,从而影响测量精度,因此报警电路在液位测量中必不可少,通过蜂鸣器来实现报警功能。蜂鸣器是一个电子发声器件,分为电磁式蜂鸣器、压电式蜂鸣器两种。设计采用的是压电式蜂鸣器。当电源接通时(1.5~15 V的工作电压DC),多谐振荡器启动,1.5~2.5 kHz的音频信号输出。蜂鸣器的发声原理是激励电流通过蜂鸣器发声元件的电磁线圈,通电的线圈产生的磁场和原来固定磁场作用产生震动从而发声。由于线圈产生磁场完全靠电流驱动,因此,蜂鸣器发声需要一定大的电流来驱动,一般电流越大,声音越大。

三极管型号是S8550,是一个PNP型三极管,BELL引脚为低电平时蜂鸣器发声,为高电平时蜂鸣器关断。

3 系统软件设计

整个系统的软件设计分为两大部分,主程序和中断服务程序。主程序完成对单片机自身以及外围模块的初始化、控制超声波模块的发射和接收以及温度测量、距离计算、结果显示等大部分主要工作。中断服务程序部分主要是定时器溢出中断,用于产生超时标志。在正常模式下,读取定时器计数器寄存器的值来获取时间信息,当发生中断则意味着超时,测距失败。

图6 主程序以及中断服务程序流程图

本系统单片机时钟采用的是12 MHz的晶振,所以单片机内部计数器每计一个数的时间为1μs,当主程序调用超声波测距函数启动超声波发送后,进入等待回响状态,当超声波测距函数检测到了接收成功的标志后,会将计数器中的计数值(即超声波发送和返回所耗的总时间)保存,这样就得到了时间信息,再根据温度补偿公式计算超声波的速度,从而测得被测物体与超声波发射接收模块之间的距离。最后将测得的距离进行判断是否超出预定范围,判断是否需要报警,然后将测得的温度、距离信息送往LCD显示,然后主程序继续执行,重复上述过程。

本次设计使用C语言编写所需程序,寄存器分配、不同存储器的寻址及数据类型等细节,可由编译器管理。主程序首先初始化单片机,开启总中断,设置定时器0工作方式以及定时器0的初值,然后再对LCD1602和18B20初始化,进入主程序循环,每隔大约500 ms测一次距离值和温度值,若测距成功则将计算出的距离值和温度值送到LCD1602上显示。中断服务程序的主要作用是计算超时和计时。主程序以及中断服务程序流程图如图6所示。

4 结论

本系统的实物图如图7所示。为了反映测距的精确度,分别在20 cm和80 cm的距离下进行测试,测试对象为垂直桌面,测试结果如图8和图9所示。

图7 实物图

图8 20 cm测距结果

从图8和9中可以看到,两次测距的误差分别为2.5%和1.25%,这样的精度能够满足实际需求,达到了预期目标。

整个系统以单片机为核心,具有测量准确、软件可升级、功能可扩展、功耗低、使用寿命长等特点。通过实际测试,也发现了一些限制因素,比如方向性不好,只有正射液面才能获得准确的结果。在实际使用中,得到了以下结论:系统会受到距离的影响,距离越短,相对误差越大;在测量时,涉及到的模块要尽量平稳放置,以减少误差;可以通过精确标定和修正算法来减小误差。

Design of Ultrasonic Liquid Level Control System Based on MCU

LU Ke,ZHANG Xiao-dong,MA Hong-xu
(Henan University of Technology,College of Electrical Engineering,Zhengzhou450001,China)

To solve the problem of the electrode especially vulnerable to electrolytic corrosion in corrosive liquid level measurement,the detection of ultrasonic technology is applied to the industrial production level or materials.Carries out AT89S52 MCU as the core,establishes ultrasonic measurement of relationship between distance and speed and the transmission time,the method of detecting the height of the liquid level is realized by hardware circuit design and software programming,the ultrasonic ranging in the test of 20cm and 80cm two kinds of distance.The ultrasonic influenced by temperature,measure the temperature by temperature sensor,according to the temperature compensation formula,and the design of alarm module,when the temperature is too high.The results show that,the relative error of ultrasonic distance measurement was 2.5%and 1.25%respectively,the accuracy can meet the actual demand,to achieve the expected goal.The system has the characteristics of accurate measurement,low power consumption,long service life,can meet the general needs of industry.

liquid level measurement;ultrasonic;MCU

TP273

A

1009-9492(2014)08-0013-04

10.3969/j.issn.1009-9492.2014.08.004

2013-10-27;

2014-06-29

猜你喜欢
蜂鸣器测距液位
电动自行车产品车速提示音检测现状和整改技术研究(2)
掌控板制作简易钢琴
类星体的精准测距
单片机驱动蜂鸣器的程序设计
基于STM32燃气热水锅炉液位控制系统设计与实现
石油储罐液位开关的应用分析
浅谈超声波测距
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
基于PSOC超声测距系统设计
宝马530车冷却液液位过低报警