一种基于单片机设计的高精度超声波测距系统的改进
1 回波信号包络研究
传统的利用固定电平判断回波到达时刻的超声波测距方法存在较大误差。针对这种误差提出的可变阈值的超声波测距方法,由于干扰信号的存在,超声波测距主芯片会产生误判回波时刻的到来,从而导致测量数据不准确。
超声传感器通过压电晶片的逆效应——电致伸缩,在空气介质中产生超声波。测距所用超声波一般都是以间断的高压单脉冲发射,每测距一次,需要发射、接收一次。所以在测距脉冲的发射过程中,传感器晶片经历了起震、加强和衰减三种状态,并产生多个谐振周期的超声波;接收过程中,传感器晶片在多个谐振周期的超声脉冲作用下,通过压电效应在晶片两端产生起伏电压。厦门大学的童峰等研究了单脉冲发射时超声回波的起伏特性,并根据声的发射、反射理论及应用力——声类比,推导出了理想条件下的测距回波包络曲线方程[2]。在此理论基础上,通过大量实验,每次发射1个脉冲宽度为时间?子的脉冲,来验证这种超声波回波起伏特性。图1为通过放大、带通滤波、AGC电路以后,用Tektronix数字存储示波器存储得到的回波波形。
可以验证:超声回波在脉宽时间处,电压峰值达到最大,和童峰的理论分析基本吻合,这也为本文应用在判断回波到达时刻的处理方法提供了理论和事实依据。根据上述对超声回波波形特性的分析,本文提出了一种确定回波到达时刻的思路:在接收电路中加入精密的绝对值转换电路,把回波信号的负电压翻转为正电压,然后通过检波电路,对波形进行包络,接着输入到微分电路,求出包络曲线的峰值点,再通过过零检测电路,向单片机发出外部中断信号,停止计数器计时。单片机在发射完1个脉冲后,启动内部计数器计时到外部中断触发计数器停止计时,这段时间即为超声波脉冲的渡越时间t。
2 超声波测距原理及系统组成
超声波测距是借助于超声脉冲回波渡越时间法来实现的。设超声波脉冲由传感器发出到接收所经历的时间为t,超声波在空气中的传播速度为c,则从传感器到目标物体的距离d可用下式求出:
从式(1)可知,只要知道超声波在空气中的传播速度c,则测出传播声时t就可求出传感器到目标物体的距离d。本超声波测距系统原理框图如图2所示。
该系统由ATMEL公司生产的AT89C52单片机、超声波发射电路、发射接收转换电路、接收前置放大电路、带通滤波电路、自动增益控制(AGC)电路、绝对值变换电路、检波电路、过零检测电路、环境温度采集电路、E2PROM存储电路、显示电路和超声波传感器组成。AT89C52单片机为整个系统的核心部件,协调各部分电路的工作。传感器选用TCF40-16型收发一体式超声波传感器,谐振频率为40kHz;单片机产生脉冲信号,经三极管和变压器放大后,通过发射接收转换电路驱动超声波传感器;每次发射1个脉冲,当脉冲发射后,启动计数器开始计数;回波信号经过发射驱动接收转换电路、前置放大电路、带通滤波电路、自动增益控制(AGC)电路、绝对值变换电路、检波电路、过零检测电路后输入AT89C52单片机中,触发外部中断,单片机AT89C52停止计数器计数并计算出渡越时间t;环境温度采集电路将现场温度数据送到单片机中,通过计算来补偿声速,最后利用公式(1)计算出距离,并由显示电路显示出来。
3 系统硬件电路设计
3.1 超声波发射驱动及接收转换电路
本系统的发射驱动及接收转换电路如图3所示。
工作原理为:由AT89C52单片机产生40kHz的TTL脉冲信号通过P1.0输出,再经过三极管Q1和变压器TR1进行功率放大,在变压器副线圈上将电压10倍放大,这时换能器上加载的正弦电压幅值约为100V。在变压器TR1原线圈上,串联了限流电阻R2;变压器TR1副线圈上,R3是与超声波换能器进行阻抗匹配的电阻,在副线圈导通时,由于加在换能器上的电压很大(100V),接地的两个反向并联的二极管对后面接收电路的前置放大电路输入端进行钳位,使其电压最大不超过0.7V,以免前置放大电路的输入端电压因为过高而发生阻塞。
超声波在空气中传播,遇到目标物体反射的回波信号加载到超声波换能器上,换能器由于压电效应产生微弱电压信号,输出的这种回波信号是mV级的电压信号。由于二极管的导通电压为0.7V,回波信号不能经过两个反向并联的IN4148和变压器副线圈构成回路,只能经过电阻R4、电容C3送入前置放大电路的输入端。
3.2 自动增益控制(AGC)电路
超声波回波信号随着被测距离的变化,其幅值变化也很大,必须经过增益控制,以满足整形电路的要求。实现增益随时间呈指数变化的AGC电路有多种,本文设计了通过软、硬件结合的AGC电路,它由可编程放大器AD620AN、数字电位器MAX5400结合单片机联合实现。
AD620AN是一种电阻可编程放大器,内部由三运放组成,具有很高的精度和共模抑制比。增益范围为1~1000,由管脚1、8之间的电阻调节。增益公式为:
- 基于嵌入式Linux的倒车影音系统设计(09-08)
- 基于LPC2138和μC/OS II的超声波测距系统设计(01-14)
- 51单片机加HC—SR04超声波测距仪用LCD1602显示(12-02)
- 51单片机驱动超声波测距模块C51程序(11-30)
- 简单的单片机超声波测距板(11-30)
- 超声波测距电路+汇编程序(11-30)