版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
徐州工程学院毕业论文目录摘要 IAbstract II1绪论 11.1课题研究背景及意义 11.2国内外室内空气质量监测研究现状 11.2.1国外研究现状 11.2.2国内研究现状 21.3本文的主要工作 32系统结构及元件选择 52.1监测系统基本结构设计 52.2主控制元件 52.3传感器选择 72.3.1温湿度传感器 72.3.2甲醛、苯传感器 82.3.3PM2.5粉尘传感器 92.4显示元件 102.5WIFI模块 112.6报警模块 113机械结构设计 123.1设计软件介绍 123.2机械结构总体设计 124硬件电路设计 154.1主控制电路 154.2传感器电路 154.2.1温湿度传感器电路 154.2.2PM2.5粉尘传感器电路 164.2.3甲醛、苯传感器电路 164.3WIFI模块电路 174.4显示电路 174.5串口电路 184.6报警电路 184.7PCB设计 205软件程序设计 225.1软件设计概述与系统结构框图 225.1.1KeilμVision4C51软件 225.1.2STC芯片烧录软件 235.1.3系统结构框图 235.2各传感器模块程序设计 255.2.1温湿度、粉尘模块软件设计 255.2.2甲醛、苯模块软件设计 265.3WIFI模块 285.4手机APP与WIFI模块的连接 295.4.1服务器MQTT 295.4.2APP的开发 315.4.3ESP-32F模块与MQTT的连接 326系统测试与实现 346.1软件程序调试 346.2硬件电焊接 356.3传感器数据采集及分析 356.3.1温湿度的测试 356.3.2可吸入颗粒测试 366.3.3甲醛值测试 366.4手机APP显示内容检测 376.5报警部分检测 37结论 38致谢 39参考文献 40 1绪论1.1课题研究背景及意义高速的社会发展带来的影响肉眼可见,日渐频繁的雾霾天气;较高的国名收入,使得人们对自己的居住环境变得愈加严苛;人民的总体素质的提高,文化的普及,群众不在只顾经济的追求,而是更加注意自己的身体健康。室内是人们常待的地方,无论是工作还是休闲,大部分人一天在室内呆的时间超过总体的一大半,加上不经常活动,人体免疫力下降,室内的空气质量问题就变得更加的重要。因此我们要加强对室内空气质量的监测,提高我们的身体素质,改善生活质量。世界卫生组织有一项数据是这样的:每年世界上近10万人因哮喘而死,由于室内空气污染,孩子占了35%。调查显示,这与人们长期待在空气污染的室内有关。现代人的工作和生活在室内平均占一天时间的90%。其中在家约65%[1]。从目前的情况来看,室内的污染物主要来源于室内建筑装修的材料。在室内人们越来越要求视觉上的美感,而忽视了最基本的安全问题,装修的材料散发出的气体会对人体的安全造成巨大的危害,其中危害最大的就是甲醛气体。甲醛可破坏人体内的细胞蛋白质,会使人的神经麻痹,破环肾、肝、肺等器官问题[2]。室内的温湿度也会对人体造成巨大的危害,最适宜人居住的温度是18-24℃,湿度为45%-65%RH,当湿度过大时人就会感觉无精打采,提不起精神来,变得萎靡不振。而且当你长期处于湿度过大的房间中,还容易患上关节炎等症状。湿度过低时会使细菌和流感病毒的繁殖变快[3]。所以研发室内空气质量监测系统,及时了解室内空气质量情况极为重要。1.2国内外室内空气质量监测研究现状1.2.1国外研究现状对室内的空气质量的监测以及设计相关产品起于20世纪80年代,其产品发展历程主要有两个阶段:第一个是实验室的分析仪器,第二阶段是方便简易的现场检验仪器[4]。早期的监测仪测量范围有限,并且需要人工操作,效率非常的低。随着社会的进步,科技的发展,技术的提高,这些检测设备实现了自动化,降低了人工的成本,提高了效率[5]。国外的检测技术比较先进,发明的东西也比较多。比如英国的PPM400TM甲醛检测仪,可以精确检测到室内甲醛含量,并且使用电化学传感器,操作简单、使用寿命长[6]。但是它比较贵,需要专业人士的操作,不太能连续测量,并且一个机器只能测一种气体,很不方便[7]。美国的4000系类检测仪,如图1.1所示,可以监测一氧化碳、甲醛、乙烯、二氧化硫等多种气体,并且它的传感器的灵敏度非常的高,可以测量低浓度气体的值[8]。还有TSI公司的7565系列的监测仪,如图1.2所示,可以实时监测一氧化碳、二氧化碳的数据,非常的方便[9]。美国的ESC公司的Z-XP系列、Z/ZDL系列,可测量甲醛、氯化铵等参数,测量非常精准。其中甲醛和臭氧的分辨率能到0.01ppm,相比早期的监测仪,可以说非常的精准了[10]。图1.2TSI7525IAQ-CALCTM图1.1PPM400TM1.2.2国内研究现状图1.2TSI7525IAQ-CALCTM图1.1PPM400TM在国内,由于科技水平、金钱等多方面的条件限制,所以处于开始不久的状态。所以研制出来的东西也不是那么的完美。虽然起步晚,但是也在快速进步中,很多厂家和研究所都在努力学习国外先进的技术。我国的监测仪主要还是以气体浓度超标后可以实时报警为主[11]。近几年国内不少科技企业开始发展空气质量监测这个领域,比如ACER宏基公司制造了一种监测器名为Air-Monitor,如图1.4所示,他能监测PM2.5、PM10等气体,并且当空气变差时,会自动打开空气净化器[12]。还有南昌贝谷科公司的甲醛监测仪,如图1.3所示,采用电化学传感器,并且可以通过液晶屏直接读取测量结果。摆脱了之前成本高、只能单次测量、过图1.3南昌甲醛监测仪图1图1.3南昌甲醛监测仪图1.4宏基Air-Monitor不仅如此,国内高校也开始热衷于此类研究,并对监测仪进行优化,使它更小、便捷和功能多样。武汉轻工大学的杨威风等人用STM32单片机设计了一款便捷、测量周期短、操作简单、性价比高的监测产品,可以很好的提高人们的生活品质[14]。华东交通大学周红波等用Linux操作系统和嵌入式开发技术,开发出了一个可以监测室内甲醛、温湿度的系统,解决了市场上设备通讯功能不好、功能单一的缺点[15]。卢超等人用STC89C51微处理器,设计出一款可以分布多个地方,并且方便携带,稳定性好的无线空气质量监测系统[16]。太原理工大学的谢跃东等人用MSP430F149单片机为核心,使用电化学传感器,设计了一款可以精准快速测量、抗干扰能力强的甲醛监测仪,由于传感器的原因,使用寿命较短[17]。程明传等人采用ZigBee无线通讯技术并结合气体传感器设计出一种高精度、实时性强的室内质量监测系统[18]。还有很多高校生的优秀设计,由此虽然国内的监测起步晚,但是不乏优秀的设计。但是还没有普及智能化、数字化,所以还需继续努力。1.3本文的主要工作本设计的目的是设计出一款可以测量甲醛、苯、温湿度、可吸入颗粒的多功能监测系统。并且可以做到监测准确、操作简单、成本低廉。通过研究本文以单片机最小系统作为核心,采用液晶显示及声音报警系统,并和手机APP相连接,使人们能及时了解周边空气状况。主要研究内容如下:气体的采集通过传感器来完成,并对传感器进行选择。通过数字信号显示收集的信息,实现超过设定值警报。通过WIFI对数据的获取发送到手机上。
2系统结构及元件选择2.1监测系统基本结构设计图2.1室内空气质量监测仪整体框架图本文研究的监测仪由电源、温湿度传感器、甲醛、苯传感器、可吸入颗粒传感器、LCD液晶屏、蓝牙模块、单片机STC12C5A60S2和报警电路等组成。其中温湿度传感器的数字量数据有单片机直接获得,可吸入颗粒、甲醛和苯传感器的数据经模数转换将模拟量转换成数字量之后传送给单片机。单片机读取到的数据经由LCD液晶屏显示,当气体超过一定量的时候,触发报警电路,相应的声光报警启动。单片机还可以通过WIFI模块将测得的数据发送给手机,通过手机也可以获取相应的数据。其整体框架图如图2.1所示。图2.1室内空气质量监测仪整体框架图2.2主控制元件本文我选择的是STC12C5A60S2单片机,它是宏晶科技生产的一种单时钟单片机,具有性价比高、高速、低功效、抗干扰能力强、便于调试和下载等优点。STC12C5A60S2单片机支持串口的程序烧写,写进去的程序还可以加密,可以很好的保护我们的劳动成果。而且这种单片机对开发的设备要求低,可以极大的缩小开发时间。STC12C5A60S2单片机的售价和传统的51单片机价格差不多,所以性价比很高。图2.2STC12C5A60S2引脚图STC12C5A60S2宏处理器具有32个I/O口、8路10位精度的AD转换、4个16位计数器/计时器、门卫狗计时器、双全串行端口、2个数据指针等功能。在空闲模式下,CPU停止后计时器/计数器、RAM、中断、串行运行。另外,在切断电源的保护方式中,RAM的内容被保存,振荡器也被冻结,宏处理器的所有工作将停止到下一次中断复位为止。这里面的多数I/O口都具备多重功能,用户可以根据自己的需要来选择。单片机的引脚图如图2.2所示图2.2STC12C5A60S2引脚图STC12C5A60S2单片机的引脚大概功能如下VCC:供电GND:接地P0口主要的作用有两个,其一是可以用作外部的程序数据寄存器,还有一个就是作为I/O口。P1口有比较多的复功能,例如,P1.2即可以是ADC输入信道,也可以是PCA计数器的脉冲输入脚。P1.5除了是ADC的输入信道之外,还是SPI的同步串行接口的主要期间输出并从设备输入。其他的每个引脚都有各自复功能,可以根据手册来使用不同的功能。P2端口的每个端口即可以用作I/O端口,并且可以是8比特的高地址指针的输出。P3的各个引脚的复功能都很重要。P3.0和3.1是串行输入和输出口。3.2和3.3则是外部中断接口。3.4和3.5是计时器的输入引脚。3.6和3.7是外部总线的写/读控制信号。P4口只有P4.4没有第二个功能,只是标准的I/O口,其他的都有其他功能。其中P4.7除了是I/O以外,还可以作为复位脚。2.3传感器选择气体传感器是一种能感知、监测空气中气体并能分析其中浓度的一种装置,并可以将浓度转换成电信号。传感器是我们这个监测系统的关键部分。气体传感器有稳定性、灵敏性、抗腐蚀性、精度、线性范围等特征,气体传感器还有很多种类,比如电化学式气体传感器、半导体气体传感器、电化学式气体传感器等。所以对气体传感器的选择我们要考虑多方面的因素,根据气体的浓度、种类、测量环境等多方面因素来选择不同种类传感器。还要考虑传感器成本、寿命和维护等。对于传感器的特性要重点考虑,由于用在室内,传感器的响应时间不能太长,分辨率也一定要达标,为了方便,传感器的体积尽可能要小。2.3.1温湿度传感器温湿度传感器被用于测量空气中的温度和湿度。这个设计选择DHT22。DHT22也被称为AM2302,是一个内置了对数字信号输出进行校准的温湿度传感器。其湿度测量范围为0~99.99%RH、精度±2%RH,温度测量范围为-40~80℃,精度±0.5℃。为了确保传感器非常高的可靠性和长时间的稳定性,它采用了专用的温湿度传感技术和数字模块收集技术。传感器有NTC的温度测量元件和容量式的感湿元件,所以这个产品品质好,响应快,防干扰能力强,价格性能比高。DT22采用单一总线通信,所以驱动它只需要电源线、地线和信号线,和DHT11相比它精度更高、量程更大。DHT22有VCC、DATA、GND三个引脚,是个三针脚模块。其中VCC的电压在3-5V。DHT22测量温湿度是通过热敏电阻和传感器里面的电容式湿度传感器来测量,取得数值后DATA向主板发送数字信号。传感引脚名称注释1Vcc供电3.3-5.5V2DATA串口数据,单总线3GND接地表2.4引脚分配图2.3DHT22传感器器的样子和引脚分配如图2表2.4引脚分配图2.3DHT22传感器2.3.2甲醛、苯传感器目前市场上测量甲醛和苯的传感器种类很多,越来越多的传感器用来给我们选择,本文选用的是CJMCU-1100。它选用的是MS1100为核心探头的传感器,是一种半导体式VOC气体传感器,并且是原装进口的,用来监测甲醛、苯多种有机挥发性的气体。这个传感器有非常高的稳定性和灵敏度,它还可以监测空气中0.1PPM以上的气体,并且它的芯片响应速度非常的快,监测到的数据也是非常的准确,体积也是非常的小,不占用空间,非常的方便。改传感器广泛的应用于家庭空气质量检测上,比如通风机、空气过滤器等各种需要对室内空气治理的设备上。它的价格也比较便宜,非常适合入手。图2.5CJMCU-1100传感器CJMCU-1100的供给电压在5V,有四个引脚,分别为GND、DOUT、AOUT和VCC,其中AOUT是模拟输出量,芯片中检测到是对应于空气中的气体量的电压值的变化。DOUT为数字量输出量,是传感器的可调电阻与AOUT输出的电压值进行比较的结果,传感器的测量范围为0-1000PPM,工作时的温度在-10~60℃。需要注意的是,在我们使用的时候需要给模块进行3-5分钟的预热,之后才能进行测量。图2图2.5CJMCU-1100传感器2.3.3PM2.5粉尘传感器市面上的粉尘传感器有很多种,本设计采用的是郑州炜盛有限公司生产的D7激光粉尘传感器。它是一种根据激光散射原理设计的数字式粉尘传感器,可检测颗粒范围浓度是0.3μm-10μm。它还具有体积小、方便使用、数据准确、、稳定性好、实时响应等优点,并且具有多个不同的数字输出接口。它的工作原理是激光照射在测量腔体内的空气中的颗粒物产生散射,得到散射的光强随着时间而变化的曲线,处理器根据MIE即米氏原理计算出单位体积内的不同直径颗粒的数量。传感器原理如图2.6所示,传感器实物图如图2.7,引脚功能见表2.8。表2.8引脚功能引脚号引脚名称引脚功能描述1VCC供电5v2GND接地3NC空脚4TXD串口输出图2.7传感器实物图图2.6粉尘传感器检测原理图2.7传感器实物图图2.6粉尘传感器检测原理2.4显示元件图2.9液晶显示屏实物图本设计是要将检测出来的数据能够通过屏幕显示出来,为了满足这个需求,我选用了一款以ST7735S为芯片的1.44TFT彩屏。各节点相对独立,能够进行提高该显示器的响应速度的连续控制。外观如图所示。ST7735S图2.9液晶显示屏实物图产品的主要参数LED尺寸:1.44英寸点阵大小:128*128LCD颜色:65K全彩硬件接口:SPI接口工作温度:-20~70℃工作电源:5V驱动器IC:ST7735S表2.11显示屏各引脚功能引脚编号引脚名称引脚功能描述1VCC供电5V2GND接地3GND接地4NC空脚5NC空脚6BL背光控制输入7SCLSPI时钟输入8SDASPI数据输入9RS命令/数据信号输入10RST复位输入11CSSPI片选信号输入2.5WIFI模块本设计采用的是WIFI模块是ESP-32F,ESP-32F集成了低功效蓝牙、传统蓝牙和WIFI,具有非常广泛的用途。它有着丰富的外设资源,比如霍尔传感器、SD卡接口、以太网接口等。ESP-32F可以通过路由器直接连接到无线网,也可以通过蓝牙连接手机。它的数据传输效率极高,可以达到150Mbps,可以实现较大范围的无线通信。ESP-32F的WIFI有AP、STA和AP+STA这三种模式,当作为AP即无线访问接点时可以被4个STA即连接无线网的终端连接。图2.12为ESP-32F实物。主要参数供电电压:2.2~3.6V(2)工作电流:平均80mA(3)工作温度:-40~85℃图2.12ESP-32F实物图(4)频率范围::2.4-2.5图2.12ESP-32F实物图2.6报警模块图2.13蜂鸣器实物图本设计在声音报警模块选用的是5V有源蜂鸣器,在气体超过指标时能够发出连续的长声鸣叫。它的电压范围在4图2.13蜂鸣器实物图3机械结构设计3.1设计软件介绍图3.1软件操作页面本设计对机械结构设计用到的软件是solidworks2019,它是一款功能强大CAM、CEA分析软件,比以往的版本功能更加完善,适用于3D设计,能够帮助我们轻松的加速设计的过程,操作简单,容易学会,可以获得轻松的数字化设计,简化了装配流程,为本设计提供了巨大的帮助。图3.图3.1软件操作页面3.2机械结构总体设计图3.3总体设计背面图3.2总体设计正面本装置机械设计主要包括监测装置装置外壳罩、电路板、电池以及LCD显示等反面的三维建模。总体设计见图3-2和图3-3,电路板建模见图3-4,L图3.3总体设计背面图3.2总体设计正面图3.5LCD模板图3.5LCD模板图3.4电路建模图3.7下面外壳图3.6图3.7下面外壳图3.6上面外壳图3.8整体三视图4硬件电路设计4.1主控制电路图4.1主控制电路如图4.1所示,本设计的主控制电路将STC12C5A60S2单片机作为控制核心。单片机的最小系统是使单片机正常工作所需要的组成部分。本设计涉及到的单片机最小系统包括晶图4.1主控制电路晶振电路:它主要是由单片机上XTAL1和XTAL2这两个引脚所搭建完成的,本设计采用的是12MHz的石英晶振,在单片机接电时,20pF的瓷片电容C3、C4和12MHz的石英晶振会构成一个自激振荡电路,该电路产生的脉冲由XTAL1和XTAL2发送到内部的时钟电路。其中电容起频率微调作用。复位电路:它对整个单片机的平稳运行非常重要,主要作用是当单片机所执行的程序发生崩溃时,可以停止单片机不正常的工作。单片机有手动或者上电两种复位方式,本设计我使用的是手动复位。我用一个电容、电阻和按键来搭建复位电路,我们只需按住按键超过两个机器周期然后松开就可完成复位操作。4.2传感器电路4.2.1温湿度传感器电路由于本设计选用的温湿度传感器DHT22是一个已校准好数字信号输出的温湿度传感器,与单片机的连接方式是串行输出,所以只需要用到单片机的一个I/O口。两侧的引脚分别接地和电源,然后将数据端的接口接到单片机的P2.4接口图4.2图4.2温湿度传感器电路原理图4.2.2PM2.5粉尘传感器电路图4.3粉尘传感器电路原理图本设计选择的粉尘传感器也是一款数字型的传感器,所以也只需要占用到单片机的一个I/O口。跟温湿度传感器一样两侧的引脚分别接地和电源,数据端接口接到单片机的P4.图4.3粉尘传感器电路原理图4.2.3甲醛、苯传感器电路图4.4甲醛、苯传感器电路原理图CJMCU-1100有四个引脚,分别是地、电源、数字信号和模拟信号数据端,连接非常方便,结构也非常简单,这也是CJMCU-1100传感器的一个优势。除了接电源和接地,我们只需要将模拟信号数据端AOUT图4.4甲醛、苯传感器电路原理图4.3WIFI模块电路图4.5ESP-32F电路原理图WIFI模块的电路也有一个复位电路,用一个4.74μF的电容,一个4.7KΩ的电阻和一个按键搭建而成,复位操作只需按住按键两个机器周期以上随即松开。电源指示灯后接了一个4.7KΩ的电阻达到一个限流的作用。数据接收接口RXD连接单片机接口P图4.5ESP-32F电路原理图4.4显示电路图4.6显示电路原理图显示电路占据了单片机比较多的I/O口,除了要接电源和接地,还涉及到数据/命令选择输入端,复位接口、SPI时钟/数据输入接口、SPI片选输入接口和背光输入控制接口。接线原理图如图4.6所示。SCL、SDA、RS、RST、CS依次接到单片机的P2.4~P2.0接口。显示屏的9脚和10脚接地,11脚接5V电源,LED接口接入单片机P图4.6显示电路原理图4.5串口电路图4.7串口电路原理图CH340N芯片的UD+和UD-分别直接连接到USB的D+和D-,USB的1号脚和5号脚分别接电源和接地,串口数据发送端TXD和串口数据接收端RXD分别接入单片机的P3.1和P3.0接口,也就是单片机的串口数据接收端和串口数据发送端。V3和VCC接的是不同电压的电源,这里我选用的是5V电源电压,两个接口都外接一个1.04μF图4.7串口电路原理图4.6报警电路图4.8蜂鸣器电路原理图报警电路的设计就很简单,只需要将蜂鸣器的两个引脚一端接5V电源,另一端与单片机P1.7图4.8蜂鸣器电路原理图图4.10原理图总图图4.10原理图总图4.7PCB设计所谓PCB图是指硬件电路的内部的电路的版图的设计,它是电子元件中十分重要的的一个部分,对后续电路的元件之间的连接十分的重要,它使后续的电路板的装配与焊接的更为便捷,也使后续的工程量缩小。PCB在设计中有许多功能,它可以辅助完成硬件电路中每一种选取的器件的连接与其在电路板上的电路的布线的问题,并且后期可以完成部分出现一些问题的元件的问题排查,使整个电路的维修的成本降低等。图4.9PCB图本设计使用了Altium公司开发的软件AltiumDesginer20,这款软件融合了原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术,这为我们设计提供了极为方便的解决方案,提高了设计效率。P图4.9PCB图PCB的设计流程一般是:前期准备工作、PCB的结构设计、PCB布局、布线、结构检查、制版。前期准备工作就是准备好原理图和元件库。结构设计就是根据机械定位和电路板的尺寸绘制PCB板面。PCB的布局就是在制定好的板面上放上器件,放器件时要考虑到器件的尺寸,两个器件之间的相对位置,器件也要摆放在一致,使PCB整体显得美观。布线是整个PCB的制作中最为重要的一部分,布线的好坏决定着PCB的性能好坏。布线的境界分为三种,第一种是入门,将PCB板布通。第二种是制作出的PCB板能满足电器的性能,这个要求可以看出电路板是不是合格的产品。第三种是能满足前两种的要求还能达到美观的效果。PCB板的布线遵循这几个原则,分别是连线精简原则、安全载流原则、电磁抗干扰原则、安全工作原则、组装方便原则、经济原则、热效应原则。在电路原理图正确的情况下,将PCB文件和电路原理图进行连接并网络检查,根据输出结果对PCB板修正,网络检查过后对PCB板进行DRC检查,并修正,保证布线的 电气性能。
5软件程序设计5.1软件设计概述与系统结构框图5.11KeilμVision4C51软件本设计中对系统的编写我用的是由美国Keil公司研发的一款KeilμVision4C51软件,它是一种有着很高的可读性的系统软件设计,可以修改、补充后期的软件设计。软件在单片机的设计中是非常重要的,如果将单片机比喻成我们人体的大脑,那么软件就是向大脑中提供思想的工具。如果我们想让单片机成功的运行,不仅需要对我们所需的硬件进行设计,还要用到软件的辅助,这样单片机才能实现我们所要的功能。单片机早期时候以汇编语言作为它的主要编程语言,通过机器或者人工进行汇编是的程序成为单片机可识别的语言。随着时代的进步,科技的发展,C语言的出现让单片机编程变得更加轻松,如今单片机软件的编写差不都都是通过KEILC来完成的,当今时代的所有51系列的单片机都可以用KEILC51来运用。C语言和传统的汇编语言相比,在结构上和功能上都比汇编语言更加方便、简单,也比汇编语言更加容易维护,可读性也更强,符合我们的思考方式。而且C语言有着其他语言难以匹敌、无法代替的优点。图5.1图5.1软件操作页面5.1.2STC芯片烧录软件图5.2烧录软件图片本设计采用的下载烧录软件是STC-ISP-15xx-v6.75D,它是STC公司为自己公司的单片机来设计的一款软件。可用于STC89C52系列和图5.2烧录软件图片5.1.3系统结构框图本设计最主要的两个功能是实时的监测和在屏幕上显示数据,为了达到这两点要求,就要做到不停的对气体进行采样和进行数据的检测,之后更新数据并显示出来。这样使用本设计用户可以清晰直观的看到室内的空气质量情况,软件部分分为人机交互显示和数据分析及处理两个部分。数据处理主要作用是检测气体的数据,之后处理收集来的数据,最终将得到的信号换成气体的浓度并显示出来。人机交互的主要作用是使用户能够更加方便的使用该监测仪。软件的系统框图如图5.3所示。主程序实现部分如下:voidDisplay_Desc(void); //显示数据屏幕版面voidESP32_uart_data(void); //发送给ESP32的数据voidTFT_Display_gas(void); //液晶显示的数据externucharDHT22_DATA[];//温湿度传感器数据externxdatauchartemp_2[]; //串口2存放的字符数组externucharADC[]; //电压数据externuintADC_DATA_R; //电压数据xdataucharESP32_data[17]={"00.000.000.0000"}; //要发给ESP32的数据ucharunit_1[5]={"00.0"}; //温度数值ucharunit_2[5]={"00.0"}; //湿度数值ucharunit_3[5]={"00.0"}; //甲醛、苯数值ucharunit_4[4]={"000"}; //PM2.5数值5.2各传感器模块程序设计5.2.1温湿度、粉尘模块软件设计根据上文对硬件电路的设计可知,温湿度传感器DHT22和粉尘传感器D7经单片机的控制下,检测出温度、湿度和PM2.5的数值,再由单片机对获取到的数值进行转换,变成LED显示屏上显示出来的数值。然后我们再对显示出来的数值和之前再程序中预设的数值进行对比,当不在预设值范围的时候,蜂鸣器发出声音进行报警,在下一次测量恢复正常也就是在预设范围内时,蜂鸣器停止发声,取消报警。报警部分程序如下:本设计对于温度在程序中的预设值是10~30℃之间,湿度是在45%-65%RH之间,10~30℃之间时人不会觉得太热或者太冷,湿度在这个范围内人不会有什么不适,当湿度过大时人会显得无精打采,当湿度过小时会使细菌繁殖加快,所以这两个预设值在人体的舒适范围内。根据查阅的资料显示,我国规定的PM2.5浓度是小于0.075mg/m3,而WHO的规定是小于0.035mg/m3,本设计以世界卫生组织为基准,规定PM2.5的阀值是0.035mg/m3。图5.4为温湿度、粉尘模块的软件设计流程图。报警部分程序如下:voidcall_the_police(void){ wendu_r=ESP32_data[0]*100+ESP32_data[1]*10+ESP32_data[3]; shidu_r=ESP32_data[4]*100+ESP32_data[5]*10+ESP32_data[7]; jiaquan_r=ESP32_data[8]*10+ESP32_data[9]; pm25_r=ESP32_data[12]*100+ESP32_data[13]*10+ESP32_data[14]; if((wendu_r<100)||(wendu_r>300)||(shidu_r<450)||(shidu_r>650)||(jiaquan_r>6)||(pm25_r>35)) { BEEP=0; } else { BEEP=1; }5.45.4温湿度、粉尘模块软件设计流程图5.2.2甲醛、苯模块软件设计本设计在对甲醛、苯的浓度检测时,传感器CJMCU-1100检测到数据是电压信号,再由单片机内部的AD转换,将电压信号转换成数字信号,再由显示出的数值与程序中预先设定好的值进行比较,当大于预先设定好的值时,蜂鸣器发出声音进行报警。我国规定甲醛气体浓度的标准有两种,一种是卫生部发布的甲醛浓度小于0.08mg/m3,另一个是建筑部发布的甲醛气体浓度小于0.10mg/m3,不过国际颁布的值为小于0.06mg/m3,这里我们以国际为标准使用的是小于0.06mg/m3。它的程序流程图如图5.4所示。5.4甲醛、苯软件设计流程图5.4甲醛、苯软件设计流程图voidADC_data_processing(ucharADC_data){ ADC_DATA_R=(uint)(ADC_data*1.98); ADC[9]=ch+0x30; ADC[19]=ADC_DATA_R/100%10+0x30; //电压百位 ADC[21]=ADC_DATA_R/10%10+0x30; //电压十位 ADC[22]=ADC_DATA_R%10+0x30; //电压个位 //UART_1Sends(ADC); //UART_1SendOneByte(ADC_RES); //UART_1SendOneByte(0x0A);// returnADC_data;}5.3WIFI模块图5.4WIFI模块设计流程图ESP-32F是一款功能非常强大的一款芯片,STATION模式是WIFI模式下的主要工作方式。在WIFI模式下,有AP、STA和AP+STA这三种方式,本设计采用的是STA模式,STA站点是能连接WIFI图5.4WIFI模块设计流程图其中初始化事件调度器是在ESP-32F中,整个的WIFI协议栈就是一个状态机,在每个时刻的时候都有一个固定的状态,我们可以根据自己的需求让协议栈在某一个状态的时候会自动去处理那个时候的工作。在我们调用初始化事件处理模块函数时,会传入一个指针函数,每当状态机产生改变时,会调用这个函数,并传递参数。设置WIFI模式,这里本设计设置的模式是STA。配置接口的参数是当我们确定了这个WIFI模式时,它的个WIFI库会根据我们输入的参数自定分配接口,所以我们只需要传入WIDI_MOOD_STA这个参数时,那么它的WIFI库会自动分配给我们STA接口。STA接口需要设置的参数为SSID和PASSWORD。其中SSID是每个无线都有的标示用来让用户识别的名字,也就是我们通常所说的WIFI名称。PASSWORD即这个名称下的无线密码。一般这个SSID和PASSWORD有长度限制。这里我们设置的名称为Honor01,密码为88888888。图5.6连接成功图这里我采用的是手机或者电脑热点作为WIFI,让ESP-32F连接到我设置的热点。我们将热点名称密码设置成之前设置好的名称密码,ESP-32F接上电源会自动连接上我们设置好的热点,当连接成功时模块上会有蓝色的指示灯亮,如图5.6所示。图5.6连接成功图5.4手机APP与WIFI模块的连接5.4.1服务器MQTT关于手机APP和WIFI模块的连接本设计使用了MQTT服务器,原理是WIFI模块和手机都连接MQTT服务器,然后手机APP通过一个按钮控制一个继电器,然后WIFI模块将采集到的传感器的信息发送给手机APP。MQTT全称MessageQueueTelemetryTransport翻译成中文意思就是遥测传输协议,提供发布/订阅两种消息模式,非常简单、易于使用,是物联网的一个传输协议,广泛应用于小型设备,移动应用等方面。MQTT是一种连接协议,使用TCP/IP进行网络的连接。这个协议定义了两种对象,分别是发布服务器和客户端。其中整个系统的核心就是发布服务器,它可以连接一个或者几个客户端。MQTT服务器:它是一个消息代理,位于消息的发布者和订阅者中间。接受客户端的网络连接和发布的信息,向订阅消息的人发布消息。客户端扮演的角色就是消息的发布者和接收者。流程是客户端向服务器表示自己想要哪个话题的消息并订阅,有这个信息的客户端就可以向服务器发送这个信息,之后服务器再将信息发送给之前订阅的客户端。流程图如图5.7所示。图5.7MQTT服务器工作流程图MQTT还支持三种消息发布的服务质量(QoS)。第一种“至多一次”:MQTT对消息的发布依赖于TCP/IP图5.7MQTT服务器工作流程图搭建MQTT服务器需要几个步骤,首先安装一个ApacheApollo服务器,并安装完成,然后设置服务器的IP地址和端口号分别是3和1883,之后在设置用户名和密码,再然后设置一下订阅的主题和你要发布的主题,我设置的是bishe_01和bishe_02。所有的都设置完成之后,就可以用一个通信熊猫测试软件来测试能否连接上,对于这个测试软件我们只需要填写上之前设置成功的服务端IP、端口号、用户名、密码、订阅主题和发布主题即可。图5.8为测试图。图5.8MQTT服务器测试图5.4.2APP的开发图5.8MQTT服务器测试图本设计对于APP的开发用到的是AppInventor2WxBit
这个应用程序,简称是ai2,为了和人工智能区分所以用了小写,是谷歌公司设计的一款可以在网页上就能完成APP制作的应用程序。ai2目前只能制作安卓方面的应用,上手非常简单,通过拖拽组件和逻辑块便可完成APP的制作。它是首个支持HTTPS的ai版本,在现在复杂的网络状况下,运行更加的可靠安全。制作APP的过程也很简单,首先新建一个项目,之后组件面板,选中所需要的组件拖到手机界面区域,这里我们设计的APP需要四个文本框和一个按钮。按钮设计成水平对齐和垂直居中,还需要四个文本,分别是温度00.0℃、湿度00.0%、甲醛、苯00.0ppm和PM2.5000mg/m3四个文本,文本之间的距离根据画面的美观适当调。我们还需要用到MQTT客户端,当我们点击按钮时,会调用MQTT客户端,订阅MQTT的主题,当订阅成功时按钮会从订阅点击连接变成已连接。MQTT的名称我设置成环境监测,它的心跳间隔是15秒,消息的可靠级别为上文的0就是“至多一次”。当成功连接MQTT时,四个文本从获取的信息截取位也不同,它们分别从第1位截取四个字符、弟5位截取四个字符、第9位截取四个字符、13来截取位截取三个字符。至此APP的基本功能都已创建完毕,下面只需选择“下载到电脑”这一选项,就会自动生成APK文件到电脑上,图5.11APP组件图图5.10APP图5.11APP组件图图5.10APP成品图图5.9APP设计逻辑图5.4.3ESP-32F模块与MQTT的连接ESP-32F在这里面的作用是收集信息并发送,用串口通讯方式,使单片机的输出接口与WIFI模块的输入接口连接,这样WIFI模块就可以接受单片机发来的数据参数,然后就是进行编程的准备工作,安装关于ESP-32F的开发板,并选择合适的参数。之后就可以进行编程,其中需要注意的是要定义一下MQTT的服务器地址和订阅信息的主题,在上文都有说明,还有就是定义需要连接WIFI的名称和密码。之后就用连接设备,选择COM端口,直接上传程序烧录,如果一直是无法连接硬件的状态,可以点击ESP-32F上的BOOT键。
6系统测试与实现图6.1设计实物图本设计按照总体设计对室内环境质量检测报警系统搭建了一个硬件平台,通过平台来对实际的方案进行测试,检测系统的整体运行,实际物品如图6.1所示。样机包括温湿度传感器、甲醛、苯传感器、可吸入颗粒传感器、STC12C5A60S2单片机、TFT液晶显示屏、ESP-32FWIFI模块和蜂鸣器这几个部分。测试部分包括传感器的采集并通过液晶屏显示部分、报警部分和手机A图6.1设计实物图6.1软件程序调试图6.2软件调试图在我们程序全部编写完后,我们要去检查程序是否有错误,这里我是用软件对程序进行调试,对错误的程序进行更正,保证实现“0Error(s),0W图6.2软件调试图在程序全部完成没有错误后,若想得知写出来的程序能否实现预想的效果,需要联系实物来得知。C语言是一种计算机的语言,单片机不能识别,所以还需要将程序编译成HEX文件,烧录进单片机中。在我们进行编程的时候,尽可能的按照功能的实现,将程序模块化,这样既方便我们对程序进行调试,也方便对程序移植或者重新进行设计。本设计的子程序包括各传感器数据采集和处理模块、串口通信模块、显示模块和报警模块。6.2硬件电焊接本设计采用连接方式是,在单片机、WIFI模块和传感器上焊接上排针,之后用双头都是母口的杜邦线连接。其中焊接元件需要注意以下几点:1.保证电烙铁温度足够高,但不能过高而伤害电子元件。2.当电烙铁离开元件后,不要触碰,防止焊锡没有凝固导致脱落。3.可以用镊子夹住引出脚,防止烫伤。4.焊接时使用正确的电烙铁使用方法,注意安全。5.电烙铁使用完后因放在金属络铁架上,这样既安全,又能散热。6.3传感器数据采集及分析测试的主要目的是为了验证传感器对数据的采集是否具有时效性和真实性,能否准确测量室内环境的实际数据,由于苯的测量没有合适的环境,所以本测试只对温湿度、可吸入颗粒和甲醛进行测量。6.3.1温湿度的测试温湿度的测试通过液晶显示屏的数据和实际的温湿度进行对比,实际的温湿度以当日网络发布的温湿度为准。由于本设计是跟室内监控有关,而网络上的温湿度是室外的,所以测试的时候需要拿出室外,避免实验数据误差太大。对比结果温度如表6.3所示,湿度如6.4所示。为了使实验数据更有说服力,我们选取了四天的数据作为参考,测试时,我选用的是隔几分钟测量一次,测三次,然后去他们的平均值,这样可以保证实验数据的准确性。表6.3温度实验数据DHT22测量温度值实际温度误差28.2℃27℃1.2℃26.9℃28℃1.1℃26.6℃26℃0.6℃27.8℃27℃0.8℃表6.4湿度实验数据DHT22测量湿度值实际湿度误差35%RH31%RH4%RH40%RH45%RH5%RH32%RH36%RH4%RH43%RH40%RH3%RH由表可知,测得的几次数据与实际温湿度误差值都很小,可以满足正常生活所需的测量范围。6.3.2可吸入颗粒测试对可吸入颗粒的测试,本设计的检测方式和温湿度一样,根据本设计设计出的产品和当日实际的PM2.5值作比较,测试设计的精准度。我也是选取四天为标准,减少实验的偶然性,提高可信度,测试时的数据也是选取当时的三个数据去平均值。实验数据如表6.5所示表6.5PM2.5实验数据传感器测量值实际值误差0.22mg/m30.20mg/m30.02mg/m30.16mg/m30.19mg/m30.03mg/m30.19mg/m30.16mg/m30.03mg/m30.12mg/m30.11mg/m30.01mg/m3由表可知,两者测量的误差值很小,可用于家庭测量。6.3.3甲醛值测试对与家庭中甲醛值的测量由于条件有限,所以我用的是卫家空气甲醛自测盒来测量,使用方法是,使用前关闭房间门窗两小时,将瓶内液体倒入盒中,然后将盒子放在离地面80-150cm的高度,放置40分钟,之后将盒中颜色与甲醛显示卡对比,即可得出浓度范围。经济实用,但是精度较低,只做参考。同样,我选择客厅和三个卧室四处地方进行测量。减少实验的偶然性。实验数据如表6.6所示。表6.6甲醛实验数据传感器测量值自测盒的值误差0mg/m30.1mg/m30.1mg/m30mg/m30.1mg/m30.1mg/m30mg/m30.1mg/m30.1mg/m30mg/m30.1mg/m30.1mg/m3调查所示该系统在甲醛浓度较大时才能测量准确,并且自测盒的值也是根据卡中颜色自行做对比,测试值与实际值有所误差,今后若有条件可以根据专业的测试工具来检测。6.4手机APP显示内容检测图6.7APP和显示屏数据对比图该检测内容很简单,只需要将液晶显示屏显示出来的值与手机A图6.7APP和显示屏数据对比图6.5报警部分检测对报警方面的检测,温湿度传感器可以选择用手指按住传感器,使传感器的温度湿度变高,通过实验检测到,当温度超过设定的值时(设定值10-30℃),蜂鸣器发出生音。可吸入颗粒的检测可以通过家里厨房做饭时,油烟较大,可以去测量,检测时的值超过设定值(设定值0.035mg/m3)时,蜂鸣器发出声音。甲醛、苯传感器我通过给传感器一个电压来给一个测量值,实验得知超过时0.06mg/m3时,蜂鸣器会发出警报。当室内空气回复到正常时,蜂鸣器停止鸣叫,一切恢复正常。
结论在如今空气质量日渐严峻的情况下,本次设计争对室内环境进行了考察,对室内环境做了初步的了解,选取了几个对人体健康有害的代表性气体做了检测,如温湿度、甲醛、苯、可吸入颗粒(PM2.5)。本系统综合了单片机、传感器、WIFI模块、显示屏、蜂鸣器、手机APP、电路和数字电子技术设计了一款可以实时监控室内空气质量并对超标气体报警的系统。硬件部分选取了所需要的电子元件并搭建成硬件电路,其中传感器和单片机的选择尤为的重要,它们是整个系统的核心。本设计传感器的选择分别是DHT22温湿度传感器、郑州炜盛有限公司自主研
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电算化会计会计信息的组织
- 物理化学热力学第一定律
- 2025年保育员《幼儿生活看护》冲刺试卷
- 2026年考研数学政治马原模拟卷
- 2027年城市商业银行招聘理财业务专项训练卷
- 网络安全技术第一章
- 隔药灸治疗溃疡性结肠炎技术
- 诊断学1绪论、问诊及症状学
- 重视和发展家长学校是新时期教育事业的重青岛教
- 方案-科研行业专项工作汇报
- 2026年中石化校招笔试模拟题含解析
- 《飞向太空港》(李鸣生)深度解析
- 一元二次方程应用说课课件
- 冬季预防抑郁2026知识培训
- 2026中国建筑工程勘察行业市场现状发展趋势分析投资评估规划分析研究报告
- 人防有限空间作业监理实施细则
- 三1班小学生竞选班委班干部竞选简历
- 肺功能测定临床应用及结果的解读
- 考三轮车三力测试题及答案
- 三年级上册语文课件《整本书阅读稻草人》-人教部编版
- 张掖介绍课件
评论
0/150
提交评论