IOE-SR05超声波测距模块特点:
1,体积小巧,PCB板尺寸仅2.2*3.6CM,适合尺寸要求高的场合使用;
2,最少仅需一个IO数据口就可以接受测量距离的16进制数据;带有数据输出使能端,可以通过IO口控制或直接接地处理!
3,测量距离周期仅18ms,大大缩小了测量时间,尤其对机器人控制使用特别适合;
4,达到了理论上的无盲区,基本上是无盲区测试范围;
5,超量程自动返回AAAA数据,减少超量程后的等待时间;
6,背面有红色LED指示工作状态,当有障碍时,LED会亮.
超声波测距模块接线方式:
5个2.54mm间距引脚:
VCC——宽电压输入:支持3v-5.5v
TxD——(串行输出,接单片机或TTL小板的RXD;)
Enable——(使能端,=0时模块工作,=1时不工作,PCB印刷Trig)、
GND——电源地线
GND——电源地线
数据格式:
模块每次输出4个字节,格式为:0XFF+H_DATA+L_DATA+SUM
1. 0XFF: 为一组开始数据,用于判断。
2. H_DATA:距离数据的高8位。
3. L_DATA:距离数据的低8位。
4. SUM: 数据和,用于效验。其0XFF+H_DATA+L_DATA=SUM(仅低8位)
注:H_DATA与L_DATA合成16位数据,即以毫米为单位的距离值。
H_DATA * 256 +L_DATA
超量程固定输出:FF AA AA 53
背面有红色LED指示工作状态,当有障碍时,LED会亮.
电气参数:
电气参数 |
超声波模块 |
工作电压 |
DC 3.0-5.5V |
工作电流 |
8mA |
工作频率 |
40KHz |
测距范围 |
0mm- 2000mm |
分辨率 |
1mm |
测量角度 |
与距离相关,下见角度图 |
串口波特率 |
9600,8,n,1 |
响应周期 |
18ms |
规格尺寸 |
33*22*15mm高(超微型) |
本产品使用方法:确认电源极性和电压接好后,模块就以18ms为周期自动测量,如果收到回波就通过TXD输出包含距离信息(以mm为单位)的协议数据,经实际测试,输出十分稳定.
模块工作原理:
(1)模块以18ms为周期自动发送8个40khz的方波,自动检测是否有信号返回;
(2)有信号返回,内部计算处理后,通过TXD输出距离信息;
模块主要特点:
(1)超微型,只相当于两个发射,接收头的面积,已经没法再小了.
(2)无盲区(12mm内成三角形误差较大).
(3)反应速度快,18ms的测量周期,不容易丢失高速目标.
(4)发射头,接收头紧靠,和被测目标基本成直线关系(12mm内还是大三角形,这个是发射,接收头的物理形状决定了).
(5)模块上有LED指示,方便观察和测试!
常见问题(faq):
1:超声波测距原理
超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。
测距的公式表示为:L=C×T
式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
已知超声波速度C=344m/s (20℃室温)
超声波传播速度误差
超声波的传播速度受空气的密度所影响,空气的密度越高则超声波的传播速度就越快,而空气的密度又与温度有着密切的关系,近似公式为:C=C0+0.607×T℃
式中:C0为零度时的声波速度332m/s;
T为实际温度(℃)。
40khz超声波波长约8mm,而检测是波峰电平,因此很容易误差一个波长也就是8mm,因此达不到很高精度,也不必在意温度的影响(温度影响次之)
2:为什么距离最远只有2000mm?
本传感器专为智能小车等微型设备而设计,适合小范围,小空间,封闭空间的场合,大家知道,超声波传输速度低,衰减时间长,如果一味追求距离,就会导致响应时间长,丢失目标,在室内等封闭场合会形成多次发射震荡,传感器就无法正常工作了.
下面从传感器的反应时间来分析距离的问题:
超声波空气中速度每秒约340米,折算成毫秒,就是340mm/ms,探测距离为2000mm的话,探测到回波的距离就是4000mm,超声波的传输时间是12ms,加上电路延迟,传感器的能量延迟,再预留一些保护时间(让上次超声波能量消失),每次测量时间就是18ms.18ms的反应速度对于智能小车来说是合适的,高速运动时不会丢失目标.
现在市面有一种传感器是5米,这个5米是最大距离,探测目标一般是墙面等大发射面,对于小目标是不可能达到的,先不管这个小目标到底是多少距离了,我们从传感器的反应时间来分析.这种传感器的时序跟我们的不同,它是先收到反馈然后再从Echo的脉宽上反馈出来的,而不是从echo和trig的时差来反馈的,这样传感器的反应时间又增加了一倍!这样5米传感器的反应时间最少是(上面计算1米的最少时间是6ms):5*6*2=60ms!就算最快60ms的测量周期,对于智能小车能应用已经太迟钝了!当主控CPU探测到目标时,小车恐怕已经撞上去了!
3:你的超声波发射和接收头靠的很近,为什么?
大家看到的超声波传感器一般发射和接收头分得比较开,是因为靠的越近发射头的横向波能量传递给接收头的越高,导致盲区变得很大,甚至无法正常工作,让发射头和接收头分开点是不得以而为之,这样带为的坏处是发射头,接收头和测量物体之间是三角形连接!很明显距离越近,三角形的角度就越大,这样就带来误差了.而本店传感器的发射头和接收头是紧密挨在一起的,和探测目标就是平行关系,而不是三角关系.
4:你的超声波模块真的无盲区?
本超声波传感器独创性的消除了横向干扰波,最小测量距离从0开始.
5:不同物体测量距离不同?
对!因为超声波就是频率高些的声音,不同材料,形状的物体对声音的吸收率不同,反射角度不同,只有反射到接收头(也就是超声波发射的方向)的能量才会被探测到,所以不同物体测量的有效测量距离不同.一般来说,平面光滑的物体(如镜面)反射距离最远,通常说的最大探测距离指的就是这类物体,细小的物体探测距离很近很多,如细棉线,面积小,而且吸收声音,就探测不到.
下面列举实际物体的最大探测距离:
1.圆珠笔,200mm
2.手,400mm
3.1mm粗带塑料套的电线,30mm
4.游标卡尺,450mm
5.人体(穿厚衣服),400mm
6.墙面,2.200mm(最大2300mm左右,需要垂直测量)
7.1mm粗细棉线,探测不到
8.竹牙签,40mm
6:有应用例程吗?
有,用51单片机的串口接收模块的输出信息
#include "reg51.h"
#include "sio.h"
void main (void)
{
com_initialize (); /* initialize interrupt driven serial I/O */
com_baudrate (9600); /* setup for 9600 baud */
EA = 1; // Enable Interrupts
while (1)
{
unsigned char head,dh,dl,sum;
head = com_getchar();
if (head != 0xff) continue;
dh = com_getchar();
dl = com_getchar();
sum = com_getchar();
head = head + dh + dl;
if (head != sum) continue; //和校验错
...现在dh * 256 + dl 就是测量的距离值了,再做进一步处理...
}
}
7:IO紧张,可以用更少的IO吗?
串口模式已经只用两根IO了,模块不接收数据,只发送,如果要求IO更少,单片机可以只用一根RXD就可以了.同时Enable直接接GND(模块始终工作)
8:需要更短周期的测量,可以吗?
不可以,模块以18ms为周期自动测量.
9:抗干扰性如何?
抗干扰性能比较强.设计上有几个措施:1.尽量降低输入阻抗,阻抗越高越容易引入干扰;2.模块设计的距离比较近,信号放大倍数只满足此距离;3.一般干扰源离模块越近,越容易干扰,模块对近距离的信号进行了衰减.经实际测试,模块对近距离的噪音(击掌,口哨,音频喇叭)干扰不产生动作,但较强机械震动有时会产生干扰(有较强谐波,含40khz成分),因此超声波模块避免跟可能产生振动的物体硬连接,中间可以用橡胶等减震,这样就能可靠工作了.
10:探测角度?
近距离探测角度比较大,约60度,越远距离,探测角度越小,最远处接近0度.
11:模块有其他接口方式吗?
有.另有IO模式.其他如IIC,SPI可以定做,但最常用的是IO和TTL接口方式,具体咨询店主.
12:PC电脑上能使用本模块吗?
可以.用一根USB转TTL串口线可以直接连接本模块(不能使用RS232串口,电平不同,使用会烧坏,现在的PC也没有RS232串口了),模块直接使用USB的电源,十分方便.使用方法和USB串口线请向店主了解