Ultrasonic Distance Sensor

来自丢石头百科
Ultrasonic Distance Sensor
Ultrasonic Distance Sensor (HC-SR04).jpg

Ultrasonic Distance Sensor (HC-SR04)


Ultrasonic Distance Sensor (HY-SRF05).jpg

Ultrasonic Distance Sensor (HY-SRF05)


Ultrasonic Distance Sensor (US-100).jpg

Ultrasonic Distance Sensor (US-100)

基本信息

分类: 传感器

品牌: 丢石头

功能简介
特性
  • 超声波传感器

接口

UART接口 IIC接口 I/O口

相关产品

{{{related}}}

产品概述

超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的。具体为:两个压电陶瓷超声传感器一个用于发出超声波信号,一个用于接收反射回来的超声波信号。由于发出信号和接收信号都比较微弱,所以需要通过外围信号放大器提高发出信号的功率,和将反射回来信号进行放大,以能更稳定地将信号传输给单片机。超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。

工作原理

超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。(超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/200)

    • Ultrasonic Distance Sensor 原理.png

参数说明

  • Ultrasonic Distance Sensor 参数说明.png

使用说明

HC-SR04

引脚说明

  • Ultrasonic Distance Sensor HC-SR04.jpg
  • 引脚说明
    • 1、VCC:电源正极,接电压3V-5.5V
    • 2、Trig/Rx/SCL/ I/O:接收MCU发送的控制脉冲
      • GPIO模式:Trig 触发信号,接外部电路的Trig端
      • UART模式:Rx 接收信号,接外部电路的Tx端
      • IIC模式:SCL 时钟信号,接外部电路的SCL端
      • 1-Wire模式:I/O 接收/发送信号
    • 3、Echo/Tx/SDA:向MCU发送数据脉冲
      • GPIO模式:Echo 反馈信号,接外部电路的Echo端
      • UART模式:Tx 发射信号,接外部电路的Rx端
      • IIC模式:SDA 数据信号,接外部电路的SDA端
    • 4、GND:电源负极,接地
  • 功能选择端说明
    • Ultrasonic Distance Sensor (HC-SR04) 引脚说明.png

操作说明

  • 实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿
  • GPIO模式
    • Ultrasonic Distance Sensor (HC-SR04) GPIO.png
    • 工作模式同老版本HC-SR04。外部MCU给模块Trig脚一个大于10uS的高电平脉冲;模块会给出一个与距离等比的高电平脉冲信号,
    • 可根据脉宽时间“T”算出:距离=T*C/2 (C为声速)
    • 声速温度公式:c=(331.45+0.61t/℃)m•s-1 (其中330.45是在0℃) 其中:
      • 0℃声速: 330.45M/S
      • 20℃声速: 342.62M/S
      • 40℃声速: 354.85M/S
      • 0℃-40℃声速误差7%左右。
  • UART模式
    • UART模式:波特率9600,起始位1位,停止位1位,数据位8位,无奇偶校验位,无流控制
    • 连接串口。外部MCU或PC发命令0XA0,模块完成测距后发3个返回距离数据,BYTE_H,BYTE_M与BYTE_L。
    • 距离计算方式如下(单位mm):
      • 距离=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000
  • IIC模式
    • IIC地址: 0X57
    • IIC传输格式:
      • 写数据:Ultrasonic Distance Sensor (HC-SR04) IIC 1.png
      • 读数据:Ultrasonic Distance Sensor (HC-SR04) IIC 2.png
    • 命令格式:Ultrasonic Distance Sensor (HC-SR04) IIC.jpg
    • 向模块写入0X01,模块开始测距;等待200mS(模块最大测距时间)以上。直接读出3个距离数据。BYTE_H,BYTE_M与BYTE_L。
    • 距离计算方式如下(单位mm):距离=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000

HY-SRF05

引脚说明

  • Ultrasonic Distance Sensor HY-SRF05.jpg
  • 引脚说明
    • 1、VCC:电源正极,接电压5V DC
    • 2、Trig:触发信号,接收MCU发送的控制脉冲
    • 3、Echo:反馈信号,向MCU发送数据脉冲
    • 4、OUT:开关量输出端
    • 5、GND:电源负极,接地

操作说明

  • Ultrasonic Distance Sensor (HC-SR04) GPIO.png
  • MCU通过Trig端口向模块提供一个10uS 以上脉冲触发信号。
  • 模块内部自动发出8个40kHz周期的方波信号,检测是否有信号返回。
  • 检测到有回波信号则通过Echo端口输出回响信号。回响信号的脉冲宽度与所测的距离成正比。
  • 发射信号到收到的回响信号时间间隔可以计算得到距离。
  • 公式:uS/58=厘米 或 uS/148=英寸 或 距离=高电平时间*声速(340M/S)12:
  • 建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。

US-100

引脚说明

  • Ultrasonic Distance Sensor US-100.jpg
    • 1、VCC:电源正极,接电压2.4V-5.5V
    • 2、Trig/Tx:接收MCU发送的控制脉冲
      • GPIO模式:Trig 触发信号,接外部电路的Trig端
      • UART模式:Tx 接收信号,接外部电路的Tx端
    • 3、Echo/Rx:向MCU发送数据脉冲
      • GPIO模式:Echo 反馈信号,接外部电路的Echo端
      • UART模式:Rx 发射信号,接外部电路的Rx端
    • 4、GND:电源负极,接地
    • 5、GND:电源负极,接地
  • 功能选择端说明
    • 插上跳线帽时,为UART模式
    • 拔掉跳线帽时,为GPIO模式

操作说明

  • GPIO测距模式
    • Ultrasonic Distance Sensor (US-100) 1.png
    • 在模块上电前,应先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。
    • 在 Trig/TX 管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。
    • 当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。
    • 在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过 Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。
    • 即距离值为:(高电平时间*340m/s)/2。
    • 注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。
  • UART测距模式
    • Ultrasonic Distance Sensor (US-100) 2.png
    • 在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。
    • 在 Trig/TX 管脚输入 0X55 (波特率 9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。
    • 当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX管脚输出。
    • 输出的距离值共两个字节,第一个字节是距离的高 8 位(HDate),第二个字节为距离的低 8 位(LData),单位为毫米。
    • 即距离值为 (HData*256 +LData)mm。
  • UART测温模式
    • Ultrasonic Distance Sensor (US-100) 3.png
    • 在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。
    • 在 Trig/TX 管脚输入 0X50 (波特率 9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过 Echo/RX 管脚输出。
    • 测量完成温度后,本模块会返回一个字节的温度值(TData),实际的温度值为 TData-45。
    • 例如通过 TX 发送完0X50 后,在 RX 端收到 0X45,则此时的温度值为69(0X45的10进制值)- 45 = 24度。

原理图

使用手册

参考例程

注意事项

  • 此模块不宜带电连接,如果要带电连接,则先连接模块的GND。
  • 如果测试面不是很规则或测试远距离物体时,可采用多次测量的方法来校正。
  • 两次测试间隔要不小于200ms。

FAQ

Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)