家庭环境监测系统
——火灾监测系统课程设计实验报告
一 课程设计的目的
本次课程设计的目的有:1 锻炼学生独立进行单片机系统设计的能力,通过
从硬件到软件,从模块采购到整个系统的调试这些过程,让学生能够较为真实的体会到单片机系统的研发设计过程,为今后学生进行更为复杂的系统研发打下一定的基础。2 培养学生从实际生活中发现问题并且解决问题的能力,是学生的思想不再局限于课本的理论,让学生能够真正的去现实生活中去寻找问题,并运用自己学过的知识去解决问题,开阔眼界,为将来走上工作岗位提供必要的知识。 二 课程设计的内容
本次课程设计目的是设计一个家庭火灾报警系统,本方案设计的消防报警和联动控制系统基于51单片机控制的,由多种火灾探测器联合进行检测报警的系统。该系统是生命财产安全的忠实卫士和智能大厦的保卫者,它可以避免由于火灾而造成的巨大经济损失,在火灾初期就可以人为地预防由于火灾造成的一些不必要的损失,使生命财产受到安全的保护。它广泛用于生命安全,紧急信号,防爆防火等各类场所。可保证该系统在未来数年内保持世界领先水平。
一套先进可靠的火灾报警系统可以有效的避免或降低由于火灾而引起的生命财产损失。同时几乎为零的误报率,运行的极其安全稳定,先进的可再生功能也可减少大厦的物业管理工作。本方案即是针对本项目的特点而设计的。 1 火灾报警系统简介 1.1火灾自动报警系统概述
火灾自动报警系统能够在火灾初期,将燃烧产生的烟雾、热量和火焰辐射等
- - -专业资料-
- - -
物理量,通过感温、感烟和感光等火灾探测器变成电信号,传输到火灾报警控制器,并及时发出报警信号。
火灾自动报警系统的组成形式多种多样,它的发展目前可分为三个阶段 1 多线制开关量式火灾探测报警系统。这是第一代产品,目前国内极少数厂家生产外,它基本上已处于被淘汰状态。
2 总线制可寻址开关量式火灾探测报警系统。这是第二代产品,尤其式二总线制开关量式探测报警系统目前正被大量使用。
3 模拟量传输式智能火灾报警系统。这是第三代产品。目前我国已经开始从传统的开关量式火灾探测报警技术,跨入具有先进水平的模拟量式智能火灾探测报警技术的新阶段,它的系统的误报率降低到最低限度,并大幅度地提高了报警的准确度和可靠性。
目前火灾自动报警系统有智能型、全总线型以及综合型等,这些系统不分区域报警系统或集中报警系统,可达到对整个火灾自动报警系统进行监视。但是在目前的实际工程当中传统型的区域报警系统、集中报警系统和控制中心报警系统仍得到较为广泛的应用。火灾自动报警系统的工作原理如下:安装在保护区的探测器不断的向所监视的现场发出巡检信号,监视现场的烟雾浓度、温度等,并不断反馈给报警控制器,控制器将接到的信号与内存的正常整定值比较、判断确定火灾。当发生火灾时候,发出声光报警,显示火灾区域或楼层房号的地址编码,并打印报警时间、地址等。同时向火灾现场发出警铃报警,在火灾发生楼层的上下相邻层或火灾区域的相邻区域也同时发出报警信号,以显示火灾区域。各应急疏散指示灯亮,指明疏散方向。 2 火灾自动报警系统的组成
- - -专业资料-
- - -
火灾自动报警系统是由触发器件、火灾报警装置、火灾警报装置以及具有其它辅助功能的装置组成的火灾报警系统,在火灾自动报警系统中,自动产生火灾报警信号的器件称为触发件,主要指火灾探测器。
2.1火灾探测器
火灾探测器是火灾自动报警系统的传感部分,是组成各种火灾自动报警系统的重要组件,是火灾自动报警系统的“感觉器官”。它能对火灾参数(如烟、温度、火焰辐射、气体浓度等)响应,并自动产生火灾报警信号,或向控制和指示设备发出现场火灾状态信号的装置。火灾探测器是系统中的关键元件,他的稳定性、可靠性和灵敏度等技术指标会受到诸多因素的影响,因此火灾探测器的选择和布置应该严格按照规范进行。
2.1.1火灾探测器的分类
目前火灾探测器的种类很多,按照不同的方式有不同的分类方法。 1 根据监测的火灾特性不同,火灾探测器可分为感烟、感温、感光、复合和可燃气体等五种类型,每个类型又根据其工作原理的不同而分为若干种。
2 根据感应元件的结构不同,可分为:
⑴点型火灾探测器。对警戒范围中某一点周围的火灾参数作出响应。 ⑵线型火灾探测器。对警戒范围中某一线路周围的火灾参数作出响应。 3 根据操作后是否能复位,可分为:
⑴可复位火灾探测器。在产生火灾报警信号的条件不再存在的情况下不需要更换组件即能从报警状态恢复到监视状态。根据复位的方式不同,又可分为以下三种:
①自动复位火灾探测器。能自动地恢复到监视状态。
- - -专业资料-
- - -
②遥控复位火灾探测器。通过遥控操作能恢复到监视状态。 ③手动复位火灾探测器。通过手动调节能恢复到监视状态。
⑵不可复位火灾探测器。在产生火灾报警信号的条件不再存在的情况下,需调换组件才能从报警状态恢复到监视状态或动作后不能恢复到监视状态。
2.1.2 火灾探测器的选择
火灾探测器的选择应符合下列要求:
(1) 对火灾初期有阴燃阶段,产生大量的烟和少量的热,很少或没有火焰辐射的,选用感烟探头;
(2) 对火灾发展迅速,产生大量热、烟和火焰辐射的,选用感烟探头、感温探头、火焰探头或它们的组合;
(3) 对火灾发展迅速,有强烈的火焰辐射和少量烟、热的,选用火焰探头; (4) 对情况复杂或火灾形成特点不可预料的,可进行模拟实验,根据实验选用适宜的探头。
火灾报警控制器是火灾自动报警系统心脏,具有下述功能:
(1) 用来接受火灾信号并启动火灾警报装置。该设备也可用来指示着火部位和记录有关信息。
(2) 能通过火警发送装置启动火灾报警信号或通过自动消防灭火控制装置启动自动灭火设备和消防联动控制器。
(3) 自动地监视系统的正确运行和对特定故障给出声、光报警。 2.2 火灾控制器
火灾报警控制器是火灾自动报警系统心脏,具有下述功能:
(1) 用来接受火灾信号并启动火灾警报装置。该设备也可用来指示着火部位
- - -专业资料-
- - -
和记录有关信息。
(2) 能通过火警发送装置启动火灾报警信号或通过自动消防灭火控制装置启动自动灭火设备和消防联动控制器。
(3) 自动地监视系统的正确运行和对特定故障给出声、光报警。 2.2.1 火灾报警控制器的分类
火灾报警控制器种类繁多,根据不同的方法可分成不同的类别。 (1) 按控制范围可分为:
a 区域火灾报警控制器:直接连接火灾探测器,处理各种报警信息。 b 集中火灾报警控制器:它一般不与火灾探测器相连,而与区域火灾报警控制器相连,处理区域级火灾报警控制器送来的报警信号,常使用在较大型系统中。
c 控制中心火灾报警控制器:它兼有区域,集中两级或火灾报警控制器的特点,即可以作区域级使用,连接控制器;又可以作集中级使用,连接区域火灾报警控制器。
(2) 按结构型式可分为:
a 壁挂式火灾报警控制器:连接的探测器回路相应少些,控制功能简单,区域报警控制器多才用这种型式。
b 台式火灾报警控制器:连接探测器回路数较多,联动控制较复杂,集中式报警器常采用这种方式。
c 框式火灾报警控制器:可实现多回路连接,具有复杂的联动控制。 (3) 按系统布线方式分为:
a 多线制火灾报警控制器:探测器与控制器的连接采用一一对应方式。
- - -专业资料-
- - -
b 总线制火灾报警控制器:控制器与探测器采用总线方式连接,探测器并联或串联在总线上。 三 系统的硬件过程 1 系统的定义
本次课程设计所设计的火灾报警系统采用多种传感器相结合的报警方式,每
个模块都能独立触发报警模式,并根据每个模块检测的种类,以及火灾发生信号的先后顺序,进行分级报警,一定程度上减少了误报的影响。 2 系统的工作过程 系统的框图如下:
具体工作原理如下:单片机控制器不断的查询一氧化碳、火焰、温度传感器的输出引脚,因为火灾在发生之前,会先出现烟雾,之后环境温度会逐渐上升,最终会出现火苗,根据这一特性,对 3火灾探测器的选择
本次课程设计选用了三种火灾探测器,分别是一氧化碳传感器、火焰传感器、
温度传感器,分别将上述三种模块的使用手册介绍如下:
a 一氧化碳传感器 (1)简介
- - -专业资料-
- - -
传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。 MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器 (2)功能特点: 1、具有信号输出指示。
2、双路信号输出(模拟量输出及TTL电平输出)
3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮) 4、模拟量输出0~5V电压,浓度越高电压越高。 5、对一氧化碳具有很高的灵敏度和良好的选择性。 6、具有长期的使用寿命和可靠的稳定性 (3)电路原理图
VCC VCC VCC R3 H A B QM-N10 6 4 R2 5 R1 4 Rp 2 3 U1A 1 C1 LED +5V DOUT AOUT GND VCC P1 1 2 3 4 2 1 3 8
- - -专业资料-
- - -
(3)应用范围
用于家庭、环境的一氧化碳探测装置。适宜于一氧化碳、煤气等的探测。
b 火焰传感器 (1)简介
1 、火焰传感器对火焰最敏感,对普通光也是有反应的,一般用做火焰报警等用途。
2、 小板输出接口可以与单片机IO口直接相连
3、传感器与火焰要保持一定距离,以免高温损坏传感器,对打火机测试火焰距离为80cm,对火焰越大,测试距离越远
4、小板模拟量输出方式和AD转换处理,可以获得更高的精度 (2)功能特点
1、 可以检测火焰或者波长在760纳米~1100纳米范围内的光源,打火机测试火焰距离为80cm,对火焰越大,测试距离越远。 2、 探测角度60度左右,对火焰光谱特别灵敏。 3 、灵敏度可调(图中蓝色数字电位器调节)。
4、比较器输出,信号干净,波形好,驱动能力强,超过15mA。 5、配可调精密电位器调节灵敏度。 6、工作电压3.3V-5V。
7、输出形式 :数字开关量输出(0和1)。
8、设有固定螺栓孔,方便安装。9、使用宽电压LM393比较器。 (3)电路原理图
- - -专业资料-
- - -
c 温度传感器 (1) 简介
1、 温度传感器核心温度采集芯片为DS18B20。DS18B20数字温度传感器提 供9位温度读数,指示器件温度。.信息经过单线接口送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需链连接一条线。读、写和完成温度转换所需的电源可以由数据线本身提供,而不需要外部电源。 (2)功能特点
1、 独特的单线接口,只需要一个接口引脚即可通信。 2、 多点能力使分布式温度检测应用得以简化 3、 不需要外部元件
4、 测量范围从-55℃至+125℃,增量值为0.5℃. 5、 以九位数字值的方式读出温度 6、 在1秒内把温度变换为数字
7、 用户可定义的,非易失性的温度告警设置
8、 应用范围包括恒温控制,工业系统,消费类产品或任何热敏系统
- - -专业资料-
- - -
(3)电路原理图
(4)适用范围
HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制的温度检测。 4 报警控制器
报警控制器是一个以51单片机为核心的小型逻辑控制系统,报警控制器是火灾报警系统的核心,其内部的运行方式制约着整个系统的性能。
本系统的报警控制器设置为分级报警模式。根据火灾发生的一般规律,在火灾发生的初期,因为可燃物的不完全燃烧会不可避免的产生一定量的一氧化碳,之后环境温度会升高,当温度达到一定值的时候,会产生明火,进而引发剧烈的燃烧。根据火灾的这一特点,当一氧化碳探测器检测到环境中的一氧化碳浓度升高并超过某一阈值的时候,报警控制器给出三级报警信号,提示当前环境中有可能发生火灾;当温度传感器检测到环境温度升高并且超过某一阈值的时候,报警控制器给出二级报警信号,提示当前环境中很可能要发生火灾;当火焰传感器检
- - -专业资料-
- - -
测到环境中出现明火的时候,报警控制器给出一级报警信号,提示当前环境中已经发生火灾,并采取相关措施进行处理。 四 系统的软件工作过程
1 火灾报警系统的软件工作流程如下:
系统初始化 上电复位
N 是否有火焰报警信号 是否有一氧化碳报警信号 延时处理 是否有一氧化碳报警信号 是否有温度报警信号 Y N 延时处理 Y N Y N 延时处理 - - -专业资料-
Y 检测到报警信号,声光报警 - - -
以上为整个火灾报警系统的控制工作过程,在对系统供电之后,系统在短时间内进行对于火灾探测器以及火灾报警控制器的初始化,之后系统开始不断轮询监视各个火灾探测器引脚的输出状态,当检测到一氧化碳探测器发出一氧化碳浓度告警信号的时候,火灾报警控制器点亮三级火警指示灯;当检测到温度探测器发出温度告警信号时,火灾报警控制器点亮二级火警控制灯;当检测到火焰探测器发出火焰报警信号的时候,火灾报警控制器点亮一级火警控制灯,同时警铃大作,在短时间内迅速做出处置措施。 2 火灾报警控制系统的代码实现
a 单片机AD转换代码
由于一氧化碳传感器会输出一个与外界一氧化碳浓度成正比的电压值,为了
将一氧化碳的浓度转换成数字量显示出来,需要对接收的模拟量进行AD转换,以下代码能够利用单片机自带的AD转换器资源,实现将输入的模拟电平转黄成
- - -专业资料-
- - -
数字量的功能。 void MQ7_Init() { }
uint Get_Result() {
uchar i=0; uint sum=0; uint result=0; for(i=0;i<10;i++){
ADC_RES=0; ADC_RESL=0;
ADC_CONTR+=0x08;//start while(!(ADC_CONTR&0x10));
ADC_CONTR&=0xe7;//清零start和flag result=ADC_RES;
P1M0|=0x01; //设P1_0为开漏模式 如: P1_0= #00000000B P1M1|=0x01;
ADC_CONTR|=0x80; //开电源 Delay(5);
ADC_CONTR=0xe1; Delay(2);
//设置P1.1为输入AD转换口 ,未启动开始转换
- - -专业资料-
- - -
} }
sum+=result;
result=sum/10; return result;
b LCD1602驱动程序
由于此次设计的火灾报警系统要求实时在显示器上显示一氧化碳浓度、环境
温度等渐变型的物理量,因此需要不断的读取相关探测器输出的值并实时的进行显示,方便人们对环境的状况进行评估。本系统用LCD1602模拟显示设备,以下代码为LCD1602的驱动程序 void WriteCommand(uchar WCLCD) { }
void WriteData(uchar WDLCD) {
LCD_RS=0; LCD_E=0; delayms(2); LCD_Data=WCLCD; LCD_E=1; delayms(2); LCD_E=0;
- - -专业资料-
- - -
}
LCD_RS=1; LCD_E=0; LCD_Data=WDLCD; delayms(2); LCD_E=1; delayms(2); LCD_E=0;
void LCD_Init() { }
void LCD_Show(uchar addr,uchar dat) {
WriteCommand(addr);
RW=0;
WriteCommand(0x38); WriteCommand(0x08); WriteCommand(0x0c); WriteCommand(0x06); WriteCommand(0x01); delayms(500);
- - -专业资料-
- - -
}
WriteData(dat);
c 火灾报警系统主程序
主程序的设计直接决定了整个火灾报警系统的工作方式,具体实现代码如
下: void main() {
float result=0.0;
uchar wendu_z=0,wendu_x=0; Serial_Init(); MQ7_Init(); LCD_Init(); while(1){
}
else led1=1;
result=(Get_Result()/256.0)*5.0;
LCD_Show(0x80+5,(uchar)(result/1.000)%10+0x30);
if(DOUT==0){ delayms(50); if(DOUT==0){ }
led1=0;
- - -专业资料-
- - -
LCD_Show(0x80+6,'.');
LCD_Show(0x80+7,(uchar)(result/0.100)%10+0x30); LCD_Show(0x80+8,(uchar)(result/0.010)%10+0x30);
LCD_Show(0x80+9,(uchar)((result-0.001)/0.001)%10+0x30); Show_18b20();
GetWendu(&wendu_z,&wendu_x); if(wendu_z>25){ }
else led2=1;
led2=0;
if(fire_in)beep=1; else beep=0; };
五 课程设计的心得
通过本次课程设计,我有了很深的心得体会。
在过去的大学三年中,这次课程设计是我第一次完完全全的独立完成的实践
训练,虽然内容并不是很复杂,但让我体会到了一个完整的过程,的确是一次非常宝贵的经历。在以往的大学学习生活中,学的东西虽然多,但绝大部分都是理论知识,感觉脑袋里学了不少东西,但却不能再实际中使用出来,实践能力的缺乏,实在是我再即将结束的大学生涯中的一个短板。
这次课程设计安排在大四第一学期最后的四周,时间上也是非常的巧妙。即
将毕业的在校大学生,我有时间和精力去专心的做这四周的课程设计,也使我有
- - -专业资料-
- - -
机会来发现自身存在的各种不足。如果没有这四周的课程设计,下学期我可能就要面临找工作,、做毕业设计等一系列的重大事情。所谓“亡羊补牢,为时不晚”,通过这个过程,我发现了自己的问题,当然也就要进自己最大的努力来强化自己弱的方面,虽然大学的宝贵时光已经所剩无几,但我还有寒暑假,还有今后研究生的学习时间,只要发现了问题,我就相信自己一定能够把问题弥补好,以一个更好的姿态去迎接将来的毕业设计、研究生阶段的学习以及步入社会进行就业。
通过这次课程设计,我也深深的体会到,凡事只有亲身经历了之后才能真正
体会到其中的苦与乐。由于之前参加过生产实习,做过一些单片机方面的变成训练,在这次课程设计之初,曾经觉得这项任务会十分的简单,不会有多少难度。不过当我们真正的着手去做这件事情的时候,就发现其实这样看似简单的事情里面也隐藏了许多的小问题。从最开始的从网上挑选模块开始,就遇到了很多问题。因为是第一次从网上买电子模块,大家都不知道该如何判断模块的质量,也不清楚都应该向商家索要哪些配套资料,折腾了一个晚上才把模块买了下来。模块到手之后又开始四处搜集相关资料,来了解模块的使用方法。准备了一段时间后,开始了程序的设计,毕竟刚刚经过生产实习的培训,在程序设计阶段并没有遇到太大的问题,之后经过一段时间的调试,顺利的通过了老师的验收。
通过这次课程设计,我还深深的体会到了技术的重要性。这次课程设计所用
到的模块都是从网上买的,厂家在制作模块的过程中,已经将模块的功能进行了高度的集成化,对于一般的用户来说,可能会觉得这样使用起来会很方便。但作为一个电子通信工程专业的学生,总是有点不太习惯这种“傻瓜”式的用法,按道理说,我们应该完全有能力去自己设计这样的功能模块,而不是简单地用一下别人做好的东西。也正是因为现在的我们缺乏这种自己动手操作的能力,我们只
- - -专业资料-
- - -
能去用一下别人做的东西,而没法真正的自己创造。因此在今后的学习生涯中,我要在理论学习的过程中兼顾自己实践能力的锻炼,能够实实在在的运用自己的专业知识创造出有价值的东西。
- - -专业资料-
因篇幅问题不能全部显示,请点此查看更多更全内容