Страница 1 из 1
управление 5000 светодиодами
Добавлено: Сб июн 27, 2009 12:36:24
kiryllcrack
Здравствуйте!
Уважаемые участники этого замечательного форума, помогите решить такую задачку. Нужно управлять огромным количеством светодиодов около 5000. Светодиоды будут использоваться для украшения стены в баре. Шеф поставил задачу так, что для реализации того множества световых эффектов нужно управлять каждым светодиодом в отдельности. Сейчас у меня в голове пока такое решение. Для уменьшения количества проводов можно разбить всю эту стену на отдельные панели на которых будет находиться около 180 светодиодов. этими светодиодами будет управлять МК (скорее всего мега 128, вернее две соединенных по SPI). В эту мегу будет вшита программа с реализацией различных эффектов. Для того чтобы все панели синхронно выполняли световые эффекты они будут управляться еще одним МК... который будет по шине данных отправлять информацию микроконтроллерам на отдельных панелях, которые в зависимости от команды главного МК будут моргать светиками.
Подскажите, насколько рациональна данная схема, может кто уже сталкивался с подобными вещами, и может посоветовать что-нибудь полегче, или поудобнее. и еще, как питать тогда эти светодиоды? прямо соединять их к МК, или чере какую-нибудь многоканальную транзисторную сборку, или может применить светодиодный драйвер.
Посоветуйте пожалуйста))
з.ы. мяуу
Добавлено: Сб июн 27, 2009 12:45:03
Krik99
Как вариант включить все светодиоды матрицей, поставить пару десятков регистров сдвига 74hc164 и управлять этим всем с Меги32 например, чтобы запас ресурсов был для множества эфектов.
Добавлено: Сб июн 27, 2009 12:54:31
kiryllcrack
да я тоже так думал, применить в каждой отдельной панели отдельный контроллер в связке с дешифратором или сдвиговым регистром... может у кого есть наработки с исходниками на С (асм вообще не понимаю((( ) потому что вообще не понимаю как применить сдвиговые регистры..
Добавлено: Сб июн 27, 2009 13:46:07
Krik99
думаю при достаточном количестве 74hc164 иожно обойтись и одним МК. Статья по работе с 74hc164 есть у меня на сайте под кнопкой WWW
Добавлено: Сб июн 27, 2009 14:00:34
kupriyanov
Вам сначала стоит разобраться в принципе динамической индикации.
В сети информация есть.
Затем следует понять что такое сдвиговый регистр. Это устройство, которое имеет параллельные и последовательные входы/выходы, кроме того синхро-вход, и вход установки, так вот: нога МК подключается к последовательному входу, а строки/столбцы подключаются к параллельным выходам. (В вашем случае стоит к каждой ноге МК подключать по регитстру, т.к. количество управляемых элементов заоблачное).
И через вывод МК в последовательный вход "вдвигают" некоторую комбинацию (при этом дергая синхровходом). А затем дают сигнал установки, и сдвиговый регистр выставляет "вдвинутую" комбинацию на параллельные выходы. затем "вдвигают" следующую комбитнацию.
Добавлено: Сб июн 27, 2009 14:36:06
kiryllcrack
ушел курить литературу))
Добавлено: Сб июн 27, 2009 14:57:53
1995kenny
Короче можно отправлять по SPI сплошным потоком, наполняя бесконечное количество регистров подряд. Например если использовать одну огромную матрицу 70*70 то хватит 18 регистров.
Добавлено: Сб июн 27, 2009 15:27:16
Krik99
только на столбцы прийдёться ставить транзисторы чтобы небыло случайной засветки при наполнение ригистра. Или использовать регистры с защёлкой типа 74hc595
Добавлено: Сб июн 27, 2009 15:31:39
MHZ
Можно сделать это всё примерно так
http://pol-sem.narod.ru/runrow/rr.htm, как сдесь недавно упоминалось. Суть должна быть примерно такая.
Добавлено: Сб июн 27, 2009 16:03:42
Настя
вот вам для кучи
http://radiokot.ru/forum/viewtopic.php?t=17006&start=0
Управление яркостью множества светодиодов с одного МК
ваш вопрос мне напинает одно коммерческое предложение )))
Добавлено: Сб июн 27, 2009 16:11:34
kupriyanov
Естественно коммерческое раз:
Шеф поставил задачу так,
Добавлено: Сб июн 27, 2009 17:19:18
kiryllcrack
это скорее не предложение, это коммерческое заставление... типа сделаешь хАроший малчык, не сделал - лицом к стене и автоматная очередь...)))
Добавлено: Ср июл 01, 2009 14:31:35
clawham
как вариант можно взять техасовские лед драйверы бесплатные

это по сути сдвиговый регистр но он 16-тиканальный имеет внутри промежуточную память и он питает светодиоды сразу стабилизированным калиброванным током + можно будет при желании получить строку состояния каждого светодиода(тоже по последовательной СПИ шине) и ещё немаловажный прикол - он на один светодиот имеет 4092 вариации-градации яркости(12 бит на каждый светик)

в общем БОМБА В ДИП КОРПУСЕ! ещё до кучи есть ППЗУ с программируемым отклонением тока каждого светодиода от общей массы - ДОТ КОРРЕКШН тоесть выравнивание разностей яркости
название монстера - TLC5940 например - их у техас-инструментс дофига и трошки разновидностей - но этот в дипе и прост в управлении и каналов 16....
правда DOT CORRECTION сложноватая вича но и без неё работает на ура!!!
Оффтоп удален, по сэмплам есть темя в МЯУ! Aheir
Добавлено: Ср июл 01, 2009 23:19:58
clawham
Кстати...питание на светики можно поднимать до 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.....очень простая и удобная система организации программного мультиканального ШИМа
Я так смотрю...затраты только на светики могут зашкалить за штуку баксов.....может не стоило бы экономить на драйверах для них? всётаки если делать на регистрах то и резисторных сборок нужно будет туча - фактически каждому светику....да и представить эту тучу проводов .... ой даже ни знаю...моё видение этой проблемы таково....так сделано в больших панелях-рекламных щитах на которых видео крутят
Добавлено: Вт июл 07, 2009 21:48:45
Student_X
.... подобные вещи лучше всего делать на базе PLD - Altera,Atmel вполне подойдут. Любой микроконтроллер сдохнет от такой работы, разве что использовать его в качестве управляющего интерфейса.... (на светодиодных панелях сделано именно так)
Добавлено: Ср июл 08, 2009 10:01:05
clawham
Нет ну второй способ описанный мною например в общем то и подозревает использование микроконтроллера по его названию и назначению - Контролирование процесса вывода инфы из памяти в линейки триггеров