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秒一周期检测到的粒子数量。

  1. /*
  2.  
  3. 【Arduino】168种传感器模块系列实验(42)
  4.  
  5. 实验四十二:DSM501A韩国三瀛PM2.5灰尘粉尘传感器模块
  6.  
  7. */
  8.  
  9. int pin = 8;
  10.  
  11. unsigned long duration;
  12.  
  13. unsigned long starttime;
  14.  
  15. unsigned long sampletime_ms = 30000;
  16.  
  17. unsigned long lowpulseoccupancy = 0;
  18.  
  19. float ratio = 0;
  20.  
  21. float concentration = 0;
  22.  
  23. void setup() {
  24.  
  25. Serial.begin(9600);
  26.  
  27. pinMode(8,INPUT);
  28.  
  29. starttime = millis();
  30.  
  31. }
  32.  
  33. void loop() {
  34.  
  35. duration = pulseIn(pin, LOW);
  36.  
  37. lowpulseoccupancy = lowpulseoccupancy+duration;
  38.  
  39. if ((millis()-starttime) > sampletime_ms)
  40.  
  41. {
  42.  
  43. ratio = lowpulseoccupancy/(sampletime_ms*10.0);
  44.  
  45. concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
  46.  
  47. //Serial.print(lowpulseoccupancy);
  48.  
  49. // Serial.print(",");
  50.  
  51. Serial.print(ratio);
  52.  
  53. Serial.print(",");
  54.  
  55. Serial.println(concentration);
  56.  
  57. lowpulseoccupancy = 0;
  58.  
  59. starttime = millis();
  60.  
  61. }
  62.  
  63. }

  

实验说明

1、加热器:模块内置一个加热器,热引起上升气流使外部空气流进模块内部。上电后会预热60秒左右。

2、检测的粒子类型:此模块被设计成可以检测1μm 以上粒子,如香烟、房屋灰尘、霉菌、花粉、孢子等。

3、安装:

①必须垂直安装;DSM501A要垂直放置

②远离人工气流如风扇,如当用于空气清新机时,风扇的前方和后方都不能安装,可任选外壳一侧安装,但外壳上要保留通风口以保证外部气流可以流进来;

③注意安装时要避免粘性粒子如油类进入模块,当这种粒子粘在光学部件上将会产生故障。

④当模块受潮湿将会影响它的正常功能,因此应避免受潮。

4、透镜:透镜需要视环境状况隔一段时间进行清洁,约6 个月一次。清洁时用棉签一头醮清水轻擦,然后用另一头擦干。不可以用酒精等有机溶剂擦拭透镜。

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

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

据网上资料

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

下图为图形模块的编程

DSM501A对烟雾还是挺敏感的

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

【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器的更多相关文章

  1. 「雕爷学编程」Arduino动手做(9)——火焰传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  2. 「雕爷学编程」Arduino动手做(10)——敲击传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  3. 「雕爷学编程」Arduino动手做(8)——湿度传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  4. 【雕爷学编程】Arduino动手做(6)---声音传感器模块

    37款传感器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验 ...

  5. 【雕爷学编程】Arduino动手做(46)---电阻应变片传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  6. 「雕爷学编程」Arduino动手做(32)——雨滴传感器模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  7. 【雕爷学编程】Arduino动手做(53)---土壤湿度传感器

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  8. 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  9. 【雕爷学编程】Arduino动手做(16)---数字触摸传感器

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  10. 「雕爷学编程」Arduino动手做(14)——倾斜角度模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

随机推荐

  1. Python - 生成随机验证码的3种实现方式

    生成6位随机验证码的3种实现方式如下: 1. 简单粗暴型:所有数字和字母都放入字符串: 2. 利用ascii编码的规律,遍历获取字符串和数字的字符串格式: 3. 引用string库. 方法1代码: i ...

  2. 【mybatis annotation】数据层框架应用--Mybatis(二) 基于注解实现数据的CRUD

    使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBa ...

  3. linux下批量删除文件

    1. 在linux批量删除多级目录下同一格式的文件,可采用find + exec命令组合: 如在删除old目录下的,所有子目录中,后缀为.l的文件方法为: find old -type f -name ...

  4. PHP open_basedir配置未包含upload_tmp_dir 导致服务器不能上传文件

    在做一个上传图片的功能时候发现后台接收到的$_FILES['file']['error'] = 6,这个错误意思是找不到临时文件,或者是临时文件夹无权限,需要更改php.ini文件的 upload_t ...

  5. Nmap详细用法

    探测主机存活 (1)-sP :进行ping扫描 (2) -sn: ping探测扫描主机, 不进行端口扫描 (3)-sA     发送ACK探测存活 端口扫描 (1) -sS :半开放扫描 (2) sT ...

  6. Vue集成tinymce富文本编辑器并实现本地化指南(2019.11.21最新)

     tinymce是一款综合口碑特别好.功能异常强大的富文本编辑器,在某些网站,甚至享有"宇宙最强富文本编辑器"的称号.那么,在Vue项目中如何集成呢?这并不困难,只需要参照官方教程 ...

  7. Codeforces Round #460 (Div. 2)-A Supermaket(贪心)

    A. Supermarket time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  8. unittest(discover 批量执行用例)

    import unittest dir = "D:\\work_doc\\pycharm2\\python_Basics" #自动化用例所存放的路径 suit = unittest ...

  9. tomcat8调优

    a. tomcat的运行原理: 1. Tomcat是运行在JVM中的一个进程.它定义为[中间件],顾名思义,是一个在Java项目与JVM之间的中间容器. 2. Web项目的本质,是一大堆的资源文件和方 ...

  10. libevent(一)定时器Demo

    开始研究libevent,使用的版本是2.0.22. 实现一个定时器:每2秒执行一次printf. #include <stdio.h> #include <stdlib.h> ...