随着电子技术的发展,测距技术越来越先进,从采用卷尺人工进行丈量,到用水准仪和三角理论进行测量计算,甚至采用激光测距等,这些测量手段因精度低、操作繁琐或成本高而不尽人意。随着超声波的应用日益广泛,超声测距在测试领域中得到应用,该类产品如进口的超声波液位计、超声波测位仪等性能虽好,但价格昂贵。目前,超声波传感器技术已广泛用于工业、国防、交通、生物医疗和家庭领域。超声波传感器技术与信息技术、集成工艺相结合,为开发智能化、高灵敏度的超声波仪器设备创造了有利条件。鉴于此,运用嵌入式单片机技术、结合CAN总线通信协议标准、设计一种嵌入式超声波测距仪具有很大的发展前景。它可以做到成本低、外围电路简单、功能齐全、能够满足一定的测量要求。
1 超声波传感器
1.1 典型结构
超声波传感器是利用超声波的特性而研制的传感器,超声波传感器的典型结构如图1所示。它是把成正方形的两个压电晶片(亦称双晶振子)按照相反的极性粘贴在一起,再引出两个电极。压电晶片上面有金属震动板和圆锥形振子。圆锥形振子具有很强的方向性,便于发送和接收超声波。超声波传感器采用金属或塑料外壳,其顶部有屏蔽栅。
1.2 测距原理
1、 超声波发生器
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。
2、压电式超声波发生器原理
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构如图1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
3、超声波测距原理
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:L=C×T
式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。
由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用LM92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度。
超声波测距误差分析
根据超声波测距公式L=C×T,可知测距的误差是由超声波的传播速度误差和测量距离传播的时间误差引起的。
时间误差
当要求测距误差小于
在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于
超声波传播速度误差
超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,如表1所示。
已知超声波速度与温度的关系如下:
式中: r —气体定压热容与定容热容的比值,对空气为1.40,
R —气体普适常量,
M—气体分子量,空气为28.8×10
T —绝对温度,273K+T℃。
近似公式为:C=C0+0.607×T℃
式中:C0为零度时的声波速度
T为实际温度(℃)。
对于超声波测距精度要求达到
超声波具有频率较高,沿直线传播、方向性好、绕射小、穿透力强、传播速度慢(约
超声波对固体和液体的穿透能力强,尤其对于在阳光下不透明的固体,可以穿透几十m的深度。超声波遇到杂质或分界面时会产生反射波,利用这一特性可构成超声波探伤仪或测距仪。超声波遇到移动物体时会产生多普勒效应(DopplerEffect),使接收到的频率发生变化,由此可制成多普勒测距系统。
超声波测距原理是超声波发射探头发出的超声波脉冲,经媒质(空气)传到物体表面,反射后通过媒质(空气)传到接收探头,测出超声脉冲从发射到接收所需的时间,根据媒质中的声速,求得从探头到物体表面之间的距离。设探头到物体表面的距离为L超声在空气中的传播速为v从发射到接收所需的传播时间为t则有:L=vt/2。由此可见,被测距离L与传播时间之间具有确定的函数关系,只要能测出时间t即可求出距离L通过软件实现直接在显示器上显示L的值。
2 硬件电路设计
2.1 整体方案设计
根据所给的设计要求,即具有数字显示、键盘输入、超声波发射与接收、能通过CAN总线与上位机进行通信、异常情况自动报警等功能。可以构架出此嵌入式超声波测距仪的整体方案设计框图如图2所示。从图2中可以看出整体硬件电路设计主要包括:微处理器AT
2.2 超声波测距电路
超声波测距电路主要包括两个部分:超声波发射电路和超声波接收电路,具体的电路设计如图3所示。图2中上半部分就是超声波发射电路,微处理器AT
2.3 CAN总线通信电路
考虑到现在的智能测试设备日益趋于网络化,则将CAN总线通信功能也设计进了此嵌入式超声波测距仪中,CAN总线通信电路系统主要有AT
3 程序设计
3.1 主程序设计
系统主程序主要包括系统的启动后对系统的初始化、超声波发射与接收、中断管理、计时程序、测距计算、结果显示、CAN通信、报警等其他子程序组成。根据以上超声波测距仪的工作原理描述,系统主程序的流程图设计如图5所示。在主程序初始化后就进入超声波信号发送程序,即利用程序产生超声波信号由微处理器的P16端口送出,此时系统进入计时状态,同时检测P17端口是否能接收到超声波的回波信号,但检测到回波信号就关闭外部中断进入计算距离子程序,接下来进行是否报警验证和CAN通信子程序,最后打开外部中断完成一次测距扫描过程,即主程序结束。