_SKU_SEN0152_URM06 ANALOG_大功率超声波测距模块 - jimaobian/DFRobotWikiCn GitHub Wiki

URM06超声波测距模块

概 述

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

性能描述

  • 工作电源 :6V-12V
  • 工作电流 :平时电流16mA,发送时瞬间电流2A
  • 工作温度 :-10℃~+70℃
  • 接口方式 :模拟电压输出
  • 工作频率 :49.5KHZ。探头方向角 15°(-6dB)
  • 测量范围 :20厘米到10米
  • 模块尺寸 :喇叭口最大尺寸50mm,安装螺纹50mm,长40mm
  • 模块重量 :45g

模块测量角度

方向角 15°(-6dB)

安装尺寸

安装尺寸

引脚定义

1.VCC : 电源 6-12V 2A直流

2.GND : 电源负

3.TRIG: 超声波TTL电平触发输入,低电平触发,低电平宽度不得小于50微秒。如果一直锁定到低电平,每隔100毫秒自动测量一次。

4.OUT : 超声波测距模拟电压量输出,输出的电压代表距离。每每0.33毫伏代表1毫米。

测试代码(用LCD显示)

#include <LCD4Bit_mod.h>
///////////URM06 模拟量输出模式测试代码/////////////////////
//使用LCDKEYPAD对距离进行显示
//显示的内容 distance:10123mm
///////////////////////////////////////////////////////////

#define  TRIGGER   2  // 触发超声波
#define  ANALOG    1  // ADC1 读取模块输出的模拟量

LCD4Bit_mod lcd = LCD4Bit_mod(2);   //使用LCDKEYPAD对距离进行显示

void setup()
{
  pinMode(TRIGGER, OUTPUT);
  lcd.init();
  lcd.clear();
}
void loop()
{
  char temp = 0 ;
  char thousand = 0 ;
  char hundred = 0;
  char ten = 0;

  lcd.clear();
  lcd.cursorTo(0, 0);
  lcd.printIn("distance:");
  digitalWrite(TRIGGER, LOW); // 使超声波信号使能接口低电平50μs
  delayMicroseconds(50);
  digitalWrite(TRIGGER, HIGH); // 使超声波信号使能接口高电平50μs
  delayMicroseconds(50);

  unsigned int distance = analogRead(ANALOG);  // 读取URM06输出的模量

  distance = (unsigned int)(((unsigned long)distance * 5000)/1024);  //设置参考电压为5V,计算出单位为毫伏的采集到的模拟电压

  distance = (unsigned int)((float)distance / 0.33f); //输出距离值,单位毫米,每0.33毫伏代表1毫米

  temp = distance / 10000;

  if(0 == temp)
    lcd.print(' ');
  else
    lcd.print(0x30 + temp);

  thousand = (distance % 10000) / 1000;
  if(0 == temp && 0 == thousand)
    lcd.print(' ');
  else
    lcd.print(0x30 + thousand) ;

  hundred = (distance % 1000) / 100;
  if(0 == temp && 0 == thousand && 0 == hundred)
    lcd.print(' ');
  else
    lcd.print(0x30 + hundred) ;

  ten = (distance % 100) / 10;
  if(0 == temp && 0 == thousand && 0 == hundred && 0 == ten)
    lcd.print(' ');
  else
    lcd.print(0x30 + ten);

  temp = distance % 10;
  lcd.print(0x30 + temp);
  lcd.printIn("mm");
  delay(100);  //延迟100ms,进行第二次测量
}

测试代码(arduino 串口窗显示)

此方法更为简单,只需一篇arduino板即可。连线见代码注释部分:



///////////URM06 模拟量输出模式测试代码/////////////////////
//使用arduinoIDE 串口窗 对距离进行显示
//显示的内容 **mm
//
//连线:arduino A0-OUT;Arduino pin2-TRIG;VIN-VCC;GND-GND;
///////////////////////////////////////////////////////////

#define  TRIGGER   2  // 触发超声波

void setup()
{
  Serial.begin(9600);
  pinMode(TRIGGER, OUTPUT);
}
void loop()
{
  digitalWrite(TRIGGER, LOW); // 使超声波信号使能接口低电平,100ms/time

  unsigned int distance = analogRead(A0);  // 读取URM06输出的模量

  distance = (unsigned int)(((unsigned long)distance * 5000)/1024);  //设置参考电压为5V,计算出单位为毫伏的采集到的模拟电压

  distance = (unsigned int)((float)distance / 0.33f); //输出距离值,单位毫米,每0.33毫伏代表1毫米

  Serial.print(distance);
  Serial.println("mm");
  delay(100);  //延迟100ms,进行第二次测量
}

应用领域

机器人壁障导航 URM05_8.jpg


测距仪器 URM05_9.jpg


工程测量 URM05_6.jpg


工业控制 URM05_5.jpg

File:nextredirectltr.png购买 URM06-ANALOG 大功率超声波测距模块 (SKU:SEN0152)

category: Product Manual category: SEN Series