ШИМ управление RGB светодиодом на микроконтроллере PIC12F629. Ардуино: трехцветный светодиод — RGB

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

Ассортимент цветных светодиодных лент достаточно обширен и их правильный выбор – дело довольно сложное. И все же, какими бы идеальными они ни были, для их правильной работы необходим блок питания 12 В (реже 24 В) и, конечно же, блок управления с параметрами, подходящими именно под выбранную световую полосу.

Но что же такое этот RGB-контроллер, какие функции он выполняет? И если он так необходим, возможно ли его изготовить своими руками в домашних условиях?

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

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

Контроллеры различаются как по мощности, так и по количеству выходов, т. е. подключаемых к нему световых полос. Есть устройства с пультом, а бывают и без ПДУ. Также есть различие и по сигналу, поступающему на ленту, т. к. полоса может быть либо аналоговой, либо цифровой. Различие между ними существенное, а вот сходство одно. Все они работают только с блоком питания (трансформатором), потому как светодиодная полоса имеет номинальное напряжение в 12 В, а не 220, как думают некоторые.

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

Варианты подключения

Естественно, что самым простым способом подключения устройства управления RGB станет вариант, при котором подключена лишь одна светодиодная полоса или ее часть. Но такой способ не совсем практичен, хотя он и не требует включения в цепь каких либо дополнительных приборов. Дело все в том, что на одну линию такого устройства возможно подключение не более 5–6 метров световой полосы, что для подсветки комнаты будет явно недостаточным. Если же длина отрезка будет больше, то на ближайшие к контроллеру светодиоды возрастет нагрузка, в результате чего они просто перегорят.

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

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

Две светодиодные ленты

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

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

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

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

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

Контроллер своими руками


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

Наверняка у каждого в квартире найдется неисправная китайская гирлянда с маленькой коробочкой – блоком управления устройством. Так вот, основные детали как раз будут браться из нее.

Схема контроллера, сделанного своими руками

Как раз внутри этого блока управления гирляндой можно увидеть три тиристорных выхода. Это и будут направления R, G и B.

Как раз к ним и следует подключить светодиодную полосу. Никакого охлаждения тиристорам не требуется, ну а отсутствие блока питания легко решается. Не будет большой проблемой найти неисправный системный блок компьютера. Так вот трансформатор от него идеально подойдет для этой цели. И в итоге сэкономить получится не только на покупке контроллера, но и на приобретении блока питания, причем блок питания может стоить в разы дороже, чем само устройство управления светодиодной RGB-лентой.

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

Стоит ли игра свеч?

Если рассуждать с точки зрения логики обычного человека, не увлеченного радиотехникой, то, конечно, купить дешевый RGB-контроллер будет ненамного дороже. К тому же при этом не будет потеряно время на изготовление своими руками подобного прибора. Но для настоящего радиолюбителя, а иногда и просто увлеченного человека, собрать подобный прибор самому во сто крат приятнее, нежели приобретать где-то. А потому попробовать изготовить RGB-контроллер своими руками стоит. Ведь удовольствие от проделанной, а к тому же еще и удачной работы не заменит ничто.

Rgb светодиоды, которые иногда называют 3-хцветными, являются ничем иным, как красным, зеленым и синим диодом, совмещенными в едином корпусе. Зная об этом, несложно представить себе, как устроены rgb светодиоды. Для каждого из 3-х цветов существует своя ножка-катод, и ещё одна – общий анод. Вывод под анод является самым длинным, а катоды обычно располагаются в следующем порядке:

  • синий;
  • зеленый;
  • красный.

Чтобы заставить устройство светиться одним из указанных цветов, на соответствующий катод требуется подать сигнал. Если же нужен какой-то другой оттенок, его можно получить при использовании широтно-импульсной модуляции (ШИМ, PWM-сигнал). Количество получаемых в итоге цветов зависит от того, как реализовано управление и разрядности ШИМ. Белый цвет тоже довольно просто получить – для этого нужно лишь зажечь все светодиоды одновременно.

Rgb светодиоды могут иметь и другое строение, которое и определяет их основные характеристики (насколько они мощные и т.д.). В случае реализации устройства с общим катодом для каждого из цветов установлен собственный порог зажигания, отделенный от следующего парой вольт. Устройства с общим «+» включают нужный светодиод при значении «0» на выходе микроконтроллера, а с общим «-» - при «1».

Управление rgb светодиодами может быть реализована на 8-битных микроконтроллерах семейства Pic, AVR (ATtiny, ATmega) и более мощных моделях, программа для которых составляется на ассемблере.

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

Управление rgb светодиодами

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

При недостаточной частоте импульсов светодиоды будут мигать. Чтобы они светили постоянно, нижний порог частоты должен быть около 60-70 Гц (мониторы старых моделей), а в идеале – не меньше 100 Гц (более мощные и современные).

При простейшей реализации управление RGB-светодиодом потребует 3 ШИМ. Сама схема не так сложна в реализации, даже если устройства довольно мощные. Задача скорее в правильной реализации программной части.

Контроллеры младших серий, как правило, не имеют не только 3 ШИМ, но даже 3-х таймеров с прерываниями (на базе которых легко реализовать ШИМ). То, как будет реализована схема управления, следует рассматривать на конкретных примерах, в зависимости от архитектуры конкретного устройства.

Теоретическая база для реализации схемы управления rgb светодиодами

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

Для реализации канала ШИМ нужно знать:

  • алгоритм определения коэффициента заполнения (устанавливается пользователем);
  • отсчет времени для сигнала верхнего уровня;
  • время всего импульса.

При практической реализации для этого потребуются 2 счетчика, которые будут работать по следующему алгоритму:

  1. Запуск счетчиков, выход выставлен в «1».
  2. Прерывание счетчика №1 (время верхнего уровня), выход переключается на «0».
  3. Счетчик №1 выключается.
  4. Прерывание счетчика №2 – повтор всех операций с начала.

Получается, что схема управления rgb светодиодом, вне зависимости от того, насколько устройства мощные, должна включать в себя по 2 счетчика для канала ШИМ, то есть 6 в сумме.

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

Здесь нужно подобрать квант времени, которому будут кратны длительности импульсов на каждом канале.

T=1/(f*(2 n -1)),

n – значение разрядности ШИМ;

f – частота.

Схема может включать в себя 1 счетчик для отсчета интервала Т. Чтобы он выполнял требуемую функцию, следует задать 4 установки:

  1. Количество отсчетов верхнего уровня для 1 канала ШИМ.
  2. Количество отсчетов верхнего уровня для 2 канала ШИМ.
  3. Количество отсчетов верхнего уровня для 3 канала ШИМ.
  4. Общая длительность импульса.

Прочие операции для программного счетчика (переключение, обнуление и т.д.) совершаются по прерываниям аппаратного.

Данный алгоритм – всего лишь пример схемы управления, работа которой может существенно отличаться, в зависимости от используемого микроконтроллера а также от того, как именно планируется использовать светодиоды. Более мощные устройства могут работать также на светодиодных лентах.

Многоцветные светодиоды, или как их еще называют RGB, используются для индикации и создания динамически изменяющейся по цвету подсветки. Фактически ничего особенного в них нет, давайте разберемся, как они работают и что такое RGB-светодиоды.

Внутреннее устройство

На самом деле RGB-светодиод - это три одноцветных кристалла совмещенные в одном корпусе. Название RGB расшифровывается, как Red - красный, Green - зеленый, Blue - синий соответственно цветам, которые излучает каждый из кристаллов.

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

На этой картинке вы видите принцип смешивания цветов, для получения всех оттенков.

Кристаллы в RGB-светодиоды могут быть соединены по схеме:

С общим анодом;

С общим катодом;

Не соединены.

В первых двух вариантах вы увидите, что у светодиода есть 4 вывода:

Или 6-тью выводами в последнем случае:

Вы можете видеть на фотографии под линзой четко видны три кристалла.

Для таких светодиодов продаются специальные монтажные площадки, на них даже указывают назначение выводов.

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

Естественно не обошлось и без лент с такими светодиодами.

На этой картинке изображена лента с RGB-светодиодами , собранные по схеме с общим анодом, регулировка интенсивности свечения осуществляется путем управления «-» (минусом) источника питания.

Для изменения цвета RGB-ленты используются специальные RGB-контроллеры - устройства для коммутации напряжения подаваемого на ленту.

Вот цоколевка RGB SMD5050:

И ленты, особенностей работы с RGB-лентами нет, всё остается также как и с одноцветными моделями.

Для них есть и коннекторы для подсоединения светодиодной ленты без пайки.

Вот распиновка 5-ти мм РГБ-светодиода:

Как изменяется цвет свечения

Регулировка цвета осуществляется путем регулировки яркости излучения каждым из кристаллов. Мы уже рассматривали .

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

Да такого мощного устройства в корпусе размером с блок питания.

Они подключаются к ленте по такой схеме:

Так как сечение дорожек на ленте не позволяет подключать последовательно с ней следующий отрезок ленты, если длина первого превышает 5м, нужно подключать второй отрезок проводами напрямую от РГБ-контроллера.

Но можно выйти из положения, и не тянуть дополнительных 4 провода на 5 метров от контроллера и использовать RGB-усилитель. Для его работы нужно протянуть всего 2 провода (плюс и минус 12В) или запитать еще один блок питания от ближайшего источника 220В, а также 4 «информационных» провода от предыдущего отрезка (R, G и B) они нужны для получения команд от контроллера, чтобы вся конструкция светилась одинаково.

А к усилителю уже подключают следующий отрезок, т.е. он использует сигнал с предыдущего куска ленты. То есть вы можете запитать ленту от усилителя, который будет расположен непосредственно возле неё, тем самым сэкономив деньги и время на прокладку проводов от первичного RGB-контроллера.

Регулируем RGB-led своими руками

Итак, есть два варианта для управления RGB-светодиодами:

Вот вариант схемы без использования ардуин и других микроконтроллеров, с помощью трёх драйверов CAT4101, способных выдавать ток до 1А.

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

Заключение

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

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

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

Основных назначений у них два :

Демонстрация работы оборудования или оповещение о каком-либо событии;
применение в декоративных целях (подсветка и визуализация).

Внутри светодиод состоит из красного (red), зеленого (green) и синего (blue) кристаллов, собранных в одном корпусе. Отсюда такое название – RGB (рис.1).

2. С помощью микроконтроллеров

С помощью него можно получить множество различных оттенков света. Управление RGB-светодиодом осуществляется с помощью микроконтроллера (MK), например, Arduino (рис.2).

Конечно, можно обойтись простым блоком питания на 5 вольт, резисторами в 100-200 Ом для ограничения тока и тремя переключателями, но тогда управлять свечением и цветом придется вручную. В таком случае добиться желаемого оттенка света не получится (рис.3-4).

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

3. Контроллер для управление RGB

Для разгрузки выводов МК применяются специальные контроллеры WS2801 (5 вольт) или WS2812B (12 вольт) (рис.5).

С применением отдельного контроллера нет необходимости занимать несколько выходов MK, можно ограничиться лишь одним сигнальным выводом. МК подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.

В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация адресовывается. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера (рис.6).

4. Адресуемый светодиод

Это RGB-светодиод, только с интегрированным контроллером WS2801 непосредственно на кристалле. Корпус светодиода выполнен в виде SMD компонента для поверхностного монтажа. Такой подход позволяет расположить светодиоды максимально близко друг другу, делая свечение более детализированным (рис.7).

В интернет-магазинах можно встретить адресные светодиодные ленты, когда в одном метре умещается до 144 штук (рис.8).

Стоит учесть, что один светодиод потребляет при полной яркости всего 60-70 мА, при подключении ленты, например, на 90 светодиодов, потребуется мощный блок питания с током не менее 5 ампер. Ни в коем случае не питайте светодиодную ленту через контроллер, иначе он перегреется и сгорит от нагрузки. Используйте внешние источники питания (рис.9).

5. Недостаток адресуемых светодиодов

Адресуемая светодиодная лента не может работать при слишком низких температурах: при -15 контроллер начинает подглючивать, на более сильном морозе велик риск его выхода из строя.

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

6. Применение адресуемых светодиодных лент

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

Получается интересное решение, если светодиодную ленту использовать в качестве фоновой подсветки Ambilight для монитора компьютера (рис.10-11).

Если вы будете использовать микроконтроллеры на базе Arduino, вам понадобится библиотека FastLed для упрощения работы со светодиодной лентой ().

Мы не раз рассматривали разнообразные светодиоды, строение, использование и т.д. и т.п. Сегодня я хотел бы остановиться на одной из разновидностей светодиодов (если так можно говорить) - RGB светодиодах.

Что такое RGB светодиод и устройство


Соединение RGB диодов с ШИМ Altmega8

Аноды RGB светодиода подключаем к линиям 1,2,3 порта В, катоды соединяем с минусом. Чтобы получить разнообразные палитры цвета на аноды будем подавать ШИМ сигнал в определенной последовательности. В этом примере мы специально используем программный ШИМ, хотя на Atmega8 можно без проблем получить аппаратный ШИМ на 3 канала. Программный ШИМ можно использовать в случаях нехватки таймеров/счетчиков и по другим причинам. Для генерации ШИМ определенной частоты используем прерывание по переполнению 8-ми битного таймера Т0(TIMER0_OVF_vect). Так как предделитель не используем частота переполнения таймера будет равна 31250Гц. А если переменная "pwm_counter" считает до 163, то частота ШИМ будет равна 190 Hz. В обработчике прерываний исходя из значений в переменных pwm_r, pwm_g, pwm_b переключаются ножки порта В. Цветовые эффекты настраиваются с помощью функций, где задается время свечения светодиода. В тестовой программе сначала загораются красный, зеленый, синий, белый цвета, а потом начинается цикл с переходами цвета.

Программный код:

// Управление RGB светодиодом. Программный ШИМ

#include

#include

volatile char pwm_counter,pwm_r,pwm_g,pwm_b;

// Прерывание по переполнению Т0

ISR (TIMER0_OVF_vect)

if (pwm_counter++ > 163)

pwm_counter = 0;

if (pwm_counter > pwm_r) PORTB |= (1 << PB1);

if (pwm_counter > pwm_g) PORTB |= (1 << PB2);

if (pwm_counter > pwm_b) PORTB |= (1 << PB3);

// Процедура задержки в микросекундах

void delay_us(unsigned char time_us)

{ register unsigned char i;

for (i = 0; i < time_us; i++) // 4 цикла

{ asm (" PUSH R0 "); // 2 цикла

asm (" POP R0 "); // 2 цикла

// 8 циклов = 1 us для 8MHz

// Процедура задержки в миллисекундах

void delay_ms(unsigned int time_ms)

{ register unsigned int i;

for (i = 0; i < time_ms; i++)

{ delay_us(250);

// Красный цвет

void red (unsigned int time)

for (char a = 0; a < 165; a++)

pwm_r = 164 - a; //увеличение

for (char a = 0; a < 165; a++)

pwm_r = a; //уменьшение

// Зеленый цвет

void green (unsigned int time)

for (char a = 0; a < 165; a++)

pwm_g = 164 - a;

for (char a = 0; a < 165; a++)

// Синий цвет

void blue (unsigned int time)

for (char a = 0; a < 165; a++)

pwm_b = 164 - a;

for (char a = 0; a < 165; a++)

// Белый цвет

void white (unsigned int time)

for (char a = 0; a < 165; a++)

pwm_r = 164 - a;

pwm_g = 164 - a;

pwm_b = 164 - a;

for (char a = 0; a < 165; a++)

// Переход цветa

void rgb (unsigned int time)

for (char a = 0; a < 165; a++)

pwm_b = 164 - a;

for (char a = 0; a < 165; a++)



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: