基于STM32单片机的空气净化器毕业设计(37页).doc

上传人:1595****071 文档编号:37135217 上传时间:2022-08-30 格式:DOC 页数:37 大小:1.41MB
返回 下载 相关 举报
基于STM32单片机的空气净化器毕业设计(37页).doc_第1页
第1页 / 共37页
基于STM32单片机的空气净化器毕业设计(37页).doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《基于STM32单片机的空气净化器毕业设计(37页).doc》由会员分享,可在线阅读,更多相关《基于STM32单片机的空气净化器毕业设计(37页).doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、传感器、SDS011激光传感器进行了硬件电路设计,搭建了完整的硬件平台;再次,基于嵌入式操作系统采用模块化编程的方式,完成了对主程序、显示子程序、PWM输出子程序、数据采集子程序、上位机控制台操作子程序等设计;最后,进行空气净化器的整体测试,据试验结果可知,本设计实现了数据采集、触屏控制、档位选择、开关机设定、无线通信等功能。关键词 STM32单片机 空气净化器 液晶显示 激光传感器 触屏控制毕 业 设 计 外 文 摘 要Title Design of Office Air Purifier Control System Based on Single Chip Microcomputer A

3、bstractWith the development of Chinas modernization pace continues to accelerate, the local PM2.5 value is very highIn view of this phenomenon,This paper uses STM32 MCU as control core,First of all domestic and international air purifier has done a detailed analysis,A voltage adjustable office with

4、the overall design scheme of air purifierSecondly,According to the market demand and the feasibility of scheme comparison,A minimum system of MCU unit,TFT_LCD liquid crystal display module,The L298N driver module,DHT11 temperature and humidity sensor,SDS011 laser sensor was designed,It has built a c

5、omplete hardware platformAgain,The embedded operating system uses modular programming method based on,The completion of the main program, PWM display subroutine, output subroutine, data acquisition subprogram, PC console subroutine and so onThe last,The overall test of air purifier is finished,Accor

6、ding to the test results,The design and implementation of data acquisition, touch screen control, gear selection, switch setting, wireless communication are realizedKey Words STM32Singlechip Air Cleaner LCD Laser Sensor Touch Screen Control目 录1 引言11.1 课题研究背景及意义11.2 国内外发展状况11.3 课题主要工作32 控制器方案设计42.1 控

7、制器总体方案设计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温湿度传感器试验与调试305.2 SDS011激光传感器试验与调试305.3 上位机控制器试验与调试315.4 试验与调试32结论38致谢39参考文献40附录A :空气净化器主电路原理图41附

8、录B :下位机C语言主程序42附录C :上位机C#语言主程序441 引言1.1 课题研究背景及意义如今,在社会快速发展进步的同时,空气的污染状况也在日益加剧。随着国内近几年的发展,化石燃料与汽车尾气的排放,使得我国空气质量严重下降,尤其是PM2.5细小微粒成为污染物的罪魁祸首。其主要来自于大自然的天然产生和人类的实践活动。大自然的污染主要来自于风沙、火灾以及其它极端天气。人类活动的污染主要表现在汽车尾气排放、煤炭发电厂、吸烟等社会活动。研究表明,PM2.5对人类的生活健康水平有着极其恶劣的影响,它能够通过呼吸道进入体内,对人体器官造成伤害。所以,检测出室内PM2.5浓度并进行有效的治理直接关系

9、到人们的生活水平与身心健康。因此,根据这一现象,市面上出现了越来越多的空气净化装置。其中,空气净化器使得这一问题得以解决。对于长时间处于室内工作的人们来说,空气净化器尤为重要。空气净化器可以对室内多种气体污染和灰尘颗粒等悬浮物进行有效的处理,通过机内的通风装置使室内空气循环流动,让空气得以净化。所以,对空气净化器的研究有着十分现实的意义。1.2 国内外发展状况近年来,受空气污染的影响,空气净化技术蓬勃发展。由此,改善空气质量的方式也逐渐增多。目前,在市场上主流的净化空气方法主要有:源控制、通风和空气净化。源控制是指对污染的源头进行控制处理,其能有效的从根本上解决空气的污染问题,是国外很多城市处

10、理空气污染的主要手段。虽然控制效果不错,但其成本也着实不低。通风控制也能降低室内空气的污染程度,但其需要良好有效的控制调节装置。空气净化是指利用物理或化学等手段对空气中污染物进行吸附过滤等处理。或者对一些有毒的不良气体来说,高温、化学灭菌也是净化空气的常用手段。早在上世纪七、八十年代,国外空气净化器已有了发展,欧、美等发达国家在空气污染方面已经有了较深的研究,尤其是对有害物体的治理有了相当大的改善。美国在当时是全球最大的空气净化器消费国,随着第三次科技革命的到来,空气净化器迅速蔓延。在日本,由于特定的大气环境,在每年的春秋到来之际,花粉过敏者不计其数,因此,空气净化技术蓬勃发展。但大部分净化原

11、理都是基于过滤网的物理吸附。目前,随着智能时代的快速到来,夏普、松下等国际品牌也加入其中。在欧洲,宠物受到大众们的欢迎。一到夏季,室内由于宠物掉落的毛发增多而使空气受到严重的污染。与此同时,由于宠物本身自带的特殊气味或者可能的病菌等原因,使得空气污染源变得复杂。因此,这一现象迫使其空气净化装置的发展。如今,其空气净化方法众多,技术处于全球先进水平。在我国,由于抗日战争的缘故,起步相对较晚,直至改革开放,我国科技才有了初步的进展。近几年,虽然在经济发展上取得了举世瞩目的成果,但在空气清洁方面却相对于其他国家有一定的差距。无论在国外亦或在国内,室内空气净化器是实现空气净化的最直接、便捷的仪器,尽管

12、各国发展历程不尽相似,但从目前来看,空气净化器产品主要有以下几种:机械过滤式净化器、机械过滤吸附式净化器、静电式净化器、负离子净化器21、紫外光空气净化器等。 机械过滤式净化器,是一种小型空气过滤器,空气经风机加压,通过过滤材料,从而净化颗粒污染物,只能除去一定大小的颗粒污染物,总体净化效果不佳。 机械过滤吸附式净化器,分别采用不同的净化机理取出颗粒污染物和气态污染物,这种净化器将普通空气过滤技术与活性炭吸附技术结合起来,总体上改善了净化性能,但活性炭存在吸附饱和状态,比较麻烦,因而没有得到广泛应用。 静电式净化器,是一种静电式空气过滤器,对较大的颗粒污染物效果较好,但是会产生臭氧等二次污染物

13、,正被逐步淘汰。 负离子净化器,负离子净化器是目前被广泛使用的一种净化器,通过强电场产生负离子与颗粒污染物结合形成“重离子”,沉降或吸附在物体表面,并能杀灭细菌,净化效果良好,但是,这种空气净化器同样能产生臭氧,造成二次污染。紫外光空气净化器,是利用了紫外线的原理通过紫外线的照射,穿透微生物的细胞膜,破坏各种病菌,细菌,寄生虫以及其他致病体的DNA结构,毁灭其核酸分子键,使细菌当即死亡或不能繁殖后代,从而达到消毒灭菌的作用21。无论如何,虽然各国空气净化器发展均有不同,但总体来说,净化器种类正趋向于自动化、人性化、智能化等方向发展。现阶段,市场上产品种类繁多,价格混乱,虽然外观各有不同,但真正

14、的净化效果却大同小异。本文将以净化空气中PM2.5污染为起点,设计一种功能强大、操作方便、净化效果良好的空气净化器。1.3 课题主要工作 本课题根据办公室工作环境的实际情况以及所学专业知识完成了一款适合教师在办公室使用的新型空气净化器控制系统的设计。主要工作包括:(1) 对比了国内外发展状况,根据人们日常生活的需求,提出了本课题的总体设计方案及功能模块的选择。包括控制模块的选择、显示模块的选择、数据采集模块的选择等。(2) 完成了系统的硬件电路设计。包括CPU外围电路设计、显示电路设计、驱动电路设计、各传感器接口电路设计等,搭建了一套完整的硬件平台。(3) 完成了系统的软件程序及界面设计。包括

15、主程序设计、各子程序设计以及上位机界面的程序处理算法的研究。(4) 对设计的控制系统进行了全面的测试。包括待机显示界面、温湿度采集、空气质量检测、档位切换、开关机设定以及无线通信等功能。经分析试验结果可知,本课题设计的空气净化器满足实际工作的要求。2 控制器方案设计2.1 控制器总体方案设计根据所学知识及相关资料,本设计由供电电路、数据采集电路、驱动电路、按键电路、显示电路、上位机控制电路六部分组成。系统总体方案如图2.1所示。图2.1 空气净化器总体方案本设计中采用单片机作为空气净化器的控制核心14。结合传感器、显示器、驱动器以及无线收发器等重要部件共同完成了控制系统所要求的功能。该空气净化

16、器能够对室内PM2.5浓度以及温湿度进行监测并通过无线模块发送至上位机,而且能够根据所测参数做出相应的处理措施。具有良好的节能效果和人机交互界面。总体设计原理图如附录A所示。2.2 方案论证对比2.2.1 控制模块方案对比方案一:选取STC12系列单片机作为主控芯片STC12系列单片机是一种工作方式与51系类相仿,但功能略强的一款高速处理型单片机。工作频率可由分频器分频至0-35MHZ。它的36个通用I/O口可通过程序设置成四种输入输出模式。该芯片有贴片和直插两种封装类型。拥有PCA高速输出功能,处理速度比51系列单片机快上许多。但其资源有限、处理速度相对于32系列较慢。因此,此芯片在本设计中

17、有些力不从心。最重要的是该芯片无法支持TFT_LCD液晶的显示,更实现不了触屏功能。方案二:选取STM32系列单片机作为主控芯片STM32系列单片机工作时最高频率可达72MHZ,是STC12系列单片机的6-72倍。其内部不仅集成FLASH存储器更是集64K SRAM存储器于一体,拥有庞大的数据存储功能。而且,该芯片内部含有RTC时钟电路,在外部有电源供电的情况下能利用系统内滴答定时器连续不断地计时。不仅如此,此类单片机还拥有5个串行通讯端,能通时支持5类串行通讯设备,是其它单片机无法比拟的。该芯片不仅有高速的处理速度,而且拥有众多的板载资源,功能十分强大。144个引脚使其足以支持任何功能。串行

18、通讯端口使得其在读取PM2.5传感器数据的同时能通过另外串口将数据快速传送至上位机。此外,该芯片能驱动TFT_LCD液晶屏,具有方便快捷的控制效果。综上所述,本设计选取STM32系列单片机作为主控芯片。2.2.2 显示模块方案对比方案一:选取LCD12864液晶作为显示模块LCD12864是一种多线串行接口方式的点阵形液晶显示模块,其分辨率为128649。既可以用来显示字符,又可以通过中文字库显示汉字。但其有限的显示字数和复杂的时序位置操作以及简陋的显示效果和其无法触控的特点使得其并不完全适合充当本设计的显示模块。方案二:选取TFT_LCD液晶作为显示模块TFT_LCD液晶屏幕分辨率为3202

19、40,16位真彩显示,可人为改变字体的颜色和大小16-17。在屏幕上可分行分段显示大批量数据并可通过触控芯片和相应的程序实现触屏功能。虽然控制方式较复杂,但独特的优势和方便的操作使得其满足本设计的要求。综上所述,本设计选取TFT_LCD液晶作为显示模块。2.2.3 驱动模块方案对比方案一:选取L298N作为驱动模块 L298N电机驱动模块能将输入电压通过PWM控制的方式实现连续可调输出。而且,其能同时驱动两路电机,并能给单片机提供5V电源接口。该模块工作电流相对较大,因此,需安装散热片进行散热处理。然而其价格便宜、控制简单适合本设计中风机的调速控制。方案二:选取LM2596作为驱动模块LM25

20、96模块能实现降压的功能,体积相对较小,拥有大电容滤波电路。其输入电压为3-40V,输出电压范围为1.5-35V连续可调。但此模块只能通过手动按钮进行降压调节,若要通过电子进行调节电压的输出,需要增加其他控制电路,比较繁琐。综上所述,本设计选取L298N作为驱动模块。2.2.4 PM2.5传感器模块方案对比方案一:选取GP2Y1014AU粉尘传感器该模块为夏普公司生产的一种粉尘烟雾传感器,能检测出非常细微的颗粒。装置中通过红外发光二极管利用反射原理检测灰尘在空气中的含量。模块中心有一可供气体流通的圆孔,使测量空气自由流通。其输出是与空气中粉尘浓度成正比的电压模拟量,需通过A/D采集后转化成数字

21、量显示浓度值。虽然价格相对比较便宜,但对PM2.5等微小颗粒的检测不是很敏感,对本设计有一定的影响。方案二:选取SDS011激光传感器SDS011传感器根据激光散射原理测量空气中的微小颗粒,当激光照射到悬浮颗粒物时会产生光散射,感光部件根据散射激光的波形判断出颗粒物的直径,通过不同直径的颗粒物反射出不同形状的波形,判断其浓度的大小,并根据换算公式转化成官方统一单位20。该PM2.5传感器操作方便,通过串行通讯按照一定波特率即可将十六进制数据读出,在单片机中简单转换成十进制即可。其数据测量精确、响应速度快,但价格略高。综上所述,本设计选取SDS011型激光PM2.5传感器。3 控制器硬件电路设计

22、 3.1 单片机控制电路设计单片机控制电路是整个控制器的中枢,起着发号施令的作用。一个性能良好的控制芯片对整个系统来说至关重要10。STM32F103ZET6基于CortexM3(CM3)处理器,不仅在功能上能满足题目的要求,而且在运行效果上也格外显著。该芯片性能强劲,工作频率高,72MHz的工作频率使得整个控制过程获得更高的处理速度。完整的基于CM3的MCU还需要很多其他组件。其结构如图3.1所示。图3.1 单片机内部结构图然而,要想正确合理的应用此单片机,仅仅依靠芯片本身是不行的。其往往还需要外部时钟、复位、隔离等单元电路才能工作。其硬件电路如图3.2所示。图3.2 单片机硬件电路其中,晶

23、振Y1为32.768KHz,提供外部低速时钟,在断电的情况下通过外接CR1120纽扣电池为RTC实时时钟电路供电,使得其计时准确;晶振Y2为8MHz,提供高速外部时钟。电容C6、C7均为0.01F,在此作为电源滤波;RESET为复位按键,此款芯片单片机与TFT_LCD液晶同接在一个复位按键上。复位电路如图3.3所示。图3.3 单片机复位电路3.2 显示电路设计3.2.1 TFT_LCD液晶显示电路设计显示电路是整个控制系统与用户交互的媒介,是人机交流的关键。常用的显示有LED、LCD等方式,根据对市面上显示器的对比,TFT_LCD显示出独特的优势,它不仅具有良好的画质,而且还可以设置成触控模式

24、,方便用户操作。其硬件连接如图3.4所示。图3.4 TFT_LCD液晶硬件连接图图中PF8、PF9、PF10、PB2用来实现对液晶触摸屏的控制,而PB0控制LCD的背光。3.2.2 TFT_LCD触控电路设计TFT_LCD液晶屏不仅支持显示功能,而且还能通过专门的控制芯片实现触屏功能。我们在市面上所见的触摸屏最多为电阻式,而TFT_LCD 自带的触摸功能也属于电阻式触摸屏。由于STM32F1O3ZET6单片机没有集成的液晶驱动器,因此需要借助 ILI9320驱动芯片通过FSMC接口对液晶进行控制。ILI9320芯片自带显存,拥有16位数据线,可以控制液晶显示内容字体的大小、颜色、显示方向、显示

25、区域等19,使显示功能变得简单易懂。为了准确有效的得到触控位置,将电压信号模拟量转化为数字量,需要一个A/D转换芯片进行控制。本设计中采用XPT2046转换芯片,其原理框图如图3.5所示。图3.5 XPT2046原理框图XPT2046是一种典型的逐次逼近型模数转换器,其包含了采样保持、模数转换、串口输出等功能。当控制触摸屏时,可将其设置为差分模式,可有效消除外部干扰和寄生电阻带来的测量误差,使转换精度更高4。其典型应用如图3.6所示。图3.6 XPT2046典型应用电路图3.2.3 数据存储芯片设计在初始化触控屏时需要将采集的触控点通过I2C总线传送到存储芯片上,为下次初始化时免去繁琐的校准程

26、序。在本设计中,选取AT24C02作为存储芯片。该芯片为2K的串行EEPROM,可存储256个8位字节。其硬件连接如图3.7所示。图3.7 24C02硬件连接图 其管脚功能如表3.1所示。表3.1 24C02管脚功能管脚名称功能描述A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护VCC1电源正极GND电源负极如上所示, 由于本设计中只采用一个存储器来保存校准的参数,因此为了连接方便,将A0、A1、A2引脚直接接地,使该芯片的地址为0X00。SCL为串行时钟引脚,为传送数据提供时序,与单片机PB10连接。SDA为数据/地址引脚,与单片机PB11连接。其中R19、R20为上

27、拉电阻,可增强驱动能力和电路稳定性。3.3 驱动电路设计风机的运转是整个控制系统的执行装置,反映着对指令的执行效果,风机的可靠运行与其驱动电路密切相关。变压器将220V单相交流电变换到直流12V。单片机通过PWM的占空比控制L298N驱动器的电压输出,使其0-12V连续可调。L298N是一种在电机控制方面常用的驱动芯片。其内部含有4路逻辑驱动电路。硬件电路如图3.8所示。图3.8 驱动电路硬件连接图 其中,L298N驱动芯片能同时支持两路输入输出。其中ENA、ENB为驱动使能端,可由PWM控制。IN1、IN2为方向控制端,控制风机转向。OUT1、OUT2与OUT3、OUT4为两路电压输出端。由

28、于该轴流风机为无刷直流电机,其内部自带换向器,因此只能输入无任何波动的直流电,而输出端输出的电压为占空比可调的方波,为解决这一问题,并联了220uF的电容进行滤波处理。3.4 按键电路设计在本设计中,采用按键调节方式对控制器的开关机时间进行设置。由于只涉及到小时与分钟的更改,故采用两个独立按键调节。其硬件电路如图3.9所示。图3.9 按键电路硬件连接图其中,S1按键为高电平输入方式与PA0相连,S2按键为低电平输入方式与PE4相接。在进入设置第三级菜单后,可通过按键的方式设定开关机时间。3.5 数据采集电路设计3.5.1 温湿度传感器模块设计 DHT11传感器既能测量温度又能测量湿度,并以二进

29、制数字形态返回。其采用单线制串行接口,使硬件电路连接简单,抗干扰能力强。内置自校准程序,将参数保存在芯片中,当传感器工作时需要调用这些系数进行自动校准。其温度测量范围为0-50度,精度为2度,湿度测量范围20%-90%,精度为5%RH。其硬件连接如图3.10所示。图3.10 DHT11温湿度传感器连接图DHT11的供电电压为3-5V。由于采用单总线方式,故只需一个引脚即可,该引脚接在单片机PG11上,读数时需通过严格的时序。3.5.2 PM2.5传感器模块设计本设计中选用的PM2.5传感器,利用激光散射的原理可以精确测得空气中的PM2.5浓度,操作简单,集成度高,内置散热风扇,数据稳定可靠。其

30、实物如图3.11所示。图3.11 PM2.5传感器实物图该传感器通过串口与单片机PA10,PA11相连,既能测量PM2.5含量又能测量PM10浓度,只是输出引脚不同。具体引脚定义如表3.2所示。表3.2 SDSO11激光传感器引脚定义管脚名称备注1CTL控制脚,备用21um大于0.3微米颗粒物浓度,PWM输出35V5V电源输入425um大于2.5微米颗粒物浓度,PWM输出5GND地6R串口接收RX7T串口发送TX虽然此传感器测量结果精度较高,但其工作环境、输入输出电流大小不可忽略,具体技术指标如表3.3所示。表3.3 PM2.5技术参考指标序号项目参数1测量输出PM2.5、PM102量程0.0

31、-999.9微克/立方米3供电电压5V4最大工作电流100mA5休眠电流2mA6工作温度范围-20-507响应时间1秒8串口数据输出频率1次/秒9颗粒物直径分辨率0.3微米10相对误差10%11产品尺寸71x70x23mm4 控制器软件设计4.1 主程序设计空气净化器控制系统由初始化程序、触摸屏控制程序、按键处理程序、定时器中断程序、数据采集程序、RTC时钟程序、定时器中断程序、LCD显示程序、串口中断程序、电机驱动程序和低功耗运行程序共同组成15。各子程序经过单片机的主程序运算处理,实现了温湿度测量、PM2.5浓度检测、液晶显示、触屏控制、模式选择、数据传输与处理、电机控制等功能,达到了净化

32、空气、人机交互、低功耗运行的要求。在整个程序设计中,采用模块化编程的方式,使程序更加灵活,方便调用、移植、调试。具体工作流程如图4.1所示。图4.1 主程序工作流程图在接入电源后,单片机控制器开始工作,首先系统对所需功能进行初始化自检,在完成初始化后,执行触摸屏扫描程序,显示待机状态下菜单和测量的参数以及当前时间。当检测到屏幕被触摸后,系统根据其坐标判断所选择的命令,并进入相应子程序。当“自动控制”按钮被选中时会进入自动控制程序,系统根据测量的PM2.5浓度自动调节风机的转速,完成自动控制。当选中“手动控制”按钮时,显示手动控制下的二级菜单界面,里面有档位的选择和“返回”等按钮。当选中“设置”

33、按钮后,系统会进入设置下的二级菜单。可选择“开机时间”和“关机时间”两种,在对应的三级菜单中,均可通过按键设置定时时间。最后,按“确定”按钮返回主界面。与此同时,单片机的中断子程序一直在运行。定时器中断处理函数用于温湿度定时采集及显示,并向上位机发送参数。串口1中断函数执行对PM2.5的采集与计算,并显示在液晶上。串口2中断函数将从上位机接收到的数据进行处理,根据设定指令调用相应子函数。其下位机程序如附录B所示。 4.2 显示子程序设计本设计中,用TFT_LCD液晶屏显示测量得到的参数,例如:时间、温湿度、PM2.5浓度、时间、界面等内容。然而要想正确控制液晶显示参数,需要对液晶及其控制器进行

34、一系列校准与设置。具体操作流程如图4.2所示。图4.2 液晶初始化程序流程图如上图,在程序开始执行时,首先,判断液晶屏幕是否已经通过校准,若校准完毕,则显示待机状态下的菜单,否则需要经过校准程序进行校准;其次,判断LCD屏幕是否被触摸,若检测到,则读取相应触控点坐标,否则返回到待机状态下的显示界面;最后,根据所得坐标,判断是否在设定区域,若在,则通过ILI9320驱动器经FSMC向LCD指定区域写命令,写数据,以达到界面切换或显示参数的目的。 具体分析如下: 1)时钟使能由于STM32单片机为每个外设的功能都设置了时钟开关,在需要的时候打开,不需要的时候将其关闭,以达到降低能耗的作用。因此,在

35、上电后,通过程序进行功能模块时钟的使能。 2)初始化GPIO即通用输入输出口。在GPIO初始化时,需要将GPIO输出类型设置成为复用推挽输出,最大输出速度为50MHz。FSMC即静态存储控制器。本设计中单片机通过FSMC接口控制LCD,因此,LCD相当于片外SRAM。在FSMC初始化时,需要对地址线、数据线、写信号、读信号、片选信号进行设置。在触摸屏初始化时,首先初始化相关GPIO,并将其设置成为上拉模式,其次初始化24C02存储器,最后判断屏幕是否已经校准。 3)单片机与存储器的I2C通信单片机通过串行总线通信可以使硬件电路大大简化,提高可靠性。I2C总线只有两根双向信号线。当总线处于空闲状

36、态时,两根信号线均为高电平6。当连接在总线上的任一器件变低时都能将总线的信号拉低。主机若要与某个器件通信,则必须通过总线仲裁,根据地址来决定哪个器件作为接收器。单片机通过I2C和24C02通信流程如图4.3所示。图4.3 I2C通信流程图如上图,当单片机准备与24C02通信时,首先产生起始信号,为发送写命令做好准备,在发送完成后,等待应答信号,然后发送高地址、低地址,在信号线发出应答信号后,向该地址发送想要传输的字节,最后等待接收的应答,完成一次数据的传输。I2C在传输数据时,当时钟线为高电平期间,数据线传输的数据必须保持稳定1。只有当时钟线为低电平时才允许数据变化。其传输状态如图4.4所示。

37、图4.4 I2C数据传输状态在图4.3中,产生I2C起始和终止信号时序如图4.5所示。图4.5 起始信号与终止信号时序图u 起始信号程序设计:首先将信号线SCL、SDA拉高一段时间,然后将数据线SDA拉低,等待时间超过4us后,将时钟线拉低即可实现产生一个起始信号。u 终止信号程序设计:首先将信号线SCL、SDA拉低一段时间,然后将时钟线SCL拉高,等待时间超过4us后,将数据线拉高即可实现产生一个终止信号。在图4.3中,产生应答信号与非应答信号时序如图4.6所示。图4.6 I2C产生应答信号与非应答信号时序u 应答信号程序设计:首先将SCL、SDA拉低,一段时间后将SCL拉高,等待时间超过4

38、us后,将SCL拉低即产生一个应答信号,整个过程中SDA是处于低电平状态,在程序中以返回值“0”代替。u 非应答信号程序设计:首先将SCL拉低、SDA拉高,一段时间后将SCL拉高,等待时间超过4us后,将SCL拉低即产生一个非应答信号,整个过程中SDA是处于高电平状态,在程序中以返回值“1”代替。 在图4.3中,发送数据格式如图4.7所示。图4.7 数据传输格式当主机向从机发送数据时,每一个字节必须保证是8位长度。数据传送时,先传送高位,再传送地位。在每一个传送的字节后面都会跟随一位应答位。当从机接收到数据后会产生一个应答信号,如果在一段时间后,主机并未收到从机的应答信号,则自认为从机已经正确

39、接收到数据。4)液晶屏幕校准触摸屏为绝对坐标系统,即每次的坐标与上一次坐标没有任何关系。在理论上,同一点输出的数据是稳定的,但在实际中,由于技术等原因,无法保证每次在同一点输出的数据保持一致,这时将会产生漂移现象。为了防止此现象的发生,需要通过程序进行校准。然而,在程序中使用的LCD坐标通常是以像素为单位的,故需要通过程序将物理坐标转化为像素坐标。转化公式如下所示:其中,LCD_X、LCD_Y为LCD上的像素横纵坐标。Px、Py分别为触摸的物理坐标。x_factor、y_factor分别为X、Y轴上的比例因子。x_shift、y_shift分别为X、Y轴上的偏移量。屏幕校准流程如图4.8所示。

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

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

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

43、模式,直到主机的开始信号结束后,DHT11对单片机进行响应处理,同时,送出采集到的数据,并触发下一次信号的采集8。在采集完成后将会转换到低速模式,等待下一次主机的开始信号。其通讯过程如图4.10所示。图4.10 DHT11通讯过程首先,由主机拉低数据线,经过一段延时后,拉高数据线,等待大概30us后读取DHT11的响应。在DHT发出响应输出后,保持一段时间,再将其拉高,这样就可以传输数据了。当数据传送至单片机后,由程序定义两个数组,分别存储温度和湿度数据。在经过简单运算后,由液晶显示函数显示在TFT_LCD相应位置。其具体流程如图4.11所示。图4.11 DHT11工作流程图4.4.2 PM2

44、.5传感器模块程序设计SDS011激光传感器是利用激光反射原理检测空气中的PM2.5浓度值,并通过串行通讯将数据发送至单片机。其工作波特率为9600。具体流程如图4.12所示。图4.12 PM2.5传感器工作流程图如图所示,由于该传感器是通过串口进行通讯的,故初始化串口后,当有数据传送时会进入串口中断,在中断函数中,将接收到的数据保存至数组,然后根据公式计算出PM2.5的浓度并通过显示函数将数据显示在LCD液晶屏上。a)串口通信:串口即通过串行方式通讯的扩展接口,串行通讯线路连接简单可靠,但传输速度略慢。STM32F103ZET6单片机拥有5个串口,在本设计中将串口1作为PM2.5数据接收端口

45、,其接收与发送引脚分别为PA9,PA10。初始化流程如图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低字节10报文尾 由于本设计中只需测量PM2.5浓度即可,在串口中断中其浓度计算公式为:PM2.5浓度=(PM2.5高字节256+PM2.5低字节)/10单位为:ug/m34.5 上位机程序设计为了使空气净化器功能更完善,人机交互更智能化,在本设计中利用Visual Studio软件采用C#语言进行上位机界面设计。其软件功能如图4.14所示。图4.14 上位机软件显示界面该上位机软件控制界面不仅能显示由单片机通过无线模块传输过来的参数,而且可以通过上位机控制下位机的部分功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁