<
>
  • Carbon dioxide sensor MQCO2-1

  • MQCO2-1 is a carbon dioxide sensor based on the principle of non spectral infrared absorption, which can detect the concentration of carbon dioxide in the air in real time. It has the characteristics of self calibration, small volume, superior performance, good consistency, and no oxygen dependence. This product has built-in temperature compensation and two communication methods: serial output and PWM output, making it convenient to use.


Product manual

SPECIFICATION

  • product name:

    Carbon dioxide sensor

    Model:

     

    MQC02-1

    version:

    V1.0

    Creator:

    He Genwen

    reviewed by:

    Yuan Chao

     

    1、DESCRIPTION

    MQCO2-1 is a carbon dioxide sensor based on the principle of non spectral infrared absorption, which can detect the concentration of carbon dioxide in the air in real time. It has the characteristics of self calibration, small volume, superior performance, good consistency, and no oxygen dependence. This product has built-in temperature compensation and two communication methods: serial output and PWM output, making it convenient to use.

    This product is widely used in air quality detectors, air purification equipment, fresh air systems, air conditioning control, smart homes, IoT environmental information collection, agricultural production, cold chain transportation and other related fields.

     

    2、TECHNICAL INDEX

    Range range

    400~5000ppm

    accuracy

    ± (50ppm+5%*reading)

     

    Interface

    URAT_TTL(3.3V)

    PWM(3.3V)

    resolution ratio

    1ppm

    response time

    less than20s

    Data update time

    4s

     

     

    Warm-up time

    Less than 25 seconds (operable)

    Less than 2 minutes (90% accuracy)

    Less than 10 minutes (maximum accuracy)

    Supply Voltage

    DC (5.0±0.5)V

    Working current

    Average less than 70mA, peak less than 150mA

    working conditions

    -10 ℃~+50 ℃, 0~95% RH, no condensation

    Storage conditions

    -30~+70 ℃, 0~95% RH, no condensation

    Product Life

    Over 5 years

    Product size

    32.5mm×22.2mm×19.7mm(L*W*H)

     

     

    Pin Pitch

    2.54mm

     

    3、Appearance and structural dimensions

    32.5mm×22.2mm×19.7mm(L*W*H),public errand±0.3mm

     

    4、interface definition

     

    Serial Number

    name

    describe

    1

    NC

    reserve

    2

    RX

    Serial port end (circuit board serial port receiving end)

    3

    TX

    Serial port end (circuit board serial port sending end)

    4

    NC

    reserve

    5

    NC

    reserve

    6

    +5V

    Power input terminal (+5V terminal)

    7

    GND

    Power input terminal (ground terminal)

    8

    NC

    reserve

    9

    PWM

    Pulse Width Modulation

     

    5、Serial communication protocol

    1.Serial port configuration: 9600 baud rate, 8 data bits, 1 stop bit, no parity check;

    2.How to receive host commands:

    1) Receive host commands:FE 04 00 03 00 01 D5 C5;

    Response response data: FE 04 02 01 E5 6D 3F; Among them, FE 04 02 represents the response data frame header, 01 E5 represents the carbon dioxide concentration of 485ppm, and 6D 3F represents the CRC verification data;

    2) Receive host commands:64 69 03 5E 4E;

    Response reply data:64 69 03 01 0A 02 00 00 00 00 00 00 9B F0; Among them, 64 69 03 01 represents the response data frame header, 0A 02 represents the carbon dioxide concentration, 02 is the high bit, 0A is the low bit, i.e. 20A, representing 522ppm, and 9B F0 is the CRC verification data;

    3)Receive host commands:11 01 01 ED

    Response response data: 16 05 01 02 06 00 00 00 DC; Among them, FE 16 05 01 represents the response data frame header, and 02 06 represents the carbon dioxide concentration of 518ppm;

    3.CRC calculation

    uint16_t CO2ModbusComm::modbus_calcuCRC(uint8_t *dataarray, uint16_t datalen)

    {

    uint8_t uchCRCHi = 0xFF ; /* CRC  High byte initialization of*/

    uint8_t uchCRCLo = 0xFF ; /* CRC  Low byte initialization of*/

    uint16_t uIndex ; /* CRC  Query Table Index*/

    uint16_t crc;

    const uint8_t auchCRCHi[] = {

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,

    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,

    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,

    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,

    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,

    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

    0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,

    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,

    0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

    0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,

    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,

    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

    0x40

    };

    const uint8_t auchCRCLo[] = {

    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,

    0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,

    0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,

    0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,

    0x1 1, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,

    0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,

    0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,

    0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,

    0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,

    0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,

    0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,

    0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,

    0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,

    0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,

    0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,

    0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,

    0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,

    0x40

    };

    while (datalen--) /*  Complete the entire message buffer*/

    {

    uIndex = uchCRCLo ^ *dataarray++;/*  countCRC */

    uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];

    uchCRCHi = auchCRCLo[uIndex];

    }

    crc = (uint16_t)uchCRCHi *256;

    crc += (uint16_t)uchCRCLo;

    return crc;

     

    6、PWM calculation method

    cycle

    1004ms±5%

    Mid cycle

    1000ms±5%

    The calculation formula for obtaining the current CO2 concentration value through PWM is Cppm=5000 × (TH-2ms)/(TH+TL-4ms)

    Cppm  The calculated CO2 concentration value is measured in ppm

    TH The time when the output is at a high level in one output cycle

    TL The time when the output is at a low level in one output cycle

     

    7、note

     This product adopts NDIR technology, and the current required during the time when the light bulb is lit is relatively high. It is recommended that the power supply current be greater than 300mA.

  • From a condensation state to a non condensation state, the system can return to normal operation within 2 hours.

  • Please avoid vibration as much as possible. If subjected to vibration, dropping, or prolonged welding, it may result in a decrease in the measurement accuracy of the sensor. If severe vibration or drop occurs, the accuracy of the product needs to be verified.

  • Do not use for a long time in environments with high dust density.

  • Avoid long-term use in acidic, alkaline, and strongly oxidizing gas environments containing HF, H2S, SO2, HCL, NOX, NH3, PH3, CL2, F2, O3, H2O2, etc.

  • Avoid applying external forces in any direction to the casing, as it may affect sensor performance and potentially cause damage

  • Do not touch directly, make sure the operator wears an electrostatic discharge bracelet.

  • The shell of this product is not grounded, and for applications with high ESD protection requirements, please contact the manufacturer's technical support


  • Website homepage
  • Product Display
  • Qualification certificate
  • Application Information
  • Consulting
  • phone:0755-26588758 15013668479(倪先生) 13922884770(王先生)


    fax:0755-26747274


    mailbox:info@source-sensor.com


    address:East 3rd Floor, Building 15, Majialong Industrial Zone, Nantou Street, Nanshan District, Shenzhen


    Copyright©2002-2023 Yuanjian Sensing Technology . All Rights Reserved Copyright 粤ICP备17008245号-5 technical support:图页网 Website Map xml Website Map html