“Ultrasonic Distance Sensor”的版本间的差异
来自丢石头百科
Yousimaier17(讨论 | 贡献) (→操作说明) |
Yousimaier17(讨论 | 贡献) (→原理图) |
||
(未显示同一用户的14个中间版本) | |||
第31行: | 第31行: | ||
== 参数说明 == | == 参数说明 == | ||
− | + | *[[File:Ultrasonic Distance Sensor_参数说明.png|800px]] | |
− | [[File:Ultrasonic Distance Sensor_参数说明.png|800px]] | ||
== 使用说明 == | == 使用说明 == | ||
第54行: | 第53行: | ||
==== 操作说明 ==== | ==== 操作说明 ==== | ||
+ | *实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿 | ||
*'''GPIO模式''' | *'''GPIO模式''' | ||
**[[File:Ultrasonic Distance Sensor (HC-SR04)_GPIO.png|800px]] | **[[File:Ultrasonic Distance Sensor (HC-SR04)_GPIO.png|800px]] | ||
− | **工作模式同老版本HC- | + | **工作模式同老版本HC-SR04。外部MCU给模块Trig脚一个大于10uS的高电平脉冲;模块会给出一个与距离等比的高电平脉冲信号, |
+ | **可根据脉宽时间“T”算出:距离=T*C/2 (C为声速) | ||
**声速温度公式:c=(331.45+0.61t/℃)m•s-1 (其中330.45是在0℃) 其中: | **声速温度公式:c=(331.45+0.61t/℃)m•s-1 (其中330.45是在0℃) 其中: | ||
***0℃声速: 330.45M/S | ***0℃声速: 330.45M/S | ||
第62行: | 第63行: | ||
***40℃声速: 354.85M/S | ***40℃声速: 354.85M/S | ||
***0℃-40℃声速误差7%左右。 | ***0℃-40℃声速误差7%左右。 | ||
− | |||
− | |||
*'''UART模式''' | *'''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模式''' | ||
− | * | + | **IIC地址: 0X57 |
+ | **IIC传输格式: | ||
+ | ***写数据:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC_1.png|600px]] | ||
+ | ***读数据:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC_2.png|600px]] | ||
+ | **命令格式:[[File:Ultrasonic Distance Sensor (HC-SR04)_IIC.jpg|600px]] | ||
+ | **向模块写入0X01,模块开始测距;等待200mS(模块最大测距时间)以上。直接读出3个距离数据。BYTE_H,BYTE_M与BYTE_L。 | ||
+ | **距离计算方式如下(单位mm):距离=((BYTE_H<<16)+(BYTE_M<<8)+ BYTE_L)/1000 | ||
=== HY-SRF05 === | === HY-SRF05 === | ||
第80行: | 第90行: | ||
==== 操作说明 ==== | ==== 操作说明 ==== | ||
+ | *[[File:Ultrasonic Distance Sensor (HC-SR04)_GPIO.png|800px]] | ||
+ | *MCU通过Trig端口向模块提供一个10uS 以上脉冲触发信号。 | ||
+ | *模块内部自动发出8个40kHz周期的方波信号,检测是否有信号返回。 | ||
+ | *检测到有回波信号则通过Echo端口输出回响信号。回响信号的脉冲宽度与所测的距离成正比。 | ||
+ | *发射信号到收到的回响信号时间间隔可以计算得到距离。 | ||
+ | *公式:uS/58=厘米 或 uS/148=英寸 或 距离=高电平时间*声速(340M/S)12: | ||
+ | *建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。 | ||
=== US-100 === | === US-100 === | ||
第98行: | 第115行: | ||
==== 操作说明 ==== | ==== 操作说明 ==== | ||
+ | *'''GPIO测距模式''' | ||
+ | **[[File:Ultrasonic Distance Sensor (US-100)_1.png|600px]] | ||
+ | **在模块上电前,应先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。 | ||
+ | **在 Trig/TX 管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。 | ||
+ | **当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。 | ||
+ | **在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过 Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。 | ||
+ | **即距离值为:(高电平时间*340m/s)/2。 | ||
+ | **注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。 | ||
+ | |||
+ | *'''UART测距模式''' | ||
+ | **[[File:Ultrasonic Distance Sensor (US-100)_2.png|600px]] | ||
+ | **在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。 | ||
+ | **在 Trig/TX 管脚输入 0X55 (波特率 9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。 | ||
+ | **当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX管脚输出。 | ||
+ | **输出的距离值共两个字节,第一个字节是距离的高 8 位(HDate),第二个字节为距离的低 8 位(LData),单位为毫米。 | ||
+ | **即距离值为 (HData*256 +LData)mm。 | ||
+ | |||
+ | *'''UART测温模式''' | ||
+ | **[[File:Ultrasonic Distance Sensor (US-100)_3.png|600px]] | ||
+ | **在模块上电前,应先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。 | ||
+ | **在 Trig/TX 管脚输入 0X50 (波特率 9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过 Echo/RX 管脚输出。 | ||
+ | **测量完成温度后,本模块会返回一个字节的温度值(TData),实际的温度值为 TData-45。 | ||
+ | **例如通过 TX 发送完0X50 后,在 RX 端收到 0X45,则此时的温度值为69(0X45的10进制值)- 45 = 24度。 | ||
== 原理图 == | == 原理图 == | ||
第103行: | 第143行: | ||
*[[:File:Ultrasonic Distance Sensor (HY-SRF05)_原理图.pdf|HY-SRF05]] | *[[:File:Ultrasonic Distance Sensor (HY-SRF05)_原理图.pdf|HY-SRF05]] | ||
*[[:File:Ultrasonic Distance Sensor (US-100)_原理图.pdf|US-100]] | *[[:File:Ultrasonic Distance Sensor (US-100)_原理图.pdf|US-100]] | ||
+ | |||
+ | == 使用手册 == | ||
+ | *[[:File:HC-SR04(2020款).pdf|HC-SR04]] | ||
+ | *[[:File:HY-SRF05 使用手册明书.pdf|HY-SRF05]] | ||
+ | *[[:File:US100产品介绍V2.01.pdf|US-100]] | ||
== 参考例程 == | == 参考例程 == |
2023年5月6日 (六) 16:44的最新版本
| ||||||||||||||||||||||
| ||||||||||||||||||||||
|
目录
产品概述
超声波模块主要是由两个通用的压电陶瓷超声传感器,并加外围信号处理电路构成的。具体为:两个压电陶瓷超声传感器一个用于发出超声波信号,一个用于接收反射回来的超声波信号。由于发出信号和接收信号都比较微弱,所以需要通过外围信号放大器提高发出信号的功率,和将反射回来信号进行放大,以能更稳定地将信号传输给单片机。超声波模块常用于机器人避障、物体测距、液位检测、公共安防、停车场检测等场所。
工作原理
超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。(超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/200)
参数说明
使用说明
HC-SR04
引脚说明
- 引脚说明
- 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:电源负极,接地
- 功能选择端说明
操作说明
- 实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿
- GPIO模式
- 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模式
HY-SRF05
引脚说明
操作说明
- MCU通过Trig端口向模块提供一个10uS 以上脉冲触发信号。
- 模块内部自动发出8个40kHz周期的方波信号,检测是否有信号返回。
- 检测到有回波信号则通过Echo端口输出回响信号。回响信号的脉冲宽度与所测的距离成正比。
- 发射信号到收到的回响信号时间间隔可以计算得到距离。
- 公式:uS/58=厘米 或 uS/148=英寸 或 距离=高电平时间*声速(340M/S)12:
- 建议测量周期为60ms 以上,以防止发射信号对回响信号的影响。
US-100
引脚说明
- 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测距模式
- 在模块上电前,应先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。
- 在 Trig/TX 管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。
- 当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。
- 在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过 Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。
- 即距离值为:(高电平时间*340m/s)/2。
- 注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。
- UART测距模式
- UART测温模式
原理图
使用手册
参考例程
注意事项
- 此模块不宜带电连接,如果要带电连接,则先连接模块的GND。
- 如果测试面不是很规则或测试远距离物体时,可采用多次测量的方法来校正。
- 两次测试间隔要不小于200ms。
FAQ
|