基于数据融合的火灾监测报警系统毕业论文
2020-04-08 12:36:37
摘 要
近年来火灾发生频繁,火灾也已经逐渐变成了对人们危害最大的灾害之一。市面上也逐渐出现了许多火灾报警系统,如烟感报警、温感报警等。由于那些传统的仅使用单独一个传感器的火灾报警系统,容易产生误报漏报的现象。此次设计就是为了通过数据融合算法来提高火灾报警系统的可靠性。本设计利用51系列单片机采集三个传感器数据,然后通过串口通信将其数据上位机。此上位机是基于matlab设计的,担任着数据处理和数据融合的任务,并将传感器数据显示出来。本次设计采用的数据融合算法是BP神经网络算法,此算法是一种基于误差反向传播的前馈神经网络,主要分为前向传播和误差反向传播。通过计算值和期望值之间的误差不断地矫正系统的权值,最终实现学习目标。通过这种算法我们可以极大地减小火灾报警的误报率。
关键词:多传感器、数据融合、BP神经网络、单片机、上位机、matlab
Abstract
In recent years, fire has occurred frequently, and fire has gradually become one of the most harmful disasters to people. There are also many fire alarm systems in the market, such as smoke alarm and temperature alarm. Because those traditional fire alarm systems only use a single sensor, it is easy to generate false alarm. This design is to improve the reliability of fire alarm system through data fusion algorithm.This design adopts 51 series single chip microcomputer to collect data of three sensors to send its data through serial port communication according to certain rule to the upper computer made based on matlab.The upper computer has the task of data processing, data fusion and displaying sensor data.The data fusion algorithm we adopted here is BP neural network algorithm, which is a feedforward neural network based on error back propagation, mainly divided into forward propagation and error back propagation. By calculating the error between the value and the expected value, the weight of the system is continuously corrected and the learning goal is finally achieved. This algorithm can greatly reduce the false alarm rate of fire alarm.
Key words: multiple sensors, data fusion, BP neural network, SCM, upper computer, matlab
目录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外现状 1
1.2.1 国外现状 1
1.2.2 国内现状 2
1.3 主要研究内容 2
第2章 总体方案设计 3
2.1 硬件电路设计 3
2.1.1 传感器选用 3
2.1.2 主控芯片的选用 3
2.1.3 AD芯片的选用 3
2.1.4 硬件电路总体设计 4
2.2 上位机设计 4
第3章 系统硬件电路设计 5
3.1 传感器电路设计 5
3.1.1 温度传感器 5
3.1.2 MQ-2型烟雾传感器 7
3.1.3 火焰传感器 9
3.2 AD转换电路设计 11
3.3 单片机电路设计 13
3.4 硬件电路总设计 15
第4章 单片机程序设计 16
4.1 单片机与温度传感器间的通信 16
4.2 单片机与AD7705之间的通信 17
4.3 单片机与上位机之间的通信 18
4.4 单片机和串口助手的调试 19
第5章 数据融合 21
5.1 模糊理论 21
5.2 神经网络 22
5.3 MATLAB神经网络工具箱 26
第6章 MATLAB上位机制作 28
6.1 GUI设计 28
6.2 上位机和单片机的联合调试 30
第7章 总结与展望 31
参考文献 32
附录A:硬件电路图 33
附录B:单片机C语言程序 33
附录C:matlab上位机程序 33
致谢 34
第1章 绪论
1.1 研究背景及意义
最近几年以来,随着大型建筑物的不断增多、房屋结构日益复杂、人口密度逐渐增大,火灾隐患也随之而来。在世界范围内,发生火灾的频率越来越高,火灾隐患给人们带来的损失已经不能小觑。
火灾也逐渐变成了威胁人们生命财产安全的灾害中比较常见的一种,所以能够提前知晓火情并在火势变得严重之前报警会大大降低火灾带来的损坏,也会给人们的生命和财产提供一定的保障。这也是火灾报警系统需要完成的任务,火灾报警器也因此而生。
虽然目前市面上火灾报警器多种多样,但大多数火灾报警器都是利用单一传感器来对某一数据进行采集分析从而实现火灾报警。使用单一传感器会因为测量量过少而导致火灾的漏报等现象的发生。同时大部分火灾报警算法都是使用的基本处理算法如阈值法。虽然这种方法设计起来较为简单而且较为容易实现,但是火灾发生时的火情时多种多样的我们无法通过某一外界物理量是否超出阈值来判断是否发生火灾。火灾的发生是无法确定的,这种无法确定体现在火灾发生的位置和火情的变化以及外界环境的变化。由于我们在火灾发生前无法预知,这些无法确定的因素都会给火灾报警带来困扰,产生误报漏报现象。因此我们需要一种能够进行检测各种类型火灾的信号处理算法,减少误报漏报现象,提高系统的灵敏度。
1.2 国内外现状
1.2.1 国外现状
早在19世纪八十年代初期,一些欧美国家就已经开始进行火灾报警这方面的研究,而且也已经一些初步成果,建立起了一系列的消防报警系统,这里面就包含了火灾报警系统。火灾报警系统在过去的几十年的发展里经历了几个阶段。首先诞生的火灾报警系统主要是单线温感火灾报警系统,这种火灾报警系统主要利用温度传感器来测量外界温度值,当外界温度值到达我们设定的温度阈值时,此火灾报警器就进行火灾报警。由于当时的各方面的技术发展处在初级阶段,尚不成熟,所以这种温感火灾报警系统的可靠性较低,无法实现真正意义上的报警。然后随着各方面技术的不断发展,多线温感火灾报警系统应运而生。它在单线温感火灾报警系统的基础上进行了改进,不再是一个火灾报警系统对应一个地方,而是多对一。一个火灾报警监控系统同时进行这多地点多方位的火灾情况监控。但仍然不能解决温感火灾报警器其自身所有的误报漏报问题,只是将火灾监控系统的可监测的地点增多。近年来,由于科技迅猛发展,各种技术如雨后春笋,火灾报警监控系统也开始向网络化、智能化的方向发展[1]。火灾报警技术也开始吸收着其他各行各业的精髓来不断地发展自己。有些发达国家通过计算机连接着用户终端的火灾数据采集器来进行实时火灾监测报警,能够迅速知道火灾发生地点以及火情状况。
1.2.2 国内现状
鉴于国情,在火灾报警这方面的研究我国起步的时间较晚,但是这并不阻碍我们国家对火灾报警这方面的研究。进入八十年代到后,国内也开始出现了火灾报警监控系统。但那时国内技术尚未成熟,因此当时的火灾报警系统大多数都是仿造国外成熟的产品或是引进的国外技术,没有属于自己的东西。到了改革开放时期,大量国外企业来到中国建立工厂,不仅带来了他们的技术同时也刺激了各行各业的发展。尽管当时我国在火灾报警这方面远不如国外,但是历经十几年的研究,我们国家也有了一系列成熟的火灾报警系统,甚至于有些方面以及超过了国际水平。但是目前火灾依然是困扰着人们的一个重要隐患,我们需要不断地提高火灾报警系统的信息处理能力,尽量减少火灾报警的误报率,给人们的生命财产安全带来保障。
1.3 主要研究内容
此次设计是基于数据融合的火灾监测报警系统,主要用于存储货物的大型仓库之中。上文已经提到,现在火灾报警系统的比较关键的缺点就是信息处理能力较弱,无法做到将多传感器数据来综合考虑进行火灾预警,从而降低火灾报警的误报率,提高火灾报警系统的可靠性。因此本次设计采用多传感器数据融合技术来进行火灾预警的判断。多传感器是多种学科融合的产物,广泛应用于工业生产等各个领域[2]。通过多传感器数据融合技术,我们可以实现火灾报警的智能化,使得其火灾报警的误报率得到极大的改善。
此次设计包含两个部分,第一个部分是系统硬件电路部分,第二个部分是上位机部分。硬件电路部分主要有单片机、传感器、模数转换电路组成。传感器通过自身特性将外界环境物理量转化成单片机可以接受的电信号,有些传感器传输的是模拟量,但大部分单片机只能接收数字量,因此我们需要通过模数转换电路将传感器输出的模拟量转换成单片机能接收的数字量。单片机将数字量进行相应处理,然后按照提前所规定好的字符串顺序将其通过串口传输到删上位机种。这样就能通过上位机进行远程火灾监控。第二个部分是上位机部分,此次上位机采用的是MATLAB软件制作。由于此次所采用的数据融合算法在MATLAB中较为容易实现,因此我们设计上位机使用MATLAB。上位机所承担的任务是接收单片机传输的字符串,将字符串里面的每个传感器数据提取出来并且实现数据显示和数据保存的功能,然后通过数据融合来实现火灾报警。
第2章 总体方案设计
2.1 硬件电路设计
2.1.1 传感器选用
火灾发生是有很多环境变量,如温度、烟雾、可燃气体、火焰等。在火焰发生时,这几个环境参数会发生巨大改变,因此选用传感器从这几个方面选用。首先进行温度传感器的选择,常见的温度传感器由DS18B20、铂热电阻等。就测量范围和测量精度上来看,铂热电阻明显好于DS18B20,但其成本较高,并且铂热电阻的温度转换较为复杂。但DS18B20产生的温度数据是数字量,不需要通过模数转换和单片机进行数据传输,而且有专门的协议来进行传输,与单片机之间的通讯较为方便。而且其测量范围也满足设计所需,同时价格比较便宜。因此此次设计选用DS18B20来测量外界温度。
火灾发生时会带来大量的可燃气体和烟雾,可燃气体烟雾的监测所采用的传感器为烟雾传感器。烟雾传感器主要分为气敏式、光敏式、离子式。本次设计主要检测环境中可燃气体的浓度,所以采用气敏烟雾传感器来监测外界的可燃气体浓度。这种烟雾传感器对于外界的可燃气体浓度十分敏感。只有外界存在可燃气体烟雾,其自身的电阻值变化极大。在工业设计当中使用的最多的烟雾传感器就是MQ型烟雾传感器其测量较为迅速,且不想其余烟雾传感器仅仅对特定的可燃气体产生反应。此传感器可以检测大部分的可燃气体,符合此次设计的要求,因此本次设计选用MQ型烟雾传感器。
火灾发生时也会产生大量的红外线,对火焰的测量不能采用测量光强,因为仅仅测量光强没有考虑到外界自然光的影响,因此此次设计选用一种红外接收管,专门接收火焰辐射出的特定频率的红外线。经查阅报告发现火灾产生的火焰辐射出的红外线波长聚集在700nm~1000nm范围内,因此只需要选择特定的红外接收管就能够实现通过火焰传感器就能够监测出是否有火焰产生,这也可以作为判断火灾是否发生的条件之一。
2.1.2 主控芯片的选用
此次设计的主控芯片主要作用是采集传感器数据并且将传感器数据传输到上位机中,常用的芯片有51系列单片机和ARM系列单片机,由于此次设计所需要的单片机功能较少,所以两种系列的单片机性能均能满足此次设计。但是使用ARM单片机的成本明显高于使用51系列单片机,所以此次设计我们采用51系列单片机。常用的51系列单片机有89C52和89C51两种,但是52单片机其内部的程序空间也更大,而且两者价格一样,因此我们最终选用的主控芯片为STC89C52单片机。
2.1.3 AD芯片的选用
本次设计所采用的传感器里面有两个传感器输出的数据是模拟量电压,因为此次设计选用的单片机内部无数模转换,所以此单片机不能直接接收传感器输出的模拟信号只能接收数字信号。所以在传感器和单片机传输环境数据的时候我们还需要有数模转换电路。一般常见的数模转换芯片有AD0809、AD0832、AD7705等,但是此次设计有两个传感器的输出为模拟量,所以此设计的数模芯片至少是双通道的。同时为了模拟量传输时的精确度,此设计选用16位的AD芯片。所以此次设计不选用只有8位精度的AD0809和AD0832两种数模转换芯片,而选择16位精度的AD7705芯片。
2.1.4 硬件电路总体设计
本次设计需要进行烟雾、火焰、温度多种特征量检测,并将这些数据传输到上位机中进行数据处理。因此硬件电路以采集数据作为其主要功能,选用烟雾、火焰、温度作为本次设计的待测量,其中温度传感器直接将数据传输到单片机中。火焰传感器和烟雾传感器输出的模拟量数据需要通过模数转换电路转换成数字量后,才能传输给单片机。单片机接收数据后进行数据处理然后通过串口传输给上位机。单片机与上位机之间采用串口通讯,有现在电脑大多数都使用的是USB接口,所以需要将单片机的ttl电平转换成usb电平,这里就需要采用CH340芯片来实现接口的改变。硬件电路总体框图如图2.1所示;
图2.1 硬件电路总体框图
2.2 上位机设计
此次设计上位机实现的主要功能主要是接受单片机传输的数据,并且将其显示出来并绘图,同时也有数据保存功能。传感器的数据在上位机中进行数据融合来判断火灾发生与否,从而实现火灾报警。由于此次采用的算法在MATLAB中易于实现,所以此次设计我们采用MATLAB制作。
第3章 系统硬件电路设计
3.1 传感器电路设计
3.1.1 温度传感器
此次设计所用的温度传感器为DS18B20传感器,其硬件接口较为简单,接线较为方便,体积较小同时价格较低廉。温度传感器与单片机之间的通信采用1-wire总线,同时接线需要注意的是传感器正负极,如果将其正负极接反,传感器有可能烧毁,起传感器电路图如下图3.1所示
图3.1 温度传感器电路示意图
经由DS18B20所测量的温度数据其最高只有12位二进制数据,其数据的补码存储在某个特定的寄存器便与读取出来。其温度数据每位的温度转换如下图3.2所示;
图3.2 温度数据格式
此传感器转化出来的温度数值是有12位的,而一个字节只有八位,因此一个字节无法装下温度数据,所以温度数值会有两个字节的数据,LSB为其低八位,MSB为其高八位[3]。高八位中的前五位即S位表示符号位,因为此温度传感器的测量范围较广为-55摄氏度~125摄氏度,所以需要符号位来判断其数据的正负值。其温度数值转换较为简单,温度数据的低八位的最低位的”1”表示0.0625摄氏度因此只需要将其温度的后12位二进制数据转换成十进制数据并且乘以0.0625摄氏度即可得到其十进制的浮点型数值。
温度传感器DS18B20与单片机之间的数据传输较为复杂,主要可以分为以下几个部分;
- 传感器初始化:再进行通信之前,我们需要知道单片机是否与传感器正确连接,是否可以进行正常通信,所以我们需要对传感器是否存在是否可用进行监测。首先我们通过单片机I/O口给传感器一个下降沿脉冲,一直保持低电平480us~960us之间的时间,然后单片机拉高与传感器连接的这个I/O口。如果传感器完好且可用,传感器经过15us~60us的反应时间后,会主动使此I/O由高电平变为低电平,持续时间大约为60us~240us,然后传感器就会释放掉I/O口,此时I/O状态变为原来的高电平。在实际操作中,我们只需先给I/O一个持续480us~960us的低电平,然后延迟60us,最后读取DS18B20传输回来的存在脉冲并且等待存在脉冲结束,时序图如图3.3所示;
图3.3 DS18B20检测脉冲时序图
- 传感器ROM和RAM操作指令:DS18B20温度传感器可以用于多点总线结构,即总线上可以使用多个DS18B20,每个DS18B20内部ROM都有一个传感器编码,单片机可通过ROM操作指令读取出产品编码,本次设计仅用到一个DS18B20,因此在这里不做详细介绍,当总线上仅仅有一个DS18B20的时候,我们可以跳过ROM检测,其指令为0xcc,即单片机向DS18B20发生十六进制数0xcc,对于传感器内部RAM的温度数据读取,这里仅介绍本次设计所使用到的两条指令,读取RAM数据指令:0xbe,由于温度数据存储在RAM中是以两个字节存储的,所以读取数据的时候需要使用两次读取指令,第一次读取到的是低八位的那个字节,第二次读取到的是高八位的那个字节。温度转换启动的指令:0x44,当我们用单片机发送这个指令的时候,传感器就会开始将外界温度值数据以两个字节的形式存储在RAM中。当然这个转换是需要时间的,数据的精度会影响传感器转换的时间,这里我们仅仅使用12位的初始转化精度,因此不做过多介绍,各精度转换时间如下表3.1所示;
表3.1 传感器各精度转换时间
DS18B20传感器的读写时序:首先介绍传感器的写入时序,在这里单片机和传感器之间的读写都是以位来读写的。如果单片机要给DS18B20传感器传输一位“0”时,单片机首先要把与传感器相连的I/O口变为低电平,这个低电平时间需要控制在60us~120us之间,而传感器会在15us~60us之间来读取这个低电平“0”,传感器最佳接收时间实在30us附近,所以单片机I/O口低电平时间在60us以上就可以完成写入。如果单片机要给传感器传输一位“1”时,步骤与刚才类似,仅仅只是单片机在之后应该拉高I/O的电平。写入传感器时序图如下图3.4所示;
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示:
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。