【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。
【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)
实验四十二:DSM501A韩国进口PM2.5灰尘粉尘传感器模块
韩国三瀛(SYHITECH)原装进口,专利产品粉尘传感器DSM501可以感知烟草产生的烟气和花粉,房屋粉尘等,加热自动进气装置,可调电阻设置检测灰尘的大小。采用与粒子计算器相同原理为基础,检测出单位体积粒子的绝对个数。


板上主要是一颗KEC(韩国电子)产的KIA324F,类似于LM324的四路运算放大器芯片



关于PM2.5
也称为细颗粒物,又叫细粒、细颗粒。细颗粒物指环境空气中空气动力学当量直径小于等于 2.5 微米的颗粒物。它能较长时间悬浮于空气中,其在空气中含量浓度越高,就代表空气污染越严重。虽然PM2.5只是地球大气成分中含量很少的组分,但它对空气质量和能见度等有重要的影响。与较粗的大气颗粒物相比,PM2.5粒径小,面积大,活性强,易附带有毒、有害物质(例如,重金属、微生物等),且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量的影响更大。2013年2月,全国科学技术名词审定委员会将PM2.5的中文名称命名为细颗粒物。细颗粒物的化学成分主要包括有机碳(OC)、元素碳(EC)、硝酸盐、硫酸盐、铵盐、钠盐(Na⁺)等。

PM2.5的危害
PM2.5“超细灰尘”主要来自机动车尾气尘、燃油尘、硫酸盐、餐饮油烟尘、建筑水泥尘、煤烟尘和硝酸盐等,它是雾霾有害细颗粒的重要组成部分。PM2.5虽然不是有毒气体,但PM2.5因直径细小,携带大量的有毒、有害物质,进入人体会影响健康。PM直径越细小对人体危害越大,PM2.5能飘到较远的地方,因此影响范围较大。此外,PM2.5对人体健康的危害要更大,因为直径越小,进入呼吸道的部位越深。10μm直径的颗粒物通常沉积在上呼吸道,2μm以下的可深入到细支气管和肺泡。细颗粒物进入人体到肺泡后,直接影响肺的通气功能,使机体容易处在缺氧状态。而且这种细颗粒物一旦进入肺泡,吸附在肺泡上很难掉落,这种吸附是不可逆的。

目前测量PM2.5的传感器光学方法有红外和激光两种方法,而激光又分为浊度法和粒子计数(激光切割)法。
1. 红外法和浊度法:
红外由于光线强度不够,只能用浊度法测量。所谓浊度法,就是一边是发射光线,另一边接收,空气越浑浊光线损失掉的能量就越大,由此来判定目前的空气浊度。实际上这种方法是不能够准确测量PM2.5的,甚至光线的发射、接收部分一旦被静电吸附的粉尘覆盖,就会直接导致测量不精准。这种方法做出来的传感器只能定性测量(可以测出相对多少),不能定量测量(因为数值会飘)。更何况这种方法也区分不出颗粒物的粒径来,所以凡是用这种传感器的性能都不会好。目前这一类的传感器有夏普(一代二代都一样)、神荣的(小米二代净化器用的就是这款)、三赢等。
2.激光法和粒子计数法:
相关的论文很多,就是激光散射的方法,并不是直接测量浊度,这一类的传感器共同的特点就是离不开风扇(或者用泵吸),因为这种方法空气如果不流动是测量不到空气中的悬浮颗粒物的,而且通过数学模型可以大致推算出经过传感器气体的例子直接大小,空气流量等,经过复杂的数学算法,最终得到比较真实的PM2.5数值,这一类传感器是激光散射,对静电吸附的灰尘免疫,当然如果用灰尘吧传感器堵死了,自然也不可能测到。缺点是激光的寿命较短,如果连续运行的话基本上也就一年多的寿命而已,这还是厂家优化算法之后能够达到的寿命,但在绝大多数场合已经够用了,而且如果不连续运行,激光的寿命还能够更长。

测量模块主要特性
●5VDC供电
●外形尺寸:59*49*20
●产地:韩国SYHITECH
●体积小,重量轻,便于安装.
●5V的输入电路,便于信号处理.
●内藏气流发生器,可以自行吸引外部大气.
●保养简单,可以长期保持传感器的特性.
●光学原理,能够探测1微米以上的粉尘粒子
●探测粒子范围:最大到15000pcs/283ml(1um以上粒子)
●灰尘传感器DSM501可以感知烟草产生的烟气和花粉,房屋粉尘等
●两种输出模式,解决不同灵敏度使用要求,洁净环境Vout输出高电平信号(4V)





DSM501A典型应用: 小家电(控制板),空气净化器,空气清新机,暖通空调,新风系统,环境监控,换气扇等产品等

模块构成部分
1、发光二极管(LED)灯
2、探测器
3、信号放大器电路
4、输出驱动电路1
5、输出驱动电路2
6、暖气(加热空气回流)

模块端口
1# Control 1 控制脚---通过在此脚与GND之间加一个电阻可调整Vout 1的最小粒子检出水平,调整电阻值可调整Vout 1的灵敏度;
2# Vout 2 输出脚2---此脚位为普通输出脚位,灵敏度已预设定,最小粒子检出能力为1 μm;
3# VCC 电源 +5V;
4# Vout 1 输出脚 ---此脚位为可调输出脚位,灵敏度可通过控制脚来调整,默认为Vout 2的2.5倍即最小粒子检出能力为2.5μm;
5# GND 电源 接地。


实验接线
DSM501A Arduino
#3 vcc 5v
#4 vout1 pin8
#5 GND GND
实验仅以#4 Vout1 输出为例,输出的数值为PWM脉宽和30秒一周期检测到的粒子数量。

/*
【Arduino】168种传感器模块系列实验(42)
实验四十二:DSM501A韩国三瀛PM2.5灰尘粉尘传感器模块
*/
int pin = 8;
unsigned long duration;
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long lowpulseoccupancy = 0;
float ratio = 0;
float concentration = 0;
void setup() {
Serial.begin(9600);
pinMode(8,INPUT);
starttime = millis();
}
void loop() {
duration = pulseIn(pin, LOW);
lowpulseoccupancy = lowpulseoccupancy+duration;
if ((millis()-starttime) > sampletime_ms)
{
ratio = lowpulseoccupancy/(sampletime_ms*10.0);
concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
//Serial.print(lowpulseoccupancy);
// Serial.print(",");
Serial.print(ratio);
Serial.print(",");
Serial.println(concentration);
lowpulseoccupancy = 0;
starttime = millis();
}
}

实验说明
1、加热器:模块内置一个加热器,热引起上升气流使外部空气流进模块内部。上电后会预热60秒左右。
2、检测的粒子类型:此模块被设计成可以检测1μm 以上粒子,如香烟、房屋灰尘、霉菌、花粉、孢子等。
3、安装:
①必须垂直安装;DSM501A要垂直放置
②远离人工气流如风扇,如当用于空气清新机时,风扇的前方和后方都不能安装,可任选外壳一侧安装,但外壳上要保留通风口以保证外部气流可以流进来;
③注意安装时要避免粘性粒子如油类进入模块,当这种粒子粘在光学部件上将会产生故障。
④当模块受潮湿将会影响它的正常功能,因此应避免受潮。
4、透镜:透镜需要视环境状况隔一段时间进行清洁,约6 个月一次。清洁时用棉签一头醮清水轻擦,然后用另一头擦干。不可以用酒精等有机溶剂擦拭透镜。

DSM501A模块稳定后,使用电烙铁加热松香而产生的烟雾,进行细微粒检测

检测到烟雾后,串口数值有大幅度的变动,减少了(红点处)

据网上资料
说DSM501这个是测的PM2.5粉尘的个数,也叫尘埃粒子计数器 ,测出来的数据不是浓度值。如果要测浓度值的话,要买粉尘浓度检测仪。尘埃粒子计数器 测的单位是 个/升,粉尘浓度是 mg/立方米,完全不同的两个参数,且不可以转换。
下图为图形模块的编程



DSM501A对烟雾还是挺敏感的




空气质量较好情况下接收的实验数据

【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器的更多相关文章
- 「雕爷学编程」Arduino动手做(9)——火焰传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(10)——敲击传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(8)——湿度传感器模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 【雕爷学编程】Arduino动手做(6)---声音传感器模块
37款传感器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验 ...
- 【雕爷学编程】Arduino动手做(46)---电阻应变片传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 「雕爷学编程」Arduino动手做(32)——雨滴传感器模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- 【雕爷学编程】Arduino动手做(53)---土壤湿度传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 【雕爷学编程】Arduino动手做(16)---数字触摸传感器
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(14)——倾斜角度模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
随机推荐
- 4、flink自定义source、sink
一.Source 代码地址:https://gitee.com/nltxwz_xxd/abc_bigdata 1.1.flink内置数据源 1.基于文件 env.readTextFile(" ...
- gitlab环境部署
一:配置主机名 [root@localhost ~]# hostname gitlab[root@localhost ~]# bash 二:安装依赖包 [root@gitlab ~]# yum -y ...
- Web 之 Cookie
Cookie Cookie实际上是一小段的文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来.当浏 ...
- 最大比例 公约数复用 【蓝桥真题】 (c++)
最大比例 X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数.并且,相邻的两个级别间的比例是个固定值.也就是说:所有级别的奖金数构成了一个等比数列.比如:16,24,36,54其等比值为:3/ ...
- Mysql 字符串拆分 OR 一行转多行
Mysql 字符串拆分 OR 一行转多行 需要了解的的几个mysql 函数: A.substring_index():字符串截取 substring_index(str,delim,count) ...
- 【K8S】K8S部署Metrics-Server服务
写在前面 在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存.磁盘.CPU和网络的使用率等信息. 读者可参考< ...
- ACM一年记,总结报告(希望自己可以走得很远)
一. 知识点梳理 (一) 先从工具STL说起: 容器学习了:stack,queue,priority_queue,set/multiset,map/multimap,vector. 1.stack: ...
- 图论--树的直径--DFS+树形DP模板
#include <iostream> #include <cstring> using namespace std; //maxv:源点能到的最远点,maxdis:最远点对应 ...
- RabbitMQ的使用(一)- RabbitMQ服务安装
RabbitMQ的使用(一)- RabbitMQ服务安装 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/12769627.ht ...
- 面试之JS深拷贝的实现
在面试中你是否遇到过如下场景: Q:小朋友,你是否了解如何拷贝一个对象? R:此时,机智的你可能会想到 Object.assign({}, obj); Q:那如何深拷贝一个对象呢? R:机智的你 JS ...