Например TDA7294

РадиоКот > Схемы > Светотехника > Бегущие огни и световые эффекты

Гирлянда на светодиодах WS

Автор: Riniy
Опубликовано 26.10.2017.
Создано при помощи КотоРед.

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

Гирлянда состоит из 2-х частей: контроллера управления и подключаемую к ней светодиодную гирлянду.

Принцип работы


Схема

Сердцем контроллера управления является микроконтроллер Мега8, работающий от встроенного генератора на 8МГц. Программа написана на ассемблере в среде Atmel Studio 7. Выбор воспроизводимого эффекта, набор цветов для эффекта, скорость каждой программы и ее направление выбирается контроллером случайно. Для генерации рандома используется генератор псевдослучайного числа. Известно, что при подаче питания на микроконтроллер его регистры и ОЗУ заполняются произвольными данными, эти данные используются для инициализации генератора. Сам генератор представляет собой несложную логическую операцию с переносом бита.     

Random:

        mov rnd_a,rnd_b       ;A=B
        mov rnd_b,rnd_c       ;B=C
        lsl rnd_b                   ;B<<1
        brcs rnd01
        sbr rnd_b,1               ;добавляем 1 если 7 бит был 1
  rnd01:
        mov rnd_c,rnd_a       ;С=B+A
        add rnd_c,rnd_b
ret

Кол-во пикселей в гирлянде определяется замыканием контактов припоем близкорасположенных контактных площадок (SW1). После инициализации микроконтроллер выставляет на пине PD7 логический ноль и проверяет лргические уровни на PD5 и PD6. В зависимости от этого определяется кол-во пикселей.

Всего в прошивке предусмотрено 3 варианта: 30, 39 и 48 пикселей, в каждом варианте имеется корректировка скорости эффектов. Далее, случайно выбирается номер эффекта (1 из 56) и его параметры (цвета, направление эффекта, скорость, кол-во огоньков). После выполнения этой программы также произвольно выбирается другая. Эффекты не будут повторяться, пока все они не будут выполнены в случайном порядке. Программах с фоном применяется его затемнение, для лучшей выразительности основного эффекта и поднятия контраста.

Гирлянда подключается к контроллеру управления через разъем TRS (mini-jack 3,5 мм). Длина гирлянды составляет 5, 6.5 и 8 метров соответственно ее варианту. Для питания гирлянды нужен 5-ти вольтовый блок питания с рабочим током 2А.

Резистор R1 служит для защиты контроллера и светодиодной гирлянды от перегрузок при горячем подключении. Конденсатор С1 необходим для подавления общих импульсных помех по линии питания, создаваемых при импульсной работе светодиодов.

Применялись вот такие пиксели, собранные на плате и с установленным конденсатором по питанию. Резисторы 75 Ом стоят у входа каждого пикселя, они служат для защиты светодиодов (на схеме они не указаны).

Светодиоды WS2812B

В каждом пикселе имеется свой встроенный ШИМ-драйвер, который управляет яркостью трех светодиодов R, G и B. ШИМ-драйвер 8-ми битный, т.е. для каждого из цветов возможны 256 градаций яркости и, соответственно, для того чтобы установить яркости для каждого из 3-х светодиодов нужно передать пикселю 8х3=24 бит (3 байта) информации. 

Протокол передачи информации

Время передачи одного бита равно 1.25 uSec. Время передачи пакета из 24 бит для одного пикселя WS2812B составляет 24х1.25=30 uSec. Для 48 штук — 48х30 = 1.44 mSec.

Для управления пикселями используется программный метод. Один такт работы контроллера, работающего на 8 МГц равен 0,125 uSec. Для передачи одного бита необходимо уложиться в 10 тактов. Дл этого размечаем карту этих 10 тактов, при отправке 0 необходимо переключать вывод МК в соответствии с тактовой картой (1110000000), а для отправки 1 – (1111111000).

Можно использовать любые совместимые светодиоды с данным протоколом. Для каждого типа светодиода, необходимо проверить особенности его передачи данных, например для WS2812 используется последовательность GRB, а для WS2811 – RGB. Отличие между ними - это небольшая разница в таймингах и последовательность байтов. Для правильной работы гирлянды необходимо поменять местами красный и зеленый цвета. 

На рисунке из разных даташитов приведены примеры 24-битного состава GRB и RGB

Прошивки для обоих вариантов имеются во вложении.

Светодиодные пиксели принимают байты по цветовой схеме RGB. Управлять цветами, регулировать яркость и насыщенность очень неудобно, поэтому в некоторых эффектах для управления используется цветовая модель HSV (Hue, Saturation, Value — тон, насыщенность, значение) затем, полученный оттенок конвертируется в модель RGB. В большинстве программ используется прямой выбор цвета по схеме RGB.

Цветовая модель HSV

Цветовая модель RGB

Сборка

Провод от джека до первого пикселя - сигнальный четырехжильный кабель длиной 1 метр, для соединения пикселей между собой – плоский кабель AWG28, разрезанный на отрезки по 17 см (3 жилы). Термоусадка белого цвета диаметров 8 мм по 2 см длиной. В центре термоусадки необходимо вырезать ромбовидное отверстие диагональю 4 мм для приклеивания рассеивателя к светодиоду.

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

 

Процесс сборки

Процесс сборки

После запаивания проводов, необходимо прозвонить питающие жилы между последнем пикселем и джеком, на предмет правильности подключения питания (вдруг, вы где-то провод перевернули). Далее, включить гирлянду и проверить ее работоспособность, могут быть бракованные пиксели (у меня попался с плохо припаянным резистором на 75 Ом), также нужно сразу выявить и устранить возможные замыкания.

Только после проверки на работоспособность всей гирлянды можно приступать к приклеиванию рассеивателей, совмещая отверстие термоусадки с окошком светодиода. Я использовал цианакрилатный клей-гель, он не растекается и хватает небольшой капли. Начинать приклеивать рекомендую со стороны джека, т.к. если вдруг где-то забыли про термоусадку, то ее через штекер не продеть и придется распаивать провода. В качестве рассеивателя использовал акриловые матовые насадки (8х8 мм) для бижутерии.

Приклеивание рассеивателей

После приклеивания можно усаживать термоусадку и пока она не остыла, концы горячей термоусадки нужно хорошо прижать плотным картоном или пластиком до ее остывания. Сплющенные торчащие концы термоусадки хорошо слипаются и не дают проводу сломаться в местах пайки.

Наш сегмент примет вот такой законченный вид:

Светодиод в сборе

Контроллер особенностей по сборке не имеет.

Приведенная печатная плата имеет возможность установки разъемов питания на выбор Jack DC-2.1x0.7 или microUSB, предусмотрено подключение внешнего кварца для использования контроллера на улице.

Контроллер управления TOP

Контроллер управления microUSB BOTTOM

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

Контроллер управления в сборе

Гирлянда в работе

  И на десерт вискас видео работы гирлянды


Файлы:

Прошивка, схема печатная плата и др.


Все вопросы в Форум.


ID: 2597