Давно хотел узнать насколько чистый воздух у меня в доме. Знаю, что в сети достаточно много схем и решений по поводу контроля домашнего микроклимата, например эта. Но по ряду причин не стал повторять данные схемные решения, одними из таких причин было: громоздкость конструкции, значительно большие размеры корпуса и платы, использование хотя и дешевых, но сложных для повторения новичками микроконтроллеров.
В основу моей схемы положен микроконтроллер на базе Arduino, а именно Arduino Pro-Mini; 3.3v; 8MHz (223 руб.). Дешевый микроконтроллер, малых размеров, который с успехом справляется с поставленными задачами, а именно: измерение температуры, влажности, атмосферного давления, измерение уровня eCO2 в воздухе, а также построение суточных графиков изменения этих параметров с выводом на дисплей, и контроль превышения уровня eCO2 в воздухе с сигнализацией об этом.
Схема построена на основе готовых плат, выписанных, конечно с АлиЭкспресс, которые объединены на одной общей плате. Такое схемное решение значительно упрощает повторение «Метеостанции» даже начинающим радиолюбителем.
Для получения информации использованы датчики:
BMP280 (~50 руб.) датчик измеряет температуру, влажность и атмосферное давление, питание датчика 3,3v ;
CCS811 (~600 руб.) датчик применяется для обнаружения в воздухе помещения окиси углерода (CO) и широкого спектра летучих органических соединений, интеллектуальный алгоритм вычисляет значения TVOC / eCO2, питание датчика 3,3v .
Оба датчика «общаются» с МК по шине I2C.
Вывод информации производится на TFT ЖК дисплей 3,5 дюйма на базе чипа ILI9488 с размером экрана 480х320 точек. Интерфейс общения с МК — SPI, питание — 3.3v. Сразу скажу, что без большой переделки прошивки, можно использовать любой дисплей с размерами экрана 480х320, придется только заменить библиотеку работы с дисплеем на другом чипе.
Итак, так как для питания дисплея и датчиков необходимо 3.3v, то это и послужило решающим фактором выбора МК на базе Arduino Pro-Mini 3.3v, чтобы не применять сложные схемы или микросхемы согласования уровня 5v-3.3v.
Для «проветривания» датчиков, то есть, для того, чтобы они выдавали реальные показания, применяется вентилятор охлаждения от ноутбука с питанием 5v; 2,25W (бесплатно, снят с донора). Данный вентилятор очень удачно вписался на плату, имеет малые размеры и очень тихо работает. Хотя можно использовать и любой другой с питанием от 5v.
В качестве извещателя о превышении уровня eCO2 применен активный пьезоизлучатель с питанием 5v (9 руб.). Так как логика МК работает на 3.3v, а потребление вентилятора составляет (по замерам, без токоограничивающего резистора) 0,35А, то для управления вентилятором и пьезоизлучателем применена микросхема ULN2803 (8 руб.), у меня она не в DIP корпусе, а в SO (просто были такие в наличии). Применение данной микросхемы сильно упрощает управление нагрузками, и, хотя, она и рассчитана на работу с 5v логикой, прекрасно работает и с 3.3 вольтовой. Микросхема имеет малые размеры, очень просто встраивается в схему без дополнительной обвязки, кроме резисторов, ограничивающих ток на нагрузку. Кроме этого, у микросхемы остается свободными еще 6 портов, что позволяет применить ее для расширения возможностей устройства, например, для управления проветриванием и т. д. Для питания МК, дисплея и датчиков применен DC-DC преобразователь MINI-360, просто потому, что был. При повторении схемы, не забудьте выставить на нем выходное напряжение в пределах 3.3-3.6v. На преобразователь подается напряжение 5v, оно же используется для питания вентилятора и извещателя. Вместо него можно использовать линейный стабилизатор LM1117-3.3 или подобный. Общее максимальное потребление схемы - 0,17A (при работе вентилятора), в ждущем режиме – 0,07А. В «Метеостанции» нет часов, просто не вижу необходимости в их наличии, нет кнопок управления по той же причине. Все компоненты смонтированы на макетной 2-х сторонней плате размерами 8х12см (100 руб.), поскольку соединения элементов все очень простые и их немного, плата под проект не рисовалась. На верхней стороне платы смонтированы: МК, дисплей, DC-DC преобразователь, пьезоизлучатель и микросхема ULN2803; на нижней стороне — оба датчика и вентилятор.
Такое расположение элементов позволяет минимизировать влияние радиоэлементов на датчики. Общая толщина платы с установленными элементами — 35мм. Таким образом, общая стоимость проекта (без корпуса и БП 5v) — 1629 руб. Корпус приобретен за 390 руб., итого с корпусом — 2019 руб.
Экран устройства разделен на 4 части, по количеству измеряемых параметров. В левой части отображаются текущие значения измеренных параметров, в правой части строится график изменения значений. По центру каждого графика (кроме последнего) проходит зеленая линия, с указанием над ней «нормального» для каждого параметра значения (для температуры, например, это 18 градусов С), для графика eCO2 — красная линия, показывающая максимально допустимое значение загрязненности воздуха (1500 ppm). Сверху справа указывается предыдущее измеренное значение, снизу справа — значение 24 часа назад (кроме eCO2). Измерения параметров производятся каждые 10 минут в течение суток, т. е. 144 раза в сутки, график строится на основе этих 144 показаний. Алгоритм работы — после последнего измерения «Метеостанция» находится в простое 8 минут, затем в течение 1 минуты «продувает» датчики, ждет еще 1 минуту, проводит опрос датчиков, выводит текущие показания на экран, перестраивает график, обновляет предыдущие и суточные показания на экране. Опрос датчика CCS811 производится 10 раз, усредненное значение оценивается на ПДК, в случае, если значение больше или равно 1000, оно выводится на экран на красном фоне, если значение еще и больше 1500, то звучит одиночный сигнал, если же значение более 2000 — сигнал звучит в течение 10 секунд. Далее алгоритм повторяется.
Исходный текст скетча приложен к статье, по пунктам даны комментарии, для контроля работы датчиков в тексте оставлены за комментированные строки вывода показаний датчиков в монитор порта. Единственная настройка, которую необходимо сделать в программе — это указать в параметре #define SEALEVELPRESSURE_HPA (1016.8) значение давления в Гпа на высоте (вашего города над уровнем моря), для г.Котлас это 1016,8 ГПа, значение можно найти в интернете.
Фотографию готового устройства можно видеть ниже:
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
Arduino | Pro-Mini | 1 | 3,3 v | Поиск в магазине Отрон | ||
LCD-дисплей | ILI9488 | 1 | Без тачскрина, SPI, 320x480 | Поиск в магазине Отрон | ||
Датчик | BME280 | 1 | Питание 3,3v | Поиск в магазине Отрон | ||
Датчик | CCS811 | 1 | Питание 3,3v | Поиск в магазине Отрон | ||
DC-DC преобразователь | Mini-360 | 1 | 5v ---> 3,3v Или LM1117-3.3 | Поиск в магазине Отрон | ||
Составной транзистор | ULN2803 | 1 | Поиск в магазине Отрон | |||
R1 | Резистор | 10 Ом | 1 | Поиск в магазине Отрон | ||
R2 | Резистор | 22 Ом | 1 | Поиск в магазине Отрон | ||
R3 | Резистор | 100 Ом | 1 | Поиск в магазине Отрон | ||
ZQ1 | Пьезоизлучатель | 1 | Активный, 5v | Поиск в магазине Отрон | ||
M1 | Вентилятор | 1 | Любой, 5v | Поиск в магазине Отрон | ||
Скачать список элементов (PDF)
Прикрепленные файлы:
- ILI9488-master.zip (13 Кб)
- Meteo.ino (10 Кб)
Комментарии (15) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация
[Автор]
[Автор]
И это не конструктор!
[Автор]
[Автор]
[Автор]
Покупал и у другого поставщика, но уже с большим количеством выводов, но они в проекте не нужны! Сам чип питается от 3.3в, есть платы с установленным стабилизатором и преобразователем уровня 3,3-5в, они дороже.
[Автор]