基于ZigBee的工业废气监测系统

2022-07-29 20:37:47 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

文章目录

  • 摘 要
  • ABSTRACT
  • 第一章 绪论
    • 1.1 课题背景及研究意义
    • 1.2 研究现状
      • 1.2.1 气体传感器的发展
      • 1.2.2 气体传感器的主流厂商
      • 1.2.3 气体检测仪器的发展
    • 1.3 本设计主要内容及选材
  • 第二章 系统设计方案
    • 2.1 ZigBee协议简介
      • 2.1.1 ZigBee协议体系结构
      • 2.1.2 ZigBee基本概念
    • 2.2 系统设计依据
    • 2.3 系统设计思路及整体结构
    • 2.4本章小结
  • 第三章 系统硬件设计
    • 3.1 主控制器
    • 3.2 ZigBee模块
    • 3.3 气体传感器
      • 3.3.1 MQ系列气体传感器
      • 3.3.2 MH-Z14A二氧化碳气体传感器
      • 3.3.3 二氧化硫传感器
      • 3.3.4 一氧化氮传感器
    • 3.4 PCF8591 A/D转换
    • 3.5 OLED液晶显示模块
    • 3.6 报警及按键调试电路
  • 3.7 本章小结
  • 第四章 系统软件设计
    • 4.1 软件开发环境Keil简介
    • 4.2 网络通信过程
      • 4.2.1 启动过程分析
      • 4.2.2 协调器建网
      • 4.2.3 终端设备入网
    • 4.3 PCF8591的A/D转换
    • 4.4 一氧化碳气体浓度检测
      • 4.4.1 CO气体检测软件算法流程
      • 4.4.2 MQ-7 的计算公式
      • 4.4.3 MQ-7气体浓度校准
    • 4.5 硫化氢气体浓度检测
      • 4.5.1 H 2 S H_2S H2​S气体检测软件算法流程
      • 4.5.2 MQ-136 的计算公式
      • 4.5.3 MQ-136气体浓度校准
    • 4.6 二氧化碳气体浓度检测
      • 4.6.1 MH-Z14A气体浓度读取
      • 4.6.2 MH-Z14A气体浓度校正
    • 4.7 数据滤波处理
    • 4.8 MODBUS RDU协议
    • 4.9 OLED显示子程序设计
    • 4.10 报警及按键调试软件设计
      • 4.10.1 报警子程序软件算法流程
      • 4.10.2 按键控制程序软件算法流程
    • 4.11 本章小结
  • 第五章 系统调试
    • 5.1 调试思路
    • 5.2 DL-20模块配置
    • 5.3 调试过程
    • 5.4 测试结果
    • 5.4.1 系统整体运行部分
      • 5.4.2上位机显示部分
      • 5.4.3 液晶显示部分
      • 5.4.4 按键及报警部分
    • 5.5 本章小结
  • 第六章 总结与展望
    • 6.1 总结
    • 6.2 展望
    • 6.3 设计方案的优势
    • 付费资源链接
  • 附录

摘 要

本文主要对工业现场中排放的工业废气浓度进行检测。并根据国内外气体监测技术的发展现状,提出了基于ZigBee的工业废气监测系统的设计方案。

本系统主要由单片机、气体浓度检测模块、模数转换模块、显示模块、按键、蜂鸣器和无线通信模块等组成。本文首先介绍了工业废气检测系统的研究背景意义,同时结合国内外气体检测技术的发展现状,提出了基于ZigBee的工业废气监测系统设计方案。随后本文简要介绍了ZigBee技术并提出了系统总体设计方案。本系统的功能包括气体浓度的采集及数据处理,无线串口通信,液晶实时校正及按键调试和报警等。另外,本系统还具有上位机显示气体浓度的功能。最后,本文对该系统进行了调试并分析调试结果。

最终,成功设计完成了基于ZigBee的工业废气监测系统。

关键词: ZigBee CC2530 MQ-7 MQ-136 MH-Z14A 工业废气监测

ABSTRACT

This paper mainly tests the concentration of industrial waste gas emitted from industrial sites. According to the development of gas monitoring technology at home and abroad, a design scheme of industrial waste gas monitoring system based on ZigBee is put forward.

The system is mainly composed of single chip microcomputer, gas concentration detection module, analog-to-digital conversion module, display module, key press, buzzer and wireless communication module. In this paper, the background of the research on industrial exhaust gas detection system is introduced. At the same time, it combined with the development of gas detection technology at home and abroad. Finally, the design of industrial exhaust gas monitoring system based on ZigBee is proposed. Subsequently, this paper briefly introduces the ZigBee technology and puts forward the overall design plan of the system. The functions of the system include gas concentration acquisition and data processing, wireless serial communication, real-time correction of LCD, key debugging and alarm. In addition, the system also has the function of displaying the gas concentration on the upper computer. Finally, we debug the system and analyze the debugging results.

Finally, the industrial waste gas monitoring system based on ZigBee was successfully designed and completed.

Key Words: ZigBee CC2530 MQ-7 MQ-136 MH-Z14A Industrial Exhaust Monitoring

第一章 绪论

1.1 课题背景及研究意义

随着科技进步以及工业的快速发展,工业生产中特别是石油化工行业排放了各类工业废气如 C O 2 、 C O 、 H 2 S CO_2、CO、H_2S CO2​、CO、H2​S等[1]。这些工业废气的排放对大气环境造成了严重的污染,已经严重危害到了人们的日常生活[2]。 因此,如何对工业废气进行检测已经成为了一个重要的研究课题。

但是,传统的工业废气监测系统大多采用有线的方式[3],有线监测安装成本高,极易受环境影响,存在监控不准确、不及时的缺点; 除此之外,当前流行的各种气体浓度检测仪存在造价昂贵,不易推广等缺点。因此,本系统基于 ZigBee无线通信技术的发展,设计了一种基于ZigBee的工业废气监测系统 , 它可以实时、准确、高效的监测工厂排放废气的含量。同时本系统采用了模块化结构来设计硬件电路,有效降低了维护系统的困难程度。本系统的设计对于提高我国空气环境质量具有重要意义[4]。

1.2 研究现状

1.2.1 气体传感器的发展

气体传感器又称为气敏元件,它是检测气体的核心[5]。可以测量环境中的某种气体的种类及其浓度,并将气体浓度转换为电压信号, 在进行相应的数据转换后,得到空气中的实际气体浓度。传统的气体传感器从内部电路构成原理上来说大致分为四类,其中包括电学类、光学类、电化学类以及采用高分子气敏材料制成的气体传感器[6]。

气体传感器正在向小型化、精准化和智能化的方向发展[7]。其中新材料制作技术(纳米、薄膜技术)的发展使得气体传感器逐渐走向多功能化。MEMS技术的发展使传感器尺寸大大减小,而传感器的微型化发展有利于推动多个气体传感器的集成化,以实现传感器的多功能化[8]。而要想气体传感器的智能化发展就必须要实现数字电路与多气体传感器的集成化发展。

许多生产厂家为这一潮流已经陆续推出相关产品,如Bosch公司推出了新产品BME280,这款产品同时具备了微型化、高集成化及智能化的特点[9]。除此之外,它还具有多功能化的强大优点,可以同时对气体浓度、大气压强及温湿度进行监测。

1.2.2 气体传感器的主流厂商

当前国际上生产气体传感器的龙头企业有霍尼韦尔公司(Honeywell)、费加罗公司(Figaro)、阿尔法公司(Alphasense)及炜盛科技公司等。

霍尼韦尔公司主流产品是电化学气体传感器,同时也会生产红外、催化类气体传感器。霍尼韦尔公司既生产氧气、二氧化碳、一氧化氮等常用气体传感器,也生产氰化氢,氯气,联氨等用于工业现场的气体传感器。Honeywell公司每年生产传感器数量超过150万个,它们超过200种类型。Honeywell公司的传感器可以检测出大约二十种不同类型的气体。[10]

费加罗公司主要生产半导体型、催化燃烧型和电化学气体传感器,它们通常被应用在工业现场、汽车行业、科学专用测量和室内环境检测等场合。除此之外,费加罗公司推出了TGS8100,它是一款空气质量传感器[11]。该传感器应用了当前流行的MEMS技术,是市面上相关传感器中拥有最小体积、最低功耗的传感器。

阿尔法公司的产品主要用来检测工业现场的氧气、易燃气体以及有毒气体的含量。阿尔法公司主要有四种类型的传感器,包括电化学类、催化类、光学类以及半导体类。

国内生产气体传感器的龙头企业是炜盛科技公司,它的主打产品有半导体、催化燃烧、电化学和红外光学气体传感器[12]。该公司的气体传感器的销量占国内市场的一半以上。炜盛科技公司的产品可以检测如甲烷、硫化氢、二氧化碳等多类别的气体。

1.2.3 气体检测仪器的发展

随着气体传感器的飞速发展,许多不同种类的的气体浓度检测仪开始出现在市面上,如利用光谱吸收技术设计的和利用电化学传感器设计的气体浓度检测分析仪。尽管这些气体检测仪器相对比较昂贵,但它们具有更高的自动化水平,同时还具有更好的性能。这些气体检测仪器的出现极大的促进气体检测技术的发展,具有重要的现代化意义。

气体检测仪分类有多种方式,按检测对象的不同可分为可燃气体(CO、 C H 4 CH_4 CH4​等)、有毒气体( H 2 S 、 c l 2 H_2S、cl_2 H2​S、cl2​等)以及氧气检测仪[13]。按检测仪的采样方式可分为扩散式、便携式、固定式。在危险场合中应使用扩散式仪器[14];便携式仪器主要用于安全检查;固定式仪器常用于大型工业现场实时监控气体浓度。气体检测仪也开始逐渐变得更加小型化、智能化更高、通用型更强同时具有很多功能。

1.仪器微型化 随着气体传感器集成度越来越高,气体检测仪器也逐渐向微型化方向发展[15]。相关方面的技术有传感器阵列的产生和集成电路的出现,它们通过将检测不同气体的气敏元件集成化从而有效减少器件体积来实现的。

2.仪器智能化 仪器智能化的实现是通过在传感器内部嵌入微处理器芯片,从而使系统可以自行校正并可以显示仪器故障。其软件算法是利用神经元网络和模糊理论,来辨别环境中的气体种类以及所测气体浓度。其中基于电子鼻技术的气体传感系统就是仪器智能化的典型代表[16]。

3.仪器多功能化 多功能化指的是气体传感器可以实现多参数(浓度、压力、温度流速等)、多气体类别检测。通过的对气体多参数测试可更直观、全面地反映被测气体的特性。

4.仪器通用化 仪器通用化是指利用单一气体检测仪可测试多种不同类型的气体[17]。仪器通用化已经成为了不可逆转的趋势,如IST公司生产了一种便携式气体检测仪,它可以检测100多种不同气体的浓度。

1.3 本设计主要内容及选材

本设计主要由51 单片机组成的主控模块;一氧化碳传感器(MQ-7)、硫化氢传感器(MQ-136 )以及二氧化碳传感器(MH-Z14A)组成的气体检测模块;OLED组成的显示模块;蜂鸣器组成的报警模块和DL-20组成的上位机通信模块等组成。系统通过气体浓度检测电路对工业现场排放的工业废气进行监测,并将 C O 2 、 C O 、 H 2 S CO_2、CO、H_2S CO2​、CO、H2​S的浓度信息显示在液晶屏和上位机界面上,当系统检测到某一气体浓度超过预设的报警浓度则进行报警。除此之外,还可通过按键对采集公式进行零点校正或者对蜂鸣器报警上限进行修正。通过这一系列的数据采集、处理和报警的流程,本系统能实现对中小型工业现场排放废气含量进行实时检测。

第二章 系统设计方案

2.1 ZigBee协议简介

2.1.1 ZigBee协议体系结构

ZigBee协议是基于IEEE802.15.4标准,由IEEE802.15.4和ZigBee联盟共同商定。ZigBee协议栈是由物理层、媒体介质访问层、网络层和应用层共4层构成,其中物理层和媒体介质访问层层由IEEE802.15.4标准工作组制订,而网络层层和应用层层由ZigBee联盟自行制订。每一层都能完成其各自特定的任务并且能够向上一层提供服务,其中数据服务实体负责数据传输服务,管理服务实体则负责所有其他管理服务ZigBee协议体系结构如图2.1所示:

代码语言:javascript复制
                                     图2.1  ZigBee协议体系结构图 

2.1.2 ZigBee基本概念

本小节将对本系统需要用到的设备类型、网络拓扑结构概念进行介绍。

  1. 设备类型

设备类型主要分为有协调器、终端节点和路由器[18]。

(1)协调器(Coordinator )

协调器[19]的功能是发送命令、将数据传给上位机[20]。但是只有在启动和配置网络时需要用到协调器,网络运行过程并不需要协调器。

(2)路由器(Router)

网络远距离延伸需要路由器节点的参与,因此它通常出现在树形拓扑结构和网状拓扑结构中。它主要起到协调各节点通信的作用。

(3)终端设备(End Instrument)

发送和接收信息是终端设备的主要功能,终端设备可依据需要选择休眠或唤醒的工作状态,从而降低系统功耗。

  1. 网络拓扑结构

ZigBee网络拓扑结构有三种,它们分别是星型、树形和网状拓扑网络[21]。其中ZigBee网络拓扑结构图如图2.2所示。

2.2 系统设计依据

根据《石油化工企业可燃气体和有毒气体检测报警设计规范》GB50493-2009国标规定:在缺氧或腐蚀性等场所,宜选用红外气体检(探)测器;硫化氢、氯气、一氧化碳可选用电化学或半导体型气体传感器。可燃气体的一级报警设定值小于或等于25%爆炸下限;有毒气体的报警设定值宜小于或等于100%最高允许浓度/短时间允许接触浓度。根据系统的系统实际应用的工业现场环境,并结合我国气体浓度监测技术的发展现状,要求基于ZigBee的工业废气监测系统具有以下两个特点。

1.操作简单,维护方便

本系统主要面向中小型工业现场,所以应该尽量避免产品操作说明过于复杂,相反我们设计的系统应该操作简便,一般人都可上手操作。同时,为了减小维护系统的难度,应尽量采用模块化设计,从而有利于维修人员对故障进行及时的排查处理。

2.性价比高,精度高低

如果想要提高产品的市场投放量,我们就必须考虑当前中小型工厂的经济收入现状。也就是说尽量把生产成本控制在中小型工厂可承受的范围之内。除此之外,气体检测仪器的误差率需控制在10%之内,因而在传感器选型方面要同时兼顾价格及转换精度等方面。

2.3 系统设计思路及整体结构

  1. 系统设计方案选择

要实现系统功能需对主控芯片,检测传感器以及无线通信模块进行选择。主控芯片有STC系列以及嵌入式单片机如32单片机,基于系统设计成本考虑选用STC系列的STC89C516RD 单片机,该型号的单片机有61K的Flash闪存,可很好实现系统功能。气体传感器选用光学类气体传感器,液晶屏考虑有两种选择:LCD1602和OLED,由于系统需显示较多的数据,为使系统操作界面方便直观,故选择使用OLED液晶屏。

无线传输方式有WIFI传输、蓝牙传输、ZigBee传输。对比之下,ZigBee传输组网方便,耗能低,传输距离也满足要求,故选择ZigBee模块进行无线传输。

综上所述,本系统由STC89C516RD 单片机[22]组成的主控芯片,一氧化碳传感器(MQ-7)、硫化氢传感器(MQ-136)以及二氧化碳传感器(MH-Z14A)组成的检测模块;OLED组成的显示模块;蜂鸣器组成的报警模块和DL-20组成的上位机通信模块等组成。

  1. 上位机监控系统设计方案

本系统基于ZigBee无线通信协议,采用点对点通信方式。选用两个DL-20模块分别作为协调器和终端设备。协调器负责向终端设备发送命令并将采集的气体浓度传送给上位机。终端节点则与STC89C516RD 相连并负责传送采集到的气体浓度数据。

上位机部分功能如下,当需要对气体浓度进行采集时,由coordinator向终端设备发送命令,终端设备通过一氧化碳传感器(MQ-7)、硫化氢传感器(MQ-136)以及二氧化碳传感器(MH-Z14A)进行气体浓度的采集,之后由终端设备将采集的气体浓度数据发送给coordinator,然后coordinator通过串口将气体浓度数据发送给上位机,并在串口调试助手上显示气体浓度数据[23]。其中废气监测监控系统方案如图2.3所示。

除此之外,系统配置了OLED液晶显示屏,可实时对系统进行校正,从而提高系统的准确性。也可在液晶屏上实时观察气体传感器采集数据,另外系统具有气体浓度超限报警功能,当某一气体浓度过高,蜂鸣器会报警。并且可以通过按键来调节报警值以及对传感器的采集公式进行零点校正。废气监测系统总体设计方案图,如图2.4所示。

2.4本章小结

1.本章对ZigBee协议进行了简要的介绍。 2. 本章主要对基于ZigBee的工业废气监测系统在中小型工厂生产中的市场需求进行了分析。 3. 提出了基于ZigBee的工业废气监测系统的总体设计方案及上位机监控方案。

第三章 系统硬件设计

3.1 主控制器

系统的主控芯片选STC89C516RD 单片机[24],它是是低压5V供电、处理器为8bits。STC89C516RD 可用C语言编程,操作简便,灵活性高,因此被广泛地应用于各种智能控制场合。STC89C516RD 的引脚排列及外围电路图如图3.1 所示。

  1. 复位电路

为保证STC89C516RD 可以正常工作,防止程序跑飞现象的发生,特意设计了复位电路,它由RC阻容网络及按键组成。它的工作原理为,当单片机上电启动后,电源VCC通过的电容C3向10K的电阻R2充电,电阻R2上有电压产生,单片机复位,一段时间后电容C3充满电荷,单片机正常工作;当按下弹性按键S1时,电容C3放电,松开弹性按键,电容C3充电,单片机复位,电容C3充满电荷后,单片机正常工作[25]。复位时间的长短与电容C3的容量有关。电容C3越大,复位时间越长。复位电路原理图如图3.1所示。

  1. 晶振电路

时钟电路又称晶振电路[26],它是由两个起振电容(C1、C2)以及晶振(Y1)组成[27],这里的的电容C1、C2都选择32pF,晶振选择11.0592MHZ,它们一同构成了并联谐振电路。该电路产生时钟脉冲信号,该信号对维持单片机工作来说是不可或缺的。图3.1为时钟电路原理图,从图中可知,只需要将晶振的一端(XT1)接到单片机的19引脚(XTAL1),另一端(XT2)接至单片机的18引脚(XTAL2),即可起振,从而提供单片机所需要的时钟频率,使工业废气监测系统正常工作。

3.2 ZigBee模块

本设计所采用的无线通信模块为DL-20模块。它与上位机之间传输气体浓度数据是通过无线的方式,因而提高了传输的稳定性,减少了传输线路,极大地节约了成本。其中与STC89C16RD 的P3.3/P3.4相连的DL-20模块为终端设备,主要用于接收协调器的命令,并将采集到的气体浓度数据传送给协调器,与电脑相连的DL-20模块称为协调器,它主要是向终端设备发送命令,并通过串口协议将从终端设备收到的气体浓度发送给上位机。DL-20模块具有以下特点。

  • 点对点传输较准确。
  • 支持串口连续发送。
  • 支持全双工的方式收发数据。
  • 传输速率最高可达3300 bytes/s。
  • 适应3.0V-5.5V电压,接口电平。
  • 按键可方便调节通信方式、波特率等。 图3.2为ZigBee模块结构图。

本系统有两个DL-20模块,它们分别作为协调器节点和终端设备节点来使用。

  1. 协调器节点 协调器节点主要由CC2530、UART、晶振(32MHZ)、电源模块和天线组成[28]。协调器负责向终端设备发送命令,然后接收气体浓度信息,并传送给串口调试助手显示。图3.3为协调器节点。
  1. 终端节点 终端节点主要由CC2530、电源模块、晶振(32MHZ)、天线、一氧化碳传感器(MQ-7)、硫化氢传感器(MQ-136)及二氧化碳传感器(MH-Z14A)共七部分组成。终端节点主要是接收协调器发送的命令,然后将采集到的气体浓度传送给协调器。图3.4为终端节点设计图。

3.3 气体传感器

3.3.1 MQ系列气体传感器

本系统的一氧化碳传感器和硫化氢传感器分别选用了MQ-7与MQ-136模块。其中MQ系列采用的气敏材料是 S n O 2 SnO_2 SnO2​, S n O 2 SnO_2 SnO2​的优点是在空气中有较低的电导率。MQ系列所测气体浓度与其电导率变化呈正相关,传感器检测到电导率发生变化后采用简单的A/D转换电路即可得到工业现场的实际气体浓度。MQ系列气体传感器特点如下:

  • 信号输出具有指示;
  • 有双路信号输出;
  • 低电平为MQ系列传感器的有效TTL电平。
  • 模拟量的输出电压范围为0~5V,且所测气体浓度与电压转换呈正相关;
  • 气体检测具有高灵敏度;
  • 使用寿命长,稳定性高。

MQ系列传感器模块电路原理图,如图3.5所示。

MQ-7主要用来检测CO浓度;MQ-136主要用来检测 H 2 S H_2S H2​S浓度,它们可以较为准确的反映环境中相应气体的浓度。MQ系列传感器具有成本低廉、应用场所广泛的特点。。

MQ系列传感器要正常工作需要施加两个电压:加热器电压( V H V_H VH​)和测试电压( V C V_C VC​)[30]。其中 V C V_C VC​是用来检测负载电阻(RL)上的电压 V R L V_{RL} VRL​。 V H V_H VH​是用来提供系统正常工作所需的额定温度。在MQ系列传感器的测试回路中, V C V_C VC​需要供给直流电,且 V C V_C VC​和 V H V_H VH​需要共电源、共地。可以通过调节RL的值以使传感器发挥出最佳性能。MQ系列传感器测试回路如3.6图所示。

3.3.2 MH-Z14A二氧化碳气体传感器

C O 2 CO_2 CO2​传感器采用炜盛科技公司的MH-Z14A,它具有通用化、小型化、智能化、高选择性、寿命长的优点,采用NDIR原理来检测空气中的 C O 2 CO_2 CO2​浓度,其内部自备温度补偿电路;它的信号输出方式有三种,包括PWM波形输出[31]、模拟输出(DAC)及串口输出(UART),可方便地对其编程使用。该传感器是光学类传感器,具有很高的性能,因而得到广泛应用。MH-Z14A特点如下:

  • 镀金处理气室,可有效防水、防腐蚀;
  • 灵敏度高、功耗低;
  • 稳定性高;
  • 有三种输出信号UART、DAC、PWM;
  • 寿命长;
  • 可有效防止水汽干扰。

MH-Z14A应用十分广泛,主要应用于学校、智能家居、工厂等场合。它采用25引脚封装。其引脚图如图3.8所示,MH-Z14A 具体引脚定义如表3.1所示:

3.3.3 二氧化硫传感器

二氧化硫气体传感器选用ME4-SO2,它是一种电化学传感器,根据电化学的原理工作,利用待测气体在电解池中工作电极上的电化学氧化过程,其中电化学反应所产生的电流与其浓度成正比并遵循法拉第定律。这样,通过测定电流的大小就可以确定待测气体的浓度。其中二氧化硫传感器测试电路图如图3.9所示。

图3.9 ME4-SO2测试回路

3.3.4 一氧化氮传感器

一氧化氮传感器采用圣凯安科技的7NE系列智能型NO传感器, 该传感器操作方便、测量准确、工作可靠,适用于工业现场或实验室测量不同的要求。传感器具有电压和串口同时输出特点,方便客户调试及使用。NO传感器接线示意图如图3.10所示。

图3.10 NO传感器测试回路

3.4 PCF8591 A/D转换

在工业废气检测系统中,由于MQ-7和MQ-136输出信号为模拟电压信号(0~5V),但计算机只能识别数字量(二进制),因此本系统需采用A/D转换,来将采集的模拟电压信号转换为可供计算机识别处理的数字量。所以要选择一款A/D转换芯片。由于ADC0809为并行转换工作方式,占用的I/O口多,读写程序复杂、难以扩展。为了尽量减小I/O口线,提高传输效率,降低成本我们选用了PCF8591模块来进行A/D转换。PCF8591 是8 bits 的A/D 转换芯片,采用I2C总线传输方式,在与微处理器进行相应的数据传输时只需要时钟线(SCL)和数据线(SDA)即可,从而有效的减少需要占用的I/O口的数量[32]。PCF8591特点如下:

  • 工作电压低(2.5 V ~ 6 V);
  • 待机电流较低;
  • 采用I2C总线协议[33],实现了数据串行传输;
  • 引脚编址利用三个硬件引脚;
  • I2C总线速度决定了采样速度;
  • 有片上跟踪、保持电路
  • 有一个模拟输出

PCF8591采用单电源供电、功耗低。外部管脚有模拟输出(AO)、SCL、SDA、地址引脚(A0-A2),四个模拟输入(AI0-AIN3)。其中地址引脚用来对硬件地址编程,从而可对连接到I2C总线上的8个PCF8591模块进行选择。器件功能包括A/D转换、D/A转换、片上跟踪保持。PCF8591通过I2C总线来传输数据、地址和控制信息。其中I2C 总线传输速度决定了数据的转换速度。PCF8591与单片机硬件连接图如图3.11所示,PCF8591引脚定义如表3.2所示。

3.5 OLED液晶显示模块

本系统的液晶显示模块选用中景园科技的OLED液晶屏。它可以自发光、有较高的对比度、不需要背光源、有广阔的视角、较薄的厚度、能适用的温度较广、有较快的反应速度、制作简单。因而得到了广泛的应用。

该模块支持四种接口方式,在工业废气监测系统中,OLED模块与单片机的连接采用了四线SPI的方式,该方式具有传输准确、速度快等特点。OLED模块与单片机硬件连接如图3.12所示,OLED引脚定义如表3.3所示。

3.6 报警及按键调试电路

本系统采用无源蜂鸣器来设计浓度超限报警电路。其中需要10mA左右的电流来驱动无源蜂鸣器工作,本系统采用晶体三极管来设计驱动电路。报警电路图如图3.11所示。在3.13图中,P1.5通过100欧的电阻串接到三极管的基极(B)。当实际气体浓度高于预设报警浓度时,P1.5输出为高电平,三极管导通,蜂鸣器发出滴滴的报警声;当气体浓度低于预设报警浓度时,P1.5输出为低电平,三极管截止,报警声音停止[34]。

焊接按键电路时采用了焊接按键对角线的方法,即按键一端(1端)与电源电路的0V相接,按键的另一端(4端)通过4.7K上拉电阻与电源电路的5V相接,按键的6个输入端分别接到了单片机的P0.0~P0.5管脚上。弹性按键电路的工作原理为:当弹性按键抬起时,与它相连的单片机管脚输出电平为高电平“1”;当弹性按键按下时,按键电路导通,输出电平为低电平“0”,单片机进入按键处理子程序执行相应操作[35]。

3.7 本章小结

  1. 本章选择了STC89C516RD 为主控芯片,同时设计了单片机的外围电路。
  2. 本章对数据采集电路进行了设计及选型,具体包括了对传感器、CO传感器、传感器和A/D转换模块的选型及相应电路设计。
  3. 本章完成了按键电路及报警电路的设计。
  4. 系统整体硬件电路设计已完成,同时实物也已经焊接完成。

第四章 系统软件设计

4.1 软件开发环境Keil简介

本设计采用Keil μVision4[36]进行编程。该软件平台的使用C语言编程。C语言是高级语言,用C语言编写的程序易读性较高、容易修改和维护、程序移植性较好,可有效缩短项目开发周期,它还能有效地提高工作效率。Keil μVision4的开发环境已经完全集成了C51,Keil μVision4操作界面简单,可以同时管理多个命令窗口,并配备了编译、仿真及下载等功能,同时它可以轻松地检测程序语法错误,便于修改,功能强大,大大提高了设计开发应用程序的速度。因而得到广泛应用。

4.2 网络通信过程

该系统需采用两个DL-20模块。其中一个作为协调器,它的功能是上电复位后向终端设备发送命令,然后通过串口协议将从终端设备接收到的气体浓度数据传给上位机,以备显示。另一个作为终端设备,它负责接收协调器传送过来的命令,并将采集到的气体浓度数据打包发送给协调器。下面将对启动过程、协调器、终端设备的工作过程进行分析。

4.2.1 启动过程分析

DL-20模块的初始化主要是对设置它的波特率和定时器工作方式。其中启动过程具体分析如下:

  • 确定定时器T1的工作方式;
  • 将计算的初值装入到TH1、TL1中;
  • 启动定时器T1;
  • 确定串口工作方式;
  • Void Init()是DL-20的初始化函数,它主要用于设置T1的工作方式、设置波特率、串口工作方式选择等。

4.2.2 协调器建网

系统的软、硬件初始化完成后,协调器开始建网,若建网成功,则允许绑定[37]。然后它要检测有无节点请求入网,若有,则建立绑定并发出允许接收数据的命令。协调器接收到的CO浓度、浓度及浓度要发送给上位机显示。协调器建网子程序流程图如图4.1所示。

4.2.3 终端设备入网

系统软、硬件初始化完成后,终端设备会寻找周围的网络,并请求入网。若协调器同意请求,终端设备会与协调器建立绑定。若终端设备接收到协调器发送的请求数据传送命令,它会将所测得的气体浓度值发送给协调器。终端设备入网子程序流程图如4.2所示。

4.3 PCF8591的A/D转换

PCF8591为逐次比较型的转换方式。要想启动A/D转换,只需要选中一片PCF8591并对其进行读写操作。启动完成后可自动读取转换结果。注意触发A/D转换需要在每个时钟周期的下降沿,PCF8591可在当前时刻采样模拟电压,并同时读走上一次的转换数据[38]。

PCF8591是经由I2C总线实现数据转换。在本系统中,将MQ-7采集到的模拟量(CO浓度)接入AIN1通道,将MQ-136采集到的模拟量(浓度)接入AIN2通道,然后分别对 AIN1 通道和AIN2通道进行模/数转换,并将转换后得到的气体浓度信息读入到单片机中。首先将地址选择字设为默认值90H;然后写入转换控制字,由于要对 AIN1 和AIN2通道进行采样,所以转换控制字分别是 02H和03H;最后写入地址选择字,其中地址选择字里的D0位设置成1(读),可得对应的地址选择字是91H。图4.3为A/D转换程序流程图。

4.4 一氧化碳气体浓度检测

MQ-7的输出信号为模拟电压信号(0~5V),且气体浓度与输出电压呈正相关。因此我们只要计算出输出电压与气体浓度之间的近似线性关系,就可以得到工业现场中的实际气体浓度。

4.4.1 CO气体检测软件算法流程

图4.4为CO浓度检测程序流程图。首先要对传感器进行预热处理,因为MQ-7传感器在不通电的情形下,长时间存放后,当再次通电时,不会立即进入工作状态,导致传感器无法采集到正确的CO浓度信息,因此要事先对传感器进行预热处理[39]。

在系统工作过程中,PCF8591对一氧化碳浓度信息进行A/D转换后,将所得气体浓度数据传送给单片机以备液晶和上位机使用,然后根据实际气体浓度值是否超过预设气体浓度值来判断系统是否进入报警子程序。

4.4.2 MQ-7 的计算公式

可以通过比较传感器的输出电压与门限电压的关系来检测工业现场的CO浓度。 1.阻值 R S / R L R_S/R_L RS​/RL​与工业现场CO浓度C 的计算关系: S N O 2 SNO_2 SNO2​器件的电阻值 R S / R L R_S/R_L RS​/RL​与被测CO浓度C关系为对数关系,具体计算如下[40]:

其中m、n均为正常数。m 为气体分离率,n 与传感器的灵敏度有关,会随气体的类别的不同和温度变化而发生改变。

2.传感器电阻的计算: 传感器的电阻 R S R_S RS​,是通过与它串联的 R L R_L RL​上的有效电压 V R L V_{RL} VRL​得到的,它们之间的计算关系为:

式中为 V C V_C VC​回路电压, V R L V_{RL} VRL​是气体传感器4、6脚之间的的输出电压, R L R_L RL​是负载电阻[41]。由式4.2可得到 R S R_S RS​的阻值。

3.MQ-7传感器的输出电压计算: 根据MQ-7的工作原理,工业现场气体浓度越高,输出电压越高,二者成正相关。其中MQ-7传感器的输出电压 V R L V_{RL} VRL​可由PCF8591模块经数据转换获得。

式中为adNum[1]为PCF8591模块一通道采集到的电压值。将得到的 V R L V_{RL} VRL​与 R S / R L R_S/R_L RS​/RL​代入式4.1中,则可得到MQ-7的输出电压( V O V_O VO​)与环境中的CO浓度之间的关系。

4.4.3 MQ-7气体浓度校准

本系统提供了两种工作模式,包括正常工作模式的校正模式。因而可以灵活的适应各种复杂多变的工业现场,有较高的实用性。

1.正常工作模式 当温度为20°, O 2 O_2 O2​浓度为21%,湿度为65%, R L R_L RL​=10千欧时,MQ-7传感器灵敏度特性如图4.5所示。

对CO灵敏特性曲线进行近似线性化处理,可得此时的m=-0.624,n=1.248,因此每当气体浓度发生改变时,便会得到相应的输出电压值,经过数据转换后,可得到工业现场近似气体浓度。

2.校正工作模式 由于工业现场环境复杂多变,因而无法保证气体传感器工作在正常模式之下,且MQ-7传感器具有一定的使用年限,随着时间的推移可能会发生零漂现象,进而影响气体浓度的测量精度。为解决这种问题,本系统预留了校正功能,可方便的对斜率和零点进行校正。气体浓度校正方法主要是通过利用高灵敏度、高精度的CO浓度检测仪,通过测量多组CO浓度值,拟合出一条近似曲线,从而计算出零点n和斜率m的数值,再通过按键对该系统的一氧化碳的斜率和零点进行相应加减。

4.5 硫化氢气体浓度检测

MQ-136传感器输出信号为模拟电压信号(0~5V),且气体浓度与输出电压呈正相关。因此我们只要计算出输出电压与所测硫化氢气体浓度之间的近似线性关系,就可以得到工业现场中的实际硫化氢气体浓度。

4.5.1 H 2 S H_2S H2​S气体检测软件算法流程

图4.6为 H 2 S H_2S H2​S浓度检测程序流程图。首先要对传感器进行预热处理,因为MQ-136传感器在不通电的情形下,长时间存放后,当再次通电时,不会立即进入工作状态,导致传感器无法采集到正确的浓度信息,因此要事先对传感器进行预热处理。

在系统工作过程中,PCF8591对 H 2 S H_2S H2​S浓度信息进行A/D转换后,将所得气体浓度数据传送给单片机以备液晶和上位机使用,然后根据实际气体浓度是否超过预设气体浓度来判断系统是否要进入报警子程序。

4.5.2 MQ-136 的计算公式

可通过比较MQ-136传感器的输出电压与门限电压用来检测工业现场 H 2 S H_2S H2​S气体浓度。 1.阻值 R S / R L R_S/R_L RS​/RL​与空气中浓度C 的计算关系式: S N O 2 SNO_2 SNO2​器件的电阻值 R S / R L R_S/R_L RS​/RL​与被测 H 2 S H_2S H2​S浓度C关系为对数关系,具体计算公式参考式4-1。 2.传感器的电阻的计算: 传感器表面电阻 R S R_S RS​,是通过 R L R_L RL​上有效电压 V R L V_{RL} VRL​得到的。计算公式参考式4.2。 3.MQ-136传感器输出电压的计算: 根据MQ-136 的工作原理,工业现场气体浓度越高,输出电压越高,二者呈正相关。其中MQ-136传感器的输出电压 V R L V_{RL} VRL​可由PCF8591模块经数据转换获得。

式中adNum[2]为PCF8591模块二通道采集到的电压值。将得到的 V R L V_{RL} VRL​与 R S / R L R_S/R_L RS​/RL​代入式4.1中,则可得到MQ-136传感器输出电压( V O V_O VO​)与 H 2 S H_2S H2​S浓度之间的关系。

4.5.3 MQ-136气体浓度校准

本系统提供了两种工作模式,包括正常模式和校正模式。因而可以灵活的适应各种复杂多变的工业现场,有较高的实用性。

1.正常工作模式 当温度为20°, O 2 O_2 O2​浓度为21%,湿度为65%, R L R_L RL​=20千欧时,MQ-136硫化氢气体传感器灵敏度特性如图4.7所示。

对 H 2 S H_2S H2​S灵敏度曲线进行近似线性化处理,可得此时的m=-0.724,n=1.13,因此每当硫化氢气体浓度发生改变时,便会得到相应的输出电压值,经过数据转换后,可得到工业现场近似气体浓度。

2.校正工作模式 由于工业现场环境复杂多变,因而无法保证气体传感器工作在正常模式之下,且MQ-136传感器具有一定的使用年限,随时间的推移可能会发生零漂现象,进而影响气体浓度的测量精度。为解决这种问题,本系统预留了校正功能,可方便地对斜率和零点进行校正。气体浓度校正方法主要是利用高灵敏度、高精度的硫化氢浓度检测仪,通过测量多组 H 2 S H_2S H2​S浓度值,拟合出一条近似曲线,从而计算出零点n和斜率m的数值,再通过按键对该系统的硫化氢的斜率和零点进行相应加减。

4.6 二氧化碳气体浓度检测

4.6.1 MH-Z14A气体浓度读取

MH-Z14A模块同时具有时具有PWM输出、数字输出及模拟输出的方式来读取 C O 2 CO_2 CO2​ 浓度,这里我采用了串口读取的方式来得到工业现场 C O 2 CO_2 CO2​ 的浓度。硬件连接上MH-Z14A的RXD接至单片机的TXD,MH-Z14A的 TXD接至单片机的RXD。系统的初始化及串口调试助手的配置上需将波特率设为9600b/s。MH-Z14A协议命令接口列表见表4.1。

若要读取 C O 2 CO_2 CO2​浓度值,只需要单片机向MH-Z14A发送读取气体浓度值的命令的数据串,其中MH-Z14A读取气体浓度值协议命令见表4.2。

其中校验和的计算方法为: CheckSum= (NOT(Byte1 Byte2 Byte3 Byte4 Byte5 Byte6 Byte7)) 1。 计算校验和的核心算法如下:

代码语言:javascript复制
char getCheckSum(char *packet)
{ 
   
int j, CheckSum;
for(j = 1; j < 8; j  )
{ 
   
CheckSum  = packet[j];
}
CheckSum = 0xff - CheckSum;
CheckSum  = 1;
return CheckSum;
}

C O 2 CO_2 CO2​浓度读取的软件流程图可参考图4.8,按照上述接线方法,程序复位后,等待一段时间(大概3分钟),即可在液晶屏上看到相应环境中的浓度值。

4.6.2 MH-Z14A气体浓度校正

MH-Z14A提供了三种校零方式来进行零点校正,它们分别是手动、命令和自动校零。

1.手动校准零点 通过将MH-Z14A的HD引脚接入低电平,可以实现手动校准零点。注意至少需要接入7s以上的低电平。为保证校正结果的准确性,手动校准零点之前需要让MH-Z14A在浓度为400ppm的环境下运行20min以上。

2.命令校准 通过向MH-Z14A发送特定的的零点校准命令,可实现MH-Z14A命令校准的功能。该校准方式为纯软件校正。其中MH-Z14A的零点校准命令参考表4.3。

3.自动校准功能 MH-Z14A每隔一段时间(24h)会自动对二氧化碳浓度进行校正的方式称为零点自动校准(校准到400ppm)。家居、办公场合中可以开启自动校准功能。但像是冷库、大棚、养殖场的场合需要关闭该功能,转为命令校准或手动校准来实现相应的校准功能。

4.7 数据滤波处理

MQ系列输出信号为0~5V的模拟电压信号,而模拟电压信号进入到PCF8591模块的过程中常会产生噪声干扰,这些噪声信号通常是窄脉冲。为提高气体浓度采集的准确性,需要对多次采集到的模拟电压信号取平均值,并用平均值来代替当前采集到的实际气体浓度。这种方法被称为平均值滤波[42]。

同时由于本系统通常应用于中小型工厂,而工厂的强电设施较多,它们极易产生尖峰脉冲信号干扰。尖峰脉冲产生的瞬时值非常大,采用单纯的算数平均值滤波已经无法满足系统对准确性的要求,考虑在算数平均值滤波的基础上对算法进行修正。可以考虑将尖峰脉冲产生的瞬时值去掉,提高滤波处理的准确性,将此种算法称为增强版算数中值滤波。

增强版算数中值滤波算法的思路是:对采集到的N个气体浓度数据按大小排序,掐头去尾,再计算剩下的N-2个数据的平均值[43]。考虑到STC89C516RD 的数据处理能力,本系统取N=8,从而有效地提高了数据的处理速度。对于高速微处理器,可酌情增加N的取值。增强版算数平均值滤波法流程图如图4.9所示。

经测试,采集数据经过增强版算数平均值滤波处理后,传送给单片机的气体浓度数据已经可以近似反映实际气体浓度。

4.8 MODBUS RDU协议

当单片机连续向上位机传送多个数据时,为了防止传输数据混乱,常采取MODBUS RDU协议来对数据进行处理。本系统需同时传送 C O 2 、 C O 、 H 2 S CO_2、CO、H_2S CO2​、CO、H2​S的气体浓度,故采取该协议来避免数据传输错误,提高传输的准确性。MODBUS RDU协议进行主从数据传输时,需将数据处理成报文即数据帧的格式。其中MODBUS RDU协议报文格式如图4.10所示。

上位机向单片机发送的命令为一个数据帧,数据帧进入单片机后寻址外设,外设会将采集的数据同样以报文格式传送回来,但是报文的最后为CRC校验位,若经校验后传回的数据错误,则不会将该数据帧传送给上位机。其中,传感器发送到上位机的数据帧格式有传感器地址、功能码、采集到的数据、CRC校验[44]。其中从机向主机查询发送程序流程图如图4.11所示。

4.9 OLED显示子程序设计

OLED内置模块128×64bits的存储器,用于储存数据。图4.12为OLED模块内部RAM的地址结构。其中RAM容量为8192bits,被分成page0~page7共计8页。其中每一个RAM空间都可以存放一个8位的字节。向显示屏的对应点写“1”,则会点亮该点;若想熄灭该点,只需写入“0”。

需要注意的是编程所需要的图片库和字符库都需要自己来计算对应的二进制位,但工作量十分庞大,很难人工完成。因此我采用了“字模提取V2.2”,它可以生成所需的代码。极大提高了工作效率,生成相应的代码后,复制粘贴到Keil μVision4内,编译下载即可在OLED上显示。

为了使OLED能正确显示编程内容,需要在单片机上电启动时按照固定上电顺序来严格操作,然后编制相应的OLED初始化函数。其中OLED模块的上电顺序如图4.13所示。

由上图可以看出 V D D V_{DD} VDD​上电稳定后,需要拉低RES#引脚,该过程至少持续3微秒,3微秒后将该引脚拉至高电平,芯片复位至此已经完成。复位完成后,VCC置为高电平。单片机发送0xAF开显示,SEG/COM管脚延迟100 ms后方可得电[45]。

4.10 报警及按键调试软件设计

4.10.1 报警子程序软件算法流程

该系统除具备OLED实时显示功能外,还有蜂鸣器超限报警的功能。可以通过开启定时器中断来实现报警功能。开机初始值默认CO报警浓度上限50ppm、 C O 2 CO_2 CO2​报警浓度上限3000ppm、 H 2 S H_2S H2​S报警浓度上限为15ppm。若其中任一气体浓度高于规定的报警浓度上限,则进入中断并启动报警子程序。只有当所有气体的浓度都低于规定的报警上限时,系统才会停止报警。图4.14为报警子程序流程图。

4.10.2 按键控制程序软件算法流程

除具备固定报警限度值外,该系统配置了相应的按键,可对气体报警浓度上限进行实时修改。独立按键采用依次查询的算法来检测是哪个按键被按下。该算法需要逐个检查I/O口的输出电平状态。若检测到某一I/O口输出电平为低电平(0V),则可以确定对应的按键被按下,然后再进入按键处理子程序即可[46]。

独立按键理想的波形是按键按下时保持低电平,但是实际上在按键按下和弹起时对应的波形的上升沿和下降沿会出现微小抖动。按键消抖存在两种常用方法,一是通过硬件方案消抖:即在按键电路并联滤波小电容,从而滤除微小抖动;二是软件消抖,即在按键检测程序里加入10ms的延时。图4.15为按键处理子程序流程图。

其中按键服务子程序功能如下: (1)当系统上电时,按下K4键,进入正常模式;按下K5键,系统进入校正模式。

(2)当系统工作在正常模式时,按下K2键,报警上限限度加1;按下K3键,报警上限限度减1。

(3)当系统工作在校正模式时,按一下K5键,进入硫化氢校正;再按一下K5键,对一氧化碳校正;按下K1键,斜率值加0.1;按下K2键,零点值加0.1;按下K3键,零点值减0.1。

4.11 本章小结

  1. 本章在基于ZigBee的工业废气检测系统的硬件设计完成的基础下,完成系统软件程序的编写。
  2. 简略阐述了系统的编程软件 Keil μVision4。
  3. 完成了对主程序的设计和流程图,以及对各个子程序的编写,包括气体浓度报警模块、上位机显示模块及液晶显示模块的子程序。

第五章 系统调试

5.1 调试思路

系统调试既可以全面检验系统功能,又可以检测系统运行过程中可能产生的故障,从而可以提出相应的方案来解决该故障。

系统调试首先要对硬件调试然后再对软件进行调试。本系统的硬件调试主要是检查MQ-7传感器、MQ-136传感器、MH-Z14A传感器、DL-20无线通信模块、液晶屏、蜂鸣器、独立按键等是否可以正常运行。硬件调试时注意检查各模块间的电路连线,特别是要检查正负极是否接反等。同时焊接电路时要防止虚焊。硬件调试仪器有万用表,示波器等。软件的调试主要是在Keil μVision4内检查程序运行是否有错误以及实际运行现象是否正确,前者主要是检查语法错误,后者主要修改逻辑错误。本系统采用C 语言编程,软件开发平台采用Keil μVision4。涉及的硬件有:USB 转串口,单片机开发板。软件有:编程软件Keil μVision4,烧录软件STC-ISP,山外上位机调试助手,V2.0字模生成软件。

5.2 DL-20模块配置

  1. 进入设置模式 给DL-20断电,按住按键不放,再给DL-20供电,上电后它的发光彩灯会闪烁,释放按键,发光二极管闪烁停止进入设置模式。
  2. 设置波特率 上一步完成后,DL-20会通过LED指示当前的波特率,若要改变波特率只需短按按键,其点亮的LED和波特率对应关系可参考图2,本系统采用9600b/s的波特率,由图2知DL-20模块左上角红灯亮则配置成功。
  3. 设置频道 波特率设为9600b/s后,按住按键不放至发光彩灯闪烁,释放按键可对DL-20的频道进行设置。此阶段只需将两个DL-20模块配置为相同的LED灯即可,本系统设成了左侧两个绿灯亮。
  4. 设置模式 在频道设置完成后,按住按键不放至发光彩灯闪烁,可对通信模式进行设置。其工作模式与LED点亮关系可参考图5.1。本系统采用点对点工作模式,由图5.1知其中一个DL-20模块下侧两个绿灯亮,另外一个DL-20模块上侧两个红灯亮,则配置成功。
  5. 确认配置 在完成两个DL-20模块的配置后,按住按键不放至发光彩灯闪烁,释放按键后全部的发光二极管常亮两秒,则可以保存之前的配置内容。

DL-20配置完成后,将主DL-20模块(协调器)通过TTL转UART模块接到上位机,从DL-20模块(终端设备)接到STC89C516RD 单片机上,待上电稳定后主Zigbee模块点亮一个红灯一个绿灯,从Zigbee模块点亮两个绿灯则说明主从Zigbee连接成功。

5.3 调试过程

(1)打开Keil μVision4 编程软件,点击新建工程(Project),并选择相应的单片机型号STC89C52,工程建好后,点击New File,将File添加进Project,然后开始编程。

(2)程序编写完成后,点击编译按钮,在Build Object栏检查是否有语法错误。若有错误(errors),在该栏双击errors,光标会指向错误程序所在行,分析并检查程序语法错误,直至编译无误,然后生成hex文件。图5.2为Keil μVision4 的工作界面。

(3)将生成的hex文件烧写到单片机内[47]。烧录过程如下:首先,打开STC-ISP软件,然后选择单片机型号STC89C516RD ,下载编程。程序下载完成后给系统上电,观察系统运行状况。

5.4 测试结果

5.4.1 系统整体运行部分

在系统硬件结构搭建完毕后,给系统上电复位后得到系统运行结果如图5.3所示。

5.4.2上位机显示部分

本系统上位机软件采用山外多功能串口调试助手,DL-20模块硬件连接完成后,打开串口调试助手,在设备管理器中查看选择与电脑相连的DL-20(协调器)的端口号,在串口调试助手中勾选端口号COM6,波特率选择9600b/s。给系统上电,发现Zigbee模块回送回来的数据有时为乱码,经查阅各方资料后,发现12MHZ的晶振传输误差大,在9600b/s的波特率下,传输误差率为-6.99%。所以将其换为了误差为0%的11.0592MHZ的晶振。成功解决了发送乱码的问题。图5.4为上位机调试测试结果图。

5.4.3 液晶显示部分

工业现场的CO、和的浓度可实时在液晶上显示,从而用户可以实时监控工业现场各项气体浓度指标。系统上电后OLED液晶屏的默认界面如图5.5所示,该界面为工作模式选择界面。

按K4键,可进入正常工作模式界面,其中界面右上角显示数字为蜂鸣器报警上限,可用K2和K3键进行调试。在正常工作模式界面可以实时观察当前的各项气体浓度值。图5.6为液晶正常模式界面。

若想选择校正模式,则对系统进行复位操作,按K5键,液晶会弹出硫化氢校正界面,在该界面我们同样可以通过按键来对硫化氢浓度转换公式的斜率和零点进行校正,其中硫化氢校正界面参考图5.7。

硫化氢校正完毕后,再按K5键,液晶会弹出一氧化碳校正界面,校正方式同硫化氢校正相同,在此不做赘述。对二者的气体浓度采集公式都校正完毕后,按K6键进行确认才可对刚才校正结果进行保存。液晶会显示校正后运行结果,这里同样可以对蜂鸣器报警上下限进行调整。

5.4.4 按键及报警部分

按键可实现选项的控制和参数的改变。经测试,按键的功能已经实现,符合要求。所以键盘输入程序正确。该测试如图 5.4、5.5、5.6、5.7所示。蜂鸣器经测试运行结果正确。

5.5 本章小结

利用 Keil μVision4 及 STC-ISP 来对按键、液晶显示、上位机显示部分等部分的功能进行测试,测试结果证实本系统可实现对气体浓度的实时显示、报警控制和按键调试等功能,系统具有操作界面简单、测量结果准确等特点,完全满足设计需求。

第六章 总结与展望

6.1 总结

通过查阅相关的文献和资料,结合国内外气体浓度检测技术的发展现状,本论文完成了Zigbee的工业废气检测系统的设计。 本论文主要完成了以下几项工作: (1)根据气体检测技术的发展现状,提出了一种可及时、稳定、近距离无线传输数据信息的工业废气检测系统。 (2)本文对独立的硬件电路选型及其各自的特性进行介绍,最终完成了整体硬件电路的设计和实物的焊接。 (3)按照所设计的硬件电路部分进行程序的编译,从而完成系统相应的功能。 (4)对系统进行调试,从而验证系统可行性,成功实现了气体浓度实时显示,上位机显示,蜂鸣器报警及按键调试等功能。

6.2 展望

随着科学技术的的快速发展,气体浓度检测技术正在逐渐地与其它技术相结合,如智能探测技术、智能控制技术、数字信号处理技术、人工智能等新技术与气体浓度检测技术逐步融合[48]。工业废气检测系统现已广泛应用在包括各类化学化工工厂以及能源制造工厂等一些需要重点防范废气浓度超标的地点,用于对工业排放废气的预防和监测。从工业废气检测系统的研究现状和应用前景可以看出,数据的准确采集预报是及时预防工厂排放废气超标的核心,也是今后研究的重点方向。

工业废气检测技术关系着各行各业的生产安全和人民群众生活中的人身财产安全,工业排放废气的超标监测在这方面有着举足轻重的作用,工业废气检测技术会遇到更多技术难题和需求,同样也会有更大的技术突破和进步。

6.3 设计方案的优势

本系统可以检测工业生产中特别是石油化工行业排放的各类工业废气如、、等。这些工业废气的排放对大气环境造成了严重的污染,已经严重危害到了人们的健康。本设计方案的提出对于改善大气环境质量以及保障人们的健康具有重要的意义。

除此之外,当今社会正处于智能化的发展阶段,该方案的提出也相当于为智能化的发展添砖加瓦,从另一方面看也促进了科技文化的发展。对工业排放的废气进行有效的检测可以加大我国环境治理强度,并完善相关方面的法律法规,从而减小有害气体的排放。

另外,本系统的提出可以有效控制工业排放废气的含量,从而促进企业加紧研发新能源、新技术,从而促进能源的可持续发展。最后,本系统相比其它类型的工业废气检测系统如气体浓度检测仪和电子鼻来说成本较低廉,稳定性也较高。

付费资源链接

我的论文、程序、开题报告、各模块资料、硬件设计等都已经发布到这个资源里了,大家有需要自行下载。 基于ZigBee的工业废气监测系统付费资源 参考文献 [1]Yang X J. China’s rapid urbanization[J].Science,2013,342(6156):310-310. [2]王革. 浅谈工业废气污染的治理技术[J]. 建筑工程技术与设计,2017. [3]Fukushima, Hirokazu. Air Pollution Monitoring in East Asia[J].Science and Technology Trend,2006:54-64. [4]韩莉. 环境空气质量自动监测系统的日常维护[J]. 科学时代,1995,(13):167~167. [5]Inabat.H, Kobayasi.T, Hirama. M. Optical-fiber network Ssystem for air-pollution monitoring over a wide area by optical absorption method[J]. Electronics Letter,2005,23(9):749-751. [6]潘小青,刘庆成. 气体传感器及其发展[J]. 东华理工学院学报,2014,(1):89~91. [7]梁秀璟. 传感器大有可为[J]. 自动化博览,2017,(5):30~31. [8]蒋蓁 ,罗均 ,谢少荣. 微型传感器及其应用[M]. 化学工业出版社,2005. [9]魏颖琪 ,林玮平 ,李颖. 物联网智能终端技术研究[J]. 电信科学,2015,(8):140~146. [10] 搜狗网,气体传感器的生产状况及主流厂商,http://www.sohu.com/a/126079573_468626. [11] 刘一玮. 用于环境和工业产品的气体检测装置的研制[D]. 大连:大连理工大学,2006. [12] 周姣. 氧化铜基纳米复合材料的制备及NH3气敏性能研究[D]. 黑龙江:黑龙江大学,2017. [13] 陈燕. 基于ARM的矿用便携式多气体检测仪的研制[D]. 甘肃:西安科技大学,2013. [14] 李家武. 河南油田精蜡厂冬防措施早落实[J]. 河南化工,2012,(18):7~7. [15] 王艳菊. 基于光谱吸收的光纤式有害气体测量技术的研究[D]. 河北:燕山大学,2016. [16] 贺达琪. 气体检测仪及其发展趋势[J]. 黑龙江科技信息,2011,(33):55~55. [17] 徐海滨. 基于微流控热导传感器的氢气浓度检测系统研究与设计[D]. 江苏:南京工业大学,2011. [18] 骆华. 基于ZigBee和STM32的智能照明系统设计[D]. 山东:曲阜师范大学,2015. [19] Mitsugu Terada. Application of ZigBee sensor network to data acquisition and monitoring[J]. Measurement Science Review,2009,9(6). [20] 王赜坤. 无线智能仓储管理系统的设计与实现[J]. 信息技术,2017,(8):21~24. [21] 张丽竹. ZigBee路由算法的研究与改进[D]. 四川:电子科技大学,2012. [22] An Bi Qin. Based on Single Chip Microcomputer Intelligent Bathroom Lighting System Design Research[J]. Applied Mechanics and Materials,2014,3634(687). [23] 丁承君,赵艳辉,张明路等. 基于ZigBee的有害气体信息采集系统设计[J]. 天津工业大学学报,2012:(1),74~77. [24] Yu. Teplov,A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002 [25] 郭雯. 医用智能输液监控系统的研究与设计[D]. 江苏:南京航空航天大学,2013. [26] TANITSU Mamoru,KAIDA Masumi,YOSHINO Shinya. Frequency Aging Caused by CMOS Crystal Oscillator Circuit[J]. Journal of the Horological Institute of Japan,1983,106(0). [27] 黄华. 电子技术[M]. 辽宁大学出版社,2006. [28] 刘雨佳. 基于Zigbee技术的编组站调车机车跟踪定位系统的研究[D]. 甘肃:兰州交通大学,2014. [29] 窦文博. 基于移动终端的船舶状态监测系统[D]. 江苏: 江苏科技大学,2014. [30] 孔德原. 农产品气体传感器阵列检测系统及其应用研究[D]. 江苏:江苏大学,2011. [31] Sreenivasappa Bhupasandra Veeranna,Udaykumar R Yaragatti,Abdul R Beig. Synchronized Symmetrical Bus-Clamping PWM Strategies for Three Level Inverter: Applications to Low Switching Frequencies[J]. International Journal of Emerging Electric Power Systems,2011,12(2). [32] 张丽华. 电视原理与接收机[M]. 机械工业出版社,2002. [33] Warren W. Gay. I2C Bus[M].Apress:2014-06-15. [34] 赵灵远. 基于ADuC7060多功能手持式气体检测仪的设计[D]. 甘肃:西安工业大学,2015. [35] 赵兴宇, 李媛. 单片机应用与设计:项目式教学[M]. 西安电子科技大学出版社,2012. [36] Anonymous. ARM Launches Keil Vision4 IDE[J]. Wireless News,2009. [37] 张开生,田开元,吕明等. 基于物联网技术的农业大棚环境监控系统设计[J]. 西安科技大学学报,2015,(6):805~811. [38] 李群芳,肖看. 单片机原理、接口及应用——嵌入式系统技术基础[M]. 清华大学出版社,2005. [39] 张明强. 基于传感器与单片机的烟雾报警器的实现[J]. 商情,2012,(7):120~120. [40] 朱自勤. 传感器与检测技术[M]. 机械工业出版社,2005. [41] 杨岸渊. 独立分量分析在气体检测中的应用[D]. 甘肃:西安科技大学,2013. [42] 刘卓夫,李福义,彭侠夫. 几种数字滤波方法在减摇鳍加载装置中的应用比较[J]. 应用科技,2011,(12):30~32. [43] 黄媛媛. 基于虚拟仪器技术的相对光谱测量系统的研究[D]. 广西:桂林理工大学,2012. [44] 王曼曼,祝龙记,胡旭东. 基于Modbus协议实现上位机与矿用传感器的通信[J]. 煤矿机械,2012,(7):224~226. [45] 陈海峰,陈盛闯. 基于单片机的OLED显示系统设计与实现[J]. 电子设计工程,2015,(20):137~140. [46] 宋占坡. 单片机技术实用教程[M]. 国防工业出版社,2008. [47] 程晓艳,党国庆. 软件与硬件结合的单片机仿真实验平台的建设[J]. 无线互联科技. 2013,(3). [48] 张玮玮. 非分光红外线甲烷气体检测仪的设计与实现[D]. 山西:太原理工大学,2007.

附录

  1. 系统整体电路图
  1. CC2530芯片电路图

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129491.html原文链接:https://javaforall.cn

0 人点赞