Коротенькая зарисовка про светодиоды под кодовым названием "WS2812b".
Почему под кодовым? Да потому что, покупая диоды под названием WS2812 на различных торговых площадках-перекупах, мы покупаем неизвестно что. И это "неизвестно что" имеет разные характеристики...
Что вылезло боком у некоторых людей, повторивших мою "звонилку" для поиска КЗ.
Ну и вчера, с подачи коллеги al_vi_sid я таки достал из шкафа все, что у меня там лежит под видом 2812 - и протестировал все эти диоды.
А были у меня диоды на индивидуальных круглых платках, "столбик" из 8 диодов на плате, отдельно купленные россыпью диоды и матрицы 16х16 на гибких платах.
Наборы диодов, которые покупались как WS2812Берем даташит на WS2812B и читаем временнЫе характеристики:
Из вышеприведенных данных видно, что единичный бит передается длинной "единичкой" и коротким "нулем", нулевой бит - короткой "единичкой" и длинным "нулем". А если "ноль" очень длинный - 50 мкс и более - то это сброс.Причем для светодиода гораздо более важна длительность "единички", а "нолик" можно растягивать до пары-тройки микросекунд. Несмотря на то, что для сброса указана длительность 50 мкс, я встречал в интернете результаты экспериментов, когда 2812 (или "2812") воспринимал низкий уровень как сброс при длительности всего от 12-13 мкс.
Итого - единичный бит - "единичка" длительностью 650-950 нс и "нолик" не менее 250 нс, нулевой бит - "единичка" длительностью 250-550 нс и нолик не менее 650 нс.
И общая длительность одного бита ("нолик" + "единичка") - должна быть 1.25 мкс ±600 нс. Т.е. от 650 нс и до 1.85 мкс... (хотя мне кажется, тут должно быть ±300нс, по 150 нс от "нолика" и от "единички").
В общем, несмотря на кажущуюся жесткость временнЫх интервалов диоды позволяют достаточно сильно от них отклоняться. Опять же, из опытов - важна длительность "единички", а "нолик" можно растягивать сильно.
Это все в теории. А на практике оказалось, что не все так радужно.
Я для тестирования применил следующий алгоритм:
1. сброс 50 мкс
2. вывод 24 бит цвета
Диоды на "столбике", на матрице и на отдельных круглых платках прекрасно заработали по данному алгоритму.
А вод отдельно купленные диоды россыпью - нет.
Тут одно из двух - или диод дохлый, или я что то делаю не так.
В даташите на WS2813 и WS2815 указано, что длительность сброса должна быть не менее 280 мкс. Но это 6-выводные диоды. А у нас 4-выводный. Но попробовать стоит.
Ставлю сброс 300 мкс и светодиод заработал!
Т.е. это или не 2812, а какой то еще диод, у которого длинный сброс и 4 ноги, или сумрачный гений китайца впихнул в этот корпус чип от 2813...
(Судя по всему те, у кого не заработала "звонилка", тоже купили диоды такого плана с "длинным" сбросом)
Еще есть SK6812. Там сброс от 80 мкс. Но хоть тайминги единичного и нулевого битов почти совпадают с 2812.
Хорошо, экспериментирую дальше. Оказывается, у части этих диодов (напомню, что все куплены как WS2812) есть еще понятие буфера.
Буфер - это когда полученные 24 бита не загружаются сразу в ШИМ-модуль для отображения, а ждут следующего импульса сброса. И только по сбросу данные из буфера отправляются в ШИМ-модуль.
А если диоды без буфера, то там все сразу - получили 24 бита - отправили их в ШИМ.
Вот у меня диоды на круглых платках оказались без буфера, а отдельно купленные (которые с длинным сбросом) и те, что 8 шт. на столбике - с буфером.
А еще есть диоды, у которых последовательность загрузки цветов отличается от таковой для 2812.. Но я с таким не сталкивался.
На самом деле видов программируемых RGB-диодов куча... Но я-то покупал все свои как WS2812... И вправе ожидать от них поведения, соответствующего документации.
"… Рекбус, шарада… "А.Райкин.🙂
ОтветитьУдалитьИзрядно они меня помучали.Отбили охотку их применять.
А мне нравятся... Особенно если не покупать кота в мешке
Удалить"… нравится-не нравится..."дело каждого.Мне достаточно, чтобы один раз не "понравилось".
УдалитьПрозвонка отличная, уже выручала найти низкоомную залипуху.Жаль, она просыпается от кнопки, а не от замыкания щупов.Часто, при тестировании"ёкает" сердце", что нет контакта, а просто не включил кнопку!Это часто бывает при длительных поисках.Прозвонка автоматом засыпает, не уследишь!
Спит или не спит - видно по диоду. Для этого ж он и есть. А длительный поиск таймер сбрасывает, если было хотя бы одно замыкание щупов. Я, в основном, только для проверки монтажа микросхем с малым шагом выводов проверяю. Шагаю по ножкам МК и по дорожкам - оно автоматом и выходит замыкание для того что б не спать. Ножка+ своя дорожка - контакт, ножка и соседняя - нет контакта. В основном, только для проверки микросхем и использую.
УдалитьНо тут у каждого свой сценарий использования. Каждому свое, как говорится.
Тоже согласен.Поэтому у меня три надежные прозвонки, с разными свойствами, использую их по ситуации.
УдалитьЛидер , все таки Shorty Pen, у него уникальные возможности, с очень "нежными"минимальными токами и напряжением.