Проект «Управление сауной»

Управление сауной

Задача

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

Оборудование

  • Arduino Mega 2560
  • Ethernet Shield 2
  • Сторожевой модуль (Watchdog)
  • Цифровые датчики температуры DS18B20
  • Реле и защитное оборудование
  • Нагревательные элементы 10 кВт
Arduino Mega 2560

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

Панель управления

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

Панель управления

Температура по дням недели

Этот блок позволяет задать индивидуальную температуру сауны для каждого дня недели. Оператору достаточно один раз установить нужные параметры и автоматика будет самостоятельно поддерживать нужную температуру в сауне.

Температура устанавливается с точностью до одного градуса Цельсия и сохраняется в энергонезависимой памяти.

Расписание температуры

Расписание работы

Здесь можно задать время работы сауны по дням недели. Задаётся интервал включения — выключения и автоматика самостоятельно управляет работой сауны. Время работы задаётся с точностью до минуты и все настройки автоматически сохраняются в энергонезависимой памяти.

Кнопки в панели управления позволяют в любое время перейти на ручное управление или экстренно выключить нагрев, независимо от работы расписания.

Расписание работы

Контроль температуры

Этот блок содержит графики температуры сауны в реальном времени и изменения температуры в течении дня. Период обновления — 2 секунды. Актуальная и наглядная информация о состоянии системы всегда доступна оператору.

Контроль температуры

Статистика

Система ведёт подсчёт потраченной электроэнергии. Нагревательные элементы имеют большую мощность (десятки киловатт) и вопрос подсчёта энергозатрат очень актуален. Система показывает текущее потребление и подсчитывает потребление за месяц. Значения сохраняются в энергонезависимой памяти и не теряются при остановке системы.

Также на страницу выводится наглядный график энергопотребления системы по часам за текущий день.

Статистика

Здесь же находится блок вывода логов температуры сауны по дням. Можно выбрать датчик, год, месяц и день и вывести в окно браузера статистику температуры в текстовом виде или сохранить на компьютер в формате CSV для последующего анализа в Excel.

Лог в формате CSV

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

График температуры по дням

Установки

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

Настройки сенсоров

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

Гистерезис это установка точности регулирования температуры. Можно установить любое значение, начиная с одного градуса Цельсия. Изменения вступают в силу мгновенно и система сохраняет их в своей памяти на будущее.

Настройки сенсоров

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

Настройки нагревателей

Здесь задаются параметры нагревателей установленных в сауне. Указывается номинальная мощность, которая потом используется при расчёте энергопотребления. При установке мощности равной нулю нагреватель автоматически исключается из работы системы. Система отлично функционирует как при двух установленных нагревателях, так и при одном.

Настройки нагревателей

Здесь же устанавливается автоматическая задержка при ручном включении системы. Значение по умолчанию составляет два часа, т. е. если оператор нажмёт кнопку в панели управления, то сауна проработает два часа и автоматически отключится. Можно установить любое другое значение задержки.

Настройки времени

Можно выставить любую нужную временную зону, а также дату перехода на летнее/зимнее время, принятое в вашей стране и включить или выключить сам переход.

Настройки времени

Сетевые настройки и сброс настроек

Здесь можно изменить IP адрес системы по умолчанию. После изменения настроек нужно перезагрузить систему и она запомнит новый IP адрес и будет всегда работать на нём.

Сетевые настройки и сброс настроек

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

Предупреждение о настройках

Дизайн

Независимо от функционала системы, дизайн её может быть любым. Например, одним движением мыши можно переключиться на тёмный дизайн.

Тёмный дизайн

Или поменять внешний вид панели управления. Вариантов дизайна может быть сколько угодно, причём дизайн может меняться на лету с традиционного на «плиточный» и т. п.

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

Альтернативный дизайн панели управления Альтернативный дизайн панели управления Альтернативный дизайн панели управления

Динамическая индикация

Вся индикация динамическая и в реальном времени отображает состояние системы. По порядку: первый индикатор синего цвета отображает работу расписания вкл./выкл.

Второй индикатор показывает работу подсистемы термостабилизации. Если индикатор серый — это значит, что температура в норме, если светится зелёным, как на скриншоте — это значит, что подсистема термостабилизации определила несоответствие требуемой и реальной температуры. Стрелка рядом с цифрами показывает динамику изменения температуры в данный момент.

Динамическая индикация

Третий индикатор показывает состояние управляющего реле и, соответственно, главного нагревателя сауны (вкл./выкл.).

Четвёртый индикатор — состояние реле и дополнительного турбо-нагревателя.

Кнопки управления

Кнопки позволяют в любой момент изменить состояние системы — перейти на ручной режим или экстренно заглушить реле и все операции по нагреву сауны.

Кнопки управления

Безопасность

Управление сильноточным оборудованием это ответственная задача и несмотря на то, что Arduino Mega Server на практике показал себя как стабильная система со временем непрерывной и безошибочной работы в несколько месяцев, в данном проекте применена дополнительная защита с помощью внешнего сторожевого таймера (Watchdog).

Watchdog

Этот модуль защищает систему от зависаний и гарантирует перезагрузку контроллера в течение нескольких секунд. Это необходимая защитная мера для обеспечения безопасности управления сауной.

Функции, реализованные в проекте

  • Рабочее место оператора сауны
  • Управление системой из веб-браузера
  • Защита от зависаний при помощи модуля Watchdog

Индикация

  • Все индикаторы и органы управления работают в реальном времени
  • Реакция на изменение состояния системы примерно 1 секунда
  • Реакция на нажатие кнопок 1 — 2 секунды

Алгоритм управления температурой

  • Управления температурой с точностью до 1-го градуса Цельсия
  • Поддержка трёх датчиков температуры
  • Динамическое включение и отключение датчиков
  • Поддержка двух нагревателей
  • Поддержка форсированного режима разогрева сауны
  • Регулируемая точность поддержания температуры
  • Регулируемая скорость разогрева сауны

Управление нагревателями

  • Автоматический нагрев
  • Работа по расписанию
  • Кнопка ручного запуска системы
  • Регулируемый таймер ручного запуска
  • Кнопка экстренной остановки системы

Расписание

  • Установка работы сауны по дням недели с точностью до минуты
  • Установка температуры сауны по дням недели с точностью до градуса Цельсия

Статистика

  • Сбор данных об энергопотреблении
  • Вывод данных о текущем энергопотреблении
  • Вывод данных об энергопотреблении за месяц
  • Сбор данных о температуре сауны
  • Логирование температурных данных
  • Вывод в браузер логов температуры
  • Возможность скачивания и последующего анализа данных в формате CSV

Графика

  • Автоматическое построение графика температуры в реальном времени
  • Автоматическое построение графика температуры за текущие сутки
  • Построение графика температуры за любой день по запросу

Установки и настройки

  • Изменение настроек из веб-браузера
  • Сохранение всех настроек в энергонезависимой памяти
  • Сброс настроек на значения по умолчанию
  • Задание времени задержки ручного управления
  • Установка IP-адреса

Настройки температуры

  • Динамическое изменение количества температурных датчиков
  • Изменение точности поддержания температуры
  • Изменение порога включения форсированного нагрева

Настройки нагревателей

  • Задание мощности основного нагревателя
  • Задание мощности турбо-нагревателя

Работа со временем

  • Установка временной зоны
  • Установка перехода на летнее/зимнее время
  • Установка перехода на летнее время (месяц, день)
  • Установка перехода на зимнее время (месяц, день)

Заказать проект

Для того, чтобы заказать проект, просто пришлите письмо с описанием задачи на адрес info@hi-lab.ru и возможно уже через несколько дней вы получите готовый проект вашей мечты