Air quality 5 click is a triple MOS sensor on a single Click board™, which can detect gas pollution for a number of different gases. The onboard sensor is specially designed to detect the pollution from automobile exhausts, as well as the gas pollution from the industrial or agricultural industry. This Click board™ uses the MiCS-6814, a compact MOS sensor with three fully independent sensing elements in one package: RED sensor, OX sensor, and NH3 sensor. Each of these sensors reacts with the specific type of gases, providing gas readings that including carbon monoxide (CO), nitrogen dioxide (NO2), ethanol (C2H5OH), hydrogen (H2), ammonia (NH3), methane (CH4), propane (C3H8), and isobutane (C4H10). Measurement conversion is handled by the onboard 12bit ADC converter and it is available via the I2C interface.
Featuring the MiCS-6814 MOS sensor with increased robustness for harsh environments, low noise 12bit onboard ADC converter, short preheat time requirement and reasonably high sensitivity, this Click board™ can be used for development of various environmental pollution measurement and detection applications, or various types of gas alarms in automotive industry or production/manufacturing chambers with a high risk of gas poisoning.
How does it work?
The Click board™ contains the MiCS-6814, a compact triple MOS sensor from SGX Sensortech, with three fully independent sensors. The Click board™ also contains the ADS1015, a low-power 12bit ADC with Internal reference, and programmable comparator, from Texas Instruments. The MiCS-6814 sensor consists of three independent metal oxide sensors, heated by three separate heater structures. Chemicals which are absorbed by the metal oxide surface, change the resistive properties of the sensor. The typical baseline resistance may vary a lot from a sensor to a sensor and it can be affected by the measurement conditions, sensor aging, and several other factors. Therefore, it is recommended to periodically monitor the relative change of the sensing resistance against the baseline resistance. It allows development of applications which detect relative gas concentration changes, rather than measuring the absolute gas concentration values.
As mentioned, there are three sensors on the same die. Each of them reacts with a different type of gas. There is a RED sensor which reacts with the reducing gas agents, an OX sensor which reacts with the oxidizing gas agents, and lastly, a sensor which reacts with NH3. These sensors provide readings (in ppm) for eight different gasses, which are of interest to be monitored in the automotive, industry or agriculture polluted atmosphere.
Every heating structure is powered from the mikroBUS™ 5V power rail via the resistor, recommended by the manufacturer. This ensures the maximum life cycle of the device to be achieved since current ratings above the recommended would damage the sensors and heaters. It is recommended to pre-heat the sensors for at least 30 seconds before valid readings can be made. The longer the pre-heat period is, the more accurate the measurement becomes.
The changes of the sensor resistance are measured and sampled by the onboard ADC. The ADS1015 ADC has four multiplexed inputs, of which three are connected to each of the sensors. The ADC has an internal reference, it is very simple to operate, it offers inputs that can handle voltages across the sensors, and require a low number of external components. These attributes make it perfectly suitable for this Click board™. In addition, it is possible to change the slave I2C address of the device. This is done by using the SMD jumper, labeled as ADD SEL. This jumper allows selection of the I2C LSB bit state (0 or 1), allowing more than one Click board™ on the same I2C bus.
The ADS1015 IC also has a READY pin, which is used to signal or alert the host MCU that the conversion is ready for reading. This pin is routed to the mikroBUS™ INT pin and it is labeled as RDY. More information on how to configure and use this pin can be found in the ADS1015 datasheet.
Both 5V and 3.3V rails from the mikroBUS™ are used. The ADC is powered by 3.3V rail, but the sensor requires 5V rail to be used as well. Therefore, the Click board™ requires both 3.3V and 5V pins to be supplied with the power.
Specifications
Type | Gas |
Applications | Various environmental pollution measurement and detection applications, or various types of gas alarms in the automotive industry or production/manufacturing chambers with a high risk of gas poisoning. |
On-board modules | MiCS-6814, a compact triple MOS sensor from SGX Sensortech; ADS1015, a low-power 12bit ADC with Internal reference and programmable comparator, from Texas Instruments. |
Key Features | Increased robustness for harsh environments, low noise 12bit onboard ADC converter, reasonably high accuracy, three separate sensors on the same die for sensing of the number of different types of gases. |
Interface | I2C |
Input Voltage | 3.3V,5V |
Click board size | M (42.9 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on Air quality 5 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
PWR | PWR | - | Power LED indicator |
ADD SEL | ADD SEL | Left | I2C address bit selection: left position 0, right position 1 |
Software support
We provide a demo application for Air quality 5 click on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The library initializes and defines the I2C bus driver and drivers that offer a choice for writing data in registers and reading data from registers. The library includes functions for full initialization of the chip, reading 3 sensors (CO, NH3 and NO2 data). The user can check the state of the RDY pin indicating if that data is ready for reading.
Key functions:
void airq5_setConfiguration(uint16_t config)
- The functions for configuration.uint16_t airq5_readSensorData(uint16_t channel_data)
- The functions for reading the sensor data.Example description
The application is composed of three sections:
void applicationTask() { NO2_sensorData = airq5_readSensorData(_AIRQ5_DATA_CHANNEL_NO2); NH3_sensorData = airq5_readSensorData(_AIRQ5_DATA_CHANNEL_NH3); CO_sensorData = airq5_readSensorData(_AIRQ5_DATA_CHANNEL_CO); IntToStr(NO2_sensorData, dataText); mikrobus_logWrite(" NO2 data: ", _LOG_TEXT); mikrobus_logWrite(dataText, _LOG_LINE); IntToStr(NH3_sensorData, dataText); mikrobus_logWrite(" NH3 data: ", _LOG_TEXT); mikrobus_logWrite(dataText, _LOG_LINE); IntToStr(CO_sensorData, dataText); mikrobus_logWrite(" CO data: ", _LOG_TEXT); mikrobus_logWrite(dataText, _LOG_LINE); mikrobus_logWrite(" -------- ", _LOG_LINE); Delay_ms( 500 ); }
The full application code, and ready to use projects can be found on our Libstock page.
Other MikroElektronika libraries used in the example:
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This click board is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
Downloads
mikroBUS™ Standard specificationLibstock: Air quality 5 click library