时间:2024-05-18
侯 琳,李百灵,王馨铎,于 洋,杨巨成
(天津科技大学人工智能学院,天津 300457)
随着社会的进步,科技的发展速度也越来越快,城市的大型高层建筑数量也越来越多。建筑的不断拔高,建筑面积也在不断增加,导致火灾安全形势十分严峻。由于消防安全监管机构的人员数量有限,且缺少有效的技术支持和社会化的协作,重大的火险隐患未能及时发现、整顿和消除,火灾风险发生的概率仍然居高不下。
为有效减少火灾消防安全隐患,国家消防总局于2017-10-10 印发了《关于全面推进“智慧消防”建设的指导意见》。文件要求应综合使用大数据、云计算、移动互联网、物联网等新的信息技术,要加快“智慧消防”的建设,全面推动信息化同消防工作的深度融合,构建全覆盖的社会防火灾管理体制,实现从“传统消防”到“现代消防”的转型。因此,智慧消防应运而生,而无线火灾报警器可以为安全提供保障,能够快速地将火情信息警报发出,减少损失。
该系统采用单片机作为主控,各模块协同工作,由单片机协同完成整个系统的功能设计。本设计的重点是对微处理器进行控制,以完成微处理器的数据采集、运算、输出、控制,所以对单片机的了解与掌握尤为重要。单片机的实质为对单片机的IO 管脚的应用[1]。根据项目的情况将单片机的IO 管脚设置为输入或者输出引脚,通过单片机的引脚辅以外围电路设计与C 语言程序的配合,完成烟雾采集的功能设计。
以单片机为核心的火灾报警系统,采用单片机来完成最小系统的建立,保证设备可以正常运行。通过辅助的电路来实现对传感器数据信息的采集,采集的数据经过单片机整理后显示输出,或者作为逻辑的控制输出。
单片机系统主要由晶振电路与复位电路组成,主要负责外围数据的采集与数据运算,最后进行数据输出与逻辑控制功能;烟雾探测用MQ-2 型烟雾传感器探测烟尘体积分数,MQ-2 型烟雾传感器通过单片机的数据采集进行烟雾体积分数的测量;按键电路模块主要由按键构成,其主要作用是执行信息的输入,并通过按键与设备的控制进行交互;显示模块主要实现数据的显示,单片机通过显示程序驱动显示屏显示数据,从而让系统的运行状态清晰可见,方便进行观察;报警模块通过驱动报警装置,当遇到限值超标情况时,方便人员快速处理突发状况;Wi-Fi 通讯模块通过单片机的UART(异步收发传输器)接口实现数据的交互,实现设备之间的信息传递与远程交互;输出模块中单片机通过采集的状态判断输出指示,通过控制输出状态与外围辅助电路实现输出的状态与输出控制功能。
单片机是具有智能化的中央控制单元,核心部分由无数的微晶管组成,众多的微晶管构成与非门电路系统,通过程序的运行控制与非门通断,可以对逻辑进行输入和输出的控制,并根据不同的控制逻辑来实现相应的功能。由于单片机本身无法独立工作,因此必须与外部电路协同工作,构成最小系统,以达到智能控制目的,能在单片机工作状态下达到最低限度的部件就是MCU(Microcontroller Unit)最小系统[2]。本次设计采用STC 系列单片机STC89C52 作为项目的控制器,主要是8 位的CPU(Central Processing Unit),具有64 kb 的寻址空间,一共具有4 组32 个输入与输出的IO 管脚,具有2 个优先级与5~6 个的中断,并且具有1 个UART 串行通讯接口[3]。
LCD1602 是一种较为常用的液晶显示屏,它的主要功能是用来显示数字或字符信息。LCD1602 的组成主要包括了液晶部分的LCD(Liquid Crystal Display)器件、控制与驱动电路部分、电容电阻等元器件集成在一块电板上做成的一种液晶显示器件。液晶显示屏幕主要具有功耗较低、显示内容灵活、信息较多、驱动方便、显示刷新频率快的特点。液晶屏幕只需要5 V的供电电压就可以实现液晶的正常工作与驱动。LCD液晶显示是由“.”分布组成,液晶主要结构是M×N个的单元模块。根据字库或者取模实现“.”组成不同的数字与字符,驱动芯片内部的RAM(Random Access Memory)的寄存器地址分别对应相应的字符组成结构。
按键是一个机械结构,当触发时两端的按键管脚会接通,当弹开时候按键两端管脚断开。单片机检测到低电平说明外部按键触发,从而执行按键操作程序。按键是一个接卸结构,当按下时可能看不出振动,但是单片机检测时候会存在一个振荡过程,所以就需要一些处理手段来实现防抖动,否则按键就会多次检测实现误差或者按键不灵敏。采用程序实现防抖动,在检测按键时候加入5~10 ms 的延时就可以实现按键防抖。
采用气体检测模块实现对空气中气体体积分数的检测,气体检测模块是通过化学反应来实现的,也可以称之为电化学反应。随着空气中气体体积分数的改变,气体检测传感器的内部会发生不同的化学反应,这样就间接导致了传感器的输出模拟电压会发生变化。单片机可以通过采集AD 数据将这个模拟的变化量采集出来,从而会得到气体体积分数的变化量。
本设计使用MQ-2 型传感器对大气中的烟雾体积分数进行探测,MCU 探测到传感器的引脚电平变化就可以实现对外部烟雾体积分数的判断。当要实时监测烟雾的体积分数数值时候就需要接入ADC(Analog-to-Digital Converter)芯片实现模拟量到数字量的转换,也就是烟雾体积分数到电压的变化,单片机通过采集的数字量实现了对体积分数的检测。由于MQ-2 的传感器特性,当刚接上电的时候,需要预热MQ-2 传感器才可以正常工作,一般上电几分钟就可以完成预热得到准确的测量数据。
报警模块可以发出声音或发光,利用声响来警告异常状况,从而实现警示作用。该设计的报警功能是通过蜂鸣器来实现的,在系统出现故障时,会有声音的提醒。蜂鸣器的报警采用三极管9012 作为一个开关器件,控制蜂鸣器是否发出声音。电源电压为5V 驱动蜂鸣器发出声音,单片机的P2.0 引脚连接到9012 三极管的基极。当单片机的P2.0 引脚输出一个低电平时,Q1 三极管导通,蜂鸣器发出报警声音;当单片机的引脚输出一个高电平时,Q1 三极管截止,蜂鸣器停止发生。单片机通过控制IO 引脚实现对蜂鸣器报警的间接控制,起到了系统声音预警的作用。
气体探测模块是利用化学方法实现对大气中气体体积分数的监测,也可以称之为电化学反应。当气体体积分数发生变化时,传感器内部会产生不同的化学反应,这样就间接地导致了传感器输出的模拟电压有一定的改变。单片机可以利用采集的AD 数据把这个模拟的变化量采集出来,从而会得到气体体积分数的变化量。采集气体体积分数是将模拟量转化为数字量然后给单片机使用,从而得到气体体积分数变化以便设备做出反应。一般来说气体传感器想要正常进入工作状态需要预热几分钟,等待传感器中的化学反应初始化完成,这个时候测量的气体体积分数就会相对准确。铁网部分为气体检测传感器,传感器只需要接入电压5V 电源正常供电即可,气体传感器的输出引脚为第3 个引脚,根据检测需求连接到单片机中即可检测气体体积分数。
设备连接网络中实现物联网的通讯功能,采用Wi-Fi 模块的型号是USR-WIFI232 模块与手机之间进行连接。USR-WIFI232 模块采用终端模式设置,手机搜索到模块信号进行连接,即可接入到网络实现Wi-Fi之间的无线数据交互。USR-WIFI232 模块采用的供电电压是3.3 V 供电,超过电压可能导致Wi-Fi 模块烧毁,使用时候采用降压芯片可以实现稳定的电源供给。USR-WIFI232 模块内部集成了以太网协议,用户不需关心网络数据协议,只需要完成数据的传输即可。模块与单片机之间采用串口来进行数据的传输,通过透传模式将数据发送到以太网端,用户也不必关心网络协议,只需要直接解析数据即可。将Wi-Fi 模块的第3个引脚连接到单片机的RXD(接收数据的引脚),将Wi-Fi 模块的第4 个引脚连接到单片机的TXD(发送数据的引脚),这样就可以实现数据的传输。根据模块使用说明需要在Wi-Fi 模块的第10 个引脚加入上拉电阻,这样模块就可以进入到正常工作状态。
继电器是常用的一种电子开关设备,单片机可利用IO 引脚实现控制,最常见的应用为弱电压控制强电压的一种手段。继电器的开启或关闭是根据电磁现象来实现的,当继电器没有通电,继电器的触点在弹簧的作用下处于分开状态,当电流通过控制端子的线圈时,会形成一个磁场,通过磁场来吸引触头,继电器就处于开启状态,从而完成开关的基本功能。本设计采用一个三极管9012 作为电路的控制开关,增强线圈中的导通电流。该控制器与P2.4 管脚相连接,当P2.4管脚的输出为低电平时,三极管处于导通状态,电流通过继电器线圈,形成一个磁力吸收触点,从而使继电器能够接通。三极管在P2.4 是高电平时断开,继电器不动作。采用二极管4148 实现反向击穿保护,防止线圈中断电之后产生电压而烧毁器件。
采用STC89C52 单片机控制连接硬件设备,对红烟雾传感器采集的烟雾体积分数进行分析,对单片机相连的输出设备进行相应的操作[4]。此系统当中与STC89C52 设备相连的是MQ-2 烟雾传感器。火灾传感器把采集到的数据信息上传到单片机中并进行显示,通过Wi-Fi 模块连接到手机的APP 中,实现数据的远程查看。
单片机程序运行时,必须要启动主函数main,会首先从主函数的第一个程序开始,然后依次执行[5]。主程序主要包含了数据的定义部分、循环部分和调用子函数部分。程序最先进行的是各个传感器的初始化程序,等传感器都进入到正常的运行状态之后进入循环程序,循环程序会一直执行,从第一条开始调用对应的子程序,然后依次执行到最后,接着再次返回到循环程序的第一条开始反复地运行。
传感器检测程序主要是利用MQ-2 检测烟雾的体积分数,MQ-2 把检测的模拟量通过ADC 转化为数字量。当ADC 读取数据,采集完成后会输出一个数字量,这个数字量就是MQ-2 传感器采集的体积分数数据,单片机通过传感器采集的体积分数与设置的体积分数进行比较,实现传感器的检测数据与烟雾的体积分数报警。
传感程序主要是对外界的各种信号进行检测,并进行采集,再由单片机对数据进行计算和处理,并完成相对的逻辑功能。在传感器通电后,由微处理器初始化传感器设置,再进行数据的采集,判断是否正确。如果采集成功,则对采集的数据进行处理;如果失败,则再次进行采样,最后根据采集的数据结果实现对相应程序的处理。
登录界面设计步骤如下:①声明用户名编辑框、密码编辑框,登录按钮,设置登录按钮的事件监听器;②点击登录按钮后,获取用户名编辑框和密码编辑框的文字,然后和用户名、密码比对,若比对成功,则跳转到主界面,否则弹出一个Toast 提示登录错误。
主界面设计步骤如下:①定义控件,绑定控件,设置连接按钮和发送按钮的事件监听器;②实例化一个Handler 对象,Handler 用于Android 子线程和UI线程的线程间通信;③点击连接按钮后,开启一个线程进行Socket 的连接,并在连接成功后通过Handler对象发送“连接成功(msg.what=1)”消息到UI 线程;④Handler 处理“连接成功”消息,开启一个线程死循环一直读取服务器消息;⑤点击发送按钮后,开启一个线程通过输出流发送数据。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!