您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 基于Arduino的酒精与一氧化碳气体检测器设计
基于Arduino的酒精与一氧化碳气体检测器设计1.前言1.1设计背景随着社会工业的发展,推动着社会的进步,却也存在着时时刻刻危害着人类生存的气体,那么通过什么方式才能知道我们环境所存在的气体的浓度呢,以便做出及时处理和改善。社会上虽有检测有害气体浓度的设备,但是价格昂贵,不能够普及使用,特别是家庭方面,煤气中毒事件屡见不鲜。生活中迫切需要一款经济实用的有害气体浓度检测装置。1.2设计目的和意义为将所学运用于实践中,提高自身能力的同时,考虑到社会所需,呼吁人们关注周围环境,因此做了一款基于Arduino的酒精与一氧化碳气体浓度检测的设计。2任务的提出与方案论证2.1设计要求1、可检测出10—1000ppm的气体的浓度(酒精、一氧化碳);2、通过小型液晶显示器和上位机界面显示气体浓度值;3、当气体浓度值达到所设阈值时,立刻报警;4、报警方式通过灯光报警和蜂鸣器器报警。2.2方案选择方案一:采用单片机STC89C51为主进行设计,有32个I/O口,可供设计时进行功能扩展,无需进行引脚扩展,设计过程中无需占用多大体积。有害气体浓度采集可采用MQ-3和MQ-7,对酒精、CO气体有较好的灵敏度。显示浓度值可采用SSD1306OLED液晶模块。将有害气体浓度值通过串口发送至上位机。方案二:采用Arduino单片机作为主控制器进行设计,Arduino有数字和模拟端口,无需进行数模转换可直接读出所测气体浓度值,端口定义灵活,代码开源易于无联网设计。有害气体浓度采集可采用MQ-3和MQ-7,可测酒精和CO气体。显示浓度值可采用0.96寸SSD1306OLED液晶模块。将有害气体浓度发送至上位机。在上述两种方案中,都可以很好的实现该系统的设计,但由于对单片机STC89C51在此设计中使用不够方便、灵活等,而Arduino基础设计都有教程参考,所以方案二更加易于实现和拓展性更高。2.3总体方案设计本设计规划的总体方案如下:在设计中采用Arduino为控制芯片,通过传感器MQ-3和MQ-7实时监测周围有害气体浓度,将浓度值传送给Arduino进行判断处理是否通过蜂鸣器报警,并通过SSD1306OLED液晶模块显示其浓度,如果产生报警,将报警LED闪烁并实时通过串口发送至上位机,上位机也通过图形显示控件实时显示当前气体浓度值。图2.1为系统设计框架图:MQ-3MQ-7ArduinoPCOLED显示LED报警蜂鸣器报警图2.1系统设计框架图3系统主要硬件介绍3.1控制模块本次设计采用ArduinoUnoR3芯片为主的控制器件,其中0-13为数字I/O口,A0-A5为模拟I/O口,输出5V/3.3V直流电压两种选择。其芯片接口如图3.1所示:图3.1Arduino接口图3.2气体浓度检测模块MQ-3和MQ-7(见图3.2)的电导率随空气中酒精气体浓度和一氧化碳气体浓度的增加而增大,污染气体浓度值有模拟、数字两种方式输出。在本次设计中需获得污染气体浓度值,所以选择模拟端口输出。由于Arduino有模拟端口(A0~A5),可直接读取模拟信号值,故MQ-3和MQ-7可直接与Arduino的模拟端口相连接。图3.2MQ-3和MQ-73.3显示模块SSD1306(见图3.3)是一个单片CMOSOLED/PLED驱动芯片可以驱动有机/聚合发光二极管点阵图形显示系统。由128segments和64Commons组成。该芯片专为共阴极OLED面板设计。SSD1306中嵌入了对比度控制器、显示RAM和晶振,并因此减少了外部器件和功耗。有256级亮度控制。数据/命令的发送有三种接口可选择:6800/8000串口,I2C接口或SPI接口。在本次应用中采用的是I2C接口,SSD1306OLED液晶模块在此显示两种气体的浓度值。图3.2SSD1306OLED液晶显示模块4系统程序设计在设计过程中,软硬件相结合才能够顺利完成项目的设计,只有在反复的实践中才能对程序进行纠正和优化,减少程序漏洞,使之程序结构严谨,系统稳定。因此,在程序设计前需要想好,使用这个硬件让它发挥着怎样的一个功能,以便衡量硬件选择的合理性。4.1下位机程序设计在本次设计中要达到以下几点功能,首先需将有害气体的浓度检测出来,其次是根据人体对有害气体适应的能力进行阈值设置,声音报警,最后通过两种方式将有害气体的浓度呈现出来,即串口发送至上位机和SSD1306OLED液晶模块屏。为达到以上功能,其主程序流程图如图4.1所示:图4.1主程序流程图4.2上位机程序设计上位机的设计使用的是LabVIEW软件,LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。因此选择LabVIEW作为上位机设计软件是比较理想的选择。上位机运行开始后,从串口接收下位机Arduino发送过来的数据,经过解析后使用图形显示控件显示其历史曲线,并可显示具体数值,程序退出后可保存历史数据一遍后续需要的时候查阅。其上位机程序流程图如下所示。图4.2上位机程序流程图5.软硬件调试结果气体的浓度值是需要做标定后才能转换的,标定的时候可以记录一系列已知的气体浓度值和对应的传感器模块输出的模拟电压值,在一定范围内可以认为是线性关系,上位机通过线性拟合将得出气体浓度值与采集到的模拟电压值的线性关系,由此完成标定过程。上位机操作界面与下位机实际运行效果如下图所示。图5.1上位机界面操作图图5.2下位机运行效果图[参考文献][1]陈吕洲.Arduino程序设计基础(第二版).北京:航空航天大学出版社,2015.3.[2]温江涛,张煜.物联网智能家居平台DIY——Arduino+Xively+上位机+微信.科学出版社,2015.12.[3]谢健骊.物联网无线通信技术.西南交通大学出版社,2013.2.[4]柴远波.短距离无线通信技术及应用.电子工业出版社,2015.4.[5]张志勇.现代传感器原理及应用.电子工业出版社,2014.1.[6]TosshihisaTsukada.SSD1306OLED液晶模块/LCD薄膜晶体管寻址的液晶显示器.机械工业出版社,2012.9.[7]孙骏荣.Arduino互动设计入门计算机与互联网.科学,2015、7[8]喻宗泉.蓝牙技术基础/普通高等教育规划教材.机械工业出版社,2006、1[9]吴功宜,吴英著.物联网工程导论.机械工业出版社,2012、7[10]IanF.Akyildiz(伊恩F.阿基迪兹),MehmetCanVuran(梅梅特C.沃安).无线传感器网络.电子工业,2013、3[11]高振斌,汪鹏,田丰.气敏传感器的制备与应用.化学工业,2015、10[12]石富金.空气洁净技术.中国电力出版社,2015、02
本文标题:基于Arduino的酒精与一氧化碳气体检测器设计
链接地址:https://www.777doc.com/doc-4713873 .html