新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于单片机的超声波传感器的研究与设计

一种基于单片机的超声波传感器的研究与设计

作者:时间:2010-09-29来源:网络收藏

现代工业正向着智能化、自动化的方向发展,测距技术作为工业生产的重要组成部分对稳定度和精度的要求也日益严格。传统测量手段由于受环境、工具和人为因素影响,已经不能满足现代工业测量的要求。测距作为一种非接触式的测距方式,以其抗干扰能力强[1-2]、测量范围广、易于控制、测量精度高等优点,已经在工业测量领域得到广泛应用。本系统设计应用于石油泥浆液位测量,设计测量范围为50 cm~600 cm,设计测量精度为厘米级,特点在于系统采用对测量数据进行修正,确保准确性。

1 工作原理及系统设计

1.1 测距原理

传感器主要由双压电晶片振子、圆锥共振板和电极等部分构成。两电极间加上一定的电压时压电晶片就会被压缩产生机械形变,撤去电压后压电晶片恢复原状。若在两极间按照一定的频率加上电压,则压电晶片也会保持一定的频率振动。经试验测得此型号压电晶片的固有频率为38.4 kHz,则在两极外加频率为40 kHz的方波脉冲信号,此时压电晶片产生共振,向外出超声波。同理,没有外加脉冲信号的超声波传感器在共振板到超声波时也会产生共振,在两极间产生电信号[3]。

1.2 系统原理设计

本系统硬件主要由超声波、超声波及放大、单片机控制与液晶显示、温度采集和补偿等部分组成,如图1所示。当按下复位键启动系统工作时,单片机向传感器头送出若干40 kHz的方波脉冲,同时启动定时器对超声波传播时间进行计时。当头收到反射回的超声波(在有效测距范围内)并经放大滤波传入单片机时,定时器停止计时。查表得到测距温度下的声速,按式(1)计算出测量距离,送液晶显示。

一种基于单片机的超声波传感器的研究与设计


s=Ct/2 (1)

式中s为测量距离,C为超声波传播速度,t为传播时间。

2 系统电路设计

2.1 超声波发射电路

由于系统工作环境比较恶劣,为保证测距的范围和精度,需要保证传感器发射头的外加压差足够大。因此采用转换范围较大、工作稳定的16位CMOS转换器CD4049组成超声波发射电路的主体(CD4049最大转换电压与探头最大驱动电压同为20 V)。超声波发射电路如图2所示[4]。

一种基于单片机的超声波传感器的研究与设计

考虑到发射头一般需要5个方波周期达到稳定震荡状态的95%,经1.5倍上升时间达稳定震荡状态的99%[5]。为保证最大程度的触发,单片机每组产生12个带宽为12 μs的方波经调理电路传到发射头。

2.2 超声波接收放大电路

超声波在空气中传播的衰减程度随传播距离的增加而增大,所以反射回来被接收头收到的信号非常微弱,不能直接送入后级电路处理,首先要经过信号放大。超声波接收放大电路如图3所示[6]。

一种基于单片机的超声波传感器的研究与设计

被接收头收到的回波信号为正弦波信号,信号强度一般只有几十毫伏。接收部分前置放大电路是由集成运放NE5532组成的自举式同向交流放大电路。前两级放大电路构成10 000倍的放大器,对正弦波信号进行足够放大。后级采用集成LM311-8比较器对前级放大信号进行调理,通过IN-引脚引入一个标准电平,输入包络信号的电位高于标准电平则为1,低于标准电平则为0,将包络信号转变为单片机可识别的中断脉冲信号。当与单片机的中断输入端相连的LM311的第7管脚输出一个低电平时,计数器立即停止计时并保存数据。

2.3 单片机控制和显示电路

本系统的主控模块是AT89S52单片机。该控制器具有8 KB的RAM内存空间,在线编程与调试比较方便。单片机控制单元主要包括复位电路、液晶显示电路、发射控制端、回波接收端几部分。由于测量距离需要直观显示,且系统安装于户外功耗要尽可能低、体积尽可能小,因此采用易于与CMOS电路相匹配的128×64点阵式液晶显示模块。接口电路如图4。

一种基于单片机的超声波传感器的研究与设计

3 软件设计及流程

3.1 软件整体流程

系统软件主要由主程序、初始化程序、发射子程序、中断子程序、显示子程序组成。软件整体流程如图5。

一种基于单片机的超声波传感器的研究与设计

系统上电后首先初始化,设置定时器、计数器工作方式,打开总中断,显示端口清零等。为避免从发射头发出的超声波直接被接收头作为回波接收,在调用定时器中断子程序(发射方波)后设置0.2 ms的延时,然后打开外部中断0接收回波[7]。系统采用晶振频率为12 MHz,机器周期为1 μs,主程序检测到回波接收成功后将计数器T0中的值T0按下式计算即可得测量距离(设20 ℃时声速为340 m/s)[8]:

s=(CT0)/2=170T0/100 000 (2)

最后将所得数值以二进制数形式通过P0口直接传入液晶显示。

3.2 发射和中断子程序

超声波发射子程序的作用是通过P1.2口在定时器的设定时刻取反交替产生宽度为12 μs的高低电平输出方波脉冲。定时器中断程序[9]流程如图6。外部中断程序流程如图7。

一种基于单片机的超声波传感器的研究与设计

4 误差分析及系统精度提高

在系统测试过程中发现对系统性能和测量精度影响较大的主要有测量盲区、回波时间的确定、控制器定时器偏差、温度对速度的影响等几方面。

4.1 测量盲区

造成测量盲区存在主要有两方面因素:超声波发射头在发射出一串方波信号后经过一段延时才打开外部中断入口,防止方波信号直接进入接收头作为回波引起中断,产生误测量,延时对应的距离即为盲区;另一方面,在测量较近距离时,回波信号会与发射余波重叠造成寻峰失败,同样产生测量盲区。

对于第一种测量盲区,经试验证明,在可承受范围内减小脉冲宽度、减少脉冲发射个数,从而间接减小了延时时间,扩大测量范围。但同时会由于脉冲个数的减少对测量上限造成影响。对第二种测量盲区,主要做法是在回波接收电路中加入余振吸收电路,改变接收放大倍数,适当延时,并利用部分未饱和余波等方式共同减小盲区[10]。

4.2 回波时间的确定

发射的方波信号由于强度所限,在经过传播和反射后,回波信号强度有所衰减,出现包络现象,但其频率与发射波相同,没有变化。单片机确定接收到回波的时刻实际是一个高低电平的变化时刻,与回波频率无关。而包络信号不是优质的电平信号,直接输入单片机会造成较大误差。解决方案是接收电路中加入一个电平比较器,其输出频率也为40 kHz,输出标准方波电平信号作为比对,在接收电路的放大器输入(接收到)高于0.4 V的电平信号时,通过比较器的输出电压变为标准的+5 V电平输入单片机,此时刻即为回波接收时刻[11]。

4.3

在常温常压下声速可以认为是定值,但液位监测的工作环境温度变化较大。声速与温度的关系为[12-13]:

v=311.5+0.607t (3)

温度变化范围为-20℃~+40℃,则声速会产生36 m/s的巨大变化,必须设置温度对声速的补偿。

离线条件下计算出不同温度下的声速值并放存储器存储,18B20测得现场温度传入单片机后,查找对应温度的声速并以此作为校正值进行距离的计算。空气中声速表达式可写为:
一种基于单片机的超声波传感器的研究与设计

一种基于单片机的超声波传感器的研究与设计

由此可见经过后的精度达到厘米级,可以较好地达到测量要求。测量温度为11.2℃时的实验数据如表1。由表1可以看出测量上限为600 cm,下限为50 cm,有效测距范围内测量误差小于±2 cm。

一种基于单片机的超声波传感器的研究与设计


通过大量实现数据表明,本系统测量误差小于±2 cm,满足设计要求,并且符合工业标准。基于超声波受粉尘、震动及电磁波等恶劣工业因素影响极小的特点,本系统还可广泛用于工业测距、汽车行驶、金属探伤等领域,具有较好的应用前景。



评论


相关推荐

技术专区

关闭