Светодиодный контроллер своими руками
ОБНОВЛЕНИЯ
• 30.05.19 Версия 1.0: первоначальная, вроде бы стабильная версия
• 05.06.2019 Версия 1.1:
– Добавлена настройка MIN_PWM
– Добавлена коррекция гаммы, настройка GAMMA_BRIGHT
• 10.06.2019 Версия 1.2: Добавлено управление кнопкой
• 12.07.2019 Версия 1.5 + приложение v1.2: добавлен белый канал света. Приложение работает только на 1.5 и выше!
• 27.07.2019 Версия 1.6: исправлены ошибки компиляции и баги с кнопкой
• 01.09.2019: исправлена плата Gerber_GyverRGB_DIP, подробности смотрите ниже
• 27.09.2019 Версия 1.7: исправлено запоминание настроек при управлении по BT
ОПИСАНИЕ
Захотелось мне сделать RGB свет для видео из китайских компонентов. RGB – значит нужен ШИМ контроллер, значит нужно его сделать! Вот и сделал: GyverRGB – контроллер для RGB светодиодных лент со множеством режимов и настроек, модульной структурой и различными способами управления.
Железо
Используется обыкновенная RGB светодиодная лента с общим анодом (контакты 12V G R B). Я использовал два ряда ленты с плотностью 120 диодов на метр, чтобы иметь хороший запас по яркости даже на одном цвете.
В проекте используется Arduino NANO (микроконтроллер ATmega328p). В качестве 100% совместимого аналога можно использовать Arduino UNO/Pro Mini.
Я рассматривал два варианта драйвера для светодиодной ленты: китайский RGB LED amplifier и самодельный драйвер из трёх МОСФЕТ (полевых) транзисторов. LED amplifier очень удобен в подключении, но имеет жуткий недостаток: на высоких частотах у него поднимается нижний порог яркости, что приводит к трате оттенков и вообще некорректной работе режимов.
Вывод: если контроллер не планируется использовать для видео света, то можно поставить LED amplifier и в настройках контроллера поставить низкую частоту (490 Гц), глаз такую частоту не заметит, но снятое на камеру видео будет «стробить». Если планируется использовать контроллер для создания видео света, то в обязательном порядке нужно делать свой драйвер. Также свой драйвер позволит работать с большими отрезками ленты, т.к. транзисторы можно поставить очень мощные.
Полевой транзистор подойдёт практически любой (99%), наковырять можно из материнской платы. Список популярных МОСФЕТов в корпусе to-220: IRF3205, IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF (в порядке роста стоимости). Список популярных МОСФЕТов в корпусе D-pak: STD17NF03LT4, IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF (в порядке роста стоимости).
Управление контроллером предусмотрено тремя способами:
- Энкодер – китайский модуль в двух вариантах
- ИК пульт – продаётся вместе с приёмником-модулем, но удобнее монтировать отдельный приёмник
- Кнопка – обычная нормально-разомкнутая тактовая кнопка
- Bluetooth – управление с приложения GyverRGB для Android
Питается система от 12V, от блока питания или батареи из трёх литиевых аккумуляторов. При питании от аккумуляторов предусмотрен «вольтметр» – делитель напряжения на резисторах, позволяющий измерить напряжение на батарее для вывода его на дисплей.
Софтовые фишки
- Автоматическое отключение дисплея по таймауту неактивности
- Несколько вариантов частоты ШИМ для драйвера:
- 490 Гц – для дешёвых LED усилителей
- 8 кГц – слышно, как пищит
- 4 кГц – работает только на самодельном драйвере
- Настраиваемая до герца
- Настраиваемое направление работы ШИМ (для готовых и самодельных усилителей)
- Автоматическое ограничение тока потребления на основе количества светодиодов и яркости каналов цвета
- Вывод напряжения питания на дисплей в вольтах или процентах
- Режим поддержания яркости при разрядке аккумулятора (при полном заряде чуть занижает яркость)
- Коррекция яркости по CRT гамме
- Матрица коррекции LUT
- 10 настраиваемых профилей
- 11 настраиваемых режимов работы для каждого профиля, из них 5 статических и 6 динамических
- Настройки хранятся в EEPROM и не сбрасываются при перезагрузке
- RGB– цвет в пространстве RGB
-
- BR – яркость (0-255)
- R – красный (0-255)
- G – зелёный (0-255)
- B – синий (0-255)
- HSV– цвет в пространстве HSV
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- Color– яркий цвет
-
- BR – яркость (0-255)
- COL – номер цвета (0-1530)
- ColorSet– предустановленные цвета
-
- BR – яркость (0-255)
- COL – цвет
- WHITE
- SILVER
- GRAY
- BLACK
- RED
- MAROON
- YELLOW
- OLIVE
- LIME
- GREEN
- AQUA
- TEAL
- BLUE
- NAVY
- PINK
- PURPLE
- Kelvin– установка цветовой температуры
-
- BR – яркость (0-255)
- TEMP – цветовая температура, К (1000-10000)
- ColorW– плавная смена цвета
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- Fire– стандартный огонь
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
- STP – шаг (0-500)
- FireM– ручной огонь
-
- BR – макс. яркость (0-255)
- COL – цвет (0-255)
- SPD – скорость (0-1000)
- MIN – мин. яркость (0-255)
- Strobe– стробоскоп
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- StrobeR– стробоскоп со случайным периодом
-
- HUE – цвет (0-255)
- SAT – насыщенность (0-255)
- VAL – яркость (0-255)
- SPD – скорость (0-1000)
- Police– мигалки
-
- BR – яркость (0-255)
- SPD – скорость (0-1000)
Энкодер
- Кнопка удержана около секунды – вкл/выкл светодиоды
- Кнопка клик – навигация: выбор профиля -> выбор режима -> выбор настройки
- Смена профиля – поворот рукоятки
- Смена режима – поворот рукоятки
- Смена настройки – поворот рукоятки
- Выбор настройки – нажатие, удержание и поворот рукоятки
ИК пульт
- Кнопки 0–9 – быстрый переход к профилю с номером
- Кнопки * и # – вкл и выкл систему
- Кнопка ОК – навигация: профиль -> режим -> настройка
- Кнопки вправо/влево – смена профиля/меню/настройки
- Кнопки вверх/вниз – изменение выбранной настройки
Bluetooth
Загрузить приложение GyverRGB (для Android) и наслаждаться!
Кнопка (с версии 1.2)
- Клик: включить/выключить ленту
- Двойной клик: следующий пресет
- Тройной клик: предыдущий пресет
- Удержание: смена яркости
Кнопка вариант 2 (с версии 1.3)
- Клик: включить/выключить ленту
- Двойной клик: следующий цвет (12 цветов по кругу Иттена)
- Тройной клик: предыдущий цвет
- Удержание: смена яркости
Источник
Rgb контроллер своими руками atmega8
Побегав по форуму не нашёл конструкций на RGB светодиодах. А так как скоро новый год — решил восполнить эту нишу.
Конструкция выполнена на всеми горячо любимой Меге 8. Исходный код на бэйсике честно содран с немецкого сайта http://www.ledstyles.de/ftopic13581.html .
C небольшими изменениями выкладываю его здесь. Изменения коснулись только кварца(точнее я его просто убрал) и переназначение ножек кнопок(так удобнее плату разводить было).
Кнопки служат для выбора режимов. А с помощью переменника можно зажигать любое количество диодов от 1-го до восьми. Свою плату делал на двухстороннем текстолите методом ЛУТ.
Транзисторы использовал MMBT3904(лучше поставить что-нибудь помощнее, например BC817). Светодиоды RGB 3528.
Резисторы и конденсаторы типоразмера 0805.Стабилизатор напряжения 7805(в моём случае 78M05). В качестве блока питания используется зарядка для телефона.
Память микроконтроллера использована всего на половину, поэтому можно добавить ещё кучу эффектов.
Да, fuse-биты выставлены на 8 МГц от внутреннего генератора.
Фото и видео c близкого расстояния оооочень низкого качества(снимал мобильником — видеокамеры не имею),прошу сильно не ругаться:
Источник
Трехканальный RGB контроллер подсветки панели приборов автомобиля на Atmega8
Автор: AntonChip. Дата публикации: 05 марта 2015 .
Контроллер имеет на борту 3 RGB канала, которые настраиваются по отдельности. 1 и 2 каналы привязаны к первому и второму логическим входам управления. Третий RGB канал для подсветки тахометра, с этим каналом связан выход тахометра. При превышении заранее установленного числа оборотов двигателя RGB канал сначала мигает красным цветом и включается зуммер, если обороты уменьшатся цвет канала возвращается к исходному состоянию, если обороты не уменьшаются канал остается гореть красным цветом, а зуммер выключается.
Устройство реализовано на микроконтроллере ATmega8, который тактируется от внешнего кварцевого резонатора частотой 8МГц. В качестве источника напряжения 5 Вольт использован линейный LowDrop стабилизатор. Единственный управляющий элемент энкодер, который отщелкивает 24 импульса на оборот. Полевые транзисторы P-канальные, можно использовать любые принимая во внимание мощность нагрузки, я использовал транзисторы с материнской платы 06N03. Широтно импульсный сигнал для RGB каналов реализован программно.
Алгоритм работы устройства
При включении все настройки читаются из памяти. Если на соответствующих входах управления лог. единицы каналы плавно включаются, сначала первый потом второй и третий. Если установлена задержка на плавное включение каналы включаются с соответствующей задержкой. Если при включении контроллера был поднят ручник все каналы 5 раз мигают красным цветом, так же будет если поднять ручник при работающем контроллере.
Если на входе 1 лог. ноль первый RGB канал плавно потухнет с соответствующей задержкой.
Если на входе 2 лог. ноль второй RGB канал плавно потухнет с соответствующей задержкой.
Если на входе 1 и 2 лог. ноль все RGB каналы по очереди плавно потухнут с соответствующей задержкой.
Если на входе 1 лог. единица первый и третий RGB каналы плавно разгорятся с соответствующей задержкой.
Если на входе 2 лог. единица второй и третий RGB каналы плавно разгорятся с соответствующей задержкой.
Если включить контроллер с нажатой кнопкой энкодера включится функция тестирования RGB светодиодов.
В обычном режиме при повороте ручки энкодера меняется общая яркость.
Программирование настроек RGB каналов и задержек.
Если в режиме настройки кнопка энкодера не нажималась более 30 сек. произойдет автоматический выход из режима настроек с сохранением их в памяти. При нажатии на кнопку энкодера:
Число нажатий
на кнопку
энкодера
Число вспышек
канала
Настраиваемый параметр
(поворотом ручки энкодера)
Задержка плавного включения/выключения
желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек
Задержка плавного включения/выключения
желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек
Задержка плавного включения/выключения
желтый цвет — 0 сек
зеленый цвет — 1 сек
фиолетовый цвет — 3 сек
синий цвет — 5 сек
розовый цвет — 10 сек
красный цвет — 15 сек
Программирование отсечки по оборотам двигателя:
Запустить двигатель, включить RGB контроллер, установить максимальные обороты двигателя нажав на педаль газа и нажать на кнопку энкодера, по истечению трех секунд третий канал мигнет 3 раза, после отпустить кнопку и отпустить педаль газа. Все RGB каналы мигнут 3 раза подтверждая сохранение настройки в память контроллера.
Видео работы RGB контроллера
Источник