基于单片机的高精度超声波测距系统设计

元器件信息   2022-11-28 14:53   176   0  

目录

1.波测距原理

2.系统设计

2.1硬件设计

2.1.1超声波发射驱动及接收转换电路

2.1.2接收电路

2.1.3自动增益控制(AGC)电路

2.1.4温度补偿

2.2系统软件设计

3.实验结果与分析
结束语

  超声波测距是一种利用超声波的可定向发射﹑指向性好等特性﹑结合电子计数等微电子技术来实现的非接触式检测方式,在使用中不受光线、电磁波﹑粉尘等因素影响,加之信息处理简单﹑成本低,速度快,因此在避障﹑车辆的定位与导航﹑液位测量等领域得到广泛的应用。但是在使用中会出现由于回波信号过于微弱而导致系统测量误差加大的问题,因此本文介绍了一种收发一体式的超声波测距系统。

  1.波测距原理

  谐振频率高于20kHz的声波为超声波。超声波为直线传播方式,频率越高,反射能力越强,而绕射能力越弱。利用超声波的这种特性,常常用渡越时间检测法进行距离的测量。其工作原理是:换能器向介质发射超声波,声波遇到目标后必然有反射回波作用在换能器上。若已知介质中声速为c,回波到达时刻与发射波时刻的时间差为t,就可以计算出发射点与反射点的距离s:

式1

  式中c为超声波的传播速度m/s。

  超声波在固体中传播速度最快,在气体中传播速度最慢,而且声速c与温度有关。如果环境温度变化显著,必须考虑温度补偿问题。空气中声速与温度的关系可以表示为:

式2

  式中T为环境温度℃。

  由于超声波在传播过程中,声压会随距离的增大而呈指数规律衰减,远目标的回波信号幅度小信噪比低,用固定阈值的比较器检测回波,可能导致越过门槛的时刻前后移动,从而影响计时的准确性,这必然会影响到测距的准确度。在回波接收电路中串入随时间变化的自动增益控制(AGC)电路,电压放大倍数随测距距离的增大呈指数规律增加 ,使接收回波的幅值保持恒定或者仅在较小范围内变化,再经过整形电路输出,这样可以大幅度地提高测距的精度。

  2.系统设计

  根据超声波在空气中的传播特性,设计了带有自动增益控制的超声波测距系统,系统框图如图1。

系统原理框图

  图1 系统原理框图

  系统由ATMH公司生产的AT89C52单片机﹑超声波发射电路、发射接收切换电路接收前置放大滤波电路、自动增益控制(AGC)电路、整形电路、环境温度采集电路、E2PROM存储电路、显示电路和超声波传感器组成。AT89C52单片机为整个系统的核心部件,协调各部分电路的工作。传感器选用TCF40-16型收发一体式超声波传感器,谐振频率为40 kH;单片机产生的40 kH的脉冲信号,经三极管和变压器放大后,通过发射接收切换电路驱动超声波传感器;每次发射7个脉冲,当第一个脉冲发射后 ,启动计数器开始计数;回波信号经过发射驱动接收转换电路﹑前置放大电路﹑带通滤波电路﹑自动增益控制(AGC)电路整形电路后经过比较器输入AT89C52单片机中 ,单片机AT89C52停止计数器计数;环境温度采集电路将现场温度数据送到单片机中 ,最后利用式(⑴)、式(2)计算出距离,并由显示电路显示出来。

  2.1硬件设计

  2.1.1超声波发射驱动及接收转换电路

  发射驱动及接收转换电路如图2。

超声波发射驱动及接收转换电路原理图

  图2 超声波发射驱动及接收转换电路原理图

  工作原理为:由AT89C52单片机产生40kHz的TIL脉冲信号通过P1.0输出,再经过三极管Q1和变压器TR1进行功率放大,在变压器副线圈上将电压10倍放大后,换能器上加载的正弦电压幅值约为100 V。在变压器TR1原线圈上,串联了限流电阻R2;变压器TR1副线圈上,R3是与超声波换能器进行阻抗匹配的电阻,在副线圈导通时,由于加在换能器上的电压很大(100V) ,接地的两个反向并联的二极管对后面的接收电路的前置放大电路输入端进行钳位,使其电压最大不超过0.7V,以免前置放大电路的输入端电压因为过高而发生阻塞。

  超声波在空气中传播,遇到目标物体反射的回波信号,加载到超声波换能器上,换能器由于压电效应产生微弱电压信号 ,输出的这种回波信号是mV级的电压信号。由于二极管的导通电压为0.7 V,回波信号不能经过两个反向并联的IN4148和变压器副线圈构成回路,只能经过电阻R4、电容C3送入前置放大电路的输入端。

  2.1.2接收电路

  在接收电路中,设计了前置放大、带通滤波(中心频率fo=40 kHz)、自动增益控制(AGC)电路和整形电路。前置放大、自动增益控制(AGC)电路把微弱回波信号放大了200倍以上,足够满足后面整形电路的需要;带通滤波电路为滤波效果比较理想的高Q值、窄宽带的二阶带通滤波器,实验表明输出波形稳定,滤波效果理想,实验数据能达到测量精度的要求。

  2.1.3自动增益控制(AGC)电路

  超声波回波信号随着被测距离大小的变化,其幅值变化也很大,必须经过增益控制,以满足整形电路的要求。实现增益随时间呈指数变化的AGC电路有多种,设计了通过软﹑硬件结合的AC电路,它是由可编程放大器AD620AN、数字电位器MAX5400结合单片机联合实现。如图3所示。

自动增益控制(AGC)电路原理图

  图3自动增益控制(AGC)电路原理图

  AD620AN是一种电阻可编程放大器,内部由三运放组成,具有很高的精度和共模抑制比。增益范围为1~1 000,由管脚1.8之间的电阻调节。增益公式为:

式3

  式中RG的单位为kΩ。

  MAX5400是一种具有256抽头的数字电位器,端-端阻值为50 kΩ,温度系数小于5×10-6℃,并带有SPI接口。管脚3、4、5与单片机相连,实现增益的调节。事先把通过实验获得的与一定距离对应的较为理想的放大倍数换算成数字电位器的抽头位置,并把这些位置参数固化到E2PROM中。单片机以计时器中断的方式来设置增益,到了一个时刻就由内部定时器产生一次中断,中断服务子程序通过查表方式获得对应的增益,然后通过SPI接口设置对应增益。

  2.1.4温度补偿

  根据式(2)可知,温度对声速的影响较大,若不进行补偿,将会带来测量误差,为了提高系统的测量精度,设计了温度补偿电路。系统采用数字温度计DS1820来采集温度,DS1820是单线串行数字温度计,可直接与单片机连接并且接线形式简单,测量范围为-55~125℃,- 10~85℃时测量精度为0.5℃。传感器输出的是用9位二进制编码表示的温度值 ,根据实际温度的值,利用式(2)可计算补偿声速。

  2.2系统软件设计

  系统软件包括主程序温度采集子程序、发射子程序、计算子程序数码显示子程序、外部中断子程序和定时器中断子程序。主程序完成初始化和各个子程序的调用,最后把测量结果用数码管电路显示出来(如图4)。

主程序流程图

  图4 主程序流程图

  3.实验结果与分析

  为了验证系统的测量精度,在实验室进行了实地测量。正对光滑硬质表面进行测量,测量数据如表1所示,表1中实际距离是用钢质卷尺测量得到的。

实验数据及其测量误差

  从表1中数据可以看出,由于采用收发一体式的测距电路,换能器振子必须在余震消除后才能进行接收,因此系统有很大的盲区;在量程范围内,由于采用了自动增益控制技术,测量误差没有随着测量距离的增加而增大;除了个别测量数据具有负偏差外,大部分数据都要比实际距离要大,这是由于电路的延迟及整形电压的起伏,导致测量时间有所增大,进而体现在测量数据的偏大。

  结束语

  以上就是基于单片机的高精度超声波测距系统设计介绍了。本系统结构简单﹑精度较高。采用前置放大器、AGC电路﹑滤波器等检测电路对接收信号进行处理,取得了良好的效果。实验表明,在近距离测量范围内,这种方法可以达到mm级。这种收发一体式的测距系统是一种理想的非接触检测方式,它可以满足料位检测﹑液位探测及微地形构造等方面的需要。在测量精度方面,还可以采用一些改进措施,在系统稳定性方面也要进行改进,尽量减小系统的测量偏差。

登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。