URM05大功率静电超声波测距传感器__SKU_SEN0003_ - jimaobian/DFRobotWikiCn GitHub Wiki

URM05 大功率静电超声波测距模块(SKU:SEN0003)

概 述

URM05是基于senscomp公司6500超声波静电换能器设计的一款大功率超声波。测量距离可达10米,另外一个显著的特点是超声波探测夹角只有15°,而大多数的超声波是60°。这样就可以提高超声波测量角度分辨率,是机器人等应用领域壁障导航方案的首选。

性能描述

  • 工作电源:工作电压5V
  • 工作电流:平时电流55mA,发送时瞬间电流2A
  • 工作温度范围 :-10℃~+70℃
  • 接口方式:RS485接口 和 TTL电平脉宽
  • 工作频率49.5KHZ。探头方向角 15°(-6dB)
  • 超声波距离测量:20厘米到10米
  • 工作模式:单回声模式和多回声模式
  • 模块尺寸:长度46mm,宽度40mm,高度21mm
  • 模块重量:19g

模块测量角度

方向角 15°(-6dB)

安装尺寸

安装尺寸

TTL触发模式引脚定义

引脚定义 1.VDC : 电源 5V 2A直流。

2.GND : 电源负。

3.ECHO: 输出脚输出的高电平脉宽代表距离。每1微秒等于1毫米。如果测量失败将返回一个15000微秒高电平脉冲代表测量失败。

4.INIT : Initiate 开始触发引脚,低电平触发,低电平宽度不得小于50微秒。

时序图

RS485接口命令说明

通信参数: 波特率 19200 bps

出厂地址 0x11

数据位 8 bit

停止位 1 bit

校验位 None

流控 None

通信命令帧格式为

帧头 地址 数据长度 命令 数据 校验和
0x55 0xAA 1字节 1字节 1字节 数据1~数据n 1字节

测距

主机通过RS485接口向超声波模块发送一帧命令,触发模块开始测距,之后接收模块返回的距离值命令。

说明:

对方地址-----超声波模块地址

数据长度----- 0x00

命令------0x02

如果测量失败,则返回距离值为0xFFFF,即十进制65535。

例如、 超声波模块地址为 0x12,则主机发送

0x55 0xAA 0x12 0x00 0x02 0x13

超声波模块返回命令为

0x55 0xAA 0x12 0x02 0x02 0x13 0x44 0x6D

其中 0x33 为距离的高位数据

0x44 为距离的低位数据

距离值为 0x1344 单位为 毫米,即十进制4932毫米。

温度读取

主机通过RS485接口读取超声波模块测得的当前温度。

说明:

对方地址-----超声波模块地址

数据长度----- 0x00

命令------0x03

例如、 超声波模块地址为 0x12,则主机发送

0x55 0xAA 0x12 0x00 0x03 0x14

超声波模块返回命令为

0x55 0xAA 0x12 0x02 0x03 0x00 0xFF 0x15

其中 0x00 为温度的高位数据

0xFF 为温度的低位数据

温度值为 0x00FF 即十进制255,表示25.5摄氏度。

注意:此温度值是放大了10倍之后的值。如温度值值为 323,则实际温度是 32.3°C 测量范围-10摄氏度到+70摄氏度,数据是一个带符号的int16数据。负数将以补码出现,判断方法为如最搞位BIT15是1说明是负温度,那么将数据取反加1。

设置超声波模块地址

主机通过RS485接口设置超声波模块地址。

说明:

对方地址-----0xAB

数据长度----- 0x01

命令------0x55

例如、 设置超声波模块地址为 0x12,则主机发送

0x55 0xAA 0xAB 0x01 0x55 0x12 0x12

设置成功则超声波模块返回命令为

0x55 0xAA 0x12 0x01 0x55 0xCC 0x33

0xAB为广播地址,即所有模块的共享地址,同时不确定模块地址的状态下,可以通过对地址0xAB发送0x55指令来设定模块的地址。内容ADD为设置的新地址

返回状态数据字含义说明: 0xCC——操作完成 0xEE——操作失败

设备地址设定成功后,模块会根据自己新的设备地址返回状态;

设置超声波模块测量距离上限值

主机通过RS485接口设置超声波模块测量距离上限值。

说明:

对方地址-----超声波模块地址

数据长度----- 0x02

命令------0x04

例如、 超声波模块地址为 0x12,要设置测量上限值为 2000毫米,则主机发送

0x55 0xAA 0x12 0x02 0x04 0x07 0xD0 0xEE

返回: 0x55 0xAA 0x12 0x00 0x04 0xCC 0xE1

指令说明: 设定超声波模块测量距离上限,以满足不同的应用需求,同时根据应用环境适当减小测量上限能够提高传感器数据输出刷新率 可以通过指令号0x05读取当前测量距离上限值。 PS:出厂设定值为传感器最大测量范围

距离上限设定公式: Max Measuring Value = HighByte *256 + LowByte (单位:mm)

返回状态数据字含义说明: 0xCC——操作完成 0xEE——操作失败

读取超声波模块测量距离上限值

主机通过RS485接口读取超声波模块测量距离上限值。

说明:

对方地址-----超声波模块地址

数据长度----- 0x00

命令------0x05

例如、 超声波模块地址为 0x12,要读取该模块测量上限值,则主机发送

0x55 0xAA 0x12 0x00 0x05 0x16

超声波模块返回上限值格式为

0x55 0xAA 0x12 0x02 0x04 0x07 0xD0 0xEE

返回设置上限距离0x07D0 即十进制2000毫米

指令说明:

读取当前传感器上限测量距离,单位mm。

距离上限设定公式: Max Measuring Value = HighByte *256 + LowByte (单位:mm)

样例代码


////////////URM05 v2 通过TTL触发模式读取 arduino测试例子 /////////////////////////
#define  INIT   4  // 触发超声波
#define  ECHO   5  // 接收回波
#define  LED    13 //L灯做指示
void setup()
{
  Serial.begin(9600);
  pinMode(LED,OUTPUT);
  pinMode(INIT, OUTPUT);
  pinMode(ECHO, INPUT);

  digitalWrite(INIT, HIGH);  //平时触发脚输出高
}
void loop()
{
  digitalWrite(INIT, LOW); // 使超声波信号使能接口低电平2μs
  delayMicroseconds(10);
  digitalWrite(INIT, HIGH); // 使超声波信号使能接口高电平10μs
  delayMicroseconds(10);

  int distance = pulseIn(ECHO,HIGH);  // 读高脉冲时间
  Serial.println(distance);  //输出距离值,单位毫米
  delay(50);

  if (distance >=300)
       digitalWrite(LED,LOW); //如果距离大于30厘米L灯亮起
  else
       digitalWrite(LED,HIGH);//如果距离小于30厘米L灯熄灭
}

应用领域

机器人壁障导航 URM05_8.jpg


测距仪器 URM05_9.jpg


工程测量 URM05_6.jpg


工业控制 URM05_5.jpg

File:nextredirectltr.png购买 URM05大功率静电超声波测距模块 (SKU:SEN0003)

category: Product Manual category: SEN Series