版本比较
比较
标识
- 该行被添加。
- 该行被删除。
- 格式已经改变。
产品概述
一款5.8G雷达传感器模块,发射和接收高频电磁波,通过多普勒原理检测发射与接收信号的频差,可用于判断区域内是否存在移动物体。
- 微波传感器芯片使用AT58LP1T1RD,来自隔空科技,参考:AT58LP1T1RD (AT5815)。
- 模块生产商是觅感科技,官网链接:https://www.moresense-tech.com/。
模组概述:
- 2.7V~4.8V供电,输出3.3V感应信号。
- 低功耗,整体电流小于70uA,极限功耗40uA。
- 可配置感应距离和延迟时间,最大感应距离10m,信号输出时间和黑窗口时间可通过寄存器配置。
- 使用标准I2C配置接口。微波传感器芯片本身支持I2C调参和IO调参,I2C调参支持参数精确调整,IO调参只通过两个上下拉电阻设置固定档位。该模组固定使用I2C调参。
模组资料包:AT5815.zip
代码适配
模组资料包已提供了示例代码,使用GPIO模拟I2C,只需要配置对应的GPIO和延时函数即可,以下是一份在Hi3861L上调试通过的代码:
代码块 | ||
---|---|---|
| ||
#define SDA_IO_IDX HI_GPIO_IDX_10
#define SCL_IO_IDX HI_GPIO_IDX_14
#define IIC_SCL_OUT(x) hi_gpio_set_output_val(SCL_IO_IDX, !!(x))
#define IIC_SDA_OUT(x) hi_gpio_set_output_val(SDA_IO_IDX, !!(x))
#define IIC_SCL_IN ({hi_gpio_value value; hi_gpio_get_input_val(SCL_IO_IDX, &value); value;})
#define IIC_SDA_IN ({hi_gpio_value value; hi_gpio_get_input_val(SDA_IO_IDX, &value); value;})
#define SDA_OUT do{hi_gpio_set_dir(SDA_IO_IDX, HI_GPIO_DIR_OUT);}while(0)
#define SDA_IN do{hi_gpio_set_dir(SDA_IO_IDX, HI_GPIO_DIR_IN); hi_io_set_pull(SDA_IO_IDX, HI_IO_PULL_UP);}while(0)
#define SCL_OUT do{hi_gpio_set_dir(SCL_IO_IDX, HI_GPIO_DIR_OUT);}while(0)
#define SCL_IN do{hi_gpio_set_dir(SCL_IO_IDX, HI_GPIO_DIR_IN); hi_io_set_pull(SCL_IO_IDX, HI_IO_PULL_UP);}while(0)
static void DelayUs(unsigned char Time)
{
hi_udelay(Time * 2);
}
static void DelayMs(unsigned char Time)
{
hi_sleep(Time);
}
static void DelayS(unsigned char Time)
{
hi_sleep(Time * 1000);
} |
调试记录
在适配Demo代码后,剩下的工作就是调整模块的寄存器参数,以适配不同的触发时间和触发距离,可供调整的寄存器参数有以下几个:
- 判断阈值delta,对应感应距离,寄存器是0x10和0x11。阈值越大,感应距离越近。
- 接收增益gain,对应接收灵敏度,其实也就是对应感应距离,寄存器是0x5c。增益越大,感应距离越大。
- 每次检测的窗口数winlen和触发需要的窗口数winthr,对应寄存器0x31和0x32。默认是每次检测4个窗口,只要有3个窗口有回波就触发信号。如果想提升触发率,则可以降低触发所需要的窗口数,比如设置成1,这样每轮检测只需要有一个回波就可以触发信号。
以下是根据实测整理出来的一份针对触发时间分别为1秒、5秒、10秒,触发距离分别为0.5米、1米、2米、3米的参数表格:
1秒 | 5秒 | 10秒 | ||||||||||
delta | gain | winlen | winthr | delta | gain | winlen | winthr | delta | gain | winlen | winthr | |
0.5米 | 200 | 0x7b | 4 | 3 | 190 | 0x7b | 4 | 2 | 200 | 0x7b | 4 | 1 |
1米 | 120 | 0x6b | 4 | 3 | 120 | 0x6b | 4 | 2 | 130 | 0x6b | 4 | 1 |
2米 | 140 | 0x4b | 4 | 3 | 130 | 0x4b | 4 | 2 | 130 | 0x3b | 4 | 1 |
3米 | 90 | 0x3b | 4 | 3 | 90 | 0x3b | 4 | 1 | 90 | 0x3b | 4 | 1 |
注意事项
- MCU侧对接雷达模块信号输出的IO口不需要加内部上下拉,避免漏电流影响功耗。
- 对比PIR,雷达信号可穿透非金属材料,在天线窗口上方放置塑料外壳不影响信号检测。
- 雷达本身利用多普勒效应触发,只有物体持续移动时才会持续触发,物体静止时不触发。
- 可与PIR同时使用,取长补短,降低误报率。
目录 |
---|
时钟适配
I2C适配
调试记录
- 关于阈值与增益的调整
- 关于触发时间与触发距离设置
...