управление 5000 светодиодами
-
kiryllcrack
- Родился
- Сообщения: 4
- Зарегистрирован: Сб июн 27, 2009 12:17:02
- Контактная информация:
управление 5000 светодиодами
Здравствуйте!
Уважаемые участники этого замечательного форума, помогите решить такую задачку. Нужно управлять огромным количеством светодиодов около 5000. Светодиоды будут использоваться для украшения стены в баре. Шеф поставил задачу так, что для реализации того множества световых эффектов нужно управлять каждым светодиодом в отдельности. Сейчас у меня в голове пока такое решение. Для уменьшения количества проводов можно разбить всю эту стену на отдельные панели на которых будет находиться около 180 светодиодов. этими светодиодами будет управлять МК (скорее всего мега 128, вернее две соединенных по SPI). В эту мегу будет вшита программа с реализацией различных эффектов. Для того чтобы все панели синхронно выполняли световые эффекты они будут управляться еще одним МК... который будет по шине данных отправлять информацию микроконтроллерам на отдельных панелях, которые в зависимости от команды главного МК будут моргать светиками.
Подскажите, насколько рациональна данная схема, может кто уже сталкивался с подобными вещами, и может посоветовать что-нибудь полегче, или поудобнее. и еще, как питать тогда эти светодиоды? прямо соединять их к МК, или чере какую-нибудь многоканальную транзисторную сборку, или может применить светодиодный драйвер.
Посоветуйте пожалуйста))
з.ы. мяуу
Уважаемые участники этого замечательного форума, помогите решить такую задачку. Нужно управлять огромным количеством светодиодов около 5000. Светодиоды будут использоваться для украшения стены в баре. Шеф поставил задачу так, что для реализации того множества световых эффектов нужно управлять каждым светодиодом в отдельности. Сейчас у меня в голове пока такое решение. Для уменьшения количества проводов можно разбить всю эту стену на отдельные панели на которых будет находиться около 180 светодиодов. этими светодиодами будет управлять МК (скорее всего мега 128, вернее две соединенных по SPI). В эту мегу будет вшита программа с реализацией различных эффектов. Для того чтобы все панели синхронно выполняли световые эффекты они будут управляться еще одним МК... который будет по шине данных отправлять информацию микроконтроллерам на отдельных панелях, которые в зависимости от команды главного МК будут моргать светиками.
Подскажите, насколько рациональна данная схема, может кто уже сталкивался с подобными вещами, и может посоветовать что-нибудь полегче, или поудобнее. и еще, как питать тогда эти светодиоды? прямо соединять их к МК, или чере какую-нибудь многоканальную транзисторную сборку, или может применить светодиодный драйвер.
Посоветуйте пожалуйста))
з.ы. мяуу
- Реклама
-
kiryllcrack
- Родился
- Сообщения: 4
- Зарегистрирован: Сб июн 27, 2009 12:17:02
- Контактная информация:
- kupriyanov
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Пн мар 30, 2009 15:55:13
- Откуда: г. Комсомольск на Амуре
- Контактная информация:
Вам сначала стоит разобраться в принципе динамической индикации.
В сети информация есть.
Затем следует понять что такое сдвиговый регистр. Это устройство, которое имеет параллельные и последовательные входы/выходы, кроме того синхро-вход, и вход установки, так вот: нога МК подключается к последовательному входу, а строки/столбцы подключаются к параллельным выходам. (В вашем случае стоит к каждой ноге МК подключать по регитстру, т.к. количество управляемых элементов заоблачное).
И через вывод МК в последовательный вход "вдвигают" некоторую комбинацию (при этом дергая синхровходом). А затем дают сигнал установки, и сдвиговый регистр выставляет "вдвинутую" комбинацию на параллельные выходы. затем "вдвигают" следующую комбитнацию.
В сети информация есть.
Затем следует понять что такое сдвиговый регистр. Это устройство, которое имеет параллельные и последовательные входы/выходы, кроме того синхро-вход, и вход установки, так вот: нога МК подключается к последовательному входу, а строки/столбцы подключаются к параллельным выходам. (В вашем случае стоит к каждой ноге МК подключать по регитстру, т.к. количество управляемых элементов заоблачное).
И через вывод МК в последовательный вход "вдвигают" некоторую комбинацию (при этом дергая синхровходом). А затем дают сигнал установки, и сдвиговый регистр выставляет "вдвинутую" комбинацию на параллельные выходы. затем "вдвигают" следующую комбитнацию.
Any Problems????
- Реклама
-
kiryllcrack
- Родился
- Сообщения: 4
- Зарегистрирован: Сб июн 27, 2009 12:17:02
- Контактная информация:
Можно сделать это всё примерно так http://pol-sem.narod.ru/runrow/rr.htm, как сдесь недавно упоминалось. Суть должна быть примерно такая.
Последний раз редактировалось MHZ Сб июн 27, 2009 15:33:51, всего редактировалось 1 раз.
Создать электронный мир проще,чем его понять.
- Настя
- Мявтор!
- Сообщения: 878
- Зарегистрирован: Чт авг 07, 2008 09:12:38
- Откуда: не скажу
- Контактная информация:
вот вам для кучи
http://radiokot.ru/forum/viewtopic.php?t=17006&start=0
Управление яркостью множества светодиодов с одного МК
ваш вопрос мне напинает одно коммерческое предложение )))
http://radiokot.ru/forum/viewtopic.php?t=17006&start=0
Управление яркостью множества светодиодов с одного МК
ваш вопрос мне напинает одно коммерческое предложение )))
натуральная блондинка
- kupriyanov
- Открыл глаза
- Сообщения: 47
- Зарегистрирован: Пн мар 30, 2009 15:55:13
- Откуда: г. Комсомольск на Амуре
- Контактная информация:
-
kiryllcrack
- Родился
- Сообщения: 4
- Зарегистрирован: Сб июн 27, 2009 12:17:02
- Контактная информация:
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
как вариант можно взять техасовские лед драйверы бесплатные 
это по сути сдвиговый регистр но он 16-тиканальный имеет внутри промежуточную память и он питает светодиоды сразу стабилизированным калиброванным током + можно будет при желании получить строку состояния каждого светодиода(тоже по последовательной СПИ шине) и ещё немаловажный прикол - он на один светодиот имеет 4092 вариации-градации яркости(12 бит на каждый светик)
в общем БОМБА В ДИП КОРПУСЕ! ещё до кучи есть ППЗУ с программируемым отклонением тока каждого светодиода от общей массы - ДОТ КОРРЕКШН тоесть выравнивание разностей яркости
название монстера - TLC5940 например - их у техас-инструментс дофига и трошки разновидностей - но этот в дипе и прост в управлении и каналов 16....
правда DOT CORRECTION сложноватая вича но и без неё работает на ура!!!
Оффтоп удален, по сэмплам есть темя в МЯУ! Aheir
это по сути сдвиговый регистр но он 16-тиканальный имеет внутри промежуточную память и он питает светодиоды сразу стабилизированным калиброванным током + можно будет при желании получить строку состояния каждого светодиода(тоже по последовательной СПИ шине) и ещё немаловажный прикол - он на один светодиот имеет 4092 вариации-градации яркости(12 бит на каждый светик)
в общем БОМБА В ДИП КОРПУСЕ! ещё до кучи есть ППЗУ с программируемым отклонением тока каждого светодиода от общей массы - ДОТ КОРРЕКШН тоесть выравнивание разностей яркости
название монстера - TLC5940 например - их у техас-инструментс дофига и трошки разновидностей - но этот в дипе и прост в управлении и каналов 16....
правда DOT CORRECTION сложноватая вича но и без неё работает на ура!!!
Оффтоп удален, по сэмплам есть темя в МЯУ! Aheir
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Кстати...питание на светики можно поднимать до 17 вольт и светить одним каналом линейку из шести светиков...естественно и управлять прийдёться ей всей вместе взятой но...это в целях экономии микрух ибо стоят они 2 доллара
сдвиговики конечно дешевле...но...даже не представляю как через сдвиговые регики PWM организовывать... точнее не представляю какой скоростью нужно будет оперировать...
простой расчет - берем минимальную воспринимаемую человеком частоту 50 герц
за эти 50 герц нам например нужно отработать 100 вариантов яркости...далее....берем шину данных паралельную из 16 паровозиков , в каждом паровозике последовательно 40 сдвиговиков по 8 выводов в каждом - получается что у нас 320 тактов уходит на заполнение всего массива...теперь считаем
50 герц * 100 * 320 = 1600 килогерц или грубо говоря 2 мегагерца
теперь представляем микроконтроллер у которого из 8 машинных тактов каждый первый - такт отправки очередного значения в шину данных......думаю что разговоров по поводу PWM больше быть не должно - за 8 тактов проц ну никак не успеет подготовить следующую посылку в линию ибо даж на саму посылку будет уходить бОльшее кол-во тактов если даже просто из флешпамяти это дело читать и ничем вообще больше не заниматься....
можно конечно сказать например что если взять мегу 128 и использовать не 16 "паровозиков" по 40 регистров а 32 по 20...тогда да...количество свободных тактов возрастет до 16.....но всёравно....помоему это гиблая затея.....+ регистры сдвиговые должны быть с выходной защелкой и способными отработать высокую скорость передачи...
есть и другой вариант - процесс заполнения "паровозиков" из сдвиговых регистров поручить выполнять какой-то внешней связке из счетчика на 16 бит, SRAM модуля и немного логики....тогда МК просто записывает в свободные промежутки времени в память последовательности 8-мибитной шины, тактовый генератор счетчика адресов выполняет и тактование защелок(сдвиг) а по отрицательному спаду - меняет адрес памяти - получается автоматическая постоянная выгрузка содержимого памяти последовательно в 8 паровозиков по 80 регистров, изза того что память быстрая можно поднать частоту и тратить очень мало времени на сам процесс сериализации, и потом долго ждать следующего периода 50*100=5 килогерц....а в промежутках - можно корректировать содержимое памяти меняя последовательность зажиганий и тушений светиков
только памяти насколько я понимаю надо будет немеряно -
640 байт это одна "картинка" светиков, которых должно быть например 100 если планируется 100 градаций серого то памяти надо 640*100=64 килобайта....хм...кстати не так уж и много...но...это надо внешняя память, логика, регистры и ... ну в принципе контроллер может получать прерывание когда сериализация закончилась и изменять память до того как начнется следующая, опять же инициировать её можно самим контроллером....
Принципе работы один и тот же- если взять 100 градационный пример то чтоб засветить все лампы 100% надо во все 100 посылках посылать всем лампам 1, если надо какой то лампе давать 10% то эта лампа только первых десять посылок ыбдет с 1 а остальные 90 - 0.....очень простая и удобная система организации программного мультиканального ШИМа
Я так смотрю...затраты только на светики могут зашкалить за штуку баксов.....может не стоило бы экономить на драйверах для них? всётаки если делать на регистрах то и резисторных сборок нужно будет туча - фактически каждому светику....да и представить эту тучу проводов .... ой даже ни знаю...моё видение этой проблемы таково....так сделано в больших панелях-рекламных щитах на которых видео крутят
сдвиговики конечно дешевле...но...даже не представляю как через сдвиговые регики PWM организовывать... точнее не представляю какой скоростью нужно будет оперировать...
простой расчет - берем минимальную воспринимаемую человеком частоту 50 герц
за эти 50 герц нам например нужно отработать 100 вариантов яркости...далее....берем шину данных паралельную из 16 паровозиков , в каждом паровозике последовательно 40 сдвиговиков по 8 выводов в каждом - получается что у нас 320 тактов уходит на заполнение всего массива...теперь считаем
50 герц * 100 * 320 = 1600 килогерц или грубо говоря 2 мегагерца
теперь представляем микроконтроллер у которого из 8 машинных тактов каждый первый - такт отправки очередного значения в шину данных......думаю что разговоров по поводу PWM больше быть не должно - за 8 тактов проц ну никак не успеет подготовить следующую посылку в линию ибо даж на саму посылку будет уходить бОльшее кол-во тактов если даже просто из флешпамяти это дело читать и ничем вообще больше не заниматься....
можно конечно сказать например что если взять мегу 128 и использовать не 16 "паровозиков" по 40 регистров а 32 по 20...тогда да...количество свободных тактов возрастет до 16.....но всёравно....помоему это гиблая затея.....+ регистры сдвиговые должны быть с выходной защелкой и способными отработать высокую скорость передачи...
есть и другой вариант - процесс заполнения "паровозиков" из сдвиговых регистров поручить выполнять какой-то внешней связке из счетчика на 16 бит, SRAM модуля и немного логики....тогда МК просто записывает в свободные промежутки времени в память последовательности 8-мибитной шины, тактовый генератор счетчика адресов выполняет и тактование защелок(сдвиг) а по отрицательному спаду - меняет адрес памяти - получается автоматическая постоянная выгрузка содержимого памяти последовательно в 8 паровозиков по 80 регистров, изза того что память быстрая можно поднать частоту и тратить очень мало времени на сам процесс сериализации, и потом долго ждать следующего периода 50*100=5 килогерц....а в промежутках - можно корректировать содержимое памяти меняя последовательность зажиганий и тушений светиков
только памяти насколько я понимаю надо будет немеряно -
640 байт это одна "картинка" светиков, которых должно быть например 100 если планируется 100 градаций серого то памяти надо 640*100=64 килобайта....хм...кстати не так уж и много...но...это надо внешняя память, логика, регистры и ... ну в принципе контроллер может получать прерывание когда сериализация закончилась и изменять память до того как начнется следующая, опять же инициировать её можно самим контроллером....
Принципе работы один и тот же- если взять 100 градационный пример то чтоб засветить все лампы 100% надо во все 100 посылках посылать всем лампам 1, если надо какой то лампе давать 10% то эта лампа только первых десять посылок ыбдет с 1 а остальные 90 - 0.....очень простая и удобная система организации программного мультиканального ШИМа
Я так смотрю...затраты только на светики могут зашкалить за штуку баксов.....может не стоило бы экономить на драйверах для них? всётаки если делать на регистрах то и резисторных сборок нужно будет туча - фактически каждому светику....да и представить эту тучу проводов .... ой даже ни знаю...моё видение этой проблемы таково....так сделано в больших панелях-рекламных щитах на которых видео крутят



