前一段时间做的空气质量检测仪,赶上论坛
DIY活动发上来。做这个的初衷是实在不相信网上报的PM2.5值,还是做一个实时监测的,眼见为实。最终效果如如下:
这次设计的空气质量检测仪由三大部分构成: 1.STM32F103控制器;2.攀藤G1激光PM2.5传感器;3.Usart-GPU 3.5寸液晶显示屏。其中STM32F103控制器通过PM2.5传感器采集数据经过处理计算出PM2.5、PM10等数值,依据空气质量指数计算方法,计算出空气质量指数及分析首要污染物然后发送到液晶显示屏显示。
1.控制器
STM32F103单片机不用多说了应用的已经非常广泛了。
用到的具体型号为STM32F103C8T6芯片具有20Kb SRAM、64Kb Flash存储空间。同时提供3个USART接口,完全满足需要。
STM32最小系统原理图
实物图
2 激光PM2.5传感器原理
攀藤G1是一款数字式通用颗粒浓度传感器,可以用于获得单位体积内空气中悬浮颗粒物个数及质量,即颗粒物浓度,并以数字接口形式输出。传感器采用激光散射原理。即令激光照射在空气中的悬浮颗粒物上产生散射,同时在某一特定角度收集散射光,得到散射光强随时间变化的曲线。进而微处理器利用基于米氏(MIE)理论的算法,得出颗粒物的等效粒径及单位体积内不同粒径的颗粒物数量。输出为单位体积内各浓度颗粒物质量及个数。
传感器原理
实物图和接口定义。
攀藤G1传感器传输协议串口默认波特率:9600bps,校验位:无,停止位:1位。模块工作在连续采样方式下,模块在每一次采样结束后主动发送采样数据,采样响应时间小于600毫秒,数据更新时间小于2秒。模块发送数据包定义32个字节。控制器只要读取串口中数据,处理、传唤得到需要的数值。
传输协议
用到的有数据4、5、6,直接读出传感器中的16进制数据。
3.液晶屏
液晶屏型号是35DTP,分辨率480*320。
串口屏是由液晶屏+单片机+存储器三部分构成的,由计算机将图片和汉字点阵通过GpuMaker程序预先存储到串口屏的存储器中,然后由单片机通过串口发送指令调用显示就可以,单片机部分的编程就会变得简单。用会了这款液晶屏感觉还是挺好用,适合业余DIY点小东西。
串口屏原理
软件设计
画了个简单的流程图,还是比较简单的。传感器在测试过程中发现会偶尔出现数据混乱的情况,所以需要对发送的数据包校验以保证数据的正确性。如果校验数据错误,舍弃这一包数据,重新接收下一包。如果确认数据正确即进行数据格式转换,根据下表计算需要显示的AQI值,以及判断首要污染物项目。
国家环保部标准,空气质量指数就是通过这个表计算的。
对应的污染级别应该采取的措施。
屏幕显示的污染级别对应的颜色,严格按照这个配色来的,照片颜色显示质量不如实际显示颜色鲜艳。照不出效果。
合体到一块了,内部空间。
制作心得:利用业余时间断断续续的一个多月终于制作出了想要的效果。DIY的过程就是学习的过程,对于未知东西理解了掌握了,成就感就此而生。首次使用STM32处理器,现在还处于入门阶段,希望以后可以更深入一点。
附件附上一些制作的资料,源程序。希望感兴趣的坛友一起交流心得。
附件
STM32F103C8T6-2原理图.pdf
(54.8 KB, 下载次数: 283)
1.激光PM2.5 传感器攀藤G1资料包.zip
(6.95 MB, 下载次数: 1080)
PM2.5 Program.zip
(913.7 KB, 下载次数: 349)