本文主要是介绍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系列雷达【通用指令串口助手】使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!