1. Простой измеритель содержания CO2 в воздухе.

  2. STM32F103

    MH-Z19B

    CDM102

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

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

На текущий момент для домашнего применения есть относительно недорогой датчик MH-Z19B. Его можно найти в магазинах радиокомпонентов, что дороже, или заказать у китайцев, и он обойдется примерно в 20$.

датчик MH-Z19B

Принцип действия датчика неоднократно описан в интернете, повторяться не буду. Датчик измеряет концентрацию в пределах 400-5000 ppm. Есть датчики с верхним порогом в 2000 ppm. Нормой считается содержание CO2 от 400 (лес, улица) до 1000 ppm. На практике концентрация в помещении может легко превысить 1500 ppm, поэтому мне кажется правильным для домашнего применения взять датчик с более широким диапазоном измерения. О своих наблюдениях по поводу содержания CO2 расскажу в конце.

С датчиком можно общаться по по usart иннтерфейсу. Считывание показаний gо usart даёт некое значение, которое необходимо делить на 2, чтоб получить правильное значение в PPM. Этот вывод сделан мной после сравнения показаний, считываемых с usart интерфейсв и показаний, получаемых на PWM выходе датчика.

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

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

дисплей CDM102

Индикатор называется CDM102 и представляет собой матрицу 5х12 крупных точек. Каждая точка может быть одного из трех цветов. Яркость регулируется программно и имеет 7 уровней. Управление индикатором производится по SPI-подобному интерфейсу.

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

Ночью дисплей светит довольно ярко, поэтому добавил датчик освещённости на фоторезисторе и подключил его к АЦП микроконтроллера. Теперь яркость дисплея регулируется в зависимости от уровня внешней засветки.

Микроконтроллер взял STM32F103CBT6 на плате Mapple Mini, но можно использовать любую плату, на которой установлен STM32F103CBT6 или _С8Т6 (они, как известно, отличаются только объёмом флеш-памяти, которой для такого устройства более чем достаточно).

Mapple Mini stm32F103cbt6

Сейчас в продаже большое количество разнообразных модулей на этом микроконтроллере и стоят они дёшево. Так что наверняка удастся подобрать что-то подходящее. Надо только убедится, что все задействованные в схеме выводы микроконтроллера выведены на пины модуля.

Принципиальная схема

Принципиальная схема измерителя

Принципиальная схема в формате Splan7: (доступно зарегистрированным пользователям)

Схема, как видно, совсем простая. В наладке, естественно, не нуждается и работает сразу после включения.

Обратите внимание на то, что хотя микроконтроллер питается напряжением 3.3 вольта, на модуль подаётся питание 5 вольт, в моём случае или через пин Vin или снимается с USB разъёма. Поэтому на плате модуля стоит стабилизатор на 3.3 вольта для питания микроконтроллера (на схеме он не указан, как и прочие компоненты, установленные в модуле). Выход этого стабилизатора 3.3 вольта выведен так-же на пин Vcc модуля. Этот выход используется в схеме для подключения датчика освещённости.

Прошивка

Версия 1.0.17 (02.06.2018)

Версия 1.0.17 от 02.06.2018: (доступно зарегистрированным пользователям)

Немного фотографий работающего измерителя:

Текущая температура

Mapple Mini stm32F103cbt6

Текущее содержание CO2. Из-за ограниченного места на дисплее цифры слиплись. Чтоб их различать, пришлось сделать их разного цвета. Нормально получилось, считывается, не напрягает.

Mapple Mini stm32F103cbt6

График содержания CO2 за последние 12 часов, по одному столбику на час. Значение за час усредняются.

Mapple Mini stm32F103cbt6

После месяца работы прибора можно сказать следующее:

- в городе содержание CO2 в комнате у открытого окна ниже 500 практически не опускается.

- если окно приоткрыто и в помещении есть люди, то содержание будет 600-900, что уже считается превышением нормы.

- если закрыть окно и в помещении есть люди, содержание начинает нарастать и может дойти до 1200-1600. Поэтому проветривание спальни перед сном полезно, но до утра не хватит, надо чтоб и ночью поступал свежий воздух.

- воздух ощущается как "спертый" после 1000

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

Всё.

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

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CommentFile
Максимальный размер файла: 5 МБ.
Разрешённые типы файлов: jpg png.