085-Контроллер RGB ленты на ATtiny2313.

Автор: | 20.05.2012

кусочки лентыВсе началось с идеи управления нагрузкой не постоянного тока, а переменного. Очень хорошая идея была предложена Сергеем (Ghjuhfvvf) вот тут. В развитии этой идеи им были разработаны и построены схемы управления нагрузкой переменного тока как с пульта так и по сенсорному управлению (но это тема отдельного топика и вероятно Сережа созреет для того, чтобы выложить свою работу на форуме). Меня же, чисто из прикладных соображений, заинтересовала возможность управлять RGB светодиодной лентой. За базу был взят вышеуказанный алгоритм.
Сразу приношу извинения за возможные нерациональности в тексте программы. Я не программист и поэтому, вероятно, мне это простительно.


1 Схема.

Схема несложная. Включение ленты делалось через сборку Дарлингтона. Для ленты самое то (при токах нагрузки до 1А на канал или при длине стандартной ленты до 2м). Она инвертирует сигнал, что как раз кстати для ленты с общим анодом (а таких в RGB варианте большинство). Для алгоритма это означает что включать свечение можно единицами.

scheme-RGB-ULN.spl7 - Схема контроллера RGB ленты на ULN
ULN2003.pdf - Даташит на сборку Дарлингтонов ULN2003


Дальше вариант для полевиков IRF640 (при больших токах нагрузки)

scheme-RGB-IRF.spl7 - Схема контроллера RGB ленты на IRF
IRF640.pdf - Даташит на полевой транзистор IRF640


2 Плата.

Печатную плату не делал — собрал на макетке. Но специально для Вас :),  набросал в сплинте оба варианта для ULN и для IRF. 
PBC-RGB-ULN.lay - Печатка контроллера RGB ленты для ULN
PBC-RGB-IRF.lay - Печатка контроллера RGB ленты для IRF


3 Алгоритм работы.

В самой программе алгоритм достаточно подробно описан в комментариях. Мне кажется все должно быть понятно. Дополнительно только скажу то, что ШИМ реализован программно, а поскольку программа не помещалась в память AtTiny2313A, то все коды кнопок пульта сразу были прописаны в алгоритме (без блока программирования кнопок). В программе также есть участок генерации случайных чисел. Я попытался в нем реализовать принцип М-последовательности. Похоже пока это лучший программный алгоритм генерации случайных чисел.
RGB controller(ULN+IRF) - Исходник контроллера RGB ленты


4 Реализация.

За основу экспериментов был взят китайский пульт от похожего контроллера.

На картинке  пульта приведены коды всех кнопок для того, чтобы было легче разобраться в программе. Если кому понадобятся пояснения в последовательности записи кнопок в базу данных — спрашивайте. Вы можете заменить коды в программе на свои, считанные с пульта через UART вот этим: 074-Преобразователь IR-to-UART на ATtiny2313..


5 Прошивка.

С прошивкой все как обычно — описывать нечего…
RGB-Controller.hex - Прошивка контроллера RGB ленты для ATtiny2313
FuseBits - Фьюз биты для контроллера RGB ленты
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как правильно прошить AVR фьюзы


6 Демонстрация работы контроллера RGB ленты.

Видео демонстрирует как работает контроллер с лентой в различных режимах.


7 Заключение.

Хотел бы поблагодарить за помощь и подсказки в разработке соавтору Ghjuhfvvf и всем активным участникам форума, в особенности SVN и anatoliy.

В планах сделать контроллер на 3 ленты на AtTiny2313A, управляемых с одного пульта. Всех заинтересованных прошу отписываться здесь или мне на почту (Kolini1967*ukr.net   * заменить на @). Спасибо.

(Visited 4 650 times, 13 visits today)

There are 217 comments

Комментарии подгрузятся после небольшой паузы.