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

下载本文档

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

文档简介

毕 业 设 计 学生姓名 学 号 学 院 电气工程学院 专 业 电气工程及其自动化 题 目 基于单片机的办公室用空气 净化器控制系统设计 指导教师 评阅教师 2017 年 6 月 毕毕 业业 设设 计计 中中 文文 摘摘 要要 随着我国现代化进程的脚步不断加快 各地方 PM2 5 值居高不下 针对这一 现象 本课题以 STM32 单片机为控制核心 首先对国内外空气净化器做了具体分 析 给出了一种电压可调式的办公室用空气净化器总体设计方案 其次 根据市 场需求及方案可行性对比 对 MCU 最小系统单元 TFT LCD 液晶显示模块 L298N 驱动模块 DHT11 温湿度传感器 SDS011 激光传感器进行了硬件电路设计 搭建 了完整的硬件平台 再次 基于嵌入式操作系统采用模块化编程的方式 完成了 对主程序 显示子程序 PWM 输出子程序 数据采集子程序 上位机控制台操作子 程序等设计 最后 进行空气净化器的整体测试 据试验结果可知 本设计实现 了数据采集 触屏控制 档位选择 开关机设定 无线通信等功能 关键词 STM32 单片机 空气净化器 液晶显示 激光传感器 触屏控制 毕毕 业业 设设 计计 外外 文文 摘摘 要要 Title Design of Office Air Purifier Control System Based on Single Chip Microcomputer Abstract With the development of China s modernization pace continues to accelerate the local PM2 5 value is very high In 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 the overall design scheme of air purifier Secondly 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 complete hardware platform Again 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 on The last The overall test of air purifier is finished According to the test results The design and implementation of data acquisition touch screen control gear selection switch setting wireless communication are realized Key Words STM32Singlechip Air Cleaner LCD Laser Sensor Touch Screen Control 本本 科科 毕毕 业业 设设 计计 第 页 共 页 目 录 1 引言 1 1 1 课题研究背景及意义 1 1 2 国内外发展状况 1 1 3 课题主要工作 3 2 控制器方案设计 4 2 1 控制器总体方案设计 4 2 2 方案论证对比 4 3 控制器硬件电路设计 7 3 1 单片机控制电路设计 7 3 2 显示电路设计 9 3 3 驱动电路设计 12 3 4 按键电路设计 13 3 5 数据采集电路设计 13 4 控制器软件设计 16 4 1 主程序设计 16 4 2 显示子程序设计 16 4 3 PWM 输出子程序设计 22 4 4 数据采集程序设计 23 4 5 上位机程序设计 27 4 6 其它子程序设计 27 5 试验与调试 30 5 1 DHT11 温湿度传感器试验与调试 30 5 2 SDS011 激光传感器试验与调试 30 5 3 上位机控制器试验与调试 31 本本 科科 毕毕 业业 设设 计计 第 页 共 页 5 4 试验与调试 32 结论 38 致谢 39 参考文献 40 附录 A 空气净化器主电路原理图 41 附录 B 下位机 C 语言主程序 42 附录 C 上位机 C 语言主程序 44 本本 科科 毕毕 业业 设设 计计 第 1 页 共 45 页 1 1 引言引言 1 11 1 课题研究背景及意义课题研究背景及意义 如今 在社会快速发展进步的同时 空气的污染状况也在日益加剧 随着国内近 几年的发展 化石燃料与汽车尾气的排放 使得我国空气质量严重下降 尤其是 PM2 5 细小微粒成为污染物的罪魁祸首 其主要来自于大自然的天然产生和人类的实践活动 大自然的污染主要来自于风沙 火灾以及其它极端天气 人类活动的污染主要表现在 汽车尾气排放 煤炭发电厂 吸烟等社会活动 研究表明 PM2 5 对人类的生活健康水 平有着极其恶劣的影响 它能够通过呼吸道进入体内 对人体器官造成伤害 所以 检测出室内 PM2 5 浓度并进行有效的治理直接关系到人们的生活水平与身心健康 因此 根据这一现象 市面上出现了越来越多的空气净化装置 其中 空气净化 器使得这一问题得以解决 对于长时间处于室内工作的人们来说 空气净化器尤为重 要 空气净化器可以对室内多种气体污染和灰尘颗粒等悬浮物进行有效的处理 通过 机内的通风装置使室内空气循环流动 让空气得以净化 所以 对空气净化器的研究 有着十分现实的意义 1 21 2 国内外发展状况国内外发展状况 近年来 受空气污染的影响 空气净化技术蓬勃发展 由此 改善空气质量的方 式也逐渐增多 目前 在市场上主流的净化空气方法主要有 源控制 通风和空气净 化 源控制是指对污染的源头进行控制处理 其能有效的从根本上解决空气的污染问 题 是国外很多城市处理空气污染的主要手段 虽然控制效果不错 但其成本也着实 不低 通风控制也能降低室内空气的污染程度 但其需要良好有效的控制调节装置 空气净化是指利用物理或化学等手段对空气中污染物进行吸附过滤等处理 或者对一 些有毒的不良气体来说 高温 化学灭菌也是净化空气的常用手段 早在上世纪七 八十年代 国外空气净化器已有了发展 欧 美等发达国家在空 气污染方面已经有了较深的研究 尤其是对有害物体的治理有了相当大的改善 美国 在当时是全球最大的空气净化器消费国 随着第三次科技革命的到来 空气净化器迅 速蔓延 在日本 由于特定的大气环境 在每年的春秋到来之际 花粉过敏者不计其 数 因此 空气净化技术蓬勃发展 但大部分净化原理都是基于过滤网的物理吸附 目前 随着智能时代的快速到来 夏普 松下等国际品牌也加入其中 在欧洲 宠物 本本 科科 毕毕 业业 设设 计计 第 2 页 共 45 页 受到大众们的欢迎 一到夏季 室内由于宠物掉落的毛发增多而使空气受到严重的污 染 与此同时 由于宠物本身自带的特殊气味或者可能的病菌等原因 使得空气污染 源变得复杂 因此 这一现象迫使其空气净化装置的发展 如今 其空气净化方法众 多 技术处于全球先进水平 在我国 由于抗日战争的缘故 起步相对较晚 直至改 革开放 我国科技才有了初步的进展 近几年 虽然在经济发展上取得了举世瞩目的 成果 但在空气清洁方面却相对于其他国家有一定的差距 无论在国外亦或在国内 室内空气净化器是实现空气净化的最直接 便捷的仪器 尽管各国发展历程不尽相似 但从目前来看 空气净化器产品主要有以下几种 机械 过滤式净化器 机械过滤吸附式净化器 静电式净化器 负离子净化器 21 紫外光空 气净化器等 机械过滤式净化器 是一种小型空气过滤器 空气经风机加压 通过过滤材料 从而净化颗粒污染物 只能除去一定大小的颗粒污染物 总体净化效果不佳 机械过滤吸附式净化器 分别采用不同的净化机理取出颗粒污染物和气态污染物 这种净化器将普通空气过滤技术与活性炭吸附技术结合起来 总体上改善了净化性能 但活性炭存在吸附饱和状态 比较麻烦 因而没有得到广泛应用 静电式净化器 是一种静电式空气过滤器 对较大的颗粒污染物效果较好 但是 会产生臭氧等二次污染物 正被逐步淘汰 负离子净化器 负离子净化器是目前被广泛使用的一种净化器 通过强电场产生 负离子与颗粒污染物结合形成 重离子 沉降或吸附在物体表面 并能杀灭细菌 净 化效果良好 但是 这种空气净化器同样能产生臭氧 造成二次污染 紫外光空气净化器 是利用了紫外线的原理通过紫外线的照射 穿透微生物的细 胞膜 破坏各种病菌 细菌 寄生虫以及其他致病体的 DNA 结构 毁灭其核酸分子键 使细菌当即死亡或不能繁殖后代 从而达到消毒灭菌的作用 21 无论如何 虽然各国空气净化器发展均有不同 但总体来说 净化器种类正趋向 于自动化 人性化 智能化等方向发展 现阶段 市场上产品种类繁多 价格混乱 虽然外观各有不同 但真正的净化效果却大同小异 本文将以净化空气中 PM2 5 污染 为起点 设计一种功能强大 操作方便 净化效果良好的空气净化器 本本 科科 毕毕 业业 设设 计计 第 3 页 共 45 页 1 31 3 课题主要课题主要工作工作 本课题根据办公室工作环境的实际情况以及所学专业知识完成了一款适合教师在 办公室使用的新型空气净化器控制系统的设计 主要工作包括 1 对比了国内外发展状况 根据人们日常生活的需求 提出了本课题的总体设 计方案及功能模块的选择 包括控制模块的选择 显示模块的选择 数据采集模块的 选择等 2 完成了系统的硬件电路设计 包括 CPU 外围电路设计 显示电路设计 驱动 电路设计 各传感器接口电路设计等 搭建了一套完整的硬件平台 3 完成了系统的软件程序及界面设计 包括主程序设计 各子程序设计以及上 位机界面的程序处理算法的研究 4 对设计的控制系统进行了全面的测试 包括待机显示界面 温湿度采集 空 气质量检测 档位切换 开关机设定以及无线通信等功能 经分析试验结果可知 本 课题设计的空气净化器满足实际工作的要求 本本 科科 毕毕 业业 设设 计计 第 4 页 共 45 页 2 2 控制器方案设计控制器方案设计 2 12 1 控制器总体方案设计控制器总体方案设计 根据所学知识及相关资料 本设计由供电电路 数据采集电路 驱动电路 按键 电路 显示电路 上位机控制电路六部分组成 系统总体方案如图 2 1 所示 图 2 1 空气净化器总体方案 本设计中采用单片机作为空气净化器的控制核心 14 结合传感器 显示器 驱动 器以及无线收发器等重要部件共同完成了控制系统所要求的功能 该空气净化器能够 对室内 PM2 5 浓度以及温湿度进行监测并通过无线模块发送至上位机 而且能够根据 所测参数做出相应的处理措施 具有良好的节能效果和人机交互界面 总体设计原理 图如附录 A 所示 2 22 2 方案论证对比方案论证对比 2 2 1 控制模块方案对比 方案一 选取 STC12 系列单片机作为主控芯片 STC12 系列单片机是一种工作方式与 51 系类相仿 但功能略强的一款高速处理型 单片机 工作频率可由分频器分频至 0 35MHZ 它的 36 个通用 I O 口可通过程序设置 成四种输入输出模式 该芯片有贴片和直插两种封装类型 拥有 PCA 高速输出功能 处理速度比 51 系列 单片机快上许多 但其资源有限 处理速度相对于 32 系列较慢 因此 此芯片在本设 计中有些力不从心 最重要的是该芯片无法支持 TFT LCD 液晶的显示 更实现不了触 本本 科科 毕毕 业业 设设 计计 第 5 页 共 45 页 屏功能 方案二 选取 STM32 系列单片机作为主控芯片 STM32 系列单片机工作时最高频率可达 72MHZ 是 STC12 系列单片机的 6 72 倍 其内部不仅集成 FLASH 存储器更是集 64K SRAM 存储器于一体 拥有庞大的数据存储功 能 而且 该芯片内部含有 RTC 时钟电路 在外部有电源供电的情况下能利用系统内 滴答定时器连续不断地计时 不仅如此 此类单片机还拥有 5 个串行通讯端 能通时 支持 5 类串行通讯设备 是其它单片机无法比拟的 该芯片不仅有高速的处理速度 而且拥有众多的板载资源 功能十分强大 144 个 引脚使其足以支持任何功能 串行通讯端口使得其在读取 PM2 5 传感器数据的同时能 通过另外串口将数据快速传送至上位机 此外 该芯片能驱动 TFT LCD 液晶屏 具有 方便快捷的控制效果 综上所述 本设计选取 STM32 系列单片机作为主控芯片 2 2 2 显示模块方案对比 方案一 选取 LCD12864 液晶作为显示模块 LCD12864 是一种多线串行接口方式的点阵形液晶显示模块 其分辨率为 128 64 9 既可以用来显示字符 又可以通过中文字库显示汉字 但其有限的显示字数和复杂的 时序位置操作以及简陋的显示效果和其无法触控的特点使得其并不完全适合充当本设 计的显示模块 方案二 选取 TFT LCD 液晶作为显示模块 TFT LCD 液晶屏幕分辨率为 320 240 16 位真彩显示 可人为改变字体的颜色和 大小 16 17 在屏幕上可分行分段显示大批量数据并可通过触控芯片和相应的程序实现 触屏功能 虽然控制方式较复杂 但独特的优势和方便的操作使得其满足本设计的要 求 综上所述 本设计选取 TFT LCD 液晶作为显示模块 2 2 3 驱动模块方案对比 方案一 选取 L298N 作为驱动模块 L298N 电机驱动模块能将输入电压通过 PWM 控制的方式实现连续可调输出 而且 其能同时驱动两路电机 并能给单片机提供 5V 电源接口 该模块工作电流相对较大 因此 需安装散热片进行散热处理 然而其价格便宜 控制简单适合本设计中风机的 本本 科科 毕毕 业业 设设 计计 第 6 页 共 45 页 调速控制 方案二 选取 LM2596 作为驱动模块 LM2596 模块能实现降压的功能 体积相对较小 拥有大电容滤波电路 其输入电 压为 3 40V 输出电压范围为 1 5 35V 连续可调 但此模块只能通过手动按钮进行降压 调节 若要通过电子进行调节电压的输出 需要增加其他控制电路 比较繁琐 综上所述 本设计选取 L298N 作为驱动模块 2 2 4 PM2 5 传感器模块方案对比 方案一 选取 GP2Y1014AU 粉尘传感器 该模块为夏普公司生产的一种粉尘烟雾传感器 能检测出非常细微的颗粒 装置中 通过红外发光二极管利用反射原理检测灰尘在空气中的含量 模块中心有一可供气体 流通的圆孔 使测量空气自由流通 其输出是与空气中粉尘浓度成正比的电压模拟量 需通过 A D 采集后转化成数字量显示浓度值 虽然价格相对比较便宜 但对 PM2 5 等 微小颗粒的检测不是很敏感 对本设计有一定的影响 方案二 选取 SDS011 激光传感器 SDS011 传感器根据激光散射原理测量空气中的微小颗粒 当激光照射到悬浮颗粒 物时会产生光散射 感光部件根据散射激光的波形判断出颗粒物的直径 通过不同直 径的颗粒物反射出不同形状的波形 判断其浓度的大小 并根据换算公式转化成官方 统一单位 20 该 PM2 5 传感器操作方便 通过串行通讯按照一定波特率即可将十六进 制数据读出 在单片机中简单转换成十进制即可 其数据测量精确 响应速度快 但价 格略高 综上所述 本设计选取 SDS011 型激光 PM2 5 传感器 本本 科科 毕毕 业业 设设 计计 第 7 页 共 45 页 3 3 控制器硬件电路设计控制器硬件电路设计 3 13 1 单片机控制电路设计单片机控制电路设计 单片机控制电路是整个控制器的中枢 起着发号施令的作用 一个性能良好的控 制芯片对整个系统来说至关重要 10 STM32F103ZET6 基于 Cortex M3 CM3 处理器 不仅在功能上能满足题目的要求 而且在运行效果上也格外显著 该芯片性能强劲 工作频率高 72MHz 的工作频率使得整个控制过程获得更高的处理速度 完整的基于 CM3 的 MCU 还需要很多其他组件 其结构如图 3 1 所示 图 3 1 单片机内部结构图 然而 要想正确合理的应用此单片机 仅仅依靠芯片本身是不行的 其往往还需 要外部时钟 复位 隔离等单元电路才能工作 其硬件电路如图 3 2 所示 本本 科科 毕毕 业业 设设 计计 第 8 页 共 45 页 图 3 2 单片机硬件电路 其中 晶振 Y1 为 32 768KHz 提供外部低速时钟 在断电的情况下通过外接 CR1120 纽扣电池为 RTC 实时时钟电路供电 使得其计时准确 晶振 Y2 为 8MHz 提 供高速外部时钟 电容 C6 C7 均为 0 01F 在此作为电源滤波 RESET 为复位按键 此款芯片单片机与 TFT LCD 液晶同接在一个复位按键上 复位电路如图 3 3 所示 本本 科科 毕毕 业业 设设 计计 第 9 页 共 45 页 图 3 3 单片机复位电路 3 23 2 显示电路设计显示电路设计 3 2 1 TFT LCD 液晶显示电路设计 显示电路是整个控制系统与用户交互的媒介 是人机交流的关键 常用的显示有 LED LCD 等方式 根据对市面上显示器的对比 TFT LCD 显示出独特的优势 它不仅 具有良好的画质 而且还可以设置成触控模式 方便用户操作 其硬件连接如图 3 4 所示 图 3 4 TFT LCD 液晶硬件连接图 本本 科科 毕毕 业业 设设 计计 第 10 页 共 45 页 图中 PF8 PF9 PF10 PB2 用来实现对液晶触摸屏的控制 而 PB0 控制 LCD 的背 光 3 2 2 TFT LCD 触控电路设计 TFT LCD 液晶屏不仅支持显示功能 而且还能通过专门的控制芯片实现触屏功能 我们在市面上所见的触摸屏最多为电阻式 而 TFT LCD 自带的触摸功能也属于电阻式 触摸屏 由于 STM32F1O3ZET6 单片机没有集成的液晶驱动器 因此需要借助 ILI9320 驱动 芯片通过 FSMC 接口对液晶进行控制 ILI9320 芯片自带显存 拥有 16 位数据线 可以 控制液晶显示内容字体的大小 颜色 显示方向 显示区域等 19 使显示功能变得简 单易懂 为了准确有效的得到触控位置 将电压信号模拟量转化为数字量 需要一个 A D 转换芯片进行控制 本设计中采用 XPT2046 转换芯片 其原理框图如图 3 5 所示 图 3 5 XPT2046 原理框图 XPT2046 是一种典型的逐次逼近型模数转换器 其包含了采样保持 模数转换 串 口输出等功能 当控制触摸屏时 可将其设置为差分模式 可有效消除外部干扰和寄 生电阻带来的测量误差 使转换精度更高 4 其典型应用如图 3 6 所示 本本 科科 毕毕 业业 设设 计计 第 11 页 共 45 页 图 3 6 XPT2046 典型应用电路图 3 2 3 数据存储芯片设计 在初始化触控屏时需要将采集的触控点通过 I2C 总线传送到存储芯片上 为下次 初始化时免去繁琐的校准程序 在本设计中 选取 AT24C02 作为存储芯片 该芯片为 2K 的串行 EEPROM 可存储 256 个 8 位字节 其硬件连接如图 3 7 所示 图 3 7 24C02 硬件连接图 其管脚功能如表 3 1 所示 表 3 1 24C02 管脚功能 管脚名称功能描述 A0 A1 A2 器件地址选择 SDA 串行数据 地址 SCL 串行时钟 WP 写保护 VCC1 电源正极 GND 电源负极 本本 科科 毕毕 业业 设设 计计 第 12 页 共 45 页 如上所示 由于本设计中只采用一个存储器来保存校准的参数 因此为了连接方 便 将 A0 A1 A2 引脚直接接地 使该芯片的地址为 0X00 SCL 为串行时钟引脚 为 传送数据提供时序 与单片机 PB10 连接 SDA 为数据 地址引脚 与单片机 PB11 连接 其中 R19 R20 为上拉电阻 可增强驱动能力和电路稳定性 3 33 3 驱动电路设计驱动电路设计 风机的运转是整个控制系统的执行装置 反映着对指令的执行效果 风机的可靠 运行与其驱动电路密切相关 变压器将 220V 单相交流电变换到直流 12V 单片机通过 PWM 的占空比控制 L298N 驱动器的电压输出 使其 0 12V 连续可调 L298N 是一种在电 机控制方面常用的驱动芯片 其内部含有 4 路逻辑驱动电路 硬件电路如图 3 8 所示 图 3 8 驱动电路硬件连接图 其中 L298N 驱动芯片能同时支持两路输入输出 其中 ENA ENB 为驱动使能端 可由 PWM 控制 IN1 IN2 为方向控制端 控制风机转向 OUT1 OUT2 与 OUT3 OUT4 为两路电压输出端 由于该轴流风机为无刷直流电机 其内部自带换向器 因此只能 输入无任何波动的直流电 而输出端输出的电压为占空比可调的方波 为解决这一问 题 并联了 220uF 的电容进行滤波处理 本本 科科 毕毕 业业 设设 计计 第 13 页 共 45 页 3 43 4 按键电路设计按键电路设计 在本设计中 采用按键调节方式对控制器的开关机时间进行设置 由于只涉及到 小时与分钟的更改 故采用两个独立按键调节 其硬件电路如图 3 9 所示 图 3 9 按键电路硬件连接图 其中 S1 按键为高电平输入方式与 PA0 相连 S2 按键为低电平输入方式与 PE4 相 接 在进入设置第三级菜单后 可通过按键的方式设定开关机时间 3 53 5 数据采集电路设计数据采集电路设计 3 5 1 温湿度传感器模块设计 DHT11 传感器既能测量温度又能测量湿度 并以二进制数字形态返回 其采用单线 制串行接口 使硬件电路连接简单 抗干扰能力强 内置自校准程序 将参数保存在 芯片中 当传感器工作时需要调用这些系数进行自动校准 其温度测量范围为 0 50 度 精度为 2 度 湿度测量范围 20 90 精度为 5 RH 其硬件连接如图 3 10 所示 图 3 10 DHT11 温湿度传感器连接图 本本 科科 毕毕 业业 设设 计计 第 14 页 共 45 页 DHT11 的供电电压为 3 5V 由于采用单总线方式 故只需一个引脚即可 该引脚 接在单片机 PG11 上 读数时需通过严格的时序 3 5 2 PM2 5 传感器模块设计 本设计中选用的 PM2 5 传感器 利用激光散射的原理可以精确测得空气中的 PM2 5 浓度 操作简单 集成度高 内置散热风扇 数据稳定可靠 其实物如图 3 11 所示 图 3 11 PM2 5 传感器实物图 该传感器通过串口与单片机 PA10 PA11 相连 既能测量 PM2 5 含量又能测量 PM10 浓度 只是输出引脚不同 具体引脚定义如表 3 2 所示 表 3 2 SDSO11 激光传感器引脚定义 管脚名称备注 1CTL 控制脚 备用 21um 大于 0 3 微米颗粒物浓度 PWM 输出 35V 5V 电源输入 425um 大于 2 5 微米颗粒物浓度 PWM 输出 5GND 地 6R 串口接收 RX 7T 串口发送 TX 本本 科科 毕毕 业业 设设 计计 第 15 页 共 45 页 虽然此传感器测量结果精度较高 但其工作环境 输入输出电流大小不可忽略 具体技术指标如表 3 3 所示 表 3 3 PM2 5 技术参考指标 序号项目参数 1 测量输出PM2 5 PM10 2 量程0 0 999 9 微克 立方米 3 供电电压 5V 4 最大工作电流 100mA 5 休眠电流 2mA 6 工作温度范围 20 50 7 响应时间1 秒 8 串口数据输出频率1 次 秒 9 颗粒物直径分辨率0 3 微米 10 相对误差 10 11 产品尺寸 71x70 x23mm 本本 科科 毕毕 业业 设设 计计 第 16 页 共 45 页 4 4 控制器软件设计控制器软件设计 4 14 1 主程序设计主程序设计 空气净化器控制系统由初始化程序 触摸屏控制程序 按键处理程序 定时器中 断程序 数据采集程序 RTC 时钟程序 定时器中断程序 LCD 显示程序 串口中断程 序 电机驱动程序和低功耗运行程序共同组成 15 各子程序经过单片机的主程序运算 处理 实现了温湿度测量 PM2 5 浓度检测 液晶显示 触屏控制 模式选择 数据传 输与处理 电机控制等功能 达到了净化空气 人机交互 低功耗运行的要求 在整 个程序设计中 采用模块化编程的方式 使程序更加灵活 方便调用 移植 调试 具体工作流程如图 4 1 所示 图 4 1 主程序工作流程图 在接入电源后 单片机控制器开始工作 首先系统对所需功能进行初始化自检 在完成初始化后 执行触摸屏扫描程序 显示待机状态下菜单和测量的参数以及当前 时间 当检测到屏幕被触摸后 系统根据其坐标判断所选择的命令 并进入相应子程 序 当 自动控制 按钮被选中时会进入自动控制程序 系统根据测量的 PM2 5 浓度 本本 科科 毕毕 业业 设设 计计 第 17 页 共 45 页 自动调节风机的转速 完成自动控制 当选中 手动控制 按钮时 显示手动控制下 的二级菜单界面 里面有档位的选择和 返回 等按钮 当选中 设置 按钮后 系 统会进入设置下的二级菜单 可选择 开机时间 和 关机时间 两种 在对应的三 级菜单中 均可通过按键设置定时时间 最后 按 确定 按钮返回主界面 与此同时 单片机的中断子程序一直在运行 定时器中断处理函数用于温湿度定 时采集及显示 并向上位机发送参数 串口 1 中断函数执行对 PM2 5 的采集与计算 并显示在液晶上 串口 2 中断函数将从上位机接收到的数据进行处理 根据设定指令 调用相应子函数 其下位机程序如附录 B 所示 4 24 2 显示子程序设计显示子程序设计 本设计中 用 TFT LCD 液晶屏显示测量得到的参数 例如 时间 温湿度 PM2 5 浓度 时间 界面等内容 然而要想正确控制液晶显示参数 需要对液晶及其控制器 进行一系列校准与设置 具体操作流程如图 4 2 所示 图 4 2 液晶初始化程序流程图 如上图 在程序开始执行时 首先 判断液晶屏幕是否已经通过校准 若校准完 毕 则显示待机状态下的菜单 否则需要经过校准程序进行校准 其次 判断 LCD 屏 幕是否被触摸 若检测到 则读取相应触控点坐标 否则返回到待机状态下的显示界 面 最后 根据所得坐标 判断是否在设定区域 若在 则通过 ILI9320 驱动器经 本本 科科 毕毕 业业 设设 计计 第 18 页 共 45 页 FSMC 向 LCD 指定区域写命令 写数据 以达到界面切换或显示参数的目的 具体分析如下 1 时钟使能 由于 STM32 单片机为每个外设的功能都设置了时钟开关 在需要的时候打开 不 需要的时候将其关闭 以达到降低能耗的作用 因此 在上电后 通过程序进行功能 模块时钟的使能 2 初始化 GPIO 即通用输入输出口 在 GPIO 初始化时 需要将 GPIO 输出类型设置成为复用 推挽输出 最大输出速度为 50MHz FSMC 即静态存储控制器 本设计中单片机通过 FSMC 接口控制 LCD 因此 LCD 相 当于片外 SRAM 在 FSMC 初始化时 需要对地址线 数据线 写信号 读信号 片选信 号进行设置 在触摸屏初始化时 首先初始化相关 GPIO 并将其设置成为上拉模式 其次初始 化 24C02存储器 最后判断屏幕是否已经校准 3 单片机与存储器的 I2C 通信 单片机通过串行总线通信可以使硬件电路大大简化 提高可靠性 I2C 总线只有两 根双向信号线 当总线处于空闲状态时 两根信号线均为高电平 6 当连接在总线上 的任一器件变低时都能将总线的信号拉低 主机若要与某个器件通信 则必须通过总 线仲裁 根据地址来决定哪个器件作为接收器 单片机通过 I2C 和 24C02 通信流程如 图 4 3 所示 本本 科科 毕毕 业业 设设 计计 第 19 页 共 45 页 图 4 3 I2C 通信流程图 如上图 当单片机准备与 24C02 通信时 首先产生起始信号 为发送写命令做好 准备 在发送完成后 等待应答信号 然后发送高地址 低地址 在信号线发出应答 信号后 向该地址发送想要传输的字节 最后等待接收的应答 完成一次数据的传输 I2C 在传输数据时 当时钟线为高电平期间 数据线传输的数据必须保持稳定 1 只有当时钟线为低电平时才允许数据变化 其传输状态如图 4 4 所示 图 4 4 I2C 数据传输状态 本本 科科 毕毕 业业 设设 计计 第 20 页 共 45 页 在图 4 3 中 产生 I2C 起始和终止信号时序如图 4 5 所示 图 4 5 起始信号与终止信号时序图 起始信号程序设计 首先将信号线 SCL SDA 拉高一段时间 然后将数据线 SDA 拉 低 等待时间超过 4us 后 将时钟线拉低即可实现产生一个起始信号 终止信号程序设计 首先将信号线 SCL SDA 拉低一段时间 然后将时钟线 SCL 拉 高 等待时间超过 4us 后 将数据线拉高即可实现产生一个终止信号 在图 4 3 中 产生应答信号与非应答信号时序如图 4 6 所示 图 4 6 I2C 产生应答信号与非应答信号时序 应答信号程序设计 首先将 SCL SDA 拉低 一段时间后将 SCL 拉高 等待时间超 过 4us 后 将 SCL 拉低即产生一个应答信号 整个过程中 SDA 是处于低电平状态 在程序中以返回值 0 代替 非应答信号程序设计 首先将 SCL 拉低 SDA 拉高 一段时间后将 SCL 拉高 等待 时间超过 4us 后 将 SCL 拉低即产生一个非应答信号 整个过程中 SDA 是处于高 电平状态 在程序中以返回值 1 代替 在图 4 3 中 发送数据格式如图 4 7 所示 本本 科科 毕毕 业业 设设 计计 第 21 页 共 45 页 图 4 7 数据传输格式 当主机向从机发送数据时 每一个字节必须保证是 8 位长度 数据传送时 先传 送高位 再传送地位 在每一个传送的字节后面都会跟随一位应答位 当从机接收到 数据后会产生一个应答信号 如果在一段时间后 主机并未收到从机的应答信号 则 自认为从机已经正确接收到数据 4 液晶屏幕校准 触摸屏为绝对坐标系统 即每次的坐标与上一次坐标没有任何关系 在理论上 同一点输出的数据是稳定的 但在实际中 由于技术等原因 无法保证每次在同一点 输出的数据保持一致 这时将会产生漂移现象 为了防止此现象的发生 需要通过程 序进行校准 然而 在程序中使用的 LCD 坐标通常是以像素为单位的 故需要通过程 序将物理坐标转化为像素坐标 转化公式如下所示 其中 LCD X LCD Y 为 LCD 上的像素横纵坐标 Px Py 分别为触摸的物理坐标 x factor y factor 分别为 X Y 轴上的比例因子 x shift y shift 分别为 X Y 轴 上的偏移量 屏幕校准流程如图 4 8 所示 shiftyPyfactoryYLCD shiftxPxfactorxXLCD 本本 科科 毕毕 业业 设设 计计 第 22 页 共 45 页 图 4 8 液晶屏幕校准流程图 液晶屏幕校准 首先 在屏幕上显示已知坐标的四个点 用户在校准的过程中需要 依次按下屏幕上这四个点 5 单片机根据按下的位置获取物理坐标 在判别坐标合 理的情况下 根据待定系数法计算出 x factor y factor x shift y shift 参 数 并将其保存到 24C02 存储器中 在以后的使用中 将会按照这个参数来计算像 素坐标 达到屏幕校准的目的 坐标合理判别 在单片机读取四个物理坐标 设为 后 分别测量 坐标 距离 然后与设定的四个坐标之间相应的距离相比 若误差小于 ERR LENGTH 则认为此坐标合理 在本设计中 ERR LENGTH 取 50 4 34 3 PWMPWM 输出子程序设计输出子程序设计 PWM 即脉冲宽度调制 将恒定的电压调制成频率 占空比可变的一系列方波 单片 机可利用定时器产生 PWM 波 并通过程序可设置输出频率和占空比 其 PWM 输出流 程如图 4 9 所示 本本 科科 毕毕 业业 设设 计计 第 23 页 共 45 页 图 4 9 PWM 输出流程图 如上图所示 上电后 在执行到该子程序时 首先 设置 TIM3 CCR2 的值 即定 时器内高低电平切换值 其次 定时器 3 寄存器 CR1 以初始化中设置的频率自加 当 其值大于 TIM3 CCR2 设置值后 输出高电平 否则输出低电平 最后 当 CR1 等于初 始化中设定的上限值时 重置 CR1 为零 继续循环以上程序 因此能连续不断的输出 频率周期一定的高低电平 在程序运行过程中 可通过设置 TIM3 CCR2 的值来改变输 出 PWM 波的占空比 4 44 4 数据采集程序设计数据采集程序设计 4 4 1 温湿度传感器模块程序设计 DHT11 温湿度传感器采用单总线方式与单片机进行通信 仅仅需要一个引脚即可实 现数据的传输 7 传感器内部的温湿度数据通过引脚一次性传给单片机 其数据分为 小数部分和整数部分 格式为 8bit 湿度整数数据 8bit 湿度小数数据 8bit 温度整数 本本 科科 毕毕 业业 设设 计计 第 24 页 共 45 页 数据 8bit 温度小数数据 8bit 校验和 其引脚功能如表 4 1 所示 表 4 1 DHT11 引脚功能图 Pin 名称功能 1VDD 电源正极 2DATA 数据传输引脚 3NC 悬空 4GND 电源负极 单片机 PG11 引脚与传感器 DATA 相连 当准备与其通讯时由单片机发送开始信号 此时 传感器将转换成高速模式 直到主机的开始信号结束后 DHT11 对单片机进行响 应处理 同时 送出采集到的数据 并触发下一次信号的采集 8 在采集完成后将会 转换到低速模式 等待下一次主机的开始信号 其通讯过程如图 4 10 所示 图 4 10 DHT11 通讯过程 首先 由主机拉低数据线 经过一段延时后 拉高数据线 等待大概 30us 后读取 DHT11 的响应 在 DHT 发出响应输出后 保持一段时间 再将其拉高 这样就可以传 输数据了 当数据传送至单片机后 由程序定义两个数组 分别存储温度和湿度数据 在经过简单运算后 由液晶显示函数显示在 TFT LCD 相应位置 其具体流程如图 4 11 所示 本本 科科 毕毕 业业 设设 计计 第 25 页 共 45 页 图 4 11 DHT11 工作流程图 4 4 2 PM2 5 传感器模块程序设计 SDS011 激光传感器是利用激光反射原理检测空气中的 PM2 5 浓度值 并通过串行 通讯将数据发送至单片机 其工作波特率为 9600 具体流程如图 4 12 所示 图 4 12 PM2 5 传感器工作流程图 如图所示 由于该传感器是通过串口进行通讯的 故初始化串口后 当有数据传 本本 科科 毕毕 业业 设设 计计 第 26 页 共 45 页 送时会进入串口中断 在中断函数中 将接收到的数据保存至数组 然后根据公式计 算出 PM2 5 的浓度并通过显示函数将数据显示在 LCD 液晶屏上 a 串口通信 串口即通过串行方式通讯的扩展接口 串行通讯线路连接简单可靠 但传输速度略慢 STM32F103ZET6 单片机拥有 5 个串口 在本设计中将串口 1 作为 PM2 5 数据接收端口 其接收与发送引脚分别为 PA9 PA10 初始化流程如图 4 13 所示 图 4 13 串口初始化流程图 在初始化过程中 首先初始化所用功能的时钟 然后将串口进行复位处理 以免 受外设异常的干扰 由于该传感器传输速度为 9600 位 秒 故在串口参数初始化中将 波特率设置为 9600 最后进行中断的配置 设置中断分组和 NVIC 优先级 b PM2 5 浓度的计算 SDS011 激光传感器通过串口每次发送 10 位 16 进制数据 依次为 报文头 指令号 数据 6 字节 校验和 报文尾 各个具体定义如表 4 2 所示 表 4 2 激光传感器数据说明 数据位说明数据位说明 1 报文头 6 PM10 高字节 2 指令号 7 传感器 ID 3 PM2 5 低字节 8 传感器 ID 4 PM2 5 高字节 9 校验和 5 PM10 低字节 10 报文尾 本本 科科 毕毕 业业 设设 计计 第 27 页 共 45 页 由于本设计中只需测量 PM2 5 浓度即可 在串口中断中其浓度计算公式为 PM2 5 浓度 PM2 5 高字节 256 PM2 5 低字节 10 单位为 ug m3 4 54 5 上位机程序设计上位机程序设计 为了使空气净化器功能更完善 人机交互更智能化 在本设计中利用 Visual Studio 软件采用 C 语言进行上位机界面设计 其软件功能如图 4 14 所示 图 4 14 上位机软件显示界面 该上位机软件控制界面不仅能显示由单片机通过无线模块传输过来的参数 而且 可以通过上位机控制下位机的部分功能 使得本设计产品应用方便 在打开软件后 首先通过下拉菜单选择合适的串口和波特率 然后打开串口 就可以在界面上收到由 下位机传送过来的 PM2 5 浓度 温湿度等数据 通过 自动控制 按钮和 手动控制 以及档位的选择按钮来实现对下位机的控制和风机转速的调整 最后 通过 关机 和 熄屏 按钮可实现对单片机控制器的关机操作和熄屏待机操作 达到低功耗节能 的目的 若要退出此上位机系统 点击 退出 按钮即可关闭此软件 上位机程序如 附录 C 所示 本本 科科 毕毕 业业 设设 计计 第 28 页 共 45 页 4 64 6 其它子程序设计其它子程序设计 4 6 1 RTC 时钟电路程序设计 STM32 单片机 RTC 时钟利用其内部一个独立的定时器 可以实现时钟的连续计时 其初始化流程如图 4 15 所示 图 4 15 RTC 时钟初始化流程图 在程序开始执行时 先进行时钟引脚的使能 然后取消备份区的写保护 检查是 不是第一次配置时钟 若为第一次配置时钟 则复位备份区域开启外部低速时钟 设 置预分频和中断分组 存储到备份区 若不为第一次配置 则直接读取备份存储区内 的时间 在此基础上继续计时 RTC 时钟的核心为预分频模块与可编程计数器构成 通过程序将预分频值设置为 32767 即可使外部 32 768KHz 的晶振分频至 1HZ 从而在程序中可产生 1 秒的 TR CLK 中断 在此中断函数中进行秒计时 可编程计数器为 32 位计数器 按秒钟计算可连续 计时 232 秒 约合 136 年 因此 在一般设计中 此计时时间是完全够用的 4 6 2 时间设定函数程序设计 在待机界面下 通过触摸 设置 按钮 可进入相应的二级菜单 在此状态下 无论选中哪个按钮 均可进入时间设定环节 根据图 3 6 所示 当 S1 被按下时 PA0 接入高电平 通过 10ms 延时消抖后 可调节开关机时间中的小时数 当 S2 被按下时 本本 科科 毕毕 业业 设设 计计 第 29 页 共 45 页 PE4 接入低电平 通过消抖后 可调节开关机时间中的分钟数 当 RTC 时钟计时的时间 与设定的开关机时间相等时 则进入开关机子程序 11 4 6 3 熄屏子程序设计 TFT LCD 液晶显示内容是极其耗电的 为了节省不必要的电量消耗 使其更节能环 保 因此 在净化器工作时 设置完净化器工作模式后 即可关闭液晶显示 在需要 更改设置时 通过按键控制背光引脚 开启液晶显示 因此 在程序设计时 熄屏操 作可直接将其背光控制引脚设置为 0 即可 本本 科科 毕毕 业业 设设 计计 第 30 页 共 45 页 5 5 试验与调试试验与调试 5 15 1 DHT11DHT11 温湿度传感器试验与调试温湿度传感器试验与调试 将单片机与 DHT11 模块按照图 3 7 所示接线 下载测试程序后 将测量的温湿度 显示在 LCD 液晶屏上 此时温度为 26 度 湿度为 51 结果如图 5 1 所示 为了测量其温湿度的变化与精度 在下载程序后 用手握住传感器 10 秒 观察温 湿度变化 10 秒后 温度为 28 度 湿度为 89 结果如图 5 2 所示 图 5 1 试验前温湿度值 图 5 2 试验后温湿度值 经过测量对比可发现 在 10 秒内 温度变化了 2 度 湿度变化了 38 由此说明 该模块工作正常 测试程序正确 5 25 2 SDS011SDS011 激光传感器试验与调试激光传感器试验与调试 将单片机与 SDS011 激光传感器按照表 3 2 所示接线 下载测试程序后 将测量的 PM2 5 浓度用串口调试助手显示出来 其结果如图 5 3 所示 本本 科科 毕毕 业业 设设 计计 第 31 页 共 45 页 图 5 3 PM2 5 调试结果 在此 选取如图红框内数据进行分析计算 根据软件设计内容可知 第三位是 PM2 5 浓度的低字节为 71 第四位是 PM2 5 浓度的高字节为 01 根据计算可得当前 PM2 5 浓 度值为 36 9ug m3 经对比可知 用 SDS011 激光传感器测量的 PM2 5 浓度与当天空气质量监测的浓度 本本 科科 毕毕 业业 设设 计计 第 32 页 共 45 页 相仿 由此说明该传感器工作正常 测试程序无误 5 35 3 上位机控制器试验与调试上位机控制器试验与调试 打开上位机软件 进入登录界面 输入用户名和密码后 进入显示系统 12 将电 脑 USB 口经无线模块与单片机 PA2 PA3 相连 在选择相应的串口号并设置正确的波特 率后 打开串口 此时 串口状态显示为打开状态 此时 上位机就可以与单片机进 行通信 其登录界面如图 5 4 所示 显示界面如图 5 5 所示 经观察 上位机与下位 机参数一致 无错数 漏数情况 并通过上位机按钮可控制下位机的部分功能 因此 可说明 用 Visual Studio 所编写的上位机软件可用 图 5 4 上位机登录系统界面 图 5 5 上位机显示系统界面 5 45 4 试验与调试试验与调试 5 4 1 控制器外包装设计 本设计中的空气净化器是集参数采集 数据处理 驱动控制于一体的控制系统 14 为了将各单元电路综合固定在一起 不致于无处安放 因此设计了净化器外包装来解 决这一问题 利用 Au

温馨提示

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

评论

0/150

提交评论