Меню
Блог Гридина Семёна

Автоматизация и логические контроллеры

Рубрики блога

Проект 2. Отопление на Arduino

Проект 2. Отопление на Arduino

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

Из этой статьи вы узнаете:

Схема отопления
Список оборудования и ПО

Приветствую друзья, с вами автор блога, Гридин Семён. В просторах интернета я наткнулся на замечательный проект по отоплению на Arduino. Сразу хочу поставить все точки над i. Статья не моя, и проект не мой, даже картинки не мои. Это произведение автора под ником Vanalaizer, первоисточник размещён на Geektimes.

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

Ну а вам решать, какой текст вам удобнее всего читать — мой или уважаемого Vanalaizer'a. А ему кстати говоря отдельное спасибо за проект. Так что не бросайтесь на меня тухлыми помидорами=)). Я не специально.

Схема отопления

Основной принцип данного проекта — это процесс регулирования электрокотла с помощью самой простой и приземлённой платой Arduino UNO.

Вот непосредственно сам шкаф управления, «мозги» на основе Arduino.

шкаф управления

Это как раз делалось для дома в деревне. Регулирование температуры ведётся в одной комнате.

Какое же само оборудование? Я не буду расписывать большие тексты. Напишу конкретно. Для системы требуется следующее.

  • Электрокотёл на 4-6 кВт
  • рециркуляционный насос

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

Система управления на Arduino не совсем простая, включать и выключать реле по PID-закону. Лучше всего два ТЭНа включать сразу, а одним поддерживать температуру, это самый надёжный и наиболее точный способ.

Ток потребления нагревателя составляет примерно 8 А. Лучше всего управлять твердотельными реле с запасом по мощности, примерно ампер 15-20 и с охлаждающим радиатором.

Есть готовые модули Solid State Relay, проще говоря — электросхема, собранная на мощном тиристоре, в корпусе, похожем на обычное реле. Из его плюсов — нет механики, ничего не залипнет. Не создаёт мощных ЭМ-помех, что важно для ethernet’a, о котором ниже.

Они уже содержат схему, которая включает и отключает реле при проходе нуля. На реле есть индикатор включения. Ну и ещё они беззвучные, хотя для нашего случае это не так и актуально. Были установлены SSR-25DA, что по-русски означает — твердотельное реле с постоянным управляющим током 3-5В и током нагрузки до 25А.

К ним есть штатные радиаторы, они должны быть установлены — ОБЯЗАТЕЛЬНО!! Не забываем смазать термопастой, для улучшения теплообмена.

шкаф электромеханики

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

Список оборудования и ПО

Что же применялось в конечном итоге:

  • Плата arduino. Использовалась UNO r3
  • Ethernet Shield
  • Витая пара
  • Датчики температуры
  • Блок питания на 110-240 — 12В 2А
  • Стабилизатор LM7805
  • Реле SSR-40DA 3 шт
  • Радиаторы для реле

Но всё это, конечно, хорошо, но не стоять же постоянно с компьютером рядом с котлом, всё же хотелось бы знать о том, что происходит дома, удалённо через инет. Уже был самый простенький VPS сервер от majordomo для чего попало. На нём создана база данных на MySQL для хранения данных о температуре. (на этом мои познания пока ограничены).

Отопление

Теперь нам надо как-то положить данные из arduino в эту базу. Для этого, естественно, понадобится как минимум связать arduino с интернетом.

Для этого нам и понадобится Ethernet Shield и его библиотека. Установлен простенький роутер. Тянем стандартную витую пару к роутеру и добавляем в программу передачу данных. Передача идёт через вызов странички на PHP с параметрами — данными. Создаём страничку с именем temp.php на нашем инет-сервере.

После этого мы имеем данные о температурах и мощности работы котла, чтобы каждый раз не лазить в базу, а посмотреть последние данные, автор написал “временный” скрипт на php, gettemp.php

Вот и практическое применение языка PHP в сфере автоматизации. Честно говоря, пока не углублялся в такие дебри, но всё равно интересно!!!

Ну и, сам скетч.

Здесь я останавливаюсь, спасибо автору за его проект. Было бы интересно пообщаться, я всегда на связи. Спасибо за внимание! Всего доброго!!!

С уважением, Гридин Семён

Вам так же может быть интересно

Комментариев к статье: 2
  • Семен! Добрый день! Хотел бы уточнить у вас есть ли какой то опыт реального использования данной схемы и какие выявились проблемы (если выявились)? Второй вопрос: почему вы использовали один ПИД контроллер на два ТЭНа, может имело смысл два массива коэффициентов использовать один более грубый один точнее? Скорее всего экономия электричества была бы. Третий вопрос: как был вычислено время для пересчета коэффициентов? (система отопления очень инерционная или у вас каркасный дом)

    • День добрый, это не мой проект, я в начале статьи указал. Мне он встретился в просторах интернета, и я для того чтобы не потерять, опубликовал здесь.

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