APP下载

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

2011-03-26苑洁常太华

电子设计工程 2011年15期
关键词:测距增益超声波

苑洁,常太华

(华北电力大学控制与计算机工程学院,北京102206)

超声波测距是一种典型的非接触测量方式。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强[1]。且超声波测距系统结构简单、电路易实现、成本低、速度快,所以在工业自动控制、建筑工程测量和机器人视觉识别等领域应用非常广泛。

超声波测距一般采用渡越时间法[2-4]。超声波测距的实质是时间的测量,即:用超声脉冲激励超声探头向外发射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过精确测量从发射超声波至接收回波所经历的射程时间t(渡越时间),按下式计算超声波探头与被测物体之间的距离S,即

其中,c为空气介质中声波的传播速度。

在常温下,超声波的传播速度为340 m/s,但其传播速度c易受到空气中温度、湿度、压强等因素的影响,其中温度的影响最大。一般温度每升高1℃,声速增加约为0.6 m/s[5]。本文采用DS18B20数字温度计来检测现场温度,用以实现波速的校准,因很多文献对此都有说明,故本文不做深入介绍。

式中,T为环境温度。

1 系统组成

超声波测距系统由STM32单片机、超声波发射电路、接收电路、放大电路、比较整形电路、测温电路等组成。系统以STM32单片机为核心,协调各部分电路工作。STM32单片机首先发出一系列频率为40 kHz的方波,输送给超声波发射电路并激励出超声波。超声波在空气中传播,遇障碍物返回,进入超声波接收器,然后经过滤波、放大、整形,进入单片机。系统框图如图1所示。

图1 超声波测距系统框图Fig.1 Block diagram of ultrasonic distance measurement system

2 硬件设计

2.1 超声波发射电路

工作原理为:由STM32的高级定时器TIM1输出两路40 kHz、占空比为50%的互补的PWM信号,经过Max232升压产生约18 Vpp来驱动超声波发射器T40-16,并激励出超声波,每次发射8个周期脉冲。电路通过三极管Q1来开、关Max232的电源,在开始发射前,打开Max232的电源,待电路稳定后开始发射,并在发射结束后关断Max232电源,这样设计不仅降低了发射电路对接收电路的干扰,同时也降低了功耗。发射电路如图2所示。

图2 超声波发射电路Fig.2 Transmitted circuit of ultrasonic sensors

2.2 双比较器整形电路

超声波发射器发出的超声束角度是0°到360°,主要集中在0°到±60°,由于安装壳的阻挡,超声波不能直接发射到接收器上。但是因为声波传输的特性,声波会出现未经障碍物反射就直接回到接收探头被检测到,造成接收器认为是实际发射收到的回波信号,导致误报。这种现象就是声波的衍射现象,无法避免。

衍射信号的幅值随着超声波发射探头和接收探头之间距离的增大而减小,实际设计过程中不会将测距模块设计的太大,因此超声波收、发探头之间的距离也较小,但是当被测距离L比较小时,反射信号的幅值相对于衍射信号大的多,所以设置合适的近距离比较器阈值,就可以完全屏蔽衍射波,而只有反射波才能通过。本文对远、近距离的测量采用不同阈值的比较器。近距离比较器测量2.5~50 cm的范围,远距离比较器测50 cm~4 m的范围。

回波信号由NE5532放大,经比较器LMV331整形后进入单片机。回波信号经过一级放大后,一路经过近距离比较器LMV331,比较整形后进入单片机。另一路进入增益可控可调的放大电路。其中,NE5532是一款双运放、高性能、低噪声的运算放大器,相比较大多数标准运放,显示出更好的噪声性能,具有相当高的小信号带宽和电源带宽。电路如下图3所示。

图3 放大和比较整形电路Fig.3 Amplifying and comparative plastic circuit

2.3 时间增益(TGC)补偿电路

超声波在空气中传播时,声强随着传播距离的增加而减小,这就是所说的声衰减现象,造成衰减的原因是声束本身的扩散以及声波的反射、散射等。由于回波信号的幅值随着被测距离的增大而呈指数规律衰减,远距离目标的回波信号幅度小,为了提高测距精度,必须对衰减的回波进行增益补偿[6]。基于此,设计了时间增益补偿电路。时间增益补偿电路(TGC)通过电子可调电位器改变输入电阻来实现,如图4所示。

图4 时间增益补偿电路Fig.4 Time-gain compensation circuit

其中,MAX5161是一种具有32级抽头的数字电位器,端-端阻值为50 kΩ,具有3线串行接口,实现阻值的调节。事先把通过实验获得的与一定距离对应的放大增益换算成数字电位器的抽头位置,并把这些位置参数固化到E2PROM中。在测量过程中,单片机通过查表方式获得对应的增益,然后通过串行设置对应增益。利用单片机控制数字电位器,电路实现较简单、增益控制范围大且补偿特性能根据需要进行调整,充分利用了单片机的软件资源。

3 软件算法

3.1 基本流程

系统以STM32单片机为核心,实现对各部分的控制和响应。测距软件的基本流程:首先使用美国DALAS公司生产的DS18B20数字温度传感器测量环境温度,通过查找事先建立好的声速-温度对照表得到当前声速;开启计数器计时,同时通过STM32的PWM模块产生8个周期40 KHz的脉冲方波和输入捕捉模块捕获超声波回波。待回波进入接收电路,经放大/整形等硬件处理后,进入单片机。单片机捕捉到回波的触发信号,并记录产生下降沿的时刻;经过软件滤波,和峰值时间检测算法,得到峰值时刻作为回波到达的时刻,最后计算距离。软件流程如图5所示。

图5 系统主程序流程图Fig.5 Flow chart of the main program

STM32的高级定时器由一个16位的自动装载计数器组成,时钟源频率高达72 MHz,大大提高了时间测量的分辨率。高级定时器有4个独立的通道,本文利用其互补的PWM来驱动超声波发射器,输入捕获通道来捕捉回波信号,在开启定时器的同一时刻也启动了PWM,这不仅消除了启动发射和启动计时之间的误差,并且捕获通道精准的记录了超声波回波到达的时刻(比较器的下降沿)。待单片机进入中断后读取该值,而非等到进入中断后才开始读取当前计时器的值。

3.2 峰值时间检测

回波信号处理常规的方法是采用具有固定阈值电平的比较器电路,将回波信号与某一固定阈值电平在比较器电路中进行比较,比较器输出的翻转时间就是回波到达的时间,在使用了时间增益补偿电路后,超声波回波信号的幅值得到了相对的稳定,但由于回波信号幅度仍存在一定程度的波动及回波信号被展宽,造成了时间检测产生一定的误差,因而在设计中把回波幅度的峰值时间点作为回波到达的时间。传统的峰值检测方法大多通过硬件电路,包括包络检测电路、微分电路和过零检测电路,设计较复杂,难实现。本文通过软件方法来实现峰值检测。

超声波回波经过比较器LMV331后,将产生频率为40 kHz的方波,由于比较器阈值固定,回波信号的占空比将由小变大,达到一个最大值后再变小,而占空比最大处正对应着峰值点所在的回波波形,th/2处对应着峰值时刻点,如图6所示。STM32的PWM输入模式启用两个输入捕获单元对应同一个输入信号,分别捕获信号的上升沿和下降沿,可以方便计算出回波信号的频率和占空比。

4 实验结果

为了验证系统的测量精度及盲区,在实验室进行了测距实验,表1中的测量距离一栏取的是3次测量的平均值。测量结果如表1所示。

表1 超声波测距数据及误差Tab.1 Data and error of the system

由表1中数据可知:一方面,由于采用了峰值时间检测技术,使得系统的盲区很小;另一方面,在所测量程内,由于采用了时间增益补偿技术,使得测量误差并没有随着距离的增大而增大。

5 结束语

系统采用高速单片机STM32做微处理器,利用其内部高级定时器资源消除了测距系统启动发射和启动计时之间的偏差以及收到中断到中断响应停止计时之间的滞后,提高了测距精度;采用时间增益补偿(TGC)技术,用单片机根据补偿要求对放大器的放大增益进行控制,使得不同距离的回波幅度保持基本不变;采用峰值时间检测技术,正确检测每次回波信号的峰值时间点,进一步提高回波到达时间检测的精度;采用双比较器整形电路,在近距离测量时,有效的屏蔽了衍射信号,减小了测量盲区。本系统可以在需要测量盲区较小、测量精度较高的环境中使用,具有较大的推广价值。

[1]韦穗林.数字式超声波测距仪的研制[J].电子设计工程,2009,17(10):39-41.

WEI Sui-lin.Development of the digital ultrasonic rangefinder[J].Electronic Design Engineering,2009,17(10):39-41.

[2]赵连玉,赵小强.超声波测距系统中的温度补偿[J].组合机床与自动化加工技术,2008(12):62-64.

ZHAO Lian-yu,ZHAO Xiao-qiang.Compensation of temperature in ultrasonic ranging system[J].Modular Machine Tool&Automatic Manufacturing Technique,2008(12):62-64.

[3]刘光华,卜英勇,王纪婵.基于单片机的高精度超声波测距系统[J].仪表技术与传感器,2007(2):66-68.

LIU Guang-hua,BU Ying-yong,WANG Ji-chan.Ultrasonic distance measure system with high precision based on single-chip microcomputer[J].Instrument Technique and Sensor,2007(2):66-68.

[4]张凯,王安敏.基于AT89C52单片机的超声波测距系统[J].仪表技术与传感器,2006(6):45-49.

ZHANG Kai,WANG An-min.Ultrasonic distance testing system based on AT89C52 Single-chip microcomputer[J].Instrument Technique and Sensor,2006(6):45-49.

[5]王文生,齐广学,温淑慧.一种高精度超声测距方法的研究[J].传感技术学报,2002(3):219-221.

WANG Wen-sheng,QI Guang-xue,WEN Shu-hui.Study of a new ultrasonic distance measurement method with high precision[J].Chinese Journal of Sensors and Actuators,2002(3):219-221.

[6]黄心汉,曾祥进,王敏.自动增益电路在超声波测距系统中的应用研究[J].测控技术,2005,24(7):69-71.

HUANG Xin-han,ZENG Xiang-jin,WANG Min.Application&research of auto-gain circuit in ultrasonic place measurement system[J].Measurement&Control Technology,2005,24(7):69-71.

猜你喜欢

测距增益超声波
基于增益调度与光滑切换的倾转旋翼机最优控制
类星体的精准测距
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
基于Niosll高精度超声波流量计的研究
浅谈超声波测距
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用
基于PSOC超声测距系统设计