黄志芳,陈祖维,陈建森,陈必鸿
(嘉应学院物理与电子工程学院,广东 梅州 514015)
近些年,随着居民收入水平的不断提高,家庭拥有汽车的数量也在逐年增加,汽车正在成为千家万户的用品。由于汽车驾驶人员或者随行人员的疏忽,导致幼童或者婴儿不慎遗留在车内,从而导致儿童在高温暴晒的车内死亡的事件时有发生。据相关资料所述,在高温天气下,车内温度在短短十分钟内可达到50 ℃,人在如此密闭、高温的环境内,大脑和肾脏将会受到损伤,超过半小时就会休克或死亡[1-2]。幼童年幼,缺乏一定的自主行为能力及自救能力,在如此高温的环境下,更会慌乱无助。因此,每当有幼童遗忘或滞留在车内,驾驶人员或者过路人未能及时发现的情况下,往往会引发安全事故,造成不可挽回的遗憾。针对这一问题,已有的成果是通过红外感应、空气质量监测模块、GSM 模块构成的生命监测系统来监测车内是否有人、温度是否过高等相关指标,通过GSM 模块发送相应的短信告知用户信息[3]。红外感应在车内密闭高温的环境下,会造成误报或测量不准。将监测温度、空气等相关参数告知用户,用户在离车较远的情况下无法及时返回车内,依然没办法杜绝相应的安全事故,早期只是提醒功能,无法对车辆进行操作,功能单一、信息化智能化不足[4]。针对以上生命监测系统的不足,文中设计了一种以STC12C5A60S2 为核心处理器、毫米波雷达为探测车内人员状态的感应器,采用温湿度传感器监测车内空气质量参数,上述数据通过ESP8266 模块与云端和APP 进行数据的发送和传输,用户可通过APP 查看和远程操作车辆,若用户远程未关注到相应信息,系统将自主进行降窗、降温操作,确保车内滞留人员的生命安全。
基于毫米波雷达的车载生命监测系统以STC12C5A60S2 单片机作为整个系统的控制和运算数据处理单元,毫米波雷达在密闭空间内不断发射电磁波,并处理回波信号,获得车内人员的活动信息,确定人员位置,从而实现车内人体监测。通过DS18B20 温度传感器对车内温度进行实时检测,并通过ESP8266WIFI 模块连接检测设备和云端,用户可通过APP 收到相关提醒和告知消息,也可以通过APP 对生命监测系统发送指令操作。基于毫米波雷达的车载生命监测系统的硬件结构图如图1所示。
图1 硬件结构图
整个系统的流程如下:首先判断是否有人被遗留在车内,触发的条件为汽车引擎关闭且车门未锁止状态,生命监测系统开启,毫米波雷达对车内进行30 s 的电磁波发射,毫米波雷达采集的数据通过I/O口传输给STC12C5A60S2,由STC12C5A60S2 单片机对监测的数据结果进行分析处理,判断是否有人被遗留在车内,是否需要采取应急措施,是否需要通过APP 对用户发送报警信息。判断车内有遗留人员将执行发送报警信息和应急报警信息,在监测到车内有遗留人员时,主要发送报警信息提醒用户;应急报警主要是判定车内有遗留人员且车内温度过高,车内人员生命安全受到较大威胁时进行,监测系统自动控制电机实现降窗通风,并发送“车内有人,车内高温”的强提醒。
STC12C5A60S2 单片机是宏晶科技生产的单时钟、机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051 单片机,指令代码完全兼容传统8051,但速度快了8~12 倍,其内部集成MAX810专 用复位电路、2 路PWM、8 路高速10 位A/D 转换(250 K/s),其主要用于电机控制的强干扰场合[5]。
人体检测传感器早期的技术采用人体红外传感器、摄像头两种方式。人体红外传感器探测人体辐射的红外线,波长主要集中在10 000 nm 左右,能够探测到人体辐射红外线且去除不需要的其他光波,人体红外传感器易受到外部环境的影响,特别是温度,在密闭、高温的车内空间,很容易产生虚报的情况,稳定性和可靠性不足[6-7]。摄像头方式是通过对车内环境进行图像识别来判断车内是否有人被困,现有的图像识别算法能够识别、检测车内人员的情况,但摄像头存在一定的拍摄盲区,且拍摄对于微处理器的运算要求较高,拍摄不具备穿透性,遇物体遮挡容易造成误判,精确性和性价比不足[8]。毫米波雷达是将电磁波信号通过雷达天线发射出去,被其发射路径上的物体阻挡而发生反射,再由雷达接收天线接收,通过对接收到的信号作一系列处理,可以确定物体的距离、速度和角度等信息。人的身体各个部位包含丰富的微动信息,这些微动信息能够很好地帮助雷达对人体目标进行运动状态区分和参数提取,因此可以使用毫米波对车内是否有人进行精确检测[9]。但车内人体目标往往运动速度较慢,与地杂波的频谱部分都分布在零中频附近,在频域上会造成混叠,而且人体会出现多普勒扩散效应,信号能量分散,会降低对人体目标的探测性能,每次判断可用毫米波雷达进行多次检测,并对结果进行分析最终得到最精确的结果[10-11]。
通信设备采用ESP8266WIFI 模块+云端+手机APP 的组合,生命监测系统采集到的数据通过WIFI模块与云端进行连接,实现数据的交换与通信,云端与手机APP 的使用使用户能更加快速地掌握和了解车内情况,WIFI、云端和APP 三者的应用实现了“设备-云端-设备”的通信路径,具有通信稳定、用户使用方便的特点,不需要网卡的额外收费,但需要额外的车载无线路由器提供网络[12]。
电源输入采用12 V/2 500 mAh 的直流电池,经过ASM1117-5.0 降压芯片输出稳定的5.0 V 直流电压。AMS1117-5.0 是一款常用的三端稳压器,可为电路提供稳定的5.0 V 直流输出电压,过热保护和限流电路最高可输出800 mA 的电流[13]。该电源电路主要有降压电路和滤波电路。降压电路利用降压芯片将输入的12 V 直流电压转换为需要的5 V 工作电压;滤波电路采用470 μF 电解电容与两个100 nF 电容并联的方式,滤除掉其他杂波以得到较为平滑的直流电压。最后为了显示电路的工作状态,在后面加上一个LED 灯与电阻串联,以此来实现对供电状态的直观显示,其电路原理图如图2 示。
图2 电源电路原理图
DS18B20 是常用的数字温度传感器,具有体积小、硬件开销低、抗干扰能力强、精度高的特点,一般封装为直插式TO-92[14]。因为其采用单总线的接口方式,所以与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通信,而且在使用中不需要任何外围元件。
毫米波雷达模块早期被应用于军事领域,随着雷达技术的发展与进步,毫米波雷达传感器开始应用于汽车电子、无人机、智能交通等多个领域。毫米波雷达模块的实物图如图3 所示,该模块引出的4 个引脚分别为VCC、GND、Output、空。因此在单片机接线时只需要与Output 连接即可,无需其他外围电路。HLR26 模块发出频段为24 GHz 的电磁波,采用FMCW 调制方式,检测范围为水平方向120°,竖直方向60°,最远可达到6 m 的探测距离[15]。
图3 毫米波雷达模块实物图
采用L9110S 芯片作为电机驱动电路的核心,L9110S 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC 之中,降低外围器件成本,提高整机可靠性。该芯片有两个TTL/CMOS 兼容电平的输入,具有良好的抗干扰性、较低的输出饱和压降,内置的钳位二极管能释放感性负载的反向冲击电流,使驱动继电器、直流电机、步进电机或开关功率管的使用安全可靠[16]。VCC 连接5 V 供电电压,IA 和IB 与单片机相连作为输出端控制OAOB。
MCU 上电后对各外设进行初始化,初始化后通过判断循环来读取发动机和车窗状态,符合启动生命监测系统的运行条件时,使能定时器等待15 s后发送一次环境温度,且对从毫米波雷达获取的数据进行算法运算,从而得出相应的执行步骤。若在一个周期内未监测到人员状态,则等待15 s 后重新监测,当监测到有人在车内时,先将采集到的车内温度值与高温阈值进行比较,超出阈值时将发送应急报警信息,并执行降窗操作,反之则发送报警信息后继续等待15 s 再检测一次循环,车窗控制程序的流程图、APP界面图和系统主程序流程图分别如图4~6所示。
图4 车窗控制程序流程图
图5 APP控制车窗界面图
图6 系统主程序流程图
该系统使用了阿里云物联网平台与车主的智能设备端通过智能APP 进行通信。正常状态下,系统实时发送温度数据后,APP 实时接收温度数据,在界面上显示温度值,并载入温度表中。当车主停车熄火后,系统检测车内的生命特征,发现车上有人时,立即发送警告指令,APP 接收到指令后向车主发送警告,显示车内有人。当车主不方便前往停车点时,车主可关闭警告,并设置提醒时间,则APP 端会等待直到提醒时间到达向车主发送警告。车内有人期间若温度剧烈升高并到达报警阈值时,系统会自动打开车窗,并向车主发送车窗被打开警告。车主也可通过APP 上按钮自动打开车窗。APP 流程图和实物界面图分别如图7、8 所示。
图7 APP流程图
图8 APP界面图
生命监测系统包含了硬件和软件两部分。硬件部分调试主要是PCB、电子元器件相关的焊接和短路、断路的检查,软件调试是通过相应的程序调节,从而使电路系统更好的工作,以期得到更准确的数据。软件调试主要是对ESP8266WIFI 模块、毫米波雷达模块、DSP18B20 温湿度传感器3 部分的调试。通过Arduino 对ESP8266 模块进行网络和服务器的编程配置,PC 机通过串口与ESP8266 模块进行调试,若ESP8266 模块与云端连接且可以接收发送数据则表明成功,否则重新检测代码。毫米波雷达模块对外界细微的干扰较为敏感,因此需要通过滤波算法滤除毫米波雷达模块输出信号中的高频干扰,通过进行多次实验测试,对测试数据进行记录、统计、分析、总结,改进相应阈值与权值的关系,从而减少误差、提高可靠性和稳定性。通过DSP18B20 温湿度传感器获取温度的数值,并与室温进行对比,若误差较小且在科学允许的范围内,可认定调试通过,否则重新检查代码、引脚和延时。
上述数据通过单片机以10 ms 的时间来定时中断读取毫米波雷达模块信息,周期为1 s,输出阈值为0~100,以连续10 个检测数据为一组进行分析,由于毫米波雷达传感器极易受到外界因素的干扰,因此采取能有效克服偶然因素引起波动干扰的中位值滤波算法与具有消除随机干扰的算术平均值滤波算法,通过加权互补思想形成防脉冲干扰平均滤波算法来消除干扰。数据组求和后再平均得到均值,通过冒泡排序法取出数据组中的中值,再进行加权融合,如:均值×0.4+中值×0.6=融合值,将融合值与系统设定阈值(70)进行比较,融合值大于或等于阈值,则判定存在生命体;融合值小于阈值,则判定不存在生命体。有人时的生命监测系统测试数据如表1所示。
由表1 可知,毫米波雷达模块在环境干扰下检测精度依然可观,表明通过滤波算法可以将干扰滤除。通过多次实验测试取阈值为70,因为通过实验测试收集数据将有人与无人两种情况下融合值进行对比,发现有人的情况下融合值普遍大于或等于70,而无人的情况下融合值普遍低于70。因此将生命监测系统的判断阈值定为70,当通过算法得出融合值大于或等于70 时,当前状态有人的概率为99.98%,若阈值小于70,当前状态有人的概率为0.03%。
表1 有人时的生命监测系统测试数据
通过对基于毫米波雷达的车载生命监测系统的应用研究,从设计的目标、思路、方法、硬件架构、软件设计以及毫米波雷达滤波算法等方面验证了毫米波雷达的车载生命监测系统达到了设计指标,各项性能参数较好。与人体红外传感器、摄像头两种早期方案相比,在监测的精确性、可靠性、稳定性、成本方面优势明显。该系统研究了毫米波雷达作为探测人体活动的传感器,在汽车自动驾驶,室内人员定位、计数,安防监控等方面具有研究和应用的价值。