Dust Sensor (1.4)


  • Admin

    Here comes the dust sensor from @epierre converted to 1.4 (new variable and device types added)

    The Dust Sensor used
    .

    Latest code is included in the examples folder of the MySensors library:
    https://github.com/mysensors/Arduino/tree/development/libraries/MySensors/examples/DustSensor


  • Hero Member

    I'll update it latet as both connectors so called digital and analogic lust be wired.


  • Admin

    @epierre

    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?


  • Hero Member

    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 😀


  • Admin

    @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.


  • Hero Member

    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)

  • Admin

    Great, what about adding them all as new sensor types here:
    http://forum.mysensors.org/topic/304/unit-standardization-1-4

    Will 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 value

    Need help with a suitable unit!


  • Hero Member

    @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 ?


  • Admin

    @epierre
    Humidity and Temp would have to be reported on some other child sensors from the node.


  • Hero Member

    @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

  • Hero Member

    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


  • Hero Member

    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 ?


  • Mod


  • Mod

    @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.


  • Hero Member

    @Yveaux the PPD42NS is $18 on aliexpress S/H included...

    yes this is about the digital output, to check the pulseIn for LOW time.


  • Hero Member

    @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)


  • Mod

    @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?


  • Hero Member

    @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.


  • Hero Member

    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.


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.