zhaopengxslc 发表于 2014-9-16 14:20:39

PPD42NS粉尘传感器的使用

unsigned long startime;
int sampling=1;
unsigned long duration;
unsigned long lowpulseoccupancy=0;
unsigned long samplelasttime_ms=30*1000;
int pin=8;
float ratio=0.0;
float concentration=0.0;
const float pm25coef=0.00207916725464941;
unsigned long pm25val;


void setup()
{
Serial.begin(9600);
pinMode(pin,INPUT);
startime=millis();
}

void loop()
{
if(1==sampling)
{
    duration=pulseIn(pin,LOW);
    lowpulseoccupancy=lowpulseoccupancy+duration;
    if(millis()-startime>samplelasttime_ms)
    {
      ratio=lowpulseoccupancy/(samplelasttime_ms*10.0);
      concentration=1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62;
      pm25val=pm25coef*concentration;
      
      Serial.print("ratio=");
      Serial.println(ratio);
      Serial.print("concentration=");
      Serial.println(concentration);
      Serial.print("PM2.5=");
      Serial.println(pm25val);
      
      startime=millis();
      lowpulseoccupancy=0;
    }
}
}

Super169 发表于 2014-9-16 18:03:20

請問你收到的數據變化大嗎?

我之前也買了一個, 測試時在同一地方, 同樣用了這裡的程式 ( http://www.howmuchsnow.com/arduino/airquality/grovedust/ ), 但沒有 PM2.5 的計數.
每次讀數之間就有很大的變化.concentration 由 0.62 到 420, 不知是否合理.

請問一個普通的乾淨環境下, 每個讀數大約會是多少, 一般正常的波動會有多大?

zβ襻ww 发表于 2014-9-16 20:51:09

Super169 发表于 2014-9-16 18:03 static/image/common/back.gif
請問你收到的數據變化大嗎?

我之前也買了一個, 測試時在同一地方, 同樣用了這裡的程式 ( http://www.h ...

您好 。我使用的是和你一样的设备 。 我想请问一下 您是怎么把读取到的数据转化为 PM2.5等 常见的指数的啊?中间的比例换算是什么?   concentration = 1.1*pow(ratio,3)-3.8*pow(ratio,2)+520*ratio+0.62; // using spec sheet curve 读取到的浓度concentration 是什么单位的啊?

Super169 发表于 2014-9-16 22:59:30

本帖最后由 Super169 于 2014-9-16 23:00 编辑

你好, 我用了你的程式, 在一密閉的書房中執行了一段時間, 收集到既數據如下:

ratio=1.94
concentration=1002.62
PM2.5=2
ratio=1.73
concentration=895.44
PM2.5=1
ratio=1.89
concentration=976.68
PM2.5=2
ratio=0.98
concentration=508.11
PM2.5=1
ratio=0.30
concentration=156.29
PM2.5=0
ratio=0.25
concentration=129.17
PM2.5=0
ratio=1.63
concentration=841.05
PM2.5=1
ratio=1.06
concentration=546.93
PM2.5=1
ratio=0.61
concentration=316.74
PM2.5=0
ratio=1.13
concentration=585.71
PM2.5=1
ratio=0.91
concentration=469.75
PM2.5=0
ratio=1.39
concentration=716.85
PM2.5=1
ratio=0.90
concentration=466.52
PM2.5=0
ratio=1.13
concentration=586.19
PM2.5=1
ratio=1.96
concentration=1011.88
PM2.5=2
ratio=1.27
concentration=657.59
PM2.5=1
ratio=0.41
concentration=210.80
PM2.5=0
ratio=1.06
concentration=549.56
PM2.5=1
ratio=2.25
concentration=1164.05
PM2.5=2
ratio=0.50
concentration=259.44
PM2.5=0
ratio=0.50
concentration=262.23
PM2.5=0
ratio=1.95
concentration=1008.26
PM2.5=2
ratio=1.85
concentration=956.68
PM2.5=1
ratio=1.74
concentration=901.00
PM2.5=1
ratio=1.75
concentration=904.05
PM2.5=1


concentration 的變化 接近 10 倍, 由 129.17 - 1164.05, 請問是否正常呢?

topdog 发表于 2014-9-16 23:13:59

我的传感器在路上。

Super169 发表于 2014-9-16 23:22:36

zβ襻ww 发表于 2014-9-16 20:51 static/image/common/back.gif
您好 。我使用的是和你一样的设备 。 我想请问一下 您是怎么把读取到的数据转化为 PM2.5等 常见的指数的啊 ...

我也不太肯定, 但從 http://www.howmuchsnow.com/arduino/airquality/grovedust/ 的給果看來, concentration 應該是指 Particles > 1 micron per 0.01 cubic feet (每 0.01 立方呎中 > 1 micron 的粒子數目).

zβ襻ww 发表于 2014-9-17 07:51:29

本帖最后由 zβ襻ww 于 2014-9-17 07:53 编辑

Super169 发表于 2014-9-16 23:22 static/image/common/back.gif
我也不太肯定, 但從 http://www.howmuchsnow.com/arduino/airquality/grovedust/ 的給果看來, concentrat ...

唔。就是和使用标准范围里面的 0~28000 一样的咯 。。pcs/liter   那您是怎么转化为PM2.5指数的呢?
能不能让我参考一下您转化的 公式?

Super169 发表于 2014-9-17 09:09:24

zβ襻ww 发表于 2014-9-17 07:51 static/image/common/back.gif
唔。就是和使用标准范围里面的 0~28000 一样的咯 。。pcs/liter   那您是怎么转化为PM2.5指数的呢?
...

按樓主的程式, 就是直接把 0.00207916725464941 * concentration.

PM2.5粉尘传感器 发表于 2014-9-18 17:37:58

PM2.5粉尘传感: 夏普、三瀛、GE、神荣VOC空气质量:QS-01、TGS2600、MS1100、MS1200英国达特甲醛传感器、红外二氧化碳传感器、空气质量模块 全新原装现货供应 有需要请联系 杨先生 13530889446 QQ: 530820608

Z-Maker 发表于 2016-3-21 11:19:25

楼主能附一个接线图吗,不太懂的,谢谢
页: [1]
查看完整版本: PPD42NS粉尘传感器的使用