Товары из Китая

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.


Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Привет, муськовчане!

Аквариумом мы с женой загорелись еще в 2015 году. Сразу начали делать травник — грунт ADA PowerSand + ADA AquaSoil Amazonia, подача CO2 и много света. Я тогда изготовил самодельную крышку для аквариума со встроенными люминесцентными лампами. Несколько лет травник нас радовал своим удивительным видом, но в какой-то момент, жене процесс ухода за ним надоел и аквариум из травника был переделан в чисто рыбник. Из света оставили только одну лампу T8 на 18вт. Со временем начались проблемы, изнутри крышки аквариума начала появляться плесень, хотя раньше такого не было, видимо помогало обилие света. В общем, решено было аквариум сделать открытым, отсюда и родилась идея данного светильника. Что из этого получилось — читайте далее.

Когда-то наш аквариум выглядел вот так:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

В крышку аквариума были установлены две лампы Т5 по 24Вт (Sylvania Grolux и Aquastar) и одна T8 18Вт (Sylvania Daylightstar). По освещенности получалось где-то 1 вт на литр (яркость люминесцентных лампы считали почему-то именно ваттами, а не люменами). И этой освещенности было вполне достаточно для нашего травника. Тумба под аквариум, кстати, тоже самодельная:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

А вот так вот лампы светили:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Теперь аквариум с новым светильником выглядит так:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Размер и мощность нового светильника рассчитаны на аквариум-травник длиной 60см с полезным объемом около 65л (общий 85л). Нужно отметить, что для травника по типу амановских, это самый минимум по интенсивности освещения для данного объема. Считается, что разогнанному травнику (с подачей CO2) нужно порядка 40-50 люмен на литр воды (зависит от плотности растений). Таким образом, для моих 65 литров необходим уровень освещенности от 2600 до 3200 люмен. Выбранные светодиоды обеспечивают порядка 120 люмен белые и около 20 люмен цветные. Что в общей сложности должно дать световой поток в 2320 люмен… Ну, в общем почти…)) Белые светодиоды для аквариума рекомендуют использовать с цветовой температурой 6500К. Я таких, правда, не нашел и использовал обычные 4500К.

Использование в светильнике светодиодов открывает дополнительные возможности, например регулировку яркости. Естественно я этим решил воспользоваться и еще мне захотелось сделать имитацию заката и рассвета. Для этого мне понадобились LED-драйверы (самодельные) с возможностью подачи ШИМ сигнала, а так-же микроконтроллер, я применил ESP8266 (плата D1 Mini) и прошивку проекта Tasmota.

Вариантов изготовления подобных светильников довольно много, лично я делал из тех материалов и компонентов, которые у меня были в наличие дома или продавались в ближайшем строительном магазине. По этому, конкретно мой экземпляр светильника немного отличается от чертежей и моделей, приведенных ниже в статье.… Кто-то использует радиаторы от компьютерных процессоров, кто-то ставит активное охлаждение… Мой вариант без всего этого, но как показала практика, теплоемкости использованного алюминиевого профиля вполне достаточно для эффективного отведения и рассеивания тепла от 26 светодиодов мощностью 1 Вт. После нескольких часов работы, температуру радиатора не напрягаясь терпит рука (надо бы замерить).

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Светильник изготовлен из алюминиевого профиля, 18ти холодных белых светодиодов (1Вт), 4х красных 650нм и 4х синих 450нм светодиодов. Цветные светодиоды необходимы для компенсации неравномерности спектра белых светодиодов (правда расчетов я ни каких специальных для этого не производил).

Характеристики белых светодиодов
Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Сборка

Коротко о сборке. 3D модель в скетчап.

Основание светильника выполнено из отрезков алюминиевого профиля 15мм х 30мм.

Алюминиевые детали складываются попарно на ребро, надежно фиксируются и просверливаются сверлом 2,5 мм. При чем, у верхнего профиля просверливаются обе стенки, а у нижнего только примыкающая стенка. В верхнем профиле отверстия, расположенные на верхней грани рассверливаются до 7мм. Далее детали нужно разъединить и в нижнем профиле нарезать резьбу М3, а нижней стенке верхнего профиля рассверлить отверстие сверлом 3мм (чтобы свободно винт М3 проходил). Таким образом, пара профилей скрепляется винтами М3 в 5 точках. После соединения первой пары профилей, всё разбираем, предварительно промаркировав какой профиль с каким стыкуется, верхний профиль убираем, ставим вниз следующий профиль и всё повторяем, но с некоторым смещением. На иллюстрации попробовал это изобразить:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

После подготовки всех деталей соприкасающиеся поверхности необходимо промазать тонким слоем термопасты (я использовал КПТ8). Собрать детали основания светильника, скрутив их винтами с использованием фиксатора резьбы.

Если в вашем случае светодиоды попадают на стыки профилей, то для нормального теплового контакта между профилем и радиатором светодиода нужно тщательно отшлифовать всю поверхность. На представленных здесь чертежах такой проблемы нет, однако, т.к. я собирал свой светильник из материалов, которые были под рукой, то я столкнулся с необходимостью шлифовки. Выбираем сторону, к которой планируем крепить светодиоды и тщательно шлифуем её до тех пор, пока палец не перестанет ощущать переход между соседними профилями (я шлифовал сначала болгаркой с наждачкой на липучке, а потом вибрационной плоскошлифовальной машиной Фиолент МПШ 4-28 наждачкой зернистостью 400).

Далее с обеих сторон крепим алюминиевые уголки. Я использовал 25×15, но лучше взять размером по больше. Крепление винтами М4, в предварительно просверленные отверстия, диаметром 3,5мм с нарезанными резьбами М4.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Далее сверху крепим Ш-образный профиль — он будет служить радиатором. Каждую деталь промазываем термопастой, крепим на винты M3 или M2,5 (головки от М3 могут не вместиться между ребрами).

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Вертикальные стойки изготовлены из того же профиля, что и основание светильника (15×30мм). Для установки на ребро стекла аквариума, снизу стоек на уголках закреплёны детали из П-образного профиля.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

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

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Сборка корпуса завершена, осталось закрепить светодиоды.

В любой чертежной программе или в редакторе векторной графики делаем макет расположения светодиодов и выводим на печать в масштабе 1:1 на 2 листа формата А4 с последующей склейкой в один шаблон. Приклеиваем макет на клей-карандаш к основанию светильника и накерниваем места отверстий для крепежа светодиодов. Пример макета.

Затем сверлим отверстия сверлом 2,5мм, нарезаем резьбу M3 и на термопасту садим звезды (радиаторы типа Star) светодиодов на основание. Особо обращу внимание, что под головки винтов, во избежание замыкания, необходимо подкладывать изолирующие шайбы из стеклотекстолита (я покупал в Чип и Дип) <img Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Примененные мной LED-драйверы имеют наибольшую эффективность при питании от 24В и последовательном соединении 6 одноваттных светодиодов, схема будет ниже. Соединяем все светодиоды по схеме (для монтажа я использовал провод МГТФ 0,35 кв.мм) и затем защищаем лаком контакты и все элементы светильника обращенные к воде (ну, кроме линз светодиодов разумеется). В итоге должно получится как-то так:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Электроника

Драйвера для питания светодиодов использованы самодельные на базе микросхемы MBI6651 в корпусе SOT23-6L. Платы сделаны под smd-монтаж, обратная сторона стеклотекстолита осталась полностью гладкой, что позволило их закрепить на задней стороне профиля, который служит для драйверов радиатором.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Данные микросхемы из обвязки требуют 2 танталовых конденсатора, дроссель, диод Шоттки и токозадающий резистор.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Имеется вход для подачи ШИМ сигнала для управления яркостью (от 0 до 100%). При питании от 24в и подключенных 6ти светодиодах, эти драйвера обеспечивают эффективность около 98%. В моём случае использованы 5 таких микросхем. 3 драйвера питают 18 белых светодиодов, и по одному использованы для красных и синих светодиодов. В принципе, можно было 8 цветных светодиодов повесить на один драйвер, т.к. они имеют меньшее напряжение питания и ограничиться четырьмя микросхемами MBI6651 на весь светильник. Два параллельно включенных резистора по 0,47Ом (в сумме дают ~0,23Ома) обеспечивают ток около 350мА. Индуктивность я использовал с выводами, расположив её над микросхемой драйвера. Для SMD-дросселя, понадобилось бы дополнительное место на плате.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Плата в формате SprintLayout6

На плате драйверов необходимо соединить перемычками все пятачки «In +» и туда же подать плюсовой вывод блока питания на 24в. Подключить общий, и выход ШИМ сигнала с микроконтроллера, о котором ниже:

Для управления светом использован модуль D1-mini на базе Wi-Fi микроконтроллера ESP8266 с прошивкой проекта Tasmota.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Плату с минимальными переделками и корпус использовал из одного предыдущего своего проекта димера для светодиодных лент Для питания платы D1 Mini применен DC-DC преобразователь MINI 360 на вход которого подается 24в.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Светильником можно управлять из любой системы умного дома по MQTT или посредством GET-запросов. Для первоначального конфигурирования и управления имеется веб-интерфейс.

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

Прошивка и конфигурирование

Так как изначально я ставил задачу иметь возможность управления из системы умного дома, то сразу хотел применить понравившийся мне проект MySensors. Но в какой-то момент поняв, что лень и недостаточность опыта в программировании Arduino (что бы реализовать все свои хотелки) могут затянуть изготовление светильника до бесконечности, я принял решение использовать что-то готовое и конфигурируемое в процессе работы. Из подобных проектов мне хорошо знаком WiFi-iot и чуть хуже Tasmota (из подобных еще есть ESP Easy и ESPHome…).

Выбор Tasmota был обусловлен рядом факторов, таких, как частота ШИМ, которую можно задрать аж до 4кГц; встроенная функция wakeup (рассвет), заката правда нет, пришлось делать руками; бесплатность в конце-концов в отличие от WiFi-iot, например… и возможность писать сценарии через, в тот момент мне еще не знакомые, Rules (пришлось не полениться и разобраться))))…

Прошивку Tasmota можно скачать в виде исходного кода (что бы что-то подправить там под себя) или в виде уже скомпилированного бинарника, который можно сразу прошить в контроллер. Воспользуемся вторым вариантом, скачиваем бинарник текущей версии тасмоты и прошиваем его в плату D1 Mini. Для прошивки я использовал программу NodeMCUFlasher , так же можно воспользоваться Tasmota PyFlasher

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

При первом запуске не сконфигурированная Tasmota запускает свою (одноименную) точку доступа Wi-Fi. После подключения идем по адресу 192.168.4.1 и в открывшемся веб-интерфейсе первым делом настраиваем подключение к своему Wi-Fi роутеру (Configuration=>Configure WiFi). Задав нужные параметры нажимаем Save, после чего девайс перезагрузится и подключится к вашему роутеру. Далее идем в Configuration=>Configure Module и выбираем Sonoff LED (здесь же можно сконфигурировать подключение дополнительных устройств, типа кнопок, термодатчиков и т.п.). Вернувшись в главное меню мы увидим органы управления светом.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

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

После успешных испытаний перейдем к более тонкой настройке:

Откроем консоль и введем команду PWMFrequency и в ответ увидим

RSL: stat/tasmota/RESULT = {"PWMFrequency":800}

это значит, что частота ШИМ сигнала будет составлять 800Гц. Не плохо, но можно лучше, поэтому пишем в консоле:

PWMFrequency 3760

(где-то читал, что частоту ШИМ для освещения рекомендуют делать не кратной частоте сети, которая составляет 50Гц)

в ответ получаем:

RSL: stat/tasmota/RESULT = {"PWMFrequency":3760}

Давайте еще включим плавное изменение яркости и скорость изменения яркости командами:

Fade 1
Speed 5

Так же необходимо задать время (в секундах) за которое будет отрабатывать функция wakeup (рассвет) доступны значения от 1 до 3000. Для экспериментов можно задать секунд 20 и дав из консоли команду wakeup посмотреть как это работает (светильник должен быть выключенным). Эту функция можно использовать добавляя значение яркости в процентах. Например команда wakeup 50 сделает за заданное время в параметре WakeupDuration, плавное изменение яркости от текущего значения до 50%. Таким образом можно обойти ограничения на длину рассвета в 1час (3000 секунд). Для этого просто поделим рассвет на несколько этапов, например от 0 до 30% за первый час, от 30 до 70% за второй и от 70% до 100% за третий час.

Надо отметить, что введенные выше команды Fade и Speed на функцию wakeup ни как не влияют и изменения яркости в сценарии рассвета происходит немного ступенчато (хотя если не присматриваться, то не заметно). Зато они помогут нам сгладить процесс заката, который будем настраивать при помощи последовательности команд Dimmer (с указанием значения) собранных в сценарий, посредством инструмента Rule. Команду Dimmer можно испытать введя с консоли:

Dimmer 30

,

Dimmer 70

и т.п. Команд множество, ознакомиться со всеми можно здесь.

Любую команду можно выполнить по расписанию, но предварительно нужно обеспечить нашему модулю управления доступ к NTP серверам в интернет или локальной сети. По умолчанию всё должно прекрасно работать через интернет (если, конечно Вы специально ни чего не блокировали на роутере) и нам останется только настроить временную зону. Для этого введите с консоли команду:

timezone 3

(вместо 3 подставьте свое число). Проверить корректность времени можно командой

time

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

Отвлечемся от Tasmota и на понятном языке составим план действий, итак:

Световой день поделен на 4 части:

• рассвет с 9:00 до 12:00

• зенит с 12:00 до 14:00

• 90% освещенности с 14:00 до 16:00

• закат с 16:00 до 20:00

Рассвет поделен на 3 этапа, а после 14:00 освещенность снижается до 90%. Этапы активируются глобальными таймерами (Configuration=>Configure Timer):

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

В поле Action выставляем значение Rule, теперь это правило нужно написать. Всего можно задать 3 правила, каждое из которых может содержать некоторое кол-во команд, ограниченное 511 символами. Если кол-во символов в первом правиле исчерпано, то нужно начинать второе. С синтаксисом можно ознакомится тут

Для ввода правил опять понадобится консоль, открываем и пишем всё в одну строку:

Rule1 on Clock#Timer=1 do wakeup 50 endon on Clock#Timer=2 do wakeup 75 endon on Clock#Timer=3 do wakeup 100 endon on Clock#Timer=4 do dimmer 90 endon

Активируем правило:

rule1 1

В этом правиле мы записали сценарии, запускаемые глобальными таймерами 1…4.

Закат состоит из 3х этапов (т.к. одно правило состоит из не более 511 символов). Начинается в 16:00 по глобальному таймеру №5 (Rule2). Продолжение в 19:00 по глобальному таймеру №6(Rule3) и выключение в 20:00 по глобальному таймеру №6.

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

Так, как функция «закат» в Tasmota отсутствует, всё реализовано, посредством функции dimmer, а паузы, посредством RuleTimer (имеется 8шт). Процедура описана в Rule2 и Rule3 (в правило вмещается только 511 знаков).

Для читабельности пишу всё с новой строки, хотя можно попробовать и вводить сразу всё копипастом

Rule2 

on Clock#Timer=5 do backlog Dimmer 80; RuleTimer1 1200 endon
on Rules#Timer=1 do backlog Dimmer 70; RuleTimer2 1200 endon
on Rules#Timer=2 do backlog Dimmer 60; RuleTimer3 1200 endon
on Rules#Timer=3 do backlog Dimmer 50; RuleTimer4 1200 endon
on Rules#Timer=4 do backlog Dimmer 45; RuleTimer5 1200 endon
on Rules#Timer=5 do backlog Dimmer 40; RuleTimer6 1200 endon
on Rules#Timer=6 do backlog Dimmer 35; RuleTimer7 1200 endon
on Rules#Timer=7 do Dimmer 30 endon

Активируем:

Rule2 1
Rule3

on Clock#Timer=6 do backlog Dimmer 20; RuleTimer8 1800 endon
on Rules#Timer=8 do Dimmer 10 endon

Активируем:

Rule3 1
Общая сводка:

• 9:00 – начало рассвета. В течение часа яркость возрастает до 50% (Таймер №1)
• 10:00 – продолжение. В течение часа яркость возрастает до 75% (Таймер №2)
• 11:00 – продолжение. В течение часа яркость возрастает до 100% (Таймер №3)
• 14:00 – снижение освещенности до 90% (Таймер №4)
• 16:00 – начало заката. Снижение освещенности до 80% (Таймер №5).
-16:20 Снижение освещенности до 70% (Rule2)
-16:40 Снижение освещенности до 60% (Rule2)
-17:00 Снижение освещенности до 50% (Rule2)
-17:20 Снижение освещенности до 45% (Rule2)
-17:40 Снижение освещенности до 40% (Rule2)
-18:00 Снижение освещенности до 35% (Rule2)
-18:20 Снижение освещенности до 30% (Rule2)
• 19:00 – продолжение заката. Снижение освещенности до 20% (Таймер №6).
-18:20 Снижение освещенности до 10% (Rule3)
• 20:00 – выключение освещения (Таймер №10)
• 19:30 – 10%
• 20:00 – Выключение (Глобальный таймер №10)

На графике это будет выглядеть как-то так:

Светодиодный светильник для аквариума своими руками. Микроконтроллерное управление, рассветы/закаты и настройка Tasmota через Rules.

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

P.S.

Т.к. в комментах возникают вопросы: а на фига рыбам столько света, отвечу прямо тут:

Да, конечно вы правы и рыбам столько света не нужно, но мы с женой мечтаем вернуться к аквариуму-травнику. Всё делается в расчёте на это.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *