Адресуемые светодиоды: RGB-светодиоды: адресуемая светодиодная лента
RGB-светодиоды: адресуемая светодиодная лента
В данной статье мы расскажем о цветных светодиодах, отличии простого RGB-светодиода от адресуемого.
Также мы дополним материал информацией о сферах применения, о том, как они работают, каким образом осуществляется управление со схематическими картинками подключения светодиодов.
1. Вводная информация о светодиодах
Светодиоды – электронный компонент, способный излучать свет. Сегодня они массово применяются в различной электронной технике: в фонариках, компьютерах, бытовой технике, машинах, телефонах и т.д. Многие проекты с микроконтроллерами так или иначе используют светодиоды.
Основных назначений у них два:
- демонстрация работы оборудования или оповещение о каком-либо событии;
- применение в декоративных целях (подсветка и визуализация).
Внутри светодиод состоит из красного (red), зеленого (green) и синего (blue) кристаллов, собранных в одном корпусе. Отсюда такое название – RGB.
2. С помощью микроконтроллеров
С помощью него можно получить множество различных оттенков света. Управление RGB-светодиодом осуществляется с помощью микроконтроллера (MK), например, Arduino.
Конечно, можно обойтись простым блоком питания на 5 вольт, резисторами в 100-200 Ом для ограничения тока и тремя переключателями, но тогда управлять свечением и цветом придется вручную. В таком случае добиться желаемого оттенка света не получится.
Скетч Arduino для управления трехцветным светодиодом написать несложно, можно найти множество примеров в интернете с полным описанием подключения. Мы уже делали такую программу для Wemos — посмотрите здесь, и для Arduino — здесь.
Проблема появляется тогда, когда нужно подсоединить к микроконтроллеру сотню цветных светодиодов. Количество выводов у контроллера ограничено, а каждому светодиоду нужно питание по четырем выводам, три из которых отвечают за цветность, а четвертый контакт является общим: в зависимости от типа светодиода он может быть анодом или катодом.
3. Контроллер для управление RGB
Для разгрузки выводов МК применяются специальные контроллеры WS2801 (5 вольт) или WS2812B (12 вольт).
С применением отдельного контроллера нет необходимости занимать несколько выходов MK, можно ограничиться лишь одним сигнальным выводом. МК подает сигнал на вход «Data» управляющего контроллера светодиода WS2801.
В таком сигнале содержится 24-битная информация о яркости цвета (3 канала по 8 бит на каждый цвет), а также информация для внутреннего сдвигового регистра. Именно сдвиговый регистр позволяет определять, к какому светодиоду информация адресовывается. Таким образом можно соединять несколько светодиодов последовательно, при этом использовать все так же один вывод микроконтроллера.
4. Адресуемый светодиод
Это RGB-светодиод, только с интегрированным контроллером WS2801 непосредственно на кристалле. Корпус светодиода выполнен в виде SMD компонента для поверхностного монтажа. Такой подход позволяет расположить светодиоды максимально близко друг другу, делая свечение более детализированным.
В интернет-магазинах можно встретить адресные светодиодные ленты, когда в одном метре умещается до 144 штук.
Стоит учесть, что один светодиод потребляет при полной яркости всего 60-70 мА, при подключении ленты, например, на 90 светодиодов, потребуется мощный блок питания с током не менее 5 ампер. Ни в коем случае не питайте светодиодную ленту через контроллер, иначе он перегреется и сгорит от нагрузки. Используйте внешние источники питания.
5. Недостаток адресуемых светодиодов
Адресуемая светодиодная лента не может работать при слишком низких температурах: при -15 контроллер начинает подглючивать, на более сильном морозе велик риск его выхода из строя.
Второй недостаток в том, что если выйдет из строя один светодиод, следом по цепочке откажутся работать и все остальные: внутренний сдвиговый регистр не сможет передать информацию дальше.
6. Применение адресуемых светодиодных лент
Адресуемые светодиодные ленты можно применять для декоративной подсветки машины, аквариума, фоторамок и картин, в дизайне помещений, в качестве новогодних украшений и т.д.
Получается интересное решение, если светодиодную ленту использовать в качестве фоновой подсветки Ambilight для монитора компьютера.
Если вы будете использовать микроконтроллеры на базе Arduino, вам понадобится библиотека FastLed для упрощения работы со светодиодной лентой (скачать здесь).
Цветные адресуемые светодиодные модули WS2811
Используйте цепь светодиодных модулей RGB для создания динамичной подсветки под своё настроение. Цвета отдельных сегментов управляются программно. Кластеры светодиодов подойдут для интерьерного освещения в умном доме, а также пригодятся в наружной рекламе.
Светодиодные модули имеют класс защиты IP65: они непроницаемы для пыли и выдерживают попадание брызг воды. Их можно использовать не только внутри помещений, но и на улице.
Самоклеящаяся лента с обратной стороны корпуса позволяет быстро закрепить модули на плоской поверхности. По краям кластеров предусмотрены винтовые проушины для надёжного монтажа на сложных конструкциях.
Подключение и управление
Светодиодные модули удобно подключать к Arduino и Iskra с помощью Screw Shield, а для программного управления сегментами предусмотрена готовая библиотека.
Для работы светодиодных кластеров с Iskra JS используйте нашу библиотеку на JavaScript.
Цепь светодиодных модулей подключается через три входных контакта:
- 12V — источник питания 12 В.
- DI — цифровой вход для управления модулями.
- GND — общая земля.
Цвет каждого сегмента задаётся лишь одним контактом DI: светодиоды общаются друг с другом по цепочке, направляя информацию по нужному адресу.
Вы можете удлинить цепь, объединив несколько модулей между собой через штатные разъёмы JST-SM3 без пайки и скруток. При этом контакт DO последнего модуля подключается к управляющему входу DI следующего элемента цепи. Если же вам понадобится укоротить цепь для своего проекта — придётся разрезать провода между модулями.
Логическое напряжение на линии управления модулями — 5 В, поэтому в случае с 3,3-вольтовыми управляющими платформами вроде Iskra JS или Wi-Fi Slot вам понадобится помощь драйвера WS2812, который согласует управляющие сигналы.
Структура модулей
Цепь светодиодов состоит из 20 кластеров, каждый из которых содержит три RGB-светодиода и контроллер WS2811 для управления ими. При такой структуре светодиоды в одном кластере светятся одинаковым цветом.
Питание
Рабочее напряжение светодиодов составляет 12 В — вам пригодится соответствующий 12-вольтовый блок питания. Когда включён самый прожорливый цвет (белый с кодом RGB 255, 255, 255), каждый кластер потребляет ток 60 мА, а вся цепь — до 1,2 А.
При объединении нескольких цепей светодиодных модулей подводите питание в местах соединения гирлянды. Запитать 30 метров с одного конца не получится, поскольку тонкие дорожки в модулях не выдержат повышенный ток.
Комплектация
- 1× Цепь светодиодных модулей
Характеристики
- Цветность: RGB, 16 млн цветов (256 оттенков на канал)
- Количество светодиодов: 60 шт. (3 шт. на модуль)
- Количество модулей: 20 адресуемых кластеров
- Контроллер модулей: WS2811
- Напряжение питания: 12 В
- Потребляемый ток: до 1,2 А (по 60 мА на кластер)
- Потребляемая мощность: до 14,4 Вт (по 0,72 Вт на кластер)
- Класс защиты: IP65
- Длина цепи: 3 м
- Габариты модуля: 95×17×8 мм
Ресурсы
Cветодиодные плашки в проекте гаражного парктроника:
Всё об адресных светодиодах и светодиодных лентах
Всё об адресных светодиодах и светодиодных лентах
Светодиод или светоизлучающий диод — полупроводниковый прибор с электронно-дырочным переходом, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении.
Начнем с того, что в обычной светодиодной ленте, независимо от того одноцветная она или RGB, все светодиоды ленты питаются и светятся одновременно, поскольку все они получают питание параллельно от одного источника, драйвера, который работает по своему алгоритму, реализуемому непосредственно внутри драйвера, и просто подает питание сразу на всю ленту, по сути — на все параллельно подключенные к нему светодиоды.
Адресная светодиодная лента, в отличие от обычной, содержит так называемые адресные светодиоды. Это значит, что каждый светодиод хотя и получает питание параллельно от общего источника, включается каждый светодиод по индивидуальной команде, и значит, на каждом светодиоде можно получить собственный уникальный оттенок, один из 2553 = 16581375 возможных.
Каждый светодиод в ленте имеет свой уникальный адрес, по которому драйвер обращается к нему при помощи трехбитной команды. Команды отправляются в линию последовательно, для этого служит третий на ленте провод «DATA INPUT».
Возле каждого светодиода на адресной ленте установлен свой микрочип. Сегодня очень распространены адресные ленты с ШИМ-чипами WS2811. Корпуса микрочипов DIP-8 либо SOP-8. Каждый чип имеет три выхода — каждый на свой цвет, вход передачи данных, выход передачи данных, вывод питания, вход установки режима и общий вывод.
Есть ленты с питанием чипов 5 вольт, но наиболее часто встречаются ленты с питанием 12 вольт, где один такой чип управляет сразу тремя светодиодами. Чипы на ленте соединены друг с другом последовательно через входы и выходы передачи данных.
WS2812B – более компактная модификация чипа, предназначенная для монтажа внутри корпуса светодиода SMD 5050. Так вся сборка имеет всего 4 выхода: питание, общий вывод, вход передачи данных и выход передачи данных.
Адресные ленты стоят дороже обычных лент, и применяются обычно там, где простые ленты по какой-то причине не применимы: полноцветные модульные сборки, декоративная подсветка с управлением «soft light», наружная реклама и т. д. Особенность таких сборок в том, что они способны изменять и цвет и яркость отдельных своих сегментов по более сложному алгоритму, нежели простые LED-ленты, даже если эти LED-ленты оснащены умными драйверами.
ШИМ-сигнал управления подается со специального запрограммированного контроллера на вход ленты, и передается последовательно на вход одного чипа (digital input — DI), выходит из него (digital output — DO), затем проходит через второй чип, и т. д. Управление легко осуществить при помощи программы на ардуино.
Для взаимодействия с адресными лентами подходят библиотеки ардуино FastLED и Adafruit NeoPixel. Внутри библиотек содержатся полноценные скетчи, приняв которые за основу легко освоить самостоятельное создание новых световых эффектов. В заголовке скетча необходимо правильно указать количество светодиодов ленты и номер порта передачи данных.
Каждый RGB-светодиод на самом деле имеет в себе три светодиода (красный, зеленый и синий), поэтому для управления одним сегментом (один сегмент — это RGB-светодиод с чипом) требуется 3 байта информации, один байт — один цвет.
Каждый байт может принимать одно из 255 значений, поэтому в принципе каждый RGB-светодиод способен дать свет одним из 2553 = 16581375 оттенков. Количество байт в одной команде равно таким образом 3 умножить на количество последовательных рабочих сегментов в ленте.
Посылаемая строка попадает на первый чип, который принимает первые три байта информации, пропуская остальные дальше через выход digital output (DO) – в следующий чип. Выдерживается пауза 50 мкс, означающая что следующий в очереди чип должен принять свои три байта информации. Если пауза будет длиться более 50 мкс, это значит что цикл закончен, и предстоит повторение рабочего цикла.
Светомузыка на адресной светодиодной ленте WS2812B и Arduino:
Ранее ЭлектроВести писали, что ученые Массачусетского технологического института утверждают, что создали материал в 10 раз чернее, чем любая субстанция известная на данный момент. Он может поглощать более 99,99% световых лучей и отражает в 10 раз меньше света, чем другие сверхтонкие материалы. Данное изобретение может представлять определенный интерес для разработчиков фотоэлектрических технологий с применением черного кремния и солнечных элементов на основе углеродных нанотрубок.
По материалам: electrik.info.
Светодиоды c пиксельной адресацией WS2812B
Когда то давным давно, еще до эпохи РК86 и ZX-Spectrum, делом чести каждого начинающего радиолюбителя был собрать цветомузыку.На транзисторах, тиристорах и даже тиратронах МТХ90, с лапочками, крашеными цапонлаком и самопальными рассеивателями.
С тех пор интерес к созданию различных светодинамических установок остался, а возможности в эру светодиодов выросли многократно. Хочу рассказать о светодиодах с пиксельной адресацией и что из них можно сотворить.
Речь пойдет о продукции китайской компании WORLDSEMI CO.,LIMITED — светодиодах с пиксельной адресацией с использованием микросхем WS2811.
Описание WS2811
Микросхема WS2811 представляют собой 3-х канальный контроллер/ШИМ драйвер с управлением по одному проводу.Выпускаются WS2811 в корпусах DIP-8 и SOP-8
WS2811 подключаются последовательно друг за другом.
К каждой микросхеме подключается три светодиода с питанием от 5В
или три цепочки с питанием от 12В
На вход первой в цепочке микросхемы подается сигнал из прямоугольных импульсов частотой 400 или 800КГц. Импульсы, в зависимости от скважности, кодируют 0 или 1 для одного бита информации. Длинный (50мс) низкий уровень означает RESET или старт новой последовательности. Первая микросхема считывает 24 бита, в которых закодирован RGB сигнал по трем каналам светодиодов. Остальные импульсы пропускает на выходную шину. Следующие 24 бита достаются второй микросхеме и т.д. Всего каскадом может объединяться 1024 микросхем, информация в которых может обновляться 30 раз в секунду.
Подробнее изучить протокол управления микросхемами WS2811 можно изучить в даташите
Микросхемы WS2811 размещали на светодиодных лентах рядом с трехцветными RGB светодиодами. Но прогресс не стоит на месте. И микросхемы стали размещать прямо в корпусе светодиодов 5050. Так появились светодиоды WS2812
WS2812 и WS2812B отличаются количеством ног. У WS2812B их количество сократили с 6-ти до 4-х
Для тех, кто не хочет самостоятельно паять, сделано множество готовых изделий с WS2811/WS12
Я купил светодиоды WS2812B россыпью для самостоятельной пайки на ТАОБАО.
Доставка со всеми процентами Мистера Тао вышла $7. Получилась итоговая цена $0.13 за один диод
Пришли светодиоды в специальной ленте, которую можно заряжать в устройство автоматического монтажа SMD компонентов
Почему то в описании на ТАО указана модель WS2813-4. На самом деле светодиоды полностью соответствуют описанию WS2812B
Продавец подошел серьезно к продаже и положил в подарок две таких ручки :))
Что можно сделать из таких деталек?
Обычные линейки, которые можно использовать в различных СДУ, иллюминации и прочих поделках со световыми эффектами.
Подробно об изготовлении таких линеек читайте в моей статье
Видео, показывающее работу линейки
Такие линейки, наравне с обычной светодиодной летной на WS2812 подойдут для изготовления системы фоновой динамической подсветки телевизора или монитора.
Следующей моей поделкой стал светодиодный дисплей.
Здесь можно почитать про его изготовление, скачать эскизы печатной платы и демо скетчи для ардуины.
Демонстрация работы дисплея на WS2812B
Пока работал, испортил несколько светодиодов. Нет, не перегревом. Когда паял, фиксировал диоды к плате тем что подвернулось под руку, а именно, маленьким зубастым «крокодильчиком». Так вот, осторожнее, светодиоды WS2812 очень легко повредить механически, так как кристаллы и проводочки там за тонкой прозрачной пленочкой.
К Новому году собираюсь сделать цифро-аналоговые часы, которые могут работать, как светодинамическая установка с подгружаемыми эффектами.
О ней я тоже напишу в своем блоге
Подведем итог
— Товар полностью соответствует своему описанию— Цена минимальная для изделий такого рода
— Светодиоды предоставляют огромные возможности для творчества в домашних самоделках.
— Тем кому не хочется возится с платой, можно купить такие светодиоды на ленте
Полезная информация
Описание микросхемы WS2811 на английском языке
Даташит на WS2811 на английском языке
Даташит на WS2812/WS2812S в корпусе SMD5050 с 6-ю контактами
Даташит на WS2812B в корпусе SMD5050 с 4-ми контактами
Библиотека Adafruit Neo Pixel для работы с WS2811/12 для ардуино
Кот похоже скоро будет разбираться в контроллерах лучше меня 😉
P.S Для тех, кто не любит покупать на ТАОБАО
Ссылка на похожий лот на АЛИ
Там по поиску «WS2812» очень много всего находится
119-Умные светодиоды WS2812B NeoPixels — GetChip.net
Светодиоды (пиксели) WS2812B и светодиодные ленты на базе этих пикселей довольно популярны и это оправдано по нескольким причинам:— компактность — пиксель содержит в своем корпусе (размером всего 5х5 мм) 3 светодиода и драйвера для них
— простота управления – пиксель управляется посредством простого последовательного интерфейса, который легко реализовать как программно, так и используя аппаратные интерфейсы МК (такие как SPI и UART)
— управление всего по одной линии (не считая проводов питания)
— неограниченное количество включенных последовательно пикселей
— относительно небольшая стоимость (если посчитать стоимость отдельно 3х светодиодов и драйверов к ним выйдет гораздо дороже)
Эта статья попытка обобщить информацию (наверное, больше для себя) об умных светодиодах WS2812B в одном месте.
Начнем знакомство с серией WS
Первым идет WS2801
Фактически, это не светодиод а микросхема-драйвер для RGB-светодиода с последовательным интерфейсом SPI (есть линия данных и тактовая линия). Эти микросхемы используются во встраиваемых конструкциях пикселей:
Есть и ленты с использованием этих драйверов, но, наверное, их не найти уже.
WS2801.pdf (4293 Загрузки)
Дальше — WS2811
Это тоже микросхема для управления RGB-светодиодом, но она уже компактней (8 ног, в отличие от WS2801 — 14 ног) и имеет однолинейный последовательный интерфейс.
WS2811.pdf (3423 Загрузки)
Приближаемся — WS2812(S)
Это уже интегрированные в SMD корпусе 5050 и драйвер и сами светодиоды. Корпус 6-ти ножечный
Как и в предыдущем WS2811 интерфейс однолинейный, но тайминги протокола другие несовместимые.
WS2812.pdf (5226 Загрузок)
И, наконец, WS2812B
Это почти аналог предыдущего светодиода, но уже с 4-мя ножками и слегка измененными таймингами протокола (совместимы, при использовании компромиссных значений временных периодов сигналов)
WS2812B.pdf (8540 Загрузок)
Еще существует WS2812D (аналог PD9823)
Это полностью WS2812B но в корпусе обычного 8мм светодиода.
WS2812D.pdf (3938 Загрузок)
Нас, прежде всего, интересует именно WS2812B, так как он наиболее популярный и недорогой. Его чаще всего используют радиолюбители в своих конструкциях как отдельно, так и в лентах.
Принцип работы WS2812B — официальная информация из даташита.
Физически в WS2812B имеется 3 излучающих светодиода (красный, синий и зеленый) и ШИМ-драйвера управляющие их яркостью. ШИМ-драйвера 8-ми битные, то есть для каждого из цветов возможны 256 градаций яркости и, соответственно, для того чтобы установить яркости для каждого из 3-х светодиодов нужно передать пикселю 8х3=24 бит (3 байта) информации. Протокол передачи информации светодиоду однолинейный с фиксированной скоростью. Единички и нули информации о яркости кодируются длительностью высокого и низкого уровня сигнала в линии.
Время передачи одного бита составляет 0.8+0.45=1.25 мкС — это довольно быстро. Время передачи всего пакета из 24 бит для одного пикселя WS2812B составляет 24*1.25=30 мкС. Для 1000 штук — 1000*30=30 мС (что, например, позволяет обновлять по одной линии панно 30х30 пикселей с частотой 30 раз в секунду!).
Каждый из пикселей WS2812B имеет 2 вывода питания (VDD, VSS), вход (DIN) и выход (DOUT).
На вход DIN подается информация (24бита) для установки нового цвета. Информация о цвете передается побитно (начиная со старшего бита) последовательно для каждой из составляющей цветов G, R, B.
Пиксели соединяются в цепочку следующим образом:
Запись значений цвета цепочке пикселей происходит следующим способом:
Первые 24 бита поданные на DIN записывает себе во временную память (цвет пока остается неизменным с предыдущего раза) первый пиксель. Последующие биты первый пиксель пропускает через себя и выдает на выход DOUT. Второй пиксель повторяет действия первого (оставляя себе первые дошедшие до него 24 бита) и так по цепочке. Для того, чтобы значения цветов из временной памяти пикселей стали активными должна быть выдержана пауза в передаче (reset code) в течении 50мкС. После этой паузы цикл можно повторять снова.
Вот это основное, что нам говорит довольно скудный даташит.
Теперь более интересная часть –
Практические способы включения ленты и реализации протокола WS2812B.
То, о чем умалчивает даташит, я собрал из разных источников у людей имевший практический опыт работы с WS2812B. Конечно, это больше касается лент.
Для начала, общие советы (по большей части взятые с https://learn.adafruit.com):
— подключайте к ленте (между линиями питания) конденсатор побольше, вплоть до 1000 мкФ
— в разрыв линии данных (от МК к ленте) добавляйте резистор 300 — 500 Ом, устанавливая его ближе к ленте.
— по возможности, делайте короче провод данных к ленте
— при «горячем» подключении ленты, подключайте «землю» первой (отключайте последней)
— если лента запитана от отдельного источника питания, ее нужно запитать первой (после чего запитать схему управления)
— не допускайте статического электричества при монтаже ленты
— используйте преобразователь уровня, если лента и устройство управления запитаны от источников питания с разным напряжением
— напряжение питания пикселей, заявленное в даташите, лежит в пределах +3.5 ~ +5.3 вольт. Из чего видно, что предпочтительней подавать на ленту меньше 5ти вольт (этим правилом следует пользоваться при выборе количества элементов при батарейном питании)
— максимальный ток каждого пикселя составляет 60мА (при полной яркости белого цвета). Если Вы не планируете использовать ленту WS2812B как источник белого света (для этого лучше взять обычную светодиодную ленту с белыми светодиодами), то принято считать, что, усреднено, каждый пиксель потребляет 20мА.
Соответственно:
минимальный ток ИП = 20мА*количество_пикселей.
максимальный ток ИП = 60мА*количество_пикселей
— из последнего пункта вытекает следующее: если лента длинная, то недопустимо подавать на нее питание только с одной стороны. Для того чтобы исключить перегревание (или даже перегорание) токопроводящих дорожек ленты, питание ленты необходимо распределить по всей ее длине, подводя питание в нескольких местах отдельными проводами.
Теперь более ценные советы по реализации протокола
Есть несколько способов реализовать протокол умных светодиодов:
— аппаратный при помощи SPI-интерфейса
— аппаратный при помощи UART-интерфейса
— программный
Достоинство первых двух способов – это возможность освободить МК от части работы по передаче бит информации о цвете пикселю. Недостатки этих способов – во-первых, ограниченное количество линий управления пикселями (у МК редко бывает много незадействованных интерфейсных выходов), во-вторых, требуется дополнительное разбитие байтов информации о цвете на пачки битов (что частично съедает свободное время МК в моменты аппаратной передаче бит)
Реализация протокола WS2812B (NeoPixel) при помощи SPI
Прежде, чем приступить к реализации, следует акцентировать внимание, что у WS2812B кодирование нулей и единичек происходит по правилу 1/3 (смотрите даташит выше). То есть ноль передается как 1/3 времени высокий уровень и 2/3 низкий. Единица – это 2/3 высокий и 1/3 низкий. Из этого следует, что для передачи одного бита для WS2812B нам достаточно 3х бит переданных по SPI.
Как видно на картинке, чтобы сформировать нужную последовательность нулей и единиц, нам придется дробить первичную информацию о цвете на кусочки, кроме того, в байт, передаваемый по SPI, не вписывается триады и их придется дробить тоже, перенося часть информации о бите для пикселя в следующую посылку… выходит очень запутано и сложно.
Но есть решение этой проблемы! Забегая наперед, сообщу, что для пикселя важна длительность периода высокого уровня, а низкий уровень может быть с бОльшим отклонением, чем указано в даташите. Поэтому мы может удлинить наши цепочки бит SPI с трех до четырех:
Вот теперь алгоритм становится более простым и приемлемым к реализации.
Для выдачи информации на пиксели используется только один вывод SPI – MOSI. Выводы MISO и SCK остаются незадействованными. Частота SPI должна быть 1/0.4мкС = 2.5МГц
Реализация протокола WS2812B (NeoPixel) при помощи UART
Все, о чем я писал для SPI, подходит и для UART, но тут есть несколько моментов, которые усложнят реализацию:
— UART в паузах удерживает свою выходную линию (TXD) в высоком уровне, что для пикселей недопустимо, так как невозможно будет избежать неопределенностей в моменты начала и окончании передачи
— соответственно, нужно инвертировать сигнал перед подачей его на пиксели
— а, так как линия инвертируется, нужно инвертировать и передаваемые данные
— UART-пакет, в отличии от SPI, содержит служебные биты – это старт-бит и стоп-бит (бит четности нужно отключать в настройках UART — он не нужен). Дополнительные биты служебной информации нужно учитывать при формировании передаваемого байта, так как они тоже пойдут в пиксель
В итоге, если учесть все нюансы, получается идеальная реализация протокола. Устанавливаем скорость UART 2.5 МГц (это нестандартно), устанавливаем размер кадра 7 бит (вместо стандартных 8-ми), убираем бит четности, оставляем один стоп-бит и получаем следующую картинку:
Программная реализация протокола WS2812B (NeoPixel)
Переходим к тому разделу, ради которого я и писал эту статью (но, видимо, увлекся по ходу 🙂 ). Для меня интересней реализовать этот протокол программно, так как эта реализация дает мне произвольное количество линий у МК к которым можно подключить ленты и управлять ими независимо. Это плюс. Минусом является то, что протокол довольно быстрый и это накладывает ограничения на процедуру формирования сигналов и, конечно, в моменты вывода значений цвета все прерывания у МК должны быть запрещены.
Первая проблема, которую придется решать – это формирование малых временных интервалов.
Для примера. МК работает на частоте 16МГц. Время одного такта 0,0625 мкС
Для формирования интерфейса WS2812B нам нужно формировать 2 временных интервала: 0,4мкС (6 тактов) и 0,85мкС (14 тактов). Всего период бита составляет 20 тактов. Очевидно, язык высокого уровня не способен сформировать код с точной размерностью по тактам. Это возможно реализовать только на языке низкого уровня – придется использовать ассемблер (по крайней мере, только для этой процедуры).
Дальше возникает проблема с точностью формирования этих промежутков. Если мы говорим о передаче данных только для одного пикселя (3 байта), то периоды можно соблюсти очень точно, прописав отдельно буквально каждый бит. Другое дело если нам нужно передавать массив значений в одной посылке без пауз. Тут придется создавать алгоритм, который, кроме того что формирует сигнал (дрыгает ногой МК), еще и считывает данные с массива данных в SRAM (или Flash), возможно, осуществляет несложную обработку данных. В этом случае очень сложно будет уложиться в 20 тактов периода передачи бита и, неизбежно, будут возникать ситуации, где потраченное на обработку время превысит допустимые значения. Вот тут нам помогут исследования проведенные здесь:
Привожу итоговую таблицу того что допускает протокол в плане ухода от даташита.
Более детально читайте в статье по ссылке выше, но если кратко — протокол требует более жесткого формирования периодов сигнала с высоким уровнем, а периоды с низким уровнем могут быть значительно затянуты. Это дает нам простор для реализации «тяжелых» мест.
Далее, даташит нам дает время паузы после которой происходит защелкивание новых значений цвета – 50 мкС. По факту, защелкивание начинается уже после 10 мкС – нужно стараться не делать паузы больше 10 мкС во время передачи длинных пакетов данных.
И последнее, как видно из приведенных выше даташитов, у пикселей WS2812 и WS2812B разные временные периоды, формирующие нули и единички. Но используя допустимые отклонения по времени можно реализовать протокол, который сможет работать без проблем с обоими пикселями.
(Visited 95 366 times, 3 visits today)
Привлекательный многофункциональный адресуемых одного цвета светодиодные ленты
Зайдите на сайт Alibaba.com и найдите широкий выбор феноменального. адресуемых одного цвета светодиодные ленты. Их сенсационные особенности помогут вам оживить освещение в вашем помещении. Файл. адресуемых одного цвета светодиодные ленты бывают привлекательными не только из-за эффективности, но и из-за привлекательности эстетики. Файл. адресуемых одного цвета светодиодные ленты можно использовать в самых разных местах, от домашнего использования до промышленных помещений. Соответственно, они являются бесспорным лучшим выбором для световых решений.
На Alibaba.com расширение. адресуемых одного цвета светодиодные ленты представлены в огромном количестве различных форм и размеров, которые учитывают различные предпочтения пользователей. Файл. адресуемых одного цвета светодиодные ленты впечатляюще устойчивы и имеют очень долгий срок службы. Стоимость их обслуживания относительно невысока из-за нечастой потребности в замене. Мгновенное переключение этих. адресуемых одного цвета светодиодные ленты даже при очень низких температурах делает их очень привлекательными.
адресуемых одного цвета светодиодные ленты чрезвычайно энергоэффективны. Потребление очень небольшого количества электричества и получение более яркого света, чем у традиционных лампочек. Для этого расширение. адресуемых одного цвета светодиодные ленты поможет вам сэкономить на счетах за электроэнергию и обеспечить более высокую окупаемость инвестиций в долгосрочной перспективе. Их очень легко установить и использовать. В отличие от старых лампочек на основе ртути. адресуемых одного цвета светодиодные ленты не содержат ртути, поэтому они экологически безопасны.
Просмотрите Alibaba.com и откройте для себя лучшее. адресуемых одного цвета светодиодные ленты для вас. Их долговечность, энергосбережение и применимость в различных регионах гарантируют вам наилучшее соотношение цены и качества. Экономьте время, совершая покупки в Интернете, и приобретайте товары с самым высоким рейтингом. Они помогут вам достичь поставленных целей в области освещения, удовлетворив и, возможно, превзойдя ваши ожидания.
WS2812B, WS2813, APA102 Ограничения в использовании умных светодиодов в современных проектах декоративной светотехники
Уже несколько лет на рынке светотехники можно встретить такие названия, как: «smart led strip», «smart led pixel» и подобные. Как правило, «умный пиксель» — это сборка из миниатюрного 3-х канального светодиодного драйвера (с интегрированным стабилизатором тока, PWM модулятором и сдвиговым регистром), подключенная к RGB светодиоду. На базе таких пикселей многие производители выпускают «умные» гибкие светодиодные ленты, LED «гвозди» и LED кластера. Также можно встретить такие модели чипов, как WS2812, WS2813, с интегрированным LED драйвером непосредственно в корпус 5050 RGB светодиода. Малые габариты, большое количество последовательно включенных пикселей (более 1000 шт.), простота управления по 1(2) проводу и сравнительно низкая стоимость решения — более чем оправдывают их применение.
Эта моя первая публикация на Хабре, в которой я хочу донести мой опыт использования и обозначить недостатки таких пикселей. За несколько последних лет я успел поработать со следующими LED драйверами: LPD6803, WS2801, WS2811, WS2812(B), TM1903, UCS1903, TM1804, TM1803, SM16716 и другими менее ходовыми. В интернете часто можно встретить такой термин как «светодиодная лента с пиксельной адресацией» — я с этим совершенно не согласен, и это является первым ограничением.
Информация в такие ленты/пиксели загружается по последовательному каналу, а именно через сдвиговые регистры с 24-х битной разрядностью (как правило), т.е. 3 канала по 8 бит для RGB. Никаких адресов такие LED пиксели не помнят и работают исключительно по последовательному принципу. Отсутствие сигнала управления на линии данных или синхронизации (если таковая есть), служит командой для преобразования значений в регистрах в PWM сигналы для RGB светодиодов. По этой причине, при выходе из строя информационного канала одного из пикселей, последующие пиксели перестанут корректно работать. Многие неопытные LED «рекламисты» наступили на эти грабли, применяя такие пиксели для уличных экранов.
Рисунок ниже демонстрирует «битые» полоски.
Второе ограничение связанно с температурой использования. В большинстве случаев у пикселей, что управляются только по одному проводу «DATA», к примеру, WS2812B — нижняя температура использования -25 градусов. На практике, часто от -15 градусов. Это связанно с отсутствием хорошего кварцевого блока регенерации сигнала внутри чипа. Таким образом, при низких температурах пиксель перестает корректно работать, наблюдаются «сверчки» и т.п. до полного отсутствия картинки. Другое дело — чипы с синхронизацией: WS2801, LPD6803, к примеру. Здесь имеется хорошая регенерация сигналов по уровням, по времени — регенерация не нужна, поскольку имеется линия синхронизации. Рабочая температура в этом случае от -40 градусов. Но и стоят эти чипы вдвое дороже.
Третье ограничение — глубина цвета.
Рисунок ниже демонстрирует экраны собранный на чипах WS2801.
Не вооруженным глазом заметно, что экран с фоном засвечен. Низкие уровни градиента «умные пиксели» (WS2812, WS2801 и т.п. практически все) не способны воспроизводить так, как это делают современные экраны. Это связанно с низкой разрядностью интегрированного в чип PWM генератора (всего 8 бит на канал) и как следствие – отсутствие полноценной гамма коррекции. Проще говоря, светодиод светит слишком ярко, когда хочется совсем чуть-чуть и ничего с этим нельзя поделать.
Ощутимым минусом, во всяком случае для меня, было отсутствие хорошего софта подготовки и конвертирования анимации, непосредственно для вывода на «железки». Это явилось четвертым ограничением.
Поначалу я использовал софт «LedEdit».
«LedEdit» обеспечивает возможность создания и редактирования видео анимации, захвата и последующего конвертирования на «железо». Но использовать этот софт я могу только совместно с их контроллерами. Также я выявил большие недостатки софта «LedEdit» в плане качества видео захвата и стабильности обработки кадров.
Пятое ограничение связано с китайским железом для управления LED лентами на базе умных пикселей, а именно рандомный FPS (частота отрисовок кадров в секунду) который часто падал до уровня слайд шоу (8-12 FPS) при полной загрузке. Картинка дергалась, плавность переходов оставляла желать лучшего. По этой причине также разработал свое железо для этой задачи.
Поскольку в этой теме я был очень заинтересован и обладал неплохими знаниями в области программирования, в том числе микроконтроллеров, я написал свой «граббер» видео с последующей конвертацией на «пиксели». Идею объединить в одной программе возможности создания и конвертирования анимации я сразу отложил, поскольку это не профессиональный подход. Анимацию нужно создавать и редактировать в специализированных программах, к примеру, я выбрал FREE программное обеспечение «Jinx!».
На выходе ПО «Jinx!» можно получить открытый бинарный файл *.out представляющих битовое представление данных прямоугольной матрицы из пикселей для каждого кадра. Теперь дело остается за немногим: сопоставить прямоугольную матрицу из данных для каждого кадра с реальным расположением «умного пикселя» на пиксельном поле и произвести граб анимации. Так у меня родилось программное обеспечение «Light Studio Terminal».
Скачать LS Terminal
Сейчас ПО «LS Terminal» позволяет работать с большинством видео форматов *.avi, *.flv и д.р., использовать десятки портов, качественно обрабатывать видео захват для десятков тысяч «умных пикселей» расставленных по полю пользователем.
— Light Studio Terminal / Базовый, обучающий ролик.
— Light Studio Terminal / стресс тест на 100K пикселей.
Для обработки и визуализации видео я использовал библиотеки OpenCV и OpenGL. Выгрузку данных на «железо» осуществляю посредством контроллера, который считывает данные с SD карты и формирует необходимые сигналы управления для цифровой LED ленты.
Схема выглядит довольно просто:
В целом, я привел все основные недостатки «умных пикселей» и если их вынести за скобки, то мы можем увидеть десятки тысяч реализованных проектов.
мой YouTube с обзорами
Вот некоторые из них выполненные с помощью граббера видео Light Studio Terminal:
— для LED костюмов:
— AmbiBox CS GO контроллер iqLED RS + WS2813
— Барабанное шоу
Полезные обзоры:
— WS2815 VS WS2813
— APA102 vs SK9822
Addressable Color Chasing LED Strip Lights — Arduino Dream Color
Разница между наиболее распространенными адресными пиксельными светодиодными лентамиSK6812: Набор микросхем однопроводного интерфейса, интегрированный непосредственно в светодиод SMD5050 или в светодиоды диаметром 8–12 мм. Обычно самый дешевый вариант, но медленные данные и скорость ШИМ. Существует множество вариантов, использующих один и тот же протокол.
WS2812: как SK6812
APA107: Наш нынешний фаворит и «Новичок на пороге».Чипсет интегрирован в светодиод SMD5050, как и WS2812, но вместо него использует 2-проводный интерфейс и поддерживает до 30 Мбит / с и колоссальную частоту ШИМ 9 кГц. Патентный дизайн Newstar.
HD107s: обновление APA107 с частотой обновления ШИМ +26 кГц.
SK6813 / WS2813: 6-контактный вариант корпуса SMD5050 (который изначально имел 6-контактный разъем как SK6812).
WS2801: Среднеценовой, 2-проводный интерфейс с отличным 8-битным цветом на канал, но со скоростью передачи данных всего 1 Мбит / с и приличным, 2.5 кГц, частота ШИМ.
WS2811: Вариант Bare-IC, обычно используемый для рождественских огней и полос 12 В (3 светодиода RGB на микросхему)
WS2811 400 кГц: исходная версия набора микросхем, работающая на частоте 400 кГц, в отличие от всех более новых версий, работающих на частоте 800 кГц. При использовании этого варианта необходимо использовать светодиод TYPE.WS2811_400. Сейчас это редкость.
LPD8806: Старый, но все же, этот набор микросхем представляет собой двухпроводной интерфейс, который может управлять 20 Мбит / с и высокой скоростью ШИМ.Недостатком является то, что каждая микросхема управляет 2 светодиодами и имеет только 7 бит на канал вместо 8, поэтому она может обрабатывать только 1/8 от количества цветов.
Что такое адресная светодиодная лента?
В качестве программируемой светодиодной ленты каждый адресуемый светодиод имеет встроенный драйвер, который позволяет регулировать яркость и цвет каждого РЕЗУЛЬТАТА по отдельности, то есть светодиод может иметь цвет, отличный от цвета рядом с ним. Таким образом, это позволяет нам создавать красивые и сложные световые эффекты.
10 лучших светодиодов с индивидуальной адресацией 2021
Заявление об отказе от ответственности: мы используем API-интерфейс партнерской рекламы продуктов Amazon для получения продуктов с Amazon, включая: цену, контент, изображение, логотип, бренд, характеристики продуктов, которые являются товарными знаками Amazon.com. Таким образом, когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию без каких-либо дополнительных затрат для вас .. Подробнее.
Покупка таких товаров, как ноутбуки, у разных дилеров или розничных продавцов может оказаться непростой задачей.Это еще хуже, если вы плохо разбираетесь в индивидуально адресуемых светодиодах. Одна из наиболее важных вещей, которые следует учитывать при покупке светодиодов с индивидуальной адресацией, — это характеристики функций.Почему вы должны покупать лучшие индивидуально адресуемые светодиоды на Amazon
Есть причина, по которой многие люди предпочитают покупать товары на Amazon. Несмотря на то, что Amazon является надежной платформой, у Amazon есть множество ноутбуков, а также она работает напрямую с производителями. Это означает, что вместо того, чтобы покупать ноутбук у продавца, вы получаете его напрямую у компании-производителя.
Amazon выступает в качестве третьей стороны и работает с различными производителями по всему миру. Преимущество Amazon в том, что он предлагает идеальное руководство по каждому типу ноутбуков. Вы увидите четкое описание каждого светодиода с индивидуальной адресацией. Это позволяет вам легко принять правильное решение.
Например, в руководстве есть информация о спецификациях светодиодов с индивидуальной адресацией, которые вам нужны, такие как марка, размер, функция и другие особенности. Если вам нужны индивидуально адресуемые светодиоды с определенными функциями, у Amazon есть лучшие инструменты для поиска.Все, что вам нужно сделать, это ввести функции, которые вы предпочитаете, и список ноутбуков появится на вашем экране.
Другие преимущества покупки продуктов на Amazon
Покупка светодиодов с индивидуальной адресацией и других продуктов на Amazon дает множество преимуществ. Вот некоторые из общих преимуществ:
Лучшие цены
Нет сомнений в том, что Amazon предлагает лучшие цены на большинство товаров. Это связано с тем, что платформа работает совместно с множеством производственных компаний и дилеров.В результате отключается множество посредников, что снижает стоимость различных продуктов.
Надежность
Amazon — международная компания, имеющая офисы и магазины по всему миру. Их способность доставки намного выше по сравнению с другими онлайн-платформами. Кроме того, у них есть отличная служба поддержки, которая работает круглосуточно, чтобы гарантировать удовлетворение потребностей клиентов.
Огромный выбор
У Amazon большое количество продавцов со всего мира. Это означает, что вы можете получать доступ к огромному разнообразию продуктов и услуг каждый день.Это также означает, что у вас есть разные варианты выбора.
Например, если вы хотите купить беговую дорожку, вы можете сравнить цены и характеристики от разных продавцов и принять правильное решение.
Надежный
Еще одно преимущество покупки товаров на Amazon — надежность. Компания работает уже много лет и имеет множество положительных отзывов от клиентов со всего мира.
Как выбрать лучшие индивидуально адресуемые светодиоды
Как упоминалось ранее, Amazon — одна из лучших платформ для покупки таких продуктов, как светодиоды с индивидуальной адресацией.Однако иногда бывает сложно получить именно те светодиоды с индивидуальной адресацией, которые вам нужны, особенно если вы впервые используете платформу.
Вот некоторые вещи, которые следует учитывать при выборе лучших светодиодов с индивидуальной адресацией на Amazon:
Цена
Цена — один из наиболее важных факторов, которые следует учитывать при покупке светодиодов с индивидуальной адресацией на Amazon. Нет никого, кто не хотел бы получать качественную продукцию по разумным ценам. С Amazon вы можете сравнить цены на ноутбуки от разных продавцов и выбрать наиболее выгодный.
Марка
Другой важный фактор, который необходимо учитывать при покупке светодиодов с индивидуальной адресацией на Amazon, — это бренд. Разные продавцы продают разные типы брендов, и важно понимать каждый тип брендов, чтобы принять правильное решение. Качественные и популярные бренды, такие как Apple, обычно стоят дороже, чем менее популярные.
Функция
Перед покупкой вам также необходимо рассмотреть функциональность индивидуально адресуемых светодиодов.Функциональность любых светодиодов с индивидуальной адресацией обычно зависит от содержащихся в них спецификаций. Чем сложнее спецификации, тем выше функциональность.
Отзывы старых клиентов
Большинство клиентов оставляют отзывы о своем опыте использования различных светодиодов с индивидуальной адресацией, которые они купили на Amazon. Отзывы всегда отображаются на той же странице, где находится товар. Просмотр таких обзоров поможет вам понять, какие индивидуально адресуемые светодиоды вы хотите покупать — хорошие или плохие.
Максимальное количество адресуемых светодиодов?
Я часто вижу, как этот вопрос проходит мимо сервера Discord и в Интернете, сколько светодиодов может обрабатывать контроллер X? И что ж, это правда, нельзя продолжать добавлять светодиоды к светодиодной полосе / цепочке с цифровой адресацией и получать те же результаты, после определенного количества светодиодов вы начнете видимое замедление или прерывистость светодиодов и эффектов, что сделает весь опыт приятным. намного менее приятным. Но, как правило, это связано с ограничениями протокола светодиодов, а не столько из-за контроллера!
Итак, сколько светодиодов вы должны запустить на контроллер или, скорее, на канал контроллера?
Эта статья в основном ориентирована на использование светодиодов на основе протокола ws281x (ws2811, ws2812b, ws2813, ws2815, sk6812 и т. Д.) светодиоды другого типа
, такие как APA102 / SK9822, имеют другие характеристики и ограничения из-за использования отдельной линии синхронизации.
Пропустите технический бит к рекомендациям, если вы хотите знать только числа. 😉
Причина, по которой вы не можете бесконечно добавлять светодиоды к одному контроллеру, заключается в том, что наиболее часто используемый протокол светодиодов (ws281x) работает с фиксированной частотой 800 кГц. Это означает, что чем больше светодиодов вы добавите, тем медленнее будет обновляться каждый светодиод.
Это случайные числа, а не реальные -> В основном это означает, что если у вас есть 10 светодиодов, которые могут обновляться со скоростью 100 обновлений в секунду 100 Гц / FPS, если у вас 100 светодиодов, каждый будет видеть только 10 Гц / FPS / обновлений в секунду.
Как это на самом деле работает?
Погрузившись в это немного глубже, как объяснил великий Фил Болдук на сервере Intermittent Technology Discord, каждый пиксель получает сигнал данных предыдущего светодиода, обрабатывает его, удаляет данные первого светодиода (3 канала в случае RGB или 4 в случае RGBW), а затем отправляет сигнал данных на следующий светодиод.Этот процесс повторяется до тех пор, пока не исчезнут данные светодиода для отправки. Это означает, что все данные светодиодов для всей полосы в основном проходят через первый светодиод на полосе.
Самое простое объяснение состоит в том, что с протоколом, имеющим фиксированную скорость, требуется около 30 мкс для обновления одного светодиода. Это означает, что мы можем обновлять максимум 33,333 пикселей в секунду при 1 Гц / FPS. Теперь давайте посмотрим, что это означает, если мы хотим иметь более высокий FPS или количество обновлений светодиода в секунду:
Количество светодиодов RGB | FPS / обновлений в секунду |
---|---|
100 | 333 |
300 | 111 |
500 66147 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 9014 | |
1000 | 33 |
Интересно, с учетом этого, какое максимальное количество светодиодов мы можем запустить со скоростью 42 или 60 кадров в секунду?
Количество светодиодов RGB | FPS / обновлений в секунду |
---|---|
555,5 | 60 |
793,6 | 42 (FPS по умолчанию WLED) |
Но вышеупомянутые скорости — это то, что теоретически возможно, всегда будут небольшие дополнительные накладные расходы, которые необходимо учитывать, поэтому давайте рассматривать их как абсолютную максимальную скорость, которая возможна.
RGB против RGBW
Запуск адресных светодиодов RGBW означает, что каждый светодиод использует один дополнительный канал информации, а не просто RGB. Таким образом, если синхронизация версии RGB составляла 30 мкс для каждого светодиода, поскольку он использует тот же протокол ws281x, что означает, что общее время, необходимое для обновления пакета светодиодов, немного больше, примерно 40 мкс:
Количество светодиодов RGBW | FPS / обновлений в секунду |
---|---|
416,6 | 60 |
595,2 | 42 (FPS по умолчанию для WLED) |