Гирлянда на RGB светодиодах

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

12 элементов, репитер на 74HC00D стоит после 8. Гирлянда продолжает моргать в такт :) Репитер собрал на той же плате, немного подрезав дорожки и кинув перемычек.
Так что если провод не плоский шлейф, а что то самодельное - то нужно 3 репитера.
Аватара пользователя
Riniy
Мучитель микросхем
Сообщения: 406
Зарегистрирован: Ср окт 27, 2010 04:20:09
Откуда: Сахалин -> Татарстан

Re: Гирлянда на RGB светодиодах

Сообщение Riniy »

Время переключения одного элемента 74HC00D составляет примерно 10nS (для репитера надо 2 элемента=20nS). Поэтому, при большом количестве повторителей будет большая задержка по времени и может произойти срыв синхронизации сигналов. Для предотвращения этого репитер надо ставить одновременно и на сигнал DATA, благо в 1 микросхеме 4 элемента. :)
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Data и так пробегает через регистры. А 20 ns это мало, время переключения SCL в милисекундах измеряется, на 30 элементов хватит.
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

После первого репитера глюк начал появляться уже на 7 элементе. Расстояние между ними уменьшилось.
Аватара пользователя
vlad465
Друг Кота
Сообщения: 5717
Зарегистрирован: Чт июн 24, 2010 22:59:35
Откуда: С-Петербург

Re: Гирлянда на RGB светодиодах

Сообщение vlad465 »

Экспериментировал с рассеивателями, заметил нехорошую странность. :(
Гирлянда 30 звеньев, запускал тестовую программу:
Первый цвет - зеленый
синий
зел + син
красный
желтый (зел + кр)
кр + син
кр + син + зел
При питании ниже 5 вольт (4,2-4,8) все нормально
При напряжении от 4,9 до 5,5 вольт на последних пяти звеньях вместо желтого (зел + кр) горит кр + син. :shock:
С остальными цветами при любом питании все ОК.
:dont_know: :dont_know: :dont_know:
Новых прошивок пока нет?
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Это то с чем я борюсь репитерами. Не согласованность линии тактирования. Или уменьшайте резистор на конце, или снижайте напряжение или нужен репитер. Прошивок новых нет, пока не соберу все 30 элементов проверять новую программу не смогу.
Аватара пользователя
Riniy
Мучитель микросхем
Сообщения: 406
Зарегистрирован: Ср окт 27, 2010 04:20:09
Откуда: Сахалин -> Татарстан

Re: Гирлянда на RGB светодиодах

Сообщение Riniy »

Что, если вместо 1 терминального резюка на 200 Ом, ставить на каждый сегмент подтягивающий резистор по линии CLK на 6,2 кОм. По общему сопротивлению из 30 сегментов подтяжка будет =206Ом (Параллельное соединение 30 резисторов). Либо, распределить их равномерно по всей гирлянде, например, резистор на каждый 3 сегмент (получаем по 2кОм), на каждый 5-й - 1,2кОм
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Неа - http://www.pcbtech.ru/pages/view_page/95

В первом варианте я использовал шлейф, про согласование не задумывался, чисто случайно угадал с кабелем. Во втором варианте использую самодельный кабель, он в плане пеердачи данных полностью не пригоден, задумался о согласовании и пришлось почитать мат. часть :)
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Финал, он близок. 20 элементов :)
Надо было у китайцев заказывать собранную гирлянду :))
Alex52
Родился
Сообщения: 3
Зарегистрирован: Пн янв 11, 2010 22:38:35
Откуда: Тамбовская обл

Re: Гирлянда на RGB светодиодах

Сообщение Alex52 »

Люди!!! Кому-нибудь можно заказать готовую электронику без гирлянды?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Гирлянда на RGB светодиодах

Сообщение pyzhman »

Так обратитесь к автору. Или в viewforum.php?f=53
Docendo discimus
rx3apf
Встал на лапы
Сообщения: 101
Зарегистрирован: Пн окт 28, 2013 17:50:33

Re: Гирлянда на RGB светодиодах

Сообщение rx3apf »

Fallk писал(а):Надо было у китайцев заказывать собранную гирлянду :))

Вот именно (цена вопроса ~1000р за 50 элементов в случае отдельных элементов на проводах). Дело даже не в том, что в конечном итоге выходит дешевле. Очень уж неудобно использовать для управления регистры - куча проводов, необходимость репитеров, невозможность индивидуального управления яркостью. Лет пять назад - да, альтернатив было немного. Но сейчас - лучше взять специализированные чипы, а вот контроллером-то можно и самостоятельно позаниматься, "для души". ЦМУ сделать, например, с выводом на адресуемую ленту.
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

rx3apf писал(а):а вот контроллером-то можно и самостоятельно позаниматься, "для души". ЦМУ сделать, например, с выводом на адресуемую ленту.

Ну если Вы готовы на микроконтроллере без специализированного аппаратного модуля програмно выдержать жесткие требования к паузам - то удачи ;) Не так там просто все, ни PIC ни Atmega не имеют встроенного модуля для WS, а програмно как его сделать - не видется. Думали об этом, но решения не нашли


Alex52 писал(а): Люди!!! Кому-нибудь можно заказать готовую электронику без гирлянды?


Нихрена поставленного ТЗ не понял. Контроллер что ли? Так он из девяти деталей состоит, чего там сложного?
rx3apf
Встал на лапы
Сообщения: 101
Зарегистрирован: Пн окт 28, 2013 17:50:33

Re: Гирлянда на RGB светодиодах

Сообщение rx3apf »

Вот на столе лежит ленточка полученных WS2812B (первый раз такое - за 10 дней из Гонконга приехали !. А пока ехали, на ebay еще несколько продавцов с ними появилось, даже с более низкими ценами). Значит, надо опробовать, как оно живьем. Выберу время, попробую. Пока прикидки.

Что касается управления:

1. В простом варианте, когда нужно только загрузить состояние, и расходы времени не лимитируют, то все вообще тривиально - просто по тактам рассчитать диаграмму, выполнять с закрытыми прерываниями. Кто не писал программный передатчик UART ? Тут почти то же самое.... За 10 ms можно загрузить больше трех сотен точек. При желании вообще в восемь потоков параллельно.

2. Если жалко время (нужно в фоновом режиме что-то еще делать), то несколько сложнее. Можно использовать таймер в режиме PWM, но прерывания придется обслуживать часто, даже на AVR@16 MHz всего 20 тактов на бит. Не пойдет. Но можно (оговорюсь, пока только прикинул, не попробовал, но буду делать именно этот вариант) иначе - берем UART в режиме SPI (ATmega48/88/168/328 или другие камни, имеющие этот режим) и один таймер в режиме PWM. Для определенности примем тактовую 16 MHz (хотя ее можно выбрать достаточно произвольно). Делитель UART = 20, период таймера тоже 20. Длительность импульса таймера (ширина PWM) - 7 единиц. Собираем MOSI и OC через "исключающее ИЛИ" - все !
Тонкость в том, чтобы обеспечить синхронный запуск таймера и SPI, и вовремя подгружать данные. Есть 160 тактов на байт, при этом двойная буферизация на передачу, так что запас очень хороший, а накладные расходы будут порядка 10...15 процентов максимум.
Оно реализуемо и на PIC - USART в синхронном режиме будет делать то же самое (насколько я помню, у PIC16 синхронный режим "честный", в отличии от AVR) плюс опять же таймер. Но производительность у PIC хуже плюс неудобство адресации памяти, поэтому для этой задачи AVR выглядит предпочтительнее.

Без таймера тоже можно, но уже не так красиво (отдельный модулятор на одновибраторе).
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Ну что же - будем ждать готового решения. Делайте на PIC - оно мне ближе :))
rx3apf
Встал на лапы
Сообщения: 101
Зарегистрирован: Пн окт 28, 2013 17:50:33

Re: Гирлянда на RGB светодиодах

Сообщение rx3apf »

Не, на PIC не буду - я их уже почти не применяю. И в данном случае все ж хочется иметь запас производительности, если, скажем, делать ЦМУ - то там PIC16 пролетит однозначно, ресурсов не хватит. И программно реализовать PWM - тоже не получится, опять же по причине низкой производительности (даже на AVR придется повозиться, цикл достаточно критичный).
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Воооот - а нам советуете. Это же мне прийдеться изучать PIC32, тратить время на освоение нового камня, а я ведь нифига не програмист, так - быдлокодер, только asm и освоил. Даже С какое нить лень да и жалко времени на изучение.
rx3apf
Встал на лапы
Сообщения: 101
Зарегистрирован: Пн окт 28, 2013 17:50:33

Re: Гирлянда на RGB светодиодах

Сообщение rx3apf »

PIC32 не предлагаю, STM32 тоже. К тому же я с ними никогда не работал. А на AVR это как два пальца об асфальт, на нем и буду. По моему опыту (десяток платформ) - его ассемблер исключительно прост в освоении.

На сях, кстати, я тоже не пишу - уже больше тридцати лет все только и почти исключительно на ассемблерах...
Последний раз редактировалось rx3apf Сб ноя 16, 2013 15:32:18, всего редактировалось 1 раз.
Аватара пользователя
Riniy
Мучитель микросхем
Сообщения: 406
Зарегистрирован: Ср окт 27, 2010 04:20:09
Откуда: Сахалин -> Татарстан

Re: Гирлянда на RGB светодиодах

Сообщение Riniy »

Все верно, сделать программный интерфейс для WS2812b просто, на 1 светик надо отправить 24 бита (по 1 байту на цвет), по похожему принципу как RC (ИК-пульт) или 1-wire, который еще жестче по выдержке времени. Я встретил такие светодиоды еще в мае, но было поздно, детали все уже были куплены и обратного хода нет. Так что есть план на следующий год!
Fallk
Мудрый кот
Сообщения: 1842
Зарегистрирован: Пт май 29, 2009 10:58:47
Откуда: Саратов

Re: Гирлянда на RGB светодиодах

Сообщение Fallk »

Ну что же - если получится на AVR сделать программу передачи данных для WS, можно будет взять мой код и перегнать его в асемблер для AVR. Математика то останется неизменной. Только регистры да операторы поменяються. Вместо подпрограммы передачи по SPI будет подпрограмма передачи по WS
Ответить

Вернуться в «Статьи»