Экономим электричество или таймер времени для ночного тарифа в электросетях
Как часто вам приходится настраивать различные таймеры? Будильник на смартфоне, таймер на хлебопечке, чтобы к завтраку был свежий хлеб, да и мало ли когда нужно что-то начать. Не менее важной оказывается задача вовремя отключить или закончить действие.
Так я столкнулся с задачей автоматизации включения и отключения электроприбора. Можно было бы воспользоваться типовой розеткой с реле времени, но включать надо необычную нагрузку, поэтому контроллер и только контроллер.
Итак, стоит задача включать электрический котел отопления для обогрева дома в ночной период времени, когда тарификация хоть немного щадящая. Что из этого получилось — смотрите ниже.
Покупать готовое реле времени за 6-8 тысяч рублей (не говорим о простых девайсах, втыкаемых в розетку), которые будут замыкать нужные контакты по срабатыванию событий или по времени, просто неспортивно. Кроме того, контроллер с аналогичными функциями, а то и с хорошим запасом функционала обойдется раза в 4 дешевле, не говоря о разминке для мозгов. Началось все в новогодние праздники.
Задача работы в строго отведенное время требует знать текущее время и задать границы работы. Все бы хорошо, но желательно менять время работы и иногда подстраивать часы. Кроме того, удобнее реализовать задачу в виде конечного устройства, которое не будет требовать наличия компьютера для смены параметров. Также на контроллер будут повешены дополнительные функции, но это в версии 2.0, а пока — таймер времени.
Отсюда определился список устройств, необходимых для выполнения задачи:
1. Arduino Nano (чем дешевле модуль, тем лучше, так как задачи не ресурсоёмкие); 2. Модуль времени RTC; 3. Модуль реле ( 2 реле); 4. Адаптер питания для ардуино. Был выбран DC-DC преобразователь-стабилизатор 12В-5В; 5. Дисплей 4х20 символов для красоты (в наличии были 4-х строчный и 2-х строчный); 6. Адаптер I2C для дисплея.
Вот так это оказалось соединено в итоге:
Собрать это все на макетке было делом достаточно простым. Изучая Хабр, я давненько приметил работу с I2C -шиной и уж больно мне понравился дизайн часов товарища, поэтому я позаимствовал часть его кода и сделал основные часы в таком же стиле.
Дальше шел долгий процесс изучения работы с EEPROM и модулем часов, чтобы при сбое питания таймер времени и сами часы не сбивались. Поначалу часы выключались, но длительное изучение форумов привело к мысли, что в модуле RTC стоит Li-ION аккумулятор и он просто сел от долгого путешествия из Китая в Россию. Поддержка питанием в течении пары суток позволила восполнить разряд и больше время не сбивалось.
Осталось соединить все модули покрепче, написать код и начать отладку.
А вот так это работает:
Для меня осталось загадкой, почему контроллер не хочет реагировать на нажатие отдельных кнопок изменения минут и часов, но охотно реагирует на нажатие другой кнопки, меняя минуты. Исходя из этого, допилил код до рабочего, хотя и индусского состояния, так как первый релиз таймера надо запускать в работу, а с остальным разбираться позже. Грешу на перегрев при пайке, хотя вывод на эти контакты стандартного Blink дает нормальное напряжение на пине. На данный момент пин D6 позволяет войти в меню изменения, а пин D9 листает минуты. Может кто подскажет, если сталкивался с подобным?
P.S. Уже после написания статьи я столкнулся с тем, что задачи, поставленные перед контроллером, надо расширять. Дело в том, что данный контроллер управляет электрическим котлом в дачном доме, а с ростом температуры стала повышаться влажность. Пришлось добавить в систему вентиляции канальный вентилятор аналогичный этому:
… и на второе реле повесить его включение. Опытным путем было установлено, что удачнее всего будет включать его каждый час на заданный промежуток времени. При этом включается он только с 9 до 21 часа, а ночью тепло из дома не выбрасывается. Регулировка времени включенного состояния также производится с кнопок, а вот время работы пока зашито в программе. На данный момент вытяжка включается на 10 минут каждый час. Оставлен задел на то, чтобы включать вытяжку автоматически, когда включается освещение в ванной или туалете. Текущий код, который уверенно работает уже месяц, ниже:
В дальнейшем этот контроллер планируется подключить к OpenHab, чтобы удаленно наблюдать и управлять системой отопления и вентиляции дома.
- управлять котлом по заданному времени
- управлять котлом по дням недели (new)
- управлять системой вентиляции по времени (каждый час на заданное количество минут включается)
- отображает текущий день и отопление в сегодняшнем дне (в правом верхнем углу экрана номер дня и + либо — режим включения сегодня
Столкнулся с тем, что регулярная работа вытяжки заметно выстужает дом в сильные морозы, выбрсывая тплый воздух за пределы помещения. Добавил в меню пункт выключения вытяжки. По включению освещения в туалете и ванной вытяжка работает всегда. Также поправил некоторые моменты в прошивке.
Об агрегаторе
Ресурс формирует публикации автоматически. Контент может быть разнообразным и не связан между собой тематически. Он подбирается на основе открытых источников и не редактируется вручную.
Информационные блоки
Сводные темы
Материалы, не имеющие жёсткой категории, но представляющие интерес для читателей.
Быт и повседневность
Советы, наблюдения, описания процессов и явлений, встречающихся в жизни.
Региональные публикации
Факты, события, подборки, ориентированные на географические зоны и общие интересы.
Контакты
📍 г. Смоленск, ул. Логическая, д. 18, офис 205
☎ +7 (4812) 58-62-10
📧 info@site.ru
🕓 Поддержка: ежедневно, с 10:00 до 20:00
Правовой статус
Сайт не публикует собственный контент, не является СМИ и не несёт ответственности за достоверность материалов. Все тексты размещаются в автоматическом режиме на основе общедоступных источников.
При наличии претензий, направьте запрос на удаление — и материал будет проверен и исключён при наличии оснований.