基于STM32单片机的空气净化器毕业设计_第1页
基于STM32单片机的空气净化器毕业设计_第2页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、业设计学生姓名:,学号:学院:电气工程学院专业:电气工程及其自动化题目:基于单片机的办公室用空气净化器控制系统设计指导教师:评阅教师:2017年6月毕业设计中文摘要随着我国现代化进程的脚步不断加快,各地方PM2.5值居高不下。针对这一现象,本课题以STM32单片机为控制核心,首先对国内外空气净化器做了具体分析,给出了一种电压可调式的办公室用空气净化器总体设计方案;其次,根据市场需求及方案可行性对比,对MCU最小系统单元、TFT_LCD液晶显示模块、L298N驱动模块、DHT11温湿度传感器、SDS011激光传感器进行了硬件电路设计,搭建了完整的硬件平台;再次,基于嵌入式操作系统采用模块化编程的

2、方式,完成了对主程序、显示子程序、PWM输出子程序、数据采集子程序、上位机控制台操作子程序等设计;最后,进行空气净化器的整体测试,据试验结果可知,本设计实现了数据采集、触屏控制、档位选择、开关机设定、无线通信等功能。关键词STM32单片机空气净化器液晶显示激光传感器触屏控制毕业设计外文摘要TitleDesignofOfficeAirPurifierControlSystemBasedonSingleChipMicrocomputerAbstractWiththedevelopmentofChina'smodernizationpacecontinuestoaccelerate,thel

3、ocalPM2.5valueisveryhigh.Inviewofthisphenomenon,ThispaperusesSTM32MCUascontrolcore,Firstofalldomesticandinternationalairpurifierhasdoneadetailedanalysis,Avoltageadjustableofficewiththeoveralldesignschemeofairpurifier.Secondly,Accordingtothemarketdemandandthefeasibilityofschemecomparison,Aminimumsyst

4、emofMCUunit,TFT_LCDliquidcrystaldisplaymodule,TheL298Ndrivermodule,DHT11temperatureandhumiditysensor,SDS011lasersensorwasdesigned,Ithasbuiltacompletehardwareplatform.Again,Theembeddedoperatingsystemusesmodularprogrammingmethodbasedon,Thecompletionofthemainprogram,PWMdisplaysubroutine,outputsubroutin

5、e,dataacquisitionsubprogram,PCconsolesubroutineandsoon.Thelast,Theoveralltestofairpurifierisfinished.Accordingtothetestresults,Thedesignandimplementationofdataacquisition,touchscreencontrol,gearselection,switchsetting,wirelesscommunicationarerealized.KeyWordsSTM32SinglechipAirCleanerLCDLaserSensorTo

6、uchScreenControl本科毕业设计第II页共II页目录1 引言11.1 课题研究背景及意义11.2 国内外发展状况11.3 课题主要工作32 控制器方案设计42.1 控制器总体方案设计42.2 方案论证对比43 控制器硬件电路设计73.1 单片机控制电路设计73.2 显示电路设计93.3 驱动电路设计123.4 按键电路设计133.5 数据采集电路设计134 控制器软件设计164.1 主程序设计164.2 显示子程序设计164.3 PWM输出子程序设计224.4 数据采集程序设计234.5 上位机程序设计274.6 其它子程序设计275 试验与调试305.1 DHT11温湿度传感器试

7、验与调试305.2 SDS011激光传感器试验与调试305.3 上位机控制器试验与调试315.4 试验与调试32结论38致谢39参考文献40附录A:空气净化器主电路原理图41附录B:下位机C语言主程序42附录C:上位机C#语言主程序44本科毕业设计第3页共45页1引言1.1 课题研究背景及意义如今,在社会快速发展进步的同时,空气的污染状况也在日益加剧。随着国内近几年的发展,化石燃料与汽车尾气的排放,使得我国空气质量严重下降,尤其是PM2.5细小微粒成为污染物的罪魁祸首。其主要来自于大自然的天然产生和人类的实践活动。大自然的污染主要来自于风沙、火灾以及其它极端天气。人类活动的污染主要表现在汽车尾

8、气排放、煤炭发电厂、吸烟等社会活动。研究表明,PM2.5对人类的生活健康水平有着极其恶劣的影响,它能够通过呼吸道进入体内,对人体器官造成伤害。所以,检测出室内PM2.5浓度并进行有效的治理直接关系到人们的生活水平与身心健康。因此,根据这一现象,市面上出现了越来越多的空气净化装置。其中,空气净化器使得这一问题得以解决。对于长时间处于室内工作的人们来说,空气净化器尤为重要。空气净化器可以对室内多种气体污染和灰尘颗粒等悬浮物进行有效的处理,通过机内的通风装置使室内空气循环流动,让空气得以净化。所以,对空气净化器的研究有着十分现实的意义。1.2 国内外发展状况近年来,受空气污染的影响,空气净化技术蓬勃

9、发展。由此,改善空气质量的方式也逐渐增多。目前,在市场上主流的净化空气方法主要有:源控制、通风和空气净化。源控制是指对污染的源头进行控制处理,其能有效的从根本上解决空气的污染问题,是国外很多城市处理空气污染的主要手段。虽然控制效果不错,但其成本也着实不低。通风控制也能降低室内空气的污染程度,但其需要良好有效的控制调节装置。空气净化是指利用物理或化学等手段对空气中污染物进行吸附过滤等处理。或者对一些有毒的不良气体来说,高温、化学灭菌也是净化空气的常用手段。早在上世纪七、八十年代,国外空气净化器已有了发展,欧、美等发达国家在空气污染方面已经有了较深的研究,尤其是对有害物体的治理有了相当大的改善。美

10、国在当时是全球最大的空气净化器消费国,随着第三次科技革命的到来,空气净化器迅速蔓延。在日本,由于特定的大气环境,在每年的春秋到来之际,花粉过敏者不计其数,因此,空气净化技术蓬勃发展。但大部分净化原理都是基于过滤网的物理吸附。目前,随着智能时代的快速到来,夏普、松下等国际品牌也加入其中。在欧洲,宠物受到大众们的欢迎。一到夏季,室内由于宠物掉落的毛发增多而使空气受到严重的污染。与此同时,由于宠物本身自带的特殊气味或者可能的病菌等原因,使得空气污染源变得复杂。因此,这一现象迫使其空气净化装置的发展。如今,其空气净化方法众多,技术处于全球先进水平。在我国,由于抗日战争的缘故,起步相对较晚,直至改革开放

11、,我国科技才有了初步的进展。近几年,虽然在经济发展上取得了举世瞩目的成果,但在空气清洁方面却相对于其他国家有一定的差距。无论在国外亦或在国内,室内空气净化器是实现空气净化的最直接、便捷的仪器,尽管各国发展历程不尽相似,但从目前来看,空气净化器产品主要有以下几种:机械过滤式净化器、机械过滤吸附式净化器、静电式净化器、负离子净化器21、紫外光空气净化器等。机械过滤式净化器,是一种小型空气过滤器,空气经风机加压,通过过滤材料,从而净化颗粒污染物,只能除去一定大小的颗粒污染物,总体净化效果不佳。机械过滤吸附式净化器,分别采用不同的净化机理取出颗粒污染物和气态污染物,这种净化器将普通空气过滤技术与活性炭

12、吸附技术结合起来,总体上改善了净化性能,但活性炭存在吸附饱和状态,比较麻烦,因而没有得到广泛应用。静电式净化器,是一种静电式空气过滤器,对较大的颗粒污染物效果较好,但是会产生臭氧等二次污染物,正被逐步淘汰。负离子净化器,负离子净化器是目前被广泛使用的一种净化器,通过强电场产生负离子与颗粒污染物结合形成“重离子”,沉降或吸附在物体表面,并能杀灭细菌,净化效果良好,但是,这种空气净化器同样能产生臭氧,造成二次污染。紫外光空气净化器,是利用了紫外线的原理通过紫外线的照射,穿透微生物的细胞膜,破坏各种病菌,细菌,寄生虫以及其他致病体的DNA结构,毁灭其核酸分子键,使细菌当即死亡或不能繁殖后代,从而达到

13、消毒灭菌的作用21。无论如何,虽然各国空气净化器发展均有不同,但总体来说,净化器种类正趋向于自动化、人性化、智能化等方向发展。现阶段,市场上产品种类繁多,价格混乱,虽然外观各有不同,但真正的净化效果却大同小异。本文将以净化空气中PM2.5污染为起点,设计一种功能强大、操作方便、净化效果良好的空气净化器。1.3 课题主要工作本课题根据办公室工作环境的实际情况以及所学专业知识完成了一款适合教师在办公室使用的新型空气净化器控制系统的设计。主要工作包括:(1)对比了国内外发展状况,根据人们日常生活的需求,提出了本课题的总体设计方案及功能模块的选择。包括控制模块的选择、显示模块的选择、数据采集模块的选(

14、2)完成了系统的硬件电路设计。包括CPU外围电路设计、显示电路设计、驱动电路设计、各传感器接口电路设计等,搭建了一套完整的硬件平台。(3)完成了系统的软件程序及界面设计。包括主程序设计、各子程序设计以及上位机界面的程序处理算法的研究。(4)对设计的控制系统进行了全面的测试。包括待机显示界面、温湿度采集、空气质量检测、档位切换、开关机设定以及无线通信等功能。经分析试验结果可知,本课题设计的空气净化器满足实际工作的要求。本科毕业设计第4页共45页2控制器方案设计2.1控制器总体方案设计根据所学知识及相关资料,本设计由供电电路、数据采集电路、驱动电路、按键电路、显示电路、上位机控制电路六部分组成。系

15、统总体方案如图2.1所示。图2.1空气净化器总体方案本设计中采用单片机作为空气净化器的控制核心14。结合传感器、显示器、驱动器以及无线收发器等重要部件共同完成了控制系统所要求的功能。该空气净化器能够对室内PM2.5浓度以及温湿度进行监测并通过无线模块发送至上位机,而且能够根据所测参数做出相应的处理措施。具有良好的节能效果和人机交互界面。总体设计原理图如附录A所示。2.2方案论证对比2.2.1控制模块方案对比方案一:选取STC12系列单片机作为主控芯片STC12系列单片机是一种工作方式与51系类相仿,但功能略强的一款高速处理型单片机。工作频率可由分频器分频至0-35MHZ。它的36个通用I/O口

16、可通过程序设置成四种输入输出模式。该芯片有贴片和直插两种封装类型。拥有PCA高速输出功能,处理速度比51系列单片机快上许多。但其资源有限、处理速度相对于32系列较慢。因此,此芯片在本设计中有些力不从心。最重要的是该芯片无法支持TFT_LCD液晶的显示,更实现不了触屏本科毕业设计第6页共45页功能。方案二:选取STM32系列单片机作为主控芯片STM32系列单片机工作时最高频率可达72MHZ,是STC12系列单片机的6-72倍。其内部不仅集成FLASH存储器更是集64KSRAM存储器于一体,拥有庞大的数据存储功能。而且,该芯片内部含有RTC时钟电路,在外部有电源供电的情况下能利用系统内滴答定时器连

17、续不断地计时。不仅如此,此类单片机还拥有5个串行通讯端,能通时支持5类串行通讯设备,是其它单片机无法比拟的。该芯片不仅有高速的处理速度,而且拥有众多的板载资源,功能十分强大。144个引脚使其足以支持任何功能。串行通讯端口使得其在读取PM2.5传感器数据的同时能通过另外串口将数据快速传送至上位机。此外,该芯片能驱动TFT_LCD液晶屏,具有方便快捷的控制效果。综上所述,本设计选取STM32系列单片机作为主控芯片。2.2.2显示模块方案对比方案一:选取LCD12864液晶作为显示模块LCD12864是一种多线串行接口方式的点阵形液晶显示模块,其分辨率为128X649。既可以用来显示字符,又可以通过

18、中文字库显示汉字。但其有限的显示字数和复杂的时序位置操作以及简陋的显示效果和其无法触控的特点使得其并不完全适合充当本设计的显示模块。方案二:选取TFT_LCD液晶作为显示模块TFT_LCD液晶屏幕分辨率为320X240,16位真彩显示,可人为改变字体的颜色和大小16-17。在屏幕上可分行分段显示大批量数据并可通过触控芯片和相应的程序实现触屏功能。虽然控制方式较复杂,但独特的优势和方便的操作使得其满足本设计的要求。综上所述,本设计选取TFT_LCD液晶作为显示模块。2.2.3驱动模块方案对比方案一:选取L298N作为驱动模块L298N电机驱动模块能将输入电压通过PWM控制的方式实现连续可调输出。

19、而且,其能同时驱动两路电机,并能给单片机提供5V电源接口。该模块工作电流相对较大,因此,需安装散热片进行散热处理。然而其价格便宜、控制简单适合本设计中风机的调速控制。方案二:选取LM2596作为驱动模块LM2596模块能实现降压的功能,体积相对较小,拥有大电容滤波电路。其输入电压为3-40V,输出电压范围为1.5-35V连续可调。但此模块只能通过手动按钮进行降压调节,若要通过电子进行调节电压的输出,需要增加其他控制电路,比较繁琐。综上所述,本设计选取L298N作为驱动模块。2.2.4PM2.5传感器模块方案对比方案一:选取GP2Y1014AU粉尘传感器该模块为夏普公司生产的一种粉尘烟雾传感器,

20、能检测出非常细微的颗粒。装置中通过红外发光二极管利用反射原理检测灰尘在空气中的含量。模块中心有一可供气体流通的圆孔,使测量空气自由流通。其输出是与空气中粉尘浓度成正比的电压模拟量,需通过A/D采集后转化成数字量显示浓度值。虽然价格相对比较便宜,但对PM2.5等微小颗粒的检测不是很敏感,对本设计有一定的影响。方案二:选取SDS011激光传感器SDS011传感器根据激光散射原理测量空气中的微小颗粒,当激光照射到悬浮颗粒物时会产生光散射,感光部件根据散射激光的波形判断出颗粒物的直径,通过不同直径的颗粒物反射出不同形状的波形,判断其浓度的大小,并根据换算公式转化成官方统一单位20。该PM2.5传感器操

21、作方便,通过串行通讯按照一定波特率即可将十六进制数据读出,在单片机中简单转换成十进制即可。其数据测量精确、响应速度快,但价格略高。综上所述,本设计选取SDS011型激光PM2.5传感器。本科毕业设计第14页共45页3控制器硬件电路设计3.1单片机控制电路设计单片机控制电路是整个控制器的中枢,起着发号施令的作用。一个性能良好的控制芯片对整个系统来说至关重要10。STM32F103ZET6基于Cortex-M3(CM3)处理器,不仅在功能上能满足题目的要求,而且在运行效果上也格外显著。该芯片性能强劲,工作频率高,72MHz的工作频率使得整个控制过程获得更高的处理速度。完整的基于CM3的MCU还需要

22、很多其他组件。其结构如图3.1所示。由ARNI设计由芯片制這商设计开境图3.1单片机内部结构图然而,要想正确合理的应用此单片机,仅仅依靠芯片本身是不行的。其往往还需要外部时钟、复位、隔离等单元电路才能工作。其硬件电路如图3.2所示。F-Bii:»lIS4-L'R-F.IKIaJCDIpi一一TT<>*iVL;JJ-f|:*lIHIIrtiri?i"ihi?anri?ijhiiiFI?Iu.Iiui;rKiiTCTCIrUD4JJJLJ1INruiS-udUJiuUliKI'EISKd'K-LlSAIindTMLMIMIHPUSARIOI!

23、TS-'CVII4:IEZNMIMM2K2Q'EMIriLL'Kirrsi&FTnu卅产i&k二11ntirswrdmKiarsMx-bSSUML>uLijlL>VUi:LX'AULSdK-'DhM:m:r3iAD'CI3IhUMisarrMKiiui中Aamitms£ibiMOSLIrFMNCMIhYADTI2IN?-TIMJCHZMiSiTnU'Tr1*WSH!WMJIillF.WKUIJRIbblTM?CHITM2HllFtTh.F"-VSART2_ltT5-M-k|.TW5bCHMI

24、H11bC«I2M2-V3ART2lrX'ADCIJiI-TIMSCU.TTM2CH3Ml-V9ART2_1:K»!AIXI22J-i-TFM5_C-41.TrM2_l:-InbPiifas>srnPASFIIr.<T>xrnrAHIARnKill州I匚IlhMLHFAiL'KARrilTX»TrMr<:lfl2FAIftlMrtRT|_R,TnMI口仙TAiin*,Riri3rTSBfl"A'5CaTrwiriHiirvMri卜ti耳叫gir匸只丁£町再!(二础i-mi"-Tn.

25、71;:KnriT>AijiTrvi_wnmT-i'Anr件K34TMITjnITklTlMIIIQlAn-rrg'rKSLT-MnVi陆101°0町灣rmootFT9mO.TR-4«3W&,3Pn3CK.I2ECT;rannmMT'STDi,mhoK35-I2CISWB.V-PIJ4DWMSVTfliiKCICliTWCHh-I2CIEftaMC-X,xrv.-1-M4RF-TIMCl?-tWO1:冷.TIM-CH4'SWOOSKCEdU5ARTAIXKDAH.'KARTlIXPE«iTIM-ETP吓mUUF

26、BI"FEl'TaMC.IBl-lrt±!JAAL'Lck¥SMLFEJ.TRAEO3QJI-SMCPEIiTRAELHIitSME*FESiTRACK.IJ2.il-5MrrEbTRArEJunsMrPC7.TSMIr?iMrH.WEWI_IMpi*rrni尸E*iF网厂PE!J'FSTWf"wFE门11岂划P|i1PEIdrp"AIPEIJiT'HrDIM:【iUI"mrraiMidF31I.13C2mL3PI3HH3.1PI3ras4ipizpaapuw:iftnri?iini:TCiKIW1fC

27、iTfl心砂1?砂?FliF5.-MeAlIFarFSWC,M3Fl-FfH>?2PRiFWC3F5.F5.-HeflSl-T5-;-ERDPSSMC'JREGrTK.ix-jiwi-smcNimiFfWAix:imrsmccaHSX.I3S3WK-I3r2NMIlALXJSJmT-!,EKJTIMIWWAI:匕昭亡Ih'inwll.rFSMrWEH.IAPni'FSMC:MPHliFfMCX?piH-rsweJUFFIJiFruTT-SiiaS_MrTCiTMM_rSItiMWnJiriTriiiasCMnciimr&iyninjvrwi»tm

28、mr&!i8snm-nhTH-E&Y)SiI-l-URTiRltWO.plMWRTSTX'EEnori-T.lX1PER-l.TCEilT占mtRi阿寸店石疔二人訂pekM厂rsTJPE眉詡Fnnip6«KM5MC叫口SCbO-TE-K1KE-4l-3MC'MEIHi11眄HT社斟?Ktxlli'I-SHILxuH1*"T£MC02rmi<t£McmpnniTIWAl:TE'1.ARira-CUUrzil>1£McFIM>1£MCF3S-I£制亡ra«

29、;->TfMcP31|SMCTflliiFCCIJKNCH:TOTMWAITNLI.QKNI'uropi?佃Tf)lHlkliTtalX_l%llHlkS.TlaJr"-_-VltAlVREF-CPi'HE-vmritaDini-鬪tiirrfc图3.2单片机硬件电路其中,晶振Y1为32.768KHZ,提供外部低速时钟,在断电的情况下通过外接CR1120纽扣电池为RTC实时时钟电路供电,使得其计时准确;晶振Y2为8MHz,提供高速外部时钟。电容C6、C7均为0.01F,在此作为电源滤波;RESET为复位按键,此款芯片单片机与TFT_LCD液晶同接在一个复位按键上

30、。复位电路如图3.3所示。图3.3单片机复位电路3.2显示电路设计3.2.1TFT_LCD液晶显示电路设计显示电路是整个控制系统与用户交互的媒介,是人机交流的关键。常用的显示有LED、LCD等方式,根据对市面上显示器的对比,TFT_LCD显示出独特的优势,它不仅具有良好的画质,而且还可以设置成触控模式,方便用户操作。其硬件连接如图3.4所示。PD53RESET5PD157PD19PE811PE1013PE1215PEI斗17PD819PD1021PBO23VCC3.32527PF829PF1031PB233GND-|PG121LCDCSRSWCLKRERSTDBLDB2DB3DB4DB5DB6

31、DB7DB8DE10DB11DB12DB13DEI斗DB15DB16DB17GNDBLVW3VDD3-3GXDGNDBLVDDMISOMOSITPENMOTCSCLK2.4'LCDTFTLCD斗PD46PD148PDO10PE712PE?14PE1116PEL318PE1520PD922J24VCC3.32628VCC530PF?3234PB1PGOXT104GND图3.4TFT_LCD液晶硬件连接图图中PF8、PF9、PF1O、PB2用来实现对液晶触摸屏的控制,而PB0控制LCD的背光。3.2.2TFT_LCD触控电路设计TFT_LCD液晶屏不仅支持显示功能,而且还能通过专门的控制芯

32、片实现触屏功能。我们在市面上所见的触摸屏最多为电阻式,而TFT_LCD自带的触摸功能也属于电阻式触摸屏。由于STM32F103ZET6单片机没有集成的液晶驱动器,因此需要借助ILI9320驱动芯片通过FSMC接口对液晶进行控制。ILI9320芯片自带显存,拥有16位数据线,可以控制液晶显示内容字体的大小、颜色、显示方向、显示区域等,使显示功能变得简单易懂。为了准确有效的得到触控位置,将电压信号模拟量转化为数字量,需要一个A/D转换芯片进行控制。本设计中采用XPT2046转换芯片,其原理框图如图3.5所示。VREFGNDOO笔中斯控制逻辑ToOIXTOIPENIRQDIMDOUTIOVDDBUS

33、YDGLKEXPT2046图3.5XPT2046原理框图XPT2046是一种典型的逐次逼近型模数转换器,其包含了采样保持、模数转换、串口输出等功能。当控制触摸屏时,可将其设置为差分模式,可有效消除外部干扰和寄生电阻带来的测量误差,使转换精度更高。其典型应用如图3.6所示。+2.7V“*£V1uF-1fluf<nTiK>=ho.iufXPT204启L?K<ISH电嫌XPVPXKIGNDVBATDCLKCSDINBUSYDOUTPENIRQIOVDDVref1410屮行时钟片选恼号屮廿駁燃轴人辗换收悬信号11廿教搦输由一一笔申斷害MKO图3.6XPT2046典型应用电路

34、图3.2.3数据存储芯片设计在初始化触控屏时需要将采集的触控点通过I2C总线传送到存储芯片上,为下次初始化时免去繁琐的校准程序。在本设计中,选取AT24C02作为存储芯片。该芯片为2K的串行EEPROM,可存储256个8位字节。其硬件连接如图3.7所示。£3GNU图3.724C02硬件连接图其管脚功能如表3.1所示。表3.124C02管脚功能管脚名称功能描述A0A1A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护VCC1电源正极GND电源负极如上所示,由于本设计中只采用一个存储器来保存校准的参数,因此为了连接方便,将AO、A1、A2引脚直接接地,使该芯片的地址为0X00。

35、SCL为串行时钟引脚,为传送数据提供时序,与单片机PB10连接。SDA为数据/地址引脚,与单片机PB11连接。其中R19、R20为上拉电阻,可增强驱动能力和电路稳定性。3.3驱动电路设计风机的运转是整个控制系统的执行装置,反映着对指令的执行效果,风机的可靠运行与其驱动电路密切相关。变压器将220V单相交流电变换到直流12V。单片机通过PWM的占空比控制L298N驱动器的电压输出,使其0-12V连续可调。L298N是一种在电机控制方面常用的驱动芯片。其内部含有4路逻辑驱动电路。硬件电路如图3.8所示。VCCI处卩DI1卩DI2sKM1234ENNNNsI234J13L此1NrLrL-yL(RN8

36、6Z1±rs1GNU图3.8驱动电路硬件连接图其中,L298N驱动芯片能同时支持两路输入输出。其中ENA、ENB为驱动使能端,可由PWM控制。IN1、IN2为方向控制端,控制风机转向。OUT1、OUT2与OUT3、OUT4为两路电压输出端。由于该轴流风机为无刷直流电机,其内部自带换向器,因此只能输入无任何波动的直流电,而输出端输出的电压为占空比可调的方波,为解决这一问题,并联了220uF的电容进行滤波处理。3.4按键电路设计在本设计中,采用按键调节方式对控制器的开关机时间进行设置。由于只涉及到小时与分钟的更改,故采用两个独立按键调节。其硬件电路如图3.9所示。VCCSW-PBPAOS

37、W-PBPE4GND图3.9按键电路硬件连接图其中,S1按键为高电平输入方式与PA0相连,S2按键为低电平输入方式与PE4相接。在进入设置第三级菜单后,可通过按键的方式设定开关机时间。3.5数据采集电路设计3.5.1温湿度传感器模块设计DHT11传感器既能测量温度又能测量湿度,并以二进制数字形态返回。其采用单线制串行接口,使硬件电路连接简单,抗干扰能力强。内置自校准程序,将参数保存在芯片中,当传感器工作时需要调用这些系数进行自动校准。其温度测量范围为0-50度,精度为±2度,湿度测量范围20%-90%,精度为±5%RH。其硬件连接如图3.10所示。VDDVDD1PinMCU

38、DATA2PinDHT11GND图3.10DHT11温湿度传感器连接图DHT11的供电电压为3-5V。由于采用单总线方式,故只需一个引脚即可,该引脚接在单片机PG11上,读数时需通过严格的时序。3.5.2PM2.5传感器模块设计本设计中选用的PM2.5传感器,利用激光散射的原理可以精确测得空气中的PM2.5浓度,操作简单,集成度高,内置散热风扇,数据稳定可靠。其实物如图3.11所示。图3.11PM2.5传感器实物图该传感器通过串口与单片机PA10,PA11相连,既能测量PM2.5含量又能测量PM10浓度,只是输出引脚不同。具体引脚定义如表3.2所示。表3.2SDS011激光传感器引脚定义管脚名

39、称备注1CTL控制脚,备用21um大于0.3微米颗粒物浓度,PWM输出35V5V电源输入425um大于2.5微米颗粒物浓度,PWM输出5GND地6R串口接收RX7T串口发送TX本科毕业设计第15页共45页虽然此传感器测量结果精度较高,但其工作环境、输入输出电流大小不可忽略,具体技术指标如表3.3所示。表3.3PM2.5技术参考指标序号项目参数1测量输出PM2.5、PM102量程0.0-999.9微克/立方米3供电电压5V4最大工作电流100mA5休眠电流2mA6工作温度范围-20-50°C7响应时间1秒8串口数据输出频率1次/秒9颗粒物直径分辨率0.3微米10相对误差10%11产品尺

40、寸71x70x23mm本科毕业设计第17页共45页4控制器软件设计4.1主程序设计空气净化器控制系统由初始化程序、触摸屏控制程序、按键处理程序、定时器中断程序、数据采集程序、RTC时钟程序、定时器中断程序、LCD显示程序、串口中断程序、电机驱动程序和低功耗运行程序共同组成15。各子程序经过单片机的主程序运算处理,实现了温湿度测量、PM2.5浓度检测、液晶显示、触屏控制、模式选择、数据传输与处理、电机控制等功能,达到了净化空气、人机交互、低功耗运行的要求。在整个程序设计中,采用模块化编程的方式,使程序更加灵活,方便调用、移植、调试。具体工作流程如图4.1所示。图4.1主程序工作流程图在接入电源后

41、,单片机控制器开始工作,首先系统对所需功能进行初始化自检,在完成初始化后,执行触摸屏扫描程序,显示待机状态下菜单和测量的参数以及当前时间。当检测到屏幕被触摸后,系统根据其坐标判断所选择的命令,并进入相应子程序。当“自动控制”按钮被选中时会进入自动控制程序,系统根据测量的PM2.5浓度自动调节风机的转速,完成自动控制。当选中“手动控制”按钮时,显示手动控制下的二级菜单界面,里面有档位的选择和“返回”等按钮。当选中“设置”按钮后,系统会进入设置下的二级菜单。可选择“开机时间”和“关机时间”两种,在对应的三级菜单中,均可通过按键设置定时时间。最后,按“确定”按钮返回主界面。与此同时,单片机的中断子程

42、序一直在运行。定时器中断处理函数用于温湿度定时采集及显示,并向上位机发送参数。串口1中断函数执行对PM2.5的采集与计算,并显示在液晶上。串口2中断函数将从上位机接收到的数据进行处理,根据设定指令调用相应子函数。其下位机程序如附录B所示。4.2显示子程序设计本设计中,用TFT_LCD液晶屏显示测量得到的参数,例如:时间、温湿度、PM2.5浓度、时间、界面等内容。然而要想正确控制液晶显示参数,需要对液晶及其控制器进行一系列校准与设置。具体操作流程如图4.2所示。图4.2液晶初始化程序流程图如上图,在程序开始执行时,首先,判断液晶屏幕是否已经通过校准,若校准完毕,则显示待机状态下的菜单,否则需要经

43、过校准程序进行校准;其次,判断LCD屏幕是否被触摸,若检测到,则读取相应触控点坐标,否则返回到待机状态下的显示界面;最后,根据所得坐标,判断是否在设定区域,若在,则通过ILI9320驱动器经FSMC向LCD指本科毕业设计第29页共45页定区域写命令,写数据,以达到界面切换或显示参数的目的。具体分析如下:1)时钟使能由于STM32单片机为每个外设的功能都设置了时钟开关,在需要的时候打开,不需要的时候将其关闭,以达到降低能耗的作用。因此,在上电后,通过程序进行功能模块时钟的使能。2)初始化GPIO即通用输入输出口。在GPIO初始化时,需要将GPIO输出类型设置成为复用推挽输出,最大输出速度为50M

44、Hz。FSMC即静态存储控制器。本设计中单片机通过FSMC接口控制LCD,因此,LCD相当于片外SRAM。在FSMC初始化时,需要对地址线、数据线、写信号、读信号、片选信号进行设置。在触摸屏初始化时,首先初始化相关GPIO,并将其设置成为上拉模式,其次初始化24C02存储器,最后判断屏幕是否已经校准。3)单片机与存储器的12C通信单片机通过串行总线通信可以使硬件电路大大简化,提高可靠性。DC总线只有两根双向信号线。当总线处于空闲状态时,两根信号线均为高电平6。当连接在总线上的任一器件变低时都能将总线的信号拉低。主机若要与某个器件通信,则必须通过总线仲裁,根据地址来决定哪个器件作为接收器。单片机

45、通过I2C和24C02通信流程如图4.3所示。产生1心起始信号图4.3I2C通信流程图如上图,当单片机准备与24C02通信时,首先产生起始信号,为发送写命令做好准备,在发送完成后,等待应答信号,然后发送高地址、低地址,在信号线发出应答信号后,向该地址发送想要传输的字节,最后等待接收的应答,完成一次数据的传输I2C在传输数据时,当时钟线为高电平期间,数据线传输的数据必须保持稳定。只有当时钟线为低电平时才允许数据变化。其传输状态如图4.4所示。SCI也成数允许数徑求数图4.4I2C数据传输状态在图4.3中,产生I2C起始和终止信号时序如图4.5所示。图4.5起始信号与终止信号时序图起始信号程序设计

46、:首先将信号线SCL、DA拉高一段时间,然后将数据线SDA拉低,等待时间超过4us后,将时钟线拉低即可实现产生一个起始信号。终止信号程序设计:首先将信号线SCL、DA拉低一段时间,然后将时钟线SCL拉高,等待时间超过4us后,将数据线拉高即可实现产生一个终止信号。在图4.3中,产生应答信号与非应答信号时序如图4.6所示。SCLSDA图4.612:产生应答信号与非应答信号时序应答信号程序设计:首先将SCL、SDA拉低,一段时间后将SCL拉高,等待时间超过4us后,将SCL拉低即产生一个应答信号,整个过程中SDA是处于低电平状态,在程序中以返回值“0”代替。非应答信号程序设计:首先将SCL拉低、S

47、DA拉高,一段时间后将SCL拉高,等待时间超过4us后,将SCL拉低即产生一个非应答信号,整个过程中SDA是处于高电平状态,在程序中以返回值“1”代替。在图4.3中,发送数据格式如图4.7所示。图4.7数据传输格式当主机向从机发送数据时,每一个字节必须保证是8位长度。数据传送时,先传送高位,再传送地位。在每一个传送的字节后面都会跟随一位应答位。当从机接收到数据后会产生一个应答信号,如果在一段时间后,主机并未收到从机的应答信号,则自认为从机已经正确接收到数据。4)液晶屏幕校准触摸屏为绝对坐标系统,即每次的坐标与上一次坐标没有任何关系。在理论上,同一点输出的数据是稳定的,但在实际中,由于技术等原因

48、,无法保证每次在同一点输出的数据保持一致,这时将会产生漂移现象。为了防止此现象的发生,需要通过程序进行校准。然而,在程序中使用的LCD坐标通常是以像素为单位的,故需要通过程序将物理坐标转化为像素坐标。转化公式如下所示:LCD_X=x_factor*Px+x_shift;LCD_Y=y_factor*Py+y_shift;其中,LCD_X、LCD_Y为LCD上的像素横纵坐标。Px、Py分别为触摸的物理坐标。x_factor、y_factor分别为X、Y轴上的比例因子。x_shift、y_shift分别为X、Y轴上的偏移量。屏幕校准流程如图4.8所示。图4.8液晶屏幕校准流程图液晶屏幕校准:首先,

49、在屏幕上显示已知坐标的四个点,用户在校准的过程中需要依次按下屏幕上这四个点5。单片机根据按下的位置获取物理坐标,在判别坐标合理的情况下,根据待定系数法计算出x_factor、y_factor、x_shift、y_shift参数,并将其保存到24C02存储器中。在以后的使用中,将会按照这个参数来计算像素坐标,达到屏幕校准的目的。坐标合理判别:在单片机读取四个物理坐标(设为、)后,分别测量坐标、距离。然后与设定的四个坐标之间相应的距离相比,若误差小于ERR_LENGTH,则认为此坐标合理。在本设计中ERR_LENGTH取50。4.3 PWM输出子程序设计PWM即脉冲宽度调制,将恒定的电压调制成频率

50、、占空比可变的一系列方波。单片机可利用定时器产生PWM波,并通过程序可设置输出频率和占空比。其PWM输出流程如图4.9所示。图4.9PWM输出流程图如上图所示,上电后,在执行到该子程序时,首先,设置TIM3_CCR2的值,即定时器内高低电平切换值;其次,定时器3寄存器CR1以初始化中设置的频率自加,当其值大于TIM3_CCR2设置值后,输出高电平,否则输出低电平;最后,当CR1等于初始化中设定的上限值时,重置CR1为零,继续循环以上程序。因此能连续不断的输出频率周期一定的高低电平。在程序运行过程中,可通过设置TIM3_CCR2的值来改变输出PWM波的占空比。4.4数据采集程序设计4.4.1温湿

51、度传感器模块程序设计DHT11温湿度传感器采用单总线方式与单片机进行通信,仅仅需要一个引脚即可实现数据的传输7传感器内部的温湿度数据通过引脚一次性传给单片机。其数据分为小数部分和整数部分。格式为:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和。其引脚功能如表4.1所示。表4.1DHT11引脚功能图Pin名称功能1VDD电源正极2DATA数据传输引脚3NC悬空4GND电源负极单片机PG11引脚与传感器DATA相连,当准备与其通讯时由单片机发送开始信号。此时,传感器将转换成高速模式,直到主机的开始信号结束后,DHT11对单片机进行响应处理,同

52、时,送出采集到的数据,并触发下一次信号的采集8在采集完成后将会转换到低速模式,等待下一次主机的开始信号。其通讯过程如图4.10所示。图4.10DHT11通讯过程首先,由主机拉低数据线,经过一段延时后,拉高数据线,等待大概30us后读取DHT11的响应。在DHT发出响应输出后,保持一段时间,再将其拉高,这样就可以传输数据了。当数据传送至单片机后,由程序定义两个数组,分别存储温度和湿度数据。在经过简单运算后,由液晶显示函数显示在TFT_LCD相应位置。其具体流程如图4.11所示。图4.11DHT11工作流程图4.4.2PM2.5传感器模块程序设计SDS011激光传感器是利用激光反射原理检测空气中的

53、PM2.5浓度值,并通过串行通讯将数据发送至单片机。其工作波特率为9600。具体流程如图4.12所示。计算FM2.度显示FMN号浓度图4.12PM2.5传感器工作流程图如图所示,由于该传感器是通过串口进行通讯的,故初始化串口后,当有数据传送时会进入串口中断,在中断函数中,将接收到的数据保存至数组,然后根据公式计算出PM2.5的浓度并通过显示函数将数据显示在LCD液晶屏上。a)串口通信:串口即通过串行方式通讯的扩展接口,串行通讯线路连接简单可靠,但传输速度略慢。STM32F103ZET6单片机拥有5个串口,在本设计中将串口1作为PM2.5数据接收端口,其接收与发送引脚分别为PA9,PA10。初始

54、化流程如图4.13所示。图4.13串口初始化流程图在初始化过程中,首先初始化所用功能的时钟;然后将串口进行复位处理,以免受外设异常的干扰;由于该传感器传输速度为9600位/秒,故在串口参数初始化中将波特率设置为9600;最后进行中断的配置,设置中断分组和NVIC优先级。b)PM2.5浓度的计算:SDS011激光传感器通过串口每次发送10位16进制数据,依次为:报文头+指令号+数据(6字节)+校验和+报文尾。各个具体定义如表4.2所示。表4.2激光传感器数据说明数据位说明数据位说明1报文头6PM10高字节2指令号7传感器ID3PM2.5低字节8传感器ID4PM2.5高字节9校验和5PM10低字节

55、10报文尾由于本设计中只需测量PM2.5浓度即可,在串口中断中其浓度计算公式为:PM2.5浓度二(PM2.5高字节X256+PM2.5低字节)/10单位为:ug/m34.5上位机程序设计为了使空气净化器功能更完善,人机交互更智能化,在本设计中利用VisualStudio软件采用C#语言进行上位机界面设计。其软件功能如图4.14所示。该上位机软件控制界面不仅能显示由单片机通过无线模块传输过来的参数,而且可以通过上位机控制下位机的部分功能,使得本设计产品应用方便。在打开软件后,首先通过下拉菜单选择合适的串口和波特率,然后打开串口,就可以在界面上收到由下位机传送过来的PM2.5浓度、温湿度等数据。通

56、过“自动控制”按钮和“手动控制”以及档位的选择按钮来实现对下位机的控制和风机转速的调整。最后,通过“关机”和“熄屏”按钮可实现对单片机控制器的关机操作和熄屏待机操作,达到低功耗节能的目的。若要退出此上位机系统,点击“退出”按钮即可关闭此软件。上位机程序如附录C所示。4.6其它子程序设计4.6.1RTC时钟电路程序设计STM32单片机RTC时钟利用其内部一个独立的定时器,可以实现时钟的连续计时。其初始化流程如图4.15所示。图4.15RTC时钟初始化流程图在程序开始执行时,先进行时钟引脚的使能,然后取消备份区的写保护,检查是不是第一次配置时钟,若为第一次配置时钟,则复位备份区域开启外部低速时钟,设置预分频和中断分组,存储到备份区。若不为第一次配置,则直接读

温馨提示

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

评论

0/150

提交评论