超声波测距资料知识讲解.docx

上传人:b****6 文档编号:8912570 上传时间:2023-02-02 格式:DOCX 页数:9 大小:42.35KB
下载 相关 举报
超声波测距资料知识讲解.docx_第1页
第1页 / 共9页
超声波测距资料知识讲解.docx_第2页
第2页 / 共9页
超声波测距资料知识讲解.docx_第3页
第3页 / 共9页
超声波测距资料知识讲解.docx_第4页
第4页 / 共9页
超声波测距资料知识讲解.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

超声波测距资料知识讲解.docx

《超声波测距资料知识讲解.docx》由会员分享,可在线阅读,更多相关《超声波测距资料知识讲解.docx(9页珍藏版)》请在冰豆网上搜索。

超声波测距资料知识讲解.docx

超声波测距资料知识讲解

超声波测距资料

资料

超声波测距传感器SDM-IO

本模块最远测试距离是1500mm,测量周期10ms专为小车设计。

1、本模块性能稳定,测度距离精确。

能和国外的SRF05,SRF02等

超声波测距模块相媲美。

模块高精度,首创无盲区(0cm开始测量),稳定的测距是此产品成功走向市场的有力保障。

2主要技术参数:

1)使用电压:

DC3.8-5.5V

2)静态电流:

小于8mA

3)输出TTL电平

4)感应角度:

不大于15度

5)探测距离:

0cm-1500mm

6)高精度:

可达3mm

接线方式,VCC、trig(控制端)、echo(接收端)、GND

模块主要特点:

(1)超微型,只相当于两个发射,接收头的面积,已经没法再小了

(2)无盲区(8mm内成三角形误差稍大).

(3)反应速度快,10ms的测量周期,不容易丢失高速目标。

(4)发射头,接收头紧靠,和被测目标基本成直线关系(8mm内还是大

三角形,这个是发射,接收头的物理形状决定了).

(5)模块上有LED指示,方便观察和测试!

1:

超声波测距原理

超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。

由此可见,超声波测距原理与雷达原理是一样的。

测距的公式表示为:

L=CXT

式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。

已知超声波速度C=344m/s(20C室温)

超声波传播速度误差

超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,近似公式为:

C=C0+0.607XTC

式中:

C0为零度时的声波速度332m/s;

T为实际温度(C)。

对于超声波测距精度要求达到1mm寸,就必须把超声波传播的环境温度考虑进去。

2:

超声波模块使用方法

使TRIG=0,最少延迟10us的时间,然后TRIG=1,超声波模块此时开始启动一个测量周期,发射若干个40khz的声波,然后启动10ms的定时器等待反射波,如果收到反射波,模块的ECHC输出一个宽度为150us的负脉冲,从TRIG=1到ECHO=K时间即为从发射到收到发射波的时间.

3:

为什么距离最远只有1500mm?

本传感器专为智能小车等微型设备而设计,适合小范围,小空间,封闭空间的场合,大家知道,超声波传输速度低,衰减时间长,如果一味追求距离,就会导致响应时间长,丢失目标,在室内等封闭场合会形成多次发射震荡,传感器就无法正常工作了.

F面从传感器的反应时间来分析距离的问题

超声波空气中速度每秒约340米,折算成毫秒,就是340mm/ms探测距离为1500mm的话,探测到回波的距离就是3000mm超声波的传输时间是9ms,加上电路延迟,传感器的能量延迟,再预留一些保护时间(让上次超声波能量消失),每次测量时间就是10ms.10ms的反应速度对于智能小车来说是合适的,高速运动时不会丢失目标.

现在市面有一种传感器是5米,这个5米是最大距离,探测目标一般是墙面等大发射面,对于小目标是不可能达到的,先不管这个小目标到底是多少距离了,我们从传感器的反应时间来分析.这种传感器的时序跟我们的不同,它是先收到反馈然后再从Echo的脉宽上反馈出来的,而不是从echo和trig的时差来反馈的,这样传感器的反应时间又增加了一倍!

这样5米传感器的反应时间最少是(上面计算1米的最少时间是6ms):

5*6*2=60ms!

就算最快60ms的测量周期,对于智能小车能应用已经太迟钝了!

当主控CPU探测到目标时,小车恐怕已经撞上去了!

4:

你的超声波发射和接收头靠的很近,为什么?

大家看到的超声波传感器一般发射和接收头分得比较开,是因为靠的越近发射头

的横向波能量传递给接收头的越高,导致盲区变得很大,甚至无法正常工作,让发射头和接收头分开点是不得以而为之,这样带为的坏处是发射头,接收头和测量物体之间是三角形连接!

很明显距离越近,三角形的角度就越大,这样就带来误差了.而本店传感器的发射头和接收头是紧密挨在一起的,和探测目标就是平行关系,而不是三角关系.

5:

你的超声波模块真的无盲区?

千真万确!

商品图片里带有示波器的截图,大家可以看到发射波和反射波的时间关系,反射波只有一个!

本超声波传感器独创性的消除了横向干扰波,最小测量距离从0开始.

6:

计算距离为什么要减去固定延迟

超声波发射头和接收头的内部晶体和外体有一个固定距离,电路也有固定延迟

总延迟时间为250us,当减去这个250us延迟时程序要做一些容错判断,因为近距离(10mm内)误差较大(距离在10mn范围内,发射头,接收头,和目标形成大三角形,测量误差大),t2-t1非常接近250us时当作0距离处理,当t2-t1>250us时可线性处理•

7:

不同物体测量距离不同?

对!

因为超声波就是频率高些的声音,不同材料,形状的物体对声音的吸收率不同反射角度不同,只有反射到接收头(也就是超声波发射的方向)的能量才会被探测到,所以不同物体测量的有效测量距离不同•一般来说,平面光滑的物体(如镜面)反射距离最远,通常说的最大探测距离指的就是这类物体,细小的物体探测距离很近很多,如细棉线,面积小,而且吸收声音,就探测不到•

下面列举实际物体的最大探测距离:

1.圆珠笔,200mm

2.手,400mm

3.1mm粗带塑料套的电线,30mm

4.游标卡尺,450mm

5.人体(穿厚衣服),400mm

6.墙面,1200mm(最大1500mm左右,需要垂直测量)

7.1mm粗细棉线,探测不到

8.竹牙签,40mm

8:

有应用例程吗?

有,下面引用一个位网友的程序,用51单片机做的控制,功能是每隔12ms重复测量,并把测量结果发送到串口,在PC上用sscom32程序观察.在这个例子中,用到了两个10,—个做输入,一个做输出,如果10紧张,能不能用更少的10呢?

可以的,具体见下一个问答.

#inelude"reg51.h"

#inelude"sio.h"sbitTRIG=P2A7;

sbitECHO=卩2八6;

#defineXTAL19660800L

#definw

sPERIOD12MS(12L

*XTAL/

12L/

256L

/1000L)

#defineDISTANCE_PARAM(XTAL/10000L)

void

delay(unsignedint

t)

{

while(t--);

}

void

main(void)

{

EA=0;

TMOD&=~0x0F;

//

clear

timer

0modebits

TMOD|=0x01;

//

put

timer

0intoMODE1

16bit

com」nitialize();/*initializeinterruptdriven

serialI/O*/

com_baudrate(14400);/*setupfor14400baud*/

EA=1;//

EnableInterrupts

while

(1)

{

unsignedintdistanee;

unsignedchardh,dl;

START:

TR0=0;

THO=0;

TLO=0;

TRIG=0;//发出一个负脉冲,启动一个测量周期

delay(100);

TRIG=1;//开始测量

TR0=1;//同时启动定时器0

while(ECHO)//监视ECHO信号

{

if(TH0>=PERIOD12MS)//一个测量周期超时

gotoSTART;

}

TR0=0;//停止计时

//计算距离:

为了提高精度,分母分子取合适的数值,定时器

计数换算成时间*声速(340),得到以mn为单位

distanee=((TH1*256+TL1)*12L*34L)/DISTANCE_PARAM/2;

if(distanee>=30)

distanee-=30;

else

distanee=0;

dh=distanee>>8;

dl=distanee;

com_putchar(dh);

1;

com_putchar(dl);

TROwhile(TH0

纟勺12ms的测量周期

9:

IO紧张,可以用更少的10吗?

可以,但需要理解,这一个io是半双工操作的,也就是说,主控CPU俞出的时候,模块只能输入,模块输出的时候,CPU只能输入,为了避免出错导致主控和模块同时输出,主控CPU勺I0和模块的TRIG,ECHO>间串联一个合适的电阻保护,如1k,这样即使程序出错,硬件也不会损坏.

主控CPU----[1k电阻]-----TRIG,ECHO连接在一起.

#include"reg51.h"

#include"sio.h"

sbitTRIG=P2A0;//主控单片机的P2.0同时连接模块的TRIG,ECHO,

中间串1k电阻

sbitECHO=P2A0;

#defineXTAL19660800L

#definePERIOD12MS(12L*XTAL/12L/256L/1000L)#defineDISTANCE_PARAM(XTAL/10000L)

voiddelay(unsignedintt)

{

while(t--);

}

voidmain(void)

{

EA=0;

serialI/O*/

EnableInterrupts

while

(1)

{

unsignedintdistanee;

unsignedchardh,dl;

START:

TRO=0;

THO=0;

TLO=0;

TRIG=0;//发出一个负脉冲,启动一个测量周期

delay(IOO);

TRIG=1;//开始测量

TRO=1;//同时启动定时器O

while(ECHO)//监视ECHO信号

{

if(THO>=PERIOD12MS)//一个测量周期超

gotoSTART;

}

TRO=0;//停止计时

//计算距离:

为了提高精度,分母分子取合适的数值,定时器计数换算成时间*声速(340),得到以mm为单位

distanee=((TH1*256+TL1)*12L*34L)/DISTANCE_PARAM/2;

if(distanee>=30)

distanee-=30;

else

distanee=0;

dh=distanee>>8;

dl=distanee;

com_putchar(dh);

eom_putchar(dl);

TRO=1;

while(THO

}

}

10:

需要更短周期的测量,可以吗

可以,模块只捕获第一个反射信号,ECHO俞出(150us脉冲)后马上等待下一个测量命令(TRIG上的脉冲),如果主控CPU监控ECHO勺电平信号,在ECHO^0变到1后马上就可以进行下一轮测量了,而不必等到10ms后再进行测量•但需要注意:

超声波有可能多次来回发射(在被测物体距离很近或很封闭的空间),连续测量如果碰到这种场合就有可能收到错误的信号,导致测得的距离不准确了.

11:

抗干扰性如何

抗干扰性能比较强•设计上有几个措施:

1.尽量降低输入阻抗,阻抗越高越容易引入干扰;2.模块设计的距离比较近,信号放大倍数只满足此距离;3.一般干扰源离模块越近,越容易干扰,模块对近距离的信号进行了衰减•经实际测试,模块对近距离的噪音(击掌,口哨,音频喇叭)干扰不产生动作,但较强机械震动有时会产生干扰(有较强谐波,含40khz成分),因此超声波模块避免跟可能产生振动的物体硬连接,中间可以用橡胶等减震,这样就能可靠工作了•

12:

探测角度?

近距离探测角度比较大,约60度,越远距离,探测角度越小,最远处接近0度.

13:

模块有其他接口方式吗?

有.另有TTL串口模式.其他如IIC,SPI可以定做,但最常用的是10和TTL接口方式,具体咨询店主•

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1