I was wondering if anyone else out there, who has played around with the
MQ-6 gas sensor (data sheet:
http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has found
about the same thing with calibration, or if not then could let me know
what they did for relaying analog output to ppm levels.
Thanks!
Given the temperature and humidity calibration data off of the spec sheet
we have a weighting factor, which we can call 'w', which goes as:
w = -0.0120*(T-20) * -0.0076*(H-65) + 1
From the concentration to resistance ratio graph we now know that their
calibration curve was done under the standard 20 Celsius and 65% humidity
testing conditions. This means that we can assume that R_s = R_0 for that
curve.
The experimentally fitted curve between concentration and R_s is:
C = 1036.5*R^-2.392
Where C is the concentration of LPG in ppm.
Where R is the ratio of R_s, the sensor resistance, and R_0, the resistance
at 1000ppm, 20 Celsius, and 65% humidity.
R_s is given by:
R_s = (1024/s - 1)*R_L
s is the signal value from 0 to 1023.
R_L is the load resistance at 10,000 ohms
This ultimately means that, with temperature and humidity weighting added
in, C is:
C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
I'm very interested in this topic as well. The hydrogen sulfide sensor
which we are using is also sensitive to temperature and humidity and will
have to be calibrated. I imagine the process will be very similar although
I admit I can't quite follow what you've laid out here.
I'm going to read the datasheet to see if I can catch up but in the
meantime are you writing any arduino code for this? This week at Parts and
Crafts in somerville we are building an arduino-based hydrogen sulfide
sensor. We have a temperature and humidity sensor as well and will soon be
attempting to calibrate so we're eager to follow what you do.
Jeff
On Jul 21, 2012 3:10 PM, "Ariel Levi Simons" <levisim...@gmail.com> wrote:
> I was wondering if anyone else out there, who has played around with the
> MQ-6 gas sensor (data sheet:
> http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has found
> about the same thing with calibration, or if not then could let me know
> what they did for relaying analog output to ppm levels.
> Thanks!
> Given the temperature and humidity calibration data off of the spec sheet
> we have a weighting factor, which we can call 'w', which goes as:
> w = -0.0120*(T-20) * -0.0076*(H-65) + 1
> From the concentration to resistance ratio graph we now know that their
> calibration curve was done under the standard 20 Celsius and 65% humidity
> testing conditions. This means that we can assume that R_s = R_0 for that
> curve.
> The experimentally fitted curve between concentration and R_s is:
> C = 1036.5*R^-2.392
> Where C is the concentration of LPG in ppm.
> Where R is the ratio of R_s, the sensor resistance, and R_0, the
> resistance at 1000ppm, 20 Celsius, and 65% humidity.
> R_s is given by:
> R_s = (1024/s - 1)*R_L
> s is the signal value from 0 to 1023.
> R_L is the load resistance at 10,000 ohms
> This ultimately means that, with temperature and humidity weighting added
> in, C is:
> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
I've been working with a number of people setting up a network of multi-gas
sensors which would continuously upload data every minute to the web to an
open database for later visualization and analysis. We currently have
working modules for GPS, temperature/humidity, and particulate matter
concentration for particles greater than 1 micron in diameter. Our first
gas sensor, the LPG sensor MQ-6, appears to be calibrated for our project
using temperature and humidity data via the following process:
The function I laid out
C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
describes the concentration C, in ppm, for natural gas. The variable, s,
is the digital output of the the microcontroller connected to the gas
sensor. The value of 's' will vary from 0 to 1023, and is run into the
digital input of an Arduino board. The power law portion of this function
was fitted from manufacturing specifications, with a resistance ratio of 1
corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
The variable T is the temperature in Celsius, and H is the humidity in
percentage units. These two inputs, temperature and humidity, are also
read into an Arduino. The linear portion of the function was also fitted
to a curve supplied by the manufacturer.
We are working out a standard procedure to associate a calibration function
for each type of gas sensor so that temperature and humidity can be
factored in to any output. When we get to H2S we can let you know what
we'll get to, or we can give it a shot now with a particular sensor you're
using. If you send us the spec sheet we can give you our best shot at a
calibration function.
Thanks!
On Sat, Jul 21, 2012 at 4:17 PM, Jeffrey Warren
<j...@publiclaboratory.org>wrote:
> that's great to hear, Ariel - would you mind fwding to the
> publiclaboratory list? Lots of other PLOTS folks are interested too.
> On Sat, Jul 21, 2012 at 6:38 PM, Ariel Levi Simons <levisim...@gmail.com>wrote:
>> Jeffrey,
>> The function I laid out
>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>> describes the concentration C, in ppm, for natural gas. The variable, s,
>> is the digital output of the the microcontroller connected to the gas
>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>> digital input of an Arduino board. The power law portion of this function
>> was fitted from manufacturing specifications, with a resistance ratio of 1
>> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
>> The variable T is the temperature in Celsius, and H is the humidity in
>> percentage units. These two inputs, temperature and humidity, are also
>> read into an Arduino. The linear portion of the function was also fitted
>> to a curve supplied by the manufacturer.
>> We are working out a standard procedure to associate a calibration
>> function for each type of gas sensor so that temperature and humidity can
>> be factored in to any output. When we get to H2S we can let you know what
>> we'll get to, or we can give it a shot now with a particular sensor you're
>> using. If you send us the spec sheet we can give you our best shot at a
>> calibration function.
>> Thanks!
>> On Sat, Jul 21, 2012 at 2:59 PM, Jeffrey Warren <
>> j...@publiclaboratory.org> wrote:
>>> I'm very interested in this topic as well. The hydrogen sulfide sensor
>>> which we are using is also sensitive to temperature and humidity and will
>>> have to be calibrated. I imagine the process will be very similar although
>>> I admit I can't quite follow what you've laid out here.
>>> I'm going to read the datasheet to see if I can catch up but in the
>>> meantime are you writing any arduino code for this? This week at Parts and
>>> Crafts in somerville we are building an arduino-based hydrogen sulfide
>>> sensor. We have a temperature and humidity sensor as well and will soon be
>>> attempting to calibrate so we're eager to follow what you do.
>>> Jeff
>>> On Jul 21, 2012 3:10 PM, "Ariel Levi Simons" <levisim...@gmail.com>
>>> wrote:
>>>> I was wondering if anyone else out there, who has played around with
>>>> the MQ-6 gas sensor (data sheet:
>>>> http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has
>>>> found about the same thing with calibration, or if not then could let me
>>>> know what they did for relaying analog output to ppm levels.
>>>> Thanks!
>>>> Given the temperature and humidity calibration data off of the spec
>>>> sheet we have a weighting factor, which we can call 'w', which goes as:
>>>> w = -0.0120*(T-20) * -0.0076*(H-65) + 1
>>>> From the concentration to resistance ratio graph we now know that their
>>>> calibration curve was done under the standard 20 Celsius and 65% humidity
>>>> testing conditions. This means that we can assume that R_s = R_0 for that
>>>> curve.
>>>> The experimentally fitted curve between concentration and R_s is:
>>>> C = 1036.5*R^-2.392
>>>> Where C is the concentration of LPG in ppm.
>>>> Where R is the ratio of R_s, the sensor resistance, and R_0, the
>>>> resistance at 1000ppm, 20 Celsius, and 65% humidity.
>>>> R_s is given by:
>>>> R_s = (1024/s - 1)*R_L
>>>> s is the signal value from 0 to 1023.
>>>> R_L is the load resistance at 10,000 ohms
>>>> This ultimately means that, with temperature and humidity weighting
>>>> added in, C is:
>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
Exciting! A comprehensive listing of calibration code for most major air
sensors (maybe with example code and circuit diagrams/documentation for
Arduinos) would be fantastic. Lots of folks hook these up poorly or don't
adjust for temp/humidity because the datasheets are arcane and illegible.
I'm sure the Air Quality Egg folks will be interested as well if you
haven't talked with them already.
I was also thinking that as large global databases of these readings
develop, it'll be interesting to look for correlations with non-specific
sensor readings such as those from atmospheric visible-near-IR
spectrometers. Some folks have been wanting to run their PLOTS
spectrometers pointed at the sky on a 5-min sampling cycle, but without
something to compare to it's hard to even look for useful data.
Jeff
On Sat, Jul 21, 2012 at 7:43 PM, Ariel Levi Simons <levisim...@gmail.com>wrote:
> I've been working with a number of people setting up a network of
> multi-gas sensors which would continuously upload data every minute to the
> web to an open database for later visualization and analysis. We currently
> have working modules for GPS, temperature/humidity, and particulate matter
> concentration for particles greater than 1 micron in diameter. Our first
> gas sensor, the LPG sensor MQ-6, appears to be calibrated for our project
> using temperature and humidity data via the following process:
> The function I laid out
> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
> describes the concentration C, in ppm, for natural gas. The variable, s,
> is the digital output of the the microcontroller connected to the gas
> sensor. The value of 's' will vary from 0 to 1023, and is run into the
> digital input of an Arduino board. The power law portion of this function
> was fitted from manufacturing specifications, with a resistance ratio of 1
> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
> The variable T is the temperature in Celsius, and H is the humidity in
> percentage units. These two inputs, temperature and humidity, are also
> read into an Arduino. The linear portion of the function was also fitted
> to a curve supplied by the manufacturer.
> We are working out a standard procedure to associate a calibration
> function for each type of gas sensor so that temperature and humidity can
> be factored in to any output. When we get to H2S we can let you know what
> we'll get to, or we can give it a shot now with a particular sensor you're
> using. If you send us the spec sheet we can give you our best shot at a
> calibration function.
> Thanks!
> On Sat, Jul 21, 2012 at 4:17 PM, Jeffrey Warren <j...@publiclaboratory.org
> > wrote:
>> that's great to hear, Ariel - would you mind fwding to the
>> publiclaboratory list? Lots of other PLOTS folks are interested too.
>> On Sat, Jul 21, 2012 at 6:38 PM, Ariel Levi Simons <levisim...@gmail.com>wrote:
>>> Jeffrey,
>>> The function I laid out
>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>>> describes the concentration C, in ppm, for natural gas. The variable,
>>> s, is the digital output of the the microcontroller connected to the gas
>>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>>> digital input of an Arduino board. The power law portion of this function
>>> was fitted from manufacturing specifications, with a resistance ratio of 1
>>> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
>>> The variable T is the temperature in Celsius, and H is the humidity in
>>> percentage units. These two inputs, temperature and humidity, are also
>>> read into an Arduino. The linear portion of the function was also fitted
>>> to a curve supplied by the manufacturer.
>>> We are working out a standard procedure to associate a calibration
>>> function for each type of gas sensor so that temperature and humidity can
>>> be factored in to any output. When we get to H2S we can let you know what
>>> we'll get to, or we can give it a shot now with a particular sensor you're
>>> using. If you send us the spec sheet we can give you our best shot at a
>>> calibration function.
>>> Thanks!
>>> On Sat, Jul 21, 2012 at 2:59 PM, Jeffrey Warren <
>>> j...@publiclaboratory.org> wrote:
>>>> I'm very interested in this topic as well. The hydrogen sulfide sensor
>>>> which we are using is also sensitive to temperature and humidity and will
>>>> have to be calibrated. I imagine the process will be very similar although
>>>> I admit I can't quite follow what you've laid out here.
>>>> I'm going to read the datasheet to see if I can catch up but in the
>>>> meantime are you writing any arduino code for this? This week at Parts and
>>>> Crafts in somerville we are building an arduino-based hydrogen sulfide
>>>> sensor. We have a temperature and humidity sensor as well and will soon be
>>>> attempting to calibrate so we're eager to follow what you do.
>>>> Jeff
>>>> On Jul 21, 2012 3:10 PM, "Ariel Levi Simons" <levisim...@gmail.com>
>>>> wrote:
>>>>> I was wondering if anyone else out there, who has played around with
>>>>> the MQ-6 gas sensor (data sheet:
>>>>> http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has
>>>>> found about the same thing with calibration, or if not then could let me
>>>>> know what they did for relaying analog output to ppm levels.
>>>>> Thanks!
>>>>> Given the temperature and humidity calibration data off of the spec
>>>>> sheet we have a weighting factor, which we can call 'w', which goes as:
>>>>> w = -0.0120*(T-20) * -0.0076*(H-65) + 1
>>>>> From the concentration to resistance ratio graph we now know that
>>>>> their calibration curve was done under the standard 20 Celsius and 65%
>>>>> humidity testing conditions. This means that we can assume that R_s = R_0
>>>>> for that curve.
>>>>> The experimentally fitted curve between concentration and R_s is:
>>>>> C = 1036.5*R^-2.392
>>>>> Where C is the concentration of LPG in ppm.
>>>>> Where R is the ratio of R_s, the sensor resistance, and R_0, the
>>>>> resistance at 1000ppm, 20 Celsius, and 65% humidity.
>>>>> R_s is given by:
>>>>> R_s = (1024/s - 1)*R_L
>>>>> s is the signal value from 0 to 1023.
>>>>> R_L is the load resistance at 10,000 ohms
>>>>> This ultimately means that, with temperature and humidity weighting
>>>>> added in, C is:
>>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
I can ask the community organizer in New Mexico where he is renting from. I
think it's a local solution however, because they have lots of gas field workers
in the area, so I'm not sure everywhere will have personal alert units like this
for rent.
It would also be interesting to have some kind of continuous digital monitor in
place, as well, but its not totally necessary to calibrate the test strips.
> Exciting! A comprehensive listing of calibration code for most major air
> sensors (maybe with example code and circuit diagrams/documentation for
> Arduinos) would be fantastic. Lots of folks hook these up poorly or don't
> adjust for temp/humidity because the datasheets are arcane and illegible.
> I'm sure the Air Quality Egg folks will be interested as well if you
> haven't talked with them already.
> I was also thinking that as large global databases of these readings
> develop, it'll be interesting to look for correlations with non-specific
> sensor readings such as those from atmospheric visible-near-IR
> spectrometers. Some folks have been wanting to run their PLOTS
> spectrometers pointed at the sky on a 5-min sampling cycle, but without
> something to compare to it's hard to even look for useful data.
> Jeff
> On Sat, Jul 21, 2012 at 7:43 PM, Ariel Levi Simons > <levisim...@gmail.com>wrote:
>> Hey all via Public Laboratory,
>> I've been working with a number of people setting up a network of
>> multi-gas sensors which would continuously upload data every minute to the
>> web to an open database for later visualization and analysis. We currently
>> have working modules for GPS, temperature/humidity, and particulate matter
>> concentration for particles greater than 1 micron in diameter. Our first
>> gas sensor, the LPG sensor MQ-6, appears to be calibrated for our project
>> using temperature and humidity data via the following process:
>> The function I laid out
>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>> describes the concentration C, in ppm, for natural gas. The variable, s,
>> is the digital output of the the microcontroller connected to the gas
>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>> digital input of an Arduino board. The power law portion of this function
>> was fitted from manufacturing specifications, with a resistance ratio of 1
>> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
>> The variable T is the temperature in Celsius, and H is the humidity in
>> percentage units. These two inputs, temperature and humidity, are also
>> read into an Arduino. The linear portion of the function was also fitted
>> to a curve supplied by the manufacturer.
>> We are working out a standard procedure to associate a calibration
>> function for each type of gas sensor so that temperature and humidity can
>> be factored in to any output. When we get to H2S we can let you know what
>> we'll get to, or we can give it a shot now with a particular sensor you're
>> using. If you send us the spec sheet we can give you our best shot at a
>> calibration function.
>> Thanks!
>> On Sat, Jul 21, 2012 at 4:17 PM, Jeffrey Warren <j...@publiclaboratory.org
>> > wrote:
>>> that's great to hear, Ariel - would you mind fwding to the
>>> publiclaboratory list? Lots of other PLOTS folks are interested too.
>>> On Sat, Jul 21, 2012 at 6:38 PM, Ariel Levi Simons >>> <levisim...@gmail.com>wrote:
>>>> Jeffrey,
>>>> The function I laid out
>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>>>> describes the concentration C, in ppm, for natural gas. The variable,
>>>> s, is the digital output of the the microcontroller connected to the gas
>>>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>>>> digital input of an Arduino board. The power law portion of this function
>>>> was fitted from manufacturing specifications, with a resistance ratio of 1
>>>> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
>>>> The variable T is the temperature in Celsius, and H is the humidity in
>>>> percentage units. These two inputs, temperature and humidity, are also
>>>> read into an Arduino. The linear portion of the function was also fitted
>>>> to a curve supplied by the manufacturer.
>>>> We are working out a standard procedure to associate a calibration
>>>> function for each type of gas sensor so that temperature and humidity can
>>>> be factored in to any output. When we get to H2S we can let you know what
>>>> we'll get to, or we can give it a shot now with a particular sensor you're
>>>> using. If you send us the spec sheet we can give you our best shot at a
>>>> calibration function.
>>>> Thanks!
>>>> On Sat, Jul 21, 2012 at 2:59 PM, Jeffrey Warren <
>>>> j...@publiclaboratory.org> wrote:
>>>>> I'm very interested in this topic as well. The hydrogen sulfide sensor
>>>>> which we are using is also sensitive to temperature and humidity and will
>>>>> have to be calibrated. I imagine the process will be very similar >>>>> although
>>>>> I admit I can't quite follow what you've laid out here.
>>>>> I'm going to read the datasheet to see if I can catch up but in the
>>>>> meantime are you writing any arduino code for this? This week at >>>>> Parts and
>>>>> Crafts in somerville we are building an arduino-based hydrogen sulfide
>>>>> sensor. We have a temperature and humidity sensor as well and >>>>> will soon be
>>>>> attempting to calibrate so we're eager to follow what you do.
>>>>> Jeff
>>>>> On Jul 21, 2012 3:10 PM, "Ariel Levi Simons" <levisim...@gmail.com>
>>>>> wrote:
>>>>>> I was wondering if anyone else out there, who has played around with
>>>>>> the MQ-6 gas sensor (data sheet:
>>>>>> http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has
>>>>>> found about the same thing with calibration, or if not then could let me
>>>>>> know what they did for relaying analog output to ppm levels.
>>>>>> Thanks!
>>>>>> Given the temperature and humidity calibration data off of the spec
>>>>>> sheet we have a weighting factor, which we can call 'w', which goes as:
>>>>>> w = -0.0120*(T-20) * -0.0076*(H-65) + 1
>>>>>> From the concentration to resistance ratio graph we now know that
>>>>>> their calibration curve was done under the standard 20 Celsius and 65%
>>>>>> humidity testing conditions. This means that we can assume that >>>>>> R_s = R_0
>>>>>> for that curve.
>>>>>> The experimentally fitted curve between concentration and R_s is:
>>>>>> C = 1036.5*R^-2.392
>>>>>> Where C is the concentration of LPG in ppm.
>>>>>> Where R is the ratio of R_s, the sensor resistance, and R_0, the
>>>>>> resistance at 1000ppm, 20 Celsius, and 65% humidity.
>>>>>> R_s is given by:
>>>>>> R_s = (1024/s - 1)*R_L
>>>>>> s is the signal value from 0 to 1023.
>>>>>> R_L is the load resistance at 10,000 ohms
>>>>>> This ultimately means that, with temperature and humidity weighting
>>>>>> added in, C is:
>>>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
> I can ask the community organizer in New Mexico where he is renting from. I
> think it's a local solution however, because they have lots of gas > field workers
> in the area, so I'm not sure everywhere will have personal alert > units like this
> for rent.
> It would also be interesting to have some kind of continuous digital > monitor in
> place, as well, but its not totally necessary to calibrate the test strips.
>> Exciting! A comprehensive listing of calibration code for most major air
>> sensors (maybe with example code and circuit diagrams/documentation for
>> Arduinos) would be fantastic. Lots of folks hook these up poorly or don't
>> adjust for temp/humidity because the datasheets are arcane and illegible.
>> I'm sure the Air Quality Egg folks will be interested as well if you
>> haven't talked with them already.
>> I was also thinking that as large global databases of these readings
>> develop, it'll be interesting to look for correlations with non-specific
>> sensor readings such as those from atmospheric visible-near-IR
>> spectrometers. Some folks have been wanting to run their PLOTS
>> spectrometers pointed at the sky on a 5-min sampling cycle, but without
>> something to compare to it's hard to even look for useful data.
>> Jeff
>> On Sat, Jul 21, 2012 at 7:43 PM, Ariel Levi Simons >> <levisim...@gmail.com>wrote:
>>> Hey all via Public Laboratory,
>>> I've been working with a number of people setting up a network of
>>> multi-gas sensors which would continuously upload data every minute to the
>>> web to an open database for later visualization and analysis. We currently
>>> have working modules for GPS, temperature/humidity, and particulate matter
>>> concentration for particles greater than 1 micron in diameter. Our first
>>> gas sensor, the LPG sensor MQ-6, appears to be calibrated for our project
>>> using temperature and humidity data via the following process:
>>> The function I laid out
>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>>> describes the concentration C, in ppm, for natural gas. The variable, s,
>>> is the digital output of the the microcontroller connected to the gas
>>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>>> digital input of an Arduino board. The power law portion of this function
>>> was fitted from manufacturing specifications, with a resistance ratio of 1
>>> corresponding to a concentration of 1000pm at 20 Celsius and 65% humidity.
>>> The variable T is the temperature in Celsius, and H is the humidity in
>>> percentage units. These two inputs, temperature and humidity, are also
>>> read into an Arduino. The linear portion of the function was also fitted
>>> to a curve supplied by the manufacturer.
>>> We are working out a standard procedure to associate a calibration
>>> function for each type of gas sensor so that temperature and humidity can
>>> be factored in to any output. When we get to H2S we can let you know what
>>> we'll get to, or we can give it a shot now with a particular sensor you're
>>> using. If you send us the spec sheet we can give you our best shot at a
>>> calibration function.
>>> Thanks!
>>> On Sat, Jul 21, 2012 at 4:17 PM, Jeffrey Warren <j...@publiclaboratory.org
>>> > wrote:
>>>> that's great to hear, Ariel - would you mind fwding to the
>>>> publiclaboratory list? Lots of other PLOTS folks are interested too.
>>>> On Sat, Jul 21, 2012 at 6:38 PM, Ariel Levi Simons >>>> <levisim...@gmail.com>wrote:
>>>>> Jeffrey,
>>>>> The function I laid out
>>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)
>>>>> describes the concentration C, in ppm, for natural gas. The variable,
>>>>> s, is the digital output of the the microcontroller connected to the gas
>>>>> sensor. The value of 's' will vary from 0 to 1023, and is run into the
>>>>> digital input of an Arduino board. The power law portion of this >>>>> function
>>>>> was fitted from manufacturing specifications, with a resistance >>>>> ratio of 1
>>>>> corresponding to a concentration of 1000pm at 20 Celsius and 65% >>>>> humidity.
>>>>> The variable T is the temperature in Celsius, and H is the humidity in
>>>>> percentage units. These two inputs, temperature and humidity, are also
>>>>> read into an Arduino. The linear portion of the function was also fitted
>>>>> to a curve supplied by the manufacturer.
>>>>> We are working out a standard procedure to associate a calibration
>>>>> function for each type of gas sensor so that temperature and humidity can
>>>>> be factored in to any output. When we get to H2S we can let you >>>>> know what
>>>>> we'll get to, or we can give it a shot now with a particular >>>>> sensor you're
>>>>> using. If you send us the spec sheet we can give you our best shot at a
>>>>> calibration function.
>>>>> Thanks!
>>>>> On Sat, Jul 21, 2012 at 2:59 PM, Jeffrey Warren <
>>>>> j...@publiclaboratory.org> wrote:
>>>>>> I'm very interested in this topic as well. The hydrogen sulfide sensor
>>>>>> which we are using is also sensitive to temperature and humidity >>>>>> and will
>>>>>> have to be calibrated. I imagine the process will be very >>>>>> similar although
>>>>>> I admit I can't quite follow what you've laid out here.
>>>>>> I'm going to read the datasheet to see if I can catch up but in the
>>>>>> meantime are you writing any arduino code for this? This week at >>>>>> Parts and
>>>>>> Crafts in somerville we are building an arduino-based hydrogen sulfide
>>>>>> sensor. We have a temperature and humidity sensor as well and >>>>>> will soon be
>>>>>> attempting to calibrate so we're eager to follow what you do.
>>>>>> Jeff
>>>>>> On Jul 21, 2012 3:10 PM, "Ariel Levi Simons" <levisim...@gmail.com>
>>>>>> wrote:
>>>>>>> I was wondering if anyone else out there, who has played around with
>>>>>>> the MQ-6 gas sensor (data sheet:
>>>>>>> http://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf ) has
>>>>>>> found about the same thing with calibration, or if not then >>>>>>> could let me
>>>>>>> know what they did for relaying analog output to ppm levels.
>>>>>>> Thanks!
>>>>>>> Given the temperature and humidity calibration data off of the spec
>>>>>>> sheet we have a weighting factor, which we can call 'w', which goes as:
>>>>>>> w = -0.0120*(T-20) * -0.0076*(H-65) + 1
>>>>>>> From the concentration to resistance ratio graph we now know that
>>>>>>> their calibration curve was done under the standard 20 Celsius and 65%
>>>>>>> humidity testing conditions. This means that we can assume >>>>>>> that R_s = R_0
>>>>>>> for that curve.
>>>>>>> The experimentally fitted curve between concentration and R_s is:
>>>>>>> C = 1036.5*R^-2.392
>>>>>>> Where C is the concentration of LPG in ppm.
>>>>>>> Where R is the ratio of R_s, the sensor resistance, and R_0, the
>>>>>>> resistance at 1000ppm, 20 Celsius, and 65% humidity.
>>>>>>> R_s is given by:
>>>>>>> R_s = (1024/s - 1)*R_L
>>>>>>> s is the signal value from 0 to 1023.
>>>>>>> R_L is the load resistance at 10,000 ohms
>>>>>>> This ultimately means that, with temperature and humidity weighting
>>>>>>> added in, C is:
>>>>>>> C = 1036.5*((1024/s - 1))^-2.392*(-0.0120*(T-20) * -0.0076*(H-65) + 1)