РадиоКот :: Простая домашняя метеостанция
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

Простая домашняя метеостанция

Автор: Дмитрий Волков
Опубликовано 31.10.2022
Создано при помощи КотоРед.

 

Давно хотел узнать насколько чистый воздух у меня в доме. Знаю, что в сети достаточно много схем и решений по поводу контроля домашнего микроклимата, например эта. Но по ряду причин не стал повторять данные схемные решения, одними из таких причин было: громоздкость конструкции, значительно большие размеры корпуса и платы, использование хотя и дешевых, но сложных для повторения новичками микроконтроллеров.

В основу моей схемы положен микроконтроллер на базе Arduino, а именно Arduino Pro-Mini; 3.3v; 8MHz. Дешевый микроконтроллер, малых размеров, который с успехом справляется с поставленными задачами, а именно: измерение температуры, влажности, атмосферного давления, измерение уровня eCO2 в воздухе, а также построение суточных графиков изменения этих параметров с выводом на дисплей, и контроль превышения уровня eCO2 в воздухе с сигнализацией об этом.

Схема построена на основе готовых плат, выписанных, конечно с АлиЭкспресс, которые объединены на одной общей плате. Такое схемное решение значительно упрощает повторение «Метеостанции» даже начинающим радиолюбителем.

Для получения информации использованы датчики:

BMP280  датчик измеряет температуру, влажность и атмосферное давление, питание датчика 3,3v ;

CCS811  датчик применяется для обнаружения в воздухе помещения окиси углерода (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. Так как логика МК работает на 3.3v, а потребление вентилятора составляет (по замерам, без токоограничивающего резистора) 0,35А, то для управления вентилятором и пьезоизлучателем применена микросхема ULN2803, у меня она не в 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см, поскольку соединения элементов все очень простые и их немного, плата под проект не рисовалась. На верхней стороне платы смонтированы: МК, дисплей, DC-DC преобразователь, пьезоизлучатель и микросхема ULN2803; на нижней стороне — оба датчика и вентилятор.

    

Такое расположение элементов позволяет минимизировать влияние радиоэлементов на датчики. Общая толщина платы с установленными элементами — 35мм.

Экран устройства разделен на 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 ГПа, значение можно найти в интернете.

Фотографию готового устройства можно видеть ниже:

   

 

Скетч:

01.rar

 


Файлы:
скетч


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

12 3 4