摘 要
由于现在家庭用火和用电都比较多,所以出现火情的频率也比较高。火灾因其可怕的破坏程度使每一个经历过
火灾的人在内心留下了难以忘记却又不愿回想起的恐惧。我们的身边电子产品随处可见,这让人在感慨科技进步的
同时也时时刻刻都面临用电不当引起火灾发生的危险。与此同时,能源技术越来越先进,天然气能源输送管道越来
越完善,这也让人们在日常生活中时刻警惕天然气泄露的发生。因此我们必须不断完善火灾监控机制,优化火灾自
动报警系统,将火灾遏制在萌芽状态以减少人员伤亡和财产损失。
本设计采用STC89C52单片机作为主控装置,火灾报警器的数据采集元件采用DS18B20温度传感器、MQ-2烟雾传感
器,配合声光报警电路、风扇和水泵,模拟火灾报警及排烟洒水。采集温度、浓度数据后显示在LCD显示屏上。当
浓度异常时,声光报警并启动风扇排烟;当温度、浓度同时发生异常,声光报警并启动风扇和水泵进行排烟、洒
水。
“关键词”:单片机;气体传感器;温度传感器;声光报警;智能控制
第一章 绪论
1.1 课题的研究背景
火灾是对人类生命财产和社会安全造成威胁的一种灾难。由它引起的各种事故有很多,因此,对此进行的深入
研究就没有停止过。
火灾是目前最普遍、最具破坏性和最严重的一种,其后果也是最严重的。随着经济的迅速发展,高层建筑、地
下建筑以及大型购物中心的增多,火灾风险日益增大,火灾事故发生的次数和所带来的经济损失每年都在增长,同
时,存在的消防安全问题也日益突出。
在以往的一些时间里,对火灾发生的过程进行了专门的探讨,并且得到了比较完善的结论。火灾的产生和发展
是一个与周围环境密切相关的物理、化学作用,是更为复杂的过程。通常来说,当起火的时候,会有浓烟,会有高
温,光线。在各种情况下,不同的燃烧成份,烟气颗粒的组成、温度、光谱和气体成份均有差异,火灾发生过程
中,许多物理、化学参数发生了变化,其特性十分强烈,与一般的骚乱在本质上不同。基于以上特点,早时的火灾
探测技术诞生了,感烟火灾探测器,感温火灾探测器,感烟火灾探测器等在火灾探测领域被应用了。
在我国,工业建筑和民用建设在经济发展、生活水平提高的情况下,出现火灾的概率也越来越大。再加上在现
代化的建筑物中广泛使用了塑胶、玻璃等产品,使火灾现场及周边地区的救援工作变得举步维艰。尤其在各类的公
共场合,如:美术馆、大图书馆、酒店、综合购物中心、办公大楼等,对报警系统的需求也越来越高。火灾一旦出
现,很难得到及时的救助,给社会和人民带来的经济和社会的巨大影响。
因此,消防自动警报是防止火灾发生的有力措施,是一种在火灾初期的早期预警。
1.2课题的研究目的与意义
目的:在当代家庭中,使用火和电的数量日益增加,家庭中的火灾事故也日益频发。在住宅中,容易出现灭火
不力等不良影响,缺少灭火设备,仓促间仓促的逃亡,导致大量人员伤亡和财产的巨大伤亡。根据统计,在全部大
火中,国内30%的大火是由家用引起的。家中着火的因素很多,也许是我们平常所留意到的,也许是我们平常没有留
意到的。
总结起来,许多人由于缺乏对家庭安全知识的理解而引发的意外事件,使得本来美好的家庭顷刻间化为乌有,
有些人更是因此而丧命。事故处理不力、报警滞后是导致事故发生的主要原因。因此,大家应当主动地了解家庭失
火的根源,同时也要预防。这也是我们为什么要做声光警报。
意义:我国的一些大、中型城市,每天都会发生一些家庭的火灾,所以要做到家家户户都要时刻注意消防安
全。假如能够及早地进行防火防范,就可以防止某些灾难的出现。因此,在减少火灾的发生中,采用声光报警器是
非常有实用价值的。
我国和全社会都认识到了消防安全和消防报警的重要性,经过对最近几年出现的火灾事故的住宅进行调查,大多都没有安装报警装置。因此,在消防事故中,声、光等警报是非常重要的。
1.3 火灾报警器的发展与现状
国外近几年开发了无线火灾报警系统,并朝着实用性的方向发展。再开始,火灾报警系统价格不但不便宜,还
必须连接线路,而现在,通过无线遥控就能改变的几乎全部的电器装置,在各种建筑和场所都能得到广泛应用。成
立于1981年的美国最大的无线电警报设备生产商美国松柏公司,其在北美地区的销售量高达一亿美金。该公司的无
线防火警报设备已在中国的全国防火设备检测机构检测。
中国的消防预警与国外的消防预警系统相比起步比较迟,70年代末才刚刚开始研制。80年代以后,因为刚刚起
步,还没有掌握到什么关键技术,所以大部分都是靠模仿。或是引进外国技术。在中国的改革和对外开放之后,国
外企业也逐步地涉足中国的消防行业,并带来了一些新的技术。中国的消防设备制造公司也在迅速发展,在这些公
司当中,有些公司是互相协作和发展的。而且还打出了很好的效果。而今天,中国的防火企业有很多已经做大做
强,技术也已与国际接轨或追赶国际标准。
1.4 课题的研究内容
本设计的硬件主要由 5个部分。这五个部分为单片机最小系统、数据采集电路、显示电路、声光报警电路、风
扇和水泵的继电器驱动电路。软件上实现的功能为:传感器采集到温度、浓度数据后,显示电路显示采集数据,单
片机将采集的数据与阈值进行逻辑判断,然后单片机根据判断结果控制声光报警电路报警,风扇、水泵继电器驱动
电路根据控制程序做出相应响应,模拟排烟、洒水功能。
本设计采用 STC89C52 单片机作为主控电路,完成以下几方面工作:
(1)基于单片机的火灾报警方案设计;
(2)数据采集、声光报警等硬件电路与单片机的接口电路设计;
(3)各元器件与单片机的接口电路的连接;
(4)软件程序模块化设计;
(5)软件与硬件对接调试。
第二章 火灾报警器的总体方案设计
2.1 设计目的
(1)了解火灾报警器的工作原理和系统控制方式;
(2)理解、掌握STC89C52单片机的工作原理,了解单片机最小系统的组成及工作方式,学习并掌握52单片机、
ADC0809的各个接口的功能,单片机与元件的接口技术;
(3)LCD1602的工作原理及使用方法;
(4)温度及烟雾传感器的工作原理;
(5)学习Proteus 8.0软件进行硬件电路仿真的方式;
(6)熟练掌握使用Keil C51编程软件的使用,学习掌握C语言程序的编写,在设计过程中学习掌握程序的模块
化设计;
(7)熟练掌握电子元件的焊接技术。
2.2 设计方案
本设计为采用STC89C52单片机做为中控电路,应用温度传感器、气体浓度传感器、声光报警电路、LCD602液晶
显示屏、风扇、水泵等元器件;使用C语言作为程序语言进行编写设计;经Proteus 8.0软件进行硬件仿真后,将元
器件插装在万用板上进行硬件电路的布局与焊接;最后将编写完成的程序烧录到控制芯片中,进行整体调试使整体
系统可以进行正常工作,确认采集数据准确,显示、报警等功能可正常运行,完成整体系统的设计。本设计整体结
构如图2.1所示
图2.1整体结构框图
在实际情况中,室内火灾会经历初起、充分发展和衰减三个阶段,因此火灾报警器就需要具备及时发现火灾初
起阶段的特点,及时检测到温度变化和可燃气体浓度的变化,由此设计整体系统可实现以下功能:
1.液晶屏幕实时显示浓度和温度;
2.应用按键方式设定浓度与温度的阈值;
3.浓度异常时,黄色指示灯灯亮,蜂鸣器响,启动风扇;
4.温度异常时,红色指示灯灯亮,蜂鸣器响。温度、浓度同时超限时,启动水泵。
经过了解上述内容后可以基本确定系统的技术要求。设计中采用的单片机成本较低,可以满足批量生产需求。
设计中为降低生产升本和能源消耗,这个系统应符合体积小、功耗低、数传性能可靠和成本低廉等技术要求。具体
如下:
(1)体积小:探测器的体积要尽可能的小,这样占用的空间才能减少,便于使用和原件更换
(2)功耗低:系统可以采用外部5v电源供电。
(3)可靠性高:由于不确定的干扰源可能存在与实际工作环境中,为了保证系统工作的可靠性、使用寿命及减少
误报次数,因此选择两个指示灯,指示不同的报警状态。
2.3 硬件选择
根据设计需要对硬件电路的元器件进行选择:
(1)中控模块的选择
中控芯片选用STC89C52单片机,选择理由为:成本低廉、功耗低、稳定性强、结构简单、应用广泛、I/O接口数
量多便于外接电路设计。
(2)温度采集模块的选择
温度采集选用DS18B20温度传感器,该传感器测量范围宽,精度系数高、供电灵活且不需要计入外围元件即可使
用。
(3)烟雾采集模块的选择
温度采集选用MQ-2气体传感器,该传感器具备高灵敏度、快速响应恢复、工作稳定、寿命长、驱动电路简单等
特点,同时其对于烷类气体较敏感,在运行时便于可燃气体浓度升高的模拟。
(4)A/D转换芯片的选择
设计中选用ADC0809转换芯片,其具有8路输入输出通道,虽然本设计中只使用了一个气体传感器,造成了一定
的浪费,但是便于后续扩展数据采集模块的数量及种类。
(5)声光报警模块的选择
设计中需要同时显示设定阈值和实时数据,因此显示模块选用LCD1602液晶显示屏,电路连接中占用I/O接口数量较
少,连接方便。
(6)声光报警模块的选择
声光报警选用蜂鸣器和LED灯,这两种元器件的能耗低,电路连接方便,报警效果明显。
(7)电源的选择
为降低系统的功耗,所以选用外部5V电源为整体系统供电,同时由于需要驱动风扇和水泵模拟联动消防设备,
所以给水泵接入一个外接电源供电,减小系统供电负担。
第三章 系统硬件设计
3.1 控制电路
3.1.1 单片机介绍
在本设计中,采用单片机作为主控电路。单片机需要接收采集的温度、浓度数据,然后判断是否超出预设阈
值,最后根据判断结果控制声光报警电路,风扇、水泵继电器驱动电路作出相应响应。单片机进行信号处理时,一
边要接收采集的数据,一边要将数据与预定阈值对比做出判断,同时要将温度、浓度数据显示在LCD1602上,这就要
求单片机具备快速的运算速度,更可以精准判断数据值,再根据判断结果控制电路做出相应响应,并且还要考虑单
片机的成本、稳定性等多个方面。根据综合对比,本设计决定采用STC89C52单片机作为控制核心。STC89C52在
STC89C51的基础上做了一些改进,扩展了ROM和RAM的容量,增加了两个中断源可以处理更多的中断事件[1]。而且52
单片机在调试程序时可以在允许次数内反复擦除写入的程序,满足了设计过程中的系统调试的需求。STC89C52主要
功能[2]如表3.1所示,其引脚图如图3.1所示。
表3.1 STC89C52主要功能
主要功能特性
兼容MCS51指令系统 8K可反复擦写Flash ROM
32个双向I/O口 256x8bit内部RAM
3个16位可编程定时/计数器 时钟频率0-24MHz
2个串行中断 可编程UART串行通道
2个外部中断源 共8个中断源
2个读写中断 3级加密位
低功耗空闲和掉电模式 软件设置睡眠和唤醒功能
图3.1 STC89C52引脚图
3.1.2 单片机引脚功能
VCC(40引脚):电源电压
VSS(20引脚):接地
P0端口(39~32引脚)是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口
P0写入“1”时,可以作为高阻抗输入。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令
字节。验证时,要求外接上拉电阻。
P1端口(1~8引脚)是一个带内部上拉电阻的8位双向I/O口。其输出缓冲器可驱动4个TTL输入。输入1时,通过
内部的上拉电阻把端口拉到高电位,用作输入口。此外,P1.0和P1.1还可作为定时/计数器2的外部输入和定时/计数
器2的触发输入,具体参见表3.2:
表3.2 P1.0和P1.1引脚复用功能
引脚号 功能特性
P1.0 T2,时钟输出
P1.1 T2EX(捕获/重装触发和方向控制)
P2端口(21~28引脚)是一个带内部上拉电阻的8位双向I/O端口。其输出缓冲器可以驱动4个TTL输入。输入1时,通
过内部的上拉电阻把端口拉到高电平,用作输入口。
P3端口(10~17引脚)一个带内部上拉电阻的8位双向I/O端口。其输出缓冲器可驱动4个TTL输入。输入1时,通
过内部的上拉电阻把端口拉到高电位,用作输入口。
P3口除作为一般I/O口外,还有其他一些复用功能,如表3.3所示:
表3.3 P3口引脚复用功能
引脚号 复用功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 外部中断0
P3.3 外部中断1
P3.4 T0(定时器0的外部输入)
P3.5 T1(定时器1的外部输入)
P3.6 外部数据存储器写选通
P3.7 外部数据存储器读选通
RST(9引脚):复位输入。默认状态下,复位高电平有效。
ALE/(30引脚):地址锁存控制信号
(29引脚):外部程序存储器选通信号
/VPP(31引脚):访问外部程序存储器控制信号。
XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):振荡器反相放大器的输入端。
3.1.3 单片机最小系统
系统中的主控电路是由单片机最小系统构建而成的。利用单片机连接一个由无极性电容和12MHz晶振组成的晶振电
路、一个由电解电容和按键组成的复位电路,组成一个利用最少元件使单片机工作的系统[3]。最小系统仿真如图3.
2所示。
图3.2 单片机最小系统图
3.2 温度采集电路
3.2.1 DS18B20概述
(1)DS18B20的特点主要为温度测量范围宽、精度系数高、可配置参数、带有掉电保护。另外运行时不需接入
外围元件、可灵活供电。
(2)DS18B20有64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器四个部分[4],DS18B20的外形
(3)本设计使用外部直流电源进行供电。直流电源供电可以确保不易受到外界干扰,稳定的性能以及简单的电
路连接。
温度采集电路仿真如图3.4所示。
图3.4 温度采集电路
3.3 烟雾探测电路
3.3.1 MQ-2气体传感器介绍
本次设计采用的MQ-2型气体传感器。内部结构是一个气敏电阻和一个分压电阻,工作原理为:当气体传感器检
测到空气中烟雾粒子浓度升高时,传感器自身电阻阻值降低,电阻分压降低,输出端输出的电压信号升高。MQ-2气
体传感器外形结构如图3.5所示。选用MQ-2气体传感器便于在调试及后续过程中模拟可燃气体泄漏。MQ-2传感器对烷
类气体有较高灵敏度[5],因此使用一次性打火机内的液态丁烷就可以模拟可燃气体泄露的状况。MQ-2良好的工作稳
定性和抗干扰能力也有助于实验误差的减小。
图3.5 MQ-2外形结构图
从图3.6MQ-2灵敏度特性曲线可以看出MQ-2传感器电压与浓度呈线性关系,
如图3.7所示,在烟雾探测电路中,主要分为烟雾传感器和A/D转换芯片两部分,烟雾传感器探测到可燃气体烟
雾后输出电压信号,电压信号经A/D转换芯片转换为数字量信号,输送给单片机系统程序进行判断。
3.3.2 ADC0809介绍
A/D转换芯片选用ADC0809,其内部有8个输入通道可供实验选择,可以对转换进行控制,能更好的进行数据采集
工作,但8个通道只能一个一个的进行数据采集。0809进行数据转换速度极快,仅需100μs;采用5V电源供电,功耗
很小。
ADC0809由8路模拟开关、地址锁存与译码器、A/D转换器、逐次逼近寄存器、三态输出锁存器等电路组成[6]。
下面为ADC0809的内部特性。ADC0809有28条引脚,0809内部结构如图3.8所示。
图3.8 ADC0809内部结构图
图中多路开关可选通8个模拟通道;地址锁存与译码电路完成对A、B、C3个地址为的锁存与译码,译码用于通道
选择,表3.4位通道选择表。
表3.4 通道选择表
C B A 被选择的通道
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
下面为ADC0809各引脚功能说明:
IN0~IN7:模拟量输入通道。
2.1~2.8:数字量输出通道。
A、B、C:3位地址线。
ALE:地址锁存允许信号。对应ALE上升沿,三个地址线地址状态输入锁存器。
START:转换启动信号。输入一个至少100ns宽的正脉冲。
EOC:转换结束信号,EOC=1时转换结束。
OE:输出允许信号,高电平有效。控制三态门向单片机输出。
CLK:时钟信号。
VCC:+5V电源端。
GND:接地端。
ADC0809有三种数据传输方式:定时传送方式、查询方式、中断方式。
3.4 液晶显示电路
设计要求使用数码管作为显示模块。数码管一般用于显示数字、字母。使用数码管会占用较多CPU的I/O口,增
加单片机的工作负担。另外I/O电流小需外接驱动电路。这些都会增加电路焊接的难度,进而增加焊接的错误率。
由于上述原因,本设计最后选用的是LCD1602液晶显示屏。LCD1602的构造为:LCD、控制驱动主电路、HD44780
及其扩展驱动电路HD44100、少量电阻、电容和结构件。一般为了节省生产成本,都会将裸片集成到PCB板上。字符
型液晶屏是一种点阵式结构的显示屏,常用规格有16x1、16x2、20x2、40x2等模块[7],本设计只需显示设定阈值和
采集的温度、浓度数据,所以采用16x2规格LCD1602即可以满足设计需求。
下表为LCD1602引脚功能:
表3.2 LCD1602引脚功能表
编号 符号 引脚说明 标号 符号 引脚说明
1 VSS 电源地 9 D2| 数据
2 VDD 电源正极 10 D3 数据
3 VL 液晶显示偏压 11 D4 数据
4 RS 数据/命令选择 12 D5 数据
5 R/W 读/写选择 13 D6 数据
6 E 使能信号 14 D7 数据
7 D0 数据 15 BLA 背光源正极
8 D1 数据 16 BLK 背光源负极
根据上表内容着重介绍下列引脚功能:
引脚3为屏幕对比度调整端,通过接入的10kΩ电位器调整显示屏的对比度,调整屏幕对比度时注意不宜太高,
否则会出现“鬼影”现象。
引脚4为RS寄存器选择端,RS=1时会选择数据寄存器,RS=0时会选择指令寄存器。
引脚5为R/W读/写信号线,当RW=1时LCD进行读操作,RW=0时LCD进行写操作。RS=0、R/W=0,对LCD写入指令或显
示地址;RS=0、RW=1,LCD读忙信号操作;RS=1、RW=0,LCD写数据操作。
引脚6为使能端,当E=1变成E=0,LCD执行使能指令。
LCD1602内部控制器共11条控制指令, LCD1602的控制指令如下表。
表3.3 LCD1602控制指令表
序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1 清屏 0 0 0 0 0 0 0 0 0 1
2 光标复位 0 0 0 0 0 0 0 0 1 x
13
3 输入方式设置 0 0 0 0 0 0 0 1 I/D S
4 显示开关控制 0 0 0 0 0 0 1 D C B
5 光标或字符移位控制 0 0 0 0 0 1 S/C R/L x x
6 功能设置 0 0 0 0 1 DL N F x x
7 字符发生存储器地址设置 0 0 0 1 存储器地址
8 数据存储器地址设置 0 0 1 数据存储器地址
9 读忙标志或地址 0 1 BF 计数器地址
10 写数据 1 0 写数据内容
11 读数据 1 1 读数据内容
由于LCD1602液晶显示屏16个引脚内都串联了上拉电阻来保护电路,所以在仿真中,进行LCD仿真时在与单片机连接
端口的同时,还要串联上拉电阻。
3.5 声光报警提示电路
3.5.1 灯光报警电路
本设计的灯光报警使用颜色的灯来表示温度、烟雾浓度超出预定阈值时的报警状态,
同时此系统主要是模拟火灾发生时的报警状态,起指示作用即可,因此选用指示作用明显、使用寿命长、功耗小的
LED发光二极管构成系统的灯光电路指示两种数据的报警状态。
3.5.2 声音报警电路
设计中选用应用广泛的蜂鸣器构成系统的声音报警电路。蜂鸣器采用一体化结构设计。特点是适用电压范围
宽、供电方便,硬件便于连接。
蜂鸣器有直流电源、方波两种输入驱动方式,种类有压电式、磁电式两种。
在声音报警电路仿真中,使用PNP型三极管控制蜂鸣器回路的通断[8]。同时要接入一个限流电阻保护蜂鸣器电
路。
3.6 继电器驱动接口电路
电磁继电器一般由铁芯、线圈、衔铁、簧片等构成。其工作原理:电流通过线圈时,线圈生成电磁场。同时衔
铁受电磁力吸引,克服弹簧的拉力向铁芯方向发生位移,带动衔铁上的触点与常开触点闭合[9]。当切断电源后,线
圈中无电流,衔铁受到的磁力消失,在弹簧拉力作用下断开动触点与常开触点的连接。在系统运行时控制继电器的
通断即可控制控制风扇和水泵的启停状态。
系统仿真中继电器驱动电路由限流电阻、PNP型三极管、继电器、风扇或水泵组成。
图3.13 继电器驱动电路图
3.7 整体硬件设计
在硬件电路仿真设计中,采用Proteus 8.0 Professional仿真软件。Proteus是英国Labcenter公司嵌入式系统
仿真开发平台,Proteus 8.0主要由两个设计系统和3D浏览器构成[10]。利用此仿真软件对硬件电路进行仿真设计,
通过软件中的元件库找出各元器件的实际元件模型和理想元件模型,来搭建整体电路结构。最后结合理想化仿真与
实际硬件对整体系统硬件进行搭建和元器件的焊接。
设计中利用ISIS.EXE(电路原理图设计系统)对单片机最小系统、数据采集电路、声光报警电路、继电器驱动电路
进行了仿真连接,同时还添加了三个独立按键来设置温度、浓度的阈值。按键功能为:
设置键:按下后进入设置模式,之后继续按下则进行设置的参数选择。设置完成后再按一次按键,退出设置模式;
加按键:在进入设置模式后,按一次阈值加一;
减按键:在进入设置模式后,按一次阈值减一。
硬件仿真电路如图3.14所示。
图3.14 硬件仿真电路原理图
本设计中起初设想采用模块连接进行硬件设计,后期增加了风扇、水泵继电器电路,一次改进为硬件焊接设
计。电路中元件焊接是按照图3.13硬件仿真电路原理图进行的。接下来介绍一些在设计中应用到的焊接知识。
目前电子元件焊接有通孔插装技术(THT)和表面组装技术(SMT)两种。本设计中采用THT手工焊接方式将各电
子元件焊接到万用板上。
焊接工具使用:
THT焊接是利用焊剂加热后融化充当“胶水”将元件与万用板插孔粘在一起的,焊剂在加热过程中会会发出有害
气体,因此在焊接时应该保证烙铁距离面部不少于20厘米的距离以保证安全。电烙铁的手持方式有正握法、反握
法、握笔法三种方式,使用正确的手持方式可以避免烫伤自己或损坏导线和元件。拿焊锡丝有连续焊锡丝拿法和断
续焊锡丝拿法两种。
焊接操作分为五步:准备施焊—加热焊件—送入焊丝—移开焊丝—移开烙铁。焊接过程中要注意:
(1) 保持烙铁头清洁,防止烙铁头加热不明显;
(2) 在焊接时不要用烙铁头用力压焊接元件,造成烙铁头损耗、烧坏元件;
(3) 焊锡未凝固前不能移动焊件,防止“冷焊”,导致焊点内部结构不稳定,降低焊点强度和元件导电性;
(4) 焊锡使用量应该适中,过量使用焊锡会造成浪费同时可能造成万用板线路不易发现和解决的短路问题。
下面介绍一些本设计中用到的焊接技艺:
(5) 镀锡:在焊接前对元件和导线镀锡可以保证连接的可靠性,在硬件安装时将元件焊接到万用板上后需要
用导线连接各引脚,因此需要将导线两端剥掉部分绝缘皮后留出1~3mm间隔进行镀锡;
(6) 元件引线成型:组装硬件时应保证高质量焊接并使元件焊接排列整齐、美观,因此需要将部分元件引脚在装插前弯曲成形。
(7) 元件的插装:元件装插时应考虑元件的散热情况。对于功耗小、散热量低的元件采用贴板装插;对于功
耗打、散热量高,需要散热的元件采用悬空安装方式。
(8) 导线焊接:导线与元件引脚的焊接有绕焊、钩焊和搭焊三种方式,本设计主要使用搭焊;导线与导线之
间主要采用绕焊的方式进行焊接。
(9) 对于注塑元件(如芯片插座等)和簧片类元件(如继电器等),在保证焊接质量的同时,不要对焊点任
一方向施加压力、减少不必要的加热时间、焊锡量应适宜减少。
第四章 系统软件设计
4.1 软件介绍
系统程序编程使用的是Keil4 C51编程软件。Keil4 C51是一款51系列兼容单片机C语言软件开发系统。在程序语
言选择上,本设计选择C语言编写程序,原因在于C语言有着很好的结构性、可读性、维护性,学习理解起来相对容
易。Keil4利用其数据库和集成开发工具为用户提供了一个便捷的开发环境,便于用户进行开发流程中的各项操作
[11]。
本篇中的开发流程大致为:使用编辑器分模块编写C语言源文件(.C),编写完成后将各子程序整合到一起并应用编
译器将源文件转换成Hex文件[12],最后用程序烧录软件将Hex文件通过串口下载到单片机上进行调试。软件界面如
图4.1所示。
图4.1 Keil C51软件界面图
4.2 系统程序流程设计
4.2.1 主程序流程图
主程序采用无限循环逻辑。其主要流程为:上电后,单片机端口设置、LCD、传感器等进行初始化操作,然后各
模块执行相应子程序,传感器将采集的数据反馈给单片机判断火灾情况[13],再然后单片机根据判断结果驱动声光
电路、继电器驱动电路进行相应响应。P2.1、P2.2为黄灯、红灯控制端口,P2.5为蜂鸣器控制端口,P3.4、P3.5为
继电器风扇、水泵控制端口。主程序流程如图4.2所示。
图4.2 主程序流程图
4.2.2 烟雾采集子程序
烟雾采集子程序流程图如图4.3所示。该子程序的流程为:系统初始化完成后,P3.2端口向OE端输出为低电平,
ST端收到P3.3输出的高电平后启动ADC0809转换模块,并判断EOC端口是否接收到P3.6输出返回高电平,在EOC返回高
电平时,P3.2向OE输出高电平读取AD数值,最后OE端收到低电平输入,返回AD数值,子程序运行结束。读取的浓度
数据会反馈给单片机进行相应逻辑判断与显示操作[14]。
图4.3 烟雾A/D转换程序流程图
4.2.3 温度采集子程序
温度采集子程序如图4.4所示。在主程序完成初始化后运行温度采集子程序,该子程序的流程为:传感器进行读
取温度寄存器操作,将读取的数据经程序转换成实际温度值,最后返回温度数值,子程序结束。读取的浓度通过P2.
0端口反馈给单片机进行逻辑判断及显示操作。
图4.4 温度采集子程序流程图
4.2.4 LCD1602显示子程序
LCD602液晶显示屏的显示按照制作厂家设定的时序要求编写显示子程序。编写显示子程序时确定数据在屏幕上
的显示地址,确定字符显示进制等,之后按照设定例程顺序进行程序编写即可[15]。在编写时需要设定两行显示数
据,设置预设阈值与采集数据的显示地址。显示子程序流程图如图4.5所示。
图4.5 显示子程序流程图
4.2.5 设置按键子程序
系统利用按键进行报警阈值设定,通过设置键进行设置模式进出及设定数据选择,利用加减键进行参数阈值设
定。同时在设置模式下,即便数值超限也不会触达报警,只有退出设置模式后才会主程序才会对采集的数据进行逻
辑判断。按键子程序流程如图4.6所示。
图4.6 按键子程序流程图
第五章 火灾报警器调试
5.1 硬件调试
调试过程分为硬件和软件两部分,主要目的是确定能否达到预期效果,软件程序是否可以在硬件上顺利运行。
硬件部分调试主要检查元件焊接情况,确认硬件电路点解正确,排除漏焊、虚焊、短路、断路等问题[16]。检
查时用万用表对元件和导线逐个检查,导通的元件或导线使用万用表二极管档位检测时会发出蜂鸣提示线路导通,
从而检测线路的通断情况。
调试期间存在以下问题:
(1)STC89C52在焊电路之前未认真检查,造成连续焊接错误;
(2)烟雾值一直不准确,查过资料后发现,第一次使用烟雾感应器,需要充上好几个小时的电源,才能正常使
用,而且还要进行老化试验。
(3)在编写程序时,有些不明白的地方,随着查阅资料,做了一些修改。
5.2 软件调试
软件部分调试的主要目的分为确认电路设计是否合理正确、硬件电路能否正常导通运行,观察软件系统能否在
硬件电路顺利运行,以及整体系统运行能否达到预期效果。调试需要利用Keil C51软件、程序烧录软件将程序下载
到单片机中进行试运行。然后结合试运行时发现的问题,修改软件程序。在然后重复上面的流程。如此反复,不断
完善软件程序以求最后可以再单片机中顺利运行,让整体系统运行状态可以达到预期效果。
图5.1为系统正常状态下的硬件电路仿真图,图5.2为系统检测到火灾发生时的电路仿真图,可以得出电路仿真
连接正确,检测到火灾时硬件电路通电正常,声光电路、继电器电路可以正常导通运行。
图5.1正常状态下电路仿真图
图5.2 火灾时电路仿真图
在调试过程中遇到过以下几个问题:
(1)在试运行时,发现显示屏并没有如显示预期的预设阈值及采集的数据,检查程序时发现数据显示指令指令
void Display_1602(yushe_wendu,yushe _yanwu,c,temp,ZERO)后设置显示数据的换算公式书写错误,改正后可正常
显示数据;同时运行时发现采集数据后LCD显示实时数据的速度不够快,所以在数据采集程序及显示程序中将部分的
延时时间缩小,提高了响应速率。
(2)在使用按键设置阈值时发现加减键在设置模式未进入情况下仍能改变阈值,检查程序发现,加减键判断条
件指令中未加入设置模式的判断量,随后更改程序,将条件指令改为if(key2==0&&Mode!=0)使按键在模式不等于0时
操作有效。
(3)在测试温度超出阈值时的报警效果是发现采集温度值超出阈值后并没有立即报警,检查程序并查阅资料后了
解,温度数据的判断应该是采集温度值>=预设值*10.
5.3 调试结果
经过整体调试后,进行了程序改进,排除了硬件电路部分的焊接错误、元件分布不合理等问题。编写的程序可
以在单片机中顺利运行,运行过程中性能稳定。通过设置键进行设置模式操作,利用加减键对温度、浓度阈值进行
设定。传感器采集数据可与参数预设阈值同时在LCD1602液晶显示屏上显示。声光报警电路可以顺利对响应,发出对
应的报警,继电器驱动电路可以根据温度、浓度超出阈值做出不同响应,驱动风扇转动、启动水泵。总体上系统达
到了预期的设计效果,但是由于自身焊接技术的限制,对硬件电路的焊接以及布线并不是很满意。实验数据表如表
5.1所示
表5.1 实验数据表
数据类型
实验次数 火灾时烟雾浓度/PPM 显示的烟雾浓度/PPM 火灾时环境温度/℃ 显示的温度/℃
1 60 59 56 55
2 110 111 85 86
3 150 148 96 98
4 220 217 120 99
数据表明温度在100℃以下采集数据较为精确,可燃气体浓度测量比较准确,可以满足火灾报警的探测需求。
5.4 结论
火灾是目前最普遍、最具破坏性和最严重的一种,其后果也是最严重的。随着经济的迅速发展,高层建筑、地
下建筑以及大型购物中心的增多,火灾风险日益增大,火灾事故发生的次数和所带来的经济损失每年都在增长,同
时,存在的消防安全问题也日益突出。
在这次毕业设计中,利用STC89C52单片机为核心,使用C语言为程序语言,设计了温度、浓度采集电路,声光报
警电路,LCD1602显示电路,风扇、水泵继电器电路以及按键电路,构建出具有检测温度、可燃气体浓度功能,报警
阈值设定,声光报警功能以及排烟、洒水的消防功能的火灾报警器。通过温度传感器可气体传感器进行数据采集,
通过按键设定报警阈值,最后通过单片机进行逻辑判断并进行相应的报警操作,模拟消防中的排烟和洒水。然而,
因为本人对相关知识的了解不够全面,在实验条件上也有很多制约,所以,这个报警器有待提高的地方还有很多。
我学习到了很多之前课程中没有涉及的知识,了解了DS18B20温度传感器和MQ-2气体传感器的工作原理,以及传
感器程序编写方面的部分知识。同时对于Proteus 8.0仿真软件硬件电路图的仿真绘制更加熟练,也对涉及到的专业
知识更加了解。在查阅图书、网络资料的过程中也开阔了关于毕设的思路。
这一次的毕业设计让我有了一段难忘的经历,使我受益良多。我相信这次的经历会在我未来的生活和工作中起
到意想不到的积极地作用,让我更加努力的改进自身的缺点、提升自身的专业技能。