【基于STM32单片机的室内环境检测系统研究6800字(论文)】_第1页
【基于STM32单片机的室内环境检测系统研究6800字(论文)】_第2页
【基于STM32单片机的室内环境检测系统研究6800字(论文)】_第3页
【基于STM32单片机的室内环境检测系统研究6800字(论文)】_第4页
【基于STM32单片机的室内环境检测系统研究6800字(论文)】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32单片机的室内环境检测系统设计TOC\o"1-3"\h\u11375摘要 3309一、绪论 429352二、系统的组成及工作原理 43628(一)系统的组成 428278(二)主控芯片 528100(三)系统的工作原理 69540(四)系统的功能 723734三、系统的硬件设计 725081(一)主控电路 74857(二)甲醛检测电路 916824(三)温湿度检测电路 11369(四)LCD1602显示模块 1327288(五)无线模块电路 1420898四、系统软件的设计 158886(一)系统整体软件设计 155078(二)软件整体流程 1528304(三)传感器模块 16647五、系统测试 173809(一)软件测试 1713059(二)系统仿真 1917454参考文献 20摘要近几年,大众生活得到改善,便更多的把关注点放到生活质量上,首当其冲的就是对于自己居住环境的关心,人们对于室内空气质量、温度、湿度尤为关注。同时电子技术、微电子工艺以及科技信息的逐步发展和更新,为室内环境的检测的设计和研发提供了良好的契机。目前,智能家居已经成家居市场的热点,同时也催生出了众多智能家居产品。本课题设计基于目前市场的空缺和需要,设计了基于STM32单片机的无线传输的室内环境检测系统,本课题以STM32作为主控制器件,同时外接温湿度检测模块、甲醛检测模块、NRF24L01模块和LCD1602显示模块。首先对所作课题进行了大量的前期准备工作,调研市场、查阅文献等,接着对课题设计中用到的主要元器件和模块进行了详细的介绍,并对每个模块的功能进行了标注。紧接着对本课题所进行的软件程序进行了整体的设计,以及对每个模块的软件设计也有具体的说明。最后,将各个元器件进行焊接,并将程序下载到STM32单片机,进行相应的功能的测试。成功实现所要求的功能。关键词:STM32;环境检测;无线传输;温湿度检测一、绪论通过电子工艺和电子技术的不断发展,智能化、多功能的家居环境检测系统成为人们梦想的智能家居产品之一。单片机作为微型控制器,被应用于各个领域。由此发展起来的基于单片机的无线传输室内环境检测系统,成为智能家居领域的热门之一。单片机由于其价格低廉,体积小,功能多样,易于改组,灵活方便等优点。而被广泛应用于各个工业的自动化控制领域,引领了智能家居的发展。本次设计以STM32为基础,外围元器件包括温湿度传感器、甲醛传感器(ZE08)、显示模块(LCD1602)、NRF24L01传输,构成本课题设计的基于无线传输的室内环境检测系统。二、系统的组成及工作原理(一)系统的组成本课题通过STM32单片机来实现无线传输室内环境检测系统的设计,主要功能包括对甲醛气体的检测、对室内温湿度环境的检测、并采用无线模块进行传输、最后采用LCD1602进行显示。把STM32单片机的各个引脚与各个模块定义的引脚相连,然后控制各个模块的运行,对室内的环境进行实时的检测,并通过LCD1602进行实时的显示。然后业主可以根据LCD1602给出的结果进行相应的调整。选用的主要器件有:STM32单片机、LCD1602、ZE08、DHT11、NRF24L01、电源模块、继电器等器件,基于STM32单片机的无线传输系统的室内环境检测的结构构成框图如图2.1所示。图2.1系统组成框图(二)主控芯片STM32是现如今应用较为广泛的基础处理器,最为相对较为简单的单片机处理器,在兼顾功能性的同时也可以最大程度的简化设计。本设计采用意法半导体(ST)公司生产的STM32F103zet6芯片,它具有112个通用IO接口,STM32F103zet6芯片的内部还嵌入了多个A/D、D/A转换器、时间控制器以及各种串行通讯控制器等各种功能模块,具体功能如下:(1)该芯片拥有112个IO口,并且这112个接口都是通用接口,而且这里面多个IO接口可以由软件寄存器来配置为第二功能口,该芯片采取3.3V进行供电,但大部分IO接口都耐5V(模拟通达除外),数量庞大的IO接口和大部分IO接口的耐电压特性可以完全满足本课题复杂的传感器检测以及控制器件。(2)拥有8个定时器,定时器除了定时,它的内部还具有分频寄存器,可以实现频率的倍频、分频,从而实现定时器精确地定时,除此之外定时器还可以对一些特定的模块进行定时(例如捕获模块的计时),在本课题中主要用到了定时器的定时功能。(3)该芯片内有512K的FLASH,以及64K的SRAM,FLASH存放程序使用的常量,作用类似电脑的硬盘,所以可以将程序写完然后烧录到FLASH中,256K的FLASH可以用来载入非常庞大的程序,SRAM存放程序运行时产生的一些变量和中间变量,作用类似于电脑里面的内存。(4)该芯片内置锁相环(PLL,倍频),一般系统时钟都是至于外部,对于输入的频率可以精准的进行各种倍频,所以该芯片的时钟最高可达72MHZ。(5)该芯片具有多个A/D转换器,可进行多通道A/D转换,转换时间的控制,进行自动采样和指定采样以及转换,使用更加灵活,非常适应于本课题的研究。(6)该芯片支持SED和JTAG两种程序调试方式,程序设计人员可以根据自己的个人习惯选择适合自己觉得程序烧录和调试方式。(7)该芯片有13个接口用来通信。STM32F103zet6的实物图如图2.2所示。图2.2STM32实物图(三)系统的工作原理该单片机控制无线传输的室内环境检测系统,以STM32为主控芯片,首先控制模块发出相应的指令传入STM32,然后通过该单片机内部的相对应的定时器输出对应的信号,然后各个模块开始工作,ZE08传感器进行室内甲醛气体的检测、温湿度传感器传感器进行室内温、湿度的检测,将采集到的数据传递到单片机,数据通过LCD1602显示,同时通过无线模块传递给业主,然后业主根据数据进行相应的调整。(四)系统的功能该系统要完成的主要设计功能如下:(1)根据单片机STM32内部定时器输出的信号,各个传感器模块进行相对应的工作。(2)通过单片机上的LCD1602模块进行实时的数据显示。(3)对于测得的数据通过无线传输模块传递给业主,然后业主做出相应的调整,此系统具有很强的市场应用型,而且简单高效、价格低廉、易于维修。三、系统的硬件设计(一)主控电路含多个实用单路的组合,其中包括:时钟电路、复位电路等等,通过各个电路之间相互配合,才能够保障整个系统的稳固运转,因此在进行单片机的设计时需要通过查找资料以及对应的手册了解单片机的各个功能,在设计阶段尽量减少因使用不当而产生的报错。单片机的引脚功能很多,结合我们设计的电路功能模块,选择合适的引脚进行连接。1.最小系统的设计STM32能够正常工作,得益于内部的晶振为它提供稳定的时钟信号,与此同时芯片在进行运行程序时遇到错误时需要单片机进行复位操作,使单片机系统重新运行,所以时钟电路和复位电路对于单片机非常重要,所以本文首先对时钟和复位电路进行了设计,电路如图3.1所示。图3.1晶振与复位电路2.电源电路本设计所选用的芯片STM32选用3.3V电源来提供电压,但是其他的相关模块选用5V电源来提供电压,所以要设计要能够提供两种电压。采用外部变压器来获得5V的直流电压,然后通过REG1117-3.3来获得需要的3.3V电压,该芯片输入电压承受的范围在4.8V到10V,而输出的电压得到3.3V。整个系统的电源模块电路如图3.2所示。为了使输出的电压更加稳定,可以选择在电路中加入滤波电容。采用LED灯来只是电源是否在正常工作,没了避免电源模块不能工作,引出了一个5V的引脚,作为电路的一个调试。在条件允许的情况下,可以通过加粗电源线和地线,来起到更强的抗干扰的作用。图3.2电源电路3.继电器电路继电器在电路中主要起到保护和调节的作用。当输入光照、电或者热量等信号是,当该信号达到一定的量能就会导致继电器产生跳变,来达到改变电路开关的状态。为了提高电路的安全性,本设计选用电磁继电器(HK4100F-DC5V-SHG),继电器模块如图3.3所示。电磁继电器利用电磁效应,来达到开关通断的目的。继电器模块开关的过程为:(1)STM32发出信号,传递给发光二极管然后发光;(2)受光三极管接收来自发光二极管的光之后导通;(3)受光三极管的PN结导通,然后集电极输出电压;(4)电磁继电器内部的项圈两端被加上电压,然后常弊端和公共端进行吸和。图3.3继电器电路(二)甲醛检测电路甲醛气体检测传感器采用的是炜盛科技的ZEO2-CH2O传感器,安装在STM32的外接引脚上。传感器的实物图如图3.4所示:图3.4甲醛气体检测传感器ZEO2-CH2O传感器是一个检测甲醛的通用性元器件组。通过电化学原理检测室内的甲醛气体,同时它的还可以自己进行温度的补偿,可以在各种环境下使用,还具备数模转换功能,使用范围非常广泛。ZEO2-CH2O传感器的特点如表3.1所示表3.1产品型号ZE08-CH2O检测气体甲醛干扰气体酒精、一氧化碳等气体输出DACUART工作电压3.7V~9V(带电板反接电压)预热时间≤3分钟响应时间≤60秒恢复时间≤60秒量程0~5ppm分辨率≤0.01ppm工作温度0~50度工作湿度15%RH~90%RH存储温度0~50度使用寿命两年(空气中)ZEO2-CH2O传感器引脚的功能如表3.2所示:表3.2管脚名称管脚说明Pin4Vin(电压输入3.7V~9V)Pin3GNDPin2DAC(0.4V~2V,对应0-满量程)Pin7PWMPin1HD(校零,暂不开放)Pin5UART(RXD)0~3V数据输入Pin6UART(TXD)0~3V数据输入(三)温湿度检测电路在课题设计中选用DHT11,来检测室内环境的温、湿度,并对检测到的数据进行相应的保存。该传感器内有独特的数字模块及温湿度检测方法,为该传感器检测提供了精确性和稳定性。内部结构是一个感湿元器件以及一个测温元件,该传感器抗环境干扰强、体积小、价格便宜,所以被广泛用来进行温、湿度的测量。内部具有存储单元,可以将测得的数据进行实时的保存,所以使用起来非常方便。其实物图如图3.5所示,该传感器的精度为:(1)湿度:±5%RH(2)温度:±2℃(3)量程湿度:20-90%RH(4)量程温度:0-50℃图3.5DHT11实物图DHT11的工作过程如下,首先STM32单片机发送低电平信号,低电平信号要维持一段时间,在这个时间内,温湿度传感器进行数模转换等动作,在拉高之后,留有一定的时间,用作主机进行切换。当切换完成之后,温湿度传感器再次拉低,用于数据准备发送的信号,再次进行拉高时,就将测量得到的数据进行传输了。DHT11的引脚说明如表3.3所示:表3.3引脚名称功能Pin1VDD供电3~5.5VPin2DATA串行数据,单总线Pin3NC空脚Pin4GND接地,电源负极室内环境温湿度检测电路的设计如图3.6所示图3.6温湿度检测电路(四)LCD1602显示模块本设计选用LCD1602显示屏,用LCD1602来对温、湿度传感器模块测得的数据进行显示,LCD1602具有功耗小、没有辐射、而且对于图像具有精确还原等优点,LCD1602能同时分割出两行,并且可以显示汉字,每一行最多可以有16个字符。同时LCD1602显示模块内部自带存储空间并且存有字库,而且1602可以选择接口方式(4位或8位)试用于不同环境。相比较而言价格更便宜,外围电路及其程序的编写更为简单。LCD1602模块如图3.7所示。图3.7LCD1602LCD1602的引脚功能如表3.4所示:表3.4管脚号符号功能1VSS电源地(GND)2VDD电源电压(+5V)3VL寄存器选择输入端4RS读写控制输入端5R/W读写控制输入端6EN读,高电平有效;写,下降沿有效7DB0数据输入/输出口8DB1数据输入/输出口9DB2数据输入/输出口10DB3数据输入/输出口11DB4数据输入/输出口12DB5数据输入/输出口13DB6数据输入/输出口15DB7数据输入/输出口在本课题设计中,需要显示的内容主要有:室内环境实时的温度和湿度以及空气中是否含有甲醛。在线路的连接方面,需要将VDD与+5V电源连接,VSS与电源地连接,来确保液晶屏可以正常供电。同时将BL+BL-分别连接+5V电源和地来保证背光屏的正常工作,字符的颜色用过VL段与电阻连接确定,电阻越小,字符的显示越清晰,这里我们选用1.8K阻值的电阻。在数据传输方面我们将D0~D7端口与单片机上的P00~P07连接,来实现数据的传输。RS、RW、EN段分别与P20、P21、P22连接通过控制其高低电平来保证显示屏的正常读写功能。如图3.8所示图3.8LCD1602显示电路(五)无线模块电路本课题经过实时的测试选用NRF24L01作为系统的无线传输模块,该模块由各种元器件和模块组成,有调制器、信号接收器、三极管放大器等等。其次它的频率的确定,以及协议的设定,要用UART来进行设定。该模块应用范围非常广泛,而且适合几乎大部分微型主控器。对于本课题选用的STM32也适用,它传送精确、体积小、价格便宜,而且具有一定的抗干扰。在本课题设计中无线模块完成的主要是给业主传递信息,然后业主根据传递的信息进行下一步的操作。无线传输模块的电路设计图如图3.9所示。图3.9无线模块电路四、系统软件的设计(一)系统整体软件设计软件设计采用C语言为基础编程语言。C语言作为编程语言中利用较为广泛的技术,同时具备有良好的开发功能和扩展功能,其作为较为完善的编程语言,在安全性和稳定性上有良好的表现,编译简单,逻辑清楚,适用于多种环境下。本次设计选择C语言主要是针对实际情况下针对不同的环境需要对于设备的检测方向进行更改,促使设备得到最大化的利用。(二)软件整体流程系统对甲醛检测模块、温湿度检测模块、无线传输模块以及LCD1602接口等进行初始化,通过STM32单片机对整体进行初始化,然后将设计好的软件程序烧录到单片机中,并在特定的环境下对实物进行测试,系统软件设计流程图见图4.1所示。图4.1软件设计流程图(三)传感器模块甲醛检测电路、温湿度检测电路都是利用传感器进行测量,所以在本论文中统称为传感器模块。对于传感器模块的软件设计流程是,首先对每个器件进行初始化,初始化完成之后,各部分电路开始进行各个相应的工作,采集完成之后传输给单片机,单片机进行数据的处理,处理完成之后传递给无线模块然后无线模块歘递给业主同时OLED模块进行显示。对于传感器模块的软件设计流程图如图4.2所示。图4.2传感器模块流程图五、系统测试(一)软件测试在课题的整体框架设计、绘制各部分硬件电路图、设计软件整体流程图以及各个元器件的流程图时,总会出现一些小错误,例如在绘制流程图时,首先是要先进行初始化,然后再对各个元器件进行配置,而我总是把初始化给忘掉,导致测试数据的不准确。其中最大的困难来自整体软件程序的编写,首先要对各个模块所要实现的功能非常的了解,也要知道各个器件每个引脚的功能,切不可接错,一旦接错轻则烧毁元器件,重则烧毁整个电路板,对各个模块所要实现的功能了解之后,就可以对每个模块进行软件程序的编写,编写完成之后,要对每个程序进行编译和运行,有时可能会报错,这时鼠标双击会报错,就会指向相应的错误处,此时便可以查看错误的原因,有可能是语法错误,也有可能是逻辑错误,进行相应的修改,在此重复上面的操作,编译运行,直到软件提示成功为止。同时在硬件电路的设计时也会遇到问题,比如有可能在点亮LCD1602的时候可能会遇到不显示内容只显示白块的情况,首先要检查焊接情况,是不是使能端焊接错误啊等等,如果硬件没有问题,就要看是不是软件程序编写出现了错误。图5.1启动调试工具在完成每个模块的硬件电路设计和软件程序编写之后就可以按照软件整体流程框架图进行主函数的编写,从而在主函数中调用各个子模块的函数,整体的软件函数也就编写完成了,在如图5.2所示的编译软件中对整个软件程序进行运行,可能会出现报错的情况,可以选择进行按句子进行运行,同时观察变化,最终使程序能够实现最终的功能。以达到预期的结果。最重要的是在进行元器件硬件电路的设计中,一定要考虑实际情况,比如如果用于家用,那么就要满足家用电压220V的要求,其次也要注意电路设计中的短路和断路问题,比如要加上拉电阻的要记得添加,引脚该接高电平的要接高电平,引脚要接地的要记得接地,一定不要忘记接。在进行软件程序设计的过程中要养成规范的良好习惯,这样有利于程序的可读性,显得更有条理性,也便于后期的修改。最好将软件程序设计做到精细化、模块化,其次还要注意资源的分配,比如存储空间,一定要做到用多少分配多少,切不可浪费存储空间,做到节约资源和空间。图5.2软件测试(二)系统仿真仿真软件的出现对于间接的测试系统的性能具有深远的意义,但是仿真软件并不是万能的,不能对所有的功能进行仿真,因此就要按照整体的设计框架,将各个元器件进行焊接,最终形成完整的实物,在进行焊接时一定要注意安全,同时要防止虚焊和漏焊,尽量使焊点圆满一点,像水滴状或者馒头状。实物焊接完成之后,要对各个模块进行测量,确保每个模块都能实现相应的功能。对于电源模块要高度重视,并对其进行单独测量。完成之后将各个模块进行连接,形成完整的实物。整体实物焊接完成之后,将设计好的软件程序下载到STM32单片机中,首先初始化,先进行温湿度模块的调测,先测的环境的初始温度和湿度,再用捂一会发现温度和湿度发生变化,说明温湿度电路正常;再进行LCD1602电路的调试,能够对测得的数据进行准确的、实时的显示;最后是无线模块,通过两个单片机进行互传,可以准确实现数据的传递。调试完成之后,就可以进行实地的测量,来看一下实测的结果,能否参考文献[1]胡晓东.基于ZigBee技术的家居智能控制系统设计[D].湖南:湖南大学,2007.[2]陈栋.建设模拟电子技术虚拟实验室[J].科技传播.201

温馨提示

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

评论

0/150

提交评论