Dust Sensor (1.4)
-
Here comes the dust sensor from @epierre converted to 1.4 (new variable and device types added)
Latest code is included in the examples folder of the MySensors library:
https://github.com/mysensors/Arduino/tree/development/libraries/MySensors/examples/DustSensor
-
I'll update it latet as both connectors so called digital and analogic lust be wired.
-
Great! Would you consider providing updates on your sketches using github pull requests? Let me know if you need help getting started.
Also, were you able to compile a list over the new gas-variables we discussed?
-
hello,
I'm in Italy at the moment, I'll work on this by the end if the month since you're forcing me to upgrade to 1.4
-
@epierre said:
I'm in Italy at the moment, I'll work on this by the end if the month since you're forcing me to upgrade to 1.4
Hehe... yep. Take your time.
-
Hello,
Here is a first list from the most commons:
- Carbon Monoxide – CO
- Carbon Dioxide – CO2
- Oxygen – O2
- Methane – CH4
- Hydrogen – H2
- Ammonia – NH3
- Isobutane – C4H10
- Ethanol – CH3CH2OH (aka C2H5OH or C2H60)
- Toluene – C6H5CH3
- Hydrogen Sulfide – H2S
- Nitrogen Dioxide – NO2
- Ozone – O3
- Hydrocarbons – VOC
- Chlorine CL2
- Ammonium NH4
- Ethanol CO2H50H
- Methyl CH3
- Acetone CH3_2CO
- LPG (both C3H8 C4H10)
-
Great, what about adding them all as new sensor types here:
http://forum.mysensors.org/topic/304/unit-standardization-1-4Will this be enough for all of them?
V_LEVEL - xxx level in unit
V_LEVEL_MAX - Max xxx level
V_LEVEL_MIN - Min xxx level
V_LEVEL_AVERAGE - Average xxx level
V_LEVEL_RESET - Reset max/min valueNeed help with a suitable unit!
-
@hek MQ131 is in ppb, others in ppm.
Sorry I should have posted this in the gas sensor topic...
Ours posts did cross themselves, I've answered on the other post.
There is also a trick, the sensor value depends on humidity and temp, should we report it too ? would the node give the value or the sensor receive T+H from another node ?
-
@epierre
Humidity and Temp would have to be reported on some other child sensors from the node.
-
@hek From Davide Gironi exchanges, he warned me about the sharp sensor I'd prefer we make a moratory on using it for it seems that it is more expensive and less usefull that two other ones:
I've tested GP2Y1010AU0F (http://davidegironi.blogspot.it/2013/08/an-optical-dust-meter-that-uses.html) but about the GP2Y1010AU0F read some usefull information here: http://aqicn.org/experiments/haier-air-box/ and also start testing th DSM501 and PPD42NS, those two are really interesting. About the DSM501 Michael Taylor write an interesting paper: http://www.takingspace.org/wp-content/uploads/MAMHSolutionNarrative-HabitatMap+NYU+CMU.pdf And also release some interesting code about a moving avarage algorithm. He also has a DataRAM machine and he correlate the cheap DSM501 to the DataRAM. [...] Another interesting paper can be found here: http://aqicn.org/sensor/shinyei/ And the David Holstius paper and his blog too is really interesting (look at chapter 3): http://www.davidholstius.com/wp-content/uploads/2014/06/Holstius2014dissertation.pdf
-
Hello,
I juste received the Shinyei PPD42NS which is way cheaper than the sharp.
So far the Sharp never reported more than 1 ppm of dust... and, from above discussion, is not considered as a good one.
So I merged in two different sketches :
https://github.com/empierre/arduino/blob/master/DustSensor_Shinyei_PPD42NS.ino
https://github.com/empierre/arduino/blob/master/DustSensor_Sharp_GP2Y1010AU.ino
-
Hello,
So far no answer from the Shinyei PPD42NS, not even with a pencil...
I've contacted someone who has one working (Daivde Gironi again and here is his answer:
Check the ouput with a scope. It may be a broken sensor.
I've not currently any oscilloscope, whould this approch with a Uno be enough ?
-
@epierre said:
PPD42NS
I googled for it and it seems to be twice the cost of the Sharp on ebay?!
E.g.: $47 http://www.ebay.com/itm/NEW-For-New-original-Japan-honor-god-dust-PPD42NS-sensor-PPD42NS-/261205083569?pt=LH_DefaultDomain_0&hash=item3cd10945b1
vs the Sharp: $23 http://www.ebay.com/itm/171259125886Am I missing something?
-
@epierre said:
Check the ouput with a scope
Does he mean the analog or pulse output?
For the analog output a multimeter will suffice, and some multimeters can also measure frequency from a digital output...
Building a whole 'scope' just to test some analog/digital signals seems like overkill.
-
@Yveaux the PPD42NS is $18 on aliexpress S/H included...
yes this is about the digital output, to check the pulseIn for LOW time.
-
@Yveaux said:
Does he mean the analog or pulse output?
On the Sharp, this is the pulse for the concentration is based on the frequency of the signal.
For the analog output a multimeter will suffice, and some multimeters can also measure frequency from a digital output...
Building a whole 'scope' just to test some analog/digital signals seems like overkill.for my TAOS TSL201R, I've plugged my signal analyzer, they are all good (clock and SI). The output is the AnalogOut, how can a multimeter do that ? (I have a fluke 87 1st generation)
-
@epierre said:
The output is the AnalogOut, how can a multimeter do that ?
Just measure the output voltage. A multimeter will follow as long as the output only slowly changes.
-
I would like to notice that this setup of sharp dust sensor outputs highly unreliable measurements.
Sensor should be connected as recommended in application note.
If that is so then:-
turn on IR LED (logical 0 on sharp pin 3, and optionally pause for 0.28ms),
-
then analog read,
-
turn off IR LED ( (logical 1).
Application note recommends taking reads 0.28ms after turning IR LED on.
Is there a reason why you skipped RC components and do not delay in microseconds?
-
-
@moo said:
I would like to notice that this setup of sharp dust sensor outputs highly unreliable measurements.
Yes, this is hy I asked for a moratory on the shop and went out to try other versions which are cheaper (the DSM501 and the Shinyei PPD42NS) .
I received a dead Shinyei PPD42NS, and am still in escalation on aliexpress on that.
Is there a reason why you skipped RC components and do not delay in microseconds?
You are open to try to improve the above sketch, there is no reason, this is just the implementation I found and tried out, I guess it can still be improved as your remark.
-
The SamYoung DSM501 has now its sketch :
https://github.com/empierre/arduino/blob/master/DustSensor_SamYoung_DSM501.ino
@hek this one is very cheap but much better than the SHARP GP2Y1010AU0F which reports nearly nothing... I recomment to remove it. You can use this sketch as is to replace it in the library examples, I will work further on it to provide PM1 and PM2.5 values (either or both), it looks fairly simple with a resistor and a formula, yet to be tested.
When I'll receive the Shinyei I'll do the same, given the SamYoung is its cheaper clone.
-
The Shinyei PPD42 has now its sketch :
https://github.com/empierre/arduino/blob/master/DustSensor_Shinyei_PPD42NS.ino
@hek either the SamYoung or Shinyei can be proposed, the sharp is definetly out of the race ...Both those sensors give similar values whih is a very good point.
-
The Shinyei PPD42 has now its sketch :
https://github.com/empierre/arduino/blob/master/DustSensor_Shinyei_PPD42NS.ino
@hek either the SamYoung or Shinyei can be proposed, the sharp is definetly out of the race ...Both those sensors give similar values whih is a very good point.
-
A good question I had from Rob:
What is the Unit of the Dust sensors ? I quess it is not in ppm ?
This is in particules per cubic inch (in imperial units) or particules per 283 ml.
I can't find a ppm conversion, at best I could do a particules per litres by multiplicating per 3.53. what do you think ?
-
ok so taking some assumptions for the PPD42NS with datasheet in particle per cubic feet:
http://billpentz.com/woodworking/cyclone/dylos.cfm
To estimate the mass of particles in this range we simply divided by 100 to obtain micrograms per cubic meters (μg/m3) of PM2.5 respirable. The resultant value can be converted to mg/m3 if desired by dividing again by 1000. PM2.5 = (753*3.53) / 100 = 25.2395 μg/m3 = 0.0252395 mg/m3
Now for the DSM501 and PPD42NS corrected, the formula to PPM:
https://en.wikipedia.org/wiki/Air_pollutant_concentrations
ppmv=mg/m3 * (0.08205*Tmp)/Molecular_mass ppmv=0.0252395 * (0.08205*19)/0,01 = 0,207
-
Warning on Shinyei:
The only calibration data provided by the manufacturer's datasheet is for cigarette smoke particle count concentration. Based on these data, there is an approximate error of 25% in particle measurement across most of the sensor's range. At very low concentrations, the error becomes substantial (e.g., over 50% error below 100,000 particles per cubic feet)
-
Does anyone have info on how to wire the GP2Y1010AU0F?
My cable is almost the same as on the picture https://www.mysensors.org/build/dust
The red, black and yellow is in the same place, but from there it goes white, green, blue.
EDIT: Found that Red is vcc, black is signal and yellow is ground.
Do this sensor need calibration?
And what is considered a high value for dust?And is it only those three wires that needs to be connected to the arduino? Not the led?