Electronic – arduino – How to read values from a NO2 sensor from an Arduino

adcarduinosensor

Alphasense sells this NO2 sensor:

http://www.alphasense.com/environmental-sensors/alphasense_downloads.html

http://www.alphasense.com/environmental-sensors/pdf/NO2B4.pdf

How can I read the values from an Arduino ? Do I need something between the Arduino and the sensor ?

I have used a few basic sensors before, but I'm confused with this gas sensor: why does the response curve seem to loop ? I naively expected a constant tension for a given concentration, but it looks like it is more complicated with chemical sensors.

Best Answer

What range of concentrations of NO2 will you be measuring?
Which Arduino model are you using?

The sensor outputs current proportional to the concentration of NO2. Have a look at fig.4 in the datasheet. It shows the voltages for different concentrations of NO2, if you run connect a 33Ω load resistor from the sensor output to GND.

enter image description here

Notice the offset: 0ppb corresponds to 170mV. The 0ppb to 200ppb operating range corresponds to 45mV output range. If you use a load resistor with a larger value, you will get get a larger output range. Unfortunately, the datasheet doesn't say what's the maximum load resistance can be.

Now we get into the Arduino side of things. If you use analogRead() with the default voltage reference setting, 45mV would corresponds to 9 A/D counts. This is worst/simplest case.

If you're willing to add more hardware, you can amplify the output voltage with a non-inverting OpAmp. With 33Ω load resistor and a gain of 20, your output range would be or 900mV or 183 A/D counts.