Портативная система климат-контроля на платформе Arduino | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 25 января, печатный экземпляр отправим 29 января.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Информатика

Опубликовано в Юный учёный №2 (87) февраль 2025 г.

Дата публикации: 08.01.2025

Статья просмотрена: 1 раз

Библиографическое описание:

Полонников, И. Е. Портативная система климат-контроля на платформе Arduino / И. Е. Полонников, Е. Е. Симаков. — Текст : непосредственный // Юный ученый. — 2025. — № 2 (87). — URL: https://moluch.ru/young/archive/87/4737/ (дата обращения: 16.01.2025).

Препринт статьи



Потребность в автоматизации появилась у человека давно. Развитие технологий способствует упрощению некоторых видов деятельности, частичной замене человеческого труда на роботов, созданию более комфортных условий для жизни и работы. Не последнюю роль в сохранении здоровья человека, его трудоспособности играют климатические условия, особенно, если речь заходит о длительном пребывании в замкнутом пространстве. Следить за оптимальным уровнем показателей в помещении помогает климат контроль — это одно или несколько устройств, которые поддерживают заданную температуру, уровень влажности и химический состав воздуха. Блок управления сравнивает показатели в помещении с заданными параметрами. При отличии показателей, он подает новую команду для их изменения. В рамках проекта разработана портативная система климат-контроля на платформе Arduino.

Ключевые слова: климат-контроль, Arduino, робототехника.

Системы климат-контроля имеют долгую историю развития, начиная с древних времен, когда люди использовали огонь и воду для регулирования температуры в своих жилищах. В XIX веке были изобретены первые механические устройства для контроля температуры, такие как термостаты и вентиляторы. В XX веке появились электрические системы отопления и охлаждения воздуха, а также увлажнители и очистители воздуха.

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

Основными функциями систем климат-контроля являются поддержание заданной температуры, регулирование влажности воздуха и очистка его от пыли и других загрязнений. Системы климат-контроля представляют собой комплекс устройств, предназначенных для обеспечения комфортной температуры и влажности в помещении. Они могут быть как простыми, включающими в себя только термостат и увлажнитель воздуха, так и сложными, состоящими из множества компонентов. Например, могут включать в себя кондиционеры, которые служат для охлаждения или нагрева воздуха в помещении, а также для его очистки от пыли и вредных веществ; увлажнители воздуха, поддерживающие необходимый уровень влажности; очистители воздуха, которые удаляют из воздуха пыль, аллергены и другие загрязнители; ионизаторы — насыщают воздух отрицательными ионами, которые улучшают самочувствие и повышают работоспособность.

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

Схема и алгоритм работы устройства Схема и алгоритм работы устройства

Рис. 1. Схема и алгоритм работы устройства

В основе проекта лежит плата Arduino Uno. Arduino — это небольшая управляющая плата с собственным процессором и памятью. Помимо них на плате есть пара десятков контактов, к которым можно подключать светодиоды, датчики, моторы. В Arduino можно загрузить программу, которая будет управлять всеми этими устройствами по заданному алгоритму. Первый прототип платы семейства Arduino был разработан в 2005 году программистом Массимо Банци. На сегодняшний день платформа Arduino представлена не одной платой, а целым семейством. Основой устройства, разрабатываемого в рамках данного проекта, стала плата Arduino Uno. Рассмотрим ее подробнее.

Плата выполнена на базе процессора ATmega с тактовой частотой 16МГц, обладает памятью 32кБ. На платформе расположены 14 контактов (pin), которые могут быть использованы для цифрового ввода и вывода. Также имеется 6 контактов аналогового ввода и входной контакт Reset. Программы для Arduino пишутся на языке wiring, в основе которого лежит C++, дополненный специальными библиотеками и функциями.

Отличительной особенностью плат семейства Arduino является наличие «шилдов» (shields), т. е. плат расширения, которые подключаются к Arduino с помощью штыревых разъемов подобно «слоям бутерброда». Использование «шилдов» позволяет использовать в проекте датчики, моторы и сервоприводы, локальную сеть или мобильную связь. Например:

– Ethernet Shield— для подключения к сети Интернет;

– MicroSD Shield— для записи данных на карты microSD;

– Motor Shield— для управления двигателями постоянного тока;

– GPRS Shield— для обмена данными по GPRS;

– Troyka Shield — для подключения сенсоров через 3-проводные шлейфы.

Плата Arduino Uno, Troyka Shield и Motor Shield Плата Arduino Uno, Troyka Shield и Motor Shield

Плата Arduino Uno, Troyka Shield и Motor Shield

Рис. 2. Плата Arduino Uno, Troyka Shield и Motor Shield

В рамках данного проекта для подключения всех необходимых компонент к управляющей плате использовалась плата расширения Troyka Shield. На плате расположены несколько групп Troyka-пинов.

– Troyka-контакты «S-V-G» — пины для подключения модулей и сенсоров с рабочей линией питания: S — сигнальный пин, V — питание, G — земля.

– Troyka-контакты «S-V2-G» — пины для подключения модулей и сенсоров с альтернативной линией питания V2.

– Джампер выбора питания:

  1. V2+IOref — на линии V напряжение 3,3 вольта (для подключения аналоговых сенсоров).
  2. V2+5V — на линии V2 напряжение 5 вольт (для подключения модулей с минимальным рабочим напряжением 5 вольт).

– Контакты интерфейсов I²C и SPI — пины для подключения устройств с соответствующим интерфейсом.

– Монтажная площадка с луженными отверстиями для прототипирования выводных компонентов с помощью пайки.

– Кнопка RESET для сброса микроконтроллера на управляющей плате, на которую будет установлен Troyka Shiled.

– Контакты разъёма ICSP — для подключения плат, использующих для коммуникации сигнальные пины разъёма ICSP.

Элементы платы Troyka Shield

Рис. 3. Элементы платы Troyka Shield

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

Примеры датчиков для Arduino: MQ-2, MQ-7, DHT-11

Рис. 4. Примеры датчиков для Arduino: MQ-2, MQ-7, DHT-11

В разрабатываемом устройстве использованы 2 датчика:

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

Диапазон температур: −40…+128 ° (±0,3 °С)

Диапазон влажности: 0–100 % (±2 %)

– Датчик широкого спектра газов MQ-2. Способен определить концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, как результата горения) и водорода. Датчик построен на базе полупроводникового газоанализатора MQ-2 и выдаёт аналоговый сигнал, пропорциональный содержанию газов в окружающей среде.

Диапазон измерений:

Пропан: 200–5000 ppm; Бутан: 300–5000 ppm;

Метан: 500–20000 ppm; Водород: 300–5000 ppm

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

Для вывода информации о текущем состоянии в помещении использовался цветной TFT-дисплей 128x160 1,8''. Дисплей общается с управляющей платформой через последовательную шину SPI c дополнительными пинами управления. Поскольку большая часть пинов была задействована при подключении датчиков, помпы, то для дисплея использовалась программная реализация протокола SPI. Подобная программная эмуляция шины позволила использовать сигналы данных на всех пинах управляющей платы.

Датчики SHT1x и MQ-2, TFT-дисплей Датчики SHT1x и MQ-2, TFT-дисплей Датчики SHT1x и MQ-2, TFT-дисплей

Рис. 5. Датчики SHT1x и MQ-2, TFT-дисплей

Матрица экрана подключена к встроенному чипу ST7735, который выполняет роль моста между экраном и микроконтроллером. Систему координат дисплея можно представить в виде сетки, каждая ячейка которой является отдельным пикселем. Местоположение пикселя задается парой координат.

Для контроля влажности был создан небольшой фонтанчик. Его «корпус» был напечатан на 3D-принтере, а за работу отвечает погружная помпа, подключаемая к плате управления через модуль силового ключа. Для охлаждения и обеспечения движения воздуха использовалась вентиляция. Но, поскольку устройство служит прототипом системы климат-контроля, то полноразмерная система вентиляции была заменена вентилятором.

Вентилятор, погружная помпа и силовой ключ Вентилятор, погружная помпа и силовой ключ Вентилятор, погружная помпа и силовой ключ

Рис. 6. Вентилятор, погружная помпа и силовой ключ

Корпус для устройства был собран из элементов ПВХ-конструктора «Структор» компании Амперка.Полученное в результате устройство представлено на фотографии ниже.

Устройство «Система климат-контроля» в сборе

Рис. 7. Устройство «Система климат-контроля» в сборе

Рассмотрим основные этапы реализации алгоритма работы устройства для платформы Arduino Uno.

  1. Подключение библиотек для работы с датчиками и дисплеем. Определение управляющих пинов.
  2. Определение режимов работы датчиков, калибровка дисплея, предварительный нагрев датчика MQ-2. Данные действия производятся в функции void setup(), которая запускает только один раз, после каждой подачи питания или сброса платы Arduino.

Основные блоки бесконечного цикла void loop(), команды которого выполняются, пока на плату подается питание.

  1. Калибровка датчика широкого спектра газов MQ-2. Когда завершится процесс предварительного нагрева и калибровки, в монитор порта будут выведены первичные значения измеряемых параметров для проверки.
  2. Считывание первичных данных с датчика влажности и температуры и вывод показаний в монитор порта для проверки.
  3. Вывод показаний датчиков на дисплей.
  4. Проверка показаний датчиков на соответствие оптимальным параметрам (по умолчанию выбраны нормы ГОСТ, но пороговые значения можно изменить под собственные требования). Если происходит превышение одного из параметров показаний датчика MQ-2 или температуры, то включается система вентиляции. Если происходит снижение влажности воздуха, то включается фонтанчик.

Далее приведены фрагменты кода основных этапов алгоритма.

этапа

Фрагмент кода

1

2

3

C:\Users\johnp\AppData\Local\Packages\Microsoft.Windows.Photos_8wekyb3d8bbwe\TempState\ShareServiceTempFolder\Снимок экрана 2024-02-19 131304.jpeg

4

C:\Users\johnp\AppData\Local\Packages\Microsoft.Windows.Photos_8wekyb3d8bbwe\TempState\ShareServiceTempFolder\Снимок экрана 2024-02-19 131320.jpeg

5

6

Разработанная система имеет возможности для модификации и расширения функционала путем добавления новых датчиков и/или использования более продвинутых алгоритмов обработки получаемых данных. Например, в систему могут быть добавлены следующие функции:

– вывод на дисплей графика изменения значений в реальном времени;

– система повышения температуры (обогрева);

– передача показаний дистанционно на мобильное устройство;

– автоматический вызов спец. служб при превышении показаний содержания газа в воздухе;

– система звуковой сигнализации при большой концентрации газа в воздухе.

Литература:

  1. Блум, Д. Изучаем Arduino / Д. Блум. — СПб.: БХВ-Петербург, 2016. — 336 с. — ISBN 978–5–9775–3585–4.
  2. Монк, С. Программируем Arduino. Основы работы со скетчами / С. Монк. — СПб.: Питер, 2016. — 176 с. — ISBN 978–5–496–01956–9.
  3. Соммер, У. Программирование микроконтроллерных плат Arduino/Freeduino / У. Соммер. — СПб.: БХВ-Петербург, 2015. — 240 c/ — ISBN 978–5–9775–0727–1.
  4. Амперка. Вики [Электронный ресурс]. URL: http://wiki.amperka.ru/ (Дата обращения: 25.11.2023г.)


Задать вопрос