安信可雷达模组Rd-03D已经上市,该雷达采用一发两收的天线,可以实现目标跟踪,实现对区域内目标测距、测角和测速。可用于智能控制空调、风扇等家电运行、智能马桶、感应灯、台灯、镜子灯、智能调节屏幕亮度等各行业场景中。
本应用示例使用STM32解析Rd-03D的串口数据,检测人体距离雷达的角度,根据不同角度点亮不同的灯珠:-60度到-20度点亮 LED1,-20度到20度点亮LED2,20度到60度点亮LED3。
一、Rd-03D引脚说明
J1引脚说明:
J#PIN# | 名称 | 功能 | 说明 |
J1PIN1 | 5V | 电源输入 | 连接串口转接板5V |
J1PIN2 | GND | 接地 | 连接串口转接板GND |
J1PIN3 | TX | UART_TX | 连接串口转接板RXD |
J1PIN4 | RX | UART_RX | 连接串口转接板TXD |
J1PIN5 | DP | 烧录数据正信号 | 若使用4Pin的连接器,则该引脚未使用 |
J1PIN6 | DM | 烧录数据负信号 | 若使用4Pin的连接器,则该引脚未使用 |
J2引脚说明:
J#PIN# | 名称 | 功能 | 说明 |
J2PIN1 | 5V | 电源输入 | 5V |
J2PIN2 | DM | 烧录数据负信号 | - |
J2PIN3 | DP | 烧录数据正信号 | - |
J2PIN4 | DEBUG | 调试串口TXD | 用于调试固件 |
J2PIN5 | GND | 接地 | - |
J2PIN6 | TX | UART_TXD | 连接串口转接板RXD |
J2PIN7 | RX | UART_RXD | 连接串口转接板TXD |
二、软件设计框架
三、STM32F103C8T6使用CubeMX搭配HAL库配置
打开CubeMX,选择STM32F103C8T6。
选择两个串口,分别是串口1和串口2,PA9为USART1_TX,PA10为USART1_RX,PA2为USART2_TX,PA3为USART_RX。
选择异步通讯,勾选中断,注意:串口1的波特率为256000,串口2波特率为115200。
设置GPIO口
四、STM32与Rd-03D和LED灯的接线
Rd-03D | STM32 | LED | ||
5V | — — | 5V | — — | |
GND | — — | GND | — — | LED123 负极 |
TX | — — | PA10 | ||
RX | — — | PA9 | ||
PA11 | — — | LED1正极 | ||
PA12 | — — | LED2正极 | ||
PA15 | — — | LED2正极 |
五、串口数据处理
Rd-03D的串口数据
Rd-03D模组通过串口(TTL电平)与外界通信,雷达串口默认波特率为256000,1停止位,无奇偶校验位。雷达输出检测到的目标信息,包括在区域中的x坐标,y坐标,以及目标的速度值(小端模式)。
上报是数据帧格式:
帧头部 | 帧内数据 | 帧尾部 |
AA FF 03 00 | 目标1信息 目标2信息 目标3信息 | 55 CC |
数据示例:AA FF 03 00 0E 03 B1 86 10 00 68 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 CC
红色部分表示目标1的信息,蓝色表示目标2的信息,绿色表示目标3的信息。
本示例展示解析单目标模式下对角度信息进行解析,所以需对单个目标内的数据进行解析(即目标1),其中单个目标具体包含内容如下:
目标 x 坐标 | 目标 y 坐标 | 目标速度 | 像素距离值 |
signed int16类型;最高位1对应正坐标,0对应负坐标;其余15位代表x坐标绝对值,单位mm | signed int16类型;最高位1对应正坐标,0对应负坐标;其余15位代表y坐标绝对值,单位mm | signed int16类型;最高位1对应正向速度,0对应负向速度;其余15位代表速度绝对值,单位cm/s | Uint16类型;单个像素距离值,单位mm。 |
根据目标X,Y坐标数据帧说明可知,若像上述数据示例,模组将目标1的角度数据转换为相关坐标信息的过程展示如下:
目标1x坐标:OxOE+Ox03*256= 782
0-782= -782 mm
目标1y坐标:OxB1+Ox86*256 = 34481
34481-2^15= 1713 mm
六、STM32数据处理
角度计算过程运用到了三角函数知识,求对边比邻边(即x/y)tan(θ)角度,如图:
具体实现代码(部分截图,详情请点击“阅读原文”查看原贴)
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !