首页 > 文章中心 > 超声波测距

超声波测距

超声波测距

超声波测距范文第1篇

关键词: 嵌入式处理器; 测速测距; 超声波; 温度补偿

中图分类号: TN919?34; TP933 文献标识码: A 文章编号: 1004?373X(2014)24?0087?03

Design of ultrasonic velocity and range measurement system based on STM32

CAI Guang?zhao, HONG Yuan?quan, ZHOU Yong?ming

(Department of Electronic Engineering, Shaoguan University, Shaoguan 512005, China)

Abstract: The system takes the STM32 processor as its control core, and mainly includes ultrasonic transmitting circuit, ultrasonic receiving circuit, temperature compensation module and liquid crystal display circuit. The distance and speed are calculated by measuring the time difference between ultrasonic emission and return. DS18B20 is used to detect the ambient temperature, and correct the ultrasonic propagation velocity error. The testing results show the system can measure the distance within 5 m and speed in 100 cm/s.

Keyword: embedded processor; velocity and range measurement; ultrasonic wave; temperature compensation

随着科学技术的快速发展,测速测距仪在教学、科研和生活中的应用越来越广泛。目前,市面上大多测速测距仪器是基于激光或雷达的,虽然精度高,但价格较昂贵,操作复杂,难以普及应用。而且,在很多场合,测速和测距的精度要求也不高。因此,操作简单、价格低廉、携带方便的自动测速测距仪器有广泛的应用空间。本文介绍了一种基于STM32处理器的超声波测速测距系统的设计,具有操作简单、携带方便、测量快速、性价比高等优点。

1 超声波测速测距原理

谐振频率高于20 kHz的声波称为超声波。超声波为直线传播方式, 频率越高, 反射能力越强, 而绕射能力越弱。利用超声波的这种特性, 常常用做距离或者速度的测量。

超声波发生器发出40 kHz的超声波,以声速[c]在空气中传播。超声波到达被测物体时,反射返回到超声接收器。假设超声波的往返时间为[t]。则被测物体的距离[S]如式(1)所示:

[S=ct/2] (1)

超声波是声波的一种,其速度不是一个固定值,跟温度大小成正比关系。在干燥空气中,声速的经验计算公式如式(2)所示:

[c=331.3+0.606T] (2)

式中:[T]为摄氏气温。常温15 ℃下,声速为340.4 m/s。

测量被测物移动速度时,在等间隔时间ΔT内,先后测量出待测物的距离S1,S2,利用式(3)可算得移动速度[V]:

[V=(S2-S1)ΔT] (3)

可见,超声波测速测距系统中,关键是超声波信号的发射接收以及超声波发射到遇障碍物返回的时间的准确测量[1?3]。

2 系统电路设计

超声波测速测距系统电路主要包含STM32系统接口电路、超声波发射电路、超声波接收电路、温度检测电路等组成[4]。

系统结构图如图1所示。

2.1 STM32处理器及系统接口电路

STM32F103处理器是32位的ARM微控制器,采用Cortex?M3 内核,工作频率为72 MHz。内部集成多达128 KB的闪存,64 KB的SRAM。外设接口丰富,包括2 个12 b 的D/A转换器、3个12位的A/D转换器、3个通用16 b定时器和一个PWM 定时器。该内核是专门设计于满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求[5]。STM32处理器的主要接口电路如图2所示。

2.2 超声波发射电路

超声波发射电路如图3所示。主要由反相器74LS04和超声波发射换能器T构成,微处理器I/O口PA8输出的40 kHz的方波信号TRIG,一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极。这种推挽连接形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R3,R4一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间[6?7]。

2.3 超声波接收电路

超声波接收电路如图4所示,主要超声波专用接收芯片CX20106及其器件组成。超声波接收探头接收到的超声波信号,送往CX2016的1脚,在芯片内部进行放大、滤波、积分比较和整形后,7脚输出脉冲信号ECHO送往微处理器的PA8引脚进行处理。ECHO信号为高电平时,表示没有接收到超声波信号。一旦接收到超声波,ECHO产生下降沿。如果持续接收到超声波信号,则ECHO信号为周期性脉冲波[8?10]。

3 系统软件设计

系统软件设计的主要任务是控制定时器驱动超声波发送器,并计算超声波发射到返回的时间差,实现测速测距功能。

测速测距的波形图如图5所示,发送波TRIG由定时器TIM2产生,每隔T1时间,产生长度为T1的40 kHz方波,驱动超声波发送器。T1的大小与系统的最大测量距离有关。如果测量距离为5 m,声速按照常温计算,T1至少为29.4 ms,系统设置T1为50 ms。为了计算超声波发送到接收的时间差,从TRIG产生脉冲波开始,启动定时器TIM3,对系统内部72 MHz高速时钟进行计数。一旦回波ECHO产生下降沿跳变,则停止计数。根据计数值,算出T的大小,即为超声波发送到接收的时间差。

软件设计上,采用前后台系统完成程序设计。前台程序负责产生发送波TRIG和时间差T的计算。后台程序负责系统的初始化控制,回波检测,时间差、速度和距离的计算显示。后台控制的程序流程图如图6所示。

4 结 语

基于STM32处理器为控制核心的超声波测速测距系统,反应速度较快,既可以测量速度,也可以测量距离,能满足一般的日常需求。并且加入了温度补偿模块和报警模块,大大地增加的测量的准确性和产品的人性化设计。系统能够精准地测量出5 m内的距离,100 cm/s内的速度,可以广泛地应用于工地测量,管道长度测量,井深等不需要很高精度测量的场合。

参考文献

[1] 胡晓,巴力登.基于AT89C52的超声波测距系统设计[J].工业控制计算机,2014(2):125?126.

[2] 兰羽.基于AT89C51的超声波测速系统设计[J].电子工程,2013(4):137?139.

[3] 兰羽.具有温度补偿功能的超声波测距系统设计[J].电子测量技术,2013(2):85?87.

[4] 楼然苗,李光飞.单片机课程设计指导[M].2版.北京:北京航空航天大学出版社,2012.

[5] 陈志旺.STM32嵌入式微控制器快速上手[M].北京:电子工业出版社,2012.

[6] 刘升平,王剑,葛红.超声波测距系统的开发与研究[J].计算机工程与应用,2009(2):78?81.

[7] 刘凤然.基于单片机的超声波测距系统[J].传感器世界,2000(5):19?21.

[8] 方正超,姚善学.基于CX20106A的超声波测距设计[J].电子设计工程,2012(8):151?153.

超声波测距范文第2篇

超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,测量精度高,被广泛地用于距离测量的领域。目前,市场上超声波测距仪成本高销售价格比较昂贵。本文拟设计一种低成本超声波测距仪,以期为该类型超声波测距仪的生产提供参考。

1.超声波测距工作原理

压电式超声波换能器是目前较为常用超声波传感器,主要有两个压电晶片和一个共振板组成。它是利用压电晶体的谐振来工作的本文由收集当压电式超声波换能器的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波。同理,两电极间未外加电压,当共振板接收到超声波时,将带动压电晶片作振动,将机械能转换为电信号,这时压电式超声波换能器就成为超声波接收器了。

在超声探测电路中,发射端发射一个方波,一般取40khz。这个超声波在发射之后遇到障碍物反射回来再由探测电路接收,这个时间间隔即为超声波的传输时间。实际上这个时间为波形传输2倍距离的延时。一般的在常温常压下这个时间为一个常数,一般在精度不高的情况下取331.45米/秒。被测物距离越大,时间脉冲宽度越大,与被测距离成正比。测量输出脉冲的宽度,即发射超声波与接收超声波的时间间隔t,故被测距离为s=i/2vt。如果测距精度要求很高,则应通过温度补偿的方法加以校正。利用超声波测量距离,设计方便,设计处理与计算也简单,并且测量精度能达到毫米级。

本超声波测距仪是利用at89c52单片机,发出40khz信号,再利用外中断0监测超声波接收电路输出的返回信号。显示电路采用简单的lcd液晶显示模块。超声波驱动电路采用与非门进行波形整形和放大。超声波接收放大采用cx20106芯片,外部电路也比较简单。超声波测距仪框图见图1。

2.超声波测距仪的硬件设计

超声波测距仪的硬件设计包含电路系统设计、超声波发射电路、超声波检测接受电路、led显示电路等部分。其中,电路系统设计一般有5部分,即单片机系统、超声波发射器、显示器、超声波检测接受器、电源电路。笔者设计的超声波测距仪单片机at89c52,经济实用,便于编程。同时,为减少测量误差、获得稳定的时钟频率,则使用12mhz的晶振,其精度比较高。超声波测距仪的硬件设计电路原理,见图2,

3.超声波测距的算法设计

假定超声波传输的时间脉冲宽度为0.002s,实际上由发射到障碍物的时间为0.001s,则发射器到障碍物的距离为331.45m/s×0.001s=33.145cm。其中,331.45m/s为超声波在空气中传播速度。可见如果发射器到障碍物的距离小于10cm,则要求单片机的中断反应时间是非常短的,常常为微秒级。故可采用定时器方式2非常适合。但是在测量距离较远的情况下超声波传输时间会达到毫秒级。这时就会发生多次定时器溢出的情况,在这种情况下,一般可以采用对多次定时器溢出进行计数统计的方法进行时间计算。为了能够使测距仪能够在近距离和远距离都能够具有一定的测量精度,这就要求程序能够判断不同的情况进行不同的时间统计计算。另外由于单片机在运算时考虑到运算速度应采用无符号的整形数据变量,在数值上应对计算公式进行处理比如当波速取331m/s时应变为0.0331cm/us。这样在进

行计算时可以先将数值扩大100或1000倍在乘

以传播的脉冲宽度时间。例如传播时间为100us,则经过处理的数值为33×100=3300。这样在输出数值时只需将数值显示为3.3cm就可以了。怎样完成由数值到显示字符的变换呢?首先要根据需要将数值的每一位存入不同的变量,在利用数值与其ascii码的关系进行变换即可。同时小数点也是这个时候加进去的。可见,只要能够利用好近似计算就能够保证测量的精度,同时也能兼顾测量速度。

4.超声波测距的软件设计

主程序、超声波发生子程序、超声波接收中断程序以及显示子程序是超声波测距的软件设计的核心部分。主程序采用c语言编写,超声波发生子程序采用汇编语言编程。

主程序调用超声波发生子程度送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射触发,需要延时0.1ms,才打开外中断0接收返回的超声波信号。当主程序检测到接收成功的标志位后,将计数器to中的数进行计算,可得被测物体与测距器之间的距离。当设计时取20℃时的声速为为344m/s,则有:

d=(cxt)/2=172*t0/10000cm

其中to计数器to的计数值。

值得一提的是,在设计软件时一定要考虑到不同距离超声波传播时间的大小和将来测量误差的关系,利用实验的方法进行误差修正,使无论将系统用于大距离和小距离测距时都能保证较精确的测量。同时在显示结果时注意考虑到测量结果是否在测量范围内,做出准确的判断和显示,这样才能保证测距仪有良好的人机互动。

5.超声波测距的调试结果

根据电路参数和程序,笔者设计的超声波测距器可测量范围为0.35-3.8m。试验中对测量范围0.35-3.8m内的平面物体做了30次平行测试,测距器的最大误差不超过4cm,重复一致性比较好。此外,在试验中发现,若能将超声接收电路用金属壳屏蔽起来。则可提高抗干扰性能。

超声波测距范文第3篇

摘 要 利用超声波测量距离具有原理简单、抗干扰能力强等优点,因此超声波测距装置也具备了结构简单,工作情况稳定的优势,被广泛采用。本文通过对其工作原理的介绍和设计实例的分析,介绍了超声波测距装置的基本构造和工作过程。

关键词 基本原理 装置特征 装置设计

一、超声波测距装置的研究

1.装置的应用和基本原理

利用超声波进行距离测量的主要是发挥其受外界干扰较小的优势,而且传感器的结构相对简单,成本不高。在测量的过程中传输的声频不高,便于接收元件识别和计算。因此在机器人研制、车辆辅助系统、测量测绘等方面得到了广泛的应用。而且电子技术的发展让新型的电气元件和传统的超声波理论有机的结合起来,拓展了该技术领域的空间。目前超声波测距装置主要利用的是陶瓷超声波能量转器,作为固体超声波发生装置,发生超声波的频率为40kHz的固定频率,利用先进的单机芯片负责声波的收发,从而计算发射和接收的微量时间差测算出目标距离,这就是超声波测距的原理。

2.超声波测距装置特征

从理论上看,超声波发生装置的电压越高效果越好,这是因就同一个发生系统来看,电压越高其发出的超声波功率也就越大,这样在接收装置上接到的回波功率也就越高,测量也就越准确。但是在实际的应用过程中,设备的应用的工作电压是不可能超过一个极限的,如果超负荷运行就会对装置造成不可修复的损伤。因此在实际的工作中发射模块所产生的脉冲电压是相对的高,而不能无限的放大。基于这样的条件限制,在发射部分的电脉冲信号发出后,由物体反射回的信号当然也就受到一定的限制,其引起的压电晶片产生的电压当然也就较低,而且在其中还会混入一些环境因素导致的杂波,让装置出现错误。所以,在超声波测距装置的设计过程中需要着重研究系统对回收信号的处理,除了需要必要的放大外,也需要进行过滤,要达到芯片能够处理的强度。

二、超声波测距装置的设计

超声波装置的设计因为采用的元件有所差异,其设计的思路也不尽相同,但是其工作的原理、装置组成、工作过程是基本一致的,因此下面选择一种设计方式进行简要的介绍。

1.装置单机芯片功能选择

一般的超声波测距装置主要的系统构成为发射、接收放大、温度测量、数据处理这四个模块,以满足其功能实现。本例中采用的是低电压高性能的单机芯片,具备可编程存储器。这一款单机芯片由Atmel公司出品,可以完全与工业用80C51产品进行兼容,指令和脚本没有冲突。芯片的可编程存储器完全可以适应各种装置的设计需求,满足应用功能。

2.装置的发射电路设计

在超声波装置的应用过程中,理论认为40kHz的超声信号是理想频率。因此在利用555电路的时候电路产生的40kHz的超声波,其振荡可以利用公式:f≈1.43÷((R1+2×R2)×C1)进行计算,其中R2采用的是可调节电阻,主要是为了实现转换频率的一致性。在设计的过程中R1、R2、C1这三个参数的选取可以利用软件进行选取,最后进行测试以保证准确。而且为了能够保证555的驱动能力装置采用了12伏电源进行供电。工作中555电路产生的40kHz方波通过元件调整,让超声波换能器发出超声波,而且在过程中利用单机芯片通过555的高低电平来实现超声波的发射控制。

3.回波接收的电路设计

装置的设计关键就在于对回波的处理,因为反射回来的声波信号十分的微弱,因此必须经过放大电路的放大,才能保证识别和计算。装置接收到声波信号后,先经过电容的耦合,然后加载到预算放大器上进行两级放大,这里可以采用NE5532,这不仅是因为回波的频带宽,噪声低,更是为了其共模抑制大,电源电压抑制小,因此偏置电压小。而且工作的性能较好,价格合理。在这里实现的两级放大分别为100倍,得到的最终信号放大了10000倍。放大的信号采用电子元件进行比较和调整,通过电阻对其进行调节已选择不同的比较电压,达到对测量距离的调整。

4.装置的温度补偿设计

超声波在传播的过程中可以对其产生影响的因素包括湿度、压力、温度,实践证明温度对其影响最大。因此在超声波测距装置的设计中应当加入必须的温度补偿模块,以保证装置的适应性。在这里应用的是根据超声波的特性总结出的经验公式:V=331.5+0.607T以此作为测距中波速的补偿,V是实际速度,T为温度。一般的装置都会采用数字温度传感器来采集现场温度,并对波速进行补偿。其中如:DS18B20的应用,它是一总线器件,不需要其他调理电路,就能和单片机直接相连。工作过程是,通过DS18B20单片机可以实时采集温度值,在进行测量时将温度补偿给波速,保证单机芯片计算出该温度下的超声波速度。

三、结束语

目前超声波测距装置在电子技术的支持下,已经实现了集成化的控制。设计中利用电机芯片作为控制核心,通过简单的编程保证各部元件的相互配合,已经成为了设计的主要思路和方向。这能够让超声波测距装置更为简单小巧,应用范围也不断扩展。

超声波测距范文第4篇

关键词:超声波;Arduino;物理;数字实验室

中图分类号:G633.7 文献标识码:A 文章编号:1003-6148(2016)10-0059-4

当物体振动时会发出声音,科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹(Hz)。人类耳朵能听到的声波频率为20 Hz~20000 Hz。因此,我们把频率高于20000赫兹的声波称为“超声波”。超声波具有方向性好、穿透能力强、易于获得较集中的声能等特性,在测距、测速等方面具有广泛应用。本文结合高中物理数字化实验开发实例,阐述如何利用Arduino平台实现超声波测距和数据采集,实现精确、直观、高效率的实验测量和数据处理。

1 超声波测距原理及方案对比

超声波测距有两种常见方案,一种是人教版高中物理必修Ⅰ教材第23页所示的方案,把超声波发射器件和接收器件分别放置在所测距离的起点和终点,在红外线遥控器件辅助下计算超声波从起点至终点的时间Δt,再根据s=v*Δt求得距离。另一种方案可称为“反射式”,是把超声波发射器件和接收器件并列安装在起点处,然后测得超声波从发射到经过终点反射回来被接受到的时间差Δt,再根据s=v*(Δt/2)求得距离。方案一的测量精度较高,但实验较繁琐、使用也不便,方案二的测试时间是方案一的两倍、理论上误差也翻倍,但使用较为方便、所需模块也更易于购置。因此,我们采用了方案二“反射式”测距方式。

常见的“反射式”超声波测距模块有SR系列、US系列等,表1是我们试用过的几种模块的电性能参数,看上去都属于民用产品,差别并不大,因此网上的超声波测距应用都采用了常见且廉价的HC-SR04模块。但事实上HC-SR04模块和US-016模块并不能满足中学物理实验的必备要求,很多人都忽略了测量频率的问题,下面试分析之。

如前所述,在高中物理必修Ⅰ第二章第5节《自由落体运动》教学中,研究自由落体加速度(重力加速度)是一个非常重要的课堂演示实验,传统上采用打点计时器在纸带上打点记录距离,测量的频率是50 Hz,如果要用超声波测距代替打点计时器,那么测量频率同样必须达到50 Hz,也就是说测量周期不能大于20 ms。而几种模块不同的输出方式导致了他们实际输出效果的区别:

(1)HC-SR系列模块的测量时序如图1,它的测量结果是以脉冲时长的方式输出的,导致测量周期是超声波从起点到终点传播时间的4倍以上,严重限制了测量频率的提高。为了便于理解,我们以测量一米的距离为例分析测量过程:首先单片机向模块发送10 μs的高电平,然后模块发射8个40 kHz超声波脉冲约耗时0.2 ms,超声波传播至目标需时t=1 m/(340 m/s)=2.94 ms,反射至接收器件又需2.94 ms,最后模块向单片机输出一个宽度为5.88 ms的高电平脉冲,单片机测得此脉冲宽度后再折算得到测量结果。整个过程约需12 ms,再加上两次测量之间的间隔时间、其他运行步骤消耗时间、尤其是单片机与PC计算机数据通讯时间(实测建议不少于5 ms),整个测量周期很难控制在20 ms之内。换个说法,50 Hz的测量频率使得测量距离被限制在一米以内,严重影响了实验的可操作性。尽管HC-SR04模块的标称量程达到4米,但这么长的距离会导致测量周期在50 ms以上,不能达到实验的要求。

(2)US-016模块的输出方式是模拟电平,即把距离转换为输出端口的电压值再由数据采集模块测量取值发送PC,它的转换过程中必然经过积分环节,最终实际效果虽然没有明确的测量周期限制但难以测量距离突变,从数据采集的曲线来看就是测量曲线被修饰圆滑了,出现了较大的高频失真。

(3)US-100模块可采用UART输出模式(串口模式),工作过程简述如下:首先单片机向模块Trig/TX管脚输入0X55(波特率9600耗时

US-100模块的测量时序如图2,采用该模块进行超声波测距时,如果设定测量周期为20 ms,考虑到测量间隔和其他时间,我们认为实际测量过程时间可以达到12 ms,则最大测量距离可达340*12/2=2040 mm,约为2米,比HC-SR04模块更符合重力加速度测量实验的需求。

此外,US-100模块内带自动温度测量并对结果进行校正,也能有效提高实验对环境温度的适应性。从表2可以看出,温度对超声波速度的影响还是很大的,当温度从0变化到20摄氏度时,超声波速度变化量达到3.6%,已经不能忽视。

所以,在反复测试对比后,最终决定采用US-100模块作为距离测量的传感器。

2 利用Arduino平台实现超声波测距和数据采集

Arduino是目前风靡全球的开源电子创新平台,它本质上是一个经过易用性封装的AVR单片机系统,具有13个数字输入/输出端口和5个模拟输入/输出端口,可以通过外接传感器实现对各类物理量的测量和数据采集。结合专用的编程开发环境,能够快速简便地实现对传感器进行控制、数据采集并与PC计算机软件结合,实现数字实验室的功能。

(1)系统硬件构成:我们采用Arduino Uno主控板控制US-100超声波测距模块,并通过USB连接线连接计算机,同时通过USB的5 V电源给主控板和模块供电,架构清晰制作容易。为了方便使用,我们又把主控板和模块都安装在一个铝合金盒子里,使用时只需要把盒子放在测试处,然后通过USB连接线连接计算机即可。图3即系统框架示意图;图4和图5分别为各模块实物图和安装后的成品图。

(2)系统软件设计和优化:由于超声波测距模块已经把发射、接收、计时整体设计在内,所以本系统的单片机程序很简洁,这也是采用成品测距模块的原因,主程序只负责触发模块、接收数据、向计算机转发数据三个环节。但想要得到比较稳定精确的实验效果还有许多问题需要解决,我们发现网络和杂志常见的一些测距方案或实验都缺乏必要的严谨性,本次设计重点思考并优化解决了如下几个问题:

问题一,如何提高测量量程?

如前所述,我们采用US-100模块进行超声波测距,摒弃了常用的HC-SR04模块,能够减少读取测量结果的时间,从而把量程扩大到2米左右,使之符合常见中学物理实验的要求。

问题二,如何提高测量频率?

为了进一步降低测量周期、提高测量稳定性,我们把Arduino向PC通讯常用的Serial.print命令改为Serial.write命令,每次发送四字节的二进制数据,前两字节为数据标志位,一方面可以作为起始位避免数据错位,另一方面第二字节还可以作为扩展位以提供功能扩展。后两字节是二进制的测量结果数据,并设定传输波特率为115200,使数据传输时间减少到0.27 ms,向计算机实际通讯时间小于一毫秒,从而进一步减小测量和通讯所需时间,保证测量频率为50 Hz时具有足够冗余的时间,保障了实验的稳定性。

问题三,如何最后是时间比较环节,通过反复测试的校正参数保证了整个周期为20 ms,实测误差不精确控制测量周期?

测量周期的计时原则上可以由上位机或下位机决定,但实际上Windows作为多任务操作系统根本难以保证毫秒级的时间稳定性,而单片机从架构上来说就具有较好的时间稳定性,因此我们设定由单片机程序进行测量周期的计时和比较。单片机程序的各个步骤都有一些微秒级的操作时间,这个时间是固定的,但唯有单片机与计算机通讯的命令受计算机影响时间稳定性较差,有些类似程序没有考虑周全导致程序整体的时间精确性达不到要求。我们的解决方案是把初始计时放在程序之首,然后就是数据发送环节,之后是数据采集环节,大于0.05%。

(3)核心代码:

3 PC数据采集与图形化显示程序

上述Arduino系统已经完成了超声波测距、数据采集并向计算机发送的工作,最后还需要通过一定的Windows程序接收数据、保存数据,并能以图形化显示。为此,我们用Vb6.0编写了数据接收和显示程序,并命名为“GeekFlash数据采集器”,如图6是程序的运行界面和某次动态测距的曲线图。限于篇幅,PC端程序不做详细说明。

4 超声波测距与采集在高中物理实验中的实践案例

采用本系统测量重力加速度实验的一组数据如表3所示,限于超声波测距模块的精度(实测在+-1 mm左右),去除首尾无效数据,所测得的重力加速度在9.7~9.8左右,学生不仅可以通过图像直观了解物体下落过程位移随时间变化的特点,也可以根据现场采集的数据计算当地重力加速度值,在实验误差范围内,其精确度、直观性以及实验效率均大大优于打点计时器的效果。(图7)

参考文献:

[1]程晨.Arduino开发实战指南:AVR篇[M].北京:机械工业出版社,2012.2

超声波测距范文第5篇

【关键词】超声波;测距;传感器;温度补偿

目前,非接触式测距仪采用超声波、激光和雷达。但激光和雷达的难度大、成本高,不利于普及应用,在某些应用领域有其局限性,相比之下,超声波方法具有明显的优势,因此超声波方法作为非接触监测和识别的手段,已经越来越引起人们的重视。超声波是一种频率大于20kHz具有方向性好、指向性强、传播能量大、遇到杂质或界面会产生反射波等特点的机械波。在机器人避障、导航系统、机械加工自动化装配及检测、自动测距、无损检测、超声定位、汽车倒车、工业测井、水库液位测量等方面已经有了广泛的应用[1]。

一、超声波测距原理

当要计算某物体通过的一段路程时,只要知道物体运动的速度和所经历的时间,就可以计算它通过的路程。利用超声波测距的方法有多种,如渡越时间检测法、相位检测法和声波幅值检测法。相比较而言,渡越时间检测法测量时间和精度都较高,并且电路设计不复杂,因此本设计采用渡越时间检测法。

图1 超声波测距原理图

超声波测距的原理如图1所示。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据接收器接到超声波时的时间差就可以计算出距被测物体的距离:

d=s/2=(V×t)/2[2] ①

其中d为被测物体到测距仪之间的距离,s为超声波往返通过的路程,V为超声波在介质中的传播速度。T为超声波从发射到接收所用的时间。

超声波的传播主要受空气密度的影响,空气密度越高其速度越快,而空气密度和温度有着密切的关系。表1为超声波在不同温度下的波速值。由此可见温度对于超声波测距系统的影响是不可忽略的。为了提高精度,需要考虑不同温度下超声波在空气中传播速度随温度变化关系:

V=331.4+0.61T ②

其中T为实际温度(摄氏度),V的单位为米/秒[3]。

表1 温度与声速关系表

温度(℃) -30 -20 10 0 10 20 30 100

声速(m/s) 313 319 325 323 338 344 349 386

图2 超声波测距硬件系统原理图

二、超声波测距系统硬件电路设计

单片机的超声波测距硬件系统如图2所示。经超声波发射单元发射出频率为40kHz的超声波信号,此信号被人(或者障碍物)反射回来由超声波接收单元接收,再送往单片机进行分析处理,在测量时同时测量环境温度用于超声波速度校准,进而获取距离信息并在显示屏上显示。在不进行测量时,显示屏上显示当前时间和温度。

本设计系统共包括以下几个模块:由驱动电路和发射传感器组成的发射模块,由滤波、放大、比较电路和接收传感器组成的接收模块,由温度传感器构成的温度补偿模块,由LCD构成的显示模块,由DS1302构成的时钟模块以及供电电源模块。

(一)供电电源模块

供电电源电路如图3所示。电路采用LM7815和LM7805集成稳压器作为稳压器件,220V电源经降压、整流、滤波后送入稳压器LM7815进行稳压,之后接一个47uF/35V的电解电容滤除纹波,得到我们所需要的15V电压,再通过LM7805稳压器和两个电容,分别是47uF/35V的电解电容和0.1uF的CBB电容,滤除纹波,得到我们需要的+5V稳压电源。

图3 供电电路模块

图4 超声波发射模块

(二)超声波发射模块

超声波发射电路如图4所示,包括由NE555组成的多谐振荡器和由MAX232组成的电平转换电路。本系统采用NE555多谐振荡器原理,选用适当电子元件设计了一个可产生40kHZ方波的超声波发射传感器驱动电路,单片机的P3.4端口连接于NE555附有上拉电路的复位管脚4,用于控制驱动信号的产生与停止。

MAX232是个内部有电荷泵的TTL-RS232电平转换IC,可以把5V电源电压变成±10v ~±15v,并以此电压信号作为输出信号。此处用MAX232升压,达到提升驱动电压的目的。

(三)超声波接收模块

在超声波发射传播遇到障碍物返回后,需要将接收到的超声波转换成电信号,由于转换后的电信号比较弱,所以必须经过放大以及整形电路将接收到的回波信号转换成方波信号,然后作用于单片机,响应外面的中断子程序,并根据程序计算本次的测试距离。

超声波接收电路如图5所示。超声波接收电路主要分为三级:前置放大电路,2阶低通滤波器,单限比较器。第一级由高频放大器组成的前置放大电路,可有效地提高超声波检测范围和灵敏度.设置R4为固定阻值的,通过调节R9,R9/R4即为其放大倍数,此处我们可将信号放大倍数最大可设置为2000倍。第二级是为了有效滤除电路中的高频信号,由高增益、内部频率补偿的双运算放大器组成的正反馈型的2阶低通滤波器。第三级是为检测到是否接收到40kHz的超声波信号,主要是一个单限比较器,通过与给定电压比较,输出为1或0,直接连接到单片机捕获通道引脚。

图5 超声波接收模块

(四)温度补偿模块

超声波的传播速度V易受到空气中温度、湿度、压强等因素的影响,其中温度的影响最大。为了得到较为精确的测量结果,必须对波速进行温度补偿。从②式中可看出,温度对声速影响很大,要获得准确的波速值,必须首先获取现场温度T的大小。

本系统的温度补偿模块如图6所示。采用DS18B20[4]检测现场温度,用以实现实际波速的校准。DS18B20是美国DALLAS公司生产的数字温度传感器,在测量温度的时候,与单片机的P3.7端口相连接,读取当前的环境温度。

(五)显示模块

为了将测量的数据能够清楚明了的被看到,本系统设计了一个基于LCD12864的液晶显示模块。LCD12864是128X64点阵的汉子图形液晶显示模块,具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。[5]

图6 温度补偿模块 图7 时钟模块

(六)时钟模块

系统在设计时,希望在显示距离的同时能显示时间,因此加入了一个时间模块,如图7所示。DS1302是一种低功耗、高性能、带RAM的,可对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能实时时钟电路,工作电压为2.5V~5.5V。

(七)硬件抗干扰技术

本硬件设计电路包含模电、数电和弱电的复杂电路,为了使系统按照设计要求稳定的工作,需要进行抗干扰设计,主要从以下几个方面考虑:

1.为了降低进入印制板的引入耦合噪声,在电源的输入端加旁路电容。

2.为了增强系统抗干扰的能力,使电源线和地线的走向与信号线的传递方向一致。

3.电路板的每个芯片并联一个去耦电容,用来滤掉来自电源电路的高频噪声。

4.根据电流的大小适当的加粗印制导线的宽度。

三、超声波测距系统软件系统设计

软件设计框图如图8所示。

图8 软件设计框图

本超声测距系统的软件使用C语言编写,采用模块化设计。主要由主程序、超声波发生子程序、超声波接收中断程序、定时器中断程序、温度补偿程序、距离计算程序、时钟程序以及显示程序组成。

主程序在完成系统初始化后,调用测温子程序和时钟程序,采集进行超声波测距时外界环境的温度。关闭外部中断,然后调用超声波发生子程序,实际上是由单片机发出十个左右控制脉冲,控制NE555的使能端,使其产生40KHz的方波,进而经放大电路放大后驱动传感器发出超声波,与此同时,启动定时器T0开始计时;为了防止信号从发射探头发出后直接被接收探头接收造成的干扰,所以需要在延迟一段时间后,再允许外部中断。

当单片机收到外部中断信号时,定时器T0停止计时并关闭外部中断,开始计算出信号从发射到接收所经历的时间,将其存储,根据之前采到的温度,换算出准确的声速,存储;单片机再调用计算程序,计算出传感器到目标测量物体之间的距离,最后把测量结果暂时存储并调用显示子程序通过LCD12864数码管电路显示出来,完成一次测量。

四、实验结果及分析

(一)实验结果

实际距离(cm) 15℃测量值(cm) 20℃测量值(cm) 30℃测量值(cm)

10.0 10.0 10.0 10.0

30.0 30.1 30.3 30.5

50.0 50.5 50.7 50.9

70.0 70.3 70.6 70.8

80.0 50.0 50.0 50.0

90.0 50.0 50.0 50.0

100.0 102.0 103.0 103.0

120.0 121.0 122.0 122.0

150.0 153.0 154.0 155.0

200.0 205.0 204.0 205.0

利用本系统做了多组实验,在10到200的距离内,误差很小。增加了温度补偿系统,在不同温度下,测量值基本相同,相对误差较小,测量精度高。

(二)影响测距技术的因素分析

1.接收脉冲的变化对测距的影响。进行超声波测距时,发射头会发射超声波,记时是由第一个发射脉冲开始的,但是由于超声波衰减的特性,在实际计算时,会造成一定的延时从而产生误差。

2.信号传递中的漫反射。超声波在传递过程中,会由于漫反射,导致信号在传递过程中被减弱。

3.直达波的影响。在超声波的测距过程中,脉冲一部分定向被测物体传播并反射到接收头,而另一部分脉冲会直接传播到附近的接收头引起误差。

(三)改进方案

1.为了减少近距离障碍物和增强抗干扰性,可采用灵敏度相对较高的超声波传感器。

2.增长超声波发射间隔时间,并使的超声波发射模块小型化,可减小超声波经多条相隔很近的路径多次来回影响。

3.在测量时,可重新编程,利用多次测量去平均值的方法实现。

4.采用变压器升压,提高发射波功率,可以增加测量距离。

五、小结

本文利用STC12C5206AD单片机设计的具有温度补偿功能的超声波测距仪结构简单,体积小,成本低,可靠性和精度都能达到要求,易于产品化。

参考文献

[1]景旭文.超声测距的研究[J].华东船舶工业学院学报,1994(1):90-94.

[2]李柏庚.超声波测距仪设计[J].工具技术,2012,46(6):82-85.

[3]何希才,薛永毅.传感器及其应用实例[M].北京:机械工业出版社,2004.

[4]王灵芝.基于DS18B20的数字式温度计设计[J].工业仪表及自动化装置,2011(5).

[5]LCD16864使用手册[S].