内容发布更新时间 : 2024/12/27 15:55:37星期一 下面是文章的全部内容请认真阅读。
龙源期刊网 http://www.qikan.com.cn
基于单片机的超声波液位检测系统设计
作者:马 莹 郑文斌
来源:《海峡科学》2007年第10期
[摘要] 介绍了利用AT89C51单片机控制的超声波测距系统的原理。给出了系统构成,并在数据处理中采用了温度补偿修正。此系统具有易控制、工作可靠、测量精度高的优点,可实时监控液位。
[关键词] 单片机 超声波 测距 温度补偿 1 引言
在许多工业生产系统中,需要对系统的液位或物料位进行监测,特别是对具有腐蚀性的液体液位的测量,传统的电极法是采用差位分布电极,通过给电脉冲来检测液面,电极长期浸泡在液体中,极易被腐蚀、电解、失去灵敏性,因而对测试设备的抗腐蚀性要求较高。超声波液位检测系统,利用了超声波传感技术的原理,采取一种非接触式的测量方法,能够实现对工业系统中液位或物料位的检测;而且超声波具有很好的指向性和束射特性,人耳听不见,一般不会对人体造成伤害,检测工程方便、迅速、易做到实时控制,而且测量精度又能达到工业实用的要求,所以有广泛的应用前景。 2 超声波测距原理
所谓超声波就是指频率高于20kHz的机械波,一般由压电效应或磁致伸缩效应产生;它沿直线传播,当频率越高,绕射能力越弱,但反射能力越强;它还具有强度大、方向性好等特点,为此,利用超声波的这些性质就可制成超声波传感器。
超声波传感器是利用超声波在超声场中的物理特性和各种效应研制而成的传感器。超声波传感器按其工作原理可分为压电式、磁致伸缩式、电磁式等[1],其中以压电式最为常用。压电式超声波传感器常用的材料是压电晶体和压电陶瓷,它是利用压电材料的压电效应来工作的:逆压电效应将高频电振动转换成高频机械震动,从而产生超声波,可作为发射探头;而正压电效应是将超声波振动转换成电信号,可作为接收探头。
超声波测距的原理主要是由超声波传感器的发射探头发射超声波,当超声波遇到障碍物时,会被反射,利用单片机记录超声波发射的时间和接收到回波的时间,根据当前环境下超声波的传播速度,即可通过公式S=C*[T/2](S为被测距离,C为空气中声速,T为回波时间,T=T1+T2)计算出超声波传播的距离,也就得到了障碍物离测试系统的距离。测距原理如图1所示: 3 硬件设计
龙源期刊网 http://www.qikan.com.cn
该系统是检测系统与被测液体之间的距离,希望系统检测时间小于0.5s情况下测量范围为0.10~3.00 m,测量精度为1cm,测量时检测系统不能与被测液体直接接触,并将测试数据输出显示。综合考虑设计要求,检测系统的设计方案确定为以ATMEL公司生产的89C51作为系统的核心。系统总体框图如图2: 3.1 超声波频率及探头的选用
超声波在空气中,频率越高,功率越大,精度越高,但在空气中衰减越快;相反,频率越低,功率越小,空气中衰减越慢,但误差大. 综合考虑75 kHz、40 kHz、25 kHz等几个常用超声波频率的特点 ,取40 kHz 可以较好地解决这个矛盾。为了便于超声波的发送和接收,本方案采用共振频率为40 kHz的超声波探头,其发射探头选用TCT40-10F1,对应的接收探头选用TCT40-10S1。 3.2 超声波发射模块
利用软件产生40KHz的超声波信号,通过输出引脚输入至驱动器,经驱动器驱动后推动探头产生超声波。这种方法的特点是充分利用软件,灵活性好,但需要设计一个驱动电流为100mA以上的驱动电路。 3.3 超声波接收模块
超声波接收器包括超声波接收探头。信号放大电路及波形变换电路三部分。波形变换采用集成运放芯片(LM324)作为比较器对放大后的信号进行波形变换。当输入信号的电压大于基准电压时,输出为“1”;当输入信号的电压小于基准电压时,输出为“0”;这样就取到对输入信号进行变换的目的。 3.4 温度补偿模块
本设计采用温度传感器DS18B20采集外界的温度数据进行温度补偿。
DS1820的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。 3.5 数据传输接口模块
由于现在的上位机的数据接口通常是与RS232相匹配的,且RS232接口电路已经可以满足系统的要求,所以数据传输接口模块采用MAX232芯片和DB9接头构成RS232接口电路,并通过软件的编程,实现液位测量系统与上位机之间相关数据的通信[2]。 3.6 显示模块
龙源期刊网 http://www.qikan.com.cn
在本方案中,因为要显示的数据不是很多,所以采用LED显示,并采用MAX7219作为显示用的驱动芯片。采用LED数码管显示。其优点在于它能在低电压,小电流的条件下发光,能与CMOS,TTL电路兼容;发光响应时间短(< 0.1秒),高频特性好,单色性好,亮度高,体积小,抗冲击性能强等。 4 软件设计
本液位测量系统的软件设计必须充分考虑到AT89C51的硬件和软件特点,同时充分利用其内部资源包括存储器资源、功能部件等。其程序主要包括六个功能模块:主模块、超声波发射、超声波接收、距离计算模块、温度补偿模块及显示模块。各模块功能及相互之间关系如图4。
4.1 主模块的程序设计
主模块主要分为初始化子程序及各子程序的调度管理等部分。
其工作流程是:上电后首先对系统进行初始化,紧接着调用显示子程序,显示完后判断有没有超声波被接收,若有,则停止计时并将计时值送入距离计算子程序,然后将所测距离显示1秒,最后返回进行下一轮液位测量,若没有信号进来,则继续调用显示子程序。具体如图5 所示。
4.2 距离计算
距离计算模块是超声波测液位系统核心模块。程序设计的关键在于得到超声波的发送与接收的时间差的获取。而时间差的获取则是通过定时器0的计数来实现的,即在发射超声波后启动该定时器计数,得到第一个回波信号停止计数。计时值为2个字节(单位:微秒)高字节存在TH0,低字节存在TL0中,则可按照式子(2-1)进行计算,即可得到被测液体与测液位仪器之间的距离,设取20℃时的声速,大小为344 m/s则有 S = Ct/ 2=172T0/10 000 cm 其中T0为计数器T0的计数值。 4.3 温度补偿
根据当时的环境温度,查取特征温度值(声速表中最接近温度对应的声速值)作为当前声速,然后按照式(2-1)进行距离计算[3]。其特点是可采用事先得到温度-声速二维表,将之固化到系统程序中,然后直接使用查表法得到声速值。 4.4 串口通信