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

相关文章

Spring Boot整合Redis注解实现增删改查功能(Redis注解使用)

《SpringBoot整合Redis注解实现增删改查功能(Redis注解使用)》文章介绍了如何使用SpringBoot整合Redis注解实现增删改查功能,包括配置、实体类、Repository、Se... 目录配置Redis连接定义实体类创建Repository接口增删改查操作示例插入数据查询数据删除数据更

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV