梁雨石 朱 冬 孙雪莲 刘国凯 张 峰 梁欣欣
(东北林业大学交通学院,黑龙江 哈尔滨 150040)
随着汽车普及率的不断提高,儿童被遗忘在车内的案例逐年增多。儿童在密闭轿厢内不停喊叫、挣扎,氧气会很快就被耗尽[1]。高温天气时车厢内温度可达65 ℃,30 min就足以使儿童死亡。
吕绪浩等[2]设计了1种儿童滞留车内防护系统,通过人脸检测判断车内是否有儿童,利用温度传感器触发声光报警,实现对被困儿童的救援。刘婧等[3]设计的儿童滞留车内安全系统通过微波人体感应器判断车内是否有人。上述装置须在汽车熄火后长时间待机,会消耗汽车蓄电池的电能,增大车辆使用成本;且上述装置的人体检测信号单一,不报警或者误报警的可能性较大。
该文设计了1种有多种检测信号的应急脱险装置,能降低不报警或误报警的可能性,提高装置可靠性和准确性。
脱险装置应该具备以下基本功能:1) 能够通过检测与儿童相关的参数,完成对车内是否有儿童存在的正确判断。2) 可根据车内检测结果自行采取不同的应对措施,同时保障车辆和儿童双方的安全。3) 在有儿童滞留车内的情况下,可以及时向相关人员发出警示信息。4) 装置在持续工作的同时不增加车辆蓄电池的负担。
基于以上要求,应急脱险装置由5个单元组成,分别为人员检测单元、控制单元、报警单元、脱险执行单元和供电单元。
人员检测单元由HC-SR501红外人体感应模块、信号调理板和AAY80-390R氧浓度传感器组成。
正常情况下人体温度一般维持在36.5 ℃左右,会发出特定波长10 μm左右的红外线,HC-SR501红外人体感应模块上的被动式红外探头就是靠探测人体发射的10 μm左右的红外线而进行工作的。人体发射的10 μm左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号[4]。人进入HCSR501人体红外感应模块的感应范围后,其“OUT”引脚输出高电平,人离开感应范围,该模块的“OUT”引脚将自动延时关闭高电平,输出低电平。
当装置中只有1个红外人体检测模块时可能会出现误报警的情况,为了避免这种情况的发生,该装置相对于其他装置增加了1个氧浓度传感器,以提高装置的检测可靠性。
空气中的正常氧含量为21%,当氧含量不足时,会导致人们窒息。当氧含量为12%至15%时,人会出现头痛、头晕和疲劳等症状。当氧含量低于13%时,将发生缺氧和窒息的危机,并且在严重的情况下将会导致死亡[5]。AAY80-390R氧浓度传感器则可以实时监控车内氧气浓度,将模拟信号输出给控制单元,在浓度降低到对车内儿童产生威胁时驱动执行单元降下车窗,解救滞留儿童,进一步提高装置的精度和安全性,AAY80-390R产品参数见表1。
表1 AAY80-390R氧浓度传感器参数
控制单元采用基于ATmega328P的Arduino开发板[6],如图1所示。它有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚、1个16 MHz的晶体振荡器、1个USB接口、1个DC接口、1个ICSP接口和1个复位按钮,足可以满足装置使用要求。
红外人体传感模块的输出引脚接在开发板的任意一个数字输入引脚上,GND引脚接在开发板的接地引脚,VCC引脚接在开发板的+5 V引脚。氧浓度传感器的输出引脚接在开发板的任意一个模拟输入引脚上,完成人体检测单元和控制单元的连接再由控制单元控制报警单元和脱险执行单元。
图1 Arduino UNO开发板
在装置检测到车内存在滞留儿童时,需要对外界报警,使儿童能够及时得到救援。由于考虑到停车地点和时间的多变性以及救援人员的不确定性,因此设计了2个报警模块:蜂鸣报警模块和短信报警模块。蜂鸣器报警模块的执行由有源蜂鸣器模块完成。蜂鸣器模块有3个管脚,其中标注“-”的管脚接地(GND),中间的管脚接在开发板+5 V的引脚,标注“S”的管脚接任意数字输入引脚。蜂鸣器报警模块在收到中央控制单元的指令后可以发出蜂鸣信号提醒周边行人车内有紧急情况,由行人提供快速救援。短信报警模块的通信部分采用SIMCOM公司的SIM900A模块实现[7],如图2所示,SIM900A模块采用GPRS的通信方式,GPRS数据网络和打电话可以同时进行,使移动网络的功能得到进一步提升[8]。SIM900A模块与Arduino UNO的引脚连接情况见表2。
表2 SIM900A模块与Arduino UNO的引脚连接情况
Arduino UNO开发板可以通过串口控制SIM900A模块向指定电话号码发送短信或者拨打电话以达到向车主报警的目的。
为了能够让车内滞留儿童得到及时的救援,在该装置中还设计了1个主动的脱险执行单元。脱险执行单元包括Arduino AFMotor 电机扩展板、外加12 V电源和12 V直流电机。Arduino AFMotor 电机扩展板可以最多驱动4个直流电机,分别控制汽车前后4个车窗的开启和关闭[9]。由于Arduino UNO开发板所能提供的最大电压为5 V,所以外加了1个12 V的电源来给直流电机供电。完成电路连接后,中央控制单元可以通过Arduino UNO开发板的PWM接口控制电机的转动时间和转动方向,从而控制车窗升降。
图2 SIM900A模块
供电单元由车载小型风力发电装置、稳压模块和蓄电池组成。车载小型风力发电装置可以俘获车辆行驶过程中产生的风能,通过风力发电机将之转化为电能。通过轴承、支撑座及端盖将发电机的定子、转子连接组装起来,使转子能在定子中旋转,车辆行驶时空气相对流动产生的风能带动风机叶片转动带动转子旋转;使转子成为1个旋转磁场,定子线圈在做切割磁力线的运动的同时产生了感应电势,通过接线端子引出,接在回路中就产生了电流,供电单元工作流程如图3所示。
图3 供电单元工作流程图
该文对风力发电机进行了设计。风力发电机按旋转轴分类,可以分为水平轴风力发电机和垂直轴风力发电机。其中水平轴风力发电机最为常见,对风能的利用率也最高,但是占用的空间大,并不适合汽车上使用。垂直轴风力发电机具有占用空间小、可多角度受风、启动风速小以及维修保养简单等优势,所以该装置设计采用垂直轴风力发电机。扇叶的工况是在户外,需要有一定的抗氧化性能和抗腐蚀性能。铝合金材质的扇叶具有质量轻、强度高以及耐腐蚀等特点,既不会过多增加车辆的负担,又能保证在强大的风力的影响下不会发生变形,因此选择铝合金材质的扇叶。
由于风力发电的电压不够稳定,因此要先通过稳压模块进行稳压后输入蓄电池中储存,同时为了防止蓄电池过度充电损耗蓄电池寿命,设置防过充保护装置。保护装置采用STC89C52RC单片机作为控制芯片。STC89C52RC/RD+系列单片机是STC推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,能够提高控制器的处理速度,减少工作状态下的电量消耗,实现系统的自动控制。为了方便使用,单片机最小系统采用了12M晶振。电流首先经过变压器降压,然后通过整流滤波电路得到直流电,接着再通过7805稳压器获得5 V直流电,为蓄电池供电。电源模块设计LED指示灯,绿色时为正常工作状态,方便电路检查。通过电流稳压器进行稳压后的电流流经霍尔电流传感器,通过霍尔电流传感器来实时检测充电电流,反馈信息给单片机处理。当检测到蓄电池充满后,单片机驱动,继电器断电。
利用风能转化得到的电能就储存在蓄电池中,再由其为应急脱险装置供电。
整个装置的工作流程图如图4所示,在车辆熄火、门锁上锁后整个装置开始工作。中央控制单元会首先采集红外人体检测模块的输出信号;与此同时,氧浓度传感器时刻监控着车内的氧气浓度,实时将检测到的氧气浓度数据发送给中央控制单元。当2个装置同时检测到儿童的存在时,就会输出信号给Arduino UNO开发板,开发板通过串口给SIM900A模块发送指令,由SIM900A模块给预先设定的联系人发送短信或是拨打电话。在SIM900A模块工作的同时,蜂鸣器报警模块开始工作,发出刺耳的蜂鸣声,提醒周围行人车内有滞留儿童。
控制单元控制脱险执行单元生效,由电机扩展版驱动电机转动降下车窗,以达到对车内滞留儿童实施救援的目的。
装置的执行程序都是在Arduino IDE上编写完成的,包括红外人体感应模块控制程序、氧浓度传感器控制程序、无线通信控制程序、脱险执行单元控制程序和整体逻辑控制程序。由于篇幅有限,因此只介绍红外人体感应模块控制程序。
图4 应急脱险装置工作流程图
红外人体感应模块控制程序如下。
通过该程序对引脚进行初始化设置,在模块感应到人时输出高电平,无人时保持低电平,从而实现对红外人体感应模块的控制,将有人或无人的信息作为输入发送给控制单元。
该装置采用自带供电单元供电及汽车蓄电池供电两种方法保证装置的运行稳定性,同时减少了运行成本。该装置具有红外人体检测和氧浓度检测2种检测功能,可以大幅度提高车内滞留儿童检测的准确性。当该装置检测到滞留儿童遇到危险时,首先通过报警模块通知车主,与此同时,在车内的情况已经对儿童的生命安全产生威胁时进行主动救援,防止悲剧发生。