Радиомастер гид в мире электроники » Схемы » Световые устройства » Многоцветная светодиодная подсветка или RGB-контроллер своими руками
Информация к новости
  • Просмотров: 87256
  • Добавил: Kail
  • Дата: 7 декабря 2010
7 декабря 2010

Многоцветная светодиодная подсветка или RGB-контроллер своими руками

Категория: Схемы » Световые устройства

Для чего мне нужна многоцветная светодиодная подсветка? У меня растёт дочка и она совсем малышка. И в один прекрасный момент меня в очередной раз торкнуло сделать поделку для неё, а если быть точнее – украсить подвесной потолок детской комнаты подсветкой. Для этих целей в детскую комнату было приобретено четыре катушки светодиодной RGB ленты.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Железо и запчасти для светодиодной подсветки.

Продается светодиодная RGB лента в рулонах на катушках. В продаже встречаются экземпляры по 60 и по 30 светодиодов на метр, т.е. светодиоды плотнее или реже расположены на ленте. Берем 60 светодиодов на метр, т.к. оптом ещё дешевле и суммарно ярче.

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

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Лента имеет маркеры мест разреза и контактных площадок (+12V, G, R, B). Может разрезаться на кусочки по три светодиода. Квадратные светодиоды под силиконом имеет по 6 выводов, три вывода с одной стороны, и три с противоположной. Визуально под общей линзой находится три кристалла.

Данная лента комплектуется блоком управления и пультом дистанционного управления. Начинаем методично ломать эту железку. Блок управления собран на микроконтроллере SONIX типа SN8P2501B и микросхеме памяти 24С02С . Ниже фотографии общего вида и внутренностей.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Очень радует симпатичный пульт в комплекте. И всё это прекрасно работает, но чего-то не хватает. В этом контроллере отсутствует ручная настройка. Хочется настройки цвета энкодером. И этот подход к управлению запал в душу. Согласитесь, что радиолюбительский вариант должен быть доступным для повторения. А по сему было принято решение сделать светодиодную подсветку с управлением с помощью энкодера со встроенной кнопкой, который будет культурно монтироваться в корпус типового диммера.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Теория управления RGB светодиодами с помощью ШИМ.

Теперь кратко разберемся в теории как управляется RGB светодиод и что такое в принципе RGB. RGB-светодиод, как мы выяснили, это три близко расположенных светодиода под одной линзой: красный – Red, зелёный – Green и синий – Blue, отсюда и название. Как известно, сочетанием этих трёх цветов можно получить любой другой цвет. Обычно эти три светодиода имеют один общий вывод. В нашем случае плюсовой, т.е. общий анод. Яркость свечения светодиода зависит от протекающего через светодиод тока.

Для регулировки протекающего тока используется ШИМ. Что такое ШИМ? Широтно-импульсная модуляция (ШИМ) – есть импульсный сигнал постоянной частоты и переменной скважности, то есть отношения длительности импульса к периоду его следования. С помощью задания скважности (длительности импульсов) можно менять яркость светодиода.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Говоря по простому – ШИМ это соотношение времени включенного и выключенного состояния светодиода. Переключение происходит на высокой частоте и незаметно для зрительного восприятия.

Теперь поговорим о смене цвета. Микроконтроллер каждому из основных цветов – красный, зеленый и синий может установить 256 уровней яркости (от полностью выключенного до полностью включенного), а это в свою очередь позволяет сделать 256*256*256=16777216 комбинаций оттенков. Антиреально много. Мне изначально хотелось попроще, типа радуги с её мнемоникой "Каждый Охотник Желает Знать Где Сидит Фазан", т.е. красный, оранжевый, желтый, зеленый, голубой, синий, фиолетовый и с плавными переходами между ними. Я никого не удивлю, но реализация алгоритма есть у каждого в компьютере.

Программная реализация непрерывного спектра.

Запускаем тестовый редактор Word (у меня в составе Office XP). Меню Формат – Границы и заливка… . Выбираем вкладку Заливка. Нажимаем кнопку Другие цвета... . Выбираем вкладку Спектр. Устанавливаем стартовые значения цветов вручную 255-0-0.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


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

По-умолчанию формулу R-G-B начнем с красного цвета 255-0-0.
1) Наращивается зеленый цвет 255-1-0, 255-2-0 ... 255-255-0.
2) Уменьшается красный цвет 254-255-0, 253-255-0 ... 0-255-0.
3) Наращивается синий цвет 0-255-1, 0-255-2 ... 0-255-255.
4) Уменьшается зеленый цвет 0-254-255, 0-253-255 ... 0-0-255.
5) Наращивается красный цвет 1-0-255, 2-0-255 ... 255-0-255.
6) Уменьшается синий цвет 255-0-254, 255-0-253 ... 255-0-0.

Как видим, мы начали красным цветом и закончили красным цветом. Этим мы обеспечиваем непрерывность смены цвета по кругу.

Теперь определимся (точнее я уже определился экспериментально) с шагом смены значения ШИМ. Чуть выше мы перечислили шесть сцен с наращиванием и уменьшением значений цвета. Каждая сцена имеет 255 шагов. Чтобы пройти все сцены нам потребуется 255*6=1530 шагов. Или 1530 оттенков. Уже интересно. Смотрим как работает на практике. Энкодер имеет 20 кликов. 1530/20=76 полных оборотов. Мне наверняка не понравится столько крутить энкодер чтобы сделать полную смену цветов. Сделаем еще немного расчетов.

Вычисляем новый шаг приращения/уменьшения значения ШИМ. Желательно, чтобы это число было кратным 255. Приведем несколько чисел: 5, 15, 17.
Шаг = 5; одна сцена 255/5=51 клик; шесть сцен 51*6=306; оборотов энкодера 306/20=15.
Шаг = 15; одна сцена 255/15=17 клик; шесть сцен 17*6=102; оборотов энкодера 102/20=5.
Шаг = 17; одна сцена 255/17=15 клик; шесть сцен 15*6=90; оборотов энкодера 90/20=4,5.

В итоге остановимся на шаге 15. Смена цветов плавная из 102 оттенков. Реально два соседних оттенка еле различимы для глаза. Поздравляем друг друга – мы определились с алгоритмом.


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Следует сказать, что в Интернете этот алгоритм также встречается под названием алгоритм непрерывного спектра. Теперь посмотрим один из вариантов реализации примитивного алгоритма на Си. Здесь алгоритм приведен для примера, на самом деле способы реализации могут быть более замороченными.

void min (void){
if (scena == 1) {if(G0) R=R-15; else scena = 3;}
if (scena == 3) {if(B0) G=G-17; else scena = 5;}
if (scena == 5) {if(R0) B=B-17; else scena = 1;}
}

void max (void){
if (scena == 1) {if(G>0) G=G-15; else scena = 6;}
if (scena == 2) {if(R0) B=R-15; else scena = 2;}
if (scena == 4) {if(G0) R=R-15; else scena = 4;}
if (scena == 6) {if(B<255) B=R+15; else scena = 5;}
}


Как видим у нас две функции: min и max. В зависимости от направления вращения энкодера вызывается та или иная функция. На этом хватит теории, переходим к практике.

Реализация контроллера светодиодной подсветки на AVR.

Плата контроллера изготовлена методом ЛУТ. Значительное место на плате занимают винтовые зажимы для подключений.


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


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

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Основой устройства является популярный, доступный и дешевый микроконтроллер ATtiny2313. Как видим, в схеме присутствует датчик ИК приемника (TSOP1736) для управления с пульта дистанционного управления. TSOP1736 можно не устанавливать на плату и отсутствие этого датчика никак не сказывается на работе устройства.

Для пульта от заводского контроллера в программе я продублировал функции:
– включение и выключение,
– 256 уровней яркости,
– 15 фиксированных цветов,
– выбор любого (!) цвета из палитры непрерывного спектра,
+ режимы анимации и спецэффектов:
– динамичное переливание цветов,
– стробоскоп любого текущего цвета,
– случайное смешение цветов,
– плавная смена цветов палитры непрерывного спектра.
Напрограммировал от души. Выглядит потрясающе красиво и эффектно.

Как работает блок управления? Подаем питание – ничего не светится. Это сделано для того, чтобы в моё отсутствие случайный скачок напряжения в доме не включил подсветку. Далее любой кнопкой на пульте (кроме кнопки выключения) включаем необходимый режим.

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

При прошивании микроконтроллера ATtiny2313 устанавливать следующие фьюзы.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Оформление экнодера в корпусе диммера.

Сначала разбираем диммер. Внутренности можно использовать для регулятора нагрева паяльника.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Далее делаем плату (также можно сделать на обрезке монтажки).

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Энкодер монтируем со стороны фольги (пайки). Разъемы и конденсаторы монтируем с другой стороны.

В корпусе диммера сверлим отверстия (4 шт) под ввод проводов. Обтачиваем напильником плату до кондиции. На корпусе энкодера стачиваем выступ. Примеряем плату в корпус и оцениваем примыкание. До финальной фиксации желательно оценить работоспособность путем подключения к блоку управления.

Затем клеем из обычного термопистолета (GLUE GUN) делаем крепление платы в корпусе диммера. Ожидаем пять минут для отвердевания клея.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Затем собираем корпус диммера-энкодера.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Поздравляем друг друга с успешной сборкой.

Реализация контроллера светодиодной подсветки на PIC.

Плата контроллера изготовлена методом ЛУТ. Значительное место на плате занимают винтовые зажимы для подключений (отдельное спасибо Александру Калмыкову за зажимы).

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Плата имеет размер 3,5x5 см. Электрические соединения настолько просты, что конструктив можно легко реализовать на куске монтажной платы. Далее собственно схема блока управления и электрических соединений.

Многоцветная светодиодная подсветка или RGB-контроллер своими руками


Основой устройства является популярный, доступный и дешевый микроконтроллер PIC12F629 (можно использовать PIC12F675). Работа схемы аналогична предыдущей схеме. После подачи питания всё выключено. Нажатием на кнопку энкодера включается белый цвет свечения. Вращением выбирается любой оттенок из непрерывного спектра. Повторное нажатие на кнопку энкодера переводит светодиодную RGB ленту из включенного состояния в выключенное.

Заключение.

У вас возникнет вопрос, какой проект лучше - на AVR или на PIC. Отвечаю - лучше на AVR.

Плюсы.
Микроконтроллер ATtiny2313 имеет 4 шт аппаратных ШИМ. В микроконтроллерах PIC 12й и 16й серий 3 шт аппаратных ШИМ в одном корпусе мне не удалось обнаружить и поэтому пришлось сделать программный ШИМ. Казалось бы, какая разница, ведь и то и другое работает. Программный ШИМ ограничивает реализацию дистанционного управления; эти два процесса (ШИМ и ДУ) имеют слишком разные требования по времени исполнения программы; ДУ будет тормозить ШИМ, что приведет к мерцанию светодиодов в момент управления с пульта. Конечно можно попытаться напрячь мозг и сделать красиво, но у меня большие сомнения за конечный результат. Можно разделить эти процессы и сделать проект на двух микроконтроллерах PIC. Однако, тут нужно взвесить цену этого "двухконтроллерного" проекта.

Минусы.
По моим ранним проектам вы успели заметить, что я отдаю предпочтение PIC, так как для меня "лучше то, что лучше знаешь" (так уж сложилось). В этом заключении я делаю своё субъективное сравнение, т.е. ничего личного. Размер выходного кода у AVR примерно раза в два больше чем у PIC. Скорее всего это особенность компиляторов, а может и особенность системы машинных команд. Что бы вы не говорили, но я приучен к экономии. Также мне НЕ понравился доступ к битам (из AVR Studio 4); капитальный неудобняк. Также есть минус с которым как-бы можно смириться - долбанная система фьюзов.


Видео работы устройства:



AVR:
Печатная плата под ATtiny2313 - Вы не можете скачивать файлы с нашего сервера
Прошивка под ATtiny2313


PIC:
Печатная плата под PIC12F629 / PIC12F675 - Вы не можете скачивать файлы с нашего сервера
Прошивка под PIC12F629 / PIC12F675:


Печатная плата энкодера в корпус диммера - Вы не можете скачивать файлы с нашего сервера

Источник: www.labkit.ru


<
Alukard007

8 декабря 2010 14:54

Информация к комментарию
  • Группа: Радиомастер
  • ICQ: 341599718
  • Регистрация: 30.10.2010
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 11
класно


Награды:
0
<
retrew1980

8 декабря 2010 22:30

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 20.05.2010
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
ПРИКОЛЬНЕНЬКАЯ ШТУЧКА


Награды:
0
<
PUSIN

9 декабря 2010 13:32

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ: 12345
  • Регистрация: 19.08.2010
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
А с другими пультами ДУ (RC-5,SONY и т.д.) будет работать , а то получается блок управления всеравно надо покупать , чтобы пользоваться симпатичным пультом из комплекта ?


Награды:
0
<
sgroot

23 декабря 2010 23:56

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Отличная штуковина.Только ошибка в схеме на AVR.

от ик приемника на 6 ногу надо.

Спасибо за решение.


Награды:
0
<
Romka23

24 декабря 2010 22:14

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
а у меня почемуто на avr вообще не запускается(((
а можно исходники прошивки выложить?


Награды:
0
<
drug

4 января 2011 18:57

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 10.10.2010
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
вроде она wink


выделить всё
копировать
создать txt
сохранить
и переименовать расширение в HEX smile

сделай так
выделить всё
копировать
создать txt
всохранить
переименовать расширение HEX

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

ВО Я НАПЕЧАТАЛ АЖ САМ ЗАПУТАЛСЯ


Награды:
0
<
Romka23

5 января 2011 20:17

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
я сделал все как ты сказал, ну у меня почемуто молчание!!


Награды:
0
<
drug

8 января 2011 18:53

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 10.10.2010
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 2
а димер подключал

у меня все работает только пульты чучуть не подходят я вместо димера 2 резюка временно поставил


Награды:
0
<
Romka23

12 января 2011 09:09

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
да подключал!
не работает!


Награды:
0
<
Bounce

23 января 2011 23:13

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
искал долго схему. не мог найти но вот к счастью напоролся. сразу возникает несколько вопросов. я ни разу не сталкивался с Микроконтроллерами и их прошивкой. где взять прошивку на саму смену цветов и на пульт. и вопрос пульт именно от покупного устройства или можно использовать другой? (при использовании другого пульта необходима другая программа?)


Награды:
0
<
cdrom

4 марта 2011 15:56

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
почему то ссылка скачивания файла прошивки неактивна!!!! Большая просьба к добрым людям: ПРИШЛИТЕ ФАЙЛ ПРОШИВКИ НА МЫЛО!!!! [email protected] Заранее благодарен!!!!


Награды:
0
<
-=Aquarius=-

4 апреля 2011 10:13

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Собрал всё по схеме под PIC, не заработало... При подаче напряжения сразу всё загорается белым, даже если МК вытащить из схемы. Нажатие на кнопку энкондера ничего не дает, все также светится белым... Напряжение на выходе не меняется. Практически везде по 12В. Всю голову уже поломал, как может загораться подсветка, если на первую ногу Транзистора ничего не идет, есди вытащить МК, а все равно все горит... Получается что цепь протекает только между 2 и 3 ногой. Может у меня с транзисторами что-то не то???


Награды:
0
<
I_ivi

12 октября 2011 07:15

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
А какой протокол у пульта? RC5?


Награды:
0
<
Rover

4 ноября 2011 21:04

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 4.11.2011
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
а как связаться с автором ?
чтоб не ходить вокруг да около, нужен исходник, переделать под свои нужды ,изучаю пик. пишу в мплабе
выручайте


Награды:
0
<
delta24

28 декабря 2011 23:14

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
повторил на пике работает но собрал на макетной плате.
Теперь проверяю на AtIny2313.

повторил на тиньке работает в схеме реально ошибка с 5 ноги МК переделать надо ик на 6 ногу


Награды:
0
<
Technick

26 января 2012 13:23

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ: 56057869
  • Регистрация: 6.01.2012
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
Автору огромный респект ! Собрант вариант на ATtIny2313 . Собственно, как раз и нужен был контроллер , управляемы энкодером. Китайцы, подлецы добавили ложку дегтю :) Попался на глаза абсолютно такой же контроллер с пультом, как на фотографии в начале статьи. Всего 10 долл. Купил из-за пульта .Думал , пусть еще и с пульта управляется, использую его на все 100% . При абсолютной внешней идентичности , внутри все оказалось совсем другим . Контроллер вообще без надписи ( не затерта, как обычно, а вообще нету :))) Система команд пульта не совпала (((


Награды:
+1
<
RIKK

18 марта 2012 16:16

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 9.03.2012
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
Собрант вариант на ATtIny2313, прошивал USB программатор AVR — USBAsp, сначала фьюзы потом прошивка, все сразу заработало. Спасибо автору!


Награды:
0
<
bacek-1976

16 мая 2012 11:07

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Подскажите, пожалуйста, какие транзисторы использовать, если у светодиодов общий "минус"?


Награды:
0
<
Maik

5 июня 2012 13:14

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 26.10.2011
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
Господа! Просьба великая!!! Пришлите пожалуйста на мыло прошивку для ATTiny2313! Адрес почты: [email protected] Заранее премного благодарен!!!

Господа! Просьба великая!!! Пришлите пожалуйста на мыло прошивку для ATTiny2313! Адрес почты: [email protected] Заранее премного благодарен!!!


Награды:
0
<
monters

24 октября 2012 12:33

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: 24.10.2012
  • Статус: Пользователь offline
  • Публикаций: 0
  • Комментариев: 1
спасибо автору работает на тини пульт подошел от AVERMEDIA TV- и FM-тюнер AVerTV Studio Model 307


Награды:
0
<
Cherniy_S

28 ноября 2013 18:13

Информация к комментарию
  • Группа: Радиомастер
  • ICQ:
  • Регистрация: 9.01.2011
  • Статус: Пользователь offline
  • Публикаций: 1
  • Комментариев: 36
Вместо TSOP1736 можно ставить TSOP4836 ?


Награды:
0
<
schukar2011

27 апреля 2014 06:42

Информация к комментарию
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Собрали на 675ПИКе,классно смотрится,цветов много,очень понравилось,автору спасибо,схемка децельная а цветов спекр широкий,так что собирайте люди,не пожалеете! smile


Награды:
0
<
Vitaliy

26 мая 2014 08:06

Информация к комментарию
  • Группа: Радиолюбитель
  • ICQ:
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 2
А сколько светодиодных RGB лент можно подключить к одному контроллеру управления, к китайскому ото что вверху на фото вроде только одну. Спасибо.


Награды:
0

Добавление комментария

Имя:*
E-Mail:*
Введите два слова, показанных на изображении: *

Друзья и партнеры:

Архив новостей

Декабрь 2016 (8)
Ноябрь 2016 (1)
Сентябрь 2016 (3)
Июнь 2016 (1)
Май 2016 (1)
Апрель 2016 (1)
^
 
-->