【《基于STM32单片机空气净化器设计》10000字(论文)】_第1页
【《基于STM32单片机空气净化器设计》10000字(论文)】_第2页
【《基于STM32单片机空气净化器设计》10000字(论文)】_第3页
【《基于STM32单片机空气净化器设计》10000字(论文)】_第4页
【《基于STM32单片机空气净化器设计》10000字(论文)】_第5页
已阅读5页,还剩18页未读, 继续免费阅读

下载本文档

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

文档简介

基于STM32单片机空气净化器设计摘要这个时代发展迅猛,科技元素充满着整个社会,随着工业革命的进行,人们日常的作息,生产,社交渐渐也越来越依靠和依赖新时代的进化的红利。但因为社会发展需要代价,比如不可逆转的破坏,比如无尽的消耗又或者是可持续的,以及生活方式的革变,人们对环境的改变翻天覆地。我们的蓝天白云逐渐被灰色云层取代,由于大气污染,室内的空气也没有那么好且净,因此本课题设计制作基于单片机的空气净化器来服务并且保障大家的生活。本次设计的主要控制部件经过筛选对比后我采用了STM32单片机,并且加入了显示器,驱动器,传感器来实现部分功能,还有一个无线收发器来实现蓝牙传输数据给手机的功能。设计的空气净化器可以智能地监测室内空气中的有害气体浓度,以及正常需求中的温湿度等等,最后通过无线模块发送到手机,对比设定好的阈值后作出相应的报警和反应操作,具有人机交互界面和低功耗的优点。关键词单片机;传感器;无线通信;液晶显示;目录摘要 [10]。1.2研究内容利用STM32单片机,把净化空气中的PM2.5污染这个功能作为基本要求,设计出一种便携、极简、效果良好又不失优雅的空气净化器。根搜集并筛选人们日常生活的硬性需求,结合考虑这些要求后提出较为全面有效的设计方案,以及对比分析各模块的优点以及组合起来时的功耗等等。包括控制、显示、数据采集模块的择优等。系统的硬件电路要设计妥当。搭建一套合要求的硬件平台需要完成包括CPU外围电路的设计、显示电路的设计,还有用来更换空气的电机的驱动电路,各传感器用来感应读取信息的电路设计等。查阅并优化好系统的软件程序及各参数界面的设计。首先是主导整个框架的主程序设计,接着就是分配各功能任务的各子程序设计,以及要查阅并研究上位机界面的程序处理算法。逐一测试设计的控制系统功能。检查调试各个功能模块是否有焊接问题,能不能通电,是否能读取数据以及传输有无问题,比如传感器模块,显示模块等等,工作得是否准确有效,能否同时工作等等。1.3研究的目的与意义在大学四年中,学习了多门专业课知识,在毕业之季,需要一个课题任务来完成对自身能力的检测,来向学校和社会说明自身在大学四年学习期间没有荒废,对专业知识有一个很好的学习,本次通过对本次基于STM32单片机空气净化器的设计,完成对多门专业课实践的要求,对完成这个课题需要自身对传感器检测原理,C语言程序设计,智能识别技术,嵌入式编程,无线通信等课本或课本相关知识较为熟练,同时也能弥补在大学期间实物制作的空白履历,通过对空气净化器的设计,不但可以在实现过程中发现自己理想和实际制作之间的差距,同时也为自己未来职业所面对的一些实际有很清楚的了解,同时也能认识到目前先进的技术到底如何实现,对我们的生活有哪些具体的改变,让我们坚定学习的动力。1.4研究主要工作本次设计的基于STM32单片机空气净化器论文实物制作过程主要通过百度,电子论坛,如电子之家论坛,智能通讯论坛,同时在CSDN论坛上查找相关的资料对实物进行制作。论文设计第一部分主要阐述本次设计的意义以及对于自身的提升和对人们生活的简便,和目前的研究现状相对比,提现设计优越性和创新点。第二部分主要说明本次设计的硬件实现基础以及相关器件的选取和具体器件功能。第三部分主要说明各模块的功能及主要的程序控制原理,以及实物模型的制作。第四部分用于总结本次制作过程中的一些可取之处以及未来完善方向。1.5论文结构安排本文介绍了一种基于STM32单片机空气净化器,为了更加有序地介绍,我把论文内容分成5大部分,具体的安排如下:第一章节,分析了空气净化器的研究背景,接着研究目的和意义我也一一详尽地描述了,还加入了现阶段各地的研究现状的调查分析,并且顺着思路安排好计划工作。第二章节,结合时代性和可行性,先交代基于STM32单片机空气净化器的总体计划设计,因为要得出适合自己的最优计划,从选择核心硬件方面做了详细分析和择优。第三章节,为了使系统更加清晰易理解,结合本次基于STM32单片机空气净化器设计的功能,对不同的硬件部分分别介绍了对应的知识和原理。第四章节,先分析设计各部分模块的程序,再安排思路流程,最后归纳主程序的设计。第五章节,对软硬件都一一调试,不放过最基本的虚焊问题,以及蓝牙传输也做了严格的分析。第六章节,对几个月以来的学习以及整个设计做总结。

2总体介绍2.1系统总体方案为了使本设计结构简单易懂,我用了SIM32单片机作为主控,因为它相对51单片机来说体积小,集成度高,因为我要搜集室内的空气质量信息,要读取温湿度,有害气体等等,所以选加了相应的传感器,以及显示器来实时显示数据,净化空气所需要的电动机驱动器,为了能远程读取和人为控制,特意加装了无线模块。监测到的数据,会实时地发送到手机端,通过手机也可以远程看到当时室内的温湿度以及有害气体浓度,最后如果参数与预先设好的阈值范围不同,就会做出报警和排气。主要硬件框图如下:图2-1系统总体框图2.2.主控芯片本次基于STM32单片机空气净化器的主控芯片的选择是大局之重,系统的工作效率是受芯片影响的,在此我对比了两种方案可供选择:方案一:使用STM32F103系列单片机。STM32系列单片机是ARM系列单片机中的常用单片机,它的封装库等等都比较完善,所以很多初学者都喜欢学习STM32,也正是因为意法半导体推广的较早,因此对应的底层函数,协议等等,都能被大家所熟悉,所接受,并且加以不断更新。STM可以在不同的环境中处理信号是基于它有很强的内部资源。它的故障保护功能,且有独特的处理方法是它高效工作的原因,还有就是价格亲民。因为需要考虑集成指令,并且它是有FPU和DSP指令,并且它的运算能力极高,特别是浮点运算,所以基于这两处优点选择STM32作为核心是有大大的可行性和合理性的,开发成本也低,这完全符合大学生用来研究。它是基于ARMCortex-M3内核所设计开发的高性能32位微处理器,还有它的系统功耗也很低。此外,它拥有十分丰富的资源,其中包括有:首先需要看核心部分,它搭载64KBSRAM和512KBFLASH;工作最高频率可达72MHz,这样已经符合本次功能的硬件要求,可以作为考虑要点;查阅它的具体更新内容后,它新增硬件FPU单元以及DSP指令,这样对于它的处理器方面的改变,可以提升浮点运算和DSP处理的速度。现在时代需要洁净产品,这就意味着需要设计出节能的东西,STM32拥有睡眠、停机和待机三种低功耗模式就十分应景了这些要求,为绿色节能提供自己的一份力;引脚数量多,IO口也是符合要求,数量占总引脚80%以上;同时它也提供不同的下载方式,比如搭载了串口下载、USB下载和JLINK下载,这样为我们提供了更大的操作空间;串口通信接口具备,这些基本的参数都具备;STM32单片机的硬件资源丰富,这个硬性功能就占了很大的优势,值得注意的一处是我们不需要再去操作底层的寄存器,原因是它有丰富的库函数,给新手一个很好理解的模块,不需要一个个字地敲,我们需要什么内容就直接在库函数寻找,大大降低了代码量,节省了很多时间成本。因此,STM32系列的芯片一直被广泛应用于单片机控制领域,而同样的,它强大的性能完全符合本课题的设计要求,基于以上所以我把它列为考虑首选。方案二:采用STC89C51单片机。因为时代的要求,也是时代的需求,选择器件需要考虑到功耗问题,并且STC89C51单片机有高性能低功耗的优点,所以也列入到选择范围。还有一个重要的入选原因是片内含8KBytes的可擦写十万次以上的Flash只读程序存储器。选择该单片机的原因是其还有一个优势就是保密性和可靠性高,所用到高密度非易失技术制造,不可解密。但该单片机不具备丰富的模拟资源和外部设备接口。但综合以上分析的情况和实际生活中的需要,我们发现,较高的性价比才是产品最大的卖点,同时可以树立较大的价格壁垒,因此我们选用STM32F103C8T6单片机,自带AD采集,这样的综合成本能达到最低,且功能完成也能达到要求。所涉及到的芯片引脚图如下图所示:图2-2主控芯片部分引脚图2.3传感器检测技术传感器模块对智能化生活的意义在于他的检测作用,因为对于任何控制系统都需要一个初始的参数,没有初始的参数值就无法对系统进行目标的调节,传感器检测技术就在控制系统中起到对应的检测作用,通过各种光敏器件,热敏器件等完成物理量对电量的转换,然后通过ADC转换模块转换成数字值被单片机系统识别。传感器模块可谓是读取信息的关键所在,好比是我们的眼耳口鼻,不仅要看得到,听得到,还要能看出是什么,正确率高不高以及会不会被扰乱等等。经过查阅资料以及考虑成本,最终选择了PM2.5粉尘传感器和DHT11温湿度传感器。传感器是人工智能时代非常重要的产物,人工智能首先要像人一样看得到,听得到,把信息传到大脑后才有资本做后面的思考分析。推进它的发展,带动着它的发展,我们要想立足时代的发展顶端,一定要理解好它的原理和功能,并要懂得实际运用。2.4硬件编程工具KEIL介绍编译平台的主要作用就是写代码,而且自带通信协议,任何的智能产品对应的核心控制部件都需要对应的编译平台来实现控制指令,因为硬件一般不能单独实现控制,都需要人输入对应的指令实现控制,就像人体需要思维一样,没有了思维,人也就不能被称为高级动物,而硬件没有对应的控制代码,就不能被称为智能化产品,一个合适的编译平台可以通过简易的代码,实现对硬件部分的逻辑控制。本次使用到的KEIL正是这样的平台,它提供了许多的开源程序,底层代码,并且由于使用的广泛性,也收到各种程序开发者的热爱,也开发出许多的附属软件,下载工具,调试助手等,并且由于使用的是C语言,因此编写的代码还可被许多编译平台兼容。2.5逻辑实现语言的选择本次使用的是理工科必备的学习课程,C语言进行编程,尽管目前多次语言技术更替,但C语言始终是当今时代全人类使用范围最广阔的编程语言,C语言不但能以简易的很好理解的方式编译、处理各类处理器的接口内存,同时它只产生较少的机器语言,并且基本任何智能处理器上可以通用,因此不管是最终目的是什么,C语言都是一个很好的实现工具,并且学习它的过程中会发现,许多其他语言的语法和C语言都有相似之处,比如python就是和C语言十分相似了,这是本人亲身经历:如果你学了C语言再学习python就会感到轻而易举,这就是学习通用语言的好处。2.6可行性分析本次硬件方面采用的是单片机,这一智能处理器有自带的储存空间和底层库函数,通过单片机上的GPIO接口来和传感器进行信息交换,采集的数据传输到单片机的存储空间里,再通过搭建算法结构,使得传感器检测数据和标准设定数据进行衡量,单片机发送命令后各模块就开始工作,并且能时刻管理各个模块执行器。我们则可以通过按键手动操控,或者设定报警值,报警工作等。这些技术目前市场均有,完全具备可行性。

3硬件设计3.1温湿度传感器本设计中,为了实现采集环境的温度和湿度这个功能,我是运用温湿度传感器来采集的。上网查阅信息参数后我买了DHT11这个型号的温湿度传感器,这个传感器里面有8位单片机,NTC测温元件和电阻式感湿元件。温度测量范围不会太大,在日常温度范围即可:0至50摄氏度,而湿度检测中它的范围为0-100度。表3.1为温湿度传感器的引脚说明。表3-1温湿度传感器引脚说明名称注释VDD供电3-5.5VDCDATA串行数据,单总线NC空脚,请悬空GND接地,电源负极3.2粉尘传感器PM2.5粉尘传感器结构简单,通俗易懂,它的原理是激光散射,监测空气中实时的颗粒物浓度,使数据采样计算更加准确的原因是它具有温度补偿功能。此传感器是灵敏度非常高的灰尘传感器,,因为要消除大颗粒的干扰,所以专门设计了一个通道来区分非测量对象大颗粒,使测量更为准确有效。电路图如下:图3-1PH2.5传感器电路3.3液晶显示电路在本次设计中,显示模块时刻反映着环境信息,我们可以借此分析数据的真实性等等,有利于调试。本次因为结合到智能时代的要求,显示模块对可视化性有着很好的提升作用,液晶显示的原理其实和LED显示原理一样,都是通过压差来驱动LED亮起,而液晶屏的区别在于是多个小型LED集成到一块小屏上面,然后控制小屏上各个LED的亮度,就组成了不同的文字。接口方式如下图:图3-2LCD接口电路3.4蜂鸣器报警电路本次设计人性化地考虑了可能存在当值人员开小差的情况,错过紧急预警的最佳时间,因此需要具备必要报警电路,声音报警主要通过蜂鸣器实现,光报警和警报灯一样,通过LED进行模拟现实中的报警灯。由于在蜂鸣器电路设计中,如果要蜂鸣器能足够大声地报警,那么就要大电流来支持,对单片机输出的电流进行增益就很有必要了,这里用了常用的放大电路来进行增益。常用的放大电路有两种,一种是通过MOS管对单片机输出的电流信号增益,另外一种是通过模电中常用的三极管放大电路进行放大。但从成本和功能方面分析,使用MOS进行放大价格较为昂贵,因此选用三极管放大电路设计电路图如下:图3-3蜂鸣器报警电路3.5电机驱动电路由于在电机驱动电路设计中,如果要电机能正常运作,那么就有一个大电流通过,对电流进行增益就显得很重要且必要,这里用了常用的放大电路来进行增益。和蜂鸣器电路设计相似,设计电路图如下:图3-4电机驱动电路3.6蓝牙通信部分本次空气净化器的通信部分主要使用蓝牙通信模块,蓝牙通信能够方便的短距离通信,同时有较多的上位机界面可在手机上自己配置,方便快捷的连接方式,简单的上位机操作界面,通过配置配对码,发起连接请求。写通信程序,能够实现达到对空气净化器电机的控制,接口电路如下:图3-5蓝牙通信电路

4软件设计4.1软件设计思路在硬件电路选型完成之后,就需要对开始代码的编写工作,由于本次设计的基于STM32单片机空气净化器用到了几个不同的模块,几个不同的模块分别有不同的底层函数编写而成,因此如果和我们刚学习C语言的时候那样,整体的去编写代码,可能出现了问题都无法寻找,因此选用模块化编程,对每个函数进行封装,并且分成多个文件,这样不同的问题就可以在每个模块中具体且清晰地被找出来,这样整体运行就能够很方便。还有就是,模块化编程可以单独先对某一个模块进行分析,然后对功能进行调试,如按键控制主控上的LED,温度检测时通过LED亮灭判断等,蓝牙通信也可通过控制LED来检测程序是否存在问题,在整体单独模块没有问题后就可以进行联合代码调试,来实现整体的功能。4.2液晶显示寄存位和中断是需要理解的主要工作要点,并且要理解相关的程序编写,还有液晶显示部分程序就是主要对液晶的初始化,然后显示部分就是先将液晶清零。随后的程序步骤如下流程图:图4-1液晶显示程序流程图4.3粉尘传感器程序粉尘传感器检测主要通过ADC采集部分通过将粉尘传感器输出的电压进行AD转换后实现从对应通道输出,程序如下:图4-2粉尘传感器程序图4.4软件主程序构造在本设计中,系统将所有设备初始化,包括各种传感器、无线通信模块、OLED显示屏幕、蜂鸣器,驱动板模块和步进电机,也包括设备结构状态和缓冲区的初始化。同时,LCD显示屏幕将进行显示清空。在系统开机后,系统将开始读取各种传感器预设的阈值,其中,系统中各类传感器的阈值是可以进行适当的修改。系统将开始对各个按键进行检测查看按键是否有按下,按下相应的按键可以对系统进行部分修改。需要值得提起注意的是主体程序的要点,它的功能是通过串口读取环境数据,并且有实施相关反应的功能。查阅学习并借鉴中断服务函数等等,这些都是首要克服的重难点。主体程序流程图如下:图4-3主体程序流程图

5系统调试5.1硬件调试硬件调试首要检查元件的虚焊,通过对最小系统焊接后,用万用表检测电源是否无误后,下入对应的程序,接入LED,通过对LED的控制完成对主控模块的检测,然后对其他子模块分别接入检测,通过合理的分配引脚后,然后对模块进行写入程序分别检测基本功能,当基本功能实现没有问题时,就开始整体的联调,开始写主要的程序。同时在硬件检测中,由于本次设计所用器件都是使用直插器件,在这中间发生了硬件引脚虚焊的问题,问题出现在电机驱动的输入引脚的排针上,因为在检测过程中,按键的输入引脚输入对应的波后对应电机却没有反应,通过器件更换逐一排查各个问题后发现,板子背面有虚焊,因此焊接基本功也是硬件调试中一个很重要的技能。图5-1实物待机图图5-2实物工作图5.2软件调试当设计好的硬件能正常通电运行并且能传输信息后,接着就要检测能否读取到环境数据,比如温度湿度等等,并且与实际的环境数据衡量比较是否有出入,并且需要保证数据在不同模块间的正常传输,这里是通过用手机链接蓝牙检查数据的,并且是否会实时更新等等。然后自己通过网上视频学习才得以完成软件代码逻辑调试,这一步也非常重要,因为我们要保障数据传输要真实,连贯,实时。本次软件调试主要是对ADC采集来的值和温度传感器测得的值进行读取和显示。如下图所示,是用手机下载蓝牙调试器链接实物板后的显示界面,Temp表示温度,Humi表示湿度,Yan表示烟雾浓度。图5-3待机数据图图5-4工作数据图(湿度)5.3调试分析因为上面已经介绍过STM32提供了串口、USB、JLINK多种下载接口,但是我查阅相关电子资料后发现其中只有JLINK下载支持两种模式,分别是JTAG和SWD,而且只有它才可以对代码实时跟踪,因此,本次最后选择使用了STLINK调试器连接到STM32核心板,但在使用前需在PC端安装好驱动文件,接下来只要在MDK的工程中选择好STLINK仿真模式相关的设置。完成上述步骤后,我们就可以编译代码,把自己编好的代码通过STLINK调试器直接烧写到STM32核心板上并运行,如果要想更容易更清晰地发现其中的问题或者是错误,我们可以利用在线的调试工具一一检查,检查相关的程序并且要在它运行的时候看它的参数变化值;比如在电机驱动出现卡死时,我们采用上述方法检测,对该程序的代码进行在线仿真调试,但同时要确保电路连接是通的情况下才去进行上一步操作。其中的问题可能是工作模式这部分的函数设置,但是估计和猜测都是不中用的,始终都是需要Debug调试,经步步测试发现程序一直在循环而走不出去,原因竟然是循环的判断语句出现问题。因此,STLINK下载方式可以大幅度提升了程序开发的速度,最后顺利完成整体调试。

6结论6.1系统总结本文研究一种以STM32F103C8T6为主控芯片,同时结合温湿度,粉尘数据获取、蓝牙通信、屏幕显示和警戒报警,等关键技术设计出一款低成本的空气净化器控制系统。本毕业设计做了以下研究工作:(1)首先学习空气净化器控制系统的原理,并且要查看市面上的现有产品,学习他们的设计并从中理解大众的需求,分析判断后去除不好的功能,留下自己能理解的,好的功能,最后根据自己的调查去规划空气净化器控制系统的总体框架,设计思路和设计框图。(2)根据课题设好的功能实现,列出所需要的模块与元器件清单。再根据性价比、资金以及结构复杂度等多项因素对各种模块的器件进行选择和研究。(3)部署keilMDK5编程的环境,并学习FSMC、SCCB、定时器中断等代码编写和ST-LINK的下载方式。(4)为了使实物板更美观,以及显示出更清晰易懂的逻辑走向,对系统的各个部分进行硬软件的模块化设计显得很有必要,其中硬件电路的设计尽可能地简化模块间的线路连接;软件设计方面,在基于可实现的模块电路上,再设计出可运行的程序模块,然后再不断对其进行优化和完善。(5)在基于可实现的整体电路和功能程序上,完成总控制系统的软件设计,并下载到STM32F103C8T6核心板上,自己尝试学习并调试代码,剔除不稳定因素,以保证整个空气净化器控制系统在多种场合下能稳定且正常工作。(6)测试本系统的可行性和稳定性,并根据实际运行的情况做出相应的调整。本文主要基于环境质量越来越堪忧而说明了课题的由来,并且根据目前空气净化器控制系统市场的发展状况和大众需求说明项目的可行性,以及说明了本系统的设计原理、操作流程与框架。另外为了使工作原理更具体而侧重介绍了单片机的选择,温湿度传感器和粉尘传感器等各个模块的功能参数。也详细地描述了硬件和软件的设计内容和流程,最后为了验证设计的合理性就进行相关的系统调试,虽然不顺利但是最后都把遇到的问题给打败了。基于STM32单片机的空气净化器能够基本实现,都离不开每一步的努力。从课题选择到硬件和软件的学习,都不容易,从只有书本上的理论认识到实际设计的应用飞跃,使我感到充实,把大学四年实践过的硬件开发进行重新洗牌,有了完全不同的开发感想。同时把C语言的细节要求复习了一遍,有利于我模块化编程的进行,这都是以前的程序实习从未有过的体验和实践。先要确定硬件模块通了,然后才能初始化各个软件模块,这样的逻辑是我以前体会不到的。本课题从生活实际出发,结合当时科技,紧跟科技发展脚步。在实际的智能停车需求到整个基于单片机的室内空气质量监测系统的功能体系和实现的可能性中寻找平衡点。通过现有的物联网技术和现代发达的移动通

温馨提示

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

评论

0/150

提交评论