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

  • 格式:pdf
  • 大小:338.24 KB
  • 文档页数:4

电子设计工程ElectronicDesignEngineering第19卷

Vol.19第15期

No.152011年8月

Aug.2011

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

苑洁,常太华

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

摘要:提出了一种基于STM32

单片机的超声波测距系统的设计方案。与传统单片机相比,STM32

的主频和定时器的

频率高达72MHz

,提高了时间测量的分辨率。在开启定时器计时的同时,启动PWM

通道驱动超声波发射器和输入捕

获通道捕捉回波信号,提高了测量的精度。在充分分析超声波测距产生盲区和误差原因的基础上,设计了时间增益补

偿电路(TGC

)和双比较器整形电路分别测量远、近距离,并通过软件算法对回波信号进行峰值时间检测,简化了电

路。实验研究表明,该系统测量精度达到了1mm

,盲区低至2.5cm

关键词:STM32

单片机;超声波测距;双比较器;时间增益补偿(TGC

);峰值时间检测

中图分类号:TP216

文献标识码:文章编号:1674-6236

(2011

)15-0076-03

Designofultrasonicdistancemeasurementsystem

basedonSTM32microprocessor

YUANJie

,CHANGTai-hua

(NorthChinaElectricPowerUniversity

,Beijing102206

,China

Abstract

:AnultrasonicdistancemeasurementsystembasedonSTM32Microprocessorispresented.Comparedwiththe

traditionalmicrocontroller

,thebasicfrequencyandtheTimerfrequencyoftheSTM32microcontrollerreachupto72MHz

whichimprovetheresolutionofthemeasuringtime.ThesuperiorityisthatyoucanstartPWMchannelstodriveultrasonic

transmittersandinputcapturechannelatthesametime.Thetimegaincompensation

(TGC

)circuitandthedouble

comparatorplasticcircuitareusedtoreducetheblindareaanderror.Inaddition

,usingthepeaktimedetectingtechnique

throughthesoftwarealgorithm

,thearrivaltimeofultrasonicechocanbecorrectlydetected.Theexperimentsshowthatthe

systemmeasurementaccuracycanreachto1mmandtheblindarealowto2.5cm.

Keywords

:STM32Microprocessor

;ultrasonicdistancemeasuring

;doublecomparator

;time-gaincompensation

(TGC

);

peaktimedetecting

收稿日期:2011-05-28

稿件编号:201105115

基金项目:国家自然基金重点项目(51036002

作者简介:苑洁(1982

—),女,山东日照人,硕士研究生。研究方向:检测新技术与自动化装置等。超声波测距是一种典型的非接触测量方式。超声波在气

体、液体及固体中以不同速度传播,定向性好、能量集中、传

输过程中衰减较小、反射能力较强[1]。且超声波测距系统结构

简单、电路易实现、成本低、速度快,所以在工业自动控制、建

筑工程测量和机器人视觉识别等领域应用非常广泛。

超声波测距一般采用渡越时间法[2-4]。超声波测距的实质

是时间的测量,即:用超声脉冲激励超声探头向外发射超声

波,同时接收从被测物体反射回来的超声波(简称回波),通

过精确测量从发射超声波至接收回波所经历的射程时间t

(渡越时间),按下式计算超声波探头与被测物体之间的距离

S

,即

S=1

2ct

(1

其中,c

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

在常温下,超声波的传播速度为340m/s

,但其传播速度c

易受到空气中温度、湿度、压强等因素的影响,其中温度的

影响最大。一般温度每升高1℃

,声速增加约为0.6m/s[5]。

本文采用DS18B20

数字温度计来检测现场温度,用以实现波

速的校准,因很多文献对此都有说明,故本文不做深入介绍。

c=331.4×1+T/273

≈331.4+0.607T

(m/s

)(2

式中,T

为环境温度。

1系统组成

超声波测距系统由STM32

单片机、超声波发射电路、接

收电路、放大电路、比较整形电路、测温电路等组成。系统以

STM32

单片机为核心,协调各部分电路工作。STM32

单片机

首先发出一系列频率为40kHz

的方波,输送给超声波发射

电路并激励出超声波。超声波在空气中传播,遇障碍物返回,

进入超声波接收器,然后经过滤波、放大、整形,进入单片机。

系统框图如图1

所示。

-76-

2硬件设计

2.1

超声波发射电路

工作原理为:由STM32

的高级定时器TIM1

输出两路

40kHz

、占空比为50%

的互补的PWM

信号,经过Max232

压产生约18Vpp

来驱动超声波发射器T40-16

,并激励出超

声波,每次发射8

个周期脉冲。电路通过三极管Q1

来开、关

Max232

的电源,在开始发射前,打开Max232

的电源,待电路

稳定后开始发射,并在发射结束后关断Max232

电源,这样设

计不仅降低了发射电路对接收电路的干扰,同时也降低了功耗。发射电路如图2

所示。

2.2

双比较器整形电路

超声波发射器发出的超声束角度是0°

360

°

,主要集中

在0°

到±60°

由于安装

壳的阻挡,超声波不能直接发射到接

收器上。但是因为声波传输的特性,声波会出现未经障碍物

反射就直接回到接收探头被检测到,造成接收器认为是实际

发射收到的回波信号,导致误报。这种现象就是声波的衍射

现象,无法避免。

衍射信号的幅值随着超声波发射探头和接收探头之间

距离的增大而减小,实际设计过程中不会将测距模块设计的

太大,因此超声波收、发探头之间的距离也较小,但是当被测

距离L

比较小时,反射信号的幅值相对于衍射信号大的多,

所以设置合适的近距离比较器阈值,就可以完全屏蔽衍射

波,而只有反射波才能通过。本文对远、近距离的测量采用不

同阈值的比较器。近距离比较器测量2.5~50cm

的范围,远距

离比较器测50cm~4m

的范围。

回波信号由NE5532

放大,经比较器LMV331

整形后进入单片机。回波信号经过一级放大后,一路经过近距离比较

器LMV331

,比较整形后进入单片机。另一路进入增益可控可

调的放大电路。其中,NE5532

是一款双运放、高性能、低噪声

的运算放大器,相比较大多数标准运放,显示出更好的噪声

性能,具有相当高的小信号带宽和电源带宽。电路如下图3

所示。

2.3

时间增益(TGC

)补偿电路

超声波在空气中传播时,声强随着传播距离的增加而减

小,这就是所说的声衰减现象,造成衰减的原因是声束本身

的扩散以及声波的反射、散射等。由于回波信号的幅值随着被

测距离的增大而呈指数规律衰减,远距离目标的回波信号幅

度小,为了提高测距精度,必须对衰减的回波进行增益补偿[6]。

基于此,设计了时间增益补偿电路。时间增益补偿电路(TGC

通过电子可调电位器改变输入电阻来实现,如图4

所示。

其中,MAX5161

是一种具有32

级抽头的数字电位器,

端-

端阻值为50kΩ

,具有3

线串行接口,实现阻值的调节。

事先把通过实验获得的与一定距离对应的放大增益换算成

数字电位器的抽头位置,并把这些位置参数固化到E2PROM

中。在测量过程中,单片机通过查表方式获得对应的增益,然

后通过串行设置对应增益。利用单片机控制数字电位器,电

路实现较简单、增益控制范围大且补偿特性能根据需要进行

调整,充分利用了单片机的软件资源。

3软件算法

3.1

基本流程

系统以STM32

单片机为核心,实现对各部分的控制和响

应。测距软件的基本流程:首先使用美国DALAS

公司生产的

DS18B20

数字温度传感器测量环境温度,通过查找事先建立图1超声波测距系统框图

Fig.1Blockdiagramofultrasonicdistancemeasurementsystem

图2超声波发射电路

Fig.2Transmittedcircuitofultrasonicsensors图3放大和比较整形电路

Fig.3Amplifyingandcomparativeplasticcircuit

图4时间增益补偿电路

Fig.4Time-gaincompensationcircuit苑洁,等基于STM32单片机的高精度超声波测距系统的设计

-77-