原创 【雕爷学编程】Arduino动手做(42)---PM2.5粉尘传感器

2019-11-21 13:30 5214 21 2 分类: 智能硬件 文集: 雕爷学编程

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. 【Arduino】168种传感器模块系列实验(42)
  3. 实验四十二:DSM501A韩国三瀛PM2.5灰尘粉尘传感器模块
  4. */
  5. int pin = 8;
  6. unsigned long duration;
  7. unsigned long starttime;
  8. unsigned long sampletime_ms = 30000;
  9. unsigned long lowpulseoccupancy = 0;
  10. float ratio = 0;
  11. float concentration = 0;
  12. void setup() {
  13. Serial.begin(9600);
  14. pinMode(8,INPUT);
  15. starttime = millis();
  16. }
  17. void loop() {
  18. duration = pulseIn(pin, LOW);
  19. lowpulseoccupancy = lowpulseoccupancy+duration;
  20. if ((millis()-starttime) > sampletime_ms)
  21. {
  22. ratio = lowpulseoccupancy/(sampletime_ms*10.0);
  23. concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
  24. //Serial.print(lowpulseoccupancy);
  25. // Serial.print(",");
  26. Serial.print(ratio);
  27. Serial.print(",");
  28. Serial.println(concentration);
  29. lowpulseoccupancy = 0;
  30. starttime = millis();
  31. }
  32. }


实验说明

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

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

3、安装: 

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

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

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

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

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

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

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


据网上资料

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

下图为图形模块的编程

DSM501A对烟雾还是挺敏感的

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



作者: 雕爷学编程, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3894459.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论2条评论)

登录后参与讨论

雕爷学编程 2019-11-30 18:10

curton: 学习了
   感谢鼓励

curton 2019-11-29 21:27

学习了
相关推荐阅读
雕爷学编程 2023-06-20 08:52
【雕爷学编程】Arduino动手做(117)---P10V706LED屏模组
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 14:52
【雕爷学编程】Arduino动手做(116)---五向导航按键模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 13:23
【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-18 11:10
【雕爷学编程】Arduino动手做(114)---US-015高分辨超声波模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 09:10
【雕爷学编程】Arduino动手做(113)---5110液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
雕爷学编程 2023-06-17 06:36
【雕爷学编程】Arduino动手做(112)---2.4G24L01无线模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为...
我要评论
2
21
关闭 站长推荐上一条 /2 下一条