Главная » Статьи » Для самостоятельной сборки » Описание прибора

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

 

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

Корпус

Категория: Описание прибора | Добавил: Мастер (03.03.2017)
Просмотров: 1423 | Комментарии: 6 | Рейтинг: 5.0/1
Всего комментариев: 6
avatar
1
Константин, я купил немного другой ESP. На моем контроллере нет D12. Вместо него SD3. Не подскажите как быть?
avatar
0
2
Это не имеет значение. На тех контроллерах что я использую тоже промаркировано как SD3.
avatar
3
Константин, только часы вот не хотят показывать время. В может быть проблема не подскажете.
avatar
0
4
Подскажу. Скорее всего при прошивке Вы не обратили внимание на параметр Flash mode. Этот параметр обязательно должен быть Dual flash. Иначе D12 будет использоваться контроллером для управления памятью. При прошивке установите все флажки именно так как показано в моем примере и у Вас все получится.
avatar
5
Я использую другую программу. Там стоит SPI mode - DIO. Это оно?
avatar
0
6
К сожалению про другую программу я подсказать не могу.
avatar