Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B Анемометр

Что такое ардуино

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

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

Span калибровка

Данный вариант рекомендуется запускать после прохождения Zero-Point калибровки и выполнить ее можно только посредством команды через последовательный порт. В этом варианте подразумевается, что вы точно знаете уровень CO2 в атмосфере, в которой находится датчик.

Спецификация рекомендует проводить Span-калибровку при значении 2000 ppm, но можно использовать и другое значение, т.к. оно передается вместе с командой на проведение калибровки. И да, сам датчик стоит выдержать в калибруемой атмосфере не менее 20 минут.

Thingspeak

Как видно из приведенного ниже графика, содержание диоксида углерода плавает в течение 12 часов. Датчик установлен в комнате с одним окном. В комнате периодически обитает двое взрослых и два мелких хищника. Окно постоянно приоткрыто для проветривания.

По графику хорошо видно, что в ночное время содержание CO2 колеблется на приемлемом уровне в районе 500 ppm, а около 8 утра наблюдается небольшой всплеск до 600. Ночью, когда любая активность минимальна, проветривания оказалось достаточно для поддержания оптимального уровня свежести воздуха.

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

Графики на ThingSpeak хороши, но не гибки. Но я не поленился и выгрузил данные сразу за несколько дней для анализа в Excel. Благо подобная функция, функция выгрузки, присутствует в ThingSpeak. Несколько несложных манипуляций и готов весьма подробный график готов.

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

Как видно, после начала сбора данных значения CO2 весьма и весьма высоки. Я и сам был удивлен столь неоднозначным показаниям. Но ответ нашелся быстро: в те дни на улице стояла прохладная температура с сильным ветром. И чтобы не понижать температуру в помещении до некомфортных значений, пластиковые окошки прикрыли.

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

Zero-point калибровка

Это рекомендуемый вариант калибровки, который необходимо провести даже если будет проводится калибровка методом Span. Запуск калибровки можно провести двумя способами, либо командой через последовательный порт, либо замкнув контакт HD на землю на время не менее 7 секунд.

За это время датчик проведет несколько измерений и откалибруется. Калибровка в этом варианте происходит по общемировому значению CO2 в атмосфере которая примерно составляет 400 ppm. Для проведения калибровки высовываем датчик за окошко на время не менее 20 минут, потом запускаем калибровку.

Версии аппаратной части платформы ардуино

На сегодняшний день существует несколько видов плат Arduino. Последняя разработка Leonardo использует микроконтроллер AT mega 32u4, а Duemilanove построена на Atmel At mega 328. Для сборки детектора углекислого газа применяют чаще всего более дешёвую модель — Arduino Uno, основанную на том же микроконтроллере, что и предыдущая версия платформы.

Платформа Ардуино Уно:

Влияние содержания со2 на человека

С повышением уровня углекислого газа в помещении люди начинают ощущать духоту, учащается сердцебиение, появляется утомляемость. Дальнейшее ухудшение качества воздуха может и вовсе привести к трагическим последствиям. Концентрацию газа в атмосфере ограниченного объёма измеряют в ppm.

Содержание СО2, ppmСимптомы
1400–800Отличное самочувствие
2800–1200Сонливость, утомляемость, падает внимание
31200 и болееПотеря трудоспособности, угроза здоровью

Влияние СО2 на человека:

История создания arduino

Автором универсального прибора считается житель итальянского городка Ивреа в провинции Пьемонт. Молодой преподаватель местного университета Массимо Банци с коллегами в 2005 году, пытаясь создать универсальную платформу для обучения студентов программированию, оснастил микроконтроллер ATMEGA дополнительной обвязкой. В результате Банци получил продукт, крайне востребованный на рынке электроники.

Про анемометры:  Анемометр МС-13 - Основы метеорологии

Интересен сам факт названия электронной платформы. Группа университетских программистов частенько засиживалась в местном баре под названием Arduino. Так в давние времена звали местного правителя. Вот авторы изобретения и решили так назвать своё детище.

Как сделать датчик газа на ардуино своими руками

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

Существует несколько проектов сборки детектора углекислого газа на Ардуино. Стоит рассмотреть два наиболее популярных из них. В принципе оба отличаются тем, что в первом случае используется датчик углекислого газа MQ-135, а в другом варианте применяется китайский инфракрасный прибор MH-Z19B.

Калибровка

Датчик Z19 имеет возможность калибровки. Причем возможна калибровка двумя способами. Первый и самый точный способ: калибровка абсолютного нуля. Для этого датчик необходимо поместить в атмосферу из чистого азота, подождать пока азот не вытеснит все остальные газы из корпуса датчика, примерно пять минут, и запустить калибровку командой. Результаты будут записаны в память микроконтроллера сенсора, и они будут использоваться для последующих определений значений измерений. Азот, кстати, можно приобрести на предприятиях занимающимися реализацией газов. Правда, самый маленький баллон будет стоить как два, а то и четыре датчика MH-Z19, но искусство требует жертв.Второй способ, так называемый span calibration применяется для калибровки в бытовых условиях. Выполняется он точно так же, как и в первом способе, но датчик нет необходимости помещать в атмосферу азота. Достаточно вынести его на чистый и свежий воздух и произвести калибровку. Тут делается упор на то, что в атмосферном воздухе содержится порядка 400 ppm CO2. И значение это постоянно на протяжении длительного времени и более-менее однородно по всему земному шару. Но при подобной калибровке следует учитывать, что значение в 400 ppm весьма условно, поскольку концентрация углекислого газа колеблется, и в весьма ощутимых пределах, в зависимости от внешних факторов. В крупном городе концентрация будет выше, чем на селе. Летней ночью в лесу углекислого газа будет больше, чем в том же лесу, тем же летом, но в солнечную погоду днем.Поэтому, если уж и заниматься калибровкой, то лучше разориться на литр другой азота и провести полноценную процедуру.

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

Подключение

Подключаются датчики серии MH-Z к микроконтроллерам двумя способами. Доступно либо использование PWM (ШИМ), либо подключение по UART (последовательному порту). Мы уже знаем, что чипы ESP8266 не очень дружат с PWM под средой Android, поэтому для подключения будем использовать только и исключительно UART.

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

Во избежание ненужной гибели человеческих жертв, хочу обратить внимание воспитанного читателя на то, что для питания датчика MH-Z19 требуется напряжение от 4.5 и до 5.5 вольт, а для обмена данными по последовательному порту (равно как и для PWM) требуется 3.

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

Подключение mh-z19 к ардуино

Наша задача на сегодня – разобрать подключение MH-Z19 к Ардуино, а также базовые характеристики и практичность применения PIR датчика углекислого газа. В принципе с последним пунктом более-менее все понятно. Мы все понимаем, что в целях безопасности не помешает постоянно отслеживать концентрацию CO2 в квартире ∕ доме ∕ офисе. Конечно, можно приобрести готовую бытовую систему, но она обойдется вам в круглую сумму, а вот так называемый комнатный прибор, сделанный своими руками, сэкономит семейный бюджет и принесет огромную пользу.

Само устройство инфракрасного измерителя концентрации CO2, с которым мы сегодня знакомимся, создано для определения удельного содержания газа. Сенсор не требует высокой мощности, стабилен в работе (до 5 лет эксплуатации), имеет малое энергопотребление и высокую чувствительность, способен передавать данные через 2 выходных интерфейса: PWM и UART.

Теперь обратимся к техническим особенностям модуля:

  • напряжение: 3.6 – 5.5V;
  • потребляемый ток: < 18 мА;
  • диапазон измерений: 0 – 0.5 %;
  • время измерения: T90 < 60 сек.;
  • диапазон рабочих температур: 0-50 С;
  • допустимая влажность: 0 – 95% RH;
  • габариты: 33 ×20 × 9 мм;
  • вес: около 21 грамм

Рассмотрим схему подключения инфракрасного датчика к Arduino:
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

В ней мы задействовали такие аппаратные компоненты: плату расширения Arduino Nano (можно использовать другие совместимые микроконтроллеры), модуль MH-Z19, комплект соединительных проводов.

Наша следующая задача – написать коды для чтения значений с устройства (и проверки его работоспособности). Пример такого скетча:

#define pwmPin 5
#define LedPin 13

int prevVal = LOW;
long th, tl, h, l, ppm;

void setup() {
  Serial.begin(9600);
  pinMode(pwmPin, INPUT);
  pinMode(LedPin, OUTPUT);
}

void loop() {
  long tt = millis();
  int myVal = digitalRead(pwmPin);

  //Если обнаружили изменение
  if (myVal == HIGH) {
    digitalWrite(LedPin, HIGH);
    if (myVal != prevVal) {
      h = tt;
      tl = h - l;
      prevVal = myVal;
    }
  }  else {
    digitalWrite(LedPin, LOW);
    if (myVal != prevVal) {
      l = tt;
      th = l - h;
      prevVal = myVal;
      ppm = 5000 * (th - 2) / (th   tl - 4);
      Serial.println("PPM = "   String(ppm));
    }
  }
}

Управление осуществляется через монитор COM-порта (Ctrl Shift M).

Про анемометры:  Как называется прибор, используемый для измерения температуры воздуха во всем мире?

На базе указанного образца можно модернизировать всю систему, дополнив ее. Например, при желании можно собрать портативный девайс для измерения уровня CO2 в воздухе. Для него будут использоваться дисплей (типа Nokia 5110), источник питания на 5 В, а также несколько специализированных библиотек.

Для справки: существует несколько типов или классов «загазованности» помещений согласно ГОСТ:
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19BИменно на эти параметры мы ориентируемся при тестировании.
Надеемся, вы оцените преимущества подобного прибора и будете им пользоваться на постоянной основе! До новых встреч!

Проект сборки детектора углекислого газа с датчиком mq-135 на платформе ардуино

Перед сборкой следует подготовить следующее:

  • платформа Ардуино Уно;
  • датчик MQ-135;
  • зуммер (любое звуковое сигнальное устройство);
  • LCD дисплей 16×2;
  • батарейка 9 вольт;
  • два трёхжильных шлейфа;
  • два резистора 1 кОм;
  • плата расширения Troyka Shield.

Плата Тройка Шилд:

Центром построения электронной системы контроля за качеством воздуха является плата расширения «Тройка». Панель имеет сеть контактных отверстий, через которые можно подключать различные приборы. По периметру панели расположены группы тройных контактов «S-V-G», к которым трёхжильными шлейфами подключают датчик углекислого газа и платформу Ардуино, где:

  • S — аналоговый или цифровой сигнал;
  • V — питание с рабочим напряжением;
  • G — масса (земля).

Плата Тройка Шилд и датчик с обозначением контактов:

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

Схема подсоединения MQ-135 к панели Troyka Shield:

Проект сборки детектора углекислого газа с инфракрасным датчиком mh-z19

Прибором MQ-135 может стать датчик MH-Z19. Модуль оснащён двумя выходами, совместимыми с 5-вольтовой логикой. Измеритель может работать в одном из диапазонов газовой насыщенности СО2 от 0 до 2000 ppm и от 0 до 5000 ppm.

Датчик MH-Z19:

Датчик соединяется через панель Troyka Shield c любой платформой Ардуино. В отличие от MQ-135, китайский инфракрасный детектор страдает некоторой инерционностью показаний данных. При изменении уровня содержания в атмосфере углекислого газа, прибору требуется около минуты для коррекции показаний. Положительным является то, что срок службы MH-Z19 намного больше вышеуказанного аналога, но и стоит он дороже.

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

Понятно что одного термометра для контроля воздуха в помещении недостаточно. Даже с кондиционером часто бывает прохладно, но душно. Спертый воздух. Оказалось на это больше всего влияет концентрация со2. Когда я узнал стоимость готовых приборов хотел от этой идеи отказаться. Но случайно попал на обзор оптического датчика концентрации со2. Цена конечно тоже не маленькая, но все-таки близко к разумным пределам. И руки давно чесались по паяльнику. В качестве контролера использовать решил ESP8266. Во первых дешево, во вторых что бы передавать информацию на компьютер, свой и любого желающего в комнате. После того как собрал и оттестировал первый вариант, решил добавить экран. Во первых это красиво:) Во вторых во многих случаях удобно.

Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

Устройство построено на модуле ESP8266 NodeMcu Lua wi-fi

Сперва я подключил датчики температуры, в комнате и на улице. ds18b20
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

Затем собственно датчик углекислого газа. MH-Z19
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

И под конец дисплей
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

написал вот такую программу под винды

Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

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

А теперь собственно впечатления.
Прибор оказался намного полезней и интереснее чем я ожидал. Во первых больше нет проблем с проветриванием, никто не возмущается, так как у всех выскакивает предупреждение и они довольно хорошо согласуются с личными ощущениями.
Ну и просто наблюдения показали что в солнечный день уровень со2 значительно ниже чем в пасмурный и дождливый, утром загрязненность воздуха выше чем днем. С первого взгляда можно понять что делать, проветривать, если зашкаливает со2, или включить кондиционер, если повышенная температура. Датчик температуры на улице хорошо показывает получится ли охладить проветриванием, или только кондиционер. Стало очевидным и понятным, что творится в комнате и как в этом жить. И дома прибор оказался очень полезным, особенно в детской комнате, тем более что за показаниями можно следить удаленно через WiFi.

В результате получилось что-то вроде:

Тут видно сам прибор с экраном и программа на компьютере которая принимает информацию через WIFI.

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

Про анемометры:  Расход газа на отопление дома, экономия и нормы расхода

Тут описан принцип работы датчика. Называется «инфракрасный оптический анализ» capnography.narod.ru/princips.html

Что касается ШИМ и UART. Я изначально решил использовать ШИМ так как это было удобнее в данной конструкции, решил попробовать, и если бы результат был не удовлетворительный, переделал бы на UART. По факту оказалось что ШИМ ничем не уступает. Точный надежный, ни каких плясок и сбоев. Так и оставил.

Тут можно прочитать про со2. Зачем его измерять? И как это влияет на наше самочувствие. www.pvsm.ru/moskva/108944

Таким получается готовое изделие
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B
Датчик углекислого газа Arduino: готовые проекты на MQ-135 и MH-Z19B

Последняя реинкарнация данного прибора

Обратите внимание чихаю и кашляю в кадре не я. Это сам прибор при превышении нормы СО2 чихает, а если уровень становится опасным кашляет.

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

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

Модель MQ-135 — электрохимический прибор. Он построен на принципе изменения сопротивления чувствительного химического элемента устройства при соприкосновении с углекислым газом. Элемент представляет собой керамическую трубку, на покрытие которой из оксида алюминия (Al2O3) нанесена тонкая плёнка диоксида олова (SnO2).

Модуль датчика газа:

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

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

Что находится под защитной сеткой MQ-135:

Изменение характеристик тока, протекающего через устройство, фиксируются платой Ардуино. Процессор, обрабатывая информацию о превышении безопасного уровня СО2, отдаёт команды на включение звуковой сигнализации (зуммера), и на реле включения вытяжной вентиляции. Таким образом датчик выполняет функцию контроля за безопасным уровнем загазованности углекислым газом помещения.

Следует учитывать то, что датчик рассчитан на эксплуатацию при влажности 65% и температуре окружающего воздуха 20 °С. При влажности 95% прибор перестаёт адекватно реагировать на изменение содержания СО2. Кроме этого большую роль играет срок службы детектора.

Чем плох co2?

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

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

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

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

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

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

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

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

Оцените статью
Анемометры
Добавить комментарий