HVAC-Klickplatine
HVAC-Klickplatine
Das HVAC Click Board™ ist eine kompakte Zusatzplatine, die Sensirions Miniatur-CO2-Sensor der nächsten Generation enthält. Diese Platine verfügt über den SCD41, einen Kohlendioxidsensor, der auf dem photoakustischen Sensorprinzip basiert, und Sensirions patentierte PASens®- und CMOSens®-Technologie, die hohe Genauigkeit bei geringem Formfaktor bietet. Die On-Chip-Signalkompensation wird mit dem eingebauten Feuchtigkeits- und Temperatursensor realisiert. Es arbeitet in einem festgelegten Bereich von 400 bis 5.000 ppm, der über die I2C-Schnittstelle konfiguriert werden kann, wobei ein Single-Shot-Modus unterstützt wird.
Das HVAC Click Board™ eignet sich außerdem für Anwendungen zur Verbesserung der Luftqualität in Innenräumen, indem es ein zusätzliches SPS30 verwendet, mit dem intelligente Belüftungssysteme die Belüftung auf die energieeffizienteste und menschenfreundlichste Weise regeln und dabei eine niedrige CO2-Konzentration für eine gesunde, produktive Umgebung aufrechterhalten können.
How does the HVAC Click Board™ work?
The HVAC Click Board™ as its foundation uses the SCD41, a Sensirion's next-generation miniature CO2 sensor. This carbon dioxide sensor builds on the photoacoustic sensing principle and Sensirion's patented PASens® and CMOSens® technology to offer high accuracy at a minor form factor. It operates within a specified range from 400 to 5'000 ppm, configurable through the I2C interface with a low-power single-shot mode supported to reduce noise levels, i.e., on-demand measurement.
The SCD41 features on-chip signal compensation to counteract pressure and temperature effects. Feeding the SCD41 with the pressure or altitude enables the highest accuracy of the CO2 output signal across an extensive pressure range. Setting the temperature offset improves the accuracy of the relative humidity and temperature output signal. Note that the temperature offset does not impact the accuracy of the CO2 output.
HVAC Click communicates with MCU using the standard I2C 2-Wire interface to read data and configure settings, supporting Standard mode operation with a clock frequency up to 100kHz. Furthermore, this Click board™ is suitable for indoor air quality applications using an additional SPS30, a Particulate Matter (PM) sensor from Sensirion, with the help of which the HVAC Click in the most energy-efficient and human-friendly way maintains a low CO2 concentration for a healthy, productive environment.
The measurement principle of the SPS30 is based on laser scattering, which, together with high-quality, enables precise measurements from its first operation and throughout its lifetime of more than ten years. In addition, the SPS30 provides the possibility of using both I2C and UART interfaces where the communication interface selection can be made by positioning SMD jumpers labelled COMM SEL to an appropriate position. Note that all the jumpers' positions must be on the same side, or else the Click board™ may become unresponsive. Also, to activate I2C communication, the JP4 jumper must be populated.
This Click board™ can operate with both 3.3V and 5V logic voltage levels selected via the VCC SEL jumper. This way, it allows both 3.3V and 5V capable MCUs to use the communication lines properly. In addition, however, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
SPECIFICATIONS
Type | Environmental |
Applications | Can be used for indoor air quality applications and in smart ventilation systems to regulate ventilation in the most energy-efficient and human-friendly way, maintaining low CO2 concentration for a healthy, productive environment |
On-board modules | SCD41 - Sensirion's next-generation miniature CO2 sensor |
Key Features | Low power consumption, high accuracy, photoacoustic sensor technology PASens®, integrated temperature, and humidity sensor, additional connection to SPS30 particulate matter sensor, and more. |
Interface | I2C, UART |
Compatibility | mikroBUS |
Click board size | M (42.9 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout on HVAC Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | NC | ||
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | RX | 14 | TX | UART TX | |
NC | 4 | SCK | TX | 13 | RX | UART RX | |
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 |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2-JP3 | COMM SEL | Left | SPS30 Communication Interface Selection I2C/UART: Left position I2C, Right position UART |
JP4 | JP4 | Populated | SPS30 I2C Interface Activation Jumper |
J1 | SPS30 | Populated | SPS30 Particulate Matter Sensor Connection Header |
HVAC CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | - | 5 | V |
SPS30 Supply Voltage | - | 5 | - | V |
SCD41 CO2 Measurement Range | 400 | - | 5000 | ppm |
SCD41 Humidity Measurement Range | 0 | - | 95 | %RH |
Operating Temperature Range | -10 | +25 | -60 | °C |
Software Support
We provide a library for the HVAC Click Board™ 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 the HVAC Click board. A library performs the communication with the SCD40 Sensor via the I2C interface and with the SPS30 via the I2C or UART interface.
Key Functions
void hvac_scd40_read_measurement ( measuremen_data_t *m_data )
- SCD40 read measurement function.void hvac_sps30_start_measurement ( void )
- SPS30 start measurement command function.void hvac_sps30_read_measured_data ( mass_and_num_cnt_data_t *m_n_c_data )
- SPS30 read measured data function.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C or UART and start to write log.
- Application Initialization - Initialization driver enables - I2C or UART, SCD40: perform a factory reset, serial number, features, product type platform type, product version and SPS30: perform start measurement mode, also write log.
- Application Task - (code snippet) This is an example that demonstrates the use of the HVAC Click board. HVAC Click board can be used to measure : Concentration of CO2 in air, Temperature ( degree Celsius ), Relative Humidity ( % ), Mass Concentration of PM1.0, PM2.5, PM4.0, PM10 and Number Concentration of PM0.5, PM1.0, PM2.5, PM4.0 and PM10. All data logs write on USB uart changes.
void application_task ( ) { if ( select_communication == I2C_COMMUNICATION ) { hvac_scd40_send_cmd( HVAC_MEASURE_SINGLE_SHOT ); Delay_ms( 5000 ); hvac_scd40_read_measurement( &hvac_data ); Delay_ms( 100 ); WordToStr( hvac_data.co2_concent, log_text ); mikrobus_logWrite( " CO2 Concent = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_LINE ); FloatToStr( hvac_data.temperature, log_text ); mikrobus_logWrite( " Temperature = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " C", _LOG_LINE ); FloatToStr( hvac_data.r_humidity, log_text ); mikrobus_logWrite( " R. Humidity = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " %", _LOG_LINE ); mikrobus_logWrite( "- - - - - - - - - - - - - ", _LOG_LINE ); while ( hvac_sps30_get_ready_flag( ) != HVAC_SPS30_NEW_DATA_IS_READY ); } mikrobus_logWrite( " Mass Concentration : ", _LOG_LINE ); hvac_sps30_read_measured_data( &sps30_data ); Delay_ms( 100 ); FloatToStr( sps30_data.mass_pm_1_0, log_text ); mikrobus_logWrite( " PM 1.0 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " ug/m3", _LOG_LINE ); FloatToStr( sps30_data.mass_pm_2_5, log_text ); mikrobus_logWrite( " PM 2.5 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " ug/m3", _LOG_LINE ); FloatToStr( sps30_data.mass_pm_4_0, log_text ); mikrobus_logWrite( " PM 4.0 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " ug/m3", _LOG_LINE ); FloatToStr( sps30_data.mass_pm_10, log_text ); mikrobus_logWrite( " PM 10 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " ug/m3", _LOG_LINE ); mikrobus_logWrite( "- - - - - - - ", _LOG_LINE ); mikrobus_logWrite( " Number Concentration : ", _LOG_LINE ); FloatToStr( sps30_data.num_pm_0_5, log_text ); mikrobus_logWrite( " PM 0.5 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " n/cm3", _LOG_LINE ); FloatToStr( sps30_data.num_pm_1_0, log_text ); mikrobus_logWrite( " PM 1.0 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " n/cm3", _LOG_LINE ); FloatToStr( sps30_data.num_pm_2_5, log_text ); mikrobus_logWrite( " PM 2.5 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " n/cm3", _LOG_LINE ); FloatToStr( sps30_data.num_pm_4_0, log_text ); mikrobus_logWrite( " PM 4.0 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " n/cm3", _LOG_LINE ); FloatToStr( sps30_data.num_pm_10, log_text ); mikrobus_logWrite( " PM 10 = ", _LOG_TEXT ); mikrobus_logWrite( log_text, _LOG_TEXT ); mikrobus_logWrite( " n/cm3", _LOG_LINE ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); Delay_ms( 2000 ); }
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 Information
Depending on the development board you are using, you may need a 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.
HVAC-Klickplatine
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.