版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
公共充电场所灾情监控反馈系统设计摘要本课题设计了一套应用于公共充电场所灾情监控反馈系统设计。本文开发的智能火灾监控报警及控制系统与现有产品相比有许多优点,主要体现为:首先,传统火灾自动报警系统根据规范要求,安装范围较局限;而本系统可根据业主需求,安装于公共充电场所等未达到火灾自动报警系统设计要求的场所;其次,传统火灾报警系统一般采用有线传输,少数远程火灾报警系统可进行无线传输,但距离较短,且必须处于同一局域网内;而本系统采用WIFI模块与服务器进行数据互传,实现远程异地监测及控制。
该系统应完成的主要功能有:zigbee通信,电脑端上位机上位机:接收下位机消息并显示;2.接收到警告信息,弹窗提示;设定阈值;下位机:系统实时监测公共充电场所火焰状况,显示,并发送上位机;系统实时监测公共充电场所烟雾状况,显示,并发送上位机;系统实时监测公共充电场所负载状况,显示,并发送上位机;系统监测到火焰,开启消防模块,语音警报,并发送上位机警告信号;系统监测到烟雾大于设定值,开启通风模块,语音示警,并发送上位机警告信号;系统监测到违规高负载,语音警报,并发送上位机警告信号。关键词:ZigBee技术;火灾监控;RT3052芯片; 目录 第1章绪论 71.1研究目的及意义 71.2国内外研究现状 71.3主要研究内容 8第2章系统总体结构 102.1设计方案 102.2功能需求分析 102.2.1技术路线: 102.2.2预期结果: 102.3总体方案设计 102.4单片机型号选择 11第3章系统的硬件部分设计 133.1系统总体设计 133.2系统的主要功能模块设计 143.2.1核心模块设计 143.2.2烟雾传感器模块设计 163.2.3语音模块设计 163.2.4电控制继电器模块设计 173.2.5电量统计模块设计 183.2.6火焰监测模块设计 193.2.7Zigbee通信模块设计 20第4章系统的软件设计 214.1单片机初始化流程图 214.2烟雾传感器模块设计 214.3火灾报警模块设计 224.4交流电传感器模块设计 224.5Zigbee通信模块设计 23第5章系统测试 245.1系统实物图 245.2测试原理 255.3火焰传感器功能测试 255.4烟雾传感器功能测试 265.5上位机功能测试 275.6过载报警功能测试 27第6章总结与展望 286.1总结 286.2展望 28参考文献 29致谢 30电路图 31源代码 31 保定理工学院本科毕业论文第1章绪论1.1研究目的及意义传统的公共充电场所系统往往存在布线不便、单传感器监测准确度不高、远程监控能力不强等诸多缺点和漏失。网络化的火灾监控系统通常在系统造价上价格昂贵。降低监控系统成本以及功耗,同时提高系统集成度和准确度是本次课题设计的主要目标。为此,本文提出了一种基于物联网的嵌入式公共充电场所灾情监控反馈系统。本设计将利用ZigBee技术构建充电灾情监控网络的传输链路,依托物联网基础网络设施Internet,实现远程充电场所火灾监控。设计多传感器监测环境状态,并将监测数据在智能网关中心进行融合处理,提高监测准确度,得到最终的监测结果;以嵌入式路由芯片RT3052实现智能网关,降低系统的成本和功耗。1.2国内外研究现状我国对火灾监控研究与应用相对来说起步较晚,但是随着改革开放的不断深入和经济建设的高速增长,我国的火灾监控行业发展十分迅速,系统控制模式已经逐步从多线制控制系统、多总线一体化向分布式控制系统发展;探测技术从单一的感烟探测发展成多元复合探测。然而国内市场的消防报警产品型号繁杂,各种产品提供的接口、通信协议都存在较大差异,导致出现故障之后,因厂家原因得不到及时维修,埋下了较大的火灾隐患。2020年,王亮在《基于二总线的电气火灾监控系统的设计》文中谈到用户可通过浏览器远程登录网关服务器,以网页的形式实时查看家庭监控状况。场所内部布置了检测火灾的温度传感器、烟雾传感器、火焰传感器、一氧化碳传感器等;检测入侵的红外热释电传感器,这些传感器的监测数据以及综合效果均可在网页上展示。[1]2020年,张云柯在《远程智能火灾监控报警及控制系统的设计与实现》文中讲到,嵌入式应用对嵌入式操作系统的实时性和稳定性要求较高,嵌入式操作系统是否稳健也是嵌入式系统可靠运行的基础。经过多年的研究与发展,我国在嵌入式领域涌现了一些优秀的操作系统,如Linux、Wince、uC/OS-II、VxWorks、Android等等,同时在不同的应用领域也得到相应发展。[3]2019年,方朝阳在《基于物联网的家庭火灾监控系统设计》文中介绍了就家庭火灾监控系统来说,多传感器数据融合是利用分布在家庭监测区域的温度、烟雾、气体、火焰等传感器,结合传感器的时间采样,进行数据关联估计和综合,获得对火灾是否发生一致性解释与描述,及时地进行险情探测并通知用户,使系统获得比单一传感器更高的准确性和适用性。[7]2022年,HefeedaM,BagheriM在《Forestfiremodelingandearlydetectionusingwirelesssensornetworks》文章中讲到常见的无线通信技术包括ZigBee、红外、数字增强无绳电话(DECT)、家庭无线电射频(HomeRF)、蓝牙、超宽频(UWB)、IEEE802.11X、射频识别(RFID)等。ZigBee通信距离在20-100m,功耗低、数据率低、网络容量大;红外通信的最大距离不超过10m,并且设备之间不能有直视障碍,角度不能超过30度。[16]2022年,HefeedaM,BagheriM在《Forestfiremodelingandearlydetectionusingwirelesssensornetworks》文中,早在2001年,有包括PhilipsSemiconductor、Honeywell、Mitsubishi、Invensys、Motorola等公司组成了ZigBee联盟,致力于低复杂度、低成本、低数据率、近距离的无线通信技术的研究。[17]2020年,EdgarH,Callaway在《WirelessSensorNetworks:ArchitecturesandProtocols》文中谈论到在ZigBee网络中,每个节点都需要一个唯一的地址,IEEE802.15.4使用两种方式寻址:16位的短地址、64位的扩展地址。一个网络可以选择使用短地址或者扩展地址来寻址,而短地址允许在单个网络内进行通信,使用短地址机制可以减少消息的长度和所需分配的内存空间。[18]综上所述,对于当前的社会发展,公共充电场所越来越多,而充电场所发生火灾的频率也相应提高,为了可以保证充电场所的安全性,使得其发生火灾时可以及时的处理,因此,设计一种具有新兴物联网技术的公共充电场所灾情监控反馈系统设计。1.3主要研究内容设计了一套应用于公共充电场所灾情监控反馈系统设计。本文开发的智能火灾监控报警及控制系统与现有产品相比有许多优点,主要体现为:首先,传统火灾自动报警系统根据规范要求,安装范围较局限;而本系统可根据业主需求,安装于公共充电场所等未达到火灾自动报警系统设计要求的场所;其次,传统火灾报警系统一般采用有线传输,少数远程火灾报警系统可进行无线传输,但距离较短,且必须处于同一局域网内;而本系统采用WIFI模块与服务器进行数据互传,实现远程异地监测及控制。该系统应完成的主要功能有:zigbee通信,电脑端上位机上位机:1.接收下位机的消息并提示;2.接收到警告信息,弹窗提示;3.设定阈值;下位机:1.系统实时监测公共充电场所火焰状况,显示,并发送上位机;2.系统实时监测公共充电场所烟雾状况,显示,并发送上位机;3.系统实时监测公共充电场所负载状况,显示,并发送上位机;4.系统监测到火焰,开启消防模块,语音警报,并发送上位机警告信号;5.系统监测到烟雾大于设定值,开启通风模块,语音示警,并发送上位机警告信号;6.系统监测到违规高负载,语音警报,并发送上位机警告信号;
第2章系统总体结构2.1设计方案本课题设计了一套应用于公共充电场所灾情监控反馈系统设计。本文开发的智能火灾监控报警及控制系统与现有产品相比有许多优点,主要体现为:首先,传统火灾自动报警系统根据规范要求,安装范围较局限;而本系统可根据业主需求,安装于公共充电场所等未达到火灾自动报警系统设计要求的场所;其次,传统火灾报警系统一般采用有线传输,少数远程火灾报警系统可进行无线传输,但距离较短,且必须处于同一局域网内;而本系统采用WIFI模块与服务器进行数据互传,实现远程异地监测及控制。2.2功能需求分析2.2.1技术路线:(1)硬件部分需要单片机STC12C5A60S2、湿度传感器、舵机、蓝牙远程APP模块;(2)软件平台程序用keil5;
(3)画原理图用AD;
(4)编程语言用C语言;
(5)用户信息显示查看;2.2.2预期结果:通过对系统的布设和完善,最终完成公共充电场所火灾监控反馈系统设计,预期有如下成果:利用zigbee通信模块,实现与上位机之间的联通。在下位机接收到信号时,上位机会通过通信模块接收下位机的消息并显示,接收到警告信息,同时弹窗提醒;另一方面,也可以在上位机设定阀值,例如将烟雾报警值从3000调整为5000,在调整完毕后,再次给出烟雾信号,当烟雾值低于新设置的值5000时,就不会报警。在这个过程中,下位机实现的功能主要有:1.监控公共充电场所火焰状况,LED显示屏显示数值,并反馈给上位机;2.监测公 共充电 场所烟 雾状况 ,显示数值 ,并发 送上位机;3.监测公共充电场所负载状况,显示数值,并发送上位机;4.监测到火焰,将开启消防模块,同时语音警报,并发送上位机警告信号;5.监测到烟 雾大于 设定值时 ,将开启 通风模 块,同时语 音示警 ,并发 送上位机警告信号;6.系统监测到烟 雾大于 设定值 ,将开启 通风模 块,同时语 音示警 ,并发 送上位机警告信号;2.3总体方案设计第一:理论知识准备阶段,理解设计课题,认真研究课题所涉及到的内容,能够较好的掌握有关题目的知识;
第二:确定系统各个模块,理清各个模块之间的关系,收集相关得到软硬件资料;
第三:规划课题,确定系统组成结构,勾画出大体系统框架并在结构框架的基础上提出原理框图;
第四:利用软件完成硬件电路部分设计并画出各部分电路图,将系统部件通过接口电路集合在一起,并画出电路图;
第五:根据系统控制过程完成软件设计的部分,并绘制出主流程图;
第六:进行模拟仿真,检查此系统是否能够按照要求实现相应控制功能,规范论文。2.4单片机型号选择主控制芯片选择STC12C5A60S2,STC12C5A60S2单片机与普通51单片机相比有以下特点1、同样晶振的情况下,速度是普通51的8~12倍2、有8路10位AD3、多了两个定时器,带PWM功能4、有SPI接口。STM32系列单片机是一款高性能,功能较为强大的系列单片机。该系列单片机常被用于要求低成本、高性能和低功耗的嵌入式应用程序,其在功耗以及集成方面也展现出较为良好的性能。由于其便捷的工具和简单的结构并且结合了强大的功能性,在业界很受欢迎。本实验采用的最小系统如下图。图2-1STM32fl03c8t6最小系统原理图
第3章系统的硬件部分设计3.1系统总体设计本文设计开发的智能火灾监控报警及控制系统与现有产品相比有许多优点,主要体现为:首先,传统火灾自动报警系统根据规范要求,安装范围较局限;而本系统可根据业主需求,安装于公共充电场所等未达到火灾自动报警系统设计要求的场所;其次,传统火灾报警系统一般采用有线传输,少数远程火灾报警系统可进行无线传输,但距离较短,且必须处于同一局域网内;而本系统采用WIFI模块与服务器进行数据互传,实现远程异地监测及控制。
该系统应完成的主要功能有:zigbee通信,电脑端上位机上位机:1.接收下位机的消息并提示;2.接收到警告信息,弹窗提示;3.设定阈值;下位机:1.系统实时监测公共充电场所火焰状况,显示,并发送上位机;2.系统实时监测公共充电场所烟雾状况,显示,并发送上位机;3.系统实时监测公共充电场所负载状况,显示,并发送上位机;4.系统监测到火焰,开启消防模块,语音警报,并发送上位机警告信号;5.系统监测到烟雾大于设定值,开启通风模块,语音示警,并发送上位机警告信号;6.系统监测到违规高负载,语音警报,并发送上位机警告信号;总体原理图如下所示:图3-1总体原理图3.2系统的主要功能模块设计3.2.1核心模块设计在温度精确测量中,关键有工作压力温度计、热电阻式温度计、双金属温度计、热电阻温度计、电子光学高温计、辐射源高温计和红外线温度计。工作压力温度计是工业化生产中最初的温度测量法之一。它构造简易,冲击韧性好,低成本,不依靠外界开关电源。它普遍使用于工业化生产中的温度精确测量。但鉴于其反应时间长、仪器设备密封性维护保养不会改变、受外部环境危害大等缘故,慢慢撤出了温度检测的队伍。电子光学高温计、辐射源高温计和红外线高温计都输出非接触式温度计。日常生活和工业生产场地的湿度通常是相对性湿度,用RH%表明。即气体(通常是气体)中包含的水蒸汽量(水蒸汽压)是与它的气体同样时饱和状态水蒸汽(饱和水蒸汽压)的百分数。湿度用肯定湿度、相对性湿度、漏点、体内湿气与干气的占比(净重或容积)等表明。普遍的湿度测量法有:动态性法(双压法、双温法、分离法)、静态数据法(饱和状态盐法、盐酸法)、漏点法、干湿度球法和电子器件感应器法。双压法和双温法是根据P、V、T的热学均衡原理,平衡时间长。分离法根据肯定湿度和绝对干躁气体的精准混和。因为运用了当代精确测量和操控方式,这种设施可以生产制造得非常精准。殊不知,因为他们的多元性、高成本费和用时的实际操作,他们应当被用于规范精确测量,而且他们的精确测量精度可以超过±2%RH以上。静态数据法中的饱和状态盐法是湿度精确测量中最经常使用的方式,简便易行。而饱和状态盐法对高效液相和气相色谱均衡规定严苛,对温度的可靠性需求高。醒来均衡必须很长期,湿度底点必须更长期。尤其是房间内湿度与瓶里湿度相距比较大时,每一次开盖都必须均衡6~8钟头。漏点法精确测量的是饱和蒸汽做到饱和状态时的溫度,这也是热学的同时結果。精度高,检测范围宽。高精密露点仪的精度可以做到±0.2乃至更高一些。殊不知,根据当代光学原理的冷镜露点仪较贵,并且常常装有规范的湿度产生器。干湿度球法,创造发明于18世纪。它有悠久的历史,运用普遍。干湿度球法是一种间接性法,运用干湿度球方程式来转换湿度值,而这一方程式是有前提的:湿球周边的风力务必在2.5m/s以上,这也是用一般干湿度计简单化的,因此其精度仅有5~7%RH。在本系统的设计中,传感器有温度传感器和湿度传感器两种,所以就需要对这两种不同类型的传感器进行选择。如图3-2温湿度传感器。图3-2核心模块原理图3.2.2烟雾传感器模块设计DO输出:TTL数字量0和1(0.1和5V)AO输出:0.1-0.3V(相对无污染),最高浓度电压4V左右特别提醒:传感器通电后,需要预热20s左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。烟雾传感器模块原理图如下图。图3-3烟雾传感器原理图3.2.3语音模块设计SYN6288中文语音合成芯片是北京宇音天下科技有限公司于2010年初推出的一款性/价比更高,效果更加自然的一款中高端语音合成芯片。SYN6288是通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换。宇音天下于2002年最早研制出国内首款语音合成芯片OSYNO6188。公司最新推出的SYN6288语音合成芯片,继承了OSYNO6188语音芯片的优秀特点:最小SSOP28L贴片封装、硬件接口简单、低功耗、音色清亮圆润、极高的性/价比:除此之外,SIN6288在识别文本/数字/字符串更智能、更准确,语音合成自然度更好、可懂度更高。SYN6288语音合成效果和智能化程度均得到大幅度提高,是一款真正面向中高端行业应用领域的中文语音合成芯片。SYN6288语音合成芯片的诞生,推动了TTS语音合成技术的行业应用走向更深入、更广泛的领域,语音合成芯片SYN6288的工作原理2.1系统框图SYN6288是北京宇音天下科技有限公司于2010年初推出的采用PSOLA拼接合成技术的一款语音合成芯SYN6288通过异步串口(UART)通信方式,接收待合成的文本数据,从而实现文本到语音(或TTS语音)的转换,可直接通过PWM输出方式驱动扬声器或外接功率放大电路驱动扬声器,进行语音输出。语音模块如下图原理图。图3-4语音模块SYN6288原理图3.2.4电控制继电器模块设计继电器也称电驿,是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种特殊“自动开关”。所以它在电路中起着自动调节、安全保护、转换电路等作用。继电器工作时,电磁铁通电,把衔铁吸下来使D和E接触,工作电路闭合。电磁铁断电时失去磁性,弹簧把衔铁拉起来,切断工作电路。因此,继电器即是利用电磁铁控制工作电路通断的开关。继电器控制电路作用:用较低电压控制较高电压,远距离进行控制,自动控制。继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。继电器的作用:(1)扩大控制范围:例如,多触点继电器的控制信号达到某一定值时,可以按触点组的不同形式,同时进行换接、开断、接通多路电路。(2)放大:例如,灵敏型继电器、中间继电器等,仅用一个很微小的控制量,就可以控制很大功率的电路。(3)综合信号:例如,当多个控制信号按规定的形式不断输入多绕组继电器时,经过比较综合,从而达到预定的控制效果。(4)自动、遥控、监测:例如,自动装置上的继电器与其他电器连接在一起,可以组成程序控制线路,由此实现自动化运行。原理图如下图。图3-5电控制继电器原理图3.2.5电量统计模块设计电量统计模块实现电量的记录与统计功能,如下图所示。图3-6电量统计模块原理图3.2.6火焰监测模块设计火焰检测设备是火力发电厂锅炉炉膛安全监控系统(FSSS)中的关键设备,它的作用贯穿于从锅炉启动至满负荷运行的全过程,用于判定全炉膛内或单元燃烧器火焰的建立/熄灭或有火与无火,当发生全炉膛灭火或单元燃烧器熄火时,火焰检测设备触点准确动作发出报警,依靠FSSS系统连锁功能,停止相应给粉机、磨煤机、燃油总阀或一次风机等的运行,防止炉膛内积聚燃料,异常情况被点燃引起锅炉爆炸恶性事故的发生,因此设备性能即设备运行的可靠性与检测的准确性直接关系到机组的运行安全与稳定性。最早的火焰检测器出现在上世纪50年代,60年代国外首先研制出了紫外线火焰检测器,70年代开始,国外陆续出现了检测火焰燃烧时释放红外线和可见光的火焰检测器,80年代又出现了基于图像、视频的锅炉燃烧监控装置,后来又有了组合探头(红外线、紫外线)的火焰检测器。发展至今,火焰检测器的检测辨别能力越来越强,检测也不断趋于智能化。火焰检测器的工作原理:用探头(碳化硅或硝酸铝,或使用充气管)接收火焰发出的辐射,并按照其强度以及频率的大小来判断火焰的存在与否。图3-7火焰监测模块原理图3.2.7Zigbee通信模块设计Zigbee模块最主要的功能是:某个将串口收到的数据,通过Zigbee协议发送到对应的模块,对应的模块收到无线数据后,将数据通过串口输出。即,简单来看,2个Zigbee模块就相当于一条串口线。目前ZigBee模块更多是替代原有有线的控制方式,而采用无线控制,做到节约布线,突破距离控制限制,并且通过组建网络实现设备间的联动。目前已知的ZigBee应用有工业、农业、石油化工、物联网、智能家居、智能照明、智慧城市等。直接购买ZigBee模块省去了ZigBee开发周期,就能在推广项目上抢到先机。ZigBee模块是已经包含了所有外围电路和完整协议栈的能够立即投入使用的产品,已经经过了厂家的优化设计,和老化测试,有一定的质量保证。图3-8Zigbee通信模块原理图
第4章系统的软件设计4.1单片机初始化流程图首先进行单片机初始化,流程图如下。图4-1单片机初始化流程图4.2烟雾传感器模块设计当烟雾传感器接通,通过上位机设置阈值,当监测到烟雾浓度高于阈值时,语音播报模块便进行烟雾报警,上位机同时显示烟雾浓度过高。图4-2烟雾报警模块时序图4.3火灾报警模块设计当火灾监测传感器接通,通过上位机设置阈值,当监测到火焰时,语音播报模块进行火灾报警,上位机显示火灾发生。图4-3火灾报警模块子程序流程图4.4交流电传感器模块设计当交流电传感器监测传感器接通,通过上位机设置阈值,当监测到负载超过阈值时,语音播报模块进行负载过大报警,上位机显示。图4-4交流电传感器流程图4.5Zigbee通信模块设计通过Zigbee模块使上传到阿里云,通过上位机获取并且显示出报警信息。流程图如下图。图4-5Zigbee流程图第5章系统测试5.1系统实物图图5-1系统完整实物图5.2测试原理 测试用例不仅包括欲测试的功能,还应包括应输入的数据和预期的输出结果。测试数据时应该选用少量、高效的测试数据进行尽可能完善的测试;基本目标为:设计一组发现某个错误或某类错误的测试数据,测试用例应覆盖方面:输入用户的实际数据用以验证系统是满足需求规格说明书的要求;测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且运行正常。5.3火焰传感器功能测试当监测到火焰时候会开启消防模块,同时进行语音播报并发送到上位机进行弹窗警告。例如用点燃的火柴靠近消防模块,会听到语音播报:“有火灾报警”,同时上位机有弹窗,提示有火灾报警。图5-2火焰传感器实物图5.4烟雾传感器功能测试图5-3烟雾传感器实物图5-4烟雾报警显示当烟雾浓度达到设定值时候,将开启通风模块进行语音播报同时向上位机发送警告。将火柴点燃,熄灭后产生烟,用产生的烟靠近烟雾报警器,会有语音报警:“有烟雾报警”,同时上位机显示烟雾数值,并提醒报警。5.5上位机功能测试5-5上位机显示可以通过上位机看到当前的一些数据,可以在上位机更改烟雾值,设置烟雾阈值。例如将烟雾设定阀值调为6000,只有当烟雾值超出6000时才会报警,反之则不报警。5.6过载报警功能测试5-5电压过载显示当接入电压超过20语音播报过载报警。给其输入外加电压,超过规定值时报警:“过载报警”。第6章总结与展望6.1总结在焊接电路的过程中由于技术的不熟练甚至不经意间焊接出现了短路,两个点焊接到了一起导致最后结果无法显示。系统软件的调试过程并不会一帆风顺,在调试过程中也或多或少的出現了一些错误。但是在老师的辅导下,我总算发现了这些问题,并及时纠正了设计中的错误和不科学的部分。设计方案中的问题和解决方法主要包含下面一些层面。(1)在功率模块模拟仿真过程中,发现调试输出值一直达不到设计规定。查验基本原理是否错误后,发现在电路板焊接过程中出现了一些技术问题,于是又重新焊接。(2)应用仿真软件,发现了错误代码。之后进行调整,发现在启用程序流程时,单片机并没有正常复位,于是在程序流程中添加复位程序流程后才获得准确的結果。(3)在模拟仿真时,一直有提醒端口号存有逻辑错误。电脑端口连接选取也总是出现问题,查验后是COM1口COM3口的选用出现了问题导致没有数据显示。6.2展望在公共充电所灾情监控反馈系统设计中,在具体分析智能化操控以及灾害监测快捷准确的情况下,明确提出灾害监测反馈系统。(1)通过烟雾传感器、火灾传感器以及交流电传感器设定阈值以实现火灾出现以及预防的报警功能。(2)选择更加合适的单片机传感器进行更为精确的数据采集以及监测,达到更高的火灾预防。(3)交流电传感器需要通电220V电压需要小心,进一步完善上位机显示的功能还有语音播报的功能,使得监测报警更加全面更加安全。尽管模拟仿真说明全部设计彻底可以达到控制更为精确更为实时的规定,可是全部系统软件还具有一些问题和优化的地区,必须在之后的探讨中进行健全。(4)在日后的作业和学习中,仍然需要对报警的快捷性以及范围加强提高。
参考文献[1]
王亮.
基于二总线的电气火灾监控系统的设计[M].杭州电子科技大学.2020.[2]
王晟.剩余电流式电气火灾监控系统设计[C],兰州交通大学.2021.[3]
张云柯.
远程智能火灾监控报警及控制系统的设计与实现[C],西安建筑科技大学.2020.[4]
喻奇.
地铁电气火灾监控与能源管理系统融合设计研究[M].城市轨道交通研究,2021.[5]
霍铭.
故障电弧探测的无线电气火灾监控技术研究[P].
北京建筑大学,2021.[6]
黄文华.电气火灾监控系统的研究与设计[M].农业装备技术,2022.[7]
方朝阳.
基于物联网的家庭火灾监控系统设计[P].重庆大学,2019.[8]
芦宇翔.
电气火灾监控系统的研究[P].沈阳工业大学,2020,.[9]
王金娜.
智慧用电监控系统在电气火灾中的应用[J].信息记录材料.2019[10]
李思宇;张竣淞;刘冬梅;王子琪.
基于ZigBee的高层建筑火灾监控系统研究[M].华北科技学院学报.2022[11]
赫亮.电气火灾监控系统在地铁中的应用及技术分析[J].中国设备工程,2021(13):175-176.[12]
梁剑烽.基于物联网云平台的家居火灾监控系统的研究与实现[D].广西大学,2021.[13]
苑香平,李绍铭.基于单片机的家庭火灾监控报警系统设计[J].消防科学与技术,2020,39(11):1532-1535.[14]
乔明.电气火灾监控系统应用[J].工程建设与设计,2019(16):61-62.[15]
刘彪,徐杜,蒋永平.ZigBee无线火灾监控节点的低功耗设计[J].信息通信,2015(03):50-51.[16]
Hefeeda
M,Bagheri
M.Forest
fire
modeling
and
early
detection
using
wireless
sensor
networks[J].Ad
Hoc
&Sens.
Wireless
Networks
.2022[17]
Hefeeda
M,Bagheri
M.Forest
fire
modeling
and
early
detection
using
wireless
sensor
networks[J].Ad
Hoc
&Sens.
Wireless
Networks
.2022.
[18]
Edgar
H,Callaway.Wireless
Sensor
Networks:Architectures
and
Protocols[M].New
York:Auerbach
Publications.2020
[19]
MA
Shuguang
.
Construction
of
Wireless
Fire
Alarm
System
Based
on
ZigBee
Technology[J].Procedia
Engineering.2020[20]
Farahani
S.ZigBee
Wireless
Networks
and
Transceivers[M].Newnes.2019
附录电路图源代码/*******************(C)COPYRIGHT2012WildFireTeam*****ENDOFFILE****//*************************************************************文件名:main.c*描述:用3.5.0版本建的工程模板。*库版本:ST3.5.0*作者:**************************************************************/#include"include.h"/************************************************函数名:main*描述:主函数*输入:无*输出:无***********************************************/intmain(void){ /*配置系统时钟为72M*/SystemInit(); SysTick_Init(); LED_GPIO_Config(); Param_int(); //系统参数初始化 USART1_Init(38400); //串口1初始化ZIGBEE USART2_Init(9600); //串口3初始化电 USART3_Init(9600); //串口3初始化电 Adc_Init(); OLED_Init(); //初始化OLED OLED_Clear(0);//清屏 Dis(0); //USART2_Init(38400); //串口2初始化 while(1) { MainProc();// //USART1_SendByte(0xAA); } //addyourcodehere^_^。}/************************ENDOFFILE************/intfputc(intch,FILE*f){ while((USART1->SR&0X40)==0);//????,??????USART1->DR=(u8)ch; delay_ms(2); returnch;}#include"include.h"ParamParamter; //系统参数MainPrcMainPrcParamter; //过程参数charalmstr[4]={0};/****************************************//****************************************/staticu32CRC32_Table[256]={0x00000000,0x77073096,0xEE0E612C,0x990951BA,0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3,0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988,0x09B64C2B,0x7EB17CBD,0xE7B82D07,0x90BF1D91,0x1DB71064,0x6AB020F2,0xF3B97148,0x84BE41DE,0x1ADAD47D,0x6DDDE4EB,0xF4D4B551,0x83D385C7,0x136C9856,0x646BA8C0,0xFD62F97A,0x8A65C9EC,0x14015C4F,0x63066CD9,0xFA0F3D63,0x8D080DF5,0x3B6E20C8,0x4C69105E,0xD56041E4,0xA2677172,0x3C03E4D1,0x4B04D447,0xD20D85FD,0xA50AB56B,0x35B5A8FA,0x42B2986C,0xDBBBC9D6,0xACBCF940,0x32D86CE3,0x45DF5C75,0xDCD60DCF,0xABD13D59,0x26D930AC,0x51DE003A,0xC8D75180,0xBFD06116,0x21B4F4B5,0x56B3C423,0xCFBA9599,0xB8BDA50F,0x2802B89E,0x5F058808,0xC60CD9B2,0xB10BE924,0x2F6F7C87,0x58684C11,0xC1611DAB,0xB6662D3D,0x76DC4190,0x01DB7106,0x98D220BC,0xEFD5102A,0x71B18589,0x06B6B51F,0x9FBFE4A5,0xE8B8D433,0x7807C9A2,0x0F00F934,0x9609A88E,0xE10E9818,0x7F6A0DBB,0x086D3D2D,0x91646C97,0xE6635C01,0x6B6B51F4,0x1C6C6162,0x856530D8,0xF262004E,0x6C0695ED,0x1B01A57B,0x8208F4C1,0xF50FC457,0x65B0D9C6,0x12B7E950,0x8BBEB8EA,0xFCB9887C,0x62DD1DDF,0x15DA2D49,0x8CD37CF3,0xFBD44C65,0x4DB26158,0x3AB551CE,0xA3BC0074,0xD4BB30E2,0x4ADFA541,0x3DD895D7,0xA4D1C46D,0xD3D6F4FB,0x4369E96A,0x346ED9FC,0xAD678846,0xDA60B8D0,0x44042D73,0x33031DE5,0xAA0A4C5F,0xDD0D7CC9,0x5005713C,0x270241AA,0xBE0B1010,0xC90C2086,0x5768B525,0x206F85B3,0xB966D409,0xCE61E49F,0x5EDEF90E,0x29D9C998,0xB0D09822,0xC7D7A8B4,0x59B33D17,0x2EB40D81,0xB7BD5C3B,0xC0BA6CAD,0xEDB88320,0x9ABFB3B6,0x03B6E20C,0x74B1D29A,0xEAD54739,0x9DD277AF,0x04DB2615,0x73DC1683,0xE3630B12,0x94643B84,0x0D6D6A3E,0x7A6A5AA8,0xE40ECF0B,0x9309FF9D,0x0A00AE27,0x7D079EB1,0xF00F9344,0x8708A3D2,0x1E01F268,0x6906C2FE,0xF762575D,0x806567CB,0x196C3671,0x6E6B06E7,0xFED41B76,0x89D32BE0,0x10DA7A5A,0x67DD4ACC,0xF9B9DF6F,0x8EBEEFF9,0x17B7BE43,0x60B08ED5,0xD6D6A3E8,0xA1D1937E,0x38D8C2C4,0x4FDFF252,0xD1BB67F1,0xA6BC5767,0x3FB506DD,0x48B2364B,0xD80D2BDA,0xAF0A1B4C,0x36034AF6,0x41047A60,0xDF60EFC3,0xA867DF55,0x316E8EEF,0x4669BE79,0xCB61B38C,0xBC66831A,0x256FD2A0,0x5268E236,0xCC0C7795,0xBB0B4703,0x220216B9,0x5505262F,0xC5BA3BBE,0xB2BD0B28,0x2BB45A92,0x5CB36A04,0xC2D7FFA7,0xB5D0CF31,0x2CD99E8B,0x5BDEAE1D,0x9B64C2B0,0xEC63F226,0x756AA39C,0x026D930A,0x9C0906A9,0xEB0E363F,0x72076785,0x05005713,0x95BF4A82,0xE2B87A14,0x7BB12BAE,0x0CB61B38,0x92D28E9B,0xE5D5BE0D,0x7CDCEFB7,0x0BDBDF21,0x86D3D2D4,0xF1D4E242,0x68DDB3F8,0x1FDA836E,0x81BE16CD,0xF6B9265B,0x6FB077E1,0x18B74777,0x88085AE6,0xFF0F6A70,0x66063BCA,0x11010B5C,0x8F659EFF,0xF862AE69,0x616BFFD3,0x166CCF45,0xA00AE278,0xD70DD2EE,0x4E048354,0x3903B3C2,0xA7672661,0xD06016F7,0x4969474D,0x3E6E77DB,0xAED16A4A,0xD9D65ADC,0x40DF0B66,0x37D83BF0,0xA9BCAE53,0xDEBB9EC5,0x47B2CF7F,0x30B5FFE9,0xBDBDF21C,0xCABAC28A,0x53B39330,0x24B4A3A6,0xBAD03605,0xCDD70693,0x54DE5729,0x23D967BF,0xB3667A2E,0xC4614AB8,0x5D681B02,0x2A6F2B94,0xB40BBE37,0xC30C8EA1,0x5A05DF1B,0x2D02EF8D};u32CalcCRC32(void*pStart,u32uSize){u32uCRCValue;u8*pData;uCRCValue=0xffffffff;pData=pStart;while(uSize--){uCRCValue=CRC32_Table[(uCRCValue^*pData++)&0xFF]^(uCRCValue>>8);}returnuCRCValue^0xffffffff;}unsignedcharcrc_array[256]={0x00,0x5e,0xbc,0xe2,0x61,0x3f,0xdd,0x83,0xc2,0x9c,0x7e,0x20,0xa3,0xfd,0x1f,0x41,0x9d,0xc3,0x21,0x7f,0xfc,0xa2,0x40,0x1e,0x5f,0x01,0xe3,0xbd,0x3e,0x60,0x82,0xdc,0x23,0x7d,0x9f,0xc1,0x42,0x1c,0xfe,0xa0,0xe1,0xbf,0x5d,0x03,0x80,0xde,0x3c,0x62,0xbe,0xe0,0x02,0x5c,0xdf,0x81,0x63,0x3d,0x7c,0x22,0xc0,0x9e,0x1d,0x43,0xa1,0xff,0x46,0x18,0xfa,0xa4,0x27,0x79,0x9b,0xc5,0x84,0xda,0x38,0x66,0xe5,0xbb,0x59,0x07,0xdb,0x85,0x67,0x39,0xba,0xe4,0x06,0x58,0x19,0x47,0xa5,0xfb,0x78,0x26,0xc4,0x9a,0x65,0x3b,0xd9,0x87,0x04,0x5a,0xb8,0xe6,0xa7,0xf9,0x1b,0x45,0xc6,0x98,0x7a,0x24,0xf8,0xa6,0x44,0x1a,0x99,0xc7,0x25,0x7b,0x3a,0x64,0x86,0xd8,0x5b,0x05,0xe7,0xb9,0x8c,0xd2,0x30,0x6e,0xed,0xb3,0x51,0x0f,0x4e,0x10,0xf2,0xac,0x2f,0x71,0x93,0xcd,0x11,0x4f,0xad,0xf3,0x70,0x2e,0xcc,0x92,0xd3,0x8d,0x6f,0x31,0xb2,0xec,0x0e,0x50,0xaf,0xf1,0x13,0x4d,0xce,0x90,0x72,0x2c,0x6d,0x33,0xd1,0x8f,0x0c,0x52,0xb0,0xee,0x32,0x6c,0x8e,0xd0,0x53,0x0d,0xef,0xb1,0xf0,0xae,0x4c,0x12,0x91,0xcf,0x2d,0x73,0xca,0x94,0x76,0x28,0xab,0xf5,0x17,0x49,0x08,0x56,0xb4,0xea,0x69,0x37,0xd5,0x8b,0x57,0x09,0xeb,0xb5,0x36,0x68,0x8a,0xd4,0x95,0xcb,0x29,0x77,0xf4,0xaa,0x48,0x16,0xe9,0xb7,0x55,0x0b,0x88,0xd6,0x34,0x6a,0x2b,0x75,0x97,0xc9,0x4a,0x14,0xf6,0xa8,0x74,0x2a,0xc8,0x96,0x15,0x4b,0xa9,0xf7,0xb6,0xe8,0x0a,0x54,0xd7,0x89,0x6b,0x35,};unsignedcharCRC8_Table(unsignedchar*p,charcounter){unsignedcharcrc8=0;for(;counter>0;counter--){crc8=crc_array[crc8^*p];//????CRC?p++;}returncrc8;}/************************************************函数名:*描述:*输入:无*输出:无***********************************************/unsignedcharChecksum(unsignedchar*t,charcounter){ unsignedchari,c=0; for(i=1;i<counter;i++) { c+=t[i]; } c=~c; returnc+1;}/************************************************函数名:*描述:*输入:无*输出:无***********************************************/voidParam_int(void) //0--onlyreadorfirstint1-writint{ Paramter.ID=0x01; Paramter.ALMFZ=20; //负载阈值30 Paramter.ALMYW=3000; //烟感预警10000 Paramter.Almflg=0; //超限标志 MainPrcParamter.Main_state=0; MainPrcParamter.Main_dely=0;}/************************************************函数名:*描述:*输入:无*输出:无***********************************************/unsignedcharRbuf[8]={0x01,0x04,0x00,0x00,0x00,0x0A,0x70,0x0D};voidMainProc(void){ switch(MainPrcParamter.Main_state) { case0://TH//18b20// if(DHT11_Read_data(DHT11buffer)==0)// {// // Paramter.DATTM=DHT11buffer[2]+DHT11buffer[3]/10.0;// OLED_ShowNum(24,0,(unsignedchar)Paramter.DATTM,3,16);// Paramter.DATHM=DHT11buffer[0]+DHT11buffer[1]/10.0;// OLED_ShowNum(88,0,Paramter.DATHM,3,16);//// USART1_Senddata(tx,8);// } VerD=0; VerAD=Get_Adc_Average(ADC_Channel_0,5); //ADC_Channel_0采集基准电压需要处理正确性 VerD=Ver/VerAD; VbaAD[1]=Get_Adc_Average(ADC_Channel_1,5); Vba[1]=VbaAD[1]*VerD*2/1000; //ADC_Channel_1采集PH Paramter.DATYW=4850*Vba[1]+250; OLED_ShowNum(64,0,Paramter.DATYW,5,16); //RDADchannl(); USART3_Senddata(Rbuf,8); MainPrcParamter.Main_state=1; MainPrcParamter.Main_dely=1; break; case1://N//+T00H00S0000W0000- if(MainPrcParamter.Main_dely>1000) { if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5)) { Paramter.FLGHZ=0; OLED_ShowCHinese(24,0,47);//无 OLED_ShowCHinese(112,4,7);//关 GPIO_ResetBits(GPIOB,GPIO_Pin_13); //turnoffXF. } else { Paramter.FLGHZ=1; OLED_ShowCHinese(24,0,46);//有 OLED_ShowCHinese(112,4,6);//开 GPIO_SetBits(GPIOB,GPIO_Pin_13); //turnonXF //SYN_FrameInfo(0,"[v9][m0][t5]有火灾"); } if(Paramter.DATYW>Paramter.ALMYW) { Paramter.FLGYW=1; OLED_ShowCHinese(40,4,6);//开 GPIO_SetBits(GPIOB,GPIO_Pin_12); //turnonTF } else { Paramter.FLGYW=0; OLED_ShowCHinese(40,4,7);//关 GPIO_ResetBits(GPIOB,GPIO_Pin_12); //turnoffTF. } if(Paramter.DATFZ/10>Paramter.ALMFZ) { Paramter.FLGFZ=1; } else { Paramter.FLGFZ=0; } if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)==0) { if(Paramter.FLGYW&&Paramter.FLGHZ&&Paramter.FLGFZ) { SYN_FrameInfo(0,"[v9][m0][t5]有火灾报警烟雾报警过载报警"); } elseif(Paramter.FLGYW&&Paramter.FLGHZ) { SYN_FrameInfo(0,"[v9][m0][t5]有火灾报警烟雾报警"); } elseif(Paramter.FLGYW&&Paramter.FLGFZ) { SYN_FrameInfo(0,"[v9][m0][t5]有烟雾报警过载报警"); } elseif(Paramter.FLGHZ&&Paramter.FLGFZ) { SYN_FrameInfo(0,"[v9][m0][t5]有火灾报警过载报警"); } elseif(Paramter.FLGYW) { SYN_FrameInfo(0,"[v9][m0][t5]有烟雾报警"); } elseif(Paramter.FLGFZ) { SYN_FrameInfo(0,"[v9][m0][t5]有过载报警"); } elseif(Paramter.FLGHZ) { SYN_FrameInfo(0,"[v9][m0][t5]有火灾报警"); } } printf("+HZ%dYW%04dY%dFZ%04dZ%1d%c",Paramter.FLGHZ,Paramter.DATYW,Paramter.FLGYW,Paramter.DATFZ/10,Paramter.FLGFZ,'-'); //printf("+T"+%d+"H"+%d+"S"+%d+"-",Paramter.DATTM,Paramter.DATHM,Paramter.DATYW); MainPrcParamter.Main_state=0; MainPrcParamter.Main_dely=0; } break; default: break; }}/************************************************函数名:*描述:*输入:无*输出:无***********************************************//************************************************函数名:*描述:*输入:无*输出:无***********************************************//************************ENDOFFILE************/voidNMI_Handler(void){}/***@briefThisfunctionhandlesHardFaultexception.*@paramNone*@retvalNone*/voidHardFault_Handler(void){/*GotoinfiniteloopwhenHardFaultexceptionoccurs*/while(1){ }}/***@briefThisfunctionhandlesMemoryManageexception.*@paramNone*@retvalNone*/voidMemManage_Handler(void){/*GotoinfiniteloopwhenMemoryManageexceptionoccurs*/while(1){}}/***@briefThisfunctionhandlesBusFaultexception.*@paramNone*@retvalNone*/voidBusFault_Handler(void){/*GotoinfiniteloopwhenBusFaultexceptionoccurs*/while(1){}}/***@briefThisfunctionhandlesUsageFaultexception.*@paramNone*@retvalNone*/voidUsageFault_Handler(void){/*GotoinfiniteloopwhenUsageFaultexceptionoccurs*/while(1){}}/***@briefThisfunctionhandlesSVCallexception.*@paramNone*@retvalNone*/voidSVC_Handler(void){}/***@briefThisfunctionhandlesDebugMonitorexception.*@paramNone*@retvalNone*/voidDebugMon_Handler(void){}/***@briefThisfunctionhandlesPendSVCexception.*@paramNone*@retvalNone*/voidPendSV_Handler(void){}/***@briefThisfunctionhandlesSysTickHandler.*@paramNone*@retvalNone*/voidSysTick_Handler(void){ TimingDelay_Decrement();}/******************************************************************************//*STM32F10xPeripheralsInterruptHandlers*//*AddheretheInterruptHandlerfortheusedperipheral(s)(PPP),forthe*//*availableperipheralinterrupthandler'snamepleaserefertothestartup*//*file(startup_stm32f10x_xx.s).*//******************************************************************************//***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*///voidUSART1_IRQHandler(void)//{// USART1_Trq();//}/***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*///voidUSART2_IRQHandler(void)//{// USART2_Trq();//}/***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*///voidUSART3_IRQHandler(void)//{// //USART3_Trq();//}/***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*//***@briefThisfunctionhandlesTIM2interruptrequest.*@paramNone*@retval:None*/voidTIM2_IRQHandler(void){ //TIM2_Irq();}/***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*//***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*//***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*//***@briefThisfunctionhandlesPPPinterruptrequest.*@paramNone*@retvalNone*//*voidPPP_IRQHandler(void){}*//***@}*//*******************(C)COPYRIGHT2011STMicroelectronics*****ENDOFFILE****/#include"include.h"static__IOu32TimingDelay;u32timenum=0;//ms计时变量voiddelay_us(u32time){u32i=8*time;while(i--);}voiddelay_ms(u32time){u32i=8000*time;while(i--);}/*********************************************************************************????:**????:MODBUScrc??**????:?**??:?*******************************************************************************/unsignedshortGetCRC16(u8*snd,u8len){autou32i,j;autou16c,crc=0xFFFF;for(i=0;i<len;i++){c=snd[i]&0x00FF;crc^=c;for(j=0;j<8;j++){if(crc&0x0001){crc>>=1;crc^=0xA001;}elsecrc>>=1;}}return(crc);}voidSysTick_Init(void){ /*SystemFrequency/10010ms中断一次 *SystemFrequency/10001ms中断一次 *SystemFrequency/100000 10us中断一次 *SystemFrequency/10000001us中断一次 */ if(SysTick_Config(72000000/1000)){/*Captureerror*/while(1);}}/***************************************函数名:Delay_us*描述:us延时程序,10us为一个单位*输入:-nTime*输出:无*调用:Delay_us(1)则实现的延时为1*10us=10us*:外部调用**************************************/voidDelay_us(__IOu32nTime){TimingDelay=nTime;while(TimingDelay!=0);}/****************************************函数名:TimingDelay_Decrement*描述:获取节拍程序*输入:无*输出:无*调用:在SysTick中断函数SysTick_Handler()调用***************************************/voidTimingDelay_Decrement(void){ timenum++; if(MainPrcParamter.Main_dely>0) MainPrcParamter.Main_dely++; if(timenum>500) { timenum=0; CPL_LED0;// if(Paramter.Almflg)// CPL_BEEP// else// BEEP_OFF; //CPL_BEEP; }}#include"sys.h"#include"delay.h"#include"usart.h"#include"tim.h"#include"dht11.h"#include"hcsr04.h"#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 收购股权服务合同模板
- 排水沟清理合同模板
- 永久用工合同模板
- 2024年医疗劳务合同
- 北京冷藏配送合同模板
- 2024年婚姻房产归属协议
- 室外玻璃清洗合同模板
- 供油合同模板6
- 柴油使用合同模板
- 无法过户房子合同模板
- 医学与大数据:信息技术在医疗中的应用
- (新版)三级物联网安装调试员技能鉴定考试题库大全-上(单选题汇总)
- 2024年室内装饰设计师(高级工)考试复习题库(含答案)
- 教育培训行业2024年生产与制度改革方案
- 快消行业品牌分析
- 口腔新技术护理课件
- 社交电商的供应链管理和优化
- 题材05乡土小说专题精练-2024年高考语文二轮复习三点突破讲解专练
- 南京理工大学2015年613物理化学(含答案)考研真题
- 舆情处置培训课件
- 卡仕达dvd导航一体机说明书
评论
0/150
提交评论