How does it work?
RAQ Click is based on the ZMOD4450, a gas sensor module designed to detect typical gases inside refrigeration applications associated with food ripening or rotting from Renesas Electronics Corporation. The ZMOD4450 is not selective to an individual gas, yet it detects a variety of volatile organic and sulfur compounds. It is also able to detect some safety-relevant toxic gases. However, this sensor is not provided to detect these interferants reliably, and it, therefore, is not approved for use in any safety-critical or life-protecting applications. The response time for a gas stimulation is within a few seconds, depending on the gas and its concentration. An active or direct airflow onto the sensor module is not necessary since the diffusion of ambient gas does not limit the sensor response time.
The ZMOD4450 will respond to typical refrigeration gases immediately upon Start-Up. However, a conditioning period of 48 hours is recommended in a refrigeration environment to improve stability and get maximum performance, as the module algorithm can learn about the refrigeration environment over time. Users who require an absolute measurement with the maximum achievable accuracy can re-calibrate the sensor with a known organic compound, which enables an absolute accuracy of ±15%. With the ZMOD4450’s low operating current consumption, the sensor is an excellent choice for low-voltage and low-power battery applications.
For some environments, an interference response to siloxanes is of concern, but the ZMOD4450 gas sensor has been proven to be resistant to siloxanes. A maximum potential lifetime exposure has been simulated in all ZMOD4450 operation modes by applying the chemicals D4 (octamethylcyclotetrasiloxane) and D5 (decamethylcyclopentasiloxane) in high concentration for several hundred hours.
RAQ Click communicates with MCU using the standard I2C 2-Wire interface with a maximum frequency up to 100kHz in the Standard Mode and up to 400kHz in the Fast Mode. The measurement results are exchanged via an I2C interface with the user’s MCU, which processes the data to determine the levels of gases present and to indicate the likelihood of food spoilage. Built-in nonvolatile memory (NVM) stores the configuration and provides space for arbitrary user data. Additional functionality such as hardware reset for ZMOD4450 and a programmable interrupt signal are provided and routed at RST and INT pins of the mikroBUS™ socket labeled as RST and INT.
This Click board™ is designed to be operated only with a 3.3V logic voltage level. A proper logic voltage level conversion should be performed before the Click board™ is used with MCUs with different logic levels. However, the Click board™ comes equipped with a library that contains easy to use functions and an example code that can be used as a reference for further development.
Specifications
Type
Gas
Applications
Can be used for various applications like refrigerator systems control or as monitors for fruit and vegetable quality, shipping, and storage conditions.
On-board modules
RAQ Click is based on the ZMOD4450, a gas sensor module designed to detect typical gases inside refrigeration applications associated with food ripening or rotting from Renesas Electronics Corporation.
Key Features
Low power consumption, excellent choice for low-voltage and low-power battery applications, measurement of gases associated with food ripening and storage, configurable methods of operation, built-in nonvolatile memory, and more.
Interface
I2C
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on RAQ 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 |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
RAQ Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 1.7 | 3.3 | 3.6 | V |
Ethylene Measurement Range | 0 | – | 10 | ppm |
Dimethyl sulfide Measurement Range | 0 | – | 180 | ppb |
Trimethylamine Measurement Range | 0 | – | 600 | ppb |
Humidity Range | 0 | – | 95 | %RH |
Operating Temperature Range | 0 | – | +25 | °C |
Software Support
We provide a library for the RAQ 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 covers all the necessary functions to control RAQ click board. Library performs a standard I2C interface communication.
Key functions:
uint8_t raq_get_sensor_info ( uint8_t *cfg_data, uint8_t *prod_data, uint16_t *pid )
– Get sensor info function.uint8_t raq_init_sensor ( uint16_t *mox_lr, uint16_t *mox_er )
– Initialization of the sensor function.uint8_t raq_read_rmox ( float *rmox, uint16_t mox_lr, uint16_t mox_er )
– Read RMOX function..
Examples description
The application is composed of three sections :
- System Initialization – Initializes I2C and start to write log.
- Application Initialization – Initialization driver enables – I2C, read and display product ID of the sensor, init. sensor and measurement, also write log.
- Application Task – (code snippet) This is an example that demonstrates the use of the RAQ Click board. Start measurement, check the status and read and display RMOX data if the status is OK, on the other hand, it displays an error. Results are being sent to the Usart Terminal where you can track their changes. All data logs write on USB uart changes approximately for every 2 sec.
void application_task ( ) { ret = raq_start_measurement( ); status_data = raq_get_status( ); Delay_ms( 10 ); while ( ( status_data & RAQ_STATUS_LAST_SEQ_STEP_MASK ) != RAQ_SUCCESS ) { status_data = raq_get_status( ); Delay_ms( 10 ); } ret = raq_read_rmox( &rmox, mox_lr, mox_er ); Delay_ms( 10 ); if ( ret == RAQ_SUCCESS ) { FloatToStr( rmox / 1000, demo_log ); mikrobus_logWrite( " Rmox : ", _LOG_TEXT ); mikrobus_logWrite( demo_log, _LOG_TEXT ); mikrobus_logWrite( " kOhm", _LOG_LINE ); mikrobus_logWrite( "-------------------------", _LOG_LINE ); Delay_ms( 2000 ); } else { display_error( ); } }
Additional Functions :
void display_error ( )
– Display error status.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- I2C
- UART
- Conversions
Additional notes and informations
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.