To sense carbon monoxide concentration, I took many sensors into consideration. The one I have chosen for my design is TGS 5042 from Figaro.
There are 3 main reasons that this sensor is perfect for my application:
- This is an electrochemical sensor – it does not need power supply. It is filled with some chemicals which in reaction with carbon monoxide produce current and the sensor works as current source. Plus, other gases and temperature (especially home environment temperature range) has almost zero influence on it and the lifetime is minimum 7 years.
- It does not need any fancy external chips and circuits. Carbon monoxide concentration is linear to the current value.
- It is designed for battery operated systems. It has only two lead and there is no need to heat it up (5V) before reading the measurements. Additionally, the reaction time for the gas concentration is below 60 seconds, which is very important for people safety.
The datasheet suggests this measurement circuit (current-to-voltage converter):
I have tested it and it works great, but … it requires external opamp with dual supply. With energy harvesting there is a problem with energy availability so with adding additional charge pump or other DC/DC (inverter) we would lose some vital energy. That is why I wanted to use the opamp which is already inside the EFM32 chip on the STK. The problem is that it is only single supply opamp. So, I propose another measurement circuit:
The 1k resistor next to the sensor is for protection purposes. The datasheet says that the sensor should not be polarized with voltages above +/-10mV (when storing the sensor, datasheet suggests to short-circuit it). While my circuit is operational, there would be no problem, but I plan to turn off everything that I can, whenever I can to save power. That is why I have included this 1k resistor to protect the sensor (even in a high carbon monoxide concentration) when the internal opamp is disabled. I have used the opamp in non-inverting configuration (cause there is only one power supply and I do not want to make any external circuits for virtual ground) and that is why I had to invert the sensor leads.
The sensor with STK is operational. The voltage to ppm conversion can be applied with the linear graph from the datasheet. The output voltage from the opamp takes form of: Vout = Isensor * R3 * ((R1 / R2) +1). It can be read with EFM32’s ADC.
The gain is about 106 with the circuit I propose, so the 3V single supply amp can detect concentration far above 1000 ppm which is more than sufficient for home appliences.
I have filmed a short sensor test video, but I need some time to convert and upload it, so right now I present only the picture of the setup. I will upload the video as soon as I find some time.