Вступительная статья

Замечательно жить на берегу горного озера, среди девственной, природы. Дышать только чистым, наполненным ароматом трав воздухом. Но мало у кого это получается. Каким воздухом мы дышем? Нам только кажется, что мы дышим воздухом, на самом деле человек вдыхает полной грудью аэрозоль, некий коктейль из газов, твердых и жидких частиц различной природы.
Нам уже стали привычны термометры, барометры, приборы показывающие влажность. Но эти приборы ничего нам не говорят о качестве и составе окружающего воздуха. А значит мы будем слушать советы, которые не всегда верны, руководствоваться слухами, не зная наверняка, правильно ли мы поступаем.
Один из таких мифов – что в городах отвратительный воздух, грязный и ядовитый. И вместо кислорода сплошные выхлопы от автомобилей. Мы воспринимаем это как данность, и не пытаемся исправить ситуацию, даже там, где способны это сделать, в собственном доме, или офисе. Даже те, у кого есть маленькие дети, или проблемы с аллергией, прикладывают свои усилия в слепую, не контролируя результатов.
Есть много полезных приборов позволяющих увеличить качество воздуха в нашем доме - увлажнители, ионизаторы, мойки воздуха, приточные вентиляции и фильтры.
Но этого недостаточно. Нужен прибор которым вы могли-бы непосредственно померять качество воздуха в вашем доме. Что бы Вам было понятно и очевидно чем Вы дышите. Как температура на градуснике.
Что может дать подобный прибор?
Многие думают что в мегаполисе воздух грязный именно на улице, где машины и заводы. А в помещении воздух чище. Но это совсем не так. Достаточно померять. Человек выдыхает в 100 раз больше СО2 чем вдыхает. И в герметично закрытом помещении, тем более, если присутствует несколько человек, воздух становится удушливым очень быстро. В доме много мебели и отделочных материалов, выделяющих токсичные вещества. В квартире быстро скапливается пыль, которая может нанести серьезный вред Вашему здоровью. Воздух в закрытом помещении в 4-8 раз грязнее чем на улице, и в 8-10 раз токсичнее. И Вы можете это померять и увидеть, если у вас есть соответствующие приборы. И понять как часто вам стоит проветривать помещение, в любую погоду.
Один из серьезных загрязнителей воздуха это пыль. Переносчик инфекций, любимая среда для клещей-сапрофитов и серьезный аллерген  — пыль загрязняет воздух сильнее всего.
В доме, где есть аллергики, рекомендуют радикальные меры: гардины и портьеры поменять на жалюзи, убрать паласы, книги, декоративный текстиль и плюшевые игрушки. И даже мягкую мебель поменять на аналоги в кожаной обивке. Книги, сувениры, всякую мелочь – хранить под стеклом. И конечно важно знать что Ваши усилия не пропадают даром и количество пыли в доме минимально. А это тоже можно померять и увидеть.

Опасность таит и домашняя обстановка, мебель, лаки, краски, ДСП, МДФ, некоторые пластики могут выделять фенолы, формальдегиды и т.д. Совершено не важно, какой цены мебель из ДСП — все равно в воздух «полетят» вредные для организма соединения.
Но и с этой бедой можно эффективно бороться, в том числе проветриванием помещения. Просто надо видеть врага в лицо. Измерять и контролировать.

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

Монитор качества воздуха в помещении


    • Цена: запчастей около 7000р


    В продолжении и развитии прошлой темы датчика СО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 плееру.

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

    Монтажная схема

    Электрическая схема:


    Все необходимое для прошивки контроллера
    прошивка
    скрипты lua

    Программа для прошивки ESP8266 github.com/nodemcu/nodemcu-flasher

    ESPlorer для загрузки скриптов на esp8266 esp8266.ru/esplorer/#download

    USB драйвер для Windows www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

    Наклейка на морде
    Зачасти
    ZE08-CH2O

    ESP8266
    Плата
    DS3231 AT24C32
    Дисплей
    Блок питания
    вентилятор
    Звуковой модуль
    коммутатор
    динамик
    MH-Z19
    Датчик пыли

    Корпус

    Чем измеряем?

    Инфракрасные датчики газов.
    Инфракрасные датчики газов(NDIR) используют метод «Инфракрасной- спектроскопии»
    При пропускании через газ инфракрасного излучения, разные газы и соединения поглощают излучение каждый в своем участке спектра. Используя оптические фильтры и фоточувствительные датчики можно определить по интенсивности поглощения, количество и концентрацию исследуемого газа.
    Оптические датчики газов используют одну из лучших технологий, основанную на принципе поглощения газом инфракрасного излучения. Различные газы имеют разные максимумы поглощения ИК излучения, поэтому тип и концентрация газа могут быть определены через измерение и анализ кривой поглощения газом ИК.
    Инфракрасный датчик имеет хорошую избирательность, стабильность, большой срок эксплуатации, а также не зависит от содержания кислорода. Встроенный датчик температуры может использоваться для компенсации температурной зависимости. Миниатюрный ИК датчик газа сочетает в себе технологию инфракрасного метода детектирования газа, и современную микропроцессорную начинку.

    Зачем измерять пыль?

    Пыль

    Пыль — мелкие твёрдые частицы органического или минерального происхождения. К пыли относят частицы меньшего диаметра от долей микрона и до максимального — 0,1 мм

    Пыль делится на несколько классов по диаметру частиц. Меньше, или равно 2,5 мкм обозначается как РМ2.5, меньше или равно 10 мкм РМ10. Это те категории которые классифицируются и по которым есть нормативы предельной концентрации.

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

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

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

    По данным Всемирная организация здравоохранения (ВОЗ) , по оценкам , в 2005 году, загрязнение воздуха мелкие частицы РМ2.5, вызывает около 3% смертности от сердечно - легочной болезни, около 5% смертности от рака трахеи, бронхов и легких, и около 1% смертности от острых респираторных инфекций у детей в возрасте до 5 лет, по всему миру. Кратковременное воздействие при повышенных концентрациях может в значительной степени способствовать сердечно - сосудистых заболеваний, как недавно описано в исследовании 2016 года.

    В России установлены ограничения на твердые частицы в воздухе.

    PM10

    начиная с 21 июля 2010 г.

    PM2.5

    начиная с 21 июля 2010 г.

    Среднегодовая

    40 мкг / м 3

    25 мкг / м 3

    Среднесуточное (24-часовой)

    60 мкг / м 3

    35 мкг / м 3

    Что такое Формальдегид?

    Формальдегд (от лат. formīca «муравей») — бесцветный газ с резким запахом, хорошо растворимый в воде, спиртах и полярных растворителях, токсичен.
    Химическая формула - CH2O
    Применяется в производстве кожи как дубильное вещество. В медицине как антисептик. Применяется в деревообрабатывающей и мебельной промышленности для производства фанеры, ДСП и т. д.
    Дома и в офисе источником формальдегида является - ДСП, ОСП, фанера, минвата
    Обладает токсичностью, негативно воздействует на генетический материал, репродуктивные органы, дыхательные пути, глаза, кожный покров. Оказывает сильное действие на центральную нервную систему.
    Предельно допустимые концентрации
    •              ПДКр.з. = 0,5 мг/м³
    •              ПДКм.р. = 0,05 мг/м³
    •              ПДКс.с. = 0,01 мг/м³
    •              ПДКв. = 0,05 мг/л
    Симптомы отравления: бледность, упадок сил, конъюнктивит, острый бронхит, вплоть до отёка лёгких, депрессия, затруднённое дыхание, головная боль, чувство страха, шаткая походка.

    Почему измеряем CO2?

    Что измеряем?

    Углекислый газ, или диоксид углерода. Газ без цвета и запаха. Химическая формула – СО2.

    Концентрация углекислого газа в атмосфере земли в последнее время составляет 0,04%, или 400 PPM(промилле, количество частиц на миллион)
    Углекислый газ нетоксичен, но по воздействию его повышенных концентраций в воздухе на живые организмы его относят к удушающим газам. Удушающий газ представляет собой нетоксичный или минимально токсичный газ , который уменьшает или вытесняет нормальный кислород из вдыхаемого воздуха. Дыхание обедненного кислородом воздуха может привести к смерти от асфиксии (удушья). Поскольку Удушающие газы являются относительно инертными и не имеет запаха, их присутствие в высокой концентрации можно и не заметить, за исключением углекислого газа.
    Углекислый газ очень важен для человека, он играет огромную роль в регуляции дыхания. Хотя наш организм для нормального дыхания требует кислорода, но низкое содержание кислорода не стимулирует дыхание. Вернее стимулирует слишком поздно, когда человек уже теряет сознание.

     В норме дыхание стимулируется повышением уровня углекислого газа в крови. Дыхательный центр гораздо более чувствителен к повышению уровня углекислого газа, чем к нехватке кислорода. Как следствие этого, дыхание сильно разрежённым воздухом, или газовой смесью, вообще не содержащей кислорода (например, 100 % азотом или 100 % закисью азота) может быстро привести к потере сознания без возникновения ощущения нехватки воздуха (поскольку уровень углекислоты в крови не повышается, ибо ничто не препятствует её выдыханию).
    Эта особенность системы регуляции дыхания также является причиной того, почему в самолётах стюардессы инструктируют пассажиров в случае разгерметизации салона самолёта в первую очередь надевать кислородную маску самим, прежде чем пытаться помочь кому-либо ещё — делая это, помогающий рискует быстро потерять сознание сам, причём даже не ощущая до последнего момента какого-либо дискомфорта и потребности в кислороде.

    Незначительные повышения концентрации до 2—4 % в помещениях приводят к развитию у людей сонливости и слабости. Опасными концентрациями считаются уровни около 7—10 %, при которых развивается удушье, проявляющее себя в головной боли, головокружении, расстройстве слуха и в потере сознания (симптомы, сходные с симптомами высотной болезни), в зависимости от концентрации, в течение времени от нескольких минут до одного часа. При вдыхании воздуха с высокими концентрациями газа смерть наступает очень быстро от удушья.
    Хотя, фактически, даже концентрация 5—7 % CO2 не смертельна, уже при концентрации 0,1 % (такое содержание углекислого газа наблюдается в воздухе мегаполисов) люди начинают чувствовать слабость, сонливость. Это показывает, что даже при высоких содержаниях кислорода большая концентрация CO2 сильно влияет на самочувствие.

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

    В следующей таблице, приведены нормы содержания СО2 в помещении и их влияние на самочувствие человека:
    Симптомы у взрослых здоровых людей. Концентрация углекислого газа
    Нормальный уровень на открытом воздухе 350 - 450 ppm
    Приемлемые уровни < 600 ppm
    Жалобы на несвежий воздух 600 - 1000 ppm
    Максимальный уровень стандартов 1000 ppm
    Общая вялость 1000 - 2500 ppm
    Возможны нежелательные эффекты на здоровье 2500 - 5000 ppm
    Максимально допустимая концентрация в течение 8 часового рабочего дня 5000 ppm 

     

    Анализатор СО2 для дома и офиса.

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

    (без названия)

    тут видео о том как это выглядит: https://www.youtube.com/watch?v=tXq7SQ3Haz0

    Основа ESP8266 devkit 1v
    Использован 2.4" TFT SPI дисплей http://ru.aliexpress.com/item/2-4-240x320-SPI-TFT-LCD-Serial-Port-Module-5V-3-3V-PBC-Adapter-Micro-SD/2031285535.html?detailNewVersion=2
    Подключение TFT дисплея

    Включение, выключение подсветки дисплея и управление яркостью производится через GPIO0(D3) При включении питания по умолчанию на этом выводе устанавливается высокое значение +3v и экран вспыхивает белым светом. В модуле init.lua программно устанавливаем низкое значение и экран выключается на время инициализации. После полной инициализации яркость дисплея постепенно увеличивается с использованием ШИМ управления в модуле start.lua
    Инициализация дисплея производится в модуле InitModule.lua в функции init_spi_display()
    Рисование на дисплее и вывод всей информации производится в модуле start.lua. Все графическое оформление и подписи рисуется в функции printLCD1(). Рисование подложки для графика вынесено в отдельную функцию drawGraf(). Эта функция вызывается отдельно, когда график дошел до правой границы и надо перерисовать только фон графика.
    Данные по температуре со2 и график выводятся на дисплей при вызове функции printLCD(). График выводится короткими отрезками и когда достигает правой границы, фон графика перерисовывается и линия графика заново рисуется начиная с левого края. Значения температуры и со2, сперва выводится цветом фона предыдущее значение, что бы его стереть, и после уже выводится текущее. Значения перерисовываются только в том случае, если они изменились. Линия графика и светофор в правом нижнем углу рисуются в функции graph().
    Датчики температуры DS18b20

    В качестве датчиков температуры использованы цифровые датчики ds18b20.
    При подключении питания вызывается модуль InitModule.lua из которого вызывается модуль настройки
    local ds18 = dofile('ds18Init.lua')(2,2) ds18=nil
    Который производит поиск датчиков и определение их адресов. Функция addrs(pin,cd) производит определение адресов датчиков и сохранения их в глобальной переменной DS18_ADDR. Первый параметр функции, это пин к которому подключена шина 1 wire, через которую работают датчики. Второй параметр количество датчиков.
    Получаем температуру с датчиков вызовом модуля
    local ds18 = dofile('ds18run.lua')(2,0) ds18=nil
    Первый параметр пин 1 wire, второй должен быть ноль. При вызове функция сперва пытается прочитать параметры с датчиков, так что при первом вызове будет не актуальные данные, после этого функция посылает общую команду на вычисление для всех датчиков. Это сделано для того что бы убрать лишние задержки времени. В следующем цикле, когда функция определения температуры будет вновь вызвана, она вернет уже вычисленные значения температур и снова пошлет команду на вычисление уже для следующего цикла.
    Вычисленные значения сохраняются в глобальной переменной ListTime[1].data и ListTime[2].data.
    Модуль измерения CO2 MH-Z19.

    Данные считываются с помощью формируемого модулем сигнала ШИМ. Считывание данных запускается из модуля start.lua загрузкой и выполнением модуля
    local ppm= dofile('ppmrun.lua')() ppm=nil
    После включения питания, некоторое время, около минуты, модуль возвращает не корректные данные, слишком высокие, или низкие показания. Полученные данные записываются в глобальную переменную ListTime[3].data.
    Я условно разделил уровень со2 на 3 зоны зеленая – до 900 ppm, желтая – до 1500, и красная – все что выше 1500 ppm. В соответствии с этим проведены 2 контрольные линии в области графика и светофор в правом нижнем углу.
    Основной цикл программы, это функция time_loop() в модуле start.lua. Первый шаг 1 сек, остальные каждые 10 сек.
    В модуле initdatasensor.lua происходит создание основной таблицы данных ListTime и ее инициализация.


    Модуль filedata.lua используется для отправки UDP сообщения в сеть WIFI для работы программы на PC которая отображает данные с датчиков устройства. В данных скриптах нет настройки модуля ESP8266 на вашу домашнюю сеть WIFI Вам придется это сделать самим. В дальнейшем настройки сохраняются, и модуль автоматически подключается к сети.

    Сконфигурировать как точку доступа:
    wifi.setmode (wifi.SOFTAP)
    Подключиться к домашней сети WIFI:
    wifi.setmode(wifi.STATION)
    tmr.delay(1000000)
    wifi.sta.config(SSID, PASSWORD)
    tmr.delay(1000000)


    Так же данная программа может работать с модулем по USB. Настройки для этого подключения находятся в нижнем левом углу программы.

    Все необходимое программное обеспечение:

    Программа для прошивки ESP8266
    https://github.com/nodemcu/nodemcu-flasher
    Прошивка MCU lua   https://drive.google.com/open?id=0B4KYGXb6-nxpOUdXdTFpcjlFZXM

    Тут можно взять скрипты lua https://drive.google.com/file/d/0B4KYGXb6-nxpeGNNbGM0U2g2dEU/view?usp=sharing
    ESPlorer для загрузки скриптов на esp8266 http://esp8266.ru/esplorer/#download

    Программа для windows PC https://drive.google.com/open?id=0B4KYGXb6-nxpUmVXcElLektOQXM
    USB драйвер для Windows https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx