作者: Jacob Beningo 来源:得捷电子DigiKey
本文首先讨论运动检测的基本原理,然后展示开发者如何使用与MicrochipDM080104ATtiny 1627 Curiosity Nano 连接的 PIR 进行运动检测。最后,介绍一种可替代复杂算法开发的运动检测方法。这种方法充分发挥了机器学习 (ML) 技术的优势。其中包括入门所需的技巧和窍门。
被动式红外传感器不能发射红外线,只能接收红外线。PIR 传感器使用被探测物体发射的红外线来探测其存在以及与之相关的任何运动。例如,家居安防系统中通常会有运动传感器,用于探测人或动物发出的红外线,并确定其是否在检测范围内移动。图 1 所示为模拟 PIR 传感器在不同条件下可能探测到的对象或物体状态,如无红外线、红外线存在、稳定不变和离开(切断)。
图 1:PIR 传感器使用对象或物体发出的红外线来探测其运动和存在状态。如图所示,不同的探测阶段包括:无红外线、存在红外线、稳定不变和离开(切断)。(图片来源:Microchip Technology)
传感器成本
包装
微控制器接口
探测算法和计算能力
传感器系列和能耗
ATtiny1627 Curiosity Nano 简介
最好的低成本入门方案是使用 DM080104 ATtiny1627 Curiosity Nano 开发板(图 2)。该开发板包含一个运行速度高达 20 MHz 的 AVR MCU,这款 MCU 具有16 KB 闪存、2KB SRAM 和 256 B EEPROM。该板包括编程器、LED 和用户开关。也许最让人感兴趣的是,该板可以轻松的通过针座连接,可用于快速原型开发,或者直接焊接到原型或生产板上。
图 2:ATtiny1627 Curiosity Nano 内置 8 位可编程 AVR MCU,其运行速度高达 20 MHz,拥有 16KB 闪存、2KB SRAM 和 256 B EEPROM。该开发板可以很容易地焊接到一块更大的底板上或者通过跳线与该底板连接,以方便原型设计和生产系统。(图片来源:Microchip)
构建运动探测测试台
- DM080104 ATtiny1627 Curiosity Nano
- AC164162TCuriosity Nano适配器
MikroElektronika的MIKROE-3339PIR 传感器
我们已经了解 ATtiny1627 Curiosity Nano的基本功能。Curiosity Nano 适配器为 ATtiny1627 Curiosity Nano 提供一块载板,可用于快速原型开发(图 3)。此外,该适配器还为 MIKROE click boards 扩展板提供了三个扩展插槽以及针座,用于评估信号或添加自定义硬件。
最后是如图 4 所示的 MIKROE-3339 PIR 传感器,该器件提供了样式简单、可扩展的KEMETPL-N823-01被动式红外传感器,可以直接与 Curiosity Nano 适配器连接。需要指出的是,MIKROE-3339 与 Microchip 的运动探测示例一起使用时,需要进行一些修改。关于这些修改请参阅Microchip 的 AN3641 应用说明《使用 tinyAVR® 2 系列实现低功耗、高性价比 PIR 运动探测》的第10 页。
图 4:MIKROE-3339 click board 扩展板易于制作原型,提供了一个 KEMET PL-N823-01 PIR 传感器。(图片来源:MikroElektronika)
PIR运动探测软件
该应用分为多个阶段。首先,应用初始化并预热 PIR 传感器。其次,使用 ADC 中断服务例程定期对 PIR 传感器进行采样。第三,ADC 数据进行平均化处理。最后,通过探测算法发出是否探测到运动的信号。如果探测到活动,板载 LED 闪烁并通过串行端口发送探测信号。完整的程序流程参见图 5。
使用 ATtiny1627 进行运动检测的技巧和窍门
- 使用现成零件构建一个低成本原型开发平台。
- 充分利用 Microchip 运动探测示例。这些示例可以在 GitHub 上查找。
- 使用 ATtiny1627 Curiosity Nano 封装设计原型硬件,并直接将电路板焊接到硬件上,以简化初始原型。
- 如需获得更少、更有效的优化代码,请使用 Microchip XC8 编译器。
- 在开始构建运动探测应用前,请阅读 Microchip 的 AN3641 的文档:使用 tinyAVR® 2 系列的低功耗、高性价比 PIR 运动探测器。
认真考虑将 ML 用于运动探测算法。
总结
运动探测正在成为许多应用的常见功能,特别是在非触摸场景下。开发者可以通过使用 PIR 传感器和低成本 MCU,最大限度地减少 BOM 成本,简化设计。如图所示,ATtiny1627 是一个很好的起点,Microchip 提供了大量的工具和应用说明,帮助开发者启动其项目。此外,为了尽可能简化运动探测算法开发,可以使用 ML。