The AFE IC provides a unified platform for many types of electrochemical sensors and as such, it packs a range of different features which simplify the use of various electrochemical sensors. The AFE IC supports gas sensitivity in a range from 0.5 nA/ppm to 9500 nA/ppm. Equipped with the SPEC NO2 sensor with sensitivity up to 20ppm, the Click board™ can be used for various air quality applications, air purification control, atmospheric NO2 presence detection applications, and similar.
How does it work?
SPEC Sensors are amperometric gas sensors, electrochemical sensors which generate a current proportional to the volumetric fraction of the gas. This current is converted and transformed into the voltage by the analog front-end IC (AFE), so it can be sampled by the MCU, or converted with the external A/D converting circuits. The sensor used on this board is the
3SP-NO2-20 gas sensor from
SPEC Sensors, which can sense NO2 concentration up to 20ppm. The sensor has a very short response time, however the longer it is exposed to a particular gas, the more accurate data it can provide. This is especially true when calibration is performed. It should be noted that the sensor has a very high sensitivity to small particles of dust, condensed water, and other impurities, which might prevent gas to reach the sensor. It is advised to protect the sensor when used in critical applications. In ideal conditions, the lifetime of this sensor is indefinite, but in the real-life applications, the expected operating life is more than 5 years (10 years at 23 ± 3 °C; 40 ± 10 %RH).
Although very reliable and accurate, this sensor is great for building relative gas sensing applications. For example, it can detect an increased level of NO2 gas. However, when developing applications for the absolute gas concentration, the sensor needs to be calibrated and the measurement data needs to be compensated. Factors such as the humidity and temperature can affect measurements, sensor reaction curve to a specific measured gas (nitrogen-dioxide in this case) is not completely linear, and other gases might affect the measurement (cross-sensitivity to other gases). For this reason, a range of calibration routines has to be done in the working environment conditions, in order to calculate the absolute gas concentration.
NO2 click uses the LMP91000, a configurable AFE potentiostat IC for low-power chemical sensing applications, from Texas Instruments. It provides the complete sensor solution, generating the output voltage which is proportional to the sensor current. A transimpedance amplifier (TIA) with the programmable gain is used to convert the current through the sensor, covering the range from 5µA to 750 µA, depending on the used sensor. The voltage between the referent electrode (RE) and the working electrode (WE) is held constant, with the bias set by the variable bias circuitry. This type of sensors performs best when a fixed bias voltage is applied. The sensor manufacturer recommends -200mV fixed bias for the sensor used on this Click board™. The bias voltage and the TIA gain can be set via the I2C registers. In addition, there is an embedded thermal sensor in the AFE IC, which can be used for the result compensation, if needed. It is available via the VOUT pin, as the analog voltage value in respect to GND.
The Click board™ has two additional ICs onboard. The first one is the
MCP3221, a 12-bit successive approximation register A/D converter, from
Microchip. The second IC is the OPA344, a single supply, rail to rail operational amplifier, from Texas Instruments. It is possible to use the onboard switch, labeled as AN SEL, to select the IC to which the VOUT pin from the LMP91000 AFE is routed. If the switch is in the ADC position, the VOUT pin will be routed to the input of the MCP3221 ADC. This allows the value of the voltage at the VOUT pin to be read via the I2C interface, as a digital information. When the switch is in the AN position, it will route the VOUT pin of the LMP91000 AFE IC to the input of the OPA344. The output of the OPA344 op-amp has a stable unity gain, acting as a buffer so that the voltage at the VOUT pin of the AFE can be sampled by the host MCU, via the AN pin of the mikroBUS™.
The RST pin on the mikroBUS™ is routed to the MEMB pin of the LMP91000 and it is used to enable the I2C interface section, thus making it possible to use more than one chip on the same I2C bus. When it is driven to a LOW logic level, the I2C communication is enabled and the master device (host MCU) can issue a START condition. The RST pin should stay at LOW during the communication.
This Click board™ can work with both 3.3V and 5V. An SMD jumper labeled as VCC SEL can be moved to the desired position, allowing both 3.3V and 5V MCUs to be used with this Click board™.
Specifications
Type |
Gas |
Applications |
It can be used for various air quality applications, air purification control, atmospheric NO2 presence detection applications, and similar |
On-board modules |
LMP9100SD, an integrated AFE for chemical sensing applications, MCP3221, a 12-bit SAR ADC from Microchip, OPA344, an operational amplifier from Texas Instruments, MCP1501, a high precision buffered reference, from Microchip |
Key Features |
High accuracy and repeatability of the measurements, ability to obtain measurement data in both analog and digital form, low cross-sensing for other gases, rapid response time, long lifecycle of the ethanol sensor |
Interface |
Analog,I2C |
Input Voltage |
3.3V or 5V |
Onboard jumpers and settings
Label | Name | Default | Description |
---|
LD1 |
PWR |
- |
Power LED indicator |
JP1 |
VCC SEL |
Left |
Power supply voltage selection |
SW1 |
AN SEL |
Right |
Measurement type selection |
NO2 click electrical specifications
Description | Min | Typ | Max | Unit |
---|
Measurement range |
0 |
- |
20 |
ppm |
Response time |
- |
200 |
- |
s |
Operating Temperature Range (recommended) |
-20 |
- |
40 |
°C |
Operating Humidity Range (non-condensing) |
0 |
- |
100 |
% RH |
Pinout diagram
This table shows how the pinout on NO2 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | | Pin | Notes |
---|
Analog OUT |
AN |
1 |
AN |
PWM |
16 |
NC |
|
Reset |
RST |
2 |
RST |
INT |
15 |
NC |
|
|
NC |
3 |
CS |
RX |
14 |
NC |
|
|
NC |
4 |
SCK |
TX |
13 |
NC |
|
|
NC |
5 |
MISO |
SCL |
12 |
SCL |
I2C Clock |
|
NC |
6 |
MOSI |
SDA |
11 |
SDA |
I2C Data |
Power Supply |
3.3V |
7 |
3.3V |
5V |
10 |
5V |
Power Supply |
Ground |
GND |
8 |
GND |
GND |
9 |
GND |
Ground |
Software support
We provide a demo application for Alcohol 2 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 the register. The library includes a function for reading NO2 data in ppm and function for reading ADC data.
Key functions :
float no2_getNO2ppm()
- Function for reading NO2 Data in ppm
uint16_t no2_readADC()
- Function for reading ADC sensor data
void no2_writeByte( uint8_t reg, uint8_t _data )
- The function writes one byte to the register
Example description
The application is composed of three sections:
- System Initialization - Initializes I2C bus and set AN pin as INPUT and RST pin as OUTPUT.
- Application Initialization - Initializes I2C driver and device configuration.
- Application Task - (code snippet) - Gets NO2 (Nitrogen dioxide) data as ppm value and logs to USBUART every 500ms.
void applicationTask()
{
NO2_Value = no2_getNO2ppm();
FloatToStr( NO2_Value, demoText );
mikrobus_logWrite( "NO2 value : ", _LOG_TEXT );
mikrobus_logWrite( demoText, _LOG_TEXT );
mikrobus_logWrite( " ppm", _LOG_LINE );
Delay_ms( 500 );
}
The full application code and ready to use projects can be found on our LibStock page.
mikroE 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.