Расчет, выбор и схема подключения контроллера для RGB-ленты
RGB-ленты предназначены для создания регулируемой подсветки. С помощью контроллера вы можете задавать оттенок, яркость свечения светодиодной ленты или выбирать программу динамической смены цветов. Давайте поговорим о том, как подобрать RGB-контроллер и как его подключить.
Виды RGB-контроллеров
Многоцветные светодиодные ленты состоят из светодиодов типа SMD 5050 в корпусе которых расположено три кристалла, каждый из которых светится определенным цветом:
В результате каждый светодиод может излучать почти неограниченное число оттенков.
Бывают RGB-ленты, которые состоят из одноцветных светодиодов других типов, например, SMD 3528 или других. В них каждый светодиод светит одним цветом. Их использование и контроллеры для них ничем в сущности не отличается от предыдущего вида.
Подключение питания осуществляется по 4 проводам (3 цвета и общий плюс). Можно подключать каждый из цветов напрямую (к R, G или B обычно подключается минусовой провод от источника питания), если вам не нужна регулировка и динамическая подсветка.
А вот с RGBW и RGBWW нужно быть внимательнее при выборе контроллеров, усилителей и коннекторов для подключения. Здесь кроме трёх цветов по отдельной линии питаются светодиоды белого свечения.
Отличия RGBW от RGBWW состоит в том, что в первом случае нам доступен один светодиод тёплого, нейтрального или холодного свечения, а во втором два светодиода – один «тёплый» и один «холодный». Поэтому управление осуществляется уже не по 4, а по 5 или 6 проводам. Более подробно о цветных светодиодах читайте здесь: Устройство и принцип работы RGB-светодиодов
ВСЕ РАСЧЕТЫ, РЕКОМЕНДАЦИИ И СХЕМЫ ПОДКЛЮЧЕНИЯ АНАЛОГИЧНЫЙ, КАК ДЛЯ RGB, ТАК И ДЛЯ RGBW, RGBWW-КОНТРОЛЛЕРОВ! ОТЛИЧИЯ ЗАКЛЮЧАЮТСЯ ЛИШЬ В КОЛИЧЕСТВЕ ПРОВОДОВ ДЛЯ ПОДКЛЮЧЕНИЯ!
Расчёт схемы питания
Прежде чем выбирать контроллер следует определиться с тем как вы будете питать светодиодную ленту. Подробно о видах блоков питания и схемах подключения мы писали в статье Как рассчитать и выбрать блок питания для светодиодной ленты
Если говорить кратко, то блок питания выбирают с запасом в 20-40% по току или мощности. Допустим вы купили 5-ти метровую бухту 12 вольтовой светодиодной ленты SMD 5050 60 шт/м. Она потребляет 14.4 ватта на метр погонный.
Общее потребление мощности будет:
Это потребление всей ленты при включенных на полную мощность всех цветах. Канала у нас три – красный, зелёный и синий, значит каждый канал потребляет по:
Что по току равняется:
Для чего нужно знать потребление каждого канала? Это нужно для подбора контроллера. Дело в том, что на контроллерах производитель иногда указывает общую мощность или силу тока, а иногда мощность или ток на канал. Чтобы не запутаться обращайте внимание на надписи типа:
2A per channel или 2A/ch или 3*2А
Это значит, что каждый к контроллеру можно подключить светодиодную ленту ток потребления которой не превышает 2 ампер на канал.
Ток контроллера также должен быть не меньше, чем потребляемый лентой ток, а лучше с запасом, как и для блоков питания.
При этом на рынке нашли широкое распространение комплекты RGB-лент с блоком питания и контроллером. Они удобны в использовании.
Виды контроллеров
Большая часть контроллеров для светодиодных лент подобна друг другу по функциям. Какими они бывают?
В первую очередь они могут отличаться по способу дистанционного управления:
Пульт с ИК-светодиодом;
Первый самый дешевый и распространенный вариант – это пульты дистанционного управления с инфракрасным светодиодом. Их особенностью является то, что при управлении вы должны направлять пульт в сторону приёмника, как на бытовой технике (телевизорах и т.д.). Что в некоторых случаях вызывает затруднения как с правильной установкой контроллера с приёмником, так и при эксплуатации в целом. Отличить такие контроллеры можно по приёмнику на тонком провод е .
Радиопульты в свою очередь не страдают этой проблемой – им неважно направление сигнала. Передача данных осуществляется по радиоканалам. Частота которых зависит от конкретного изделия, к слову встречаются RGB-контроллеры, которые работают по Wi-Fi и управляются через приложение на смартфоне. У радиоконтроллеров обычно в маркировке это указывается фразой типа «RF-controller» или «wireless».
Типовые функции у каждого контроллера приблизительно одинаковы:
Установка режима динамической смены цветов (мерцание, плавные переходы и другие виды т.н. «чейзинга»).
Установка статичного (неизменяющегося цвета) или т.н. «фиксинг» режим.
При покупке обращайте внимание и на класс пылевлагозащиты контроллера. Он должен соответствовать месту установки, для сухих помещений – любой, даже IP20, для улицы — IP65 и выше! «Уличные» контроллеры обычно выполняются в металлическом корпусе, части которого крепятся винтами с уплотняющими резинками на прилегающих поверхностях и местах вывода проводов.
Схемы подключения
Теперь поговорим о том, как подключить RGB-ленту к контроллеру.
Простейший вариант – подключение отрезка длиной до 5 метров к одному контроллеру подходящей мощности.
ДЛЯ МНОГОЦВЕТНЫХ ЛЕНТ НУЖНО ПРИДЕРЖИВАТЬСЯ ТОГО ЖЕ ПРАВИЛА, ЧТО И ДЛЯ ОДНОЦВЕТНЫХ – ДЛИНА ОДНОЙ ЛИНИИ НЕ ДОЛЖНА ПРЕВЫШАТЬ 5 МЕТРОВ, КАЖДЫЕ ПОСЛЕДУЮЩИЕ 5 МЕТРОВЫЕ ОТРЕЗКИ ИЛИ СБОРКИ ПОДКЛЮЧАЮТСЯ НАПРЯМУЮ ОТ КОНТРОЛЛЕРОВ, БЛОКОВ ПИТАНИЯ ИЛИ УСИЛИТЕЛЕЙ!
Если общая длина ленты более пяти метров, то нужно либо каждый отрезок подключать по приведенной выше схеме, либо каждый отрезок напрямую к контроллеру как показано ниже.
Если мощности контролера не хватает для всех отрезков ленты, а более мощного не получается найти в продаже, то у вас есть два варианта:
Каждый из отрезков подключать по первой схеме или от одного блока питании подключать несколько контроллеров. Вариант достаточно прост, но у него есть большой недостаток – каждый участок подсветки будет управляться отдельным пультом и изменение цвета, и динамические режимы не будут синхронизированными, что вряд ли вам понравится при организации подсветки потолка и других элементов интерьера комнаты.
Чтобы вся подсветка регулировалась синхронно используют RGB-усилители. Это такое устройство, у которого есть вход для подачи RGB-сигнала с задающего контроллера (на рис. ниже пунктирной линией) или с конца одного из отрезков ленты.
Вход РГБ-усилителя потребляет маленький ток. Кроме сигнала от задающего контроллера, к усилителю подключают питание от блока питания после чего уже запитывают от усилителя новые отрезки РГБ-лент. Схему такого решения вы видите на рисунке ниже.
Это три базовых схемы подключения RGB-светодиодных лент. Они достаточно просты, но у начинающих может возникнуть проблема с подключением усилителя, поэтому внимательно читайте что написано на его корпусе, на лицевой панели обычно приводится назначение клемм.
Источник
RGB светодиоды и ленты
Немного теории
Я думаю все знают, что свет – это поток фотонов, но в то же время он является электромагнитной волной, излучением. Человеческий глаз воспринимает очень узкий диапазон этого излучения: приблизительно от 390 до 790 ТГц (террагерц), так называемое видимое излучение или видимый свет. “Ориентироваться” в этом диапазоне электромагнитного излучения принято в обратной величине – длине волны, измеряемой в данном случае в нанометрах (нм): человеческий глаз видит излучение в диапазоне от
400 нм (фиолетовый) до
800 нм (красный). Между синим и красным есть ещё один важный цвет – зелёный: Красный (Red, R), зелёный (Green, G) и синий (Blue, B) являются основными цветами: смешивая эти три цвета в разных пропорциях можно получить плюс-минус все остальные цвета.
Этот наглядный “двухмерный” случай с кругами вы тоже скорее всего видели. Если раскручивать тему дальше, то можно задаться интенсивностью каждого цвета и получить итоговый цвет как функцию от трёх переменных, или же трёхмерное цветовое пространство RGB. Если интенсивности всех трёх цветов равны нулю – получится чёрный цвет, если все три максимальны – белый, а всё что между – оттенки:
На картинке выше интенсивность каждого цвета представлена диапазоном 0-255. Знакомое число, не правда ли? Всё верно, в большинстве применений диапазон каждого цвета кодируется одним байтом, потому что это удобно с точки зрения программирования и достаточно с точки зрения глаза: три цвета – три байта – 256*256*256 == 16.8 миллионов оттенков. Да, именно эта цифра часто фигурирует в рекламах смартфонов и телевизоров, и именно столько оттенков мы можем абсолютно не напрягаясь получить при использовании Arduino и RGB светодиодов, о чём и поговорим в этом уроке.
RGB светодиоды
RGB светодиод представляет собой по сути три светодиода в одном корпусе. Чтобы не плодить лишние выводы, все аноды или катоды светодиодов объединяются и получается 4 контакта: R, G, B и общий. Общим может быть как минус-катод (Common Cathode), так и плюс-анод (Common Anode): Также на этой картинке показана распиновка типичного RGB светодиода: самая длинная нога – общий вывод, крайняя рядом с ней – красный, с другой стороны зелёный дальняя крайняя – синий. К Arduino такой светодиод подключается точно так же, как если бы мы подключали три отдельных светодиода (читай предыдущий урок про светодиоды): на каждый цвет нужен токоограничивающий резистор, а общую ногу нужно подключать в зависимости от того, анод она или катод.
Можно управлять каждым цветом точно так же, как если бы это были отдельные светодиоды. Также не забываем про подключение: если у светодиода общий катод, то высокий сигнал ( digitalWrite(pin, HIGH); ) с управляющих пинов будет включать выбранный цвет, а если общий анод – то выключать. Соответственно плавное управление яркостью при помощи ШИМ работает по той же логике: у общего катода analogWrite(pin, 200); включит цвет почти на полную яркость, а у общего анода – почти полностью погасит. RGB светодиоды можно дёшево найти на Aliexpress, а именно:
В качестве магазина рекомендую CHANZON, самые хорошие светодиоды и чипы/матрицы.
RGB ленты
RGB светодиодные ленты устроены аналогично одноцветным лентам и RGB светодиодам: в 12 Вольтовой ленте светодиоды каждого цвета соединяются по три штуки с токоограничивающим резистором и образуют сегмент ленты, далее эти сегменты подключаются параллельно. Также лента имеет общий вывод со всех цветов, в большинстве случаев это общий анод. Почему? Помните, в уроке про управление нагрузкой я говорил, что чаще всего используют N-канальные полевые транзисторы, потому что они дешевле, удобнее в применении и имеют более удачные характеристики? Вот именно поэтому! Драйверы для RGB лент также делают на основе N-канальников, поэтому найти в продаже ленту с общим катодом даже вряд-ли получится. В качестве магазина на aliexpress рекомендую BTF Lighting , самые качественные ленты. Итак, как нам подключить RGB светодиодную ленту к Arduino? Точно так же, как обычную! Но тут я добавлю ещё несколько интересных вариантов.
MOSFET
Нам понадобятся три полевых транзистора и резисторы им в обвязку (почему и зачем – читай в уроке про управление нагрузкой). Подключается всё вот по такой схеме: Если нужно плавное управление яркостью цветов – подключаем к ШИМ пинам, если просто вкл/выкл – можно к обычным. Свой драйвер на плате можно развести примерно вот так (корпуса D-pak):
LED Amplifier
У китайцев есть готовые драйверы для “усиления” сигнала на RGB ленту, по сути те же три транзистора что выше, но всё красивое и готовое. Подключается следующим образом:
Драйвер Н-моста
Ну и экзотический вариант: использовать полномостовой драйвер для моторов. Почему нет? Количество выходов у таких драйверов всегда кратно двум (для подключения одного мотора), так что это отличный вариант для управления также RGBW лентой. Драйверы можно найти на aliexpress по названию.
Программирование
Программирование эффектов для управления RGB цветом заключается в изменении интенсивностей трёх цветов, то есть трёх численных значений. У меня есть мощная библиотека для RGB светодиодов и лент, в ней реализовано очень много различных удобных инструментов для работы с цветом.
Библиотека GRGB
- Поддержка драйверов с общим анодом и общим катодом
- Настройка яркости
- Гамма-коррекция яркости (квадратный CRT)
- Библиотека может не привязываться к пинам и просто генерировать значения 8 бит
- Быстрые оптимизированные целочисленные вычисления (не везде)
- Плавный переход между любыми цветами (не блокирует выполнение кода)
- Установка цвета разными способами:
- RGB
- HSV
- Быстрый HSV
- Цветовое колесо (1530 значений)
- Цветовое колесо (255 значений)
- Теплота (1000-40000К)
- HEX цвета 24 бита
- HEX цвета 16 бит
- 17 предустановленных цветов
Например плавная смена цвета по спектру будет выглядеть вот так:
В рамках этого урока мы рассмотрим некоторые алгоритмы, потому что это интересно и может пригодиться где-то ещё.
Хранение цвета
Что касается хранения цветовой информации, то это могут быть как три отдельных байта byte r, g, b; , так и более крупный тип данных, например так: long color; . Во втором случае цвет принято записывать в HEX представлении: красный, зелёный и синий байты идут друг за другом 0xRRGGBB . Напомню, что один байт в 16-ричном представлении может иметь значение от 0x00 (0) до 0xFF (255). Таким образом например цвет 0xBBA000 – жёлтый средней яркости ( 0xBB красный, 0xA0 зелёный, 0x0 синий). Такое представление чаще всего встречается в веб-разработке, при работе с микроконтроллером удобнее хранить цвет в байтах. Вот так можно конвертировать цвет из HEX в байты и наоборот:
Может пригодиться при связке Arduino и веба.
Включение цветов
Как я уже писал выше, включение того или иного цвета производится точно так же, как в уроке про обычные светодиоды. Для плавного управления яркостью используется ШИМ сигнал.
Для плавного управления цветом можно использовать потенциометры:
Цветовое колесо
Первый очевидный эффект – плавное перетекание одного цвета в другой. Это можно сделать линейно, вот таким образом: Реализовать это можно просто через условия. Продолжим предыдущий пример:
Пространство HSV
Следующий вариант более интересен тем, что помимо цвета позволяет настроить его яркость и насыщенность. Такая цветовая модель называется HSV – (Hue, Saturation, Value), или (Цвет, Насыщенность, Яркость), в этом цветовом пространстве гораздо удобнее выбирать нужный цвет. Представить его можно цилиндром: Светодиод и лента работают в пространстве RGB, HSV цвет нужно конвертировать в RGB для включения соответствующих каналов цвета. В подробности работы алгоритма вдаваться не будем, тем более что существует много разных вариантов его реализации, можно найти их в интернете по запросу HSV to RGB C++. Вот один из них, который использую я:
На этом этапе я могу вам сказать, что после прочтения всех предыдущих уроков вы можете самостоятельно открыть и изучить исходник библиотеки и при желании взять оттуда нужный алгоритм или эффект!
Подключение большого количества RGB
У меня на сайте есть статья, где рассказано об алгоритме динамической индикации RGB светодиодов. Она позволяет подключить несколько RGB светодиодов или лент с возможностью изменения цвета.
Источник