对于嵌入式系统的设计人员,尤其是物联网 (IoT) 应用的设计人员来说,越来越多的任务是检测目标区域中是否有人存在。这些应用不尽相同,包括安保、照明和一般楼宇自动化,但它们都面临着相同的挑战:如何实现经济高效、可靠的检测。
本文将讨论可靠人体检测的重要性,以及为什么流行的存在传感器(如摄像头和普通热传感器)通常不是最佳的感测模式。接着会介绍智能热传感器,以及如何与微控制器结合使用,以经济高效的方式轻松解决可靠的存在感测问题。
传感器故障可能代价高昂
如果存在感测系统出现检测失败或错误,会带来从不方便到代价高昂等各种各样的结果。例如,对于照明,检测失败意味着必须手动去打开灯。误报会导致昂贵的照明费用。这同样适用于楼宇自动化;现在通常可以利用物联网,根据人体存在情况对 HVAC 系统进行远程优化。对于安保,误报可能会导致假警报,如果必须打电话给当地警察,则可能会代价高昂。检测失败可能导致财产损失或人身伤害。
在上述每一种情况下,都必须高度可靠地检测一个人或多个人。摄像头与智能软件配合使用时,其表现优异。但是,如果不需要直播或存储的视频源,这可能就有点浪费,并且其完全依赖于相关软件的可靠性。视频还有假设前提:人在视频中很容易被识别为人体,并且处于摄像头的清楚视野中且不会被箱子或隔断墙遮挡。
普通的热传感器可以检测人体热量的存在,但缺乏检测运动或识别人数的任何智能技术。
通过智能简化性实现可靠性
要实现可靠性和成本之间的适当平衡,解决方案来自于 Omron Electronics Components 的 D6T 系列智能热传感器。D6T 专为检测传感器热检测范围内的人体而设计,每个传感器在硅镜头后面都有 1 个、8 个或 16 个热电堆传感器芯片,并配有定制 ASIC 来处理输出(图 1)。
图 1:Omron 的 D6T 系列热传感器比邮****小,可自动将红外光转换为摄氏温度 (°C) 矩阵。(图片来源:Omron)
镜头可收集设备检测范围内的红外辐射,并将其聚焦在热电堆传感器上。红外辐射的强度对应于该范围内物体的表面温度。热电堆将红外辐射的强度作为电阻来测量,该电阻将馈送至机载的定制 ASIC。ASIC 将电阻转换为温度 (°C),而微控制器会通过 I2C 串行接口来获取该温度。可检测的温度范围为 -40°C 至 +85°C。
简单检测
D6T 产品系列中最简单的传感器是 D6T-1A-01。它的镜头后面只有一个热电堆传感器,因此输出一个温度。硅镜头在 X 和 Y 方向上均具有 58.0 度的视角 (FOV)。视角对于识别其范围内的人员非常重要。对于 D6T-1A-01,如果一个人完全填满其 58.0 度 X 和 Y 视角,则单热电堆传感器的读数将是此人的辐射表面温度。但是,如果此人没有完全填满视角,则单热电堆传感器的温度读数将是人体的红外辐射加上背景辐射的组合(图 2)。
图 2:在单 D6T 热电堆传感器的视角内,人靠得越近,热检测就越准确,因为人将会填充更多的视角。(图片来源:Omron)
对于更集中的检测区域,Omron 的 D6T-1A-02 同样只配备一个热电堆传感器,但硅镜头的视角更窄,为 26.5 度。
房间内的复杂检测
对于更复杂的存在检测要求,D6T-44L-06 微机电系统 (MEMS) 热传感器配备 16 个热电堆传感器,构成一个 4x4 矩阵。这使得 D6T 不仅可以检测是否存在人体,还可以检测多个人的位置和移动(图 3)。此传感器的视角为 X 方向 44.2 度,Y 方向 45.7 度,值得注意的是它通过了 AEC-Q100 认证,适用于汽车应用。
图 3:Omron 的 D6T-44L-06 热传感器可通过其 4x4 热传感器矩阵检测房间内的多个人。对于该示例,温度分布检测结果以颜色表示表面温度,其中红色代表最高温度,然后依次是橙色、黄色、深绿色、绿色、青色和代表最低温度的蓝色。(图片来源:Omron)
在 D6T-44L-06 检测一个房间内两个人的典型场景中,图 3 中的第一幅图显示房间中没有人,由冷蓝绿色表示。第二幅图显示了房间里并排坐着两个人。仔细检查表明,各个传感器检测到的表面温度(大致由底部的颜色表示)与人体填充传感器区域的面积成正比。人体的辐射热量加热了地板,以黄色表示。
第三幅图显示了人站起来向右走出房间后的温度。请注意,由于他们先前的位置,以及他们在框内从左向右移动,仍然存在一些残余表面温度。
对于所有这三种情况,特别是对于最后一幅图,当两个人从房间中离开时,由固件开发人员根据当前和过去的表面温度读数来辨别姿势、位置和移动。考虑一下,如果最初没有人在房间中,如第一幅图所示,然后一个人从右侧进入房间,如第三幅图所示,则第三幅图的温度分布检测结果将大不相同。
缩小检测范围
对于更窄的检测范围,D6T-8L-09 使用 1x8 MEMS 热传感器矩阵(图 4)。该传感器具有 54.5 度的宽 X 方向视角,5.5 度的窄 Y 方向视角。
图 4:Omron 的 D6T-8L-09 使用 1x8 热传感器矩阵,具有 5.5 度的窄 Y 方向视角,因而适合扫描应用。(图片来源:Omron)
借助 D6T-8L-09,可以开发一个系统,用于扫描穿过过道的人。如果放置于过道尽头的门入口之前,这可能特别有用。在任何水平方向上均可以检测移动。该装置还可用于检测梯子上的垂直移动或将其倾斜以检测楼梯上的移动。
对于使用 D6T 系列的设计人员来说,令人欣慰的是,所有 D6T 设备均配备相同的连接器接口,如图 4 中间的绘图所示。它们同样使用 I2C 接口与任何兼容的微控制器进行通信。为了便于开发,Omron 提供了 D6T-HARNESS-02 电缆,可牢固连接至任何 D6T MEMS 传感器。
要充分利用传感器,务必使放到硅镜头上的任何覆盖物都不会降低传感器对红外辐射的灵敏度。如果需要覆盖物,则覆盖物材料必须能让辐射热穿透。虽然诸如高密度聚乙烯 (HDPE) 等材料具有此特性,但材料仍应尽可能薄。
在微控制器系统中使用 D6T
对于独立的嵌入式应用,D6T 系统应连接至专用于该任务的微控制器,尤其是在应用于安保的情况下。来自 STMicroelectronics 的 STM32L073VZ 微控制器足够强大,应可执行 D6T 应用的数字运算(图 5)。它基于配备内存保护单元 (MPU) 的 Arm® Cortex®-M0+ 内核。该内核可以在 32 千赫兹 (kHz) 与 32 兆赫兹 (MHz) 之间的任何时钟频率上工作,并由 192 KB 的闪存,20 KB 的 SRAM 和 6 KB 的 EEPROM 提供支持。该微控制器在 1.65 V 和 3.6 V 之间的电压轨上运行,消耗电流为 0.29 微安 (µA)。它配备多个串行接口,包括一个带有专用 DMA 通道的 I2C 接口,以及 USB 2.0 和 LCD 驱动器。
图 5:在开发独立的嵌入式存在感测系统时,基于 Arm Cortex-M0 的 STM32L073VZ 微控制器可与 D6T 智能热传感器完美配合。(图片来源:STMicroelectronics)
在存在感测应用中,STM32L073VZ 的众多特性与 D6T 相得益彰。例如,6 KB 的内部 EEPROM 可用于存储自定义房间识别信息,该信息可能会根据 D6T 系统的位置而变化。USB 2.0 接口可用于将过去的入侵信息(例如所记录检测事件的时间戳和识别的人数)下载到 PC。这些信息可以存储在 20 KB 的 RAM 或 EEPROM 中,而 192 KB 的闪存足以存储识别算法。
LCD 驱动器外设可以连接到外部 LCD 显示器,从而显示检测事件的运行计数。该微控制器的 24 通道电容式感应外设可以检测电容式键盘上是否存在手指以配置系统,也可以连接至安保系统中的电容式触摸传感器。配备的两个 12 位数模转换器 (DAC) 可与扬声器连接,提供合成语音或声音报警。处理器的 12 位模数转换器 (ADC) 可与温度传感器连接,以检测可能影响 D6T 灵敏度的环境温度。对于照明自动化应用,ADC 可以连接到光传感器以检测灯是否成功打开。
对于楼宇安保应用,STM32L073VZ 上的代码存储器可以通过微控制器的内部防火墙进行保护。该防火墙可保护内部存储器不会由外部接口读取,即使连接了调试器。
使用 STM32L073VZ 读取 D6T 内部的值时,需要通过 I2C 接口读取寄存器。D6T-1A 设备具有一个寄存器 (P0),用于读取单个热传感器,D6T-8L 设备有 8 个寄存器 (P0-P7),而 D6T-44L 有 16 个寄存器 (P0-P15)。
读取 D6T 的数据
通过 I2C 接口从 D6T 读取温度数据,这是一项相对简单的任务。每次微控制器从 D6T 读取数据时,输出格式均相同。首先,发送内部参考温度的值,接着发送所有温度传感器的值,最后是 CRC-8 数据包校验和。在 D6T 传感器上无需进行任何配置或写入任何数据。D6T ASIC 通过硬连线每 250 毫秒 (ms) 获取一次新的传感器读数,从而允许通过 I2C 总线获取传感器读数,每秒四次。该 I2C 接口支持最高 100 kHz 的速度。
温度读数为 16 位带符号数据,其值代表 °C 温度的十倍,因此如果温度读数为 0x01D7,则转换为 471,即 47.1°C。如果寄存器显示 0xFF06,则转换为 -250,即 -25.0°C。
Omron 提供 I2C 库函数,可用于读取 D6T 系列传感器的温度值。请注意,D6T-1A-01、D6T-1A-02 和 D6T-8L-09 不支持 I2C 时钟拉伸,因此如果它们无法跟上,将无法减慢 I2C 主时钟的速度。如果需要,微控制器固件可能必须提供此功能。
实用的检测技术
当检测区域中的人时,开发人员应首先对空区域取样,以确定环境条件的表面温度,然后在该区域中存在人员时获取读数。通过将 STM32L073VZ 中的 ADC 连接到温度传感器,可以将环境温度考虑进任何检测算法中。
由于每个房间的情况都不同,因此很难给出存在检测的一般指导原则。但是,一种检测方法是寻找一个或多个热电堆传感器中的突然升温。如图 3 中的示例所示,当人离开某个区域时,地板或家具上可能会留有较高的残余表面温度。虽然检测两个人或更多人比检测一个人更复杂,但是当基本检测技术对升温进行分类时并不困难。
在开发过程中校准系统时,可以通过将要检测的升温变为固件中的变量来调整系统的灵敏度,该变量最终存储在 STM32L073VZ 的 EEPROM 中。校准应在不同的室温,采用各种空调和热源设置,以及存在穿着 T 恤或冬装夹克的人员的情况下进行。
总结
对于嵌入式和物联网系统来说,存在检测是一项越来越重要的功能,它需要在成本、便利性和有效性之间取得适当的平衡。Omron 的 D6T 系列智能表面温度传感器解决了这一平衡问题,使设计人员能够快速进行原型设计,并开发出能够检测区域内多人存在的系统。与配备一组灵活外设的 STM32L073V 微控制器配合使用,可以开发出简单、可靠且易于定制的检测系统。