产品概述

单片机 pm2.5 毕业设计:单片机DIY-小型PM25系统,实际效果超乎想象

小编 2024-10-06 产品概述 23 0

毕业设计:单片机DIY-小型PM25系统,实际效果超乎想象

大家好,因为最近忙着考试,最近比较忙,可能更新的文章比较少,疫情期间请大家多多注意身体,尽量减少外出,在家学习。

其实我发现在家学习只要静下心来,效率还是蛮快的,只要持之以恒,定会有所收获。

好了我们言归正传,前几天和几个小伙伴去市区公园玩,看着公园对面空气检测系统的大屏幕上各种数据不断变化,于是突发奇想,我能不能自己也用单片机做一个PM2.5测试系统呢,虽然不知道能不能成功,但想到就要做。

于是我利用好久以前的一个开发板当载体,开始自己DIY,成功了以后-我测试了一下基本能实时显示各种颗粒物的含量,又和真实数据对比了一下,准确度基板满足要求。

老规矩废话不多说,先上实物图:

原理:其实就是一块显示屏加上单片机实时控制,再加上采集和显示代码就差不多了

实物图1

数据采集和接收模块

实测测量精度和准确率还是可以的。

PM2.5检测系统参考代码如下:

主程序

#include<reg52.h>

#include "delay.h"

#include "LCD12864.h"

#include "PM2_5.h"

#include "BMP180.h"

#include "DHT11.h"

#define uint unsigned int

#define uchar unsigned char

sbit waring=P1^3;

void main()

{ lcd_init();

Init_BMP085();

Init_PM2_5();

while(1)

{ bmp085Convert();

RH();

lcd_pos(0,0);

display_string("pm2.5:");

if(read_pm()>5)

display_num(read_pm());

else

display_num(5);

display_string("ug/m3");

display_string(" ");

lcd_pos(1,0);

display_string("T:");

display_num(temperature/10);

display_string(".");

display_num(temperature%10);

display_string("'C");

display_string(" ")

display_string("H:");

display_num(RHdataH);

display_string("%");

lcd_pos(2,0);

display_string("pre:");

display_num(pressure/1000);

display_string(".");

display_num(pressure%1000);

display_string("kpa");

lcd_pos(3,0);

display_string("smo:");

if(read_pm()>200)

{ display_string("High");

waring=0;

}

else

{ display_string("low");

display_string(" ");

waring=1;

}

display_string("Al:");

display_num(Altitude);

display_string("m");

display_string(" ");

delay_ms(200);

}

}

PM2.5

#include<reg52.h>

#define uint unsigned int

#define uchar unsigned char

#define K_PM 820

void senddata(uchar dat);

uint read_pm();

uchar cal[7]={0};

// cal[0]:起始位 0xAA

// cal[1]:Vout(H)

// cal[2]:Vout(L)

// cal[3]:Vref(H)

// cal[4]:Vref(L)

// cal[5]:校验位

// cal[6]:结束位0xFF

uchar buf;

uchar sum;

int i=0;

float Vo;

void Init_PM2_5()

{ SCON=0x50;

PCON=0x00;

TMOD=0x20;

EA=1;

ES=1;

TL1=0xF4;

TH1=0xF4;

TR1=1;

}

uint read_pm()

{ return (uint)(K_PM*Vo);

}

void serial() interrupt 4

{ ES=0;

RI=0;

buf=SBUF;

senddata(buf);

ES=1;

}

void senddata(uchar dat)

{ if(dat==0xAA)

{ i=0;

cal[i]=dat;

}

else

{ i=i+1;

cal[i]=dat;

if(i==6)

{ sum=cal[1]+cal[2]+cal[3]+cal[4];

if(sum==cal[5]&&cal[6]==0xFF)

// for(i=0;i<=6;i++)

// {

// SBUF=cal[i];

// while(!TI);

// TI=0;

// }

Vo=(cal[1]*256+cal[2])/1024.0*5;

// SBUF=cal[1];

// while(!TI);

// TI=0;

// SBUF=cal[2];

// while(!TI);

// TI=0;

}

}

}

}

鉴于篇幅有限,只能写这么多了。

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,

文章不能上传附件,如果需要完整代码或设计文件,请私信我或者给我留言,看到后会第一时间回复。

谢谢!

详解PM25PM10形成原因以及主流测试方法

颗粒物介绍:总悬浮颗粒物我们一般认为是小于75&mu;m的颗粒,我们称之为TSP。

我们国家主要是对PM2.5/PM10较为关注,其中PM2.5为危害人身体重严重的颗粒物,已有数据表明,目前PM2.5占PM10的一半以上,而PM1占了PM2.5中颗粒物数量的绝大部分。PM2.5可以进入人的肺部,而PM1甚至可以进入人的血液。此外,更小的颗粒物,会更容易携带大气中致癌物质,进入人体内。如果不考虑气象条件影响,粒径为1微米的颗粒物的影响时间可长达1个多月,而粒径2.5微米的颗粒物约为1周,粒径10微米的颗粒物则约为几个小时到1天。&ldquo;粒径越小,重量越轻,越容易悬浮在空气中。

主要来说目前国内主要注重的还是PM2.5,以下分析PM2.5颗粒:

所有颗粒物可以分为一次气溶胶和二次气溶胶:

一次气溶胶简单理解就是自然形成的颗粒物

二次气溶胶简单理解就是人为原因产生的颗粒物

PM2.5颗粒中一次气溶胶主要成分是尘土、沙粒,而二次气溶胶主要成分为汽车尾气,工业排放,燃烧桔梗等等。

尘土沙粒主要粒径分布在1&mu;m以上,实验室中以1.25&mu;m的硬脂酸粒子作为标的物来标定,

而汽车尾气,工业排放,燃烧桔梗等等主要粒径分布在3um以下,其中汽车尾气、工业排放、室内抽烟、做饭产品的颗粒物大多数在0.3&mu;m以下(很多只有0.1&mu;m左右),这类物质就是造成洛杉矶烟雾的主要原因。

检测原理介绍:目前检测PM2.5的产品可以分为人工称重法,&beta;射线吸收法,震荡天平称重法,光散射原理法。下面简单整理了检测PM2.5的几个方法:

一、重量法 :我国目前对大气颗粒物的测定主要采用重量法。其原理是分别通过一定切割特征的采样器,以恒速抽取定量体积空气,使环境空气中的PM2.5和PM10被截留在已知质量的滤膜上,根据采样前后滤膜的质量差和采样体积,计算出PM2.5和PM10的浓度。

二、微量振荡天平法 :TEOM微量振荡天平法是在质量传感器内使用一个振荡空心锥形管,在其振荡端安装可更换的滤膜,振荡频率取决于锥形管特征和其质量。

三、Beta射线法/&beta;射线法 :Beta射线仪则是利用Beta射线衰减的原理,环境空气由采样泵吸入采样管,经过滤膜后排出,颗粒物沉淀在滤膜上,当&beta;射线通过沉积着颗粒物的滤膜时,Beta射线的能量衰减,通过对衰减量的测定便可计算出颗粒物的浓度。

四、激光散射原理 :激光散射法空气颗粒测量仪是通过粒子光信号的收集和电路反应,统计样本颗粒分布浓度后通过计算来反应宏观环境的空气中颗粒度的颗粒分布浓度。系统主要包括光粒子散射光信息采集,前置电路放大,后期采用单片微机来做统计分析。系统利用半导体激光作为光源,当粒子通过光敏感区的时候发生散射,利用散射光采集装置收集粒子散射光强,并通过处理电路进行波形调整,最后用单片机来处理采集到的数据。

我国的大多数环保基站采用的是震荡天平称重法,而国外比如美国主要采用的技术为&beta;射线法,这两种原理为专业机构主要检测方法。

目前市面上主要流通的检测仪大多数采用的都是激光散射原理测PM2.5/PM10。

针对市面上激光PM2.5检测仪各个国家、各个厂家在国内检测的PM2.5的&mu;g/m3数值各有不同,主要原因是大家的标准不统一,由于激光PM2.5传感器统计的是所测气溶胶当中颗粒物的数量,为了更好的迎合国家ug/m3的单位,需要进行单位换算,这就涉及到一次换算基数,大多数厂家以美国加州实验室标准为参照,采用1.25&mu;m的粒径作为设备的标的物,实验室制造1&mu;m左右的硬脂酸粒子。主要原因可能是加州靠近沙漠,他们研究的颗粒主要是沙粒居多,而沙粒中属于PM2.5的主要是1&mu;m粒径的粒子。

而日本、英国主要临海,产生PM2.5的原因主要是二次气溶胶,而二次气溶胶的主要成分时汽车尾气、工业污染、等等,他们实验室标定的粒子主要是用香烟产生,所用制造的硬脂酸粒子以0.1-0.3&mu;m的粒径居多。

我们国家北方(比如北京)PM2.5的主要成因有汽车尾气、工业污染、也有沙尘。这些颗粒的粒子半径不同,密度大小也不尽相同,各种颗粒所占比例也会随着季节的变化、地域的变化而变化。这些原因导致通过粒子个数等量换算出来的PM2.5数值也会不尽相同。

所以很多进口手持表都是显示颗粒数量,而用在我们国内会换算成&mu;m/m3,在国外,他们不会销售换算成&mu;m/m3的设备。根本上的原因是他们没有真正研究国内大气中颗粒物气溶胶。

这些手持表根据实验室气溶胶以不同粒径的颗粒作为标的物来标定设备,用在实际环境中表现出来的状况就是:

以沙粒的等物质作为主要检测成分,实验室只要1&mu;m左右的硬脂酸粒子,与国家环保局的数据对比偏大。

以汽车尾气,工业排污产生的盐化物作为主要成分,实验室制造0.1-0.3&mu;m的硬脂酸粒子,与国家环保局数据对比偏小。

我们综合这些情况,通过与各地环保局数据对比,分析不同地域的PM2.5颗粒物组成成分,得出一个较为平均贴近于官方公布的数据的一套实验室标定方法。但实际应用过程中也需要根据不同的地域做出调整。

备注 :本文摘自炜盛科技网站(www.win-sensor.cn),转载请注明。

相关问答

智能家居包括哪些东西? - 林知? 的回答 - 懂得

在说包含哪些东西之前,需要先了解清楚智能家居包含哪些系统。智能家居主要包含几大系统:智能照明,智能控制,智能安防,智能影音。如果想要使用真正的...

我考取了东北大学自动化专业,怎么样?

东北大学,是我国教育部直属的理工类研究型大学,国家985工程、211工程重点建设高校,作为东北大学规模最大的信息科学与工程学院创造了许多个国内第一:创办首批...

什么是智能共享按摩椅?

[回答]方麦科技累计开发物联网软硬件产品应用设计方案近百种。目前为客户提供理念超前物联系网技术应用:(包含:手机app、小程序、公众号、生活号H5开发、...

什么是智能共享充电柜?

[回答]方麦科技物联网大数据管理控制系统精典案例:智慧城市环卫管理系统、智慧校园管理系统、水电表集抄管理系统、智能设备远程追溯系统、智能设备大数据...

什么是共享充电线?

方麦科技,作为大型的电子设计解决方案提供商,总是不遗余力地为客户提供令同行难以望其项背的服务。我们立志做企业更可信赖的设计解决方案提供商,一...

什么是共享单车?

[回答]方麦科技,作为大型的电子设计解决方案提供商,总是不遗余力地为客户提供令同行难以望其项背的服务。我们立志做企业更可信赖的设计解决方案提供商,一...

智能共享共享碾米机哪家好?

[回答]方麦科技累计开发物联网软硬件产品应用设计方案近百种。目前为客户提供理念超前物联系网技术应用:(包含:手机app、小程序、公众号、生活号H5开发、...

什么是自助共享垃圾桶?

[回答]方麦科技共享经济精典案例:共享智能碾米机、共享玩具柜、共享筋膜qiang、公共救援平台系统、共享投蓝训练机、共享停车位、智能窗帘、共享烘干衣机...

童鞋 有谁知道在线等 湖南小型雨水收集系统pp模块批发价格...

[回答]很高兴为你服务,当仪表出现请检修悬挂系统时,悬挂系统控制将停用,新君越的悬挂系统由多个传感器,执行器和控制模块组成,造成仪表显示悬挂系统有问题...

什么是自助共享洗衣机?

为您解决电子设计所遇到的问题是方麦存...方麦科技共享经济精典案例:共享智能碾米机、共享玩具柜、共享筋膜qiang、公共救援平台系统、共享投蓝训...

猜你喜欢