alexjx / AqiMon

Air Quality Monitor based on Arduino UNO, DSM501a and DHT22
9 stars 3 forks source link

How to calculate AQI? #1

Open 379231868 opened 10 years ago

379231868 commented 10 years ago

Hello, I have a question . In your code (DSM501.cpp), there is a puzzle in this line " double P25Weight = getParticalWeight(0) - getParticalWeight(1); ".
As far as I know, the PM10 is bigger than the PM2.5 in our daily life, so the PM2.5 is bigger than PM1.0. But you get the PM1.0 from the fuction “getParticalWeight(0)”, and the PM2.5 from the fuction “getParticalWeight(1)”, the difference should be negative. In addition, how to calculate AQI just from the difference between the PM2.5 and PM1.0? Do you have any reference?

Looking forward to your reply. Thanks very much.

alexjx commented 10 years ago

Hi, Glad you are interested :) Sorry if this code confuse you. What getParticalWeight(0) really returned, is the weight of partial which size bigger than 1 micrometer. It's not PM10!

DSM501 measure two set of data, one is the particle, which diameter bigger than 1 micrometer and another is particle which diameter bigger than 2.5 micrometers. According to the definition of PM2.5, I need the particle size which NOT bigger than 2.5 micrometers.

379231868 commented 10 years ago

Thanks for your reply. According to your reply, the value of “getParticalWeight(0) - getParticalWeight(1)” is the particle which diameter bigger than 1.0 micrometers and smaller than 2.5 micrometer. Am I right? Besides, is there any reference about the method you convert the PM25Weight to Aqi

379231868 commented 10 years ago

cd5nmb oaxreqj9ltkgr53 Besides, Do you know why the PM1.0 particle diameter is much bigger than the PM2.5 particle diameter? Is my DSM501A broken?

alexjx commented 10 years ago

For AQI definition, I was using the US standard, there are different definitions exist. Here is a brief introduction in wikipedia http://en.wikipedia.org/wiki/Air_quality_index

I don't understand what you sais by "PM1.0 particle diameter is much bigger than the PM2.5 particle diameter"? Do you mean the results?

DM501A is used to measure the number of particles. Therefore it only works as a cheap AQI "indicator". Unfortunately, the result is not accurate at all. The weight is only an estimated value. :) And speaking from experience, DM501A is optical based, environmental light might have a impact on the result, try shielding the sensor with a case might improve the results.

379231868 commented 10 years ago

Thanks for your reply again. From the wikipedia hyperlink you give me, I can see that the US standard is similar to Chinese standard. And I lived in China, where the PM2.5 pollution is a little terrible. So I want to get the detail data of PM2.5 in my daily life because the data from the government may be less believable.

In the picture I have showed, you can see that the value of PM1.0 is 602.76 ug/m3 while the value of PM2.5 is only 3.38 ug/m3, which means that the particle which diameter bigger than 1.0 micrometers and smaller than 2.5 micrometer is about 602.76 - 3.38 = 599.38 ug/m3. And I think the result is a little unbelievable, so that I wonder whether there is something wrong with my DSM501. (Besides the value I get is just in my lab, where I think there is a relative good air condition.)

At last, I know that the DSM501 is not accurate, but I think it can give me a reasonable value at least, and until now I haven't got what I need. Maybe the environment light can do some damage to the last value, but I think it should be reasonable. (Besides I test the DSM501 in the afternoon when the light is not very strong.)