Electrical – MQ-7 Module Carbon Monoxide

arduinodatasheetdetectionpwm

I'm a student in Computer Science but, unfortunately, I don't have much experience with the electrical part.

I need to detect the carbon monoxide level for a prevention system using an Arduino board; I saw that a MQ-7 sensor is very useful for this purpose.

MQ-7 datasheet provides a heating circuit having time control function and so far so good.

I don't understand if the MQ-7 board allows me to implement the heating cycles (using, for example, a PWM pin of an Arduino).

Is there the possibility to generate the heating cycles? In the previous MQ-7 board, pin VCC is always connected to +5V of Arduino (all the circuits found so far don't provide this aspect, I don't know why; maybe due to the LM393 already integrated with the board?).

If yes, is it guaranteed that this approach doesn't compromise the detection?

Best Answer

The module on the link doesn't have PWM feature for heater. The LM393 is comparator, which fires DOUT HIGH when sensor output reaches certain threshold (set by potentiometer). So if you want to implement PWM, you have to drive it "manually" with MCU PWM and MOSFET (you can't drive directly by MCU pin since datasheet says that the heater consumes 370mW or 70mA). IMHO it is expected, since when using heating cycles you have to read the sensor output say after heating cycle, not just anytime (to get more consistent measurements).

It is not clear from three page datasheet, but seems the heating cycle MUST be implemented. On the other hand, I wonder if such blind heating make sense without actual temperature detection/stabilization. Datasheet says operation temperature range is -20 to +50 deg C. Maybe heating is needed just to make sure that temperature is well over -20?