0

Датчик со2 своими руками

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

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

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

Устройство построено на модуле ESP8266 NodeMcu Lua wi-fi. Для него была написана программа на скриптовом языке LUA. Прошивку для интерпретатора Lua под мое устройство сгенерил на on-line сервере nodemcu-build.com. Выбрал там только те модули, которые мне были необходимы для создания проекта.

Дальше я взялся за сборку устройства. Подключил датчики температуры. ds18b20. Они работают по интерфейсу 1-wire:

Затем собственно датчик углекислого газа MH-Z19. Он может использовать два интерфейса ШИМ и UART. Я решил сперва попробовать ШИМ, и в результате он меня удовлетворил по надежности и точности показаний.

И подключил дисплей по шине ISP:

Была написана вот такая программа под Windows. На Delphi XE8:

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

А теперь собственно впечатления.

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

В результате все это выглядит примерно так:

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

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

Читайте также:  Замечена подозрительная активность госуслуги

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

Устройство построено на модуле ESP8266 NodeMcu Lua wi-fi. Для него была написана программа на скриптовом языке LUA. Прошивку для интерпретатора Lua под мое устройство сгенерил на on-line сервере nodemcu-build.com. Выбрал там только те модули, которые мне были необходимы для создания проекта.

Дальше я взялся за сборку устройства. Подключил датчики температуры. ds18b20. Они работают по интерфейсу 1-wire:

Затем собственно датчик углекислого газа MH-Z19. Он может использовать два интерфейса ШИМ и UART. Я решил сперва попробовать ШИМ, и в результате он меня удовлетворил по надежности и точности показаний.

И подключил дисплей по шине ISP:

Была написана вот такая программа под Windows. На Delphi XE8:

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

А теперь собственно впечатления.

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

В результате все это выглядит примерно так:

Спустя несколько лет знакомства с Ардуино решил таки сделать то, ради чего многие считают она создана – метеостанция с часами. Помимо часов запихнул в станцию много всего интересного:

– Атмосферное давление (в мм.рт.ст.)

– Углекислый газ (в ppm)

– Прогноз осадков на основе изменения давления

– Построение графиков показаний со всех датчиков за час и сутки

– Индикация уровня CO2 трёхцветным светодиодом

– Переключение режимов сенсорной кнопкой

– Динамическая яркость подсветки дисплея

Вся электроника куплена на Aliexpress, ссылки найдёте на странице проекта у меня на сайте. Там же есть все схемы, инструкции и исходники.

Читайте также:  Визит домофон код открытия двери без ключа

Электроника собирается вот по такой схеме (на странице проекта также есть более понятная монтажная схема):

Позже был добавлен датчик освещённости, он подключается вот так:

Собранная электроника выглядит не так страшно, как показано на схеме:

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

Корпус брал у нас, в чип и дипе, он отлично подошёл по размеру:

На графике видно, как менялся уровень СО2 после открытия окна: максимальное значение 1243, минимальное – 399. График строился за час (c hr)

Очень приятно видеть, как моё комьюнити повторяет и дорабатывает проекты! Вот например один из вариантов корпусов под 3D печать от подписчика:

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

Найдены дубликаты

Э, хорош на пикабу зависать . Я жду новых видосиков на ютубе , а он старые на пикабу закидывает .

он думает еще немного накрутить свою аудиторию постща баяны

При работе с датчиком надо уточнить код, так там есть автоалибровка, которая берет минимальное значение со2 за сутки и пристает этому значению 400 ppm. Эту калибровку можно отключить. Плюс хорошо бы добавить калибровку на свежем воздухе.

И для рядового пользователя концентрация со2 в ppm бесполезна, он не знает физический смысл величины. Есть таблицы с соответствием разной концентрации газа угрозе организму, лучше выводить вместе с цифрами и качественное состояние среды: безопасно, опасно, и т.д.

А датчик этот нормальный или покруче модельки имеются? Ну и в свете последних событий – гейгера не мешает прикрутить .

График рисует? Я просто не представляю, насколько это все продолжительно?

Так а зачем ты про него рассказал . Я думал ты его к компу прикрутил с помощью какой нить ардуйни .

Ты не понял , я писал про дивайс, зачем он нужен . Расскажи, облако то к тебе прошло , но даже заводским гейгером ты его не поймал? От состава зависит или от времени?

вот чтоб спокойней было – надо мониторить , а то у нас как раз с севера задуло .

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

сбм 20 с авиты дешевле датчика CO2 c алика. ну а J305 у китайцев в ту же цену..

Голая трубка – да. К ней ещё обвес нужно делать.

или делать или у китайцев че нит присмотреть .

Нормальный, но дорого слишком для любительской поделки домашней метеостанции.

Ну отключение в наших краях официозных гегеров 🙂

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

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

А еще MH-Z19 выходят из строя достаточно быстро.

Читайте также:  Бесплатные шапки для канала youtube

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

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

А там основано на поглощении инфракрасного излучения газом, видно, как в нём загорается лампочка.

Ну на самом деле надо вспомнить как именно такие датчики замеряют конкретный газ ибо ик анализ не такой ужи простой. Во всяком случае когда я на плите готовлю показатели ppm подсказывают на 200-300, хотя вродь именно CO2 то там не должно было идти.

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

Ну и плюс состав среды, в которой проводится анализ изменился.

Больше стадий абзаца)

50 оттенков, так сказать

@AlexGyver , а как тебе идея изготовить автономное устройство с датчиками наличия в воздухе CO, CO2, бытового природного газа и сигнализацией о превышении их уровня? Конечно это не очень зрелищно для видео, но невероятно полезно!

Цифра "1" на "7" очень похожа.

Верхний горизонтальный элемент лишний на ней.

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

линейная аппроксимация изменения атмосферного давления за час. Штука реально работает, на летних грозах неоднократно в этом убеждался. Как только идёт большая туча – давление проседает прям от души

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

Да, это понятно. Просто вопросы остаются, рассматривать ли минимальное значение или только изменение? Какое изменение за час считать значимым?

Формулы рабочие не покажете? Хотел бы у себя реализовать.

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

Каждые 10 минут берёт актуальное давление, прокручивает массив из давлений за час, получает массив с давлениями за последний час включая актуальное. И этот массив прогоняет через метод наименьших квадратов, находит именно изменение давления. Если величина -200 за час – будет буря и п.дец, вроде в паскалях измеряется.

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *