Реклама ⓘ
Главная » Автоматика в быту
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

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

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

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

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

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
ArduinoPro-Mini1 3,3 vПоиск в магазине ОтронВ блокнот
LCD-дисплейILI94881 Без тачскрина, SPI, 320x480Поиск в магазине ОтронВ блокнот
ДатчикBME2801 Питание 3,3vПоиск в магазине ОтронВ блокнот
ДатчикCCS8111 Питание 3,3vПоиск в магазине ОтронВ блокнот
DC-DC преобразовательMini-3601 5v ---> 3,3v Или LM1117-3.3Поиск в магазине ОтронВ блокнот
Составной транзистор
ULN2803
1 Поиск в магазине ОтронВ блокнот
R1 Резистор
10 Ом
1 Поиск в магазине ОтронВ блокнот
R2 Резистор
22 Ом
1 Поиск в магазине ОтронВ блокнот
R3 Резистор
100 Ом
1 Поиск в магазине ОтронВ блокнот
ZQ1 Пьезоизлучатель1 Активный, 5vПоиск в магазине ОтронВ блокнот
M1 Вентилятор1 Любой, 5vПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 2
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.9 Проголосовало: 2 чел.

Комментарии (15) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
vavaav #
Вентилятор как то влияет на датчик атмосферного давления?
Ответить
0

[Автор]
DimaVolk #
Никак не влияет! Во время снятия показаний с датчика вентилятор уже не работает!
Ответить
-2
Сергей #
А слабо сделать сам датчик CO2, а не собирать конструктор с алиэкспресс?
Ответить
+2
Ev_geniy #
А слабо самому микроконтроллер из кремния выточить, а не заказывать где попало?
Ответить
+1

[Автор]
DimaVolk #
К сожалению, у меня дома нет производственной линии по изготовлению микрочипов, если бы была, то не слабо!
И это не конструктор!
Ответить
0
Cергей #
Уточните насчет датчика BMP280 - каким образом он влажность меряет? Даже в даташите от BOSCH нет упоминания об измерении влажности.
Ответить
0

[Автор]
DimaVolk #
Опечатка небольшая, в статье написано BMP280, на схеме и в перечне элементов - BME280! Правильно BME280, он влажность меряет!
Ответить
0
sergej_shaggy #
А разве BMP280 измеряет влажность? Вот в фирме BOSCH удивятся.
Ответить
0

[Автор]
DimaVolk #
В китайском варианте измеряет, доказательство в статье! Все работает!
Ответить
+1
star #
BMP280 не меряет, А вот BME280 меряет
Ответить
0
ОЛЕГ #
Подскажите все таки, какой датчик покупать, тот что у вас на фото , али выдает как BME/BMP280 на напряжение 5 вольт. и стоит он до 100 руб . Просто BME280 имеет больше выводов , на напряжение 3.3V и стоит 800 руб.
Ответить
0

[Автор]
DimaVolk #
Покупать BME280, у меня куплен здесь Полное название BME280 3.3V/5V Digital Sensor Temperature Humidity Barometric Pressure Sensor Module I2C SPI 1.8-5V/3.3V GY-BME280.

Покупал и у другого поставщика, но уже с большим количеством выводов, но они в проекте не нужны! Сам чип питается от 3.3в, есть платы с установленным стабилизатором и преобразователем уровня 3,3-5в, они дороже.
Ответить
0
Александр #
Моя версия дисплейного модуля для домашней метеостанции. Использован 7" дисплей.
Прикрепленный файл: IMG_20181110_150909.jpg
Ответить
0

[Автор]
DimaVolk #
Класс!
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Радиореле 220В
Радиореле 220В
Мультиметр Mastech MS8239C ELM327 OBD II — адаптер с поддержкой CAN
вверх