Все началось с идеи управления нагрузкой не постоянного тока, а переменного. Очень хорошая идея была предложена Сергеем (Ghjuhfvvf) вот тут. В развитии этой идеи им были разработаны и построены схемы управления нагрузкой переменного тока как с пульта так и по сенсорному управлению (но это тема отдельного топика и вероятно Сережа созреет для того, чтобы выложить свою работу на форуме). Меня же, чисто из прикладных соображений, заинтересовала возможность управлять RGB светодиодной лентой. За базу был взят вышеуказанный алгоритм.
Сразу приношу извинения за возможные нерациональности в тексте программы. Я не программист и поэтому, вероятно, мне это простительно.
1 Схема.
Схема несложная. Включение ленты делалось через сборку Дарлингтона. Для ленты самое то (при токах нагрузки до 1А на канал или при длине стандартной ленты до 2м). Она инвертирует сигнал, что как раз кстати для ленты с общим анодом (а таких в RGB варианте большинство). Для алгоритма это означает что включать свечение можно единицами.
Scheme-RGB-ULN.zip (3879 Загрузок)
ULN2003.pdf (20445 Загрузок)
Дальше вариант для полевиков IRF640 (при больших токах нагрузки)
Scheme-RGB-IRF.zip (3536 Загрузок)
IRF640.pdf (18638 Загрузок)
2 Плата.
Печатную плату не делал — собрал на макетке. Но специально для Вас :), набросал в сплинте оба варианта для ULN и для IRF.
PBC-RGB-ULN1.zip (3499 Загрузок)
PBC-RGB-IRF1.zip (3760 Загрузок)
3 Алгоритм работы.
В самой программе алгоритм достаточно подробно описан в комментариях. Мне кажется все должно быть понятно. Дополнительно только скажу то, что ШИМ реализован программно, а поскольку программа не помещалась в память AtTiny2313A, то все коды кнопок пульта сразу были прописаны в алгоритме (без блока программирования кнопок). В программе также есть участок генерации случайных чисел. Я попытался в нем реализовать принцип М-последовательности. Похоже пока это лучший программный алгоритм генерации случайных чисел.
ULN-IRF-RGB-Controller1.zip (5798 Загрузок)
4 Реализация.
За основу экспериментов был взят китайский пульт от похожего контроллера.
На картинке пульта приведены коды всех кнопок для того, чтобы было легче разобраться в программе. Если кому понадобятся пояснения в последовательности записи кнопок в базу данных — спрашивайте. Вы можете заменить коды в программе на свои, считанные с пульта через UART вот этим: 074-Преобразователь IR-to-UART на ATtiny2313..
5 Прошивка.
С прошивкой все как обычно — описывать нечего…
RGB-Controller2.zip (3963 Загрузки)
085-fusebits.png (Одна Загрузка)
Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как правильно прошить AVR фьюзы
6 Демонстрация работы контроллера RGB ленты.
Видео демонстрирует как работает контроллер с лентой в различных режимах.
7 Заключение.
Хотел бы поблагодарить за помощь и подсказки в разработке соавтору Ghjuhfvvf и всем активным участникам форума, в особенности SVN и anatoliy.
В планах сделать контроллер на 3 ленты на AtTiny2313A, управляемых с одного пульта. Всех заинтересованных прошу отписываться здесь или мне на почту (Kolini1967*ukr.net * заменить на @). Спасибо.