【基于STM32的温湿度PM2.5检测系统的设计(论文)6200字】_第1页
【基于STM32的温湿度PM2.5检测系统的设计(论文)6200字】_第2页
【基于STM32的温湿度PM2.5检测系统的设计(论文)6200字】_第3页
【基于STM32的温湿度PM2.5检测系统的设计(论文)6200字】_第4页
【基于STM32的温湿度PM2.5检测系统的设计(论文)6200字】_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

[15]。按键电路图如图8所示。按键功能介绍如表6所示。本设计设计了3个按键,K1、K2、K3分别代表了按键1、按键2、按键3,它们的功能介绍如表6所示。表6按键功能介绍按键功能K1切换显示K2增加上限K3减小上限4软件设计4.1主程序设计本次设计的目的是要对空气的质量进行检测,在硬件选择完成后,就应该对软件主体流程进行设计。GP2Y1014AU0F粉尘传感器与单片机STM32F103通过I/O端口进行数据交换,完成对灰尘浓度数据的传输,而SHT20同STM32F103数据交换则是对温湿度的A/D转换。由于在不同环境中对空气质量的检测要求不同,所以为了方便针对不同环境带来的影响,可以通过按键来对温湿度和灰尘浓度的预设值进行增加或减少,当限定值设置好后,收集到的数据大于设定时蜂鸣器会进行发声提醒,同时LCD1602也会同步显示两个传感器发送过来的数据。主体流程开始启动,首先对STM32F103单片机进行初始化,然后对传感器GP2Y1014AU0F和SHT20进行初始化工作,之后LCD1602上显示两个传感器收集的当前环境的空气质量数据,我们可以利用按键对各数据的上限值调整,如果测试点的空气质量数据超过我们预设的值时,蜂鸣器会提示当前测试地的空气质量不好,反之则对数据更新显示出来。主程序的流程图如图9所示。4.2数据采集程序设计4.2.1GP2Y1014AU0F粉尘传感器模块GP2Y1014AU0F粉尘传感器(PM2.5传感器)u16PM25_Value_max=260;设置PM2.5浓度的最大值为260u8pmBuf[7];接收数据数组。voidGet_PM(void);得到PM2.5浓度值。4.2.2SHT20温湿度传感模块SHT20温湿度传感器涉及到的函数:voidSHT2X_Init(void);初始化与SHT20进行数据传输的微控制器I/O口。FunctionalStateSHT2X_IIC_WriteByte(uint8_tWriteAddress,uint8_tSendByte);向SHT20写入一串数据,返回值为1时表示写入成功,返回值为0时表示写入失败。FunctionalStateSHT2X_IIC_ReadByte(uint8_tReadAddress,uint16_tlength,uint8_t*pBuffer);从SHT20中读取一串数据,返回值为1时表示写入成功,返回值为0时表示写入失败。SHT20温湿度传感器的工作流程图如图10所示:4.3LCD液晶显示屏程序设计首先对LCD1602进行程序初始化,在初始化完成后检测LCD有没有清屏,如果没有进行清屏程序回到开始,在确定LCD1602已经清屏之后,再对LCD1602进行判忙,然后向LCD1602写入命令和数据,接收到数据后将数据显示在LCD上。LCD的工作流程如图11所示。4.4按键设置程序设计本设计设置了3个按键,在按键初始化后,对按键1(K1)进行循环检测,当检测到按键1按下时,就可以对温度值、湿度值和PM2.5浓度值的阈值进行切换,再通过按键2(K2)对其值进行增加,通过按键3(K3)对其值进行减小,按键设置流程图如图12所示。5系统测试在测试前先检查用到的元件是否有损坏,如果检查完后没有任何损坏,就可以将所有模块有序的焊接到洞洞板上。在焊接之前应该了解各个模块的引脚关系,然后根据PCB原理图对控制器STM32F103、传感器GP2Y1014AU0F、传感器SHT20、蜂鸣器等元件进行焊接。每焊接好一个模块后,可以利用万用表对该模块进行检测,检查在焊接时有没有地方没有焊接或者虚焊,在所有模块检查完焊接后,对各个模块之间的连线进行检查,查看有没有短路的现象。硬件检查完确认无问题后,就可以对硬件进行通电测试。对STM32F103进行通电,然后通过万用表检测每个元件的电源口的电压是否达到所需的值,接地端的电压是不是零。完成上面的检查操作后,就可以连接到笔记本通过串口助手进行程序的烧写了。LCD1602上遇到的问题:程序烧写好之后,硬件通电后LCD1602液晶显示屏不显示。问题解决:首先我先检查了是不是硬件焊接时存在虚焊,检查后发现并不存在虚焊;接着我又检查了我的LCD初始化函数和延时是否写好,查阅资料咨询朋友后,我的LCD初始化函数和延时并没有问题,最后经我朋友提醒发现LCD第二脚VCC的电压过低导致LCD1602液晶显示器不显示。GP2Y1014AU0F粉尘传感器遇到的问题:硬件上电后GP2Y1014AU0F粉尘传感器无法通信。问题解决:第一步我还是先检查了硬件焊接时是否存在虚焊,发现焊接完好没有虚焊;接着我又查看了我使用的波特率,我所使用的波特率是9600,我尝试更换了其他波特率,最后发现使用115200这个波特率时,GP2Y1014AU0F粉尘传感器可以正常通信。6总结经过这几个月来的学习,终于完成了本次的设计,虽然过程很痛苦,但是也在这段时间收获了很多东西。本次设计需要了解STM32F103核心板、LCD1602、GP2Y1014AU0F传感器、SHT20温湿度传感器和按键等模块,然而在为做设计之前对这些一无所知,不过经过这几个月的学习,我学会了如何去编写硬件程序,学会了如何将传感器接收到的数据显示在LCD1602上,学会了如何运用按键来实现对温湿度和PM2.5浓度的调整。在整个设计的过程里遇到了很多问题,在遇到问题后我会自己先去查阅资料,在自己不能解决的时候向同学和老师请教,这些问题虽然给我带来了很多的烦恼,但是也让我学会了如何快速的查阅一些资料解决问题,学会了应该怎么向老师请教问题,学会了怎么与同学进行探讨问题。本次的设计想法是来自己家乡空气质量逐年变差而设计的。参考文献杨新兴,冯丽华,尉鹏.汽车尾气污染及其危害[J].前沿科学,2012(03):12-24.王志强,王直.基于STM32室内空气质量检测系统硬件设计[J].电子设计工程,2017(9).陈城.基于Stm32的温湿度检测系统[D].武汉科技大学,2012.黄晓玲.采用KeiluVision提高单片机课程设计效果[J].现代企业文化,2008,000(014):145-146.宋卫海,刘美丽.基于STM32的PM2.5空气检测系统的设计[J].山东农业工程学院学报,2019,36(01).赵星寒.从0开始教你学STM32[M].北京:北京航空航天大学出版社,2014.刘肖楠.MCS-51单片机简介[J].电子制作,2015,000(006):59-59.杨光祥.STM32单片机原理与工程实践[M].武汉理工大学出版社,2013.郝允志,林毓培,周黔.温湿度采集电路及其控制方法:,CN108981801A[P].2018.倪天龙.单总线传感器DHT11在温湿度测控中的应用[J].单片机与嵌入式系统应用,2010,10(006):60-62.毛朔南,马宇明,蔡冶强,等.PM2.5检测标准及量值溯源方法现状及进展[J].中国计量,2013,000(005):30-32.梅祥.基于STM32的PM2.5检测系统设计[J].工业控制计算机,2016,29(009):159

温馨提示

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

评论

0/150

提交评论