智能火灾报警器毕业论文


     毕业设计(论文) ( 20XX届 ) 论文题目: 基于STC89C52的火灾自动报警系统的设计与开发 DESIGN AND DEVELOPMENT OF AUTOMATIC FIRE ALARM SYSTEM BASED ON STC89C52 学 生 姓 名: 学 号: 二级学院名称: 电子信息学院 专 业:电子科学与技术 指 导 教 师: 职 称: 研究员 合作/企业教师: 职 称: 基于STC89C52的火灾自动报警系统的设计与开发 摘要: 随着社会和经济的发展,防火工作越来越重要,但是目前国内的许多研发都侧重于大型场所的火灾报警。因此,有必要研制一种结构简单、经济实用的家庭烟雾报警器以适应市场的需求。基于供家庭使用的烟雾报警器应该具备的基本要求和功能,设计了一种比较适合的烟雾报警器。 本设计以传感器和单片机作为烟雾报警器设计的核心器件,配合其它器件即可实现声光报警、自动排烟换气和消防灭火等功能。设计中单片机选用STC89C52作为控制器件,传感器选用MQ-2型半导体可燃气体敏感元件烟雾传感器实现烟雾的检测。烟雾报警器主要由烟雾信号采集及前置放大电路、模数转换电路、单片机控制电路、显示电路、声光报警电路和安全保护电路构成,设计合理、简单易懂、价格低廉,使单片机在烟雾报警系统的控制中得到充分应用,具有一定的实用价值。论文主要针对烟雾报警系统中的各个组成部分及功能进行了详细的介绍和说明,并对其主控电路和外围设备电路之间的接口连接方式,以及系统软件设计进行了重点的分析和讲解。 关键词:烟雾报警器;单片机;传感器 DESIGN AND DEVELOPMENT OF AUTOMATIC FIRE ALARM SYSTEM BASED ON STC89C52 Abstract: With the development of society and economy, the fire work is more and more important, but many of the current domestic research are focused on the large space fire alarm. Therefore, it is necessary to design a simple structure, economical and practical family smoke alarm to adapt to the needs of the market. The basic requirements of the smoke alarm for household use based on should have and function, this paper designs a smoke alarm is suitable for the. The design of the sensor and single-chip microcomputer as the core device smoke alarm design, with other devices can achieve sound and light alarm, automatic exhaust ventilation and fire extinguishing function. Design of single chip STC89C52 is selected as the control device, the selection of sensor for detection of MQ-2 type semiconductor gas sensitive element smoke sensor smoke. The smoke alarm is mainly composed of smoke signal acquisition and the preamplifier circuit, analog-digital conversion circuit, single-chip microcomputer control circuit, display circuit, alarm circuit and protection circuit, reasonable design, simple, low price, make full use of MCU alarm system in the control of the smoke, and has a certain practical value. The main thesis of the smoke alarm system for the various components and functions are introduced and explained, and the connection mode of the main control circuit and peripheral equipment circuit interface, and the software design of the system is analyzed and the explanation of the key. Keywords: The smoke alarm; MCU; sensor 目 录 1 绪论 1 1.1 选题背景与研究现状 1 2 设计思路与方案的选择 1 2.1 整体设计思路 1 2.2 设计方案的选择 2 2.2.1 烟雾检测传感器选型 2 2.2.3 温度采集模块 4 3 系统概述与硬件方案的设计 5 3.1 系统总体框架 5 3.2 电源模块 6 3.3 单片机最小系统 6 3.4 单片机的时钟电路与复位电路设计 8 3.5 OLED显示模块 8 3.6 声音报警模块 9 3.7 按键控制模块 10 3.8 DS18B20接口电路 10 4 系统软件方案的设计 11 4.1系统主程序设计及流程图 11 5 系统调试、测试与分析 12 5.1 硬件调试 12 5.2 软件调试 13 6 结束语 13 致谢 15 参考文献 16 附录1 系统部分程序: 17 附录2 系统原理图: 36 附录3 系统PCB图: 37 附录4 系统实物图: 38 1 绪论 1.1 选题背景与研究现状 随着科技的发展,越来越多的火灾隐患潜伏在工业生产和人们的日常生活中。火灾一旦发生便是一场巨大的灾难,很有可能造成巨大的经济损失,甚至危及个人的生命安全。在早期时候,防止和发现火灾,保护人身和财产安全,减少经济损失,是必须要做的一个重要事情。 所以为了减少这类事故的发生,就必须对烟雾进行现场实时检测,采用先进可靠的安全检测仪表,用来严密监测环境中烟雾的浓度,采取有效措施,及早发现事故隐患,避免事故发生,才能确保工业安全和家庭生活安全。因此,研究烟雾的检测方法与研制烟雾报警器就成为传感器技术发展领域的一个重要课题。 国外从20世纪30年代开始研究及开发烟雾传感器,且发展迅速,一方面是因为人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是因为传感器市场增长受到政府安全法规的推动。据有关统计,美国1996年~2002年烟雾传感器年均增长率为27%~30%[1]。随着传感器生产工艺水平逐步提高,传感器日益小型化、集成度不断增大,使得烟雾检测仪器的体积也逐渐变小,提高了烟雾检测仪器的便携性,更加利于生产、运输及市场推广。 1963年5月,日本开发完成第一台接触燃烧式家用燃气泄漏报警器,次年12月其改良产品问世,改良的报警器可以检测燃气、一氧化碳等气体,可以安装在浴室或者采用集中监视[2]。 我国在70年代初期就已经开始了对烟雾报警器研究,一方面是由于社会的需要,另外一方面也为了减少国家的经济损失,在生产的过程中,生产型号多样化、品种也比较齐全,应用范围从开始单一的炼油系统到后面扩展到几乎所有危险作业环境的各种类型报警器,囊括的种类极其之多,产品数量也在不断增加。不过从发展的角度来看,我们大都是在引进国外先进的传感器技术,并且在国外先进的生产工艺基础之上,对其进行研究从而大力开发属于自己的特色火灾报警器。随着国家的大力发展,近年来,我国在烟雾选择性和产品稳定性上都有很大进步[3]。 2 设计思路与方案的选择 2.1 整体设计思路 本次设计是基于STC89C52的烟雾报警器,能够检测环境中的烟雾浓度,并具有报警功能。该报警系统的最基本组成部分应包括:信号采集模数转换电路、单片机控 制电路、字符显示电路、声光报警电路和安全保护电路等部分[2]。设计的烟雾报警器具有显示报警状态,为适应家庭和工业等场所对可燃性易爆烟雾安全性等要求。报警器以STC89C52单片机为控制核心,延时的工作方式,选用MQ-2半导体气体烟雾传感器,用来采集烟雾浓度信息,配合外围电路以构成烟雾报警系统,从而达到自己设计的目的。 本设计对系统进行一个整体规划,还有结构设计,以STC89C52单片机为中央处理器,对硬件电路进行设计和改进,使其功能更加完善。系统模块分为软件和硬件两个部分。系统硬件电路主要分为数码管显示电路、状态指示灯电路、声音报警电路、数据收集等四大部分。 系统的软件编制的分类,按照软件实现的功能,主要分为主程序、报警子程序、初始化子程序、报警限值设置子程序、浓度显示子程序等程序内容。在程序的编写过程中,同时又加入了详细的文字注释,以便于后期的修改与维护。 2.2 设计方案的选择 2.2.1 烟雾检测传感器选型 图1烟雾传感器内部结构图 烟雾传感器是测量装置和控制系统的首要环节。而烟雾报警器的信号采集由烟雾传感器负责。烟雾传感器能够将气体的种类及其浓度有关的信息转换为电信号,根据这些电信号的强弱就可以获得与待测气体在环境中存在的情况有关的信息,从而达到检测、监控、报警的功能[4]。可以说,没有精确可靠的传感器,就没有精确可靠的自动检测、控制和报警系统。烟雾传感器作为报警器中不可缺少的核心器件,它决定了所采集的烟雾浓度信号的准确性和可靠性,烟雾传感器内部结构如图1所示[5]。 方案一:接触燃烧式传感器。当易燃烟雾接触这种被催化物覆盖的传感器表面时会发生氧化反应而燃烧。接触燃烧式气体传感器的检测元件一般为铂金属丝(也可表面涂铂、钯等稀有金属催化层),使用时对铂丝通以电流,保持300℃~400℃的高温,此时若与可燃性气体接触,可燃性气体就会在稀有金属催化层上燃烧,因此铂丝的温度会上升,铂丝的电阻值也上升;通过测量铂丝的电阻值变化的大小,就知道可燃性气体的浓度。使用接触燃烧式传感器,其最大的缺点是探头很容易发生阻缓和中毒现象。一般在连续使用两个月后应对该传感器进行维护。这无形中加大了工作人员的工作量,同时增加了报警器的维护成本[6]。 方案二:半导体烟雾传感器(半导体气敏传感器)半导体烟雾传感器包括用氧化物半导体陶瓷材料作为敏感体制作的烟雾传感器,以及用单晶半导体器件制作的烟雾传感器。半导体烟雾传感器是利用气体在半导体表面的氧化和还原反应导致敏感元件阻值变化而制成的。按照敏感机理分类,半导体烟雾传感器可分为电阻式和非电阻式。当半导体接触到气体时,半导体的电阻值将发生变化,利用传感器输出端阻值的变化来测定或控制气体的有关参数,这种类型的传感器称为电阻式半导体气敏传感器;当MOS场效应管在接触到气体时,场效应管的电压将随周围气体状态的不同而发生变化,利用这种原理制成的传感器被称为非电阻式半导体气敏传感器[7]。 自1962年半导体金属氧化物烟雾传感器问世以来,由于具有灵敏度高、响应快、输出信号强、耐久性强、结构简单、体积小、维修方便、价格便宜等诸多优点,得到了广泛的应用。但是其最大的缺点就是选择性较差。该传感器己成为世界上产量最大、使用最广的烟雾传感器之一。 方案三:离子感烟传感器 离子感烟传感器对于火灾初起和阴燃阶段的烟雾气溶胶检测非常有效,可测烟雾粒径范围为0.03um-10um。它在内外电离室里面有放射源镅241。由于它能使两极板间空气分子电离为正、负离子,使电极之间原来不导电的空气具有导电性。在正常的情况下,内外电离室的电流、电压都是稳定的。当火灾发生时,烟雾粒子进入电离室后,电力部分(区域)的正离子和负离子被吸附到烟雾粒子上,使正、负离子相互中和的概率增加,从而将烟雾粒子浓度大小以电流变化量大小表示出来,实现对火灾参数的检测。 第四种方案:光电式感烟传感器 光电式感烟传感器包含三个部分:光源、光敏元件和电子开关。在正常的情况下,平常光源发出的光,它会通过透镜照射到光敏元件上,这个时候如果没有什么特殊情 况,电路就会保持正常。但是一旦有烟雾从中阻隔光的照射,就会导致到达光敏元件上的光减少,这个时候光敏元件就把光强的变化转化成电的变化,在火灾产生的初期利用光散射原理对烟雾进行探测,并及时发出报警信号。在报警的同时,按照光源不同,又可分为4种,其中包括一般光电式、激光光电式、紫外光光电式和红外光光电式。 光电式感烟探测器发展的速度非常快,种类也在不断增多,除了在大型建筑物内部应用之外,还特别适用于电气火灾危险性较大的场所,如仪器仪表室、隧道、计算机房和电缆沟等处。但是从另一个角度来看,比如说就其功能而言,它在火灾发生的早期也能实现报警功能。 有时候根据报警器检测烟雾种类的不同要求,在使用条件的各种考虑下,半导体烟雾传感器对于各种场合都比较适合,在众多烟雾传感器的应用特性的对比之下,发现半导体烟雾传感器的优点更加突出。比如灵敏度高、响应快、体积小、结构简单等优良特性,而且还兼具使用方便、价格便宜等优点,并且在报警的过程中,不具有其他传感器所具备的缺陷,比如探头阻缓及中毒现象,而且在维护成本方面,也是比较低廉的,因而得到广泛应用。因此,本设计中的烟雾传感器采用方案2,选用MQ-2半导体气体烟雾传感器[8]。 2.2.2 单片机的选型 单片机是烟雾自动报警系统最关键的一部分,并且具有多种功能,它可以用来接收火灾信号,当接收到信号之后,就会启动报警装置显示,然后执行相应的报警。在单片机实现的控制功能中,对单片机的运算速度具有较高的要求,使检测人员和用户在报警器系统正常工作时能够及时地观测到实时的烟雾浓度等级,并进行相应处理。同时,在满足报警器系统设计的计算速度要求之后,在接口功能要求相同的同类型单片机中,还要考虑选择价格低廉且体积轻巧的机型,这是为了建立在报警器的精确性、可靠性及抗干扰性的基础之上,还要能够考虑成本能够足够的低廉[9]。 由于单片机技术在各个领域里面应用的越来越广泛,所以世界上许多集成电路生产厂家相继推出了各种类型的单片机,在众多类型的单片机之中,MCS系列单片机以其成熟的技术、优越的性能、高可靠性和高性能价格比,迅速占领了工业测控、自动化工程应用等大多数主流市场,成为国内单片机应用领域中的翘楚。其中,51系列单片机有一些显著的优点,比如价钱便宜,I/O口多,程序空间大。因此,在测控操作系统中,使用51系列单片机是最理想的选择,因此本次毕业设计采用STC89C52作为设计用的单片机[10]。 STC89C52是一种高性能、低功耗CMOS8位微控制器,使用高密度非易失性存储器技术制造,在兼容性方面,工业80C51产品指令和引脚完全兼容,并且具有8K可编程Flash存储器。片上Flash适于常规编程器,亦允许程序存储器在线可编程。在单芯片上,拥有系统可编程Flash和灵巧的8 位CPU,因为具备这些条件,STC89C52可以为众多嵌入式控制应用系统提供超有效、高灵活的解决方案[10]。STC89C52还具备以下标准功能:256字节RAM,32 位I/O 口线,8k字节Flash定时器,2个数据指针,一个6向量2级中断结构,全双工串行口,三个16位定时器/计数器,片内晶振及时钟电路。另外,STC89C52可降低0Hz 静态逻辑操作,并且支持2种软件可选择节电模式。在空闲模式条件下,CPU开始停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,振荡器被冻结,RAM内容被保存,单片机停止一切工作,直到下一个硬件或中断复位为止。这是一个以单片机为中心的模块,把程序代码烧进去以后,然后在外围接上振荡电路、复位电路、LED显示电路、LED显示电路、报警电路等子模块[11]。 2.2.3 温度采集模块 方案1:在测温电路中采用PT100作为温度传感器。PT100传感器是利用铂电阻的特性来进行测温的,铂电阻具有这样的特性,它的阻值随温度变化而变化、并呈一定函数关系的特性,并且PT100传感器具有抗振动、稳定性好、准确度高、耐高压等优点。但它也具有一些缺点,就是使用起来比较复杂。 方案2:采用DS18B20作为本次设计的温度传感器。DS18B20的数字温度输出通过 “ 一线 ” 总线( 1-Wire是一种特殊的数字信号总线协议,它将独特的信号线和电源线复合在一起,仅使用一条口线;每个芯片编码都是唯一的,支持联网寻址、还有零功耗等方面,是总线之中所需硬件连线最少的一种)这种独特的方式,可以使多个 DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。它在传输距离、转换时间、测温精度、分辨率等方面相较于其他温度传感器有了更大的进步,相对于用户来讲使用更方便,而且效果也更加令人满意[12]。 通过比较之后得出,DS18B20可以直接输出数字温度值,不需要校正,是比较理想的选择,因此最后决定选择方案2。 3 系统概述与硬件方案的设计 3.1 系统总体框架 烟雾报警器是能够检测环境中的烟雾浓度,并具有报警功能的仪器。该报警系统的最基本组成部分应包括:信号采集模数转换电路、单片机控制电路、字符显示电路、声光报警电路和安全保护电路等部分组成。 为适应家庭和工业等场所对可燃性易爆烟雾安全性要求,设计的烟雾报警器具有显示报警状态。报警器采用延时的工作方式,烟雾检测报警器以STC89C52单片机为控制核心,选用MQ-2半导体气体烟雾传感器采集烟雾浓度信息,配合外围电路构成烟雾报警系统。本设计包括硬件和软件设计两个部分。 从设计的要求来分析该设计须包含如下结构:烟雾检测部分、STC89C52单片机主控部分、报警部分,AD采集四大部分。电路总体设计框图如图2所示: 图2总体设计框图 处理器采用51系列单片机STC89C52。整个系统是在系统软件控制下工作的。设置在监测点上的烟雾检测探头将检测到的烟雾变换成电信号,送出模拟信号,给AD采集电路采集。在单片机内,经软件查询、识别判决等环节实时发出烟雾报警状态控制信号。驱动蜂鸣器及报警指示灯报警[13]。 3.2 电源模块 图3电源模块原理图 由于本系统采用电池供电,考虑了如下几种方案为系统供电。 方案1:采用5V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在报警器上使用极为不方便。因此放弃了此方案。 方案2:采用4节1.5 V干电池共4.5V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。 综上所述采用方案2,电源模块原理图如图3所示,其中P1为电池接口,SW1为电源开关[14]。 3.3 单片机最小系统 单片机如果需要工作起来,构成为单片机最小系统的基本构成如图4所示。 图4单片机最小系统的基本构成 单片机最小系统大致由三部分构成,第一部分包含单片机,第二部分包含复位电路,最后一部分由时钟电路构成,这三部分每一部分都有其独立功能,能够单独工作却又互相协作。 而在STC89C52 单片机中,它的工作电压范围在4V到5.5V之间,所以就需要给单片机外接一个5V的直流电源。连接到单片机中的40脚,而单片机的VCC就需要接到正极5V,另外一个20脚VSS就接到电源地端,达到所需的效果。 复位电路则是用来确定单片机的工作起始状态,而单片机的启动过程就需要复位电路来实现。当单片机接通电源的时候,它会产生一个复位信号,用来完成单片机的启动并且确定单片机起始工作状态。如果单片机系统在运行的过程中,受到外界环境的干扰并且出现程序跑飞的现象时。只要按下复位按钮,其内部的程序便会自动从头开始执行。这种复位一般有两种方式,上电自动复位和外部按键手动复位。单片机在时钟电路工作以后,要完成复位操作,就需要在RESET端持续给出2个机器周期,这是完成复位操作的重要条件。本设计在两者之间采用的是外部手动按键复位电路,不过选择这个以后,则需要接上拉电阻来提高输出高电平的值。 时钟电路是单片机最重要的一部分,单片机的工作节奏由它来进行掌控。时钟电路在另一方面来讲也可以说是振荡电路,它需要向单片机提供一个正弦波信号作为基准,用来决定单片机的执行速度。XTAL1和XTAL2分别是反向放大器的输入和输出,该反向放大器可以配置一个片内振荡器。但是如果采用外部时钟源驱动器件,就不需 要外接XTAL2。因为一个机器周期含有6个状态周期,每个状态周期又含有2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的话它的振荡频率就为12MHz,一个振荡周期的时间为1/12us[15]。 3.4 单片机的时钟电路与复位电路设计 本系统采用STC系统列单片机,相对于其他系列单片机来说的话,它具有更多的优点。一般STC单片在资源方面也比其他单片机要多,而且它还有一个优点,执行速度快;STC系列单片机使用串口对单片机进行烧写下载程序较为方便;STC89C52单片机内部集成了很多复杂电路,且在抗干扰方面也具有不错的能力。 本系统采用内部方式的时钟电路和加电自复位的复位电路,分别如图5和图6所示: 图5时钟电路 图6 复位电路 由于单片机为高阻态,PO口内部不含上拉电阻,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。 3.5 OLED显示模块 图7 数码管显示 显示采用数码管显示,显示电路如图7所示。 3.6 声音报警模块 电路通过三极管基极串连一个电阻与单片机P3.6端口连接从而达到控制蜂鸣器是否报警。声音报警电路如图8所示。 图8 声音报警电路图 3.7 按键控制模块 图9 消音按键连接电路图 本电路设计了四个按键,一个设置键、一个加键、一个减键、一个紧急报警键,当遇到紧急情况时,可按下紧急报警键,蜂鸣器进行报警,消音按键连接如图9所示[16]。 3.8 DS18B20接口电路 采用DS18B20温度传感器,其接口电路图如图10所示。 图10 温度传感器接口电路图 (1) DS18B20控制方法 DS18B20有六条控制命令: 温度变化:44H开动DS18B20进行温度转换 读暂存器:BEH仅仅占了暂存器9个字节内容 写暂存器:数据被4EH放入暂存器的TH、TL字节 复制暂存器:暂存器的TH、TL字节被48H 送到E2RAM中 再一次调E2RAM B8H 把E2RAM中的TH、TL字节放到暂存器TH、TL字节 读电源供电方式 B4H 开启DS18B20把电源供电方式的信号发送给主CPU (2) DS18B20供电方式 DS18B20可以采用两种方式供电:1是采用电源供电方式,此时DS18B20的1脚连到地端,2脚变作信号线,3脚连接电源。另一种是寄生电源供电方式,在图3.1所示的那样,单片机端口连上单线总线,这是为了在工作的周期之内,能够为DS18B20时钟提供足够的电流,以方便其工作,所以可以采用一个三极管来完成上拉总线。本设计采用电源供电方式,P2.3口连单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C52的P2.3来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间所到达的极限时间为10μs。实行寄生电源供电方式则VDD和GND端均需要连接地端。由于单线制只有一根线,则对发送接收口的要求,它就必须是三状态的。DS18B20被主机控制之后完成温度转换就必须经过3个步骤:1,初始化;2,ROM操作指令;3,存储器操作指令。 4 系统软件方案的设计 4.1系统主程序设计及流程图 自动火灾报警器的硬件系统设计结束之后,如果缺乏软件的辅助及帮助,硬件还是不能正常工作。软件是硬件能够运动起来的重要支撑部分,控制着整个硬件系统的运行。所以从另外一个意义来说软件对整个系统极其的重要,甚至从某种意义上说比硬件更加重要。 主程序流程图如图11所示。首先要给传感器预热,因为MQ-2型半导体电阻式烟雾传感器在不通电的情况下,它存放一段时间之后,当它再次通电,传感器不能进入工作状态,也就是说正常采集烟雾信息,需要一段时间进行预热处理。程序初始化结束后,系统就会进入监控状态,对整个电路和环境进行一个监控作用。 在整个报警系统工作中,ADC0832把烟雾浓度信息转换处理后,还要经过单片机来对信号进行分析处理,判断系统是否启动报警。主程序还包括报警浓度设定功能、LED八段式数码管浓度字符显示功能、手动报警功能、中断子程序等,这些程序使报警器功能更加全面和完善,给用户带来更大的便利和体验[17]。 图11 主程序流程图 至此,整个多功能MP3系统的设计基本完成了,剩下的任务就是对该系统进行调试和测试。 5 系统调试、测试与分析 5.1 硬件调试 第一步为目测阶段,单片机应用系统电路全部需要手工焊接在洞洞板上,这个时候对焊接需要一定的熟悉度,而且还要对每一个焊点都要进行仔细的检查。以便测定它是否有虚焊、是否有毛剌等现象。 第二步为万用表测试,先用万用表再一次检查目测中认为可能存在错误的连线或接点,查看它们的通断状态是否跟设计状态相对应,再检查各种线与线之间的连接是否有短路现象。 第三步为加电检查。当系统加电时,首先检查所有插座或器件引脚的电源端是否达到符合要求的电压值,接地端电压值是否与零想接近,接固定电平的引脚端是否符合设计所需的电平。 第四步是联机检查。 在对硬件电路调试过程中,还遇到了不少问题,第一次当把所有的元件都焊上去后,准备调试,这个时候才发现正负极的插针离得太近了,不容易接电源,按理来说这种小错本不该发生的,出错的原因就是因为自己太多马虎,所以说,做任何事情都必需经过“三思而后行”,不能仅停留在想象的阶段,还需要自己身体力行,方能取得好的结果,才能使自己的经验更加丰富,而且来不得半点的马虎,否则浪费了时间和精力。 首先烧入显示程序,看显示正不正常,整体功能是否都还完善。在调试程序时,发现有的指令用的不正确,功能不能达到自己想要的效果,电路功能也不能正常的运行,另外软件程序中的延时有的过长、有的过短,长短不一。类似的现象还有很多就不一一列举了。 在完成之后,一共要测试两个功能。第一个测试浓度达到设定值之后,是否会自动报警。第二个测试温度上升到报警值之后,能否实现自动实现报警功能。 5.2 软件调试 在软件调试时,对每个模块分别进行测试,采取步步为营的策略,这样方便对一个模块都起到一个检查的作用,第一步完成OLED显示,然后接下来单片机的时钟电路与复位电路,最后就是时钟等驱动程序的调试,下一步烟雾检测AD采集电路的编写﹑按键控制电路的设计,最后根据系统所需然后设置自己想要的功能,进行微型修改。 然后就要在实际操作的过程中,首先把显示程序烧入进去,看显示正不正常。在调试程序结束之后,发现有的指令用的并不是很正确,导致电路功并不能完全实现,另外软件程序中的延时有的过长、有的过短,当出现这些这些问题之后,就要对自己的程序进行不断的修改,不断的查资料,这样才能解决出现的问题得出自己想要的结果。 系统用到了多个中断程序,在设计过程中遇到过中断嵌套而无法退出的问题,这个时候就需要设定中断优先级,其中显示屏引脚中断优先级最高。 6 结束语 本次设计的烟雾检测报警器在生产与生活等情况下可以保障它们的安全,避免发生火灾和爆炸事故,在火灾发生的现场,还可以防止煤气中毒的发生,在防火、防爆和安全生产等场所中,这都是所必备的一种仪器,有此可以想象的出来,烟雾报警器具有巨大的市场空间和不错的发展前景。本论文建立在对烟雾传感器和报警技术进行过深入研究的基础上,然后对国内和国外相同款式产品的技术特点进行全面比较,然后对系统的设计方案进行完,并且最后还要确定系统的设计方案。并对仪器的整体设计进行确定和对各个组成部分还要进行详细的分析和设计,从而才能设计自己所需要的产品。 本论文设计的烟雾报警器由两大部分构成,一部分分为烟雾信号采集电路,另一部分分为单片机控制电路。根据设计要求、使用环境、成本以及众多因素,从而确定选用MQ-2型半导体电阻式烟雾传感器。该传感器因为具有广谱型半导体敏感器件,从而对以烷类烟雾为主的多种烟雾都不错的良好敏感特性。它的灵敏度适中,而且还具有响应与恢复特性好等特点,而且在工作的过程中,稳定性、重现性,都不怎么易受环境影响及抗温湿度影响等优良性能。 在系统单片机控制电路的设计上,为了使仪器具有结构简单、体积小、性能稳定、成本低等优良性能,在前期的设计中采用了高性能、高整合度的STC89C52单片机作为核心芯片,充分利用了其高速数据处理能力和丰富的片内外设,实现了仪器的小型化和智能化,因为有了这些独特设计,才能达到自己预期的效果。由于烟雾传感器需要在加热状态下工作,所以温度便是一个决定因素,在传感器工作的时候,温度越高,反应速度随着温度的升高而加快,响应时间和恢复时间也跟着加快。为保证传感器准确地、稳定地工作,提高响应时间。需要向烟雾传感器持续供给5V的加热电压。烟雾报警器能在范围比较广的温度范围工作,可将烟雾浓度显示用LED数码管显示。当烟雾的浓度达到自己在开始设定的报警浓度时,就会发出报警的滴答声。 在现场进行标定及测试的过程中,我们需要分析烟雾浓度信号的实验数据,利用这些数据计算本报警器显示烟雾浓度与实际浓度之间的误差为2.55%LEL,如果在所规定误差范围±5%LEL之内,这个数据满足我们开始设定的检测要求,达到了预期的设计效果,这就是我们所要得出的结论。 到目前为止毕业设计也即将告一段落了,在这次的毕业设计中,我更加了解理论知识和实践能力的差距,如果自己光是知道一些理论知识,那是远远不够的,还需要不断地实践,从而才能更好的巩固自己所学到的知识。另一方面也意识到自己的短处与缺陷,培养了我的独立思考能力,让自己学到了很多以前从来没有接触过的知识,进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力,同时,也发现了自己的不足之处,和一些问题的存在,并有待进一步学习和发展,让自己在未来的工作和学习之中更快的适应和提高自己。 致谢 在完成本设计的写作过程中,我十分感谢我的指导老师—XX老师。从论文的开始到结束,XX老师一直都是很悉心的帮我修改着论文设计的过程中出现的各种问题和错误,对我论文设计的每个过程都严格的把关,帮助我开拓设计思路。在做毕业设计的过程中,自己因为杂事比较多,所以在论文这一块都没怎么花心思,很多次论文提交上去,都会出现很多小错误,自己又不知道怎么修改,基本都是老师在指导我。而且老师不仅在论文方面给了我很大帮助,在功课上对我也指导了很多,真的很感谢金老师。 自己在做论文的过程中,也清楚的意识到自己对本专业的茫然与无知,很多东西都不懂,回想自己大学四年的时光,也不知道自己是怎么机缘巧合的来到这个专业以及这个学校,只记得当初只是想跑到大城市去看看,然后想学一技傍身,刚好专业是电子科学与技术,所以才来到浙江传媒学院。自己来到之后,才发现这不是自己感兴趣的专业,所以在学习方面也没怎么花时间,说实话挺可惜的,自己本专业都没学到什么东西,于是在做毕业设计的时候就显得异常的艰难,自己也清楚的意识到自己本专业知识的缺陷。 不过尽管是无意中来到了母校,但是在这里我还是要感谢我们的母校——浙江传媒学院,因为她给了我很多帮助而且还给了我一个舞台来施展自己的才华,来到这里之后,我才发现这里跟其他的学校氛围不一样,气氛相对来说要活跃一些,开始我不怎么能接受,后面我也就慢慢地习惯;额!我很珍惜我大学的四年生活,给我留下了很多回忆,人生仅有一次,甚至毕业论文也是一样,也只有这么一次,以后便再也没有机会去写了。此外我还要感谢我的同班各位同学以及和我一起生活的三个室友,正是与他们的交流合作使我不断成长,受益颇多。最后要感谢我的家人以及我的朋友们,在他们的帮助下,我才得以能顺利完成自己的毕业论文。 通过这次毕业设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。它是我这四年来所学知识的综合运用和经验的总结,通过此次设计也锻炼了我个人的各方面能力,包括制图、编程、动手以及沟通能力,所学知识更得到了升华。为以后在工作岗位上发挥自己的才能奠定了坚实的基础。由于时间的仓促和个人专业水平的原因,整篇论文肯定存在着一定的错误和漏洞。恳请阅读此篇论文的老师、同学,多予指正,不胜感激! 最后,再次对关心、帮助我的老师和同学表示衷心地感谢, 更感谢母校四年来对我的培养和教育,希望母校健康蓬勃发展,更加辉煌!等我在外拼搏成功之后,必会回来反哺母校,使母校能够培育更多人才,为社会做出自己的一番贡献。 参考文献 [1] Ingolf Willms低功耗无线烟雾中的家庭火灾报警系统[J].西班牙:University of Huelva.2015:24-37 [2] Feo-Arenis. Dietsch.Siyar Andisha.无线火灾报警系统[M]瑞士.斯普林格国际出版社:2014年;卷8442,P658-672. [3] Chen,S-J,Hovde,使用烟雾和气体传感器火灾探测,消防安全J.2007,42,507-515 [4] 刘迎春.传感器原理设计及应用,哈尔滨:哈尔滨工业大学出社.2001.89-100 [5] 余成波.传感器与自动检测技术[M].高等教育出版社.2004.34-25 [6] 刘广玉.新型传感器技术及应用[M].北京航空航天大学出版社.1989.12 [7] 李永生 杨莉玲.半导体气敏元件的选择性研究[J]仪表,教育出版社,2010 [8] 朱明程等,一氧化碳传感器,MGS1100原理及应用电子技术[J].1998年第1期. [9] 何立民.单片机实用文集. 北京航空航天大学出版.1993. [10] 陈伟.MCS一51系列单片机实用子程序集锦.清华大学出版社.1993. [11] 曾小宝,宋锐 基于单片机无线智能防火报警器的设计-中国电子商务,2012(08) [12] 赵浪涛;赵永花 DS18820芯片在温度测量系统中的应用-兰州专科学校学报,2009(4) [13] 赵负图.数据采集与控制系统[M].北京:北京科学技术出社.1987.12 [14] 童诗白,华成英,模拟电子技术基础[M],北京,高等教育出版社,2006,5:1-2. [15] 李忠望.一种智能火灾报警系统的设计方案,[ J ],安防科技,2008.2 :48-49.LI [16] 聂巍,李晓青.智能火灾报警系统设计[J信息通信,2012.2 :92. [17] 曾小宝,宋锐,基于单片机无线智能防火报警器的设计,中国电子商务,2012(08) 附录1 系统部分程序: #include <reg52.h> #include "eepom52.h" #define uchar unsigned char #define uint unsigned int #include <intrins.h> //数码管段选定义 0 1 2 3 4 5 6 7 8 9 uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码 //数码管位选定义 uchar code smg_we[]={0x7f,0xbf,0xdf,0xef}; //uchar code smg_we[]={0xfe,0xfd,0xfb,0xf7}; uchar dis_smg[8] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8}; uchar smg_i = 3; //显示数码管的个位数 sbit SCL=P3^4; //SCL定义为P1口的第3位脚,连接ADC0832SCL脚 sbit DO=P3^3; //DO定义为P1口的第4位脚,连接ADC0832DO脚 sbit CS=P3^2; //CS定义为P1口的第4位脚,连接ADC0832CS脚 sbit dq = P3^5; //18b20 IO口的定义 sbit beep = P3^6; //蜂鸣器IO口定义 uint temperature,s_temp ; //温度的变量 uchar dengji,s_dengji; //烟物等级 uchar shoudong; //手动报警键 uint huoyan; bit flag_300ms ; uchar key_can; //按键值的变量 uchar menu_1; //菜单设计的变量 bit flag_lj_en; //按键连加使能 bit flag_lj_3_en; //按键连3次连加后使能 加的数就越大了 uchar key_time,flag_value; //用做连加的中间变量 bit key_500ms ; uchar flag_clock; uchar zd_break_en,zd_break_value; //自动退出设置界面 uchar a_a; /***********************小延时函数*****************************/ void delay_uint(uint q) { while(q--); } /******************把数据保存到单片机内部eepom中******************/ void write_eepom() { SectorErase(0x2000); byte_write(0x2000, s_temp); byte_write(0x2001, s_dengji); byte_write(0x2060, a_a); } /******************把数据从单片机内部eepom中读出来*****************/ void read_eepom() { s_temp = byte_read(0x2000); s_dengji = byte_read(0x2001); a_a = byte_read(0x2060); } /**************开机自检eepom初始化*****************/ void init_eepom() { read_eepom(); //先读 if(a_a != 1) //新的单片机初始单片机内问EEPOM { s_temp = 50; s_dengji = 5; a_a = 1; write_eepom(); } } /***********************18b20初始化函数*****************************/ void init_18b20() { bit q; dq = 1; //把总线拿高 delay_uint(1); //15us dq = 0; //给复位脉冲 delay_uint(80); //750us dq = 1; //把总线拿高 等待 delay_uint(10); //110us q = dq; //读取18b20初始化信号 delay_uint(20); //200us dq = 1; //把总线拿高 释放总线 } /*************写18b20内的数据***************/ void write_18b20(uchar dat) { uchar i; for(i=0;i<8;i++) { //写数据是低位开始 dq = 0; //把总线拿低写时间隙开始 dq = dat & 0x01; //向18b20总线写数据了 delay_uint(5); // 60us dq = 1; //释放总线 dat >>= 1; } } /*************读取18b20内的数据***************/ uchar read_18b20() { uchar i,value; for(i=0;i<8;i++) { dq = 0; //把总线拿低读时间隙开始 value >>= 1; //读数据是低位开始 dq = 1; //释放总线 if(dq == 1) //开始读写数据 value |= 0x80; delay_uint(5); //60us 读一个时间隙最少要保持60us的时间 } return value; //返回数据 } /*************读取温度的值 读出来的是小数***************/ uint read_temp() { uint value; uchar low; //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序 init_18b20(); //初始化18b20 write_18b20(0xcc); //跳过64位ROM write_18b20(0x44); //启动一次温度转换命令 delay_uint(50); //500us init_18b20(); //初始化18b20 write_18b20(0xcc); //跳过64位ROM write_18b20(0xbe); //发出读取暂存器命令 EA = 0; low = read_18b20(); //读温度低字节 value = read_18b20(); //读温度高字节 EA = 1; value <<= 8; //把温度的高位左移8位 value |= low; //把读出的温度低位放到value的低八位中 value *= 0.0625; //转换到温度值 return value; //返回读出的温度 } /***********读数模转换数据********************************************************/ // 1 0 0 通道 // 1 1 1 通道 unsigned char ad0832read(bit SGL,bit ODD) { unsigned char i=0,value=0,value1=0; SCL=0; DO=1; CS=0; //开始 SCL=1; //第一个上升沿 SCL=0; DO=SGL; SCL=1; //第二个上升沿 SCL=0; DO=ODD; SCL=1; //第三个上升沿 SCL=0; //第三个下降沿 DO=1; for(i=0;i<8;i++) { SCL=1; SCL=0; //开始从第四个下降沿接收数据 value<<=1; if(DO) value++; } for(i=0;i<8;i++) { //接收校验数据 value1>>=1; if(DO) value1+=0x80; SCL=1; SCL=0; } CS=1; SCL=1; if(value==value1) //与校验数据比较,正确就返回数据,否则返回0 return value; return 0; } /***********************数码显示函数*****************************/ void display() { uchar i; for(i=0;i<smg_i;i++) { P2 = smg_we[i]; //位选 P1 = dis_smg[i]; //段选 delay_1ms(1); P1 = 0xff; //消隐 P2 = 0xff; //位选 } } /****************按键处理数码管显示函数***************/ void key_with() { if(key_can == 4) //紧急报警键 手动报警 { if(menu_1 == 0) shoudong = 1; } if(key_can == 1) //设置键 { menu_1 ++; if(menu_1 >= 3) { menu_1 = 0; } if(menu_1 == 0) { dis_smg[0] = smg_du[temperature % 10]; //取温度的个位数显示 dis_smg[1] = smg_du[temperature / 10 % 10]; //取温度的十位显示 smg_i = 3; } if(menu_1 == 1) { dis_smg[0] = smg_du[s_temp % 10]; //取个位显示 dis_smg[1] = smg_du[s_temp / 10 % 10] ; //取十位显示 dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[10]; //显示A smg_i = 4; } if(menu_1 == 2) { dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[11]; //显示B smg_i = 4; } } if(menu_1 == 0) { if((key_can == 2) || (key_can == 3)) shoudong = 0; //取消手动报警 } if(menu_1 == 1) //设置高温报警 { if(key_can == 2) { if(flag_lj_3_en == 0) s_temp ++ ; //按键按下未松开自动加三次 else s_temp += 10; //按键按下未松开自动加三次之后每次自动加10 if(s_temp > 99) s_temp = 99; dis_smg[0] = smg_du[s_temp % 10]; //取个位显示 dis_smg[1] = smg_du[s_temp / 10 % 10]; //取十位显示 dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[10]; //显示A } if(key_can == 3) { if(flag_lj_3_en == 0) s_temp -- ; //按键按下未松开自动加三次 else s_temp -= 10; //按键按下未松开自动减三次之后每次自动减10 if(s_temp <= 10) s_temp = 10 ; dis_smg[0] = smg_du[s_temp % 10]; //取个位显示 dis_smg[1] = smg_du[s_temp / 10 % 10]; //取十位显示 dis_smg[2] = 0xbf; dis_smg[3] = smg_du[10]; //显示A } } if(menu_1 == 2) //设置低温报警 { if(key_can == 2) { if(flag_lj_3_en == 0) s_dengji ++ ; else s_dengji ++ ; if(s_dengji >= 9) s_dengji = 9; dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf ; dis_smg[3] = smg_du[11]; //显示B } if(key_can == 3) { if(flag_lj_3_en == 0) s_dengji -- ; else s_dengji --; if(s_dengji <= 1) s_dengji = 1; dis_smg[0] = smg_du[s_dengji % 10]; //取个位显示 dis_smg[1] = 0xbf ; dis_smg[2] = 0xbf; dis_smg[3] = smg_du[11]; //显示B } } } /****************独立按键处理函数************************/ void key() { static uchar key_new = 0,key_old = 0,key_value = 0; if(key_new == 0) { //按键松开的时候做松手检测 if((P2 & 0x0f) == 0x0f) key_value ++; else key_value = 0; if(key_value >= 5) { write_eepom(); key_value = 0; key_time = 0; key_new = 1; flag_lj_en = 0; //关闭连加使能 flag_lj_3_en = 0; //关闭3秒后使能 flag_value = 0; //清零 } } else { if((P2 & 0x0f) != 0x0f) key_value ++; //按键按下的时候 else key_value = 0; if(key_value >= 5) { key_value = 0; key_new = 0; flag_lj_en = 1; //连加使能 zd_break_en = 1; //自动退出设置界使能 zd_break_value = 0; //自动退出设置界变量清零 } } key_can = 20; if(key_500ms == 1) { key_500ms = 0; zd_break_en = 1; //自动退出设置界使能 zd_break_value = 0; //自动退出设置界变量清零 key_new = 0; key_old = 1; } if((key_new == 0) && (key_old == 1)) { switch(P2 & 0x0f) { case 0x0e: key_can = 4; break; //得到k1键值 case 0x0d: key_can = 3; break; //得到k2键值 case 0x0b: key_can = 2; break; //得到k3键值 case 0x07: key_can = 1; break; //得到k4键值 } } key_old = key_new; } /****************报警函数***************/ void clock_h_l() { static uchar value; if((dengji >= s_dengji) || (temperature >= s_temp) || (shoudong == 1)) //报警 { value ++; if(value >= 3) { value = 10; beep = ~beep; //蜂鸣器报警 } }else { if((dengji < s_dengji) && (temperature < (s_temp - 1)) && (shoudong == 0)) //取消报警 { value = 0; beep = 1; } } } void main() { static uchar value; temperature = read_temp(); //读取温度值 init_eepom(); //读eepom数据 time_init(); //初始化定时器 delay_1ms(650); while(1) { key(); //独立按键程序 if(key_can < 10) { key_with(); //按键按下要执行的程序 } temperature = read_temp(); //读取温度值 if(flag_300ms == 1) { flag_300ms = 0; clock_h_l(); dengji = ad0832read(1,0); dengji = dengji * 10 / 250; huoyan = ad0832read(1,1); huoyan = 10 - huoyan * 10 / 250; if(menu_1 == 0) { if(temperature >= 99) temperature = 99; if(value > 20) value = 0; if(huoyan < 2) { smg_i = 4; dis_smg[3]=smg_du[dengji]; //显示烟物报警等级 dis_smg[2]= 0xbf; // - dis_smg[1]=smg_du[temperature/10%10]; //十位 dis_smg[0]=smg_du[temperature%10]; //个位 ADC0832为8位ADC,数值为0~255,我们将其分开放入l_tmpdate数组中显示 }else { shoudong = 1; smg_i = 4; dis_smg[3]=0x89; //H; dis_smg[2]=0x89; //H; dis_smg[1]=0x89; //H; dis_smg[0]=0x89; //H; } } if(zd_break_en == 1) //自动退出设置界面程序 { zd_break_value ++; //每300ms加一次 if(zd_break_value > 100) //30秒后自动退出设置界面 { menu_1 = 0; // smg_i = 3; zd_break_en = 0; zd_break_value = 0; } } } display(); //数码管显示函数 } } /*************定时器0中断服务程序***************/ void time0_int() interrupt 1 { static uchar value; TH0 = 0x3c; TL0 = 0xb0; // 50ms value ++; if(value % 6 == 0) { flag_300ms = 1; //300ms value = 0; } if(flag_lj_en == 1) //按下按键使能 { key_time ++; if(key_time >= 10) //500ms { key_time = 0; key_500ms = 1; //500ms flag_value ++; if(flag_value > 3) { flag_value = 10; flag_lj_3_en = 1; //3次后1.5秒连加大些 } } } } 附录2 系统原理图: 附录3 系统PCB图: 附录4 系统实物图: 本科毕业设计(论文)文献综述 学 生 姓 名: 学 号: 二级学院名称: 电子信息学院 专 业:电子科学与技术 指 导 教 师: 职 称: 合作/企业教师: 职 称: 填表日期: 20XX 年 X 月X 日 一、引言 现代化的建筑规模大、标准高、人员密集、设备众多,对防火要求极为严格。随着我国经济建设的发展,各种高层建筑、大中型商业建筑、厂房不断涌现,对消防报警系统提出了更高更严的要求。为了早期发现和通报火灾,防止和减少火灾危害,保护人身和财产安全,保卫社会主义现代化建设,在现代化的工业民用建筑、宾馆、图书馆、科研和商业部门,火灾自动报警系统已成为必不可少的设施。电气工程设计、安装和使用是否正确不仅直接影响到建筑的消防安全而且也直接关系到各种消防设施能否真正发挥作用。因此,火灾报警系统的设计及设备选型显得尤为重要。 以往的火灾报警系统经常会出现总线上的数据冲突、长距离数据传输的不可靠以及不易扩展等问题,随着近年来一些低价格、高性能单片机被广泛应用于各个电路系统,尤其是电路控制等方面,这些问题都得到了一定的改善。 在人们生产过程中或日常生活中,火灾是时有发生的,它会给人们带来巨大的灾害与苦难。因此,正确采取预防火灾的手段是人类与火灾做斗争的重要课题。 火灾自动报警及消防联动系统,作为智能建筑中的一个重要子系统,其重要性是众所周知的。要在智能建筑中创造一个安全舒适的环境,消防安全是其中的一个重要的方面。火灾自动报警及消防联动系统,作为火灾的先期预报、火灾的及时扑灭、保障人身和财产安全,起到了不可替代的作用。火灾自动报警系统是人们为了早期发现火灾,并及时采取有效措施,控制和扑灭火灾,而设置在建筑物中或其他场所的一种自动消防设施,是人类同火灾作斗争的有力工具 [1]。 二、国内外的研究现状 2.1 火灾烟雾报警器的设计与开发及相关器件 近年来森林火灾频现,由火灾造成的人员伤亡也随之增加,因此,在森林防火这一块国内也有专门的火灾报警系统设计。以森林防火为应用背景,设计一个太阳能森林防火报警器[2]。该报警器的电源来自于太阳能电池对蓄电池的储能,不但省去更换电源的麻烦,而且环保、安装也方便。当太阳能电池板对蓄电池进行充电时,该报警器能够对太阳能电池板的输出电压、输出电流进行跟踪,使其以最大功率点(MPP)输出,这样就可以以最快的速度将蓄电池充满。系统以单片机 STC12C4052AD 为主控芯片,并设计DC/DC 变换电路。利用烟雾传感器和温度传感器进行火灾探测,实现高分贝报警功能。该项目可应用于森林地形恶劣,或者电力线难以施工区域 的防火报警,系统成本低廉,具有实用价值和市场商业价值。 太阳能森林防火报警器的电路结构如图1所示。该系统以STC12C4052AD为控制核心,通过 DC/DC变换电路控制10W太阳能板对12V蓄电池的充放电。蓄电池的电压经 LM2576 开关电源电路降压至5 V,对系统进行供电。若烟雾检测模块检测到烟雾,或者温度检测模块检测到环境温度超过设定的阈值时,MCU产生中断,最后进行火灾报警。 图1 太阳能森林防火报警器的电路结构 DC/DC 变换电路采用的是基于 IR2104 的同步buck电路[3],其电路原理图如图2所示。该电路具备 MPPT跟踪功能,首先对太阳能电池板的输出电压和电流进行采样,并计算出功率值,在MCU智能控制下,调节输入给IR2104的PWM 波的占空比,控制MOS管的导通与截止比例,达到控制后级阻抗的目的。当后级阻抗达到最佳阻抗时,太阳能电池板输出的功率为最大功率[4]。 图2:基于 IR2104 的同步buck电路 当发生火灾时,会产生浓厚的烟雾并且周围的环境温度会骤然上升。因此,必须对烟雾浓度和环境温度进行检测,来判断是否发生了火灾。 1) 烟雾检测采用的是 MQ-2气体传感器。当所处环境中存在可燃气体时,烟雾传感器的电导率随空气 中可燃气体浓度的增加而增大。MQ-2 气体传感器具有在较宽的浓度范围内对可燃气体有良好的灵敏度、寿命长、成本低的特点。系统中的MQ-2气体传感器 主要检测的是 CO 气体,当森林火灾发生时,树木的 燃烧不完全,将产生CO气体,CO 气体浓度增加时,MQ-2气体传感器阻值将下降。因此,可以通过电压比较器检测MQ-2气体传感器阻值是否降低到一定阈值来判断是否发生森林火灾[5]。 2) 温度检测采用的是DS18B20 数字温度传感器。它具有一线总线的特点,体积小、抗干扰能力强,精度可达±0.5℃。当深林火灾发生时,系统周围的环境温度上升很快,这时 DS18B20检测到的温度值不断增大,当温度值超过设定的阈值时,通过单片机控制报警[6]。 2.2 火灾烟雾报警器的国内外研究概况 国外从20世纪30年代开始研究及开发烟雾传感器,且发展迅速,一方面是因为人们安全意识增强,对环境安全性和生活舒适性要求提高;另一方面是因为传感器市场增长受到政府安全法规的推动。据有关统计,美国 1996年~2002年烟雾传感器年均增长率27%~30%。随着传感器生产工艺水平逐步提高,传感器日益小型化、集成度不断增大,使得烟雾检测仪器的体积也逐渐变小,提高了烟雾检测仪器的便携性,更加利于生产、运输及市场推广[7]。 欧洲在1988年就把PVC(聚氯乙烯)电缆列入淘汰对象。MICC(无机绝缘铜包层电缆)的使用也正在减少。趋于淘汰。目前使用的替代电缆具有成本低、耐火性能好、无毒性的优点。英国正在对火灾探测系统用的各种电缆的耐火性能进行全面检查,并专门制订了一个新的电缆规范,开发适宜的耐火电缆。另一个趋势是光缆的应用可能会越来越广泛。它的优点是不存在EMC(电磁兼容性)和RFI(射频干扰)的问题,尤其是适于长距离传输,其信号损失的危 险性最小。但目前尚需改进电缆的连接技术,以减少接点信号损失,并要在降低成本上下一番功夫。 近两年,在普遍采用硬连线的同时,无线火灾自动报警传输技术已开始大量涌现,以欧洲发展最快,其频点多选用146、167和182 MHz。主要应用于医院、古建筑和机场、综合建筑、体育场、展览中心、旅馆等规模较大、干扰较小的建筑。以及一些必要设置的临时建筑,它的好处是:便于安装、对建筑的损坏小、经济、便于与原有系统集成且容易扩展。系统设计简单且可完全寻址,便于网络化设计。市场前景非常好[8]。 在报警控制技术上,国内外市场上都以智能型火灾报警控制器为主流。智能型报警系统从结构型式上有三种类型:分散智能型、集中智能型和分布智能型。分散智能型的探测器为智能型探测器.而控制器仅接收探测器传来的信息,不参与火灾判断。系统中控制器为被动,探测器是主动的。集中智能型的探测器实际上只是传感器,仅是将火灾现场探测到的烟雾、温度等火火灾参数进行综合智能处理,判断是否发生火灾。系统的关键在控制器,也称为主机智能型。目前我国的智能系统绝大多数即属于集中智能系统。当建筑规模庞大时,由于探测器和消防设备数目众多,系统主机会出现应用软件复杂庞大、探测器巡检周期过长、火灾监控系统可靠性降低和使用维护不便等缺点。分布智能型实质上是主机智能与探测器智能两者结合.也称全智能系统。即探测器与控制器均为智能型,分别承担不同的职能,具体讲:将对火灾信息的基本处理、环境补偿、探头报脏和故障判断等功能返还给探测器,使控制器能从容实现上级管理功能,如系统巡检、火灾参数算法运算、消防设备监控、联网通信等。提高了系统巡检速度、稳定性和可靠性。 全智能系统在欧、美发展很快.将成为今后发展方向。我国也正在开发基本上属于分布智能型的火灾报警系统。 我国在70年代初期开始研制烟雾报警器,生产型号多样、品种较齐全,应用范围也由单一的炼油系统扩展到几乎所有危险作业环境的各种类型报警器,产品数量也在不断增加。但主要是在引进国外先进的传感器技术和先进的生产工艺基础上,进行研究与开发形成自己的特色。近年来,在烟雾选择性和产品稳定性上也有很大进步。 燃气报警器可分为民用火灾烟雾报警器、工业用烟雾报警器、有毒有害烟雾报警器三大系列产品[9]。 (1) 民用火灾烟雾报警器 民用火灾烟雾报警器为居民家庭用的火灾报警器,一般安装在厨房,遇到火灾产生的烟雾时时,报警器可发出声光报警,或同时伴有数字显示,同时联动外部设备。有的报警器可自动开启排风扇,把烟雾排出室外 (2) 工业用烟雾报警器及有毒有害烟雾报警器 工业用烟雾报警器及有毒有害烟雾报警器只是检测探头有差异,而在原理和应用中都很相近。工业用燃气报警器及有毒烟雾报警器根 据检测环境的不同,也可分为检漏仪、控制器和探测器。 检漏仪的体积较小,可随身携带或手持,主要应用于燃气管理的查漏 与巡检。若有燃气泄漏,检漏仪便会发出声光报警,同时数字显示烟雾浓 度,以便及时采取安全措施,防止爆炸等恶性事故的发生。 控制器与探测器结合使用,可在防爆现场长期监测烟雾的浓度。 探测器安装在防爆现场,控制器壁挂在值班室等有人值守的地方,二者采用屏 蔽电缆线连接。当在现场的探测器探测到燃气泄漏之后,通过屏蔽电缆线将信号传到控制器,控制器发出声光报警,同时启动排风装置或关闭电磁阀切断气源,以确保安全。此种仪器广泛应用于液化气站、汽车加油站、锅炉房等工业场所[10]。 2.3 烟雾火灾报警器的研究现状 近年来全国每年的火灾伤亡人数不低于2000、直接财产损失高达15亿元,其主要原因是火灾报警的不及时、不准确。火灾报警器的研制已成为当今社会的热门话题。但由于监控的火灾特征值较少,传统的基于单一烟雾、温度传感的火灾报警器容易造成误判或失判。为了能监控更多的火灾特征值,使用了烟雾传感器、温度传感器及光强传感器,并利用CAN总线和概率综合模型开发报警器。该报警器的开发应用大大提高了火灾报警的准确性、及时性和灵活性[11]。 2.3.1报警器的硬件设计 报警器的硬件构架如图3所示[12]。该报警器控制核心采用C8051F040,通过片上12 位分辨率的AⅨ:对光强信号、烟雾信号进行采样;通过IO端口对DSl8820进行程控,实现温度信号的采样;可根据所采信息判断火灾等级,并给出警报信号,当火灾等级较高时,可通过控制继电器关断电源;可将信息通过CAN总线传送至PC机平台[13]。 图3 报警器的硬件结构 该报警器针对光强信号、烟雾信号及温度信号分别设计了相应的采样电路及信号调理电路。设计中采用光敏电阻与39K电阻对5V电源分压实现光信号到电压信号的转换,并利用仪表运放与RC低通滤波器对信号进行调理。工作时光敏电阻呈现出负光强度特性,且近似为线性变化关系。烟雾信号采用烟雾传感器MQ一2转换为电信号,并同样利用仪表运放与RC低通滤波器进行调理,MQ一2的灵敏度特性为负线性。温度信号通过单片机程控温度传感器DSl8820进行采集。DSl8820主要特性如下:可实现对一55℃~+125℃范围内的温度测量,并且测量温度的误差在士0.5℃,实际报警器的分辨率可单独设定,并且保存在EEPROM中,即使断电也能够保存;现场温度的测量值通过串行通信的方式传输,即“单线总线”的数字方式传输[14]。 信号调理电路[15]如图4所示。仪表放大电路采用的运算放大器为0P07,该运算放大器具有极低的输入失调电压,极低的失调电压温漂,非常低的输入噪声电压幅度及长期稳定等特点,可广泛应用于稳定积分、精密绝对值电路、比较器及微弱信号的精确放大。RC低通滤波器的一3dB带宽决定,由于所采信号均为低频信号,因此设计中R=10K,C=0.1uF。 图4 信号调理电路 2.3.2报警器的软件设计 程序设计了两个全局状态参数结构体。一个定义了报警器为了满足上述模型的要求,增强报警器的灵活性与适应性,程序设计采取了开放式的设计思想,即程序仅仅嵌入了上述概率模型的基本函数表达式,而函数中的全部代数参量都是开放的,用户可以通过设计者自定义的总线命令进行现场软件设计包括数据采集,装载,控制算法处理,CAN通信,状态显示,外围动作单元响应等。以下简要展示主函数以及定时器中断服务函数。如图5、图6所示: 图5 main () 流程图 图6 定时器中断服务函数流程图 为了满足上述模型的要求,增强报警器的灵活性与适应性,程序设计采取了开放式的设计思想,即程序仅仅嵌入了上述概率模型的基本函数表达式,而函数中的全部代数参量都是开放的,用户可以通过设计者自定义的总线命令进行现场序设计了两个全局状态参数结构体。一个定义了报警器的动作命令以及通用命令,包括设置操控/监控状态(操控优先级高于监控,即程序进入操控状态则报警器只对环境做监测,但对监测结果不响应,而只响应操控命令,要回到监控状态必须先退出操控状态),报警灯开/关状态,报警灯闪烁频率,报警笛开/关状态,报警笛呜叫频率,消防器设备起/停状态,室内电源通/断状态,各路传感器采样频率;另一个定义了概率模型算法参数,包括设置光强度统计分析时间长度丁L,其均值影响概率下限P二,其均值响应下限值睇,其均值影响饱和值E”,另外用一个包含了阈值、饱和值、权重的结构体嵌套,定义了光强信号,烟雾离子信号,温度信号m,程序运行过程中,通过扫描这两个全局状态参数结构体,而做出相应动作,给相应模型计算传递相应参数[15]。以上控制命令及参数设置命令全部包含在设计者自定义的CAN总线控制集中,此外,该控制集还包含一个报警器参数初始化命令[16]。 这些控制命令是利用标准CAN数据帧中的11位标识符以及8个数据字节组成的。报警器对环境的监控结果也是通过CAN总线实时向上位机发送的。监控结果中包括三路传感器检测到的相应环境变量,总的火灾概率值以及报警灯、报警笛、消防设备、室内电源的当前状态。该报警器软件设计适应性强,对所监控的环境没有依赖性,对所使用的传感器依赖较小,也就是说只要监控的环境变量是上述三者,则程序基本无需改写,只需要通过 CAN总线命令根据现场环境、相应传感器型号,设置合适的参数值即可。一般来说,现场环境主要影响三路传感器的权重,因为不同环境布置,火灾产生的信号成分不同;而传感器类型主要影同环境布置,火灾产生的信号成分不同;而传感器类型主要影响模型参数,不同型号的传感器由于响应能力不同,导致对火灾的敏感程度不同。报警器对火灾监控的准确程度,在某种程度上主要取决于这些参数的设置,所以得到可靠的模型参数对报警器的监控是至关重要的[17]。 三、基于STC89C52单片机的烟雾火灾报警器存在的问题 3.1 烟雾火灾报警系统设计存在的问题 如何设计一种火灾检测与报警系统,可以通过气体传感器实时获取可燃气体浓度、温度传感器获得火灾现场温度,并通过LED显示,当浓度或温度超过限定值时则报警。以方便人们更好的掌握安全状况,提高生活质量。这是整个系统设计出现的主要问题也是设计思路,但在设计过程中有一些细节性的问题也需要好好考虑与解决。 火灾烟雾报警系统常见的一些问题及需要解决的,主要有以下几个方面: (1) 如何设置火灾报警器的烟雾浓度报警界限 火灾报警器报警的浓度设置过高报警效果达不到,设置过低,怕检测不到,所以这个标准的把控是一个问题。于是便选择DS18B20作为温度感应器,因为它对温度的检测比较灵敏,各路器件也尽量选择比较灵敏的器件方便达到检测的标准。 (2) 系统的电源供电选择 系统工作采用4节1.5 V干电池共4.5V做电源,经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。 (3) 火灾报警器电路焊接的难易程度把控 焊接的过程仔细一点,容易出错的地方自己多加小心。 (4) 各个模块的连接问题 硬件部分的难点是合理的将各模块部分有机的连接起来。 (5) 控制器的选择 要有丰富的RAM,八位机主要靠扩展,内部RAM一般在4Kbyte以内,更多的RAM得靠外扩,必然加大成本。所以控制芯片最好拥有自带的FLASH和RAM。 四、本课题要解决的问题和所要达到的基本目标 4.1 基本目标 完成基于STC89C52的火灾报警器的设计,最后实现的功能如下: (1)能够感知烟雾的浓度,到达一定的数值之后实现报警功能; (2)能够检测现场的温度,到达一定的数值之后实现报警功能。实现三极管驱动数码管显示当前采集模块烟物浓度和温度值功能。 (3)实现两种报警方式可紧急报警方式和手动取消紧急报警方式。 (4)实现可设置烟雾浓度和高温报警值功能,并在掉电情况下有掉电保存功能。 (5)实现一旦检测到火宅释放的烟雾超过一定数值,即可进行蜂鸣器同步报警功能; (6)实现能够检测到温度的升高,超过设定的报警温度时候,蜂鸣器也将产生报警功能。 4.2 课题难点和解决的方案 难点一:需要完成检测烟雾浓度算法十分复杂,既要考虑火灾报警检测性能,又要考虑感应的灵敏度。 难点二:正确选用单片机和温度感应器以及数码管显示。 难点三:本系统具有较多的模块,需要合理的分配单片机的I/O,不然I/O可能不够,同时在编程上层次可能也较为复杂。 解决方案: (1) 通过互联网和图书馆等资源,努力学习相关的知识,尽可能的做到熟练掌握。 (2) 通过所学的C语言知识,并通过自己查阅资料,学习计算机底层知识,从而掌握相关的知识,并达到能较好的处理。 (3) 做好各个模块的连接工作,并且让程序编程起来思路更加清晰明朗。 五、结语 通过对国内外相关论文的阅读与深入的研究,使我对基于STC89C52单片机火灾烟雾报警器相关的系统设计具有了较深入了理解和认识。本文提出了烟雾火灾报警器目前存在的一些问题后,比如说成本的问题、报警器的发展和研究等问题,对这些做了一些讨论,但还有些问题需要进一步的改进和完善。学习了较多关于STC89C52、火灾报警器、显示等方面的专业知识,对本次的毕业设计全面完整的设计具有很大的帮助,学习各个技术方案的优缺点,学会选择合理材料等模块。对自己今后进一步的学习研究提供了一个良好的思路和途径。 参考文献 [1] 姜波. 浅谈消防报警及联动控制系统的安装调试与维护-工程建设标准化 2014(11) [2] 刘荣.自然能供电技术[M].北京:科学出版社.2000:56-61.[4] 刘庆新, 程树英. 双 buck 太阳能 LED 路灯照明控制系统[J].电子技术应用, 2011, 37(5): 142-145. [3] 张化德. 太阳能光伏电池系统的研究 山东大学 2007 32-34. [4] 振芫祯. 太阳能最大功率追踪器之研究[D]. 大同大学, 2008. [5] 李永生 杨莉玲.半导体气敏元件的选择性研究 [J] 仪表,教育出版社 2010 [6] 赵浪涛;赵永花 DS18820芯片在温度测量系统中的应用-兰州工业高等专科学校学报 2009(4) [7] 冯长江. 基于单片机的智能烟尘测试仪[J]. 电子技术应用,1999,4:19-20. [8] 聂巍 李晓青.智能火灾报警系统设计[J] 信息通信 2012.2 :92.NIE Wei LI Xiao-qing. Design of intelligent fire alarm system[J]. Informotion & Communications 2012 2 :92. [9] 李忠望.一种智能火灾报警系统的设计方案 [ J ] 安防科技 2008 2 :48-49.LI [10] 马场清太郎;何希才 运算放大器应用电路设计 2007 [11] 张毅刚.MCS一51单片机应用设计.1990. [12] 曾小宝,宋锐 基于单片机无线智能防火报警器的设计-中国电子商务 2012(08) [13]温译斌, Wen Yi Bin 西安消防指挥学校 FIRE TECHNIQUE AND PRODUCTS INFORMATION 2002(12) [14] 童诗白 华成英 模拟电子技术基础[M] 北京 高等教育出XIE Wang. Sensors of gas apply and develop direction [J]. 版社 2010Instrumentation Customer 2006 5 :1-2. [15 陈伟.MCS一51系列单片机实用子程序集锦.清华大学出版社.1993. [16] 余成波.传感器与自动检测技术.高等教育出版社.2004. [17] 夏焕雄.孙树文 北京工业大学,机械工程与应用电子技术学院,北京,100124计算机测量与控制 2011,19(2) 指导教师审阅意见: 指导教师(签名) 20XX年 X 月 X 日 本文档由香当网(https://www.xiangdang.net)用户上传

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    文档贡献者

    zhuanyewenku

    贡献于2019-05-13

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档