MH-Z14A – датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами. Анемометр

Mh-z14a – датчик углекислого газа, сравнение с конкурентами.

В

прошлом обзоре

я сравнивал три датчика пыли. Сегодня в одном приборе четыре датчика CO2. Рассматриваем плюсы и минусы, изучаем подводные камни. Готовим простое и недорогое устройство для контроля воздуха дома.

Уровень СО2 влияет на наше самочувствие не меньше, чем пыль и аллергены в воздухе. Когда мы говорим, что нам душно, это не кислорода нам не хватает. Его уровень остается более-менее одинаковым. Это повышается уровень углекислого газа. В абсолютных значениях он повышается совсем незначительно. В относительных же диапазон от 0,04 до 0,5 процента — это расстояние от «чистейший горный воздух» до «тут опасно находиться, срочно покинуть помещение». В сети много полезной информации на эту тему, так что приступим сразу к делу.

У нас сегодня 4 датчика. Все они работают по одному принципу — измерению спектра инфра-красного излучения, проходящего через образец газа. Это довольно точный метод, но он дороже и сложнее другого, который основан на измерении электрических характеристик металло-оскидных пленок в среде анализируемого газа.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A
Это относительно старый датчик. Его характеристики:
Разрешающая способность в диапазоне измерения 0-2000 ppm: 5ppm;
Разрешающая способность в диапазоне измерения 2000-5000 ppm: 10ppm;
Разрешающая способность в диапазоне измерения 5000-10000 ppm: 20ppm;
Точность измерения: 50ppm ± 5%;
Повторяемость измерений: 30ppm;
Время измерения: < 30 сек.
Время прогрева: 3 мин.
Напряжение питания: 4-6В
Средний потребляемый ток: < 50mA
Максимальный потребляемый ток: < 100mA
Срок эксплуатации: > 5 лет.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Датчик выдает показания по трем каналам: UART, ШИМ-модуляция и аналоговый выход. Наиболее функциональный канал связи с датчиком — UART. Он позволяет не только получить точные измеренные значения, но и управлять датчиком. Производить калибровку. Это весьма важный момент, в описании рекомендуется калибровать датчик не реже чем раз в полгода.

MH-Z19A
Этот датчик выпускается тем же производителем, что и предыдущий, и должен был прийти ему на смену. Он заметно компактнее и экономичнее. Датчик выпускается в двух модификациях — «A» и «B». У нас более старая версия — «A». Его характеристики:

Диапазон измерения: 2000 или 5000 ppm;
Точность измерения: 50ppm ± 3%;
Время измерения: < 60 сек.
Средний потребляемый ток: < 18mA
Напряжение питания: 3,6 — 5,5В
Срок эксплуатации: > 5 лет.

Датчик выдает показания по двум каналам: UART и ШИМ-модуляция.

Senseair S8
Этот датчик считается наиболее точным. У нас версия 0053, вот ее характеристики:
Диапазоне измерения 400-2000 ppm;
Точность измерения: 40ppm ± 3%;
Напряжение питания: 4,5 — 5,25В
Средний потребляемый ток: < 18mA
Максимальный потребляемый ток: < 300mA
Срок эксплуатации: > 15 лет.

Датчик способен передавать измеренные значение по UART, шим-модуляцией, по протоколу Modbus, кроме того, имеется выход на внешние устройства, который включается при повышении концентрации CO2 до 1000 ppm и отключается при снижении до 800.
Как и у двух предыдущих датчиков, тут есть возможность калибровки и имеется автоматическая коррекция нулевого уровня.

LGAQS-HT01
Строго говоря, это не датчик углекислоты. Это металлооксидный датчик летучих органических соединений. Он определяет их концентрацию и подсчитывает абстрактный уровень углекислоты, эквивалентно влияющий на здоровье человека. Этот датчик представляет собой комбинацию двух датчиков — CCS811 (отвечает за ЛОС) и Si7021 — он измеряет температуру и влажность. Эти данные нужны для настройки датчика CCS811 для повышения точности измерений. Датчик подключается по I2C шине и доступен сразу по двум адресам — для снятия показаний с CCS811 и для Si7021. По каким-то причинам датчик влажности у меня все время показывает 50%, так что в прибор я добавил еще один датчик — BME280. Он более точно определяет температуру, влажность и давление.

Вот все датчики вместе.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

А вот прочие элементы будущего устройства:

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Нам потребуются: макетная плата, степдаун преобразователь 5->3,3 В, две платы интерфейса 5<->3,3 для согласования выводов датчиков и Ардуино, Ардуино Про Мини, экран, часы DS3221, «черный ящик» OpenLog, регистрирующий показания всех датчиков и разъем micro-usb, чтобы питаться от телефонной зарядки.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

После установки всех разъемов и распайки проводов у меня получилось вот что:

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Далее, была написана программа.

Код программы


///////////////////////////////////////////////////////////////////////
///                    © tykhon, 2022
///////////////////////////////////////////////////////////////////////
/*
MH-Z19
TX: 3<->5 A0
RX: 3<->5 A1
PWM:      12
Gnd:      Gnd
Vin:       5v
MH-Z14A
1_ 5v:     5v
2_Gnd:    Gnd
6_Pwm:
11_RX: 3<->5 7
10_TX: 3<->5 6
S8:
G :        5v
G0:       Gnd
Rx: 3<->5 A3
Tx: 3<->5 A2
LGAQS-HT01
SCL:      A5
SDA:      A4
Gnd:      Gnd
VDD:      3.3v
BMP280
SCL:      A5
SDA:      A4
Gnd:      Gnd
VDD:      3.3v
DS3231
SCL:      A5
SDA:      A4
Gnd:      Gnd
VDD:      5v
TFT
Led: -> 150 Ohm -> 5v
SCK: -> 1 KOhm -> 13
SDA: -> 1 KOhm -> 11
A0:  -> 1 KOhm -> 8
Reset: -> 1 KOhm ->  9
CS:  -> 1 KOhm -> 10
Gnd:      Gnd
Vcc:      5v
*/
#include <Adafruit_GFX.h>                 // for LCD Core graphics library
#include <Adafruit_ST7735.h>              // for LCD  Hardware-specific library
#include <CCS811.h>                       // for TVOC sensor
#include <Adafruit_Sensor.h>              // for bme280
#include <Adafruit_BME280.h>              // for bme280
#include <SoftwareSerial.h>
#include "Wire.h"
#define TFT_CS     10
#define TFT_RST    9 
#define TFT_DC     8
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS,  TFT_DC, TFT_RST);
#define SEALEVELPRESSURE_HPA (1013.25)      // for bme280
Adafruit_BME280 bme;                        // for bme280 I2C
#define CCS811_ADDR 0x5A                     // for LGAQS-HT01 or ccs811
#define SI7021_ADDR 0x40                     // for LGAQS-HT01 or si7021
#define WAKE_PIN  5                          // for LGAQS-HT01 or ccs811
#define DS1307_ADDR 0x68                     // RTC address
CCS811 sensor;
float si7021_h = 0;
float si7021_t = 0;
unsigned int data[2];
int ccs188_co2 = 0;
int ccs188_tvoc = 0;
int z14_co2;
int z19_co2;
int z19_t;
int z19_ss;
int ccs188_co2_last;
int ccs188_tvoc_last;
int z14_co2_last;
int z19_co2_last;
unsigned long s8_co2_sum = 0;
unsigned long z14_co2_sum = 0;
unsigned long z19_co2_sum = 0;
unsigned long ccs188_co2_sum = 0;
unsigned long ccs188_tvoc_sum = 0;
unsigned long bme_t_sum = 0;
unsigned long bme_h_sum = 0;
unsigned long bme_p_mm_sum = 0;
unsigned int polls = 0;
unsigned long s8_co2 = 0;
unsigned long s8_co2_last = 0;
int bme_t;
int bme_h;
float bme_p;
int bme_p_mm;
const float hpa2mm = 133.3224;
SoftwareSerial mySerial_z19(A0, A1);     
SoftwareSerial mySerial_s8(A2, A3);      
SoftwareSerial mySerial_z14(7, 6);       
byte cmd_z14[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; 
unsigned char response_z14[9]; 
String ppmString = " ";
byte cmd_z19[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79}; 
byte cmd_s8[7] = {0xFE,0x44,0x00,0x08,0x02,0x9F,0x25}; 
unsigned char response_z19[9];
byte response_s8[] = {0,0,0,0,0,0,0};
unsigned int current_minute, lastminute;
int second_delay = 30000;                    // delay between measurements, ms
int work_period = 3;                        // period for recording data, min
////////////////////////////////////////   functions    //////////////////////////////////////////////
byte bcdToDec(byte val)  {
return ( (val/16*10)   (val) );
}
String getdate(){
Wire.beginTransmission(DS1307_ADDR);      // Reset the register pointer
byte zero = 0x00;
Wire.write(zero);
Wire.endTransmission();
Wire.requestFrom(DS1307_ADDR, 7);
int secondint = bcdToDec(Wire.read());
int minuteint = bcdToDec(Wire.read());
current_minute = minuteint;
int hour = bcdToDec(Wire.read() & 0b111111); //24 hour time
int weekDay = bcdToDec(Wire.read()); //0-6 -> sunday - Saturday
int monthDay = bcdToDec(Wire.read());
int month = bcdToDec(Wire.read());
int year = bcdToDec(Wire.read());
String second = String(secondint); if (secondint < 10) {second ="0" second;};
String minute = String(minuteint); if (minuteint < 10) {minute ="0" minute;};
return String(hour) ":" minute ":" second " " String(monthDay) "/" String(month) "/" String(year);
}
void sendRequest_s8(byte packet[]){ 
mySerial_s8.begin(9600);
while(!mySerial_s8.available()){                       //keep sending request until we start to get a response 
mySerial_s8.write(cmd_s8,7); 
delay(50); 
} 
int timeout=0;                                         //set a timeout counter 
while(mySerial_s8.available() < 7 ) {                 //Wait to get a 7 byte response 
timeout  ; 
if(timeout > 10) {                                  //if it takes to long there was probably an error 
while(mySerial_s8.available())                  //flush whatever we have 
mySerial_s8.read(); 
break;                                          //exit and try again 
} 
delay(50); 
} 
for (int i=0; i < 7; i  ) { 
response_s8[i] = mySerial_s8.read(); 
}
mySerial_s8.end();
}                      
unsigned long getValue_s8(byte packet[]) 
{ 
int high = packet[3];                                   //high byte for value is 4th byte in packet in the packet 
int low = packet[4];                                    //low byte for value is 5th byte in the packet 
unsigned long val = high*256   low;                     //Combine high byte and low byte with this formula to get value 
return val; 
}
void sendRequest_SI7021(){
Wire.beginTransmission(SI7021_ADDR);
Wire.endTransmission();
delay(500);
Wire.requestFrom(SI7021_ADDR, 2);                         // Request 2 bytes of data
if(Wire.available() == 2)                                 // Read 2 bytes of data to get humidity
{
data[0] = Wire.read();
data[1] = Wire.read();
}
float hum = ((data[0] * 256.0)   data[1]);                // Convert the data
si7021_h = ((125 * hum) / 65536.0) - 6;
Wire.begin();
Wire.beginTransmission(SI7021_ADDR);                      // Send temperature measurement command
Wire.write(0xF3);
Wire.endTransmission();
delay(500);
Wire.requestFrom(SI7021_ADDR, 2);                         // Request 2 bytes of data
if(Wire.available() == 2)                                 // Read 2 bytes of data for temperature
{
data[0] = Wire.read();
data[1] = Wire.read();
}
float temp  = ((data[0] * 256.0)   data[1]);              // Convert the data
si7021_t = ((175.72 * temp) / 65536.0) - 46.85;           // 
}
void sendRequest_ccs188(){
sensor.compensate(si7021_t, si7021_h);                    // replace with t and rh values from sensor
sensor.getData();
ccs188_co2 = sensor.readCO2();
ccs188_tvoc = sensor.readTVOC();
}
void sendRequest_z14(){
mySerial_z14.begin(9600);
mySerial_z14.write(cmd_z14, 9);
memset(response_z14, 0, 9);
mySerial_z14.readBytes(response_z14, 9);
int i;
byte crc = 0;
for (i = 1; i < 8; i  ) crc =response_z14[i];
crc = 255 - crc;
crc  ;
if ( !(response_z14[0] == 0xFF && response_z14[1] == 0x86 && response_z14[8] == crc) ) {
Serial.println("CRC error z14: "   String(crc)   " / "  String(response_z14[8]));
} else { 
unsigned int responseHigh = (unsigned int) response_z14[2];
unsigned int responseLow = (unsigned int) response_z14[3];
z14_co2 = (256*responseHigh)   responseLow;
};
mySerial_z14.end();
}
void sendRequest_z19(){
mySerial_z19.begin(9600);
mySerial_z19.write(cmd_z19, 9);
memset(response_z19, 0, 9);
mySerial_z19.readBytes(response_z19, 9);
int i;
byte crc = 0;
for (i = 1; i < 8; i  ) crc =response_z19[i];
crc = 255 - crc;
crc  ;
if (response_z19[0] != 0xFF) {Serial.println("CRC error z19: response_z19[0] != 0xFF: "   String(response_z19[0]));};
if (response_z19[1] != 0x86) {Serial.println("CRC error z19: response_z19[1] != 0x86: "   String(response_z19[1]));};
if (response_z19[8] != crc) {Serial.println("CRC error z19: response_z19[8] != crc: "   String(response_z19[8])   " / "  String(crc));};
unsigned int responseHigh = (unsigned int) response_z19[2];
unsigned int responseLow = (unsigned int) response_z19[3];
unsigned int responseTT = (unsigned int) response_z19[4];
unsigned int responseSS = (unsigned int) response_z19[5];
z19_t = responseTT-40;
z19_ss =  responseSS;
z19_co2 = (256*responseHigh)   responseLow;
mySerial_z19.end();
}
void tft_form(){
tft.setTextSize(2);
tft.setCursor(0, 4);
tft.print("ccs: ");
tft.setCursor(0, 30);
tft.print("z19: ");
tft.setCursor(0, 60);
tft.print("z14: ");
tft.setCursor(0, 90);
tft.print("s8: ");
}
void tft_output(){
tft.setTextSize(2);
tft.setTextColor(ST7735_BLACK);
tft.setCursor(60, 4);
tft.print(String(ccs188_co2_last));
tft.print(String("/"));
tft.print(String(ccs188_tvoc_last));
tft.setTextColor(ST7735_WHITE);
tft.setCursor(60, 4);
tft.print(String(ccs188_co2));
tft.print(String("/"));
tft.print(String(ccs188_tvoc));
ccs188_co2_last = ccs188_co2;
ccs188_tvoc_last = ccs188_tvoc;
tft.setCursor(60, 30);
tft.setTextColor(ST7735_BLACK);
tft.print(String(z19_co2_last));
tft.setCursor(60, 30);
tft.setTextColor(ST7735_WHITE);
tft.print(String(z19_co2));
z19_co2_last = z19_co2;
tft.setCursor(60, 60);
tft.setTextColor(ST7735_BLACK);
tft.print(String(z14_co2_last));
tft.setCursor(60, 60);
tft.setTextColor(ST7735_WHITE);
tft.print(String(z14_co2));
z14_co2_last = z14_co2;
tft.setCursor(60, 90);
tft.setTextColor(ST7735_BLACK);
tft.print(String(s8_co2_last));
tft.setCursor(60, 90);
tft.setTextColor(ST7735_WHITE);
tft.print(String(s8_co2));
s8_co2_last = s8_co2;
tft.setTextSize(1);
tft.fillRect(0, 117, 160, 120, ST7735_BLACK);
tft.setCursor(0, 117);
tft.print(String(getdate()));
}
///////////////////////////////////////  setup   /////////////////////////////////////////
void setup(void) {
Serial.begin(9600);
bool status;
status = bme.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
delay(100); // let sensor boot up
tft.initR(INITR_BLACKTAB);   // initialize a ST7735S chip, black tab
Serial.println("init");
if(!sensor.begin(uint8_t(CCS811_ADDR), uint8_t(WAKE_PIN)))
Serial.println("Init fail");
tft.setTextWrap(false); // Allow text to run off right edge
tft.setRotation(3);
tft.fillScreen(ST7735_BLACK);
tft_form();
}
////////////////////////////////////////////////   loop    /////////////////////////////////////////////////////
void loop() {
sendRequest_SI7021();
sendRequest_ccs188();
sendRequest_z14();
sendRequest_z19();
sendRequest_s8(cmd_s8); 
s8_co2 = getValue_s8(response_s8); 
bme_p = bme.readPressure();
bme_p_mm = int(bme_p/hpa2mm);
bme_h = bme.readHumidity();
bme_t = bme.readTemperature();
s8_co2_sum  = s8_co2;
z14_co2_sum  = z14_co2;
z19_co2_sum  = z19_co2;
ccs188_co2_sum  = ccs188_co2;
ccs188_tvoc_sum  = ccs188_tvoc;
bme_t_sum  = bme_t;
bme_h_sum  = bme_h;
bme_p_mm_sum  = bme_p_mm;
polls   ;
getdate();
tft_output();
if (((current_minute)%work_period == 0)&&(lastminute != current_minute)) {
s8_co2 = s8_co2_sum/polls;
z14_co2 = z14_co2_sum/polls;
z19_co2 = z19_co2_sum/polls;
ccs188_co2 = ccs188_co2_sum/polls;
ccs188_tvoc = ccs188_tvoc_sum/polls;
bme_t = bme_t_sum/polls;
bme_h = bme_h_sum/polls;  
bme_p_mm = bme_p_mm_sum/polls;
String dataString = getdate() "  s8:  " String(s8_co2) "  z14:  " String(z14_co2) "  z19:  " String(z19_co2) "  z19_t:  " String(z19_t) "  ccs:  " String(ccs188_co2)   "  TVOC:  " String(ccs188_tvoc) "  ccs_t:  " String(si7021_t) "  ccs_h:  " String(si7021_h) "  bme_t:  " String(bme_t) "  bme_h:  " String(bme_h);
dataString.replace(".",",");
dataString.replace("  ","t");
Serial.println(dataString);
lastminute = current_minute;
polls = 0;
s8_co2_sum = 0;
z14_co2_sum = 0;
z19_co2_sum = 0;
ccs188_co2_sum = 0;
ccs188_tvoc_sum = 0;
bme_t_sum = 0;
bme_h_sum = 0;
bme_p_mm_sum = 0;
};
delay(second_delay);
}

Про анемометры:  СПРАВОЧНИК по экологии

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Первые данные, снятые с прибора, выглядят на графике вот так:

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Датчик MH-Z14 включился впервые, так что он какое-то время потратил и еще потратит на калибровку. Видно, что его показания сильно коррелируют с показаниями датчика S8, но Z14 несколько шатает из стороны в сторону. Механизм автокалибровки состоит в следующем: датчик помнит минимальное значение измеренного уровня за какое-то время (около недели). Если минимум превышает 400 ppm, то скорее всего датчик завышает показания. Внутренние коэффициенты изменяются так, чтобы выдаваемое значение снижалось. За одну неделю вносимая поправка не может превышать 30-50 ppm, так что датчик необходимо «проветривать» раз в неделю для корректировки нулевых значений.

Вот еще пример графика снятых значений:

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Видно, что теперь датчик слегка занижает уровень относительно S8. Но его более современный собрат Z14 занижает еще сильнее. Вероятно, в нем произошла калибровка нулевого значения. У этих датчиков, MH-Z14, есть специальный вывод для калибровки. При замыкании его на землю и удержании в течении 7 секунд датчик калибруется, рассматривая текущую атмосферу как нулевую точку.
Более свежая модификация «B» этого датчика отличается наличием аналогового выхода и возможностью калибровки не только по нулевому уровню, но и по произвольной точке, что особенно полезно, потому что газ, совершенно свободный от примеси углекислоты, в домашних условиях получить хлопотно. Вероятно, мой датчик случайно замкнул эту ногу и перекалибровался по 400ppm. Теперь могут уйти долгие недели на то, чтоб автокалибровка вернула более-менее правдоподобные показания. Или нужно искать жидкий азот, чтоб обеспечить для него безуглекислотную атмосферу.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Четвертый датчик, измеряющий eCO2, выполняет свою работу вполне неплохо. Всплеск его показаний в правой части графика — результат моей работы со спиртом. Я как раз протирал плату в этот момент, что он и зафиксировал.

Что в итоге:

Все датчики более-менее правдоподобно отражают изменения атмосферы в квартире. MH-Z19 нуждается в повторной калибровке. Ее механизм значительно усовершенствован в более поздней версии, MH-Z19B, так что я бы порекомендовал приобретать именно ее.

Датчик MH-Z14 оказался очень неплохим, его показания почти совпадают с более дорогим Senseair S8.
Датчик LGAQS-HT01 тоже правдоподобно показывает наличие примесей в атмосфере и послужит хорошим дополнением к датчикам углекислоты.

Теперь у меня в планах собрать одно устройство с лучшим из трех датчиков пыли из прошлого обзора и одним из датчиков углекислоты из этого обзора.
Пока готов код, отображающий на экране ситуацию с запылённостью. Подробности об этом проекте я добавил в обзор датчиков пыли, включая скетч для Ардуино. Показания прибора сегодня выглядят вот так:

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Скоро туда добавится график измерения уровня углекислоты. Если нужно, объединенный скетч по мере готовности я выложу в этом обзоре.

MH-Z14A — рабочий датчик, рекомендую к покупке. Сейчас прилагается USB to RS485 TTL преобразователь, в хозяйстве пригодится.

Товар предоставлен для написания обзора магазином. Обзор опубликован в соответствии с п.18 Правил сайта.

S s regeltechnik

И еще один производитель инфракрасных датчиков – немецкая компания S S Regeltechnik – производитель контрольно-измерительного, вентиляционного и климатического оборудования (датчиков воды, дыма, тепла, розеток с термостатом и т.д).

Самокалибрующиеся энергосберегеющие углекислые датчики компании S S Regeltechnik являются очень надежными, чувствительными устройствами, не нуждающимися в техническом обслуживании.

Обладая высокой избирательностью и устойчивостью к помехам и вибрации, они используются для мониторинга качества воздуха в закрытых помещениях.

Про анемометры:  Датчик положения педали газа на Рено Меган 2

Senseair

На сегодняшний день самым известным производителем датчиков углекислого газа является шведская компания SenseAir. Мировой лидер в отрасли разработки и производства не только газовых анализаторов, но и оборудования для систем “Умный дом”(датчиков движения, автоматических розеток, GSM охранных сигнализаций).

Углекислые датчики компании SenseAir, работающие по методу недисперсионной ИК-спектрометрии, в отличие от своих аналогов, имеют более высокие эксплуатационные характеристики.

Они могут использоваться как в помещении, так и на открытом воздухе, и решать одновременно несколько задач (измерять концентрацию СО2, температуру и влажность воздуха).

При необходимости устройства подключаются к компьютеру, обеспечивающему длительную бесперебойную работу и быстрый отклик в широком диапазоне.

Без источника питания

Источника питания в комплекте нет. Прибор можно подключить к любому зарядному устройству с разъёмом USB. Я измерил потребление прибора. Он постоянно потребляет 22 mA, а раз в четыре секунды, когда происходит замер, потребление возрастает до 150 mA на доли секунды.

Прибор производится компанией ZyAura и отличается от их модели ZGm053U только наличием звукового сигнала. Построен прибор на датчике ZG01C, произведённом этой же компанией. Технология определения уровня CO2 лучшая из всего, что есть — Dual Beam NDIR.

Вариант №2

Анализатор углекислого газа AZ, имеющий артикул CO22_EU, выглядит как фото-рамка с габаритами 130*85*60 мм

Устройство можно связать с системой вентиляции и задать определённое значение, по которому будет происходить включение, либо отключение вентиляции. Возможен вывод показания содержания углекислоты на компьютер.

Технические характеристики:

  • Диапазон измерения: 0 -2000 ppm, 2001 – 9999 вне шкалы (с разрешением в 1 ppm)
  • Точность измерения CO2: ±50 ppm
  • Время выхода на режим после включение: 30 секунд
  • 3,07” LCD экран c подсветкой
  • Питание 12 V / 1 А
  • Ёмкость аккумулятора 50 мА

Купить данный газоанализатор со скидкой.

Вариант №9

На али экспрессе возможно приобрести сенсор без вывода данных. Он пригодится при необходимости удалённого контроля за концентрацией углекислого газа, при необходимости вывода посредством wi-fi, либо проводной сети сразу нескольких показателей на общий пульт контроля, управления.

Характеристики модуля:

  • Способен измерять концентрацию CO2: 1 – 5000 ppm
  • Точность: ± 50ppm
  • Размеры: 30*20*9 мм
  • Вес: 21 г
  • Срок службы: 5 лет
  • Рабочее напряжение 3,6 – 5,5 V, сила тока 18 мА

Купить данный газоанализатор со скидкой.

Виды датчиков со2

Виды датчиков CO2Современный рынок измерительных приборов предлагает вниманию потребителя датчики, отслеживающие концентрацию углекислого газа, в зависимости от питания, подразделяющиеся на:

  • Стационарные (работающие от электрической сети), предназначенные для настенного монтажа, настольные, напольные и монтируемые непосредственно в воздушный канал;
  • Автономные (получающие энергию от внешнего аккумулятора).

Для определения уровня СО2 в воздуховодах используются канальные датчики, а для измерения количества газа в жилых и офисных помещениях – комнатные.

«Старшие», более унифицированные модели, в зависимости от концентрации угольного ангидрида, могут управлять вентиляционной системой, т. е регулировать расход приточного воздуха, а также производить калибровку на открытом пространстве.

Большинство современных СО2-метров одновременно с определением концентрации углекислоты позволяют контролировать температуру и влажность воздуха благодаря встроенным датчикам и сообщать о возникновении задымлений.

Выбираю измеритель co2

Вчера я рассказал, почему очень важно поддерживать допустимый уровень углекислого газа в помещении (http://ammo1.livejournal.com/467022.html). Но для того, чтобы его поддерживать, нужно этот уровень, как минимум, знать.

Сегодня расскажу о том, какие существуют приборы для измерения уровня CO2.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

В мире есть всего несколько производителей датчиков CO2. Самый известный – SenseAir. Их датчики работают по принципу “nondispersive infrared sensor” (NDIR). NDIR-сенсор – это спектрометр, измеряющий поглощение света с длиной волны 4 микрометра в зависимости от концентрации измеряемого газа.

Современный датчик SensAir K30 даёт точность 30 ppm и стоит $65, но приборы на его основе стоят от $200. В более дешёвых приборах используются датчики предыдущего поколения K22 с точностью 50 ppm.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Напомню, что для оценки состояния воздуха в помещении достаточно осознавать превышение 700 ppm, при том, что уровень CO2 в уличном воздухе составляет 400 ppm, так что лишние 20 ppm точности особой роли не играют.

Большинство бюджетных измерителей CO2 выпускают два тайваньских производителя – AZ Instrument и MIC. Их приборы под своими названиями продаются за $260-390, при этом они же без названия или с другими названиями продаются за $113-149.

Крупнейший продавец измерителей CO2 на eBay и Aliexpress – “GAIN EXPRESS”. Сейчас у них в продаже 7 видов приборов по цене от $113 до $149. Обратите внимание, что туда же затесались измерители угарного газа CO, которые нас не интересуют.

Датчик CO2 потребляет довольно много энергии, поэтому все домашние измерители CO2 работают от блока питания, а не от батареек. Все измерители CO2 достаточно точно показывают температуру и влажность.

Вот четыре модели на датчиках SensAir K22. По точности измерения CO2 они одинаковы – 50 ppm.

CO87 (в оригинале – AZ Instrument 7787) за $113.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

По картинке может сложиться впечатление, что прибор маленький. На самом деле его диаметр 12 см.

Это самый простой и дешёвый CO2-монитор. Датчик влажности в нём резистивный, поэтому он неспособен измерять влажность ниже 20%, да и выше точность измерения не очень высокая (5-7%). Есть часы, не сбрасывающиеся при отключении питания. Провод питания вставляется сзади.

M0198130 (в оригинале MIC 98130L) за $129.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Здесь уже ёмкостной датчик влажности, дающий точность 3-5%. Есть ручное запоминание текущих параметров (99 ячеек). Провод вставляется сбоку, и он на виду. Дата и время отображаются попеременно и это не отключается. При отключении питания время сбрасывается.

CO98 (в оригинале AZ Instrument 7798) за $132.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

Помимо ёмкостного датчика в этой модели есть даталоггер на 5333 события, записывающий значения в память через указанные интервалы времени. Данные можно выгрузить в excel через USB.

CO22 (в оригинале AZ Instrument 7722) за $141.5.

MH-Z14A - датчик углекислого газа, сравнение с конкурентами.

В этой модели нет часов и даталоггера, провод питания торчит сбоку, зато есть релейный выход для управления приточной вентиляцией, датчики температуры и влажности помещены в трубку над прибором, что повышает точность и ускоряет измерения, а ещё в этом приборе можно отключить автоматическую калибровку датчика CO2.

У трёх предыдущих моделей автоматическая калибровка датчика CO2 неотключаемая и для сохранения точности показаний желательно хотя бы раз в неделю полностью проветривать комнату, где стоит прибор. У этого прибора можно отключить автоматическую калибровку и периодически делать её ручную.

Я склоняюсь к последнему варианту, а вы что посоветуете купить?

Множество полезной информации я почерпнул на форуме “Выбор бытового измерителя концентрации углекислого газа CO2 Monitor”. Отдельное спасибо пользователю этого форума Andrey23.

§

§

Достоинства и недостатки

Среди производителей оптических детекторов углекислого газа одним из самых известных считается шведская компания SenseAir. Доведя технологию гаджетов до совершенства, она сделала их максимально точными, стабильными и надежными.

Современные датчики SenseAir, работающие по методу NDIR (недисперсионной ИК-спектрометрии), в сравнении с моделями других производителей, показывают не только уровень СО2 в ppm, но и точное оценочное состояние углекислого газа, время, дату, температуру и влажность воздуха.

Про анемометры:  EGR в дизельном двигателе: что это такое?

Также немаловажным фактором является современный дизайн, компактность и малогабаритный вес изделия, позволяющий его использовать поочередно в нескольких помещениях, тем самым обеспечивая более точный контроль.

Практически все без исключения модели датчиков углекислого газа считаются достойной альтернативой каталитическим девайсам. Они обладают высокой чувствительностью, хорошими стабилизационными характеристиками и большим сроком эксплуатации, неприхотливы в обслуживании, не требуют сложных манипуляций в настройках, и всегда позволяют сориентироваться, стоит ли дать доступ свежему воздуху для создания более здорового микроклимата.

Недостатки:

  • Газоанализаторы, работающие на основе электрохимического метода, менее долговечны и менее чувствительны, чем приборы недисперсионной инфракрасной спектрометрии. Поэтому при определении концентрации СО2 они используются гораздо реже.
  • Датчики углекислого газа достаточно чувствительны к действию пыли и влаги.

Конструкция датчика со2

Канальный датчик CO2 - VCP CDD24Недисперсионные газоанализаторы, применяющиеся для определения концентрации углекислого газа в воздухе, комплектуются светофильтрами или специальными приемниками, использующими немонохроматическое излучение.

Помимо светового фильтра, устройства оснащаются рабочей камерой. Подающийся в ней воздух далее попадает в специальный приемник. В качестве источника излучения может выступать светодиод, нагретая спираль или инфракрасный лазер.

В зависимости от уровня концентрации углекислый газ поглощает часть световых лучей, пропорционально изменяя регистрируемый сигнал. При использовании источника немонохроматического излучения для получения достоверного результата применяется селективный приемник.

Помимо селективных приемников в инфракрасных датчиках СО2 могут использоваться термобатареи, болометры или полупроводниковые элементы. В данной ситуации приборы оснащаются газовыми или интерференционными фильтрами.

Также некоторые производители анализаторов газа при изготовлении приборов применяют сборный фильтр, содержащий I и II полосовые фильтра. Первый пропускает установленную инфракрасную полосу, а второй – нет. Позади фильтровального элемента располагается сборный детектор и связанное с ним вычислительное устройство, формирующее рассогласование сигналов.

В качестве материала, использующегося для изготовления датчика, применяют стандартный поликарбонат или акрилнитрил-бутадиен-стирол. Эти легкие, и в то же время невероятно прочные пластические сплавы легко поддаются обработке, обладают отличными изоляционными свойствами и высокой стойкостью к химическому воздействию.

Газоанализаторы, предназначенные для применения под открытым небом, изготавливаются из поликарбоната РС. В то же время приборы из АВС с более низкой ударопрочностью и диапазоном рабочих температур применяются только внутри помещений.

Действие датчиков СО2 основано на способности данных устройств избирательно поглощать газ, молекулы которого состоят из двух разных атомов. Дисперсионные анализаторы предусматривают использование одноволнового излучения, полученного при помощи монохроматографа.

Что же касается недисперсионных устройств, то в их работе применяется немонохроматическое излучение, последовательно проходящее через светофильтр и рабочую камеру, содержащую анализируемую смесь (в данном случае воздух). Присутствующий в нем углекислый газ поглощает часть излучения (какую – зависит от концентрации). Как следствие, происходит пропорциональное изменение регистрируемого сигнала.

Меры предосторожности

Практически все сенсоры, работающие по принципу инфракрасной спектроскопии, очень чувствительны к пыли и внешним механическим воздействиям (ударам). Это следует знать и учитывать при размещении и эксплуатации датчиков.

При невозможности установить прибор в месте, защищенном от воздействия сильного ветра, прямого попадания пара, вибрации, скопления пыли и атмосферных осадков, перед датчиком устанавливается специальный грязевой щиток.

Перед снятием детектора СО2 его следует предварительно отключать от источника электропитания.

При проведении технического обслуживания, во избежание скопления статического заряда на пластиковых поверхностях, щитке или переходнике, необходимо избегать контакта материалов друг с другом, а также, по возможности, заземлить все доступные металлические части электрооборудования.

На все без исключения модели датчиков распространяется гарантия. Однако устройство может быть снято с гарантийного обслуживания при несоблюдении потребителем требований компании-производителя, использованию прибора не по назначению, а также при наличии следов постороннего вмешательства, попадании внутрь корпуса инородных предметов и жидкостей, а также при внесении изменений в конструкцию.

Проблемы

При проникновении воды в корпус датчика он может выйти из строя. Следует отметить, что подобное повреждение не покрывается гарантией. Однако, в связи с тем, что корпус устройства достаточно герметичен, чаще всего намокают только окончания проводов.

Это может повлечь за собой коррозию или ослабление крепления клеммных соединений. Для решения подобной проблемы необходимо обеспечить долгосрочную коррозионную защиту и заблокировать неиспользуемые порты.

Такая неисправность, как сбой нуля датчика, устраняется повторной калибровкой, которая должна проводиться в соответствии с прилагаемой инструкцией.

Если на дисплее не отражаются показатели, это может сигнализировать об избытке солнечного света или отсутствии отклика трансмиттера. В первом случае, для уменьшения отблеска, необходимо установить защитный щиток, а во втором – проверить подачу напряжения на клеммы, а также убедиться, что нет сбоя в ITM, и на кабеле отсутствует влага, приводящая к коррозии его металлических частей.

Устройство

Принцип действия ИК датчика CO2Датчик СО2 представляет собой прибор, предназначенный для мониторинга окружающего воздуха и определения концентрации содержащейся в нем двуокиси углерода.

Принцип работы данного сенсорного устройства основан на изменении интенсивности инфракрасного излучения до и после поглощения углекислого газа в диапазоне 1-15 мкм. При помощи СО2-метра измеряется количество света, прошедшего через светофильтр и поглощенного углекислотой.

После сравнения с показателями потока светового излучения, прошедшего мимо оптического устройства, прибор определяет разницу и выдает показатель концентрации углекислого газа.

Недисперсионный инфракрасный метод детектирования отличается высокой стабильностью, хорошей избирательностью и не зависит от содержания находящегося в воздухе кислорода.

Функции датчика со2

Датчик концентрации CO2 Mooij AgroДатчики СО2 предназначены для измерения концентрации и контроля граничных значений углекислого газа в диапазоне от 0 до 100%. Данные устройства применяются в системах охранных сигнализаций, автоматических системах вентиляции, контролирующих качество воздуха, для определения содержания углекислоты в воздушном потоке, а также уровня газа в помещении и на свежем воздухе.

В норме концентрация СО2 должна находиться в пределах 0,04%. Разумеется, такое его количество постоянно поддерживать в помещении практически невозможно.

При этом даже незначительное увеличение концентрации углекислого газа может пагубно отразиться не только на работоспособности, но и на общем состоянии человека, приводя к негативным изменениям в составе крови, снижению рН, ацидозу, увеличению концентрации бикабоната и кислородному голоданию.

Благодаря датчику, определяющему процентное содержание углекислоты в окружающем воздухе, можно своевременно предотвратить развитие этих негативных последствий и быстро нормализовать нарушенный газообмен.

Эксплуатация

Датчик CO2 MonitorДатчики углекислого газа, являющиеся одним из основных критериев эффективности вентиляционных систем, в зависимости от комплектации, могут устанавливаться в обслуживаемой зоне (на высоте 1-2 метра над уровнем пола), или в сборном вытяжном воздуховоде. Через прибор должно проходить достаточное количество воздуха.

Чтобы предотвратить газообмен между воздухом, содержащимся в воздуховоде, корпус анализатора должен быть тщательно заизолирован. В помещениях с большим количеством людей, постоянно выдыхающих углекислый газ, устройство должно крепиться не менее чем в метре от живых объектов.

Датчики размещают на доступной высоте, в хорошо освещенном месте.

Это позволяет без труда снимать показатели, проверять их достоверность и производить повторную калибровку.

При определении концентрации оксида углерода на свежем воздухе прибор выносится на улицу, после чего осуществляется продувка в соответствии с инструкцией производителя устройства.

Допустимые условия окружающей среды:

  • влажность – 0-95% (при отсутствии конденсата);
  • температура: 0-50 С.
Оцените статью
Анемометры
Добавить комментарий