Benewake(北醒) 单点TF系列雷达【通用指令串口助手】使用说明

本文主要是介绍Benewake(北醒) 单点TF系列雷达【通用指令串口助手】使用说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、硬件准备
    • 1:连接设备
    • 2:串口连接以及读数
  • 二、通信接口说明
    • 1. UART
    • 2. IIC
    • 3. 485
    • 4. CAN
  • 三、常见问题
    • 1 连接串口后无数据

一、硬件准备

在这里插入图片描述

1:连接设备

连接『TF系列产品』、『TTL - USB 转接板』和『USB 线』,确保无松动,再将『USB 线』与『电脑』连接。

2:串口连接以及读数

打开串口助手,选择对应 COM 口以及波特率后,点击连接。

在这里插入图片描述

二、通信接口说明

北醒激光雷达通信接口
TF-LC02支持 UART 接口(PS:指令编码格式和其他雷达不同,更多详情请参考用户手册)
TF-Luna 、TFmini-S 、TFmini Plus 、TF02-Pro支持 UART 和 IIC 两种接口,默认为 UART 接口,可通过指令切换
TFmini-i 、TF02-i分为 485 版本和 CAN 版本,两种通信接口的硬件不同,不能通过指令切换,采购前请确认产品型号
TF03 、TF350标准串口版本支持 UART 和 CAN 两种接口,默认为 UART 接口,可通过指令切换;工业版支持 RS-485 和 RS-232 两种接口,默认为 RS-485 接口,可通过指令切换
TF02-Pro-W分为串口版本和 RS-485 版本;串口版本支持 UART 和 IIC 接口,默认为 UART 接口,可通过指令切换
TF40支持 UART 接口(PS:指令编码格式和其他雷达不同,更多详情请参考用户手册)

1. UART

默认为上电即测量,上电后打开串口助手可以获得测量数据。

数据结构:数据帧长度为9字节。包含距离信息(Distance)、信号强度信息(Strength)、温度(Temp)、数据校验字节(Checksum)等。数据格式为16进制(HEX)。

标准数据输出格式如下图所示:
在这里插入图片描述
Dist(Distance): 代表测量输出的距离值,默认单位为 cm。实际使用过程中,当信号强度值 Strength<100 或等于 65535(信号过曝)时,Dist 的测量值被认为不可信,默认输出 0。
Strength: 指信号强度,默认输出值会在 0-65535 之间。当测距档位一定时,测距越远,信号强度越低;目标物反射率越低,信号强度越低。当 Strength 大于 100 且不等于 65535 时,认为 Dist的测量值可信,客户可以根据使用场景自行调整。
Temp(Temperature): 表征芯片内部温度值。摄氏度 = Temp / 8 - 256。

发送指令编码格式如下图所示:
在这里插入图片描述
举例,保存设置指令:5A 04 11 6F

2. IIC

通信时序:
在这里插入图片描述
雷达默认地址是 0x10,则通过串口在 IIC 模式下获取测量距离的命令为: 53 20 05 5A 05 00 01 60 50 53 21 09 50
命令解释:
0x53: USB-I²C 转换器的 S 命令,发起 start 信号(详见转接器使用手册);

0x20: 写操作(IIC 协议规定高 7 位代表从节点的寻址地址,最低位代表读/写,0 为写操作,1 为读操作。从机地址 0x10(DEC),0x10 的 2 进制表示 00010000。高 7 位代表地址故先左移一位为 00100000,最低位写为 0,所以是 00100000 即 0x20(DEC));
0x05: 写入 5 个字节数据;
5A 05 00 01 60: 获取测距结果,雷达在 IIC 模式下读取距离的指令

0x53: USB-I²C 转换器的 S 命令,发起 start 信号(详见转接器使用手册);
0x21: 读操作(高 7 位代表地址,最低位代表读/写。从机地址 0x10,0x10 的二进制表示 0001 0000,高七位是地址故先左移一位为 00100000,最低位读为 1,所以是 00100001 即 0x21);
0x09: 读取 9 个字节数据;
0x50: USB-I²C 转接器的 P 命令,发起 stop 信号(详见转接器使用手册);
发送上述指令后,雷达返回 9 个字节的数据,为标准数据输出格式。

在这里插入图片描述

3. 485

RS-485 接口下默认为 Modbus 协议,默认波特率为 115200,默认地址为 0x01。

数据获取指令说明:
Modbus 协议使能时,在串口助手发送获取雷达测量值的指令格式为:01 03 00 00 00 01,点击发送。可以看到雷达返回十六进制表示的测距值。
正确返回值的格式为 01 03 02 DH DL CL CH。DH、DL 分别是 Dist 的高 8bit 和低 8bit;CL、CH 分别是 CRC的低 8bit 和高 8bit。例如,返回 01 03 02 00 CB F9 D3,可知其距离值的十六进制表示为 00CB,转换成十进制为 203cm。
在这里插入图片描述

4. CAN

CAN 协议下的数据格式如下图所示,数据均为16进制数,每帧数据共计 8 字节,数据包含实测距离信息,即 DIST,单位为 cm;信号强度,即 Strength;时间戳信息,单位 ms。
CAN 通信数据格式:
在这里插入图片描述
CAN通信数据说明:
打开 USB_CAN TOOL,进行参数设置。CAN 版本雷达波特率默认为 250kbps,帧格式默认为标准帧,发送和接收 ID 默认为 0x00000003。

在主页面找到“CAN 发送”栏,选择“帧格式”为“标准帧”(帧格式可以选择“标准帧”或“拓展帧”,在实际使用中通常使用“标准帧”),选择“帧类型”为“数据帧”,帧 ID 设置为“00 00 00 03”。

在这里插入图片描述
在上方菜单栏找到“设备操作”,点击“启动设备”。选择波特率为“250k bps”。点击确定,设备启动。

在这里插入图片描述在这里插入图片描述
设备成功启动后,在右侧输出数据栏可以读取实测距离信息及信号强度。输出数据均为 16 进制数,前两个数据位分别为距离值的低八位和高八位,第三、四数据位分别为信号强度的低八位和高八位,最后两个数据位为保留位。例如,输出数据帧为:DD 00 6B 12 26 6D 00 00,则实测距离值为 000000DD,十进制表示为 221;信号强度为 0000126B,十进制表示为 4715。综上,实测距离值为 221cm,信号强度为 4715。

在这里插入图片描述

三、常见问题

1 连接串口后无数据

可能原因:

  • 硬件连线错误
  • 波特率选择不正确(默认为115200)
  • 所选串口号与雷达设备不匹配
  • 雷达切换为IIC模式(默认为串口UART模式)

PS: 更多详情请参考产品规格书及使用说明书
可到官网下载最新的资料:http://www.benewake.com/

这篇关于Benewake(北醒) 单点TF系列雷达【通用指令串口助手】使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/394615

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

如何使用CSS3实现波浪式图片墙

《如何使用CSS3实现波浪式图片墙》:本文主要介绍了如何使用CSS3的transform属性和动画技巧实现波浪式图片墙,通过设置图片的垂直偏移量,并使用动画使其周期性地改变位置,可以创建出动态且具有波浪效果的图片墙,同时,还强调了响应式设计的重要性,以确保图片墙在不同设备上都能良好显示,详细内容请阅读本文,希望能对你有所帮助...

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c