基于单片机的PM2.5检测系统设计

SCM Technology  •
单片机技术Electronic Technology & Software Engineering  电子技术与软件工程• 253【关键词】STM32 机车排放 微颗粒检测
1 系统结构设计
本系统硬件系统采用了STM32F103RCT6
鼓芯
为核心,所以首先能够保证低功耗,低价格。
而且由于STM32十分强大,在实时性上有着
突出的优势,因此在对PM2.5数据的处理和石墨保护套
显示上能够做到很好的实时性。此外,STM32
输出稳定,抗干扰能力强,其工业级版本能够
在十分恶劣的环境下正常工作,因此它作为产
品拥有较好的市场竞争力。
在单片机程序编写中,采用了平均值滤
波。在保证对环境变化快速响应的基础上,排污水池玻璃钢盖板
出了外界偶然因素的干扰。使PM2.5和PM10
数据输出稳定可靠,不会发生断层式剧变,其
响应曲线平滑,十分接近现实情况。程序经过
不断的调试和优化,最后具有很高的执行效率,
既节约了CPU 资源,又能使程序快速稳定的
运行,得到想要的结果。例如,TFT 屏的局部沙画工具
画屏更新数据、PM 数值从高数位到低数位的
判断、中断的应用和锁的应用、合理的程序时
序逻辑和控制逻辑都为程序的快速运行做出巨
大贡献。
2 各模块设计
2.1 控制器模块设计
ca3780
本硬件系统使用了STM32F103RCT6为
核心控制器,它以ARM Cortex-M3内核,
为32位MCU ,属于STM32系列中的增强型
系列。拥有高速的工作频率为72MHz ,大容
量存储为RAM 容量48K ,程序存储器容量
为256K (Flash ),且采用64-LQFP 封装。
STM32F103RCT6还有着丰富的外设资源:
4个16位普通定时器,2个16位高级定时基于单片机的PM2.5检测系统设计
文/陈曦
器,2个16位基本定时器;这些定时器可用于精准延时、定时、产生PWM 波以及根据不同的触发信号产生中断。3个SPI interface ,2个I2C interface ,3个通用同步异步收发器(USART ),2个通用异步收发器(UART ),1个USB interface ,1个CAN interface ;这些通信方式更有利于STM32的开发与其他设备的互联。1个SDIO interface ,3个12位的ADC (且含有16个通道),2个12位的DAC ;模数转换为模拟信号和数字信号的采集、处理、输出提供了极大的便捷。多达51个I/O 引脚用于开发,可以与外部设备相连,产生高低电平信号或者PWM 波等实用功能满足项目需求。2.2 无线传输模块设计NRF24L01是一款单片无线收发器芯片,它工作在2.4-2.5GHZ 世界通用ISM 频段。它主要由功率放大器、频率发生器、晶体振荡器、增强型模式控制器、调制器以及解调器构成。在它的SPI 接口水泥砖制砖机
能够设置传输协议、频道选择以及输出功率。NRF24L01采用了内置的硬件链路层,拥有自动应答及自动重发功能,真正的GFSK 单片式收发芯片,拥有Shock Burst 增强型功能。地址及CRC 检验功能,SPI 接口速率选择范围广:0-8MBPS ,无线速率:1或2MBPS ,很短的频道切换时间,可用于调频,125个可选工作频道,20脚QFN 4*4mm 封装,与NRF 24XX 系列完全兼容,IO 可接受5V 电平的输入,较低工作电压:1.9-3.6V ,极低成本晶振,使用低成本电感和双面PCB 板。2.3 传感器模块设计本系统采用的PM2.5传感器SDS011采用激光散射来检测PM2.5和PM10的实时数据。通过引脚进行数据包的输出。进行了PM2.5数据包的接收之后,要进行数据的处理,所以这里设计了compute(uint16_t *shuzu)函数来对接收到的4个字节的PM 数据包进行处理。这里首先是将接收到的数组传递给compute(uint16_t *shuzu)函数,然后用变量high2和low2去接收PM2.5的高字节和低字节,同理,high10和low10来接收PM10的高字节和低字节。这里值得一提的是,本系统用到了平均值滤波,因为考虑到在实际的测量当中,SDS011很可能会出现因为某些突发因素(比如刮来一阵风沙)而导致PM 数值断层式剧增,而这显然不是真正的此地区PM 数值,因此特意设置了大小为5的数组,每当有新数据加入就会更新这个数组,然后取平均值,这样得到的数据十分稳定。如果将这个PM2.5和PM10的曲线画出,也应该是平稳的,而不是有断层的剧增。2.4 TFT显示屏设计本系统采用的是1.44寸TFT 屏对下位机处理输出的PM2.5和PM10的值进行实时显示。这块TFT 屏既能用SPI 引脚驱动,也可以用普通的GPIO 脚来模拟SPI 进行驱动。最少可以使用4个引脚就对TFT 屏进行驱动。本驱动屏采用ST7735作为驱动芯片,既能够显示文字,也能够显示彩图片。背光模式采用白的LED 。
分辨率为128*RGB*128,也就是说每行每列各有128个像素点能够进行显示。在对TFT 驱动编程里,首先就是对LCD 进行初始化,通过向驱动芯片ST7735写入命令字,从而控制LCD 屏的显示。然后,就是显示我们所需要的内容,这里显示“PM2.5实时检测”,最后是并排的两列实时数据分别在“PM2.5 = ”和“PM10 =”之后显示。而这里涉及到了一个关键问题,那就是如何显示汉字。这里用到了一个字符取模软件,通过它就能够方便的将汉字转换成十六进制的数组进行显示了。3 结束语本论文完成了硬件系统的设计,包括PM2.5传感器、TFT 屏、2.4G 无线传输模块NRF24L01+的驱动编写与硬件连接。对硬件系统的核心STM32F103RCT6进行下位机编程,构造了下位机的PM2.5检测系统。能够将PM2.5传感器检测到的PM2.5和PM10实时显示在TFT 屏上,与此同时通过NRF24L01+传送给与PC 相连接的其他NRF 无线设备。参考文献[1]北京市环保局.2015年空气质量报告[R].北京:北京市环保局网站,2015.[2]刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2013.[3]蒙博宇.STM32自学笔记第二版[M].北京:北京航空航天大学出版社,2014.作者单位徐州市计量检定测试中心  江苏省徐州市  221000

本文发布于:2024-09-21 22:46:53,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/179941.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   能够   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议