RSS блога
Подписка
Рассказ о том как маленький датчик углекислого газа(co2) MH-Z19, расширил мое понимание об окружающем мире
- Цена: 1760р
- Перейти в магазин
Все началось с того что я работаю в офисе, где как водится нет нормальной вентиляции, зато есть много народу половине которого все время жарко, а второй половине отчаянно дует.
Понятно что одного термометра для контроля воздуха в помещении недостаточно. Даже с кондиционером часто бывает прохладно, но душно. Спертый воздух. Оказалось на это больше всего влияет концентрация со2. Когда я узнал стоимость готовых приборов хотел от этой идеи отказаться. Но случайно попал на обзор оптического датчика концентрации со2. Цена конечно тоже не маленькая, но все-таки близко к разумным пределам. И руки давно чесались по паяльнику. В качестве контролера использовать решил ESP8266. Во первых дешево, во вторых что бы передавать информацию на компьютер, свой и любого желающего в комнате. После того как собрал и оттестировал первый вариант, решил добавить экран. Во первых это красиво:) Во вторых во многих случаях удобно.
Устройство построено на модуле ESP8266 NodeMcu Lua wi-fi
Сперва я подключил датчики температуры, в комнате и на улице. ds18b20
Затем собственно датчик углекислого газа. MH-Z19
И под конец дисплей
написал вот такую программу под винды
После того как я вставил прибор в корпус он начал тупить, так как воздух слабо проникал внутрь. Что бы он поживее реагировал на окружающую атмосферу, я вставил бушный вентилятор от какой-то простенькой видеокарты. Он 12 вольтовый и при подключении к 5 вольтам крутиться медленно и печально, но это именно то что в данном случае требовалось.
А теперь собственно впечатления.
Прибор оказался намного полезней и интереснее чем я ожидал. Во первых больше нет проблем с проветриванием, никто не возмущается, так как у всех выскакивает предупреждение и они довольно хорошо согласуются с личными ощущениями.
Ну и просто наблюдения показали что в солнечный день уровень со2 значительно ниже чем в пасмурный и дождливый, утром загрязненность воздуха выше чем днем. С первого взгляда можно понять что делать, проветривать, если зашкаливает со2, или включить кондиционер, если повышенная температура. Датчик температуры на улице хорошо показывает получится ли охладить проветриванием, или только кондиционер. Стало очевидным и понятным, что творится в комнате и как в этом жить. И дома прибор оказался очень полезным, особенно в детской комнате, тем более что за показаниями можно следить удаленно через WiFi.
В результате получилось что-то вроде:
Тут видно сам прибор с экраном и программа на компьютере которая принимает информацию через WIFI.
Дополнение про датчик.
Почему именно такой датчик?
Есть дешевый MQ-135. Но я не встретил в откликах ни одного доброго слова об этом датчике. Он реагирует на все подряд, температуру, влажность, питание. Напротив датчики аналогичной конструкции какой применил я используются везе в том числе в профессиональной аппаратуре.
Тут описан принцип работы датчика. Называется «инфракрасный оптический анализ» capnography.narod.ru/princips.html
Что касается ШИМ и UART. Я изначально решил использовать ШИМ так как это было удобнее в данной конструкции, решил попробовать, и если бы результат был не удовлетворительный, переделал бы на UART. По факту оказалось что ШИМ ничем не уступает. Точный надежный, ни каких плясок и сбоев. Так и оставил.
Тут можно прочитать про со2. Зачем его измерять? И как это влияет на наше самочувствие. www.pvsm.ru/moskva/108944
Таким получается готовое изделие
Последняя реинкарнация данного прибора
Обратите внимание чихаю и кашляю в кадре не я. Это сам прибор при превышении нормы СО2 чихает, а если уровень становится опасным кашляет.
Мой сайт на котором можно получить дополнительную информацию.
Собираю желающих для заказа готовых плат
Понятно что одного термометра для контроля воздуха в помещении недостаточно. Даже с кондиционером часто бывает прохладно, но душно. Спертый воздух. Оказалось на это больше всего влияет концентрация со2. Когда я узнал стоимость готовых приборов хотел от этой идеи отказаться. Но случайно попал на обзор оптического датчика концентрации со2. Цена конечно тоже не маленькая, но все-таки близко к разумным пределам. И руки давно чесались по паяльнику. В качестве контролера использовать решил ESP8266. Во первых дешево, во вторых что бы передавать информацию на компьютер, свой и любого желающего в комнате. После того как собрал и оттестировал первый вариант, решил добавить экран. Во первых это красиво:) Во вторых во многих случаях удобно.
Устройство построено на модуле ESP8266 NodeMcu Lua wi-fi
Вот такой ESP8266
Сперва я подключил датчики температуры, в комнате и на улице. ds18b20
Затем собственно датчик углекислого газа. MH-Z19
И под конец дисплей
Такой дисплей
написал вот такую программу под винды
Тут все необходимое для прошивки скриптов
Программа для прошивки ESP8266 github.com/nodemcu/nodemcu-flasher
Прошивка MCU lua drive.google.com/open?id=0B4KYGXb6-nxpOUdXdTFpcjlFZXM
Тут можно взять скрипты lua drive.google.com/file/d/0B4KYGXb6-nxpeGNNbGM0U2g2dEU/view?usp=sharing
ESPlorer для загрузки скриптов на esp8266 esp8266.ru/esplorer/#download
Программа для windows PC drive.google.com/open?id=0B4KYGXb6-nxpUmVXcElLektOQXM
USB драйвер для Windows www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
Прошивка MCU lua drive.google.com/open?id=0B4KYGXb6-nxpOUdXdTFpcjlFZXM
Тут можно взять скрипты lua drive.google.com/file/d/0B4KYGXb6-nxpeGNNbGM0U2g2dEU/view?usp=sharing
ESPlorer для загрузки скриптов на esp8266 esp8266.ru/esplorer/#download
Программа для windows PC drive.google.com/open?id=0B4KYGXb6-nxpUmVXcElLektOQXM
USB драйвер для Windows www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
Исходники windows программы
Тут исходники: drive.google.com/file/d/0B4KYGXb6-nxpei1RUWhHVXV5aTQ/view?usp=sharing
Написано на Delphi XE8
Необходимы дополнительные компоненты:
JEDI
wiki.delphi-jedi.org/index.php?title=JEDI_Code_Library
sourceforge.net/projects/jvcl/files/
SDL Delphi Component Suite
www.lohninger.com/sdlindex.html
Написано на Delphi XE8
Необходимы дополнительные компоненты:
JEDI
wiki.delphi-jedi.org/index.php?title=JEDI_Code_Library
sourceforge.net/projects/jvcl/files/
SDL Delphi Component Suite
www.lohninger.com/sdlindex.html
После того как я вставил прибор в корпус он начал тупить, так как воздух слабо проникал внутрь. Что бы он поживее реагировал на окружающую атмосферу, я вставил бушный вентилятор от какой-то простенькой видеокарты. Он 12 вольтовый и при подключении к 5 вольтам крутиться медленно и печально, но это именно то что в данном случае требовалось.
А теперь собственно впечатления.
Прибор оказался намного полезней и интереснее чем я ожидал. Во первых больше нет проблем с проветриванием, никто не возмущается, так как у всех выскакивает предупреждение и они довольно хорошо согласуются с личными ощущениями.
Ну и просто наблюдения показали что в солнечный день уровень со2 значительно ниже чем в пасмурный и дождливый, утром загрязненность воздуха выше чем днем. С первого взгляда можно понять что делать, проветривать, если зашкаливает со2, или включить кондиционер, если повышенная температура. Датчик температуры на улице хорошо показывает получится ли охладить проветриванием, или только кондиционер. Стало очевидным и понятным, что творится в комнате и как в этом жить. И дома прибор оказался очень полезным, особенно в детской комнате, тем более что за показаниями можно следить удаленно через WiFi.
В результате получилось что-то вроде:
Тут видно сам прибор с экраном и программа на компьютере которая принимает информацию через WIFI.
Тут можно посмотреть дополнительную информацию о приборе
Еще одно видео без корпуса
Дополнение про датчик.
Почему именно такой датчик?
Есть дешевый MQ-135. Но я не встретил в откликах ни одного доброго слова об этом датчике. Он реагирует на все подряд, температуру, влажность, питание. Напротив датчики аналогичной конструкции какой применил я используются везе в том числе в профессиональной аппаратуре.
Тут описан принцип работы датчика. Называется «инфракрасный оптический анализ» capnography.narod.ru/princips.html
Что касается ШИМ и UART. Я изначально решил использовать ШИМ так как это было удобнее в данной конструкции, решил попробовать, и если бы результат был не удовлетворительный, переделал бы на UART. По факту оказалось что ШИМ ничем не уступает. Точный надежный, ни каких плясок и сбоев. Так и оставил.
Тут можно прочитать про со2. Зачем его измерять? И как это влияет на наше самочувствие. www.pvsm.ru/moskva/108944
Сколько стоит такой прибор
Есть идея заказать в Китае плату
Вот думаю заказать в Китае плату с разъемами.
Что бы даже ничего паять не надо было.
В готовую плату втыкаешь ESP8266, датчик со2, дисплей, датчик температуры ds18b20, отдельно разъем будет на внешний датчик.
Прошиваешь и все работает.
Как относитесь к такой идее?
Что бы даже ничего паять не надо было.
В готовую плату втыкаешь ESP8266, датчик со2, дисплей, датчик температуры ds18b20, отдельно разъем будет на внешний датчик.
Прошиваешь и все работает.
Как относитесь к такой идее?
Авторское право
Идеи и технологии описанные в данном материале, а так же все программное обеспечение. Может быть использовано без согласия автора только для личных целей.
Любое, другое коммерческое, или не коммерческое изготовление, или распространение данных материалов и устройств, возможно только по согласованию с автором.
barinovkb@yandex.ru
Любое, другое коммерческое, или не коммерческое изготовление, или распространение данных материалов и устройств, возможно только по согласованию с автором.
barinovkb@yandex.ru
Таким получается готовое изделие
Последняя реинкарнация данного прибора
Обратите внимание чихаю и кашляю в кадре не я. Это сам прибор при превышении нормы СО2 чихает, а если уровень становится опасным кашляет.
Мой сайт на котором можно получить дополнительную информацию.
Собираю желающих для заказа готовых плат
+187 |
15623
105
|
Самые обсуждаемые обзоры
+40 |
3968
183
|
А то начинают включать кондиционер в духоте, вот он и гоняет наши бациллы с СО2 по комнатушке.
Отсюда и болезни.
Согласование не нужно. Если Вы используете Ардуино с питанием 5v, согласование необходимо.
вывод: форточка эффективнее!
Для 1 человека необходим приток 30 кубов в час.(СНиП 41-01-2003 )
Скорость в канале не должна превышать 8 м/с для магистральных каналов (тот-же СНиП )
Итого, несложно показать, что для 1 человека тебе нужен канал не менее 40 мм в диаметре. И шуметь это будет просто адски.
Если же требовать скорость в пределах 2 м/с (чтоб по шуму вписаться в 30dB), получаем диаметр воздуховода уже 65 мм.
Если же брать типичную спальню (2 взрослых, 1 ребенок) получаем воздуховод уже 125 мм
И это тебе обеспечит удовлетворительное качество воздуха с концентрацией CO2 ~1000 ppm.
Только вот норма 30 м3/час это для спален. Для других помещений в квартире — совпадает с зарубежными нормами — 60м3/час на человека
в свете вопроса жизни и смерти приобретение датчика углекислого газа видится мне сильно надуманным и даже где то детским…
Благодаря этому обзору, я понял как можно оценить работу централизованной системы вентиляции. А то на работе мы обращаемся, говорим, что зимой душно, а к нам приходят, прикладывают полоску бумаги к притоку, прикладывают к вытяжному каналу, говорят «всё работает» и уходят. Видимо, неправильно сконструирована система вентиляции, и где-то входящий и исходящие потоки перемешиваются. С таким устройством, думаю, это будет легко доказать.
А концентрация СО2 сильно влияет на самочуствие. Посидишь при концентрации больше 1000 ppm часок и все… голова не работает, да и вообще как «вареный»
при большой концетрации ты будеш очень долго и мучительно подыхать, а вот от угарного газа довольно быстро
с этими пластиковыми окнами без вентиляции бетонная коробка превращается в газовую камеру
если раньше у меня были деревенные окна и им наверное было лет 50, то вот уже 6 лет пластиковые и мне приходится всю ночь сверху приоткрывать балкон круглый год, если температура не падает ниже нуля, иначе голова болит и ощущаю себя как упоротый
насчет пасмурности, то могу подтвердить, что по ощущениям без солна тоже не очень хорошо, а вот сегодня солнце и я поднялся в 4 утра бодрячком
в пасмурный день не особо тянет вставать так рано и птицы не орут так громко
Как с датчиком-то общаться? Я так понял, там ШИМ и UART. Если с ШИМом ещё понятно (хотя в lua-скрипте ppmrun.lua какие-то непонятные вообще вычисления), то через UART работает?
На первом видео видно как довольно резко за несколько секунд показание с 620ppm уменьшилось до 500ppm.
Только надо помнить, что уровень логики там 3,3В, для esp конвертер логических уровней (logic level converter) не понадобится, а вот, например, для ардуины (у нее 5В уровни) он уже будет нужен.
А у Вас какой контроллер?
Можно кусок кода общения с этим датчиком «для истории»?
В даташите на датчик написано довольно подробно описано как работать через UART и какие пакеты за что отвечают, также присутствуют команды для калибровки.
Вот код (не мой) на mh-z14, работает так же и с mh-z19: pastebin.com/hgr7Gd8t
ЗЫ убежал заказывать модуль! Муська! Ты меня раззоришь!
Характеристики?
Протокол обмена?
Калибровка?
На гиктайме пишут, что этот датчик дает нестабильные результаты измерения. Пробовали его сравнить с другим прибором?
MQ разные бывают. Конкретно для CO2 специализированного нет, но люди пользуют MQ135, отсюда и вопрос.
Стоит ли оно того, переплачивать в 15 раз
А в целом вещь-то хорошая, я бы не отказался от такого датчика, но покупать пока жаба душит :).
Пришлось взять K30. Вот он хорош!
Приедет -расскажу
Поэтому то, что кондей гоняет бациллы и уровень СО2 повышен (кстати повышен по отношению к чему) работодателю никак не предъявишь.
www.npmaap.ru/possnips/standpr/gost30494.html
Качество воздуха:
Высокое — 400 и менее
Среднее — 400—600
Допустимое 600—1000
Низкое 1000 и более
А в наружном воздухе оно в районе 400 — 450 ppm.
А почему размер исходников порядка мегабайта, а .exe весит более пяти? Может с отладочной информацией собран?
Когда придёт ESP-шка подключу к ней. В качестве питания хочу использовать 18650 аккумулятор, но ESP нужно 3,3В, а этому модулю надо от 3,6-5,5В.
Вопрос: как организовать питание?
Думаю использовать один DC-DC step up/down, у которого на выходе будет 3,8-3,9В — от него питать датчик, а вот до 3,3В чем понизить, чтобы было максимально энергоэффективно? Где-то читал, что 1117 — очень прожорливы.
Или может кто-то знает какие-нибудь другие схемы? Например пока напряжение выше 3,7В, то датчик питать напрямую от аккумулятора, а когда упадёт, то подключать StepUP — как это реализовать?
При последовательном подключении всё равно придётся два степдауна ставить, т.к. на датчик и ESP-шку нужно два разных напряжения.
Но даже в этом случае надо будет делать два таких, т.к. надо два разных напряжения.
Питание сенсоров включаю/отключаю ESP-шкой.
На одних аккумуляторах без солнечной панели с опросом каждые 5 минут ESP-шка продержалась почти месяц.
Сейчас у меня ещё одна идея сделать сенсор для помещения, который будет измерять СО2, температуру и влажность. Пока датчик СО2 подключен к Atmega32U4, к которой подключен небольшой экранчик от NOKIA. Всё это питается от зарядки для телефона. В общем тестирую датчик и жду когда приедет новая ESP-шка.
Если рассматривать устройство, как законченный и удобный прибор, — то в свете распространения смартфонов, было бы намного удобнее выкинуть экран и попробовать добавить микро веб-сервер со страничкой показаний, а не прогу на делфи под винду через ЮСБ, и с возможностью забирать их ХТТП запросами. Если я правильно понял к сети она конектится.
И, кстати, на Али полно готовых похожих показометров от местных энтузиастов. Но стоят они почему-то совсем не по-божески, особенно учитывая стоимость китайской рабочей силы.
А еще есть измерения общей загрязненности, т.н. particle sensors. Вот пример решения.
Теперь ждем готовые и недорогие решения для «чайников» с возможностью легкой инеграции в системы умных домов. Например, на основе blynk.
жаль что внешний датчик проводной. а то вообще метеостанция мечты прям ;)
хм… а ведь у меня труба проложена для кабелей — антенного и эзернета… ой надо подумать…
но вот на этом homes-smart есть решения на тиньке — вот это уже интересно. раз в 5 минут проснулся, запитал датчики, плюнул по радио и спи себе дальше с потреблением 0.01мА
точнее, если у нас ватономная метеостанция висит на улице — то тут вариантов мало, а если это просто датчик — то он собирается на чем-то попроще типа той же тиньки, которая жрёт пару милиампер при активности, и доли милиампера во сне.
кстати, нагуглил вот — на изиэлектроникс правильно пишут — вайфай ретранслятор возле розетки, и простенький маложрущий датчик снаружи.
Месяц — это запас, если будут долгие пасмурные дни, хотя даже в пасмурные дни зарядка немного шла.
Только я подключил датчик через UART и прошивка от homes-smart.ru/ с выводом данных на НародМон.
Обзор отличный. Только стоит добавить в заголовок обзора маркировку датчика и упомянуть Со2. А то нигде нету упоминания как зверька зовут. 8) Да и поиском сложно будет людям искать.
Если найдется достаточно желающих, можно замутит опытный образец.
У AZ7798 такая же точность как и у моего устройства. И по функциональности он тоже уступает.
Один датчик CO2 стоит 2тыс. Еще нужен дисплей, корпус, и руки_из_плеч. Экономия будет но не большая, поэтому проще взять мастеркит. Или найти способ заказать этот www.zyaura.com/products/ZGm05.asp
Датчик влажности я не ставил, не вижу смысла.
Невозможно подружить с сервисами вроде narodmon.ru, невозможно научить управлять другими устройствами.
Закажу тоже такой набор. А датчик влажности дополнительно прикрутить к прибору, как не подскажете?
nodemcu-build.com Выбираем такие настройки
Тут описание управление модулем влажности nodemcu.readthedocs.io/en/dev/en/modules/dht/
Подцепить его можно будет на gpio9 или 10 они свободны.
Но самое главное надо будет изменить, перерисовать интерфейс, что бы выдавать показания на дисплей.
с перерисовкой конечно возникнут проблемы у меня, сам не смогу… Попробую по факту решать уже, как приедет комплект.
MH-Z19 с ebay под купон 20\30 отлично выходит.
Вот сижу проектирую. Буду заказывать у китайцев пробную партию.
Более продвинутую
И очень дешевую, без дополнительных датчиков и дисплея. Светодиоды и приложение Windows и android. Отточу, обкатаю и можно будет подумать о платах.
Сейчас делаю для себя на другом датчике PMS3003. Как сделаю, выложу.
Отзывы о точности хорошие.
Я на датчике K30 собрал — всё заработало без проблем, только питание надо от 7В. А так соединил проводочки с ардуиной, простейшую прогу залил, и всё работает.
. датчика формальдегида
То-есть ничего особо паять не придется. Втыкаешь в плату дисплей, датчики подаешь питание через микро USB и все работает.
Ориентировочная стоимость платы 1500р
Плата по USB через serial может слать данные всех датчиков регулярно?
Слать по USB может. Но это не плата а установленный на ней контроллер, если будет в прошивке соответствующая функция.
Подключиться к домашней сети WIFI:
wifi.setmode(wifi.STATION)
tmr.delay(1000000)
wifi.sta.config(SSID, PASSWORD)
tmr.delay(1000000)
Корректно заполнив поля SSID и PASSWORD параметрами вашей сети WIFI
Скрипт надо выполнить 1 раз. После этого настройки запоминаются контроллером и при включении он будет автоматически подключаться к последней установленной сети.
При первом запуске выскакивает окошко windows с разрешением доступа к сети.
Надо отметить галочку «Публичные».
Я не знаю почему так, возможно Windows считает WiFi публичной сетью.
Можно зайти в настройки: Панель управления\Все элементы панели управления\Брандмауэр Windows\Разрешенные программы
И поставить у программы climat галочку в столбце «Публичные»
Все должно заработать.
И на компьютере, на программу надо поставить указанные выше разрешения «Публичные сети»
Датчик брал тут: Тыц
Как это влияет на измерения давления?
Как быстро датчики зарастают пылью?
На датчике со2 установлены фильтры от пыли, они снаружи датчика, их легко почистить при необходимости.
Датчику давления всё равно, никакой разницы ни от кулера ни от внутри/снаружи корпуса не будет.
Пока собираю на макетных платах.
. датчика формальдегида
То-есть ничего особо паять не придется. Втыкаешь в плату дисплей, датчики подаешь питание через микро USB и все работает.
Ориентировочная стоимость платы 1500р
Сорри, за тупые вопросы)))
1. MH-Z19 питание нужно завести в vv, а не в vin
2. Почему MH-Z19 не подключили по цыфре(точнее показывает)?
2. Нет конечно. Показывает совершенно одинаково, у меня даже был стенд, где несколько приборов опрашивались одновременно и по ШИМ и по UART. Разницы нет. В данном случае я использовал ШИМ для простоты конструкции. Если использовать UART нужно ставить коммутатор, и много всего наворачивать. Так как использовать штатные контакты нельзя, там подключен USB. А переключать на альтернативные не так просто, так как их использует ISP для вывода на дисплей. UART я использовал для опроса датчиков в следующей своей конструкции Там это было оправданно. В данном случае нет смысла.
Дело в том, что у меня 3 таких датчика и все показывают разные показания, и когда я ставлю рядом заводское устройство — понимаю все 3 врут, причем разбег по значениям в 1.5 — 3 раза, то есть 3 одновременно рядом датчика могут показывать:
400
800
1200
при этом это непостоянное завышение\понижение значений — все они плавают в разные стороны.
так же я замечал, что более менее адекватные результаты эти датчики показывают проработав полчаса-час — ибо при запуске довольно часто совсем неадекватные значения, а через несколько часов(или больше) они начинают дико завышать — вплоть до 2-3х тысяч.
все три у меня подключены через их цифровые выходы.
при том, что датчики находятся в одинаковых условиях — все рядом, на одной плоскости.
Я посоветую вам убрать датчики в темный корпус, на показания влияет внешний свет.
И поставить небольшой вентилятор, что бы был обмен воздуха в объеме корпуса.
вы кстати калибровали с помощью кода или подачей сигнала на 5 пин?
сейчас ситуация у меня печальная конечно(первое значение — время работы платы в секундах типа uptime):
мы уже тут на работе шутим, что это датчики можно использовать как генератор случайных чисел от 400 до 3000 :)
а по поводу корпуса и внешнего света — это из ваших личных экспериментов? а то в даташите написано только, что их нельзя использовать в очень пыльных помещениях.
вентилятор я так понял должен задувать в верхнее отверстие? с него же берется воздух на анализ?
Честно говоря я никакого криминала в вашей статистике не увидел.
Кроме третьего столбика после перезагрузки.
Я бы посоветовал в первую очередь закрыть в корпус от света.
Вентилятор нужен просто на корпус, что бы воздух не застаивался и обновлялся. Непосредственно в датчик дуть не надо.
есть несколько вопросов по схеме прибора.
1. На монтажной схеме нарисован транзистор Q1, куда подсоединять его выход?
2. Пин контроллера ADC1 соединен с ножкой BUSY — MP3-модуля.
В Ваших новых платах этот пин и транзистор не разведены.