TOF Laser Range Sensor

来自Waveshare Wiki
跳转至: 导航搜索
TOF-Laser-Range-Sensor
{{{name2}}}
{{{name3}}}
功能简介
特性 激光传感器
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口 CAN UART

说明

产品简介

TOF Laser Range Sensor是一款基于TOF (飞行时间) 技术的激光测距传感器,内置控制器和测距算法。 测距范围可达5m,精度高达±1.5cm,分辨率可到1mm。支持UART和CAN通信,支持主动与查询输出数据,支持级联测距。 可以作为测距工具进行距离检测,也可作为机器人避障/路线规划,还可用于无人机定高/天花板检测等领域。

产品特点

  • 基于TOF (飞行时间) 激光测距技术
  • 支持UART、CAN通信 (UART、CAN共用接口)
  • 支持短、中、长三种距离测量模式
  • 支持多种FOV角度设置,可以满足多种场景需求
  • 支持输出距离测量值dis、距离状态dis status、信号强度signal strength等信息
  • 支持两种输出方式:主动输出与查询输出
  • 支持多模块级联
  • 支持升级固件
  • 3.7 ~ 5.2V供电,防反接保护
  • 功耗约290mW
  • 940nm激光符合IEC 60825-1:2014第3版规定的Class1标准

产品参数

典型测距范围
(0.01~5.00m)
短距:0.012~2.16m
中矩:0.012~3.60m
长距:0.01~5.00m
典型测距精度 短距:精度±1.0cm,标准差<0.3cm
中距:精度±1.0cm,标准差<1.5cm
长距:精度±1.5cm,标准差<0.5cm@0.01~3m,
标准差<8cm@3~5m
测量分辨率 1mm
波长 940nm (符合Class1标准)
视场角 (FOV) 15°~27° (多档位可调)
通信接口
(UART/CAN)
UART (2个接口可同时作为UART接口,TTL信号线电平3.3V)
CAN (2个接口可同时作为CAN接口)
通信波特率 UART:115200~3000000bps (默认921600bps)
CAN:100000~3000000bps (默认100000bps)
主动输出速率 10Hz
级联数量 UART接口支持级联多达8个,CAN接口支持级联多达7个
供电电压 3.7~5.2V
产品功耗 290mW (UART主动输出,长距模式供电电压5.0V,电流58mA)
产品重量 2.7g
产品尺寸 35.58 × 12 × 8.05mm (长 × 宽 × 高)

应用场景

  • 无人机定高、天花板检测
  • 机器人避障
  • 测量与检测
  • 智能手势控制
  • 1维手势识别

工作原理

TOF是一种绝对距离检测技术,即传感器发出经过调试的近红外光,遇物体后反射,传感器通过计算光线发射和反射时差或相位差,来换算被拍摄景物的距离,以产生深度信息。相比于双目方案与3D结构光方案,TOF具有工作距离远,适用场景广,较远距离精度高等优点。因此常被应用于人员接近检测、机器人避障、照相机自动对焦等场合。室外环境中有来自太阳光的近红外光,会对模块的测量效果产生影响。

TOF-Laser-Range-Sensor-work.jpg

功能描述

【ID | 身份标识】

  • ID是用于区分不同传感器而设定的一个变量,在级联连接时用于识别各个传感器。

【Interface & Baudrate | 接口与波特率】

TOFSense支持配置为UART与CAN两种通信方式:

  • UART串口通信波特率设置范围如下:
UART串口波特率 说明
115200,230400,460800,921600,1000000,1200000,2000000,3000000 默认波特率为921600
  • CAN通信波特率设置范围如下:
CAN波特率 说明
100000,250000,500000,1000000,2000000,3000000 默认波特率为100000

接口数据输出模式设置:

  • Active Output | 主动输出:
    • 主动输出模式仅可在单模块时使用,该模式下模块以10Hz的频率主动输出测量信息。
    • 主动输出模式配置如下图:
      TOF-UART-Active-Output-setting.jpg   TOF-CAN-Active-Output-setting.jpg
  • Query Output | 查询输出:
    • 查询输出模式可在单模块与级联时使用,该模式下通过控制器向期望查询模块发送包含该模块ID的查询指令,模块即可输出一帧测量信息。
    • 查询输出模式配置如下图:
      TOF-UART-Query-Output-setting.jpg   TOF-CAN-Query-Output-setting.jpg

【Distance Status | 距离状态指示】

模块可以输出当前距离状态,用户可结合距离状态进行数据处理,距离状态含义如下:

数值 说明
0 测量距离有效
1 标准差大于15mm
2 信号强度低于1Mcps
4 相位超出界限
5 HW或VCSEL出现故障
7 相位不匹配
8 内部算法下溢
14 测量距离无效

【Signal Strength | 信号强度】

  • 指示当前返回信号的强度,该值越大表明返回信号越强。

【FOV | 视场角】

  • FOV视场角的大小决定了TOFSense的视野范围,模块可以更改X方向视场角fov.x、Y方向视场角fov.y、X方向偏移fov.x_offset、Y方向偏移fov.y_offset。
    X、Y方向视场角设置范围15°~27°,X、Y方向视场角偏移设置范围-6°~ 6°。可通过上位机软件进行设置。
  • 模块初始视场角参数fov.x=27°、fov.y=27°、fov.x_offset=0°、fov.y_offset=0°。
    通过设置X方向视场角25°、Y方向视场角15°、X方向偏移1°、Y方向偏移-1°。
    可以将模块感兴趣区域变为下图所示:
    TOF-FOV-show-1.jpg

说明:较小的FOV 可以提高模块狭小空间以及小物体的探测性能,但是FOV视场角的改变也会对模块的最远测距距离产生影响,视场角越小,最远测距距离越小。

【Indicator Light | 指示灯】

  • 指示灯共两种闪烁状态,快速闪烁0.1S闪烁一次,慢速闪烁1S闪烁一次。LED状态与含义如下:
状态 说明
快速闪烁(间隔0.1S) 模块启动阶段
快速闪烁(间隔0.1S) 模块固件更新
慢速闪烁(间隔1S) 模块正常工作

【Function Key | 功能按键】

  • 用于在CAN通信模式下进行参数配置。按住按键上电直到指示灯慢速闪烁,则强制进入UART输出模式。

【CascadeRanging | 级联测距】

  • 将多个传感器配置为不同ID并串联起来,通过一个通信接口即可读取到所有传感器的测距信息。连接示意图如下图:
    TOF-CascadeRanging-1.jpg

说明:级联测距下,适合UART查询、CAN查询、CAN主动输出三种方式。

协议解析

  • 协议由 Frame Header(帧头)、Function Mark(功能字)、Data(数据)、Sum Check(校验和)组成。
    • 其中 Frame Header、Function Mark 为固定不变的数值;
    • Data 为传输的数据内容;
    • Sum Check 为 Frame Header、Function Mark、Data 相加求和(即前面所有字节相加)后的最低字节。
  • 协议组成:
Frame Header + Function Mark + Data + Sum Check

说明:协议包遵循小端模式原则,即低字节在前,高字节在后。

  • TOFSense _UART_Frame:
    • 数据来源: 将模块连接上位机,配置UART为主动输出模式。
    • 原始数据:
57 00 ff 00 9e 8f 00 00 ad 08 00 00 03 00 ff 3a
    • 解析表:
Data Type Length (Bytes) Hex Result
Frame Header uint8 1 57 0x57
Function Mark uint8 1 00 0x00
reserved uint8 1 ff *
id uint8 1 00 0
System_time uint32 4 9e 8f 00 00 36766ms
dis*1000 uint24 3 ad 08 00 2.221m
dis_status uint8 1 00 0
signal_strength uint16 2 03 00 3
reserved * 1 ... *
Sum Check uint8 1 3a 0x3a
  • TOFSense _UART_Read_Frame:
    • 数据来源: 将模块连接上位机,配置为UART查询输出模式,id为0,通过上位机发送下列数据实现数据查询。
    • 原始数据:
57 10 FF FF 00 FF FF 63
    • 解析表:
Data Type Length (Bytes) Hex Result
Frame Header uint8 1 57 0x57
Function Mark uint8 1 10 0x10
reserved uint8 2 ff *
id uint8 1 00 0
reserved uint8 2 ff *
Sum Check uint8 1 63 0x63
  • TOFSense _CAN_Frame:
    • 数据来源: 模块配置为CAN主动输出模式,id为1,连接CAN接收设备。
    • 原始数据:
AD 08 00 00 03 00 FF FF
    • 解析表:
Field name Part Level Type Length(bits) Hex Result
Start Of Frame SOF * 1 * *
Arbitration Field ID * 11 0x200+id 0x201
Arbitration Field RTR * 1 * *
Control Field IDE * 1 * *
Control Field r0 * 1 * *
Control Field DLC * 4 * *
Data Field dis*1000 uint24 24 ad 08 00 2.221m
Data Field dis_status uint8 8 00 0
Data Field signal_strength uint16 16 03 00 3
Data Field reserved * 16 * *
CRC Field CRC * 15 * *
CRC Field CRC_delimiter * 1 * *
ACK Field ACK Slot * 1 * *
ACK Field ACK_delimiter * 1 * *
End Of Frame EOF * 7 * *
  • TOFSense _CAN_Read_Frame:
    • 数据来源: 模块配置为CAN查询输出模式,id为1,连接CAN查询设备,配置id_s为2。
    • 原始数据:
FF FF FF 01 FF FF FF FF
    • 解析表:
Field name Part Level Type Length(bits) Hex Result
Start Of Frame SOF * 1 * *
Arbitration Field ID * 11 0x400+id_s 0x402
Arbitration Field RTR * 1 * *
Control Field IDE * 1 * *
Control Field r0 * 1 * *
Control Field DLC * 4 * *
Data Field reserved uint24 * * *
Data Field id uint8 8 01 id = 1
Data Field reserved uint16 * * *
CRC Field CRC * 15 * *
CRC Field CRC_delimiter * 1 * *
ACK Field ACK Slot * 1 * *
ACK Field ACK_delimiter * 1 * *
End Of Frame EOF * 7 * *
  • TOFSense _Setting_Frame(Length:32 Bytes) —— RW:
    • 解析表:

TOFSense-Setting-table.png

软件说明

TOF Assistant是TOF激光测距模块配套的调试软件,主要作用为:配置调试、状态显示、功能应用、固件升级:

  • 配置调试:用于配置节点相关参数,如ID、工作模式、波特率等。
  • 功能应用:用于应用开发,如数据导入导出、运动轨迹存储、历史轨迹回放等。
  • 固件升级:用于给产品进行有线固件升级。

产品尺寸

  • TOF-Laser-Range-Sensor-details-size.jpg

树莓派使用

树莓派环境配置

  • 树莓派串口配置

由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。执行如下命令进入树莓派配置:

sudo raspi-config

选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。 A7600C1-Cat-Hat-OpenSerial.jpg
需要重启

sudo reboot

打开/boot/config.txt文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:

enable_uart=1

重启生效

模组参数设置

TOF Laser Range Sensor模块UART波特率需要通过上位机设置成:115200;
树莓派使用TOF Laser Range Sensor模块的效果如下:
TOF Laser Range Sensor raspberry1.jpg

硬件连接

TOF-Laser-Range-Sensor-Pi-connected.jpg

Jetson Nano使用

硬件连接

TOF Laser Range Sensor jetson connect.jpg

软件设置

TOF Laser Range Sensor模块UART波特率需要通过上位机设置成:115200;
TOF-setting-1.png

TOF-setting-2.png
Jetson nano使用TOF Laser Range Sensor模块的效果如下:
TOF Laser Range Sensor jetson Demo.png

Arduino使用

硬件连接

TOF-setting-1.png

TOF-setting-2.png

TOF-Laser-Range-Sensor-Arduino-connected.jpg

TOF-Arduino-Test.jpg

软件设置

TOF Laser Range Sensor模块UART波特率需要通过上位机设置成:115200;

FAQ


Q1. 室外(强光)条件下可以用吗?

  模块受自然光影响。一般来说自然光越强,受影响越大,表现为测距距离变短、精度变差、波动变大。强光情况下(如太阳光)一般推荐在近距离检测场景使用。

Q2. 多个模块是否有干扰?

  没有干扰。当多个模块同时工作时,即使相互之间的红外光线交叉或打到同一个位置,也不会影响实际测量。

Q3. 为什么TOFSense没有数据输出?

  各个模块均经过严格的测试后发货,没有数据时请先自行检查模式、接线、波特率等配置是否正确;对于CAN输出模式,请检查是否含有终端电阻(一般为120Ω)。

Q4. 安装时需要注意什么?

安装时需避免FOV角度内有遮挡。另外需要注意与地面高度,应避免FOV内出现地面遮挡等类似反射面。

Q5. 模块的UART与CAN是同一个接口吗?

模块的UART接口与CAN接口公用相同的物理接口,针对不同的通讯模式转换对应线序即可。

Q6. 如何配置模块为UART或CAN通信模式?

在UART通讯模式下,通过上位机即可将模块配置为CAN通讯模式;在CAN通讯模式下,需按住按键并后将模块上电,当指示灯变为慢速闪烁后松开按键,此时模块强制进入UART模式,再通过上位机写入UART配置即可。

Q7. 模块输出的是最近距离、最远距离还是平均距离?

模块单次测试量会得到FOV内的多组距离值,并由内部处理器处理得到占比最大的距离输出

Q8. 模块是否支持输出点云信息?

模块单次只能输出一个距离,暂时不支持点云信息的输出。

Q9. 模块I/O口工作电平?

固定为3.3V

Q10. 模块怎么控制关机?

不支持关机,目前主动输出和查询输出两种模式,功耗约290mW。

Q11. 打开软件报错“由于找不到 MSVC***.dll 文件……”,可能是电脑缺少微软相应运行时组件,选择系统对应位数下载安装通常即可解决?

Visual C++ Redistributable for Visual Studio 2017,若上述安装失败或者 显示成功但打开NAssistant程序仍提示缺少dll文件,则尝试安装 KB2999226 补丁程序,注意,请选择电脑系统对应版本补丁程序,详细请参考博客关于 api-ms-win-crt-runtimel1-1-0.dll 缺失的解决方案

Q12. 打开软件报错“由于找不到Qt***.dll……”?

请检查安装文件是否被360等安全软件无声拦截,请退出安全软件后,重新安装。另外以管理员权限运行

技术支持


联系人:黄工
QQ:2850151199
EMAIL:2850151199@qq.com
电话:0755-83040712
微信:扫下方二维码添加
Service20-Weichat.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证