-
超
声
波
测
< br>距
资
料
精品文档
资料
超声波测距传感器
SDM-IO <
/p>
本模块最远测试距离是
1500mm,
测
量周期
10ms
专为小车设计。
p>
1、本模块性能稳定,测度距离精确。能和国外的
SRF05,SR
F02
等
超声波测距模块相媲美。模块高精度,首创无盲区(<
/p>
0cm
开始测
量)
,
稳定的测距是此产品成功走向市场的有力保障。
2
主要技术参数:
1
)使用电压:
DC3.8-5.5V
2
)静态电流:小于
8mA
3
)输出
TTL
电平
4
)感应角度:不大于
15
度
5
)探测距离:
0cm-1500mm
6
)高精度:可达
3mm
接线方式,
VCC
、
tr
ig
(控制端)、
echo
(接收端)、
GND
模块主要特点
:
(1)
超微型
,
只相当于两个发射
< br>,
接收头的面积
,
已经没法再小
了
.
(2)
无盲区
(8mm
内成三角形误差稍大
).
收集于网络,如有侵权请联系管理员删除
精品文档
(3)
反应速度快
,10ms
的测量周期
< br>,
不容易丢失高速目标。
(4)
发射头
,
接收头紧靠
,
和被测目标基本成直线关系
(8mm
内还是大
三角形
,
这个是
发射
,
接收头的物理形状决定了
).
(5)
模块上有
LED
指示
,
方便观察和测试
!
1:
超声波测距原理
超声波是一种频率比较高的声音
,
指向性强
.
超声波测距的原理是利用超声波在
空气中的传播
速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根
据发射和接收的时间差计
算出发射点到障碍物的实际距离。由此可见,超声波
测距原理与雷达原理是一样的。
p>
测距的公式表示为:
L=C
×
T
式中
L
为测量的距离长度;
C
为超声波在空气中的传播
速度;
T
为测量距离传播
的时间差
p>
(T
为发射到接收时间数值的一半
)
。
已知超声波速度
C=344m/s (20
℃
室温
)
超声波传播速度误差
超声波的传播
速度受空气的密度所影响,空气的密度越高则超声波的传播速度
就越快,而空气的密度又
与温度有着密切的关系
,
近似公式为:
C=C0+0.607
×
T
℃
式中:
C0
为零度
时的声波速度
332m/s
;
p>
T
为实际温度
(
℃
)
。
对于
超声波测距精度要求达到
1mm
时,就必须把超声波传播的环境
温度考虑进
去。
2:
超声波模块使用方法
使
TRIG=0,
最少延迟
10us
的时间
,
然后
TRIG=1,
超声波模块此时开始启动一个测
量周
期
,
发射若干个
40khz
的声波
,
然后启动
10m
s
的定时器等待反射波
,
如果收
到反射波
,
模块的
E
CHO
输出一个宽度为
150us
的负
脉冲
,
从
TRIG=1
到
ECHO=0
的
时间即为从
发射到收到发射波的时间
.
收集于网络,如有侵权请联系管理员删除
精品文档
3:
为什么距离最远只有
1500mm?
本传感器专为智能小车
等微型设备而设计
,
适合小范围
,
p>
小空间
,
封闭空间的场合
< br>,
大家知道
,
超声波传输速度低
,
衰减时间长
,
如果一味追求距离
,
就会导致响应时
间长
,
丢失目标
,
在室内等封闭场合会形成多次发射震荡
,
传感器就无法正常
工作
了
.
下
面从传感器的反应时间来分析距离的问题
:
< br>超声波空气中速度每秒约
340
米
,
折算成毫秒
,
就是
340mm/ms,
探测距离为
1500mm
的话
,
探测到回波的距离就是
< br>3000mm,
超声波的传输时间是
9ms,
加上电
路延迟
,
传感器的
能量延迟
,
再预留一些保护时间
(
p>
让上次超声波能量消失
),
每次
测量时间就是
10ms.10ms
的反应速度对于
智能小车来说是合适的
,
高速运动时不
会丢失目标
.
现在市面有一种传感器
是
5
米
,
这个
5
米是最大距离
,
探测目标一般是墙面等大
发射面
,
对于小目标是不可能达到的
,
先不管这个小目标到底是多少距离
了
,
我们
从传感器的反应时间来分析<
/p>
.
这种传感器的时序跟我们的不同
,
p>
它是先收到反馈
然后再从
Echo
的脉宽上反馈出来的
,
而不是从
echo
和
trig
的时差来
反馈的
,
这
样传感器的反应时间又增加
了一倍
!
这样
5
米传感器的反应时间最少是
(
上面计
算
1
米的最少时间是
6ms):5*6
*2=60ms!
就算最快
60ms
的
测量周期
,
对于智能小
车能应用已经太
迟钝了
!
当主控
CPU
探测到目标时
,
小车恐怕已经撞上去了
!
4:
你的超声波发射和接
收头靠的很近
,
为什么
?
大家看到的超声波传感器一般发射和接收头分得比较开
,
< br>是因为靠的越近发射头
的横向波能量传递给接收头的越高
,
导致盲区变得很大
,
甚至无法正常工
作
,
让发
射头和接收头分开点是不得以
而为之
,
这样带为的坏处是发射头
,<
/p>
接收头和测量
物体之间是三角形连接
!<
/p>
很明显距离越近
,
三角形的角度就越大<
/p>
,
这样就带来误差
了
.
而本店传感器的发射头和接收头是紧密挨在一起的
,
p>
和探测目标就是平行关
系
,
而不是三角关系
.
5:
你的超声波模块真的无盲区
? <
/p>
千真万确
!
商品图片里带有示波器的截图
,
大家可以看到发射波和反射波的时间
关系
,
反射波只有一个
!
本超声波传感器独创性的消除了横向干扰波
,
最小测
量距
离从
0
开始
.
6:
计算距离为什么要减去固定延迟
?
超声波发射头和接收头的内部晶体和外体有一个固定距离
,
p>
电路也有固定延迟
,
总延迟时间为
250us,
当减去这个
250us
延迟时程序要做一些容错判断
,
因为近
收集于网络,如有侵权请联系管理员删除
精品文档
距离
(10mm
内
)
误差较大
(
距离在
10mm
范围内
,
发射头
,
接
收头
,
和目标形成大三
角形
,
测量误差大
),t2-t1
非常接近
250us
时当作
0
p>
距离处理
,
当
t2
-t1>250us
时可线性处理
.
7:
不同物体测量距离不同
?
对
!
因为超声波就是频率高些的声音
,
不同材料
,
形状的物
体对声音的吸收率不同
,
反射角度不同
,
只有反射到接收头
(
也就是超声波发
射的方向
)
的能量才会被探测
到
,
所以不同物体测量的有效测量距离不同
.<
/p>
一般来说
,
平面光滑的物体
(
如镜面
)
反射距离最远<
/p>
,
通常说的最大探测距离指的就是这类物体
,
细小的物体探测距离
很近很多
,<
/p>
如细棉线
,
面积小
,
而且吸收声音
,
就探测不到
.
下面列举实际物体的最大探测距离
:
1.
圆珠笔
,200mm
2.
手
,400mm
3.1mm
粗带塑料套的电线
,30mm
4.
游标卡尺
,450mm
5.
人体
(
穿厚衣服<
/p>
),400mm
6.
墙面
,1200mm(
最大
1500mm
左右
,
需要垂直测量
)
p>
7.1mm
粗细棉线
,
探测不到
8.
竹牙签
,40mm
8:
有应用例程吗
?
有
,
下面引用一个位网友的程序
,
用
51
单片机做的控制
,
功能是每隔
12ms
重
复测
量
,
并把测量结果发送到串口
p>
,
在
PC
上用
p>
sscom32
程序观察
.
在这个例子中
,
用到
了两个<
/p>
IO,
一个做输入
,
一个做输出
,
如果
IO
紧张
,
能不能用更少的
I
O
呢
?
可以
的
,
具体见下一个问答
.
#include
#include
sbit
TRIG
=
P2^7;
sbit
ECHO
=
P2^6;
收集于网络,如有侵权请联系管理员删除
精品文档
#define
XTAL
19660800L
#define
PERIOD12MS
(12L
*
XTAL
/
12L
/
256L
/
1000L)
#define
DISTANCE_PARAM (XTAL / 10000L)
void
delay(unsigned
int
t)
{
while(t--)
;
}
void
main
(void)
{
EA
=
0;
TMOD
&=
~0x0F;
//
clear
timer
0
mode
bits
TMOD
|=
0x01;
//
put
timer
0
into
MODE
1
,
16bit
com_initialize
();
/*
initialize
interrupt
driven
serial
I/O
*/
com_baudrate
(14400);
/*
setup
for
14400
baud
*/
EA
=
1;
//
Enable
Interrupts
while
(1)
{
unsigned int distance;
unsigned char
dh, dl;
START:
TR0 = 0;
收集于网络,如有侵权请联系管理员删除
-
-
-
-
-
-
-
-
-
上一篇:触发器
下一篇:超声波传感器课程设计