毕业论文-基于单片机的甲烷气体检测仪的设计.doc_第1页
毕业论文-基于单片机的甲烷气体检测仪的设计.doc_第2页
毕业论文-基于单片机的甲烷气体检测仪的设计.doc_第3页
毕业论文-基于单片机的甲烷气体检测仪的设计.doc_第4页
毕业论文-基于单片机的甲烷气体检测仪的设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

苏州大学本科生毕业论文(设计) 目 录摘 要 . .1Abstract. .2前 言. .3第一章 绪 论41.1 课题背景41.2 关于国内外同类系统的分析5第二章 系统总体方案设计72.1 系统基本要求72.2 硬件系统设计方案72.3 软件系统设计方案7第三章 系统硬件设计93.1 单片机系统的设计93.2 传感器模块123.3 A/D转换电路153.4 显示模块电路183.5 总电路分析说明19第四章 系统软件设计204.1 主程序设计204.2 ADC0809程序214.3 显示子程序的设计22第五章 系统调试与分析245.1 硬件调试245.2 环境模拟及系统调试245.3 调试故障及原因分析255.4 测试结果及分析26参考文献致谢摘 要在近代工业的发展的发展史上,人们对能源的需求越来越迫切,要求也越来越高。煤矿开采时的瓦斯(甲烷)浓度对整个开采过程能否安全进行有着决定性的影响。因此,瓦斯(甲烷)浓度的检测显得尤为重要。本次设计的目的是实现甲烷气体浓度的实时监测和报警,要求是使用单片机技术和气体传感器。本设计采用单片机作为数据处理单元,单片机控制MQ-9气体传感器,甲烷浓度信号通过单总线从MQ-9传感器传到单片机上。单片机处理数据之后,将当前甲烷浓度信号发送到数码管上显示,同时发出控制信号改变报警模块执行状态。本系统可以实现甲烷气体浓度的实时检测和报警,接通电源后即可通过甲烷浓度数据的运算处理,发出控制信号达到蜂鸣器报警的目的。关键词:甲烷,浓度,单片机,MQ-9传感器,报警 AbstractIn the history of the development of modern industrial development, people increasingly urgent demand for energy, requiring higher and higher. When coal mining gas (methane) concentrations for the entire mining process can safely conduct has a decisive influence. Therefore, gas (methane) concentration detection is very important.The purpose of the design is to achieve real-time monitoring of methane gas concentration and alarm, require the use of chip technology and carbon monoxide sensors. The design uses a single chip as a data processing unit, microprocessor control carbon monoxide sensors, methane concentration signal transmitted through a single bus from carbon monoxide sensor microcontroller. Microcontroller processing data, the signal will be sent to the current concentration of methane digital display, and control signals to change the alarm module execution status. This system can achieve real-time detection of methane gas concentration and alarm, power can be by arithmetic processing methane concentration data, and control signals to achieve the purpose of the alarm buzzer. Keywords: Methane, Density, MQ-9 sensors, AlarmWritten by Zhengkai YaoSupervised by Wenming Wu前 言室内空气品质(Indoor Air Quality, IAQ)是上世纪80年代末在环境科学、卫生学、暖通空调(HVAC )等学科基础上发展起来的一个科学分支,在90年代以来得到了广泛的重视与研究。在室内空气品质讨论会上,丹麦哥本哈根大学教授P. O. Fang提出:品质反映人们要求的程度,人们如果对空气质量满意,就是高品质。如果不满意,那就是低品质。英国学者认为:若室内能察觉到任何气味的人少于50%,感觉到任何不适的人少于20%,感觉到有刺激性的人少于10%,并且在不足2%的时间内感到烦躁的人少于5%,那么就可以认为此时的室内空气质量是可以被接受的。这两种完全不同的定义是有共同点的,就是让室内的空气质量彻底成为人们的主观感受。在ASHRAE标准G2-1989R中,首次提出了能被接受的室内空气质量(acceptable indoor air quality)和可感受到的能被接受的室内空气质量(acceptable perceived indoor air quality )等概念。其中,能被接受的室内空气质量定义如下:密闭房间内绝大部分人对室的内空气表示满意,并且在空气中已知的污染物没有达到可能会对人体健康造成危害的浓度;可感受到的能被接受的室内空气质量定义如下:密闭房间内绝大部分人没有感觉到有气味或者说感觉到黏膜刺激。它是能被接受的室内空气质量的非充分必要条件。由于有些气体,如CO,人们很难察觉到,不仅没有气味没有颜色,而且对人体也没有刺激作用,不会被人感受到,但却对人危害很大,因而仅用可感受到的能被接受的室内空气质量是不够的,必须同时引入能被接受的室内空气质量。因此,空气的质量评价实际上也是人为感受到的与客观有害气体浓度指标的综合评价。由次可以看出,研发设计检测人体不能感觉到的却对人体会产生危害的气体检测仪器是很有必要的。第一章 绪 论1.1 课题背景伴随着我们的生活水平日渐提高还有对环境、健康等问题的日益关注,室内的空气质量情况也越来越多地受到关注。由于现在的生活节奏在变快,我们在家里、办公室内等室内环境的停留时间也越来越多了。在西方的发达国家,如果把工作、休闲、居住的时间全部都加起来,那么可以得到人们在室内停留的时间要占到全天的91%左右。而在我们国家,这个数据竟也超过了全天的85%,室内空气的质量直接影响着我们的身体健康状况。恶劣的室内空气环境是大多数不良建筑物综合症的罪魁祸首。美国环境保护局(EPA)与世界卫生组织(WHO)进行的联合调查表明,美国大约有20%的建筑存在严重的室内空气污染情况,40%有一定程度的室内空气污染状况,另外的40%则有轻微或没有室内空气污染的情况。美国环境健康总署的调查则显示,室内主内空气污染常常是室外空气污染浓度的2到3倍之多,在冬季缺乏通风、使用燃料取暖炉等情况下尤甚,这一数值甚至能高达90倍。一般的家庭室内可以检测到的污染物多达300种,而有57%的人的疾病与室内空气污染有关。美国职业安全及健康局的报告认为,在美国,企业因室内空气恶劣造成的工时损失平均每人每日约14-15分钟。仅以人类自身来说,其日常生活和工作都与周围的大气环境密切相关,大气的变化对人类健康有极大的影响。空气中还有有毒气体,会给人类带来直接的人身伤害。可燃气体的泄露会引起爆炸和火灾使人类的生命和财产遭受威胁。随着工业规模逐渐扩大,产品种类的不断增多,气体原料和生产过程中产生的气体种类和数量也不断增多,尤其是石油化工煤炭以及汽车等重工业的发展,导致环境污染日益严重。臭氧层破坏、酸雨以及温室效应成为当代最为严峻的环境污染问题。环境的严重污染开始威胁到了人们的生存。所以,对人们生活以及工作环境中的各类气体进行有效的检测、分析是很有必要的。由之前的研究可以发现,室内空气污染的问题越来越突出,直接威胁着人体的健康。人在有污染的室内环境中长时间停留和活动,人体很容易就会出现各种不适感,主要症状有头痛流鼻涕眩晕记忆力衰退以及行动迟缓等。世界卫生组织将这种现象或者说症状称为“致病建筑物综合症”。根据资料的显示,在刚装修好的室内环境中常见的有害物质有300多种,而其中会对人的健康造成危害的、甚至是致癌的物质有20多种,这其中主要有苯甲苯二甲苯乙苯等易挥发的有机气体。其次,易燃易爆气体也是不容忽视的有害气体。如果此方面未能够得到有效控制与管理的话,为其所引发的后果付出的代价是极为巨大的。由以上内容可以看到,易燃易爆有毒气体等问题已经严重危害人们的生命和财产安全,并且影响社会的安全和发展。解决这些问题的关键,是迅速、准确、有效地检测到这些有害气体,这便是气敏传感器发展的客观依据。气体的种类繁多,有些有毒有害,有些易燃易爆。人类的生存和活动环境全离不开气体。为了保证家庭氛围气体的质量和安全,离不开准确,有效的气体探测报警的意思是:许多工作过程(如钢铁,矿山和汽车行业)要求严格监控相关的气体或者快速的调整,否则就有可能会发生重大的事故和损失。由于天然气和人类的生存和活动的关系非常的紧密,人类很早就开始研究气体的极早期检测和控制方法。目前,烟、救、茶等食品的质量主要是靠人的感官来进行判断,感官评定主要依赖人的生理和心理条件,经验也是不可或缺的一部分,这本身也是一门精巧的技术。这些工作往往需要训练有素,经验丰富的人才可以进行,并且标识仅会带来大量的人为主观因素。在某种意义上说,由于经验,情绪等主观因素的影响,感官评价方法评价结果将具有由于不同的识别人员的相当大的个体差异,即使在不同的情况相同的识别者会产生不同的结果。因此,人的感觉器官的主观性,重复性较差(即,其结果与试验时间,健康状况,之前的分析,疲劳,以及其它因素的波动),花费人力巨大和费时等缺点。此外,人的感觉器官,不能用于检测有毒气味,连续操作条件和遥控操作的情况。此外,科学家有时利用比较廉价、简便的化学或生化传感器,有时又利用昂贵复杂的化学分析仪器,如气相色谱仪(GC)和质谱仪(MS),对有毒和无毒气味进行分析。两种方法的共同缺点是测试结果不是直接与识别的气味相关的。分析化学家们用气相色谱仪和质谱仪(GC/MS)的检测结果同样如此。此外,气相色谱仪和质谱仪还有系统结构复杂、操作繁琐、造价昂贵、测试周期长、不能进行连续检测、需要人力来进行干预才能进行分析等缺点。1.2 关于国内外同类系统的分析我国是世界煤炭生产和消费大国,煤炭在今后很长时间内仍是主要能源。近年来,重大瓦斯事故在煤炭生产事故中所占比例越来越高。为避免瓦斯爆炸事故,做好瓦斯的检测工作是一个重要举措,提前掌握煤矿瓦斯浓度的变化,一旦出现异常,及时采取相应措施,以保障煤矿的生产安全。瓦斯是煤矿开采的伴生物,瓦斯是对煤矿井下各类有害气体的总称,瓦斯主要成分是甲烷(CH4)、二氧化碳(CO2)、一氧化碳(CO)等。在这些有毒有害气体中,甲烷的含量占到了80%以上,所以习惯将甲烷称为瓦斯。发生瓦斯事故的原因有很多方面,出来加强监管,对矿井里的瓦斯进行长期、可靠的实时监测可以期待很好的预防作用。所以,研究开发相应迅速、长期稳定可靠的煤炭瓦斯(甲烷)气体传感器,对于确保煤矿工业生产有非常重要的意义。到目前为止,已经有许多技术来实现甲烷检测。检测方法主要有催化燃烧法、半导体气敏法、红外光谱法、气相色谱法和光纤传感法等。第二章 系统总体方案设计2.1 系统基本要求使用气体传感器,结合单片机技术,实现甲烷气体含量的实时监测和报警。2.2 硬件系统设计方案本设计采用MQ-9气体传感器,通过传感器能把气体中的甲烷检测出来,并将其转化为电信号,然后采用ADC0809转换器将传感器输出的模拟信号转换为数字信号,运用STC89C52单片机进行数据处理和计算,并通过数码管显示浓度信息,这样就实现了对甲烷气体的检测和报警。图2.1 硬件系统设计框图2.3 软件系统设计方案如图2.2所示的系统流程图,是用来描述整个系统的工作过程。首先,初始化中包括I/O口初始化与外部中断初始化。本设计I/O口初始化包括使按键,蜂鸣器,数码管等调整为初始化状态。系统定义I/O口初始化接高电平,按键启动接低电平,且数码管界面定义8888为初始化状态。外部中断初始化是以中断方式判断按键是否检测到目标气体的。若检测到目标气体,则低电平被触发,且时刻采集数据。若为Y,会进行下一步操作,进入中断来读取传感器值,显示气体浓度值。执行完毕后,回到主函数,继续等待检测气体。若为N,会返回等待检测到气体。图2.2 系统流程图第三章 系统硬件设计3.1 单片机系统的设计数据处理过程是主要由STC89C52单片机芯片完成。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。图3.1 STC89C52单片机管脚图引脚功能说明如下:VCC:电源电压GND:地P0口:P0口是一组8 位漏极开路型双向I/O口,即地址/数据总线复用。作为输出口用时,每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端使用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8 位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash 编程和程序校验期间,P1接受低8 位地址。P2口:P2是一个带有内部上拉电阻的8 位双向I/O 口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位四肢的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8 位地址数据,在访问8 位地址的外部数据存储器(例如执行MOVX RI 指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2 寄存器的内容),在整个访问期间不改变。Flash编程和程序校验时,P2也接收高位地址和其他控制信号。P3口:P3是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元D0位置位,可禁止ALE操作。该位置,只有一条MOVX和MOVC指令ALE 才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序存储允许输出是外部程序存储器的读选通型号,当89C51由外部存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12v的编程允许电源VPP,当然这必须是该器件使用12v编程电压VPP。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对电容C1、C2虽没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30Pf10Pf,而如使用陶瓷谐振器建议选择40Pf10Pf。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端XTAL 则悬空。如图3.2所示为STC89C52单片机在电路中的连线图。图3.2 单片机连线图3.2 传感器模块本设计中的传感器模块采用的是气体传感器,型号为MQ-9。MQ-9气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)检测可燃气体甲烷、丙烷并清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为与该气体浓度相对应的输出信号。 MQ-9气体传感器对一氧化碳、甲烷、液化气的灵敏度高,这种传感器可检测含一氧化碳在内多种可燃性的气体,是一款适合多种应用的低成本传感器。如图3.3是MQ-9气体传感器的外形图,图3.4为传感器工作原理图,图3.5为MQ-9传感器模块连线图。 图3.3 MQ-9外形图 图3.4 传感器信号拾取电路原理图图3.5 传感器模块内部连线图如图3.5是MQ-9传感器对几种不同气体的灵敏特性曲线。图3.6 灵敏度特性曲线表3.1至表3.3是对MQ-9传感器特性及工作环境的介绍。表3.1 灵敏度特性型号MQ-9符号参数名称技术条件备注Rs敏感体电阻 2k to 20 k在100ppmCOa电阻比小于0.6Rs (300 ppm) / Rs (100 ppm)标准工作条件: 温度: 20 o C2 o C V C : 5.0 V1 V 湿度: 65%5% V H(H) : 5.0 V1 V V H(L): 1.5 V1 V预热时间:大于48小时 探测范围:10ppm-1000ppm一氧化碳表3.2 标准工作条件符号参数技术条件备注V C回路电压 10VAC or DCV H(H)加热电压(高)5.0V 0.2VAC or DCV H(L)加热电压(低)1.5V 0.1VAC or DCR L负载电阻可调R H加热电阻 313W室温TH(H)加热时间(高)60sTH(L)加热时间(低)90sPH加热功率约350mW表3.3 技术条件符号参数技术条件备注Tao使用温度-10 o C 50 o C建议使用范围Tas储存温度-20 o C 70 o CRH相对湿度小于 95% RHO2氧气浓度21%1%(标准条件)氧气浓度影响灵敏度最小值大于 2%如图所示为LM393芯片内部结构图图3.7 LM393内部结构图如图3.8为传感器模块在总电路中的电线图图3.8MQ-9连线图LM393芯片的作用是对信号进行放大。MQ-9气体传感器检测到甲烷气体的微弱电信号,需要经过此放大电路将信号放大为0-5V的电压信号,再从传感器模块的AOUT输出端将模拟信号传到0809进行模数转换。3.3 A/D转换电路为了方便与STC89C52单片机链接,本系统采用ADC0809模数转换芯片对检测的气体信息进行数模转换。其分辨率设定为8位,具有高阻抗斩波稳定比较器,且不必进行零点和满度调整。8个单独通道的多路开关可以存取8个单端模拟电信号的其中一个。利用STC89C52单片机使ADC0809转换器启动,转换结束后再由ADC0809将中断请求信号发向STC89C52单片机, CPU响应中断请求。通过解码器读取,读取转换结果和要测量响应的存储区域。然后,重新选择被测量,再次启动AD0809转换器转换后中断返回。ADC0809与STC89C52单片机的连线线路如图3.9所示。图3.9DAC0809连线线路数据转换工作主要由AD0809模数转换芯片完成。由MQ-9气体传感器模块输出的0-5V范围内变化的直流信号,送到A/D转换电路变为数字信号,对其进行数据采集处理。ADC0809是带有8位A/D转换器、微处理机兼容的控制逻辑以及8路多路开关的CMOS组件。它是一种逐次逼近式的A/D转换器,可以被用来直接与单片机接口。ADC0809的内部结构框图见图3.10。由图3.10可知,ADC0809由一个8路模拟开关、一个三态输出锁存器、一个A/D转换器以及一个地址锁存与译码器组成。多路开关可以选用8个模拟量通道,8路模拟量进行分时输入,共用一个A/D转换器。A/D转换完的数字量用三态输出锁存器锁存,只有当OE端为高电平时,三态输出锁存器转换完的数据才能被取走。图3.10 ADC0809的内部结构框图图3.11ADC0809的引脚结构如图3.11所示,IN0到IN7为8条模拟量的输入通道。ADC0809对输入的模拟量的要求为信号是单极性的,且电压范围是在05V内,如果信号太小,则必须进行信号放大。此外,输入的模拟量在进行转换的过程中是应该保持不变的,如果输入的模拟量变化太大的话,需要在信号输入前增加一个采样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存。在经过译码后,被选中的通道中的模拟量进入转换器进行转换。A、B和C为三条地址输入线,用来选通IN0到IN7上的一路模拟输入量。通道的选择如表3.4所示。表3.4 通道选择选择模拟通道地址线ABCIN0IN1IN2IN3IN4IN5IN6IN7低高低高低高低高低低高高低低高高低低低高高高数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。3.4 显示模块电路在本次的设计中,数码管采用的是动态显示的方法。这样的显示方法的基本做法是分时轮流选通数码管的公共端,使得各数码管轮流导通,相应的数码管在选通后就会在显示字段上得到显示字形码。采用这样的方法不仅能够提高数码管的发光效率,并且大大简化了硬件线路,因为每个数码管的字段线是并联使用的。本设计采用4位数码管来显示检测结果,逐位轮流点亮各个数码管,每一位保持1ms,在20毫秒内再次点亮,如此重复。这就利用了人的视觉滞留印象,这样就使得4位数码管好像同时点亮一样。图3.12为数码管的引脚图。图3.12 数码管引脚图3.5 总电路分析说明图3.13 系统原理图如图3.13所示为系统总电路原理图,总电路由STC89C52单片机、ADC0809、数码显示管电路、MAX232芯片、晶振电路、复位电路、传感器、报警模块组成。MQ-9传感器接受的气体信息信号由LM393对信号放大转化为0-5V内变化的直流信号,经由ADC0809将模拟量转化为数字量,由单片机对数据进行处理,最后由单片机程序处理将数据由数码管显示出来,并且如果超过设定数值(3V)蜂鸣器报警。MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。器件特别适合电池供电系统,这是由于其低功耗关断模式可以将功耗减小到5uW以内。晶振电路就像交通灯的时间计数一样,如果时间停止了,红绿灯信号也就不切换了。数字电路都是按节拍来进行处理的,而晶振就是提供这个节拍的,有了晶振单片机才能够处理数据。第四章 系统软件设计4.1 主程序设计#include#includeshumaguan.h#includeadc0809.csbitbuz=P37;voidmain()inttemp,i=1;init_timer0(); /定时器初始化buz=1;while(1)i-;if(i=0)i=300;adc0809_readbyte();data_0809=data_0809*0.01953;temp=data_0809*100; /保留两位小数/temp=5678; /浓度与电压数据可由静态参数实验获得,可添加对应关系 DisplayData3=DIG_CODEtemp/1000; /发送显示数据DisplayData2=DIG_CODEtemp%1000/100|0x80; /加小数点DisplayData1=DIG_CODEtemp%100/10;DisplayData0=DIG_CODEtemp%10;if(temp300)buz=0; /设置报警上限可按需修改!else buz=1;DigDisplay();4.2 ADC0809程序#include#define uchar unsigned char#define uint unsigned int#define data_port P1/8位数据口sbit start=P30;/AD开始信号,与ALE连接在一起用sbit eoc=P31;/转换完成标志sbit oe=P32;/输出使能端sbit clk=P33; /时钟脉冲输出端float data_0809;/存储读取的数值 void init_timer0()/产生500khz信号TMOD=0x11;TH0=(65536-1)/256;TL0=(65536-1)%256;/取余EA=1;TR0=1;ET0=1;void adc0809_readbyte() /读取转换数据start=0;oe=0;/a=0;/输入选择端/b=0;/输入选择端/c=0;/输入选择端data_port=0xff;start=0;start=1;start=0;while(eoc=0);oe=1;data_0809=data_port;/读入转换的数字量oe=0;void timer() interrupt 1 /产生500khz信号TH0=(65536-1)/256;TL0=(65536-1)%256;clk=clk;4.3 显示子程序的设计#include#define GPIO_DIG P0/段码#define GPIO_SELECT P2/位码unsigned char code DIG_CODE17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/共阴码 0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char DisplayData8;/用来存放要显示的8位数的值/* 函 数 名 : DigDisplay* 函数功能 : 使用数码管显示* 输 入 : 无* 输 出 : 无*/void DigDisplay()unsigned char i;unsigned int j;for(i=0;i8;i+)switch(i) /位选,选择点亮的数码管,case(0):/不使用译码器GPIO_SELECT=0x01; break;/显示第0位case(1):GPIO_SELECT=0x02; break;/显示第1位case(2):GPIO_SELECT=0x04; break;/显示第2位case(3):GPIO_SELECT=0x08; break;/显示第3位 case(4):GPIO_SELECT=0x10; break;/显示第4位case(5):GPIO_SELECT=0x20; break;/显示第5位case(6):GPIO_SELECT=0x40; break;/显示第6位case(7):GPIO_SELECT=0x80; break;/显示第7位GPIO_DIG=DisplayDatai;/发送段码j=2; /扫描间隔时间设定while(j-);GPIO_DIG=0xff;/消隐第五章 系统调试与分析5.1 硬件调试系统由MQ-9气体传感器检测甲烷浓度,输出的模拟信号经过ADC0809模数转换后,送到89C52进行分析处理,显示在数码管上,并且当浓度超过上限后蜂鸣器会产生报警信号。硬件连接MCU数码管ADC0809蜂鸣器P0段码P2位码P1八位数据口P30startP31eocP32oeP33clkP37Buz(低电平)另外传感器除VCC和GND外,AOUT接ADC0809的0通道输入。报警设置:初步设置当电压大于3V时蜂鸣器报警,也可以自行定义。5.2 环境模拟及系统调试图5.1 演示截图一图5.2 演示截图二 图5.3 演示截图三图5.4 演示截图四由于没有甲烷气体测试,就用电压来模拟装置测电压(实际测甲烷)的能力。将连在传感器上的输入端拔下,插到不同电压端模拟。首先接到地端,显示电压为0,如图5.1所示。将输入端从地端拔出,随机接入不同电压端,显示电压分别为0.35V和1.03V。如图5.2、5.3所示。当再次接入,此时显示电压为3.33V(如图5.4),蜂鸣器报警。此时,装置的主体功能已经完成,只需要将输入端连到传感器上,就可以实现实时检测甲烷以及报警的功能了。5.3 调试故障及原因分析在最初进行装置调试时,打开电池盒的开关,数码管无法正常显示,检查电路板,发现ADC0809引脚与数码管连接处有两处短路,用烙铁重新焊接后,数码管还是无法正常显示。再次检查电路板,没有发现明显的焊接错误,最终发现STC89C52单片机的21引脚与0809的15引脚连线在之前的操作中松脱,将连线重新接好。至此,装置硬件上的故障均已排除。在进行软件调试时,运用的都是C语言、单片机。在用程序实现设计想要的功能时,几乎每个模块都有错误,参考来的程序都不能直接适用于我的设计中。通过查阅相关教科书以及不断请教相关知识掌握较好的同学,把每个程序的功能都进行了修改,最终成功将程序捎入单片机,再通过场景模拟,成功实现了装置检测甲烷及报警的功能。发生上述故障的原因,大都是因为自己掌握专业知识不牢固,以及粗心、缺乏变通能力。5.4 测试结果及分析我此次设计的甲烷检测仪检测的甲烷来源有两个,一是家里燃气灶使用的天然气,二是用甲烷作为燃料的打火机。在家中用天然气作为被检测气体时,先将装置电源打开,让传感器预热几分钟,待预热完毕,数码管显示数值在0.4V左右。打开燃气灶阀门并将火吹灭,此时迅速将传感器置于燃气灶出气口,数码管显示的数值立刻上升至0.8V左右,燃气灶的保护装置使得不再出气,传感器检测不到甲烷气体,数码管显示的数值逐渐降低恢复到0.5V以下。由于天然气的保护装置使得检测不能持续进行,因此采用甲烷燃料的打火机做测试。依旧是预热,点着打火机吹灭并且把打火机出气口对准MQ-9传感器,数码管显示数值逐渐上升至2.6V左右不再上升,传感器自带LED灯在数值达到2V时点亮。移除打火机,数码管显示的数值又从2.6V逐渐下降。在一次检测中由于误操作,在数值上升到1.5V左右时又点了一下打火石使得传感器附近的气体瞬间点燃,意外观察到数值直接由1.5V跳到2.2V,并且LED灯点亮,随后数值又迅速下降,LED灯灭,直到回复初始状态。多次实际对甲烷气体的测量都没有达到让蜂鸣器报警的3V电压略有遗憾,但

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论