室内一氧化碳浓度检测警报器的设计毕业论文.docx
《室内一氧化碳浓度检测警报器的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《室内一氧化碳浓度检测警报器的设计毕业论文.docx(34页珍藏版)》请在冰豆网上搜索。
室内一氧化碳浓度检测警报器的设计毕业论文
分类号:
TP277单位代码:
107
密级:
一般学号:
xxxxxxxx
本科毕业论文(设计)
题目:
室一氧化碳浓度检测报警器的设计
专业:
电子信息工程
姓名:
xxxx
指导教师:
xxxx
职称:
教授
答辩日期:
大学学士学位论文原创性声明
本人重声明:
所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者签名:
日期:
关于论文使用授权的说明
学位论文作者完全了解大学有关保留和使用学位论文的规定,即:
本科生在校攻读学士学位期间论文工作的知识产权单位属大学,学生公开发表需经指导教师同意。
学校有权保留并向国家有关部门或机构送交论文的复印件,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。
论文注释:
本学位论文属于围,在2年解密后适用本授权书。
非论文注释:
本学位论文不属于围,适用本授权书。
作者签名:
日期:
导师签名:
日期:
室一氧化碳浓度检测报警器的设计
摘要:
设计了一款检测室一氧化碳浓度是否超标的检测仪。
设计思想基于AT89C52单片机,选择MQ-2一氧化碳传感器。
一氧化碳传感器将检测到的信号传递给ADC0832组成的模数转换系统,经过AT89C52进行数据处理,最后通过LCD1602显示出来一氧化碳的浓度值。
正文具体的介绍了数据的采集,处理,显示和报警电路的设计原理和硬件电路,若卧室的一氧化碳浓度超过设定值,报警电路发出警报。
同时可以根据实际情况对一氧化碳浓度的报警值通过程序进行设置,也可以在开机后使用按键设置。
本次设计的一氧化碳检测仪具有体积小、质量轻、性价比高、电路简单、检测精度高的优点。
主要分为硬件设计和软件设计。
能够满足一般的农村家庭用作卧室的煤气浓度的检测。
关键词:
一氧化碳;浓度;AT89C52;报警
Thedesignofindoorcarbonmonoxideconcentrationdetector
Abstract:
Designeddetectorofcarbonmonoxideconcentrationwillexceedthestandard.BasedonthedesignideaofAT89C52MCU,MQ-2combustiblegassensor.Transferofthecarbonmonoxidesensorwilldetectthesignaltotheanalog-to-digitalconversionsystemcomposedofADC0832,thentheAT89C52fordataprocessing,finallythroughtheLCD1602displayofcarbonmonoxideconcentration.Thetextdescribesthespecificdataacquisition,processing,displayandalarmcircuitdesignprincipleandhardwarecircuit,iftheconcentrationofcarbonmonoxideinthebedroomexceedsthesetvalue,thealarmcircuitalarm.Atthesametimeaccordingtotheactualsituationoftheconcentrationofcarbonmonoxidealarmvaluesetbytheprogram,alsoyoucanusethebuttonsinthebootsettings.Designofahighprecisionvolumeofcarbonmonoxidedetectorthedesignofsmall,lightweight,highcost,simplecircuit,detection.Mainlydividedintohardwaredesignandsoftwaredesign.Detectionofgasconcentrationtomeetthegeneralruralfamilyforthebedroom.
Keywords:
Carbonmonoxidede;concentration;AT89C52;alarm
前言
1煤气中毒介绍
冬季北方偏远农村的家庭几乎都用煤炉子取暖,而有些家庭取暖时煤烟排放不通畅,使得室一氧化碳等气体浓度升高,一氧化碳是煤气中毒的主要元凶,严重危害人们的生命健康。
我国每年都有人因为煤气中毒抢救不及时而失去生命,煤气的主要成分就是一氧化碳,而且能够在空气中燃烧生成二氧化碳,一氧化碳的密度和空气差不多,尤其在农村卧室空气流通不通畅时,使人们不知不觉的将煤气吸入体,而偏远农村家庭的煤气中毒主要是在晚上人们熟睡的时候,由于农村的房屋面积较大,人们在晚上睡觉的时候会将门、窗等能够通风的地方堵住,这就很容易造成空气的不流通,尤其在生有煤炉子的卧室,一旦一氧化碳的浓度升高,人们在熟睡之时由于察觉不到,很容易造成煤气中毒。
大量的一氧化碳被吸入人和动物体,会与肺部的血红蛋白结合,造成缺氧,危及生命,一氧化碳的中毒按照中毒的轻重可分为:
一般性中毒和严重性中毒。
一般性中毒的人会出现头晕目眩、睡不着觉、胃部难受等感觉。
严重性中毒的人刚开始伴随一般性中毒的情况。
等到一段时间后,中毒者脸色发白进而变成紫色。
会因为呼吸困难而去世,如果有幸被救活,也会有伴随而来的后遗症,部分患者可发生继发性脑病。
在偏远的农村由于人们对于燃煤导致一氧化碳中毒的知识比较欠缺,对防措施也知道的比较少,每逢冬季,新闻上总会有因为燃煤不当而导致中毒的事件,所以针对偏远农村容易在冬季取暖时候出现煤气中毒的情况设计一款检测卧室一氧化碳浓是否超标的检测设备是很有必要的。
生命只有一次,这也给人们的安全增加一道屏障。
2一氧化碳浓度检测仪总体设计
我国每年报道出来的室一氧化碳中毒的事件越来越多,一氧化碳中毒对人们健康的威胁越来越大,因此促使专家去研究一氧化碳浓度超标的报警器,现在市场上的一氧化碳浓度检测仪有多个类型,比较流行的是热催化监测方式,一氧化碳能够催化氧化燃烧,检测的浓度就不准确。
它的最大缺点是体积大,功耗高。
本次设计提出采用AT89C52和MQ-2完成要求,很大程度上降低了功耗,提高了精度。
论文围绕一氧化碳浓度检测仪的软件和硬件展开设计,设计由几大部分构成:
硬件控制部分、A/D转换系统、检测超过报警、键盘输入、检测数值的读取。
由于单片机被广泛的应用于控制电路中,所以AT89C52是我们理想的主控芯片,该系统的主要功能包括:
ADC0832进行数据处理,一氧化碳浓度限制设置,测量,超过设定值时报警,键盘检测,采用功能模块化的思想可以使电路系统更加的简单、明了,出现问题便于修改,我们这次设计大致可以分为如下环节:
(1)总体方案确定;
(2)硬件和软件的设计。
具体分为:
(1)硬件电路的搭建和设计;
(2)在软件的主控制部分的硬件电路,编写软件程序;(3)调试软件和硬件电路满足设计要求;(4)得出结果是否达到设计要求。
3一氧化碳检测仪硬件电路的设计
3.1硬件结构设计
方案一:
硬件电路主要由:
AT89C52、ADC0832、LM386功率放大器、LCD12864、一氧化碳传感器选用CO/CF-1000探头组成、报警采用ISD1760语音芯片;硬件结构框图1。
图1硬件结构框图
方案二:
硬件电路主要由AT89C52、模数转换器ADC0832、LCD1602、MQ-2一氧化碳传感器等芯片的选择;主控电路的设计、数据采集、模数转换系统的设计、液晶显示电路设计、键盘接口电路等功能模块电路设计。
硬件结构框图2
图2硬件结构框图
方案论证比较:
两种方案的的主要区别在于报警电路的选择而在实际中报警的方案有很多种,比如采用普通的数字电路设计的,使用数字芯片的成本高,而且和单片机控制电路的连接不方便,在编程时比较麻烦。
采用单片机设计的报警电路简单,容易实现。
采用DSP设计要考虑和单片机的兼容问题,采用PLD色设计的等等,而常用的方案就是方案一和方案二,方案二的优点在于结构简单既能够实现本次设计的要求,而且硬件电路容易实现,对实验的预算低,但是也有缺点,在一氧化碳传感器后没有加入功率放大器可能对于微弱的信号模数转换器检测不到进而不能进行处理,主控单元就不能产生动作。
方案一的优点在于利用灵敏度搞得一氧化碳气体传感器,当有卧室的煤气浓度升高时,可以立即将信号通过前置功率放大器的模数转换器传递到单片机中,进而进行报警;使用语音芯片的好处就是我们可以录自己喜欢的声音来作为报警音,如果使用蜂鸣器可能会受到外界环境影响。
但是方案一的缺点在于报警电路比较复杂,这样会导致硬件电路的成本升高,结构复杂,而且语音芯片的录音放音时候还可能有其它噪声的干扰。
所以,综合以上因素我们选择方案二进行完成本次设计。
3.2硬件电路主要芯片的选择与设计
3.2.1单片机的特点与参数
单片机具有以下特点[1]:
(1)电压低,功耗低。
(2)控制能力相对比较强而且通电之后能够很快的运行,可以有目的性的从简单到复杂的解决各种控制问题,满足各类控制电路的要求,具有很强的位处理和接口的逻辑功能。
(3)抗干扰能力强,适用温度围宽;时钟、复位电路等早已经被嵌入在芯片的里面,这样的话芯片的功能就不会受外界的太多的干扰,提高了可靠性。
(4)存和I/O接口,易于扩展。
(5)可以非常方便的实现多机和分布式控制。
控制电路使用AT89C52单片机作为核心。
图3为AT89C52的引脚图
图3AT89C52引脚图[1]
3.2.2单片机能够运行的最小系统
运用AT89C52来搭建一个基于单片机并且能够让这个系统运行起来的最小系统[2]。
单片机最小系统包含有晶振电路和复位电路,AT89C52芯片组成。
电路图如图4。
图4单片机最小系统图[1]
3.2.3数据采集系统的选择与设计
(1)一氧化碳传感器的选择:
我们选择了MQ-2/MQ-2S气体传感器,它能够在干净空气中的电导率很低的主要原因是因为气敏材料二氧化锡(SnO2)的作用,因此当我们的室一氧化碳浓度升高的时候,它的电导率也会升高,采用一些常用的转换电路就会将浓度转变成与之等价的电信号[4]。
特点:
可以适应很宽浓度围,最主要的是对煤气等有很好的灵敏度、长寿命、低成本、简单的驱动电路即可。
(3)传感器检测到的电压信号,必须通过模数转换,放大,才能够被主控芯片识别和处理。
由于假若每一路都设置放大、滤波等器件,那么成本会很大,所以信号的采集一般用多路模拟通路进行选择。
但是当我们选择多路模拟开关时有几个因素是我们一定要去关心的:
元件的封装、开关电阻装置、通道的数目、切换的快慢。
总之数据采集与硬件的选择有很大的关系。
(4)测量电路
测量电路由MQ-2/MQ-2S气体传感器、ADC0832组成。
如果空气中一氧化碳被传感器检测到后,产生一个与和一氧化碳浓度等价的电信号,经过放大电路传输给ADC0832进而送到单片机,此时单片机控制的LCD上就有与之对应的一氧化碳的浓度值,如果所检测到的浓度值高于设定的上限值,MCU会给报警电路发出指令,报警电路便会报警。
3.2.4模数转换器的选择与简介
(1)AD0832的实物图的引脚图如图5和图6
图5AD0832的实物图[5]
图6AD0832的引脚图[5]
图7模数转换电路图[7]
(2)单片机对ADC0832的控制原理:
ADC0832和AT89C52有4根数据线可以进行通信。
它们分别是:
CS、CLK、DO、DI。
可是DO端和DI端在数据通信时不是同时有效,而且同单片机的接口是双端的,因此在电路设计时可以考虑把DO以及DI并联使用一根传输线即可。
当ADC0832没有参与系统的时候它的CS输入端高电平有效,CLK以及DO/DI的可以在任意电平;但是如果要实施A/D转换的时候,首先必须将CS端口变为低电平一直持续到转换结束。
同时处理器把时钟脉冲输入到芯片的CLK端,DO/DI端共用DI端输入通道功能选择的数据信号[5]。
3.2.5按键选择与简介
(1)对独立按键系统的选择,键盘分为:
独立式和矩阵式两类,每一类根据编码方法可分为两种:
编码和非编码。
因为本系统只设置、加、减,3个控制指令,需要的按键比较少,所以独立按键系统是最佳的选择[6]。
电路图见图8。
图8按键电路图
(2)独立式按键的构成很简单,直接连接到单片机I/O口就好。
每个独立式按键占有一根I/O口线。
各根I/O口线之间不会相互影响。
在本次设计的硬件电路中,按键输入部使用低电平有效,当按键断开时,排阻能够确保I/O口线在高电平。
AT89C52P1口部已经有上拉电阻因此就不需要再外接上拉电阻。
(3)键盘抖动的消除:
抖动的消除大致可以分为硬件消抖和软件消抖。
运用硬件电路的办法对键盘的按下抖动和松开抖动消除就是硬件消抖,使用消抖电路后,按键的电平信号只有按下和释放两种状态。
3.2.6上拉电阻的选择
如图9在AT89C52的P0口接有排阻RP2,为了给P0口的外围电路提供可靠地高电平,必须在P0口接上拉电阻RP2,这样可以保证P0口有稳定的电平[3]。
图9上拉电阻电路图[6]
3.2.7液晶显示器选择
我们选用了LCD1602显示电路液晶显示模块,是由于本系统要有显示装置完成显示功能,显示质量高、数字式接口、体积小、重量轻、功耗低等优点。
而且LCD显示器屏幕越大功耗也越大,而我们只是显示字符,所以LCD1602是我们选择作为显示一氧化碳浓度数值的最佳选择。
LCD1602液晶显示屏共有16个引脚[7]。
如表1所示,正反面如图10、图11[7]。
表1LCD1602引脚说明表
编号
符号
引脚说明
编号
符号
引脚说明
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
背光源负极
图10LCD1602正面图
图11LCD1602反面图
LCD1602液晶显示模块与计算机的接口电路有两种方式。
分为直接访问方式和间接控制方式。
本次设计采用间接控制方式。
液晶显示电路连接原理图见图12:
图12液晶显示电路连接原理图
(2)1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢的显示。
显示所要显示的汉字字符输入的地址,也就是告诉那里的字符显示模块。
图13是1602的部显示地址[7]。
图131602的部显示地址[7]
3.2.8报警电路的选择
图14报警电路接线图
在有单片机作为主控芯片的系统中,通常工作状态可以用数码管、LED指示灯、LCD液晶显示屏来显示,操作人员可以读取它们上面的容进而了解系统是否工作在良好的状态,如有问题可对系统进行调试。
但是万一出现十分紧急的情况,就拿一氧化碳浓度浓度检测来说吧,冬季北方农村的煤气中毒大多是晚上发生,如果报警只有LED灯亮对于晚上熟睡中的人的提醒是没有效果的,所以遇到紧急情况必须有警报信号立刻引起人们的注意,以便于人们采取及时有效的措施防止危险的发生。
通常报警信号有以下三种类型:
一是闪光报警,一段有规律的灯光的闪动,很容易让人的眼球捕捉到;二是鸣音报警,当遇到紧急情况时,有一段提前设定好的声音发出来,刺激人的听觉器官,这个很符合本次设计的理念;三是语音报警,这个不但能够起到报警作用而且能够提供人们更加详细的关于紧急情况的信息,但是它的也暴露出它的缺点:
硬件成本高、结构复杂导致整个系统的预算提高;而前两种报警电路因为硬件电路和软件编程简单,被喜欢用单片机的经常使用,出现在各种各样的单片机系统的中。
4硬件设计主电路图。
4.1硬件电路图说明
由AT89C52组成单片机的最小系统,三个独立式按键1、2、3分别为设置键、加、减,通过改变电位器RV1的值,就可以改变输入到ADC0832的模拟信号,经过ADC0832转化为数字信号,最后送至AT89C52处理就可以在LCD1602上显示出检测值,如果超过设定上限值,单片机驱动蜂鸣器报警,同时红色LED灯亮。
如果未达到设定值,绿色LED亮。
图15和图16分别为硬件设计原理图和PCB原理图。
图15硬件设计主电路图
图16PCB电路图
5软件设计
5.1软件设计结构
通过对硬件模块的分析我们可以得出软件部分应该有:
(1)主程序和子程序的开发;
(2)硬件的每个模块对应的程序开发;(3)将程序植入单片机后与硬件结合调试。
主要功能模块有:
单片机驱动程序,检测,液晶显示,键盘,软件开关模块。
见图17。
图17软件结构框图
5.2主程序模块的设计
主程序要实现的功能:
协调好每个模块,让每个模块实现其应有的功能,具体点来讲就是周围环境中的煤气浓度的检测以及浓度的数值在显示屏上表示出来。
见图18。
图18主程序框图
5.3模数转换的设计
(1)模数转换的功能简而言之就是把传感器送过来的模拟信号变成数字信号交给单片机即可。
ADC0832转换的流程图见图19。
图18模数转换流程图
5.4按键模块的设计
(1)一种人机对话控制按钮的出现,通过按钮操作,发送操作指令到系统中,并通过单片机的串口通信,并显示在LCD上。
按键查询式的流程图见图20:
图20按键查询式的流程图
5.5液晶显示模块的设计
(1)在这个系统中液晶显示模块主要是显示和播放显示界面的数字,控制效果。
采用直接存取法。
液晶显示操作流程如图21。
图21液晶显示的操作流程图
6系统仿真与实际电路焊接、调试
ProteusISIS因为其强大的功能,能够在计算机上进行电路的仿真、分析。
6.1软件仿真
在硬件和软件的设计这个步骤完成后,接下来就是在ProteusISIS进行多次仿真,通过改变RV1滑动变阻器的值,可以改变MQ-2传感器的检测信号,通过2号按键和3号按键我们可以对设置的上限值进行加、减。
在软件设计时,我们默认浓度上限初始值为50ppm,以下为仿真的结果:
(1)我们设置一氧化碳浓度的上限值为20ppm.如图22开机状态,图23为测试状态。
图22开机状态
图23为测试状态
(2)我们设置一氧化碳浓度的上限值为40ppm.如图24开机状态,图25为测试状态。
图24开机状态
图25为测试状态
(3)我们设置一氧化碳浓度的上限值为50ppm.如图26开机状态,图27、28为测试状态。
图26开机状态
图27未报警状态
图28报警状态
6.2硬件电路的焊接、实验。
在软件仿真达到的设计要求后,进行实际电路的焊接、调试,检验软件的仿真的效果,在实际情况下能否达到要求。
通过按键可以设置报警阀值。
当测量值超过报警阀值时,蜂鸣器鸣叫,红色led灯亮,供电方式:
电池盒供电4节1.5V5号干电池。
图29为单片机外围实物图。
图30为整体图。
图29单片机外围实物图
图30整体图
按键操作说明:
从左到右分别是:
1号设置键、2号加键、3号减键。
按下设置键可以调节报警值,系统默认值为50ppm,在调节好报警值时按下2号键报警值加1,按下三号键报警值减1,再次按下设置键,即可进行检测。
在实际电路的焊接的时候,选用的传感器为MQ-2可燃气体检测传感器,它对一氧化碳等可燃气体的灵敏度很高,由于纯净一氧化碳必须到化学实验室制备,需要老师的引荐。
所以在刚焊接完成的时候,通过普通打火机里面的丁烷进行检测,经过多次检测,均能够达到预期设定值,为了能够验证在一氧化碳环境也能够达到,我通过老师的帮助,在化学实验室制备了一瓶一氧化碳完成了最后的验证。
(1)我们设置一氧化碳浓度的上限值为20ppm.如图31开机状态,图32为测试状态。
图31开机状态
图32为测试状态
(2)我们设置一氧化碳浓度的上限值为40ppm.如图33为开机状态,图34为测试状态。
图33开机状态
图34为测试状态
(3)我们设置一氧化碳浓度的上限值为50ppm.如图35为开机状态,图35为测试状态。
图35开机状态
图36测试状态
6.3调试总结
(1)硬件的焊接、调试
在对方案有一点点了解的时候,以为这个设计非常简单,由于没有在ProteusISIS仿真也不知道电路是否可行就匆忙的进行实际的硬件电路的焊接,自己在平时焊接电路的机会也少,因此在把电路图转化实际的东西时,出现了很多问题,比如:
液晶不显示,电源指示灯不亮,传感器检测不到信号等,通过查电路发现液晶数据引脚短路,电源指示灯正负极接反,传感器短路,单片机没有接上拉电阻、没有总的控制开关、电源线的位置焊接错误等电路问题。
最后第一块板子就被报废了。
有了前车之鉴,我认认真真的在ProteusISIS把方案进行了仿真,在仿真的时候发现了方案的一些问题,我在构思大致的方案的时候,由于对ADC0832和AT89C52的连接还不是很了解,所以将两者的连接画错了,后来分析出第一块板子报废的真正原因是因为这个错误。
因此导致在ProteusISIS上面仿真的时候,不管怎样移动RV1滑动变阻器,LCD1602上面的检测数值一直没有变化,我开始重新检查自己的方案,让每个模块单独运行,最后发现了解决错误的方法。
在第二次重新焊接电路的时候,我请教了老师,同学在实际电路的焊接的时候该注意什么,在同学的帮助下,经过一天时间的努力,终于焊接好了这块板子,由于这次比较细心,而且方案仿真也实现了一氧化碳浓度检测的功能,硬件电路焊接好之后,在化学实验室制备了一瓶一氧化碳,首先通电启动,并且设置好三组的一氧化碳浓度的报警上限值分别为:
20ppm、40ppm、50ppm。
然后将MQ-2置于一氧化碳环境中,达到上限值时,记录开机数据和检测数据。
(2)软件的调试
软件调试使用和ProteusISIS兼容的Keiluvision3软件进行调试。
调试由4部分构成:
(1)创建源文件;
(2)创建工程文件;(3)对工程具体参数设定;(4)编译、、运行。
如果程序没有错误就会出现如图37所示界面[8]。
图37程序正确界面
(3)在使用Keiluvision3调试的时候碰到一部分问题:
【1】没有asm文件。
编译时会出现:
F:
\...\XX.asm
Filehasbeenchangedoutsidetheeditor,reload