【基于STM32单片机的智能室内监控系统设计14000字(论文)】_第1页
【基于STM32单片机的智能室内监控系统设计14000字(论文)】_第2页
【基于STM32单片机的智能室内监控系统设计14000字(论文)】_第3页
【基于STM32单片机的智能室内监控系统设计14000字(论文)】_第4页
【基于STM32单片机的智能室内监控系统设计14000字(论文)】_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-3"\h\u摘要 IAbstract II第1章绪论 11.1背景和意义 11.2研究现状及发展趋势 11.3论文研究工作 21.4本章小结 3第2章系统的硬件设计 42.1硬件总体设计 42.2主控模块硬件设计 42.2.1主控芯片选型分析 42.2.2主控芯片电路设计 62.3CO传感器模块硬件设计 62.3.1CO传感器选型分析 62.3.2CO传感电路 72.4温湿度传感器模块硬件设计 82.4.1温湿度传感器选型分析 82.4.2温湿度传感电路 82.5PM2.5传感器模块硬件设计 92.5.1PM2.5传感器选型分析 92.5.2PM2.5传感电路 102.6LCD显示模块硬件设计 102.6.1LCD显示屏选型分析 102.6.2LCD显示电路 112.7GSM报警模块硬件设计 122.7.1GSM模块选型分析 122.7.2GSM模块电路设计 122.8其他电路设计 132.8.1供电电路 132.8.2按键控制电路 132.8.3蜂鸣器电路 142.9本章小结 14第3章系统的软件设计 153.1软件总体设计思路 153.2主程序设计 163.3温湿度传感器数据采集 173.4CO传感器数据采集 173.5PM2.5传感器数据采集 183.6LCD显示 193.7GSM短信发送 203.8蜂鸣器报警 213.9按键设置 213.10本章小结 22第4章系统测试实验分析 234.1系统测试实验思路和目的 234.2硬件测试 234.3软件测试 234.4功能测试 244.4.1温度测试 244.4.2湿度测试 244.4.3CO浓度测试和PM2.5浓度测试 254.4.4报警时差测试 264.5系统测试结果分析 244.6本章小结 27第5章总结和展望 28参考文献 30致谢 30第1章第1章绪论1.1背景和意义随着科学技术的不断创新与发展,物联网逐渐进入到人们的日常生活中并发挥着巨大的作用。物联网技术的出现,打破了人们对硬件和软件不能结合的传统思维,成为当今时代的热门技术研究之一。物联网技术综合了网络通信技术与传感技术,目前已在信息产业、安防、医学、工业和农业等众多社会领域发挥了极大的作用。伴随着科技的进步和经济的飞速发展,人们的传统生活方式已逐渐发生改变,人们对自身居家环境的要求不仅仅止步于温饱程度,而是开始追求更加现代化智能化的居家环境,保障自身居住环境的健康性、舒适性。智能家居是在物联网技术上提出来的,是原有的家居技术结合物联网技术而形成的更加智能化的技术,智能家居也为人们理想智能生活提供了无限的可能[1]。近年来,国内掀起了一股智能家居热潮,智能家居的概念也逐渐进入大众视野。随着我国经济发展进入新常态和“中国制造2025”战略的实施,传统制造业面临着前所未有的挑战,大力发展智能制造成为企业转型升级的重要途径,国家也出台了一系列鼓励措施支持智能家居产业,2017年,国家六大重点应用领域的示范工程之中,智能家居就位列其中[2]。就目前国民家居生活来看,足不出户已然成为一种崭新的生活方式,特别是如今新冠疫情形式还是较为严峻的情况之下,拥有一个健康、舒适的居家环境是必不可少的[3]。以较为便捷的STM32单片机为主控器,利用互联网技术、无线通信技术,在外围加入多种传感器,通过传感器等相关装置组合,逐步实现对室内环境的监控,如温度、湿度、空气质量、有害气体浓度等,让用户及时做出相应的调节和控制,有效保障人体健康安全,家居环境的健康和舒适。因此,研究和开发智能室内监控系统,本身就具有一定的理论意义和实践意义。1.2研究现状及发展趋势截至目前,国内基于物联网技术推出了运用传感器设计的多种室内环境监测产品。例如高校和企业的化学实验室通常配备拥有温、湿度动态调节的设备,以保证各种化学实验的舒适环境;我国居民家庭常在厨房安装拥有烟雾传感器的报警器,让居民知道室内环境CO浓度是否超标,保障居民安全使用燃气、煤气[4]。温室大鹏种植中常配有氨气传感器的设备,避免氨气浓度过高危害种植作物,确保温室内种植作物的正常生长等等。我国在智能家居物联网技术的研究上已经经过了漫长的探索与实践,与传统家居相比,智能家居拥有信息获取、自动控制和人机交互等功能,大大地保障了居民在居家之中的健康性与舒适性。市场上越来越智能化的智能家居产品也层出不穷,这些智能家居产品是人们的生活质量得到提升,越来越多的人也接受并开始追求智能家居。智能室内监控系统比其他智能家居产品更加注重用户的健康和居住的舒适性,在这样的市场背景之下,国内的公司与企业已经推出了多种类别的室内环境监测产品,但大多数监测产品的功能比较局限,常常只有一两种检测功能[5]。因此,一个具有可以监测多种环境因素数据的智能室内监控系统的监测产品需求明显。智能室内监控系统已经在国内外拥有极其广泛的应用,其主要实现对仓库、温室大棚、实验室、家庭等封闭环境进行实时监测,为用户提供可靠、全面的环境数据[6]。智能室内监控系统使用物联网传感技术,并将多种类型传感器共同至于室内环境中,传感器可以随时对采样室内的环境数据进行采集,如温、湿度、CO和NO2等有害气体的浓度、PM2.5的浓度、光照强度等等,传感器采集到的环境数据为模拟信号,通过A/D转换成为数字信号,传给CPU,经过系统处理后进行显示之后传感器将其上传给CPU,模拟信号经过CPU处理后变成数字信号,反馈给用户[7]。当室内环境中的某一数据数值超过设置上限,控制中心立即做出响应,自动驱动安全警报提醒用户对环境进行调整及采取措施,可以大大保障室内人员和监测环境的安全。1.3论文研究内容本文论述了物联网技术和传感技术为基础,提出了一种能够实时采集室内温度、湿度、CO浓度、PM2.5浓度的智能室内监控系统,并将采集到的几种环境数据经过处理后及时反馈给用户,提醒用户采取相关措施维护室内环境健康。其主要内容如下:使用STM32单片机作为系统的主控核心,实现数据采集和发送功能;通过CO传感器模块,实现采集CO浓度数值功能;通过温、湿度传感器模块,实现采集温、湿度功能;通过PM2.5传感器模块,实现采集PM2.5浓度数值功能;通过LCD显示模块,实现数据显示功能;通过GSM报警模块,实现数值超标警报功能。系统的硬件部分主要由STM32主控模块、温、湿度传感器模块、CO传感器模块、PM2.5传感器模块、LCD显示模块和GSM报警模块组成。三个传感器模块负责对室内环境进行采集,然后传送到主控模块进行转换处理后得到数字化环境数据,并通过LCD显示模块直观地呈现给用户。当传感器采集的数据数值超过设定的数值上限,主控模块根据采集回来的数值驱动GSM报警模块启动,蜂鸣器进行声光报警的同时直接发送短信给用户。LCD显示模块和GSM报警模块都会将环境数据信息反馈给用户,让用户根据提取到室内环境信息及时对室内环境做出相应措施来进行调整。1.4本章小结本章节主要讨论了物联网智能家居技术的研究背景和意义,引出了本文所研究的智能室内监测系统,此外还总结了国内外对于智能室内监控系统的研究与应用现状,并分析了该系统研究方向和发展趋势。最后在此基础上提出本文所要解决的问题和主要研究内容,设计了智能室内监控系统的基本框架,并阐述系统的主要实现功能,为进一步的开发和设计提供了理论依据和方向。第2章第2章系统的硬件设计2.1硬件总体设计在本系统中,硬件装置主要分为六个基本模块,分别是采用STM32芯片作为该嵌入式系统核心处理器的主控模块,对环境数据进行采集的三大传感器模块(CO传感器模块、温、湿度传感器模块、PM2.5传感器模块),PM2.5传感器模块,直观显示STM32转换后的数字化环境数据的LCD模块,以及数值超标会进行声光报警和发送报警短信到用户手机的GSM报警模块。硬件的总体设计也是围绕着这六个基本模块及预想实现功能而展开,明确主控芯片和各个传感器以及其他所需器件的类别型号,并采用模块化硬件电路设计,其中主要包括主控芯片电路、三大传感器电路、GSM模块电路、蜂鸣器报警电路、LCD液晶显示电路、按键设置电路及供电电路等,文章后续也会对各个模块电路设计进行详述。以下是图2-1系统硬件总体框架:图2-1系统硬件总体框架2.2主控模块硬件设计2.2.1主控芯片选型分析单片机的应用非常广泛,与我们的生活息息相关并带来了极大的便利。现今大多数电器都是由单片机进行控制,比如我们常见的有冰箱、洗衣机、电视机、鼠标、键盘等,单片机甚至在医学设备、航空航天等领域都有广泛的应用。智能设备的发展也离不开单片机,所以市面上推出的单片机种类会越来越多,功能也会越来越强大[8]。STM32F103是STM32f101的增强型单片机,是一款低功耗、高性能的微控制器,也是ST公司出品的一款较为出色的单片机。而本系统的主控模块就是采用STM32增强系列的STM32F103C8T6作为控制核心。STM32F103C8T6的特点如下:晶振部分采用了RTC,低负载的方式;工作频率高达72MHz;使用3.3V稳压芯片,保证最大输出电流(300mA);拥有64KB的Flash和20KB的RAM;拥有丰富的I/O口资源;支持ST-LINK和JTAG调试下载;具有2个12位的ADC模数转换。以上是STM32F103C8T6的部分功能特点,特别是其中自带2个AD转换的功能,方便在设计传感器采集数据后模数转换时免去了需要加外部ADC进行转换。当然它的优势不仅仅是这些,它总体强大的功能也使其成为本系统主控制器的优选。以下是图2-2STM32F103C8T6实物图:图2-2STM32F103C8T6实物图2.2.2主控芯片电路设计主控模块是智能室内监控系统的核心部分,本系统在STM32F103C8T6的基础上设计了STM32最小系统电路,该电路主要包括电源电路、复位电路、晶振电路、启动电路和调试接口。其中复位电路是为了保证系统模块的灵活性;时钟电路是为了满足实时监测等功能。以下是图2-3STM32F103C8T6最小系统电路原理图:图2-3STM32F103C8T6最小系统电路原理图2.3CO传感器模块硬件设计2.3.1CO传感器选型分析很大一部分人每天都在家庭里使用煤气、天然气等燃料做菜、取暖等,相比于以前用柴火木头作燃料,这些新型燃料不仅安装更换方便,而且火力更加强大。但秋冬季节由于天气寒冷人们会经常关闭门窗,而用户在使用燃料或者燃气泄漏时关门关窗会使封闭房间内大量的CO排不出去,所以每年的秋冬季节都是CO中毒的高发时节[9]。本系统的CO传感器模块采用MQ-7传感器。MQ-7传感器是一款可以同时检测多种含有CO的气体,并且其对CO高度敏感,是目前应用比较广泛的低成本传感器。由于MQ-7传感器拥有较长的使用寿命,并且其检测性能突出,也是目前较为常用的一氧化碳探测传感器。以下是表2-1MQ-7传感器的技术指标:表2-1MQ-7传感器技术指标回路电压≤10VDC加热电压5.0V±0.1VACorDC(高)1.5V±0.1VACorDC(低)加热时间60±1S(高)90±1S(低)负载电阻可调加热电阻29±3(室温)加热功耗≤900mW输出电压2.5-4.3V(in100ppmCO)灵敏度Rs(inair)/Rs(100ppmCO)≥52.3.2CO传感电路MQ-7传感器是模拟传感器,MQ-7传感器可以将采集的CO浓度转换为模拟信号(电信号),然后根据这些电信号的强弱就可以获得CO浓度的信息,以达到检测、监控采集室样内的CO浓度[10]。所以设计CO传感电路也比较简单,将电导率的变化转换为与CO浓度相对应的输出信号即可达到系统采集CO浓度数据的要求。以下是图2-4MQ-7传感器电路原理图:图2-4MQ-7传感器电路原理图2.4温湿度传感器模块硬件设计2.4.1温湿度传感器选型分析IAQ-室内空气品质,温度在20~26℃之间,相对湿度在40~60%RH为适宜环境,并且为保证室内环境的舒适性与健康性,温湿度也是室内环境的一项重要检测内容[11]。本系统的温、湿度传感器模块使用的是拥有数字信号输出校准的可以同时检测温度和湿度DHT11温湿度传感器。此传感器占用的面积,采用的是单总线的数据传输方式并且其抗干扰能力非常的强,经常用于高炉测温、机房检测、家庭温度控制等方面适合于很多空间比较小的场合和数字温度检测等领域。这款温度传感器转换时间为75ns,比传统DS1820速度要快很多。它以小体积、低功耗、高性价比、抗干扰强等优势一度成为现在在各种应用中被选择最多的一款温湿度传感器,所以根据其以上有点本系统也自然会选择它。以下是图2-5DHT11温湿度传感器的性能说明:图2-5DHT11温湿度传感器的性能说明2.4.2温湿度传感电路DHT11湿温度传感器的连接电路比较简单,只需要占用CPU的一个I/O口即可完成上下位的连接,单总线的输出结构可以有效的节省了CPU的I/O口资源[12]。在设计时为保证温、湿度传感器模块的稳定运行,要把一个10k的电阻接入第一引脚(电源正极VCC)与第二引脚(数据端DATA)之间。以下是图2-6DHT11湿温度传感器电路原理图:图2-6DHT11湿温度传感器电路原理图2.5PM2.5传感器模块硬件设计2.5.1PM2.5传感器选型分析PM2.5也称细颗粒物,是指粒子直径小于或者等于2.5微米的颗粒物。第二次工业革命以来,由于人类的过度开发和自然环境的急剧恶化,特别是一些工业地区,PM2.5的浓度过高严重破坏大气环境质量和危害人体健康[13]。目前检测和控制PM2.5浓度已经日益成为人们生活工作中所重视的环境健康工作,这是保障人们拥有一个良好空气质量的一个重要部分。本课题研究的智能室内监控系统出于人体健康考虑也提出了对PM2.5浓度的检测。本系统的PM2.5传感器模块选用的是GP2Y1050AU0F粉尘传感器。GP2Y1050AU0F粉尘传感器是一款性能优质的可以检测PM2.5颗粒的传感器,并且在不同环境下它的检测性能也都非常灵活准确。其性能特点如下:灵敏度高;重量轻,安装简单;一般采用5V电压,利于信号的储量过程;自身能够实现空气的流通,也促进了外部大气的流通;消耗电流相对比较小,使其功率降低;输出电压0.5V。以下是其电气特性,如表2-2GP2Y1050AU0F粉尘传感器电器特性:表2-2GP2Y1050AU0F粉尘传感器电气特性项目/Items记号/Symbol条件/conditionMINTYPMAX单位/Unit检测范围D(*1,2)0.032.5-Um检测感度K(*1,2)0.200.350.50V/(0.1mg/m2)无尘时输出电压(*1,2)0--V出电压范围TXD高电平/Vcc=5.0V4.6-VccV低电平/Vcc=5.0V0.3-0.8V电流IccVcc=5.0V-1720mA2.5.2PM2.5传感电路AD采样和串口通信是GP2Y1051AU0F传感器与微控制器连接的两种方式,本系统选择的是串口通信,串口输出值就是PM2.5浓度转换之后的电压值。此外,采集得到的PM2.5浓度与电压值成线性关系,通过电压值就可以很容易地获得空气中的PM2.5浓度。以下是图2-7PM2.5传感器电路原理图:图2-7PM2.5传感器电路原理图2.6LCD显示模块硬件设计2.6.1LCD显示屏选型分析液晶显示屏的应用非常广泛,在我们日常生活中经常可以看到它的身影,大至电视机、电脑、洗衣机等,小至计算机、电子手表等,很多电子产品都使用液晶显示让人们可以直观地获取到显示屏呈现的信息[14]。液晶显示屏在单片机控制系统中常作为输出器件并具有以下优点:显示质量高,画质高且不会闪烁。数字式接口,与单片机接口更简单、更可靠、操作更方便。体积小、重量轻,相对于传统显示屏更加轻巧。功耗低,耗电量比其他显示屏更低。本系统的LCD显示模块主要实现功能是由STM32控制核心控制将已转换成数字信号的环境数据直观清晰地呈现给用户,而LCD液晶显示器具有低功耗、小体积、高性价比的优势,十分符合本系统的低功耗、小体积等要求,系统设计的时候也根据以上优势选择了LCD1602。LCD1602拥有16个引脚,其引脚介绍如下表2-3:表2-3LCD1602引脚介绍引脚号引脚名称引脚功能1GND电源接地端2VCC5V电源正极3VL调节显示器对比度4RS寄存器选择端5RW读写信号线6E使能端口7~14D0~D7双向数据端口15BL+背光正极16BL-背光负极2.6.2LCD显示电路液晶显示屏的工作原理是利用液晶的物理特性,通过电压来控制器显示区域,有电就可以显示。LCD1602液晶显示屏工作在3.5~5.5V的工作电压,工作电流是2.0mA(5V),它的最佳工作电压也是5V。LCD1602液晶显示屏在系统中主要是负责将已经经过主控核心处理的三大传感器模块采集到的模拟信号或数字信号都输出为数字信号,然后直观呈现给用户。以下是图2-8LCD1602电路原理图:图2-8LCD1602电路原理图2.7GSM报警模块硬件设计2.7.1GSM模块选型分析GSM(GlobalSystemforMobileCommunications),全球移动通信系统,是一种源于欧洲的移动通信技术标准,也是世界上主要的蜂窝通讯系统之一[15]。尽管目前已经开始广泛推广和应用第三、第四代移动通信技术,但作为第二代的GSM早就拥有广泛的应用,全球就有12亿的用户,用户遍布超120个国家。GSM作为最早推出的数字移动通信系统,它具有大容量、较高频谱效率、高安全性、高抗干扰能力等特点。本系统的GSM模块采用SIM800L。SIM800L性能和性价比都很高,并且外观小巧、支持四频,功能比旧版本SIM900A更加强大。它采用了专门的省电技术,在休闲模式时最低功耗电流低至0.7mA.结合以上优势,SIM800L无疑是本系统GSM报警模块的优质选择。以下是表2-4SIM800L模块的编码格式和最大网络数据速度率:表2-4编码格式和最大网络数据速度编码格式1个时隙2个时隙4个时隙CS-19.05kbps18.1kbps36.2kbpsCS-213.4kbps26.8kbps53.6kbpsCS-315.6kbps31.2kbps62.4kbpsCS-421.4kbps42.8kbps85.6kbps2.7.2GSM模块电路设计GSM模块电路功能是在检测到温度、湿度、CO、PM2.5四个环境数据中的任一个数据超过设置的上限值,STM32主控核心就会通过SIM800L模块发送报警信息到设定的手机号上。以下是图2-9GSM模块电路原理图:图2-9GSM模块电路原理图2.8其他电路设计2.8.1供电电路供电电路的设计是智能室内监控系统稳定工作的最基本条件。所以为保证微控制器及各个部分能够稳定有效地进行,本系统采用USB供电,通过供电电路输出5V的直流电压,供电按键开关为SW1。以下是图2-10供电电路原理图:图2-10供电电路原理图2.8.2按键控制电路本系统的按键控制电路是由3个微动开关并联组成的电路,其中按键开关检测原理是高低电平检测。按键开关由于其拨动时间,难免产生误差,所以在编写按键函数时,要额外写一个去抖函数,提高精确性。本次设计环境数据报警上限值就是通过按键设置的,按键1代表切换模式,按键2代表增,按键3代表减。以下是图2-11按键控制电路原理图:图2-11按键控制电路2.8.3蜂鸣器电路蜂鸣器是一种蜂鸣元器件,供电时就进行蜂鸣,操作非常简单。因为本系统主控核心为STM32,STM32单片机上电后引脚为高组态,所以系统的蜂鸣器电路设计选用8050蜂鸣器,8050蜂鸣器也是在高电平状态下才导通,因此我们在设计蜂鸣器报警时,给三极管一个高电平,就实现了蜂鸣器报警。以下是图2-12蜂鸣器电路原理图:图2-12蜂鸣器电路原理图2.9本章小结本章节对智能室内监控系统的硬件总体设计进行研究,主要从各个模块的选型因素和模块电路设计进行分析,也对其他基本电路进行讲解。系统硬件电路设计主要包括主控芯片电路、CO传感器电路、温湿度传感器电路、PM2.5传感器电路、LCD显示电路、GSM模块电路、供电电路以及按键控制电路和蜂鸣器电路,其中主控芯片电路是为保证微处理器对系统的处理控制,三大传感器电路(CO传感器电路、温湿度传感器电路、PM2.5传感器电路)负责对环境数据的采集,GSM模块电路和蜂鸣器电路可以实现环境数据超标的报警。第3章第3章系统的软件设计3.1软件总体设计思路系统硬件设计完成后,就要对STM32和外设传感器进行软件设计。在上一章的系统硬件设计中设计采用了模块化硬件设计,软件设计思路也跟上一章的设计思路类似。本系统的模块化软件设计主要包括主程序、温、湿度传感器的数据采集、CO传感器的数据采集、PM2.5传感器的数据采集、LCD显示、GSM模块短信发送、蜂鸣器报警和按键设置等基本程序的设计,并且采用模块化程序设计也可以方便检查修改在后续调试中出现的问题与不足。如下图3-1本系统软件设计使用KeiluVision5来进行编写。图3-1整体系统框图3.2主程序设计主程序是整个系统的核心,控制着整个系统的正常稳定地运行。主程序首先是对各个硬件模块进行初始化,之后各个模块开始正常工作,实时检测环境数据,并驱动LCD显示和相应报警操作。主程序运行的具体步骤如下图3-2:温、湿度传感器初始化;CO传感器初始化;PM2.5/GSM串口初始化;各个传感器正常工作,检测环境数据;LCD显示当前检测数据:温度、湿度、CO浓度、PM2.5;按键分别设置温度、湿度、CO、PM2.5上限;判断是否超限,超限驱动蜂鸣器报警、LED指示灯亮、SIM800L模块发送报警短信。图3-2主程序流程图3.3温湿度传感器数据采集温、湿度传感器数据采集程序运行步骤首先是对DHT11传感器进行初始化,然后发出指令让DHT11对周围环境进行扫描,接着是温、湿度的转换,最后读取温湿度。以下是图3-3温、湿度传感器数据采集程序图:图3-3温湿度传感器数据采集程序图3.4CO传感器数据采集CO传感器数据采集程序不同于温、湿度传感器数据采集程序,因为硬件CO传感器模块使用的是MQ-7传感器,而该传感器输出的是模拟信号,所以在程序运行时需要进行A/D转换将模拟信号转化为数字信号。整体的CO传感器数据采集程序主要包括初始化MQ-7传感器,发送信号启动MQ-7,进行A/D(模数转换),计算当前电压值,转换数据得到对应CO浓度。其中CO浓度与MQ-7传感器输出电压成正比,所以通过计算当前电压就可以获取CO浓度。以下是图3-4CO传感器数据采集程序图:图3-4CO传感器数据采集程序图voidwShowData(){intCO_thousand1=CO_ipp/1000;intCO_hundred1=(CO_ipp-1000*CO_thousand1)/100;intCO_ten1=(CO_ipp-1000*CO_thousand1-100*CO_hundred1)/10;intCO_single=CO_ipp-1000*CO_thousand1-100*CO_hundred1-10*CO_ten1;//取出个位数intCO_a=CO_ipp*10;intCO_ten=CO_a%10;intCO_b=CO_ipp*100;intCO_hundred=CO_b%10;wShowOLED16X16(1,1,4);wShowOLED16X16(1,17,5);wShowOLED16X8(1,33,10);if(CO_thousand1)wShowOLED16X8(1,41,CO_thousand1);elsewShowOLED16X8(1,41,30);if(CO_thousand1==0&&CO_hundred1==0)wShowOLED16X8(1,49,30);elsewShowOLED16X8(1,49,CO_hundred1);if(CO_thousand1==0&&CO_hundred1==0&&CO_ten1==0)wShowOLED16X8(1,57,30);elsewShowOLED16X8(1,57,CO_ten1);wShowOLED16X8(1,65,CO_single);wShowOLED16X8(1,73,11);wShowOLED16X8(1,81,CO_ten);wShowOLED16X8(1,89,CO_hundred);wShowOLED16X8(1,105,32);wShowOLED16X8(1,113,32);wShowOLED16X8(1,121,31);3.5PM2.5传感器数据采集PM2.5传感器模块电路使用GP2Y1051AU0F传感器,然后采用串口通信与STM32连接,PM2.5传感器数据采集程序主要包括串口初始化、接收数据、发送数据至串口、单片机获取数据。以下是图3-5PM2.5传感器数据采集流程图:图3-5PM2.5传感器数据采集流程图intFM_thousand1=FM_ipp/1000;intFM_hundred1=(FM_ipp-1000*FM_thousand1)/100;intFM_ten1=(FM_ipp-1000*FM_thousand1-100*FM_hundred1)/10;intFM_single=FM_ipp-1000*FM_thousand1-100*FM_hundred1-10*FM_ten1;intFM_a=FM_ipp*10;intFM_ten=FM_a%10;intFM_b=FM_ipp*100;intFM_hundred=FM_b%10;wShowOLED16X16(3,1,7);wShowOLED16X16(3,17,8);wShowOLED16X8(3,33,10);if(FM_thousand1)wShowOLED16X8(3,41,FM_thousand1);elsewShowOLED16X8(3,41,30);if(FM_thousand1==0&&FM_hundred1==0)wShowOLED16X8(3,49,30);elsewShowOLED16X8(3,49,FM_hundred1);if(FM_thousand1==0&&FM_hundred1==0&&FM_ten1==0)wShowOLED16X8(3,57,30);elsewShowOLED16X8(3,57,FM_ten1);wShowOLED16X8(3,65,FM_single);wShowOLED16X8(3,73,11);wShowOLED16X8(3,81,FM_ten);wShowOLED16X8(3,89,FM_hundred);wShowOLED16X8(3,105,32);wShowOLED16X8(3,113,32);wShowOLED16X8(3,121,31);3.6LCD显示系统的LCD显示模块硬件选用了LCD1602液晶屏作为显示器,所以对应的LCD显示程序应包含:对LCD1602液晶屏进行初始化、检测忙信号、单片机向LCD1602写入数据、显示数据。具体的LCD显示流程如下图3-6:图3-6LCD显示流程图3.7GSM短信发送GSM报警模块硬件与主控模块硬件连接好后,其中的SIM800L模块与STM32单片机的通信是采用串口通讯,然后再讲报警短信发送至设置的手机号。所以GSM短信发送程序设计包括选择定时器、串口初始化、总中断和串口中断打开、AT指令初始化、写入发送短信号码、发送短信。以下是图3-7GSM短信发送程序流程图:图3-7GSM短信发送程序流程图3.8蜂鸣器报警蜂鸣器报警是在温度、湿度、CO浓度、PM2.5浓度四个环境数据中任何一个超过了设定的数值上限启动的,也就是说只要出发了报警条件,蜂鸣器就会启动,发出鸣响,所以蜂鸣器报警程序包括:程序初始化、设定报警条件、是否触发报警条件、蜂鸣器报警。其程序流程如下图3-8:图3-8蜂鸣器报警流程图if((LedHH_P==0)||(LedHL_P==0)||(LedTH_P==0)||(LedTL_P==0)) //蜂鸣器判断,只要至少1个报警灯亮,蜂鸣器就报警 { for(i=0;i<3;i++) { Buzzer_P=0; DelayMs(100); Buzzer_P=1; DelayMs(100); } }3.9按键设置本系统按键设置电路使用了三个4引脚开关,按键功能是模式切换和设置温度、湿度、CO浓度、PM2.5浓度的数值上限,在设计按键设置程序是需要加入去抖函数,防止误差,提高按键准确性。其按键设置程序流程如下图3-9:图3-9按键设置流程图按键扫描,用于设置温湿度报警范围voidKeyScanf(){ if(KeySet_P==0) //判断设置按键是否被按下 { /*将液晶显示改为设置页面的/ LcdWriteCmd(0x01); //设置界面的显示框架 LcdGotoXY(0,0); LcdPrintStr("Temp:-"); LcdGotoXY(1,0); LcdPrintStr("Humi:-"); LcdGotoXY(0,6); //在液晶上填充温度的下限值 LcdPrintNum(AlarmTL); LcdGotoXY(0,9); //在液晶上填充温度的上限值 LcdPrintNum(AlarmTH); LcdGotoXY(1,6); //在液晶上填充湿度的下限值 LcdPrintNum(AlarmHL); LcdGotoXY(1,9); //在液晶上填充湿度的上限值 LcdPrintNum(AlarmHH); LcdGotoXY(0,7); //光标定位到第0行第7列 LcdWriteCmd(0x0F); //光标闪烁 DelayMs(10); //去除按键按下的抖动 while(!KeySet_P); //等待按键释放 DelayMs(10); //去除按键松开的抖动3.10本章小结本章首先简述了系统的软件设计总体思路,软件设计也采用了模块化的设计思路来进行程序编写,然后主要对主程序、温湿度传感器的数据采集、CO传感器的数据采集、PM2.5传感器的数据采集、LCD显示、GSM模块短信发送、蜂鸣器报警和按键设置的程序设计和运行流程展开描述。第4章第4章系统测试实验分析4.1系统测试实验思路和目的前面两个章节中分别讲述了系统的硬件电路设计和软件程序设计,然后根据设计好的电路原理图就可以进行实物的连接,最后再对焊接好的实物进行测试。所以本章的系统测试实验思路主要是对完成后的实物进行硬件测试、软件测试、功能测试三个步骤进行测试实验。系统测试实验的目的是保证本论文设计的智能室内监控系统可以自动检测采集温度、湿度、CO浓度、PM2.5浓度,通过单片机处理后由LCD显示屏显示具体的数值,还要确保在某一数值超过设定上限时会有蜂鸣器警报和GSM模块发送报警短信,并且也可以通过系统测试实验来调整系统模块参数,保证系统所采集数据的精准度,达到题目的“智能”要求。4.2硬件测试硬件测试主要是包括检测硬件实物之间的连接是否正确并且保证是否正常通电。通过观察、对照系统的各个模块的电路原理图来确保各模块实物电路的焊接工作是否正确,特别是那些主要元器件的引脚连接,分别有STM32F103C8T6最小系统、DHT11温湿度传感器GP2Y1050AU0F粉尘传感器、MQ-7传感器、SIM800L模块和LCD1602液晶显示屏,然后再对已全部焊接完成的系统实物进行进一步全面检查。首先是利用万用表来测试线路与引脚之间、引脚与引脚之间的通电状态,如出现短路要排查是否是由于焊剂过量、焊锡连桥等而导致,如出现断路要排查是否是由于冷焊、虚焊等而导致。硬件测试要对实物电路焊接进行反复、仔细的检查,确保硬件电路的连接没有出现错误,这样才能保证后续测试实验的正常进行。4.3软件测试系统的软件设计是用C语言在KeiluVision5进行程序编写,进行软件测试需要把编译成功的程序通过串口通信烧录进STM32单片机内部,然后再重新给单片机上电。用5V的直流电源给系统供电,按下开关键,观察LCD1602液晶显示屏是否正常显示,正常显示后,说明显示电路正常。然后是检查显示器是否显示的是温度、湿度、CO浓度、PM2.5浓度,均显示正常就可以进一步检查三个按键的功能是否正常。对于GSM报警模块的检查是通过分别调小温度、湿度、CO浓度、PM2.5浓度的数值上限,观察当数值超过上限时,蜂鸣器是否会警报并且是否会发送报警短信到指定号码。通过一步一步检查,确保系统功能正常,如出现问题,可以通过逐一排查、解决问题,然后再重新进行测试,直到系统的预期功能可以正常实现。4.4功能测试功能测试的目的是确保系统对室内环境采集的数据准确性,功能测试又具体分为温度测试、湿度测试、CO浓度测试、PM2.5浓度测试以及报警时差测试,前四个是对系统采集环境数据的准确度测试,报警时差测试是对从SIM800L模块报警短信的发送到用户手机接收报警短信所需时间的测试,接下来也会对功能测试实验的几个具体测试进行描述。4.4.1温度测试本次温度测试是以干湿温度计测量的温度数据作为对照组,然后系统采集的温度数据作为实验组,进行对比。干湿温度计是用来测量气温、气湿的一种仪器,但一般都只是用其来测量温度,因为它的湿度测量不太准确,只能读出个大概,所以本次测试也只使用它的温度测量功能。系统连续工作会导致实物电路板发热,为了保证实验的严谨性,所以每隔一个小时进行温度测量,再进行实验对照。温度测试结果如下表4-1和表4-2:表4-1温度测试结果系统测试温度值(℃)标准温度计值(℃)温度差值(℃)15.515.60.117.317.3016.516.70.215.815.8015.015.10.1平均误差0.08表4-2温度测试结果系统测试温度值/℃标准温度计值/℃温度差值(℃)18.518.20.320.721.10.423.223.10.121.521.20.320.019.80.2平均误差0.26由温湿度测试结果可以看出,本次设计的监控系统温度测试数据和家用温度计测试数据误差在0~0.2℃,平均误差在0.26可忽略不计,因此,利用系统监测家居温湿度数据情况符合用户需求。4.4.2湿度测试湿度测试的对照组湿度数据采用专门的空气湿度测量仪测量的数据,保证对照组数据的严谨性。同样的,由于系统连续工作会导致实物电路板发热,影响到湿度采集数据的准确,并且为了实验对照更加鲜明,对湿度的采集是每隔3个小时一次,从早上7:00到晚上19:00,测量五次,因为早上湿度高、临近中午湿度低、晚上湿度又回升,让实验结果更加严谨准确。湿度测量结果如下表4-3和表4-4:表4-3湿度测量结果测试湿度(%)对照湿度(%)湿度差值(%)767826463153530464605253160600平均误差0.6表4-4湿度测量结果测试湿度(%)对照湿度(%)湿度差值(%)4242045461514925552348502平均误差1.3本次设计的监控系统湿度测试数据和家用湿度计测试数据误差在0.1~0.3%,平均误差在1.3.误差较小。因此,本次设计的监控系统检测家居湿度数据情况符合用户需求。4.4.3CO浓度测试和PM2.5浓度测试一氧化碳检测仪是一种专门来检测CO浓度的仪器,本次CO浓度测试的对照组数据就使用一氧化碳检测仪采集的数据,因为CO浓度不像温度和湿度那样受系统发热影响较大,所以不需要像前两类测试实验一样,隔一定时间再进行检测。PM2.5浓度测试也是跟CO浓度测试一样不受系统发热的影响,只需将PM2.5探测仪的采集数据作为对照组数据即可。以下是CO浓度结果和PM2.5浓度测试结果下表4-5至表4-8:表4-5CO浓度结果测试CO浓度(ppm)对照CO浓度(ppm)CO浓度差值(ppm)2525027270262512526124240平均误差0.4表4-6CO浓度结果CO浓度(ppm)对照CO浓度(ppm)CO浓度差值(ppm)2624225223262822726123230平均误差1.6本次设计的监控系统CO浓度测试数据和家用CO浓度计测试数据误差在1~3%,平均误差为1.6,误差较小。因此,本次设计的监控系统检测家居CO浓度数据情况符合用户需求。表4-7PM2.5浓度测试测试PM2.5浓度(微米)对照PM2.5浓度(微米)PM2.5浓度差值(微米)101009101151321313015141平均误差1表4-8PM2.5浓度测试系统PM2.5浓度(微米)对对照PM2.5浓度(微米)PM2.5浓度差值(微米)1920127303343621516124273平均误差2本次设计的监控系统PM2.5测试数据和家用湿度计测试数据误差在1~3%,平均误差在2,误差较小。因此,本次设计的监控系统检测家居PM2.5数据情况符合用户需求。4.4.4报警时差测试智能室内监控系统是保证用户可以实时监测室内的环境,并且在某一环境数据超标时,用户也可以实时接收到报警短信,及时对环境做出相应调整,保障环境健康和人身安全,所以报警时差测试是非常必要的。报警时差测试是以报警触发那一刻为0S(秒)时刻,手机接收到短信的那一刻为末时刻,计算其中的时间间隔。以下是报警时差测试结果如下表4-9:表4-9报警时差测试报警时间异常现象异常时间报警响应时间标准响应时间误差时间第一天温度异常上午8:05温度异常43.50.5第二天温度、PM2.5异常上午10:00温度异常。12:25PM2.5异常4.540.5第三天湿度异常下午16:00湿度异常53.51.5第四天PM2.5异常上午10:05PM2.5异常3.53.50第五天CO异常下午14:36CO异常44.250.25平均误差0.55本次设计的报警时差测试数据和标准响应测试数据误差在0.25~1.5%,平均误差在0.55,误差较小。因此,本次设计的监控系统检测家居报警时差数据情况符合用户需求。4.5系统测试结果分析系统测试实验三个主要测试已全部完成,通过硬件测试实验,可以确保系统硬件电路的正确无误;通过软件测试实验,可以确保系统软件设计即程序设计的可行性,让系统可以实现预期的基本功能;功能测试实验给出了对比数据,通过具体的测试结果分析,可以保证系统采集的环境数据是可靠、准确的,并且也可以实现实时监控和危险触发及时警报的功能。系统测试实验都会存在一定的误差,这是无法避免的,特别是在功能测试时,测试环境的位置选取、测试时段的时间选取、实验对照的选取等都会对测试的结果产生影响。总体来说,本论文设计的智能室内监控系统采集的温度、湿度、CO浓度、PM2.5浓度数据结果都十分准确、可靠,达到了系统预期的功能效果。4.6本章小结本章节主要对系统测试实验展开叙述,分别从系统测试的实验思路和目的、实验内容、实验结果进行详述、分析,通过完整、全面的系统测试实验过程和结果分析来验证系统最终的可行性和准确性。第5章第5章总结和展望随着科学技术不断发展和人们生活水平不断提高,人们的生活居住方式出现极大的改变,对于家居环境的要求也不断提升。本论文通过结合智能家居和物联网等技术,设计并最终实现了一个智能室内监控系统。该系统具有自动实时检测室内的温度、湿度、CO浓度和PM2.5浓度的数据并通过LCD显示屏直观呈现给用户,此外,该系统还配备了GSM报警模块,在系统采集的四个环境数据之中的任何一个数据超标都会触发报警,通过GSM报警模块发送报警短信至用户手机,报警触发时系统也会驱动蜂鸣器启动,让用户及时收到信息反馈,然后及时对室内环境做出相应调整。此系统可以有效地保障居民身体安全,提升家居的健康性、安全性。

温馨提示

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

评论

0/150

提交评论