高晓灵,陈世义,唐红涛,周 林
(武汉理工大学 机电工程学院,湖北 武汉 430070)
随着人们生活水平的提高,消防安全的意识不断完善,商业建筑和工业建筑对于防火闭门器的需求不断增长。防火闭门器功能类似一个弹簧液压器,通过一定的机械结构,开门时能存储弹簧压缩的能量,关门时,只要一点力使它释放弹簧存储的能量就能够达到关门的效果[1-2]。它主要应用于商业建筑和公共建筑,实际作用是发生火灾时用来隔绝火灾现场,限制建筑物的通风,有效减小火势。步入21世纪以来,在许多公共建筑中的各个重要关口的门上,都有必要配置闭门器来隔绝烟雾和防止火灾的扩散,然而很多建筑并没有安装。因此,闭门器无论是翻新还是安装在新的门上,都有巨大的潜在市场[3]。
目前在防火闭门器的控制领域大多还停留在单纯的机械与简单电路控制阶段,而远程控制才刚刚起步。国内外学者对闭门器的远程控制展开研究,取得了一些成果[4-5],但大多没有以移动客户端作为控制平台,难以随时随地监控闭门器的状态,导致突发火灾时,由于种种原因没来得及关门,造成不必要的人员伤亡和财产损失。因此本设计将闭门器与移动互联网技术结合,利用移动客户为操作平台,研发了一套能在移动端远程监控的防火闭门器系统,推动了闭门器领域的升级,促进了远程智能化控制的完善。
笔者以闭门器为控制对象,利用Android移动客户端[6]作为操作控制平台,通过WiFi传输[7]控制命令和数据信息,利用STM32单片机芯片为核心的控制电路处理WiFi传输的数据后,实现对闭门器的远程智能控制[8],实时获取闭门器的状态,将其反馈到移动客户端并显示。
闭门器系统包括移动客户端的控制界面设计、手机与WiFi模块通信,串口/WiFi模块配置,单片机控制电路,闭门器硬件等。系统的总体控制方案如图1所示。
图1 闭门器总体控制方案
闭门器端,主要分为闭门器本体和辅助部件。其中,底座和滑块构成闭门器本体,连杆、滑槽和固定装置构成辅助部件。控制模块主要由电源模块供电,WiFi模块通过串口来传送数据到单片机电路,单片机根据接收的信息来改变输出端口的电平,最后控制继电器的通断电。移动客户端的开发要求为操作者提供一个良好的人机交互界面以及与WiFi模块的实时通信,最终实现在移动端远程监控闭门器。
闭门器基本结构主要分为闭门器本体、连杆、滑槽和固定装置,总体结构如图2所示。
图2 闭门器的总体结构
滑块固定在滑槽里,滑槽固定在门框上。由滑块连接的连杆与门板相连,开门时门板带动连杆,连杆带动滑块运动。闭门器底座由电磁铁、凸台、弹簧、吸板和固定块等组成,如图3所示。
图3 闭门器本体的底座
闭门器滑块中有一个小凹槽,当滑块滑动到某个位置时,凹槽和凸台咬合,就能保持闭门器的常开。当需要关门时,远程控制发出指令,控制继电器失电,使得电磁铁失去吸力,从而松掉底座上面的铁板。与铁板相连的凸台在弹簧力的作用下会往上运动,使得它脱离凹槽,滑块可以在滑槽滑动,从而使得门关闭。另外,闭门器底座的凸台右侧并不是完全垂直的,有一定的角度,这样是当人使用不大的外力时,也可以使凸台和滑块脱离咬合状态,这样就能实现外力关门的功能。闭门器滑块和凸台的咬合示意图如图4所示。
图4 闭门器滑块和凸台咬合示意图
本研究设计了一个以单片机芯片为控制核心,用串口/WiFi模块来通信,以继电器为闭门器的动作发生器的控制模块。单片机芯片选用STM32单片机芯片,与51单片机芯片相比,功能更加强大,一次能处理32位的数据,处理速度快,还具有更快的实施应用和联网设备同步通信的响应速度。WiFi模块选用的是USR-215WiFi模块,它与一般WiFi模块相比,体积小功率低,只需要简单配置,即可实现UART设备联网功能。
控制模块的控制原理是WiFi模块接收到从手机APP上发来的信号,经过WiFi模块处理后,按要求通过串口发送字符串”close”或”open”,然后配置STM32f103c8t6芯片串口1与一个D0脚,通过串口1接收串口信号,处理后给出改变该D0口电平,以此电平信号来改变继电器的线圈得电、失电状态,从而控制外围电路的开断情况。控制原理如图5所示。
图5 控制模块的控制原理图
硬件电路中的电源模块为整个控制电路供电,它是一个220 VAC转5 VDC的电源模块。其5 V输出作为两个部分使用,一部分作为继电器的驱动电源,另一部分是通过一个3.3 V稳压模块将5 V转为3.3 V,给WiFi模块以及STM32f103c8t6芯片供电(所有模块共一个地线)。
WiFi模块及其外围电路如图6所示,通过WiFi接收来自手机APP的信号,处理后,通过其自带的串口引脚(5脚-RXD、6脚-TXD)输出信号,将其引脚与处理芯片的串口(PA9脚-RXD、PA10脚-TXD)连接,使其信号发送到芯片。
经过芯片处理后,通过设定的D0口(PB0)、输出电平信号,若为高电平(对应close)则继电器失电,外围电路断开,防火门关闭。
继电器及其驱动电路如图7所示。继电器配置的驱动电路,根据芯片的D0口的输出电平来动作,若继电器失电,与其连接的电磁铁失去吸力,在弹簧力的作用下带动凸台上升,从而门由开启状态变为关闭。
图6 WiFi模块及其外围电路
图7 继电器及其驱动电路
闭门器软件控制的实现分为Android移动客户端的开发和控制模块中的STM32单片机的程序开发。基于WiFi模块通信服务端的数据传输,Android移动客户端能向控制模块发送远程控制指令,从而实现闭门器的远程智能控制。单片机程序主要包括功能模块的数据初始化配置和处理相应的移动客户端发出的指令,然后输出高低电平来控制闭门器。
为了实现移动客户端和WiFi模块的远程数据接收以及指令发送,通信采用Socket编程,通信协议为TCP协议,利用该函数与协议完成发送指令以及数据接收的功能。在信息传输的过程中有通信服务的建立、数据的交换和通信连接的释放3个主要阶段。
Android客户端界面如图8所示。主界面为控制界面,能实时监控常开闭门器,该界面设有闭门器当前状态栏和故障信息栏。连接界面通过输入IP地址能实现与WiFi模块的通信,扩展界面能完成一些个性化设置并支持第三方扩展功能。
图8 Android客户端界面
编写STM32单片机程序使其能读取WiFi模块通过串口传输的APP操作指令,并将该指令以高低电平的形式输出。
在单片机程序设计中,遵循程序设计思路的一般规律,采用模块化设计思想对程序进行分模块设计。程序的编写主要包括串口的初始化配置,UART模块的配置,波特率参数的设定,串口数据传输过程中中断配置和一些外设引脚的设置等。相应的部分程序如下:
int main(void)
{
Rx_Count = 0;
memcpy(ReceiveDate,"0x00",1024);
SystemInit(); //系统时钟配置
Init_NVIC(); //中断向量表注册函数
Init_LED(); //各个外设引脚配置
Init_Usart(); //串口引脚配置
Usart_Configuration(115200); //串口配置;设置波特率为115200
JDQ = 0;
while(1) {
if(Rx_Count)
{
if(strcmp(open,(const char*)ReceiveDate)==0)
{
JDQ = 1;
}
if(strcmp(close,(const char*)ReceiveDate)==0)
{
JDQ = 0;
}
memcpy(ReceiveDate,"0x00",1024);
Rx_Count = 0;
}
Delay_Ms(200);
}
}
针对闭门器监控系统做整体设计架构并对其做详细分析,完成了基于移动互联网闭门器系统的硬件和软件设计,主要有闭门器的机械结构设计,硬件电路设计,Android客户端的开发以及单片机程序的编写。调试结果达到了预期的效果,在手机移动客户端上对闭门器实现远程控制以及状态的监控,完成了单个的点对点控制。本文进行的基于移动互联网的防火闭门器结构和监控系统设计,不仅仅是对闭门器领域的升级,更是对智能化管理的促进和完善。