HMMD-mmWave-Sensor
| |||||||||||||||||||||
| |||||||||||||||||||||
产品概述
HMMD-mmWave-Sensor 人体微动感应传感器可对运动、站立和静止人体进行探测、识别,广泛应用于各种AIoT场景,涵盖智能家居、智慧安防、智能商业和智慧照明等场景
产品特点
- 搭载矽典微AIoT毫米波传感器SoC S3KM1110
- 板载高性能24GHz一发一收天线和外围电路
- 超小模组尺寸:20mm x 20mm
- 加载默认人体感应配置,即插即用
- 运动人体感应最远距离8.5m
- 采用 PY32F003F17U6TR 单片机驱动,引出UART引脚,方便接入 Arduino/ESP32/JetsonNano 等主控板
- 使用人体微动感应算法、毫米波雷达距离测量技术和S3KM1110芯片先进的专有信号处理技术
- 提供完善的配套资料手册 (Raspberry/JetsonNano/Arduino/ESP32/示例程序)
- 实现对运动、微动和站立人体的精确感知
产品参数
- 硬件规格
- 支持频段:24~24.25Ghz
- 支持最大扫频带宽:0.25GHz
- 最大等效全向辐射功率:11dBm
- 供电电压:3.3V(3.0~3.6V宽电压支持)
- 尺寸:20x20mm²
- 环境温度:-40~85℃
- 系统性能
- 探测范围(挂壁):运动人体目标10m;微动人体目标6m
- 探测范围(挂顶):运动人体目标5m;微动人体目标4m
- 探测精度:0.15m(距雷达直线距离10m内的运动目标)
- 平均工作电流:50mA
- 数据刷新周期:100ms
硬件说明
J2 Pin | 名称 | 功能 | 说明 |
---|---|---|---|
J2 Pin1 | 3V3 | 电源输入 | 接电源正,3.0~3.6V,Typ.3.3V |
J2 Pin2 | GND | 接地 | 接电源地 |
J2 Pin3 | TX | UART_TX | 0~3.3V |
J2 Pin4 | RX | UART_RX | 0~3.3V |
J2 Pin5 | OT2 | IO,用于上报检测状态:有人输出高电平,无人输出低电平 | 0~3.3V |
硬件测试
实物连接
- 用户在使用模块前除了模块本身外,还需要准备以下东西:
USB转串口模块,这里推荐 CP2102 或 FT232 核心驱动的串口模块:CP2102 USB UART Board,下文以 CP2102 USB UART Board 为例,进行演示介绍
- 将 USB转串口模块 的侧边电平选择拨动开关调至3.3V,将模块和USB TO TTL如下表说明连接:
HMMD-mmWave-Sensor | CP2102 USB UART Board |
---|---|
3V3 | VCC |
GND | GND |
TX | RXD |
RX | TXD |
- 把 USB转串口模块 接入电脑,打开配套上位机软件,选择对应的 USB转串口模块 的串口号,波特率选择115200连接设备,进行调参接收数据
上位机说明
1.首先下载HMMD-mmWave-Sensor上位机软件 2.根据实物连接方法使用串口转USB连接模块和上位机 3.打开上位机工具,点击刷新按钮,在串口号下拉框选择TTL工具的串口号,确认波特率为115200后,点击连接设备按钮开始连接上位机与雷达模组
如上图所示,上位机工具分为三个区域:设备操作区1,功能按钮区域2,功能页面区域3
上位机与模块连接成功后,会在界面1区域显示雷达模组的固件版本号和序列号(未烧录序列号,上位机显示FFFFFFFF),参数查看/设置的功能页面区域会显示当前雷达模组的设置参数
术语说明
- 最大距离门:用于设置模块的最远有效探测距离,一个距离门长度为70cm。参数范围:0~15
- 目标消失延迟时间(s):目标状态从有人切换到无人需要延时的时间,在此延时期间如果检测到有人,重置延时时间的定时器,模块检测到无人状态持续一个延时的时间后,上报无人,此时OT2引脚输出低电平。参数范围:0~65535
通信协议
雷达串口默认波特率为115200,1停止位,无奇偶校验位
协议格式
HMMD-mmWave-Sensor数据通信使用小端格式,所有数据均使用16进制
发送命令与ACK
1.读取固件版本命令 此命令读取雷达固件版本信息。 命令字:0x0000 命令值:无 返回值:版本号长度(2字节)+版本号字节串
发送数据:
帧头 Byte 1~4 | 帧内数据长度 Byte5,6 | 帧内数据 Byte 7,8 | 帧尾 Byte9~12 |
---|---|---|---|
FD FC FB FA | 02 00 | 00 00 | 04 03 02 01 |
模块ACK:(成功示例)
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~18 | Byte19~24 |
---|---|---|---|---|---|---|
FD FC FB FA | 0C 00 | 00 01 | 00 00 | 06 00 | 76 31 2E 35 2E 35 | 04 03 02 01 |
2.读取序列号命令 此命令读取雷达的序列号。 命令字:0x0011 命令值:无 返回值:2字节ACK状态(0成功,1失败)
发送数据:
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~12 |
---|---|---|---|
FD FC FB FA | 02 00 | 11 00 | 04 03 02 01 |
模块ACK:(成功示例)
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~14 | Byte15~18 |
---|---|---|---|---|---|---|
FD FC FB FA | 08 00 | 11 01 | 00 00 | 02 00 | CB AB | 04 03 02 01 |
3.读取寄存器命令 此命令读取雷达的寄存器。 命令字:0x0002 命令值:2字节芯片地址 + (2字节地址)*N 返回值:(2字节数据)*N
发送数据:
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~12 | Byte 13~16 |
---|---|---|---|---|
FD FC FB FA | 06 00 | 02 00 | 40 00 40 00 | 04 03 02 01 |
模块ACK:(成功示例)
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte 9,10 | Byte 11,12 | Byte 13~16 |
---|---|---|---|---|---|
FD FC FB FA | 06 00 | 02 01 | 00 00 | 07 02 | 04 03 02 01 |
4.读取参数配置命令
此命令读取雷达的配置参数。
命令字:0x0008
命令值:(2字节参数ID)*N
返回值:(4字节参数数值)*N
发送数据:
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 |
---|---|---|---|---|
FD FC FB FA | 04 00 | 08 00 | 01 00 | 04 03 02 01 |
模块ACK:(成功,最大距离门12)
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte 9,10 | Byte 11,14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 08 01 | 00 00 | 0C 00 00 00 | 04 03 02 01 |
模块上报数据
HMMD-mmWave-Sensor默认情况工作模式通过串口输出检测结果,输出的结果是ON/OFF的字符串以及目标距离门。在一般应用场景下上位机会获取模块处理过程中的数据,所以模块提供调试模式、上报模式和正常模式。
正常模式
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 64 00 00 00 | 04 03 02 01 |
调试模式
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 00 00 00 00 | 04 03 02 01 |
上报模式
Byte 1~4 | Byte5,6 | Byte 7,8 | Byte9~10 | Byte 11~14 | Byte 15~18 |
---|---|---|---|---|---|
FD FC FB FA | 08 00 | 12 00 | 00 00 | 04 00 00 00 | 04 03 02 01 |
上报模式串口数据帧示例:
帧头 | 长度 | 检测结果 | 目标距离 | 各距离门能量值 | 帧尾 |
---|---|---|---|---|---|
F4 F3 F2 F1 | 2字节,检测结果、目标距离和各距离门能量值的总字节数 | 1字节,00无人,01有人 | 2字节,表示场景中目标相距雷达的距离 | 32字节,16(距离门总数)*2字节,从0~15每个距离门的能量值大小 | 08 07 06 05 |
探测范围
HMMD-mmWave-Sensor支持挂顶和挂壁两种安装方式,推荐挂顶安装
挂顶安装
推荐挂顶安装高度为2.7~3.0m。挂顶安装的HMMD-mmWave-Sensor雷达模组在默认配置下最大运动感应范围为底部半径为5m的圆锥形立体空间
挂壁安装
推荐挂壁安装高度为1.5~2.0m。J2Pin针脚推荐在上方,HMMD-mmWave-Sensor雷达模组在默认最大运动感应范围为法向10m、水平和俯仰方向夹角±45°的立体扇形空间
探测范围测试
雷达触发和保持探测范围的测试方法分别介绍如下:
- 触发范围:目标人体在雷达上报无人的状态下从远处靠近雷达,当雷达开始上报有人时停止前进,当前位置为雷达触发探测范围的边界;各个方向上的探测边界围成的区域就是雷达触发探测范围;
- 保持范围:目标人体在雷达上报有人的状态下在待测位置保持小幅度动作,如耸肩、抬手,如果雷达在60s内一直上报有人,则当前位置处于雷达保持探测范围内;否则,该探测位置处于保持探测范围外部。
尺寸
树莓派使用说明
硬件准备与连接
- 一块树莓派4B/树莓派5
- 一块HMMD-mmWave-Sensor
将模块与树莓派按照下述方式连接:
HMMD-mmWave-Sensor | Raspberry Pi |
---|---|
3V3 | 3.3V |
GND | GND |
TX | RXD |
RX | TXD |
串口配置
由于树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。
- 执行如下命令进入树莓派配置:
sudo raspi-config
- 选择Interfacing Options ->Serial ->no -> yes,关闭串口调试功能。
示例程序
打开树莓派终端执行:
mkdir HMMD_mmWave_Sensor&&cd HMMD_mmWave_Sensor python -m venv env source env/bin/activate pip install pyserial wget https://www.waveshare.net/w/upload/f/fe/HMMD_mmWave_Sensor.zip unzip HMMD_mmWave_Sensor.zip cd raspberry && python Raspberry_demo.py
Jetson Nano使用说明
硬件准备与连接
- 一块Jetson Nano
- 一块HMMD-mmWave-Sensor
将上述所有物品连接如下图所示:
HMMD-mmWave-Sensor | JetsonNano |
---|---|
3V3 | 3.3V |
GND | GND |
TX | RXD |
RX | TXD |
示例程序
打开Jetson Nano终端
mkdir HMMD_mmWave_Sensor&&cd HMMD_mmWave_Sensor python -m venv env source env/bin/activate pip install pyserial wget https://www.waveshare.net/w/upload/f/fe/HMMD_mmWave_Sensor.zip unzip HMMD_mmWave_Sensor.zip cd Jetson_nano && python Jetson_Nano_demo.py
Arduino/ESP32使用说明
硬件准备与连接
- 一块Arduino/ESP32
- 一块HMMD-mmWave-Sensor
将模块与ESP32按照下述方式连接:
HMMD-mmWave-Sensor | ESP32 |
---|---|
3V3 | 3.3V |
GND | GND |
TX | GPIO5 |
RX | GPIO4 |
打开示例程序Arduino_ESP32demo,使用Arduino IDE烧录代码即可
Pico/RP2040开发板使用说明
硬件准备与连接
- 一块树莓派Pico或RP2040开发板(这里使用RP2040-Zero)
- 一块HMMD-mmWave-Sensor
将模块与树莓派Pico或RP2040开发板按照下述方式连接:
HMMD-mmWave-Sensor | RP2040 Zero |
---|---|
3V3 | 3.3V |
GND | GND |
TX | GPIO5 |
RX | GPIO4 |
示例程序
下载示例程序,使用 Thonny 工具打开RP2040_Zero的示例代码,运行程序
FAQ
雷达探测目标的最大范围是径向10m。在探测范围内,雷达会上报目标距雷达的直线距离。雷达在10m内仅能给出运动人体的距离信息输出,理论上雷达测距的精度为0.35m,由于人体目标的体型、状态和RCS等不同,测距精度会有波动,同时最远探测距离也会有一定波动
距离门指的是雷达系统用来判定目标距离的范围或区域。雷达通过发送无线电波并接收目标反射回来的信号,利用这些信号的时间延迟来确定目标的距离。"距离门"实际上是一个时间窗口,雷达系统在这个窗口内接收到的信号被认为是来自目标的有效信号。雷达系统通常设置一个特定的距离门,以排除那些远离雷达的目标或干扰源的信号。这有助于提高雷达系统的性能,减少对非目标信号的误判
可以检测有生命的且在相对移动的生命体
数据刷新周期是100ms , 采样率是10kbps