吕耀辉,吕晨晖,隋杰,杨文海,邓周虎,李强
(1.西北大学,陕西西安,710127;2.西安通大思源电器有限公司,陕西西安,710054)
近年来,高空坠物致人伤亡的事件日益增多。随着经济的发展,建筑楼层数目日渐增高,在一些事故频发的地点,例如建筑工地等,高空坠物的危害性越来越大。随着电子技术的发展,利用传感器技术和软件控制技术,设计一款高空坠物智能检测预警[1]系统,对高空坠物进行检测并预警,能够降低高空坠物的危害性。
本系统通过软硬件的结合实现对高空坠物的探测以及对干扰物体的判断。硬件部分使用双层阵列探测装置,探测装置以激光发射模块与光敏电阻为核心。利用软件对智能探测装置返回的探测信号进行判断,存在高空坠物信号时,将触发系统的报警装置并发出警报。
本系统由探测模块、以STM32单片机[2]为核心的智能检测模块和报警模块组成。图1为本系统的功能框图。
图1 高空坠物智能检测报警系统功能框图
高空坠物智能检测装置的制作材料包括:PCB板、激光发射模块、光敏电阻、金属膜电阻器、CD4072BE直插式双路四输入或门、发光二极管、热缩管、导线等。
本装置制作过程中使用的器材有:电烙笔、焊锡丝、剪线钳、斜口钳、镊子。
本装置的制作成本在120元左右。
2.2.1 设计方案
高空坠物智能检测装置包括两部分:激光发射装置及激光接收装置。
系统设计初期选择发射装置时,拟采用红外发射管[3]与激光发射管。测试过程中,发现红外发射管受环境光影响较大,红外发射管电路复杂且调试困难。激光发射管具有发射激光距离长、方向性好、且激光聚于一个亮点,受环境光的影响可忽略不计。因此,最终系统选用激光发射模块。
2.2.2 电路设计
本系统的接收装置主要是由光敏电阻构成。供电模块采用普通手机充电头将市电转为5V直流电,通过USB接口供电[4]。接收装置利用了光敏电阻在无光照状态阻值趋于无穷大,且随着光照强度的增大,光敏电阻的阻值随之减小的特性[3],当外界环境光强度足够强烈,光敏电阻的阻值趋于零。本系统的接收装置为了提高探测坠物的精度、减小误触发的几率,在光敏电阻外围加装热缩管以避免环境光对探测效果的影响,且将光敏电阻分为两层阵列式排布,每层由四个光敏电阻并联。在每个并联支路上,将光敏电阻与一保护电阻串联,目的是防止因某个光敏电阻在强光照下阻值趋于零而导致其余支路短路。在光敏电阻与定值电阻之间引出信号接入CD4072BE直插式双路四输入或门[5],并将CD4072BE直插式双路四输入或门的输出端作为整个探测装置[6]的信号输出端,在输出端接发光二极管作为预警信号指示灯。将光敏电阻两端的电压作为CD4072BE的输入,当无障碍物时,激光发射装置发出的激光能够直接照射在光敏电阻上。光敏电阻两端的电压趋于0V,此时CD4072BE直插式双路四输入或门的输入信号均为低电平信号,其两个输出信号为低电平信号,此时发光二极管两端电压为低电平,预警指示灯[7]灭;当有坠物通过探测装置时,此时激光发射装置发射的激光束被坠物遮挡,激光接收装置中一个或多个光敏电阻上无光照,无光照时,光敏电阻的阻值趋于无穷大,电路中光敏电阻两端的电压也趋于电源电压(5V),此时CD4072BE直插式双路四输入或门的一个或多个输入信号为高电平,通过或的逻辑,其输出信号也为高电平,若上层发射装置发射的激光束被遮挡,那么上层的预警指示灯亮;若下层发射装置发射的激光束被遮挡,那么下层的预警指示灯亮,由此可以通过预警指示灯的状态来判断坠物通过探测预警装置的具体情况。
2.2.3 电路仿真
高空坠物智能检测装置使用Multisim软件进行电路仿真。
图2 无障碍时智能探测预警装置电路仿真图
Multisim软件不支持光敏电阻的仿真,因此在电路仿真中采用电位器替代光敏电阻。当无障碍物时,光敏电阻在强光照下阻值趋于零,将电位器滑至阻值最小处来模拟这种状态;当有障碍物时,激光被障碍物遮挡,光敏电阻无光照,光敏电阻阻值趋于无穷大,将电位器[10]滑至阻值最大处来模拟这种状态。仿真时电位器的最大阻值选择为2MΩ,实际电路测量光敏电阻在无光照时的阻值同样在MΩ数量级,经过仿真与分析,这种替代不会影响实验结果。
图3 有障碍时智能探测预警装置电路仿真图
(1)本系统由STM32F103C8T6[8]作为控制模块,其内部程序设计过程包括主程序设计、外部中断I/O口配置程序设计、报警信号I/O口配置程序设计、外部中断初始化程序设计、中断服务程序设计[9]。
(2)主程序设计:在主程序中,通过调用若干库函数来实现相应功能的初始化,其中包括:延时功能的初始化、设置中断优先级分组[10]、串口初始化、报警信号I/O口初始化、外部中断初始化。完成以上初始化后,对为报警装置提供控制电平的I/O口设置初值,使其处于不报警状态,设置完成后,令程序进入while(1)循环,循环中无任何语句,等到接受外部中断触发。
(3)外部中断I/O口配置程序设计[11]:首先将相应I/O口的时钟使能,并关闭Jtag,使能SWD。然后利用库函数配置所需的I/O口,本系统中选择PA0、PA1,并将其设置为下拉输入。当外部中断触发后,程序转入中断服务函数。
(4)报警信号I/O口配置程序设计:首先将相应I/O口的时钟使能,本系统中选择PB7、PB8,并依次利用完成端口配置、设置为推挽输出[12]、设置I/O口速度为2MHz、并将其初值均设置为低电平。
(5)外部中断初始化程序设计:首先使能AFIO时钟,对各个中断线完成配置,本实验中设置为上升沿触发。使能I/O所在的外部中断通道,设置PA1抢占的优先级高于PA0。
(6)中断服务程序设计:本系统中含有两个中断服务程序,分别由PA0引脚触发及由PA1引脚触发。
①当中断0被触发,首先进行消抖:延迟10ms,再次判断PA0引脚状态,若仍为高电平,则使标志位置1,此标志位用于排除外部飞鸟及其他物体的干扰。标志位置1后,可根据此系统安装的楼层设置延时。例如在100ms后使标志位清零,安装楼层越低,坠物速度越快,此延时时间越短。标志位清零后,清除EXTI0线路挂起位,此中断服务程序结束。
②当中断1被触发,首先检测标志位,若标志位为1,则使PB7与PB8输出高电平,系统报警。本系统中设置的报警时间为6秒钟。6秒钟后,PB7与PB8输出低电平,结束报警。最后再次清除标志位,并清除LINE1上的中断标志位。
本系统用于检测高空坠物并发出警报,但空中存在缓慢降落的物体,例如塑料袋、落叶等缓慢坠物[13],则本系统检测到此类物体时,不应该发出警报。当有飞鸟等生物从下往上飞被本系统检测到时,本系统也不应该发出警报。因此,需要通过一定的方法来对系统检测到的物体进行判断。
飞鸟等生物有可能从下往上飞,并不会对行人造成威胁与伤害。因此,将红外探测装置设置成两层。当上层的探测装置探测到物体时,标志位置1,当下层装置检测到物体时,先检查标志位,当标志位为1时,系统发出警报[14];若标志位为0,则说明上层探测装置没有检测到物体,由此判断出不是高空坠物,系统不发出警报。
当塑料袋、落叶等缓慢坠物被系统检测到时,上层探测装置被触发与下层装置被触发的时间间隔将远大于真正高空坠物所对应的时间间隔[15]。因此,下层探测装置触发的中断优先级高于上层探测装置触发的中断优先级,当上层探测装置被触发后,标志位置1,然后进入延时,在延时时间内,若下层探测装置被出发后,因为下层的优先级更高,程序从中断服务函数0进入到中断服务函数1,系统发出警报;若在延时结束后,下层探测装置仍没有探测到物体,则认为两层探测装置被触发的时间间隔过长,所探测到的物体为缓慢坠物,系统不发出报警。
(1)当有坠物自上而下快速通过探测装置时,系统发出警报。蜂鸣器与发光二极管同时报警6秒中后,装置回到检测状态,等待新的坠物通过。
(2)当有物体缓慢自上而下通过探测装置时,系统不发出警报,即系统判断为该物体为落叶等对人体无害的坠物,不作响应。
(3)当有物体自下向上快速或缓慢通过探测装置时,系统不发出警报,即系统判断该物体为飞鸟等物体的干扰,不作响应。
(4)改变程序,改变单片机中断0的服务函数中的延时时长,结果为改变通过探测装置的物体被判断为高空坠物的阈值速度[16]。
因此,本系统实现了对高空坠物的智能判断与警报。
本系统面向广大的人民群体,且装置具有较高的精确度和灵敏度,能够可靠的实现预期的功能,对高空坠物及时预警,减小其对行人的危害。能排除飞鸟等生物的干扰,避免错误报警。装置价格低廉,有较好的实用性。