В продолжении и развитии прошлой темы датчика
СО2, я усовершенствовал прибор и предлагаю вашему вниманию новую версию, теперь уже комплексного мониторинга качества воздуха.
В прибор было добавлено еще 2 датчика. Датчик пыли PMS5003 и датчик формальдегида ZE08-CH20. Так же прибор обзавелся часами DS3231 и научился подавать звуки MP3-TF-16P. Были выкинуты датчик температуры и влажности. От них было мало толку. Из-за того, что начинка нагревается показания этих датчиков сильно отличались от реальности.
Основа прибора как и прежде контроллер ESP8266 dev kit 1 и датчик СО2 MH-Z19. Так же как в первой версии прибора датчик подключен по ШИМ. Для подключения остальных датчиков, экрана(все это висит на одних контактах) и модуля издающего звуки был использован аналоговый коммутатор 74HC4052. Контроллер последовательно подключается к датчику формальдегида и пыли. После этого переключается на экран и выводит информацию. Если наступает необходимость подать звуки, контроллер переключает коммутатор на звуковой модуль.
Датчики пыли, формальдегида и звуковой модуль общаются с контроллером посредством UART. В момент опроса датчиков, или воспроизведения звуков, UART контроллера переключается на альтернативные контакты и в этот момент невозможно общение по USB с компьютером.
В данной модели я использовал большой 2,8” экран, разрешением 240x320 точек. С интерфейсом ISP на базе контроллера ILI9341.
Никакого управления, кроме кнопки включения на приборе нет. Просто включаешь в розетку( в приборе встроен блок питания на 5v) и можно наблюдать за показаниями.
На экран выводится следующая информация: В верхнем левом углу часы с датой и месяцем. С право от часов выводится показания датчика формальдегида в µg/mᶟ. Следующий ряд, это показания датчика пыли. Тут 3 значения. Первое пыль диаметром меньше 1мкм, дальше частицы меньще 2,5 мкм и справа частицы до 10 мкм. Значения выводятся в µg/mᶟ. Под показаниями датчика пыли выведена строчка мелких цифр. Это для особо любознательных, тут перечислены значения счетчика частиц пыли разных фракций. Данные даны — количество частиц на 1л воздуха.
Ниже график измерений содержания в воздухе углекислого газа СО2, приблизительно за последние полчаса.
В самом низу текущее значение концентрации СО2 в ppm. Справа светофорчик, сигнализирующий о опасности, или безопасности данной концентрации СО2. Зеленый сигнал говорит о том что концентрация меньше 900 ppm и хорошем качестве воздуха, желтый о душной обстановке и концентрации от 900 до 1500 ppm. Красный сигнал показывает что концентрация углекислого газа выше 1500ppm и это опасно для здоровья и плохо сказывается на самочувствии.
Когда уровень концентрации СО2 достигает 900ppm из прибора раздается чихание. Если уровень поднимается выше 1500ppm прибор «кашляет».
На лицевой стороне прибора имеется наклейка, на которой расписаны какие параметры прибора что обозначают и каковы нормальные, высоки и опасные концентрации газов и пыли.
Датчики:
Датчик СО2 MH-Z19 — Недиспергирую- инфракрасный датчик (или датчик NDIR) представляет собой простой спектроскопического датчик используемый в качестве детектора углекислого газа. Предел измерений до 5000ppm нижний предел около 400ppm(естественный уровень СО2 в атмосфере). Паспортная точность 50ppm. Время отклика около 30 секунд. При подаче питания первую минуту полторы выдает максимальные, или минимальные показания, потом включается и выдает реальные данные. Информация с датчика получается по ШИМ. В момент считывания контроллер измеряет скважность сигнала на выхоже датчика и по формуле преобразует его в уровень СО2.
Датчик пыли PMS5003. NDIR датчик пыли измеряющий концентрацию пыли с разбиением отдельно на 3 фракции 1, 2.5 и 10 микрон. Так же имеет счетчик частиц пыли разделенный на 6 фракций. Точность заявлена 10%. Датчик используется в активном режиме. Это значит что он сам автоматически через установленные промежутки времени посылает информацию в UART. Когда необходимо получить информацию с датчика, контроллер подключается к нему по средствам коммутатора и ожидает очередной посылки данных.
Датчик формальдегида ZE08-CH2O Электрохимический датчик термостабилизированный. Этот датчик так же используется в активном режиме. Он самостоятельно, каждую секунду посылает данные в UART и когда контроллер переключает на него коммутатор, происходит считывание данных.
Для извлечения различных звуков и звуковой сигнализации о состоянии воздуха используется миниатюрный mp3 плеер управляемый по UART — MP3-TF-16P. Данная плата имеет на борту считыватель микро SD карты, на которую записываются звуковые файлы в mp3 формате. Также имеется усилитель мощности и может быть подключен динамик на 8ом. Выбор и воспроизведение файлов записанных на sd карточку управляется по UART с контроллера устройства. В программу встроена защита от оповещения в ночное время. После 22:00 и до 8:00 звуковой сигнал не подается.
Для вывода на экран времени и даты используется модуль часов DS3231, который работает по протоколу I2C. Заявленная точность 2 минуты в год.
Для переключения основного контроллера ESP8266 между датчиками, экраном и звуковым модулем используется аналоговый коммутатор 74HC4052. Это сдвоенный коммутатор на 4 линии. ESP8266 использует для UART выводы D9, D10 но мы не можем использовать эти выводы, так как они подключены к встроенному на плату контроллера адаптеру USB. К счастью есть возможность переключать выходы UART на альтернативные контакты D7, D8. Но эти же контакты использует шина ISP по которой контроллер подключен к дисплею. Для того, что бы разобраться с этим зоопарком и используется коммутатор. Он имеет 2 входа и по 4 выхода. В один момент каждый вход может быть подключен к одному из 4 выходов. К каждому выходу подключен датчик, или дисплей, или звуковой модуль. По управляющим пинам контроллер выбирает к какому устройству нужно подключиться в данный момент. При выводе на экран контроллер подключается к дисплею, при считывании данных к датчику, а при воспроизведении звуков к mp3 плееру.
Так же в приборе используется вентилятор, который продувает закрытый корпус воздухом, что бы датчики адекватно реагировали на изменения атмосферы вокруг прибора. Скоростью вентилятора управляет контроллер, так как если ее не снижать вентилятор слишком сильно гудит.
Общий цикл опроса датчиков и вывода на экран информации составляет 5 секунд.
Все необходимое для прошивки контроллера
Со звуками на карточке не очень хорошо получилось, я записывал разные звуки для тестирования и файлов набралось 6 штук из которых используются только 3.
Вот эти
Я ничего в скриптах править не буду. Надо или залить еще 3 файла с именами 001.mp3 002.mp3 и 003.mp3? или поправить в скрипте start.lua значение переменной MUSL на номера соответствующих файлов mp3 которые будут звучать как заставка, переход желтой границы и переход красной границы СО2.
Пишите спрашивайте, чем могу помогу.
Для крутых перцев
Данный прибор мог бы занять достойное место на столе серьезного руководителя компании. Во первых это эксклюзив, не имеющий аналогов. Тем более солидно это будет смотреться с логотипом Вашей компании. И как эксклюзивный подарок бизнес партнеру он весьма неплох
По многочисленным просьбам ссылки на запчасти которые я использовал
Для желающих но не сильно надеющихся на свои силы
Могу для Вас индивидуально сделать плату с прошитым контроллером, коммутатором и разъемами для всех модулей, датчиков, динамика и вентилятора.
Мой сайт на котором можно получить дополнительную информацию.
Собираю желающих для заказа плат на заводе
У MH-Z19 тоже цифровой выход есть — UART.
пыль
В датчике ещё свой вентилятор, как я вижу.
Какая еще вам нужна ссылка?
Первая на макетке на столе лежит, вторая спаянная, но пока тоже рядышком лежит.
Такие вот у меня наблюдения:
— СО2. Показания отличаются в пределах 250 единиц, на больших значениях. Ежедневно при пустой квартире показания опускаются до 400 и ощущения, что датчик «калибруется». Показания потом становятся более или мене одинаковые. И посмтепенно разбегаются, но не сильно.
— Влажность. Разница +-5%. На ардуинке завел еще DHT21, показания в тех же приделах.
— Температура. Вот тут все интереснее. В мае, когда собрал и «забыл» про них из-за нехватки времени, разница в показаниях была в пределах 1'С. Недавно посмотрел, bme и dht, разница 0.5'С, sht10 — 2..2,5 градуса.
Вот тогда я и собрал ардуинку+DS18B20+DHT21.
И получил такие показания 22.6 23.9 24.3 22.3 22.5 (sht10 bme280 dht22 dht21 ds18b20)
Достал ручной прибор — 22.0
Вот и как с этим жить? ©
Первая на макетке на столе лежит, вторая спаянная, но пока тоже рядышком лежит.
Такие вот у меня наблюдения:
— СО2. Показания отличаются в пределах 250 единиц, на больших значениях. Ежедневно при пустой квартире показания опускаются до 400 и ощущения, что датчик «калибруется». Показания потом становятся более или мене одинаковые. И посмтепенно разбегаются, но не сильно.
— Влажность. Разница +-5%. На ардуинке завел еще DHT21, показания в тех же приделах.
— Температура. Вот тут все интереснее. В мае, когда собрал и «забыл» про них из-за нехватки времени, разница в показаниях была в пределах 1'С. Недавно посмотрел, bme и dht, разница 0.5'С, sht10 — 2..2,5 градуса.
Вот тогда я и собрал ардуинку+DS18B20+DHT21.
И получил такие показания 22.6 23.9 24.3 22.3 22.5 (sht10 bme280 dht22 dht21 ds18b20)
Достал ручной прибор — 22.0
Вот и как с этим жить? ©
* Температуру без долей градусов можно взять с MH-Z19
В данном случае все датчики лежат на столе в одном месте
Обязательно сделаю. Причем на экран ничего не будет выводится. Через mp3 плеер сделаю звуковые комментарии.
Партнеров убить хочется, когда надо делать быстро на чужом компьютере, а тебе по почте приходит rar архив.
По работе системы очень интересует вопрос, а на сколько стабильны ESP8266 при длительном применении, хочу мониторинг влажности почвы и ph сделать. Еще вопрос реакции модуля на суточную смену температур. Может есть у кого опыт?
Одинаковая программа залитая в три модуля на двух работает полгода аптайма, на третий просто САМ периодически пропадает и сам появляется (хотя коннект с роутером держит стабильно и пингутся).
Это к примеру, не обязательно котёл: кто-то воду в бочку набирает, кто-то инкубатором управляет… А сценарий зависания ESP не предусмотрен. Ну как-то так.
У меня, к примеру, Open Office. Но я же не шлю никому odt хотя бы из простого уважения.
Но, если честно, я не верю, что с RAR выигрыш действительно стоит свеч. Особенно если учесть, что я ни разу не видел купленной версии у тех, кто им пользовался. И это при том, что готовый к работе ZIP встроен в Windows чуть ли не со времен XP.
ps. в данном случае, кстати, выигрыша по размеру вообще нет, только лишние хлопоты.
на алике нашел am7, есть проверенное что то?
Насчет датчиков пыли и формальдегида не представляю, где могут понадобиться, возможно на специфическом предприятии. На кирпичном заводе, например, пыли столько, что вентиляторы в компах за месяц намертво забиваются. Но все равно там кому-то нужно работать, хоть измеряй, хоть нет, тем не менее у некоторых стаж под 20 лет и живы здоровы.
На практике, полезен датчик СО, в старых домах с печным отоплением, он может реально спасать жизни. Но с ними мало кто заморачивается. Каждый год гибнут десятки человек. И в машинах, если выхлоп немного протравливает в салон, у меня знакомый специалист так погиб, по иронии судьбы газовщик (при -20 ждал кого-то и грелся в машине), и соседи подростки по двору, в гараже зимой завели машину и задохнулись. В сводках по области иногда пишут, печи прикрывают раньше времени и СО идет в дом, все умирают.
У меня хоть и газовое отопление, поставил такой датчик, потом правда отключил. Иногда ветром задувает выхлоп обратно в дом и котел пищит, но это временная ситуация и безвредная, через пару минут котел обратно в себя всё засасывает. Да и СО там микродозы, датчик ловит их, потому что очень близко, и так чувствуется специфический запах. Из интересного кросчувствительность, пропавший борщ рядом, активирует датчик продуктами брожения.
Иногда наблюдая за машинами в часовых пробках, тоже задаешься вопросом, чем там люди дышат? Уверен, там присутствует много нехороших газов. Датчик СО встроенный в машину был бы им полезен, мне кажется, тем более и стоит копейки.
Вопрос — вы куда-то выкладываете данные от датчиков или они только на дисплее?
Логично писать всё хотябы в файл, а лучше конечно на сервак крутящийся на этой же ESP. Тогда дисплей можно как бы вынести на телефон ил планшет, висящий на стене.
Не могли бы вы показать пару мест, где можно получить основы работы с этой ESP-шкой? В инете много излишней инфы и непонятно с чего начинать.
Вариант 2: сделать несколько датчиков в разных концах комнаты и усреднять значения.
Не стоило таблицу влево сдвигать. Если дисплей не вставал ближе в угол, то либо не равнять таблицу правым краем с ЖК, либо сделать уже, чтобы была по центру.
Значения на цветном поле не понятны. Либо диапазоны писать, либо со знаками больше-меньше.
Ну и вообще над дизайном поработать надо, если в планах «занять достойное место на столе серьезного руководителя компании» :)
PS опечатка, pm2.5
Причем проблема у дайверов не СО2 а парциальное давление кислорода, как он падает ниже 40 мм рт. ст., человек теряет сознание, и что самое неприятное, падает оно при всплытии, если на глубине 10 метров давление в легких было нормально, например 80 мм, то при всплытии давление кислорода падает в 2 раза и пловец отключается. Всплывать ему нельзя уже, и на глубине оставаться нельзя, парадокс. Много там всего интересного, но вот СО2 вообще не проблема.
Вот пример таблицы без особых заморочек
tehtab.ru/Guide/GuideMedias/C02/CO2acceptableLevels/
Максимально допустимая концентрация в течение 8 часового рабочего дня — 5000 ppm. Кратковременно можно и 30 000 ppm и выше. Например, задерживая дыхание на пол минуты, получаем какие-то фантастические цифры, и без всяких последствий, только польза. Но при таких концентрациях никакие датчики не нужны, легкие отзываются наглядной реакцией жжением в груди, и так понятно что много СО2, не формально много, а реально, и вряд ли что остановит человека от того, чтобы все бросить и уйти на свежий воздух.
Исследования, что показывают уровень стресса и СО2 тоже странные, ясно, что СО2 он в переполненных помещениях, на работе, на учебе, там и так стресс, от общества, ответственности, рабочих нагрузок. Если студент бледнеет на экзамене, то это явно не от СО2 в комнате, но с точки зрения исследователей корреляция есть ))
Польза от датчика СО2 может быть как индикатора присутствия человека (хотя датчики движения дешевле, да и объемные датчики, или считающие людей на входе), или как признак полного отсутствия вентиляции (а если вентиляции нет, то СО2 в воздухе самое безобидное что может быть, остальные загрязнители на порядок опасней, от формальдегида до радона). Ну понятно, если человек один сидит в комнате и надышал на 5000 ppm, значит там вентиляции нет вообще. А если он к тому же паяет или клеит что-то, то он вдохнет по много раз все испарения, свинец, флюс, растворитель. Тут датчик СО2 покажет большую проблему с вентиляцией, с другой стороны это и так очевидно. Даже по самым древним нормам воздухообмен помещения должен быть полным в течение часа или около 100 кубов на человека, и это в нормальных условиях, без вредных испарений, при таком вентилировании воздух будет чист и по измерению СО2, и по содержанию любых примесей.
В быту датчик СО2 не так важен. Прикольно конечно, смотреть как он реагирует на человека. Но перевентиляция тоже вредна, зимой например. У меня в доме влажность 15-20%, а если вентилировать еще сильнее, будет еще хуже. Увлажнять воздух до рекомендуемых 55% стремно, влага стечет в холодных углах, по стеклам, потенциально порождая плесень и рискуя промерзанием стен.
Летом вентсистема может насосать пыльцу, аллергены, уж лучше пусть будет СО2 чуть выше.
Можно представить случай, когда кто-то повелся на рекламу, ужаснулся тому что у него в квартире 1200 ppm, включил вентиляцию на полную, и понизил зимой влажность с 40% к примеру, до 15%, вместо пользы получил иссушение легких, кожи, глаз, склонность к кашлю, ОРЗ…
видимо, не совершенно безопасный )
Вот опять же практичные американцы что пишут:
geektimes.ru/company/dadget/blog/271666/
Вполне логично, 35000 ppm на 15 минут, аналог легкой пробежки, от такого здоровый человек не умрет, вдох сделает глубже в полтора раза и вернет вентиляцию легких к нормальному уровню.
Но на практике стремно работать в помещении в 35000 ppm, это же не под одеялом надышал сам себе, кроме СО2 в воздухе может быть что угодно, радон, растворитель, ртуть, СО, CH, NO, воздух не вентилируется, загрязнители не выветриваются, а СО2 просто тревожный звоночек и повод осмотреться.
К тому же раз есть СНИПы (или как их там зовут) на концентрацию CO2, то это не просто же так. Вряд ли их составляли ещё советские врачи, которые глупее вас.
А вот пониженная работоспособность, головные боли и всё такое из-за повышенной концентрации CO2 на рабочем месте — это очень частая история.
Если на работе стресс, то не всегда по причине уровня СО2. Возможно зарплату пол года не платят или еще что-то.
Вам, видимо, виднее, чем врачам.
Ну ок, чо.
И у нас тоже нормы есть для краткого времени и для долгого. Наши нормы, правда, как я слышал, действительно строже именно в этом вопросе.
Однако, я склонен тут перебдеть, чем недобдеть, т.е. довериться более строгим мерам.
Тем более раз есть возможность благодаря таким датчикам.
Ну такое бывает в гостиницах кстати, с вентиляцией там вечно проблемы, а номера сразу после ремонта сдадут, чтобы не терять прибыль, люди там травятся, могут астму за ночь заработать. Тут тоже не в датчике дело, а в безотвественности людей.
Датчик пыли тоже для быта кажется избыточным. На производстве ПДК пыли измеряют, но там и так видно, что пыль есть, вопрос в количестве. Даже если после измерения говорят, что нужны респираторы, рабочие типично все равно игнорируют указания.
Но, попав на такую вилку, рабочие традиционно выбирают второй вариант: «может, и не поймают без респиратора — а вот невыполненный план не скроешь».
На пыль размером PM2.5 есть стандарты, которые не стоит превышать. Соответственно, есть смысл мониторить.
+ Если есть аллергия на пыль и предпринимаются какие-то попытки уменьшить её концентрацию (ковёр убрали или мойку воздуха поставили), то надо обязательно замерять.
Поэтому есть стандарты. Не вписался в стандарт — отвечай.
Обратите внимание: Вот показания в офисе
И сравните с картинкой экрана в этом обзоре. Это показания у меня дома.
Все будет норм?
Чет ваять плату ну совсем лень))
Или на рынке купил. Вот не вижу причин интересоваться этим.
Тем более это, по сути, мультиобзор, он стоит 20 мелких обзоров и уведомлений о распродажах, где уже первый комментарий о том что она закончилась, а уведомления все равно висят…
упс. проглядел co
Carbon Monoxide (CO) Sensor — MQ-7 (analog and digital out)
Простые дешевые датчики.
Такой я тоже брал, но MQ-7. Чё-то вообще не алё. На выдох слабо реагирует.
Плюс он электрохимический.
На огонь тоже плохо реагирует, кстати.
Начинаю собирать. Хочу еще добавить датчики CO (частный дом, очень важно) и вероятно BME280.
Видимо придется мультиплексор 8-канальный ставить. Например 2 74HC4051.
Или выкинуть MP3, заменить пищалкой… Хотя по большому счету писк нужен только для смертельных концентраций CO…
Стоит магазинный CO2, писк сначала повысил порог, а потом вообще отключил — задолбал.
А для чего JP1?
Но у второго варианта как-то криво сделано питание. Я использую первый вариант.
Еще интересный вот такой вариант:D1 Но тут с подключением сами разбирайтесь.
у D1 другая распиновка но зато он меньше по размеру
Лобзиком и напильником явно так не получится.
Кстати заходите на мой сайт там много материалов по теме. В том числе пошаговая инструкция по сборке.сайт
Вопрос: а чем рисовали монтажную схему на макетной плате? Хочу перерисовать чуток под другие коммутаторы. Ищу удобную программульку.
В хорошо проветренной квартире, возле открытого окна имею 0.08 мг/м3
Город не промышленный, загазованности особой не наблюдается. Верить показаниям или китаец откалибровать поленился?
А как прикрутили к ESPHome?
Подскажите, датчик формальдегида выдает концентрацию от 0 до 6240 единиц примерно, как это хозяйство перевести в mg/m3.
ZE08-CH2O «отдает данные или ppb или mg/m3.
Чтобы Вам не набирать.
youtu.be/pUr-OA3evDg?si=0OPbPVXwNuslhC4L
gist.github.com/cretep/f96606dc6a4eae0d85993d6085959220
С ESP8266 тоже работает.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.