Product Manual
Product Specification Book
Product Name: | Carbon dioxide sensor |
Product model: |
MQC02-1 |
Version: | V1.0 |
Formulator: | He Genwen |
Reviewer: | Yuan Chao |
MQCO2-1是一款基于非分光带红外吸收原理的Carbon dioxide sensor ,能够实时检测空气中的二氧化碳浓度,具有自校准、体积小、性能优越,一致性好,无氧气依赖性等特点。本产品内置温度补偿,同时具有串口输出、PWM Output two communication methods, which are easy to use.
This product is widely used in air quality detectors, air purification equipment, fresh air systems, air conditioning control, smart home, Internet of Things environmental information collection, agricultural production, cold chain transportation and other related fields.
Range range | 400~5000ppm |
Accuracy | ± (50ppm+5%*reading ) |
Communication interface | URAT_TTL(3.3V) PWM(3.3V) |
Resolution | 1ppm |
Response time | Less than 20 s |
Data update time | 4s |
Warm-up time | Less than 25 s (Operable ) Less than 2 min (90%Accuracy ) Less than 10 min (Maximum accuracy ) |
Power supply voltage | DC (5.0±0.5)V |
Operating current | Average less than 70 mA, Peak value is less than 150 mA |
Working conditions | -10℃~+50℃,0~95%RH, No condensation |
Storage conditions | -30~+70℃,0~95%RH, No condensation |
Product lifespan | More than 5 years |
Product size | 32.5mm×22.2mm×19.7mm(L*W*H) |
Pin spacing | 2.54mm |
32.5mm×22.2mm×19.7mm(L*W*H),tolerance ±0.3mm
Serial number | name | describe |
1 | NC | Reservation |
2 | RX | Serial port (Circuit board serial port receiver ) |
3 | TX | Serial port (Circuit board serial port sending end ) |
4 | NC | Reservation |
5 | NC | Reservation |
6 | +5V | Power input terminal (+5V end ) |
7 | GND | Power input terminal (Grounding end ) |
8 | NC | Reservation |
9 | PWM | Pulse width modulation |
1.Serial port configuration: 9600 baud rate, 8 data bits, 1 stop bit, no parity;
2.Receive host commands:
1) Receive host commands: FE 04 00 03 00 01 D5 C5;
Response reply data: FE 04 02 01 E5 6D 3F; in FE 04 02 Represents the response data frame header, 01 E5, Represents carbon dioxide concentration 485 ppm,6D 3F for CRC Verify data;
2) Receive host commands: 64 69 03 5 E 4E;
Response reply data: 64 69 03 01 0 A 02 00 00 00 00 00 00 9B F0; Among them 64 69 03 01 represents the response data frame header, 0 A 02 Represents the concentration of carbon dioxide, 02 is the high, 0 A It is the low position, that is, 20 A, Indicates 522 ppm,9B F0 for CRC Verify data;
3) Receive host commands: 11 01 01 ED
Response data: 16 05 01 02 06 00 00 DC; in FE 16 05 01 Represents the response data frame header, 02 06 Represents the carbon dioxide concentration 518 ppm;
3.CRC calculate
uint16_t CO2ModbusComm::modbus_calcuCRC(uint8_t *dataarray, uint16_t datalen)
{
uint8_t uchCRCHi = 0xFF ; /* CRC High byte initialization */
uint8_t uchCRCLo = 0xFF ; /* CRC Low byte initialization */
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++;/* calculate CRC */
uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
uchCRCHi = auchCRCLo[uIndex];
}
crc = (uint16_t)uchCRCHi *256;
crc += (uint16_t)uchCRCLo;
return crc;
cycle | 1004ms±5% |
Central cycle | 1000ms±5% |
pass PWM Obtain the current CO2 Calculation formula for concentration value: Cppm=5000×(TH-2ms)/(TH+TL-4ms) | |
Cppm For calculation CO2 The concentration value unit is ppm TH The time when the output is high in an output cycle TL The time when the output is low in an output cycle | |
This product uses NDIR Technology: The current required during the time when the light bulb is turned on is relatively large. It is recommended that the power supply current is greater than 300. mA。
From the condensation state to the non-condensation state, the system can return to normal working state within 2 hours.
Please try to avoid vibration. If vibration, drop, and welding time is long, the measurement accuracy of the sensor may be deteriorated.If serious vibration or drop occurs, the accuracy of the product needs to be verified.
Do not use it for a long time in environments with high dust density.
Avoid in containing HF,H2S,SO2,HCL,NOX,NH3,PH3,CL2,F2, O3,H2O2 It is used for long-term use in an environment with acidic, alkaline and strong oxidizing gases.
Avoid exerting external forces in any direction on the housing, which can affect sensor performance and may cause damage
Please do not touch directly, and make sure the operator wears an electrostatic release bracelet.
The shell of this product is not grounded, ESD Applications with relatively high protection requirements, please contact the manufacturer's technical support.
phone:0755-26588758 13714285279(倪先生) 13922884770(王先生) 13923716479(倪先生)
fax:0755-26747274
email: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 技术支持:图页网 网站地图xml 网站地图html