Air Quality Sensor
-
@tantt2810 said:
Hello,
I'm don't understand the recipe below. Why RL_Value(Load Resistance)(1023-raw_adc)/raw_adc)? Can you explain for me?
Thank you so much !!!
Input: raw_adc - raw value read from adc, which represents the voltage
Output: the calculated sensor resistance
Remarks: The sensor and the load resistor forms a voltage divider. Given the voltage
across the load resistor and its resistance, the resistance of the sensor
could be derived.
float MQ2::MQResistanceCalculation(int raw_adc)
RL_VALUE(1023-raw_adc)/raw_adc));in fact it is above described, you have a voltage, you want a resistance.
https://learn.sparkfun.com/tutorials/voltage-dividersdatasheet needs a value which is the Rs/Ro (called here RL) where
Ro: sensor resistance at 100ppm of NH3 in the clean air.
Rs:sensor resistance at various concentrations of gaseshere the formula is a simplification of this:
float Vrl = val * ( 5.00 / 1024.0 ); // V
float Rs = 20000 * ( 5.00 - Vrl) / Vrl ; // Ohm
int ratio = Rs/Ro;
ppm = 37143 * pow (ratio, -3.178);@epierre Hi you,
I think the Rs/Ro is not RL. In the datasheet RL=5kOhm. As I know it is a resistance on board Arduino, and we set it 5kOhm. Is it right? I also don't know why we set it equal 5kOhm. =))
And why 20000 is in "float Rs = 20000 * ( 5.00 - Vrl) / Vrl ; // Ohm" ?
Please help me clearly. Thank you so much !!! -
Hello, I'm working with an MQ-136 sensor, and am interested in measuring H2S and/or SO2 concentrations. I've got a simple sketch written which gives me a fairly consistent value on the serial monitor, but I've tried to run the multiple gas sensor sketch both complete and I also tried picking apart the sketch just to include MQ-136 related variables and algorithms, but I can't get it to work. It's showing too many errors to list here. Does anyone have simple conversions from the serial outputs to usable values for various gases that this sensor can measure?
-
hello, how i read co2 ppm with my mq135?
helpme please -
Hi everyone,
I have an CO2 MG811 sensor. I don't know where tcm pin connect with ?
Please help me. Thank you so much !!!!

@tantt2810 said:
Hi everyone,
I have an CO2 MG811 sensor. I don't know where tcm pin connect with ?
Please help me. Thank you so much !!!!this is an analogic sensor, so VCC/Gnd to power it, and readings on analogic Aout
-
@tantt2810 sorry for not being more responsive, I left MQ/TGS behind me but I've not kept all my notes on mesuring this and that, that would require me to search for it again. But I appreciate if you can spot me some float/type error conversion in sketches !
-
I was a bit disappointed when a project I contributed to on Kickstarter showed the inside of their boxes, I wonder how they will manage to satisfy customers with calibration... or their home made index as netatmo did

-
Used the air quality script for MQ7 but throwed out all the conversions and calibrations. Just reading the plain input from the analogue pin.
I targeted this as a smoke detector but it seems this sensor highly depends on the humidity of the surrounding air. Are there any existing formulas to correct for the humidity of the surounding air?And on one sensor i have some irratical data as shown below (blue). I wonder if it's a power supply (black and green is DHT) or a broken sensor?

-
Used the air quality script for MQ7 but throwed out all the conversions and calibrations. Just reading the plain input from the analogue pin.
I targeted this as a smoke detector but it seems this sensor highly depends on the humidity of the surrounding air. Are there any existing formulas to correct for the humidity of the surounding air?And on one sensor i have some irratical data as shown below (blue). I wonder if it's a power supply (black and green is DHT) or a broken sensor?

@moskovskiy82 well looks like a strange sensor... try averaging several samples/// always remember to have it running several days before measuring for there are chemical left from china factories...
-
Hey all,
I've got a question regarding the calibration function in https://github.com/empierre/arduino/blob/master/AirQuality-Multiple_Gas_Sensor1_4.ino :
$ grep MQCalibr * AirQuality-Multiple_Gas_Sensor1_4.ino: Ro0 = MQCalibration(MQ2_SENSOR,10,RL0,SmokeCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro1 = MQCalibration(MQ6_SENSOR,10,RL1,LPGCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro2 = MQCalibration(MQ131_SENSOR,10,RL2,O3Curve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro3 = MQCalibration(TGS2600_SENSOR,10,RL3,C2H5OH_terCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro4 = MQCalibration(MQ135_SENSOR,10,RL4,CO_secCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro6 = MQCalibration(TGS2602_SENSOR,1,RL6,C7H8Curve); .... AirQuality-Multiple_Gas_Sensor1_4.ino:float MQCalibration(int mq_pin, double ppm, double rl_value,float *pcurve )Th function MQCalibration should calibrate the sensor in clean air, the calibration function uses the PPM concentration of the gas in a clean air environment.
You already use the appropriate value for i.e. CO2 (around 399 PPM) in the MQ135 sketch - but why are you using those obscure values in the calibration (1, 10) here?Thanks in advance!
-
Hey all,
I've got a question regarding the calibration function in https://github.com/empierre/arduino/blob/master/AirQuality-Multiple_Gas_Sensor1_4.ino :
$ grep MQCalibr * AirQuality-Multiple_Gas_Sensor1_4.ino: Ro0 = MQCalibration(MQ2_SENSOR,10,RL0,SmokeCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro1 = MQCalibration(MQ6_SENSOR,10,RL1,LPGCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro2 = MQCalibration(MQ131_SENSOR,10,RL2,O3Curve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro3 = MQCalibration(TGS2600_SENSOR,10,RL3,C2H5OH_terCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro4 = MQCalibration(MQ135_SENSOR,10,RL4,CO_secCurve); AirQuality-Multiple_Gas_Sensor1_4.ino: Ro6 = MQCalibration(TGS2602_SENSOR,1,RL6,C7H8Curve); .... AirQuality-Multiple_Gas_Sensor1_4.ino:float MQCalibration(int mq_pin, double ppm, double rl_value,float *pcurve )Th function MQCalibration should calibrate the sensor in clean air, the calibration function uses the PPM concentration of the gas in a clean air environment.
You already use the appropriate value for i.e. CO2 (around 399 PPM) in the MQ135 sketch - but why are you using those obscure values in the calibration (1, 10) here?Thanks in advance!
@wreiner said:
Th function MQCalibration should calibrate the sensor in clean air, the calibration function uses the PPM concentration of the gas in a clean air environment.
You already use the appropriate value for i.e. CO2 (around 399 PPM) in the MQ135 sketch - but why are you using those obscure values in the calibration (1, 10) here?Well, I didn't know the concentration in clean air so I had to put in a value even random... I took the hypothesis there are very few in the air so low value.
-
@tantt2810 said:
Hi everyone,
I have an CO2 MG811 sensor. I don't know where tcm pin connect with ?
Please help me. Thank you so much !!!!this is an analogic sensor, so VCC/Gnd to power it, and readings on analogic Aout
-
I am confused with MiCS 4514 sensor. What I had done is :
using MiCS quick start evaluation board, measured ADC value
calculated Vout and from that calculated R0.
Rs/R0 concentration gives me high value, which is not possible, My data is as follows
clean air file is used for the purpose of R0 value
https://drive.google.com/file/d/0B8sF8a6FHoseWjhWOHRoYzIxakk/view?usp=sharing
and Polluted file is used to calculate the actual pollution
https://drive.google.com/file/d/0B8sF8a6FHoseR1BnclhCUHdibEU/view?usp=sharingI am confused. Please help me
-
@epierre
Thank you. Your mean is Vcc->5V, GND->GND, Dout->Digital pin, Aout->Analog pin. Is it right?
But I don't know the tcm pin connect with ? I have read datasheet but I don't find any info about tcm pin. Please help me. Thank you so much !!!@tantt2810 said:
@epierre
Thank you. Your mean is Vcc->5V, GND->GND, Dout->Digital pin, Aout->Analog pin. Is it right?
But I don't know the tcm pin connect with ? I have read datasheet but I don't find any info about tcm pin. Please help me. Thank you so much !!!do not use the digital pin !!! it only reacts with the potentiometer in on/off mode, so useless... you need to power the device with Vcc/Gnd, and read the output with Aout (A stands for analog). The last one forget it.
-
Readings of my MQ135 are going up and down like a yo-yo. Not sure how to read them really?
What do you think?
-
@alexsh1 is that raw ADC output or with a calculation ? normaly this should go up or down but not in sucha drastic way
-
@tantt2810 said:
@epierre
Thank you. Your mean is Vcc->5V, GND->GND, Dout->Digital pin, Aout->Analog pin. Is it right?
But I don't know the tcm pin connect with ? I have read datasheet but I don't find any info about tcm pin. Please help me. Thank you so much !!!do not use the digital pin !!! it only reacts with the potentiometer in on/off mode, so useless... you need to power the device with Vcc/Gnd, and read the output with Aout (A stands for analog). The last one forget it.
-
This is a value gw.send(msg.set(MQ135_DEFAULTPPM+(int)ceil(valAIQ))) reported to Domoticz.
It does not make any sense to me at all.