Здравствуйте! Уважаемые форумчане, помогите разобраться в большом количестве информации. Имеется задача создать примитивное информационное табло:
1)создать светодиодную матрицу 4*4, из двухцветных (зелено-красных, 3 вывода) светодиодов, по сути 32 диода, светодиоды самые простые 150 мВт.
2)матрица управляется микроконтроллером с компьютера через какой-либо интерфейс,
без всяких внешних программаторов. Желательно интерактивное управление(нажал мышкой по кнопке диод загорелся), но можно и просто записать программу в память контроллера.
3)Каждый светодиод управляется отдельно, имеет 16 уровней яркости(1 байт)
4)Питание от бытовой сети
Вопросы: 1) Какой недорогой, доступный в продаже, известный(в плане различных программных и схемных решений) контроллер выбрать?
2) Какой, совместимый с контроллером, драйвер СДУ под мои светодиоды выбрать? я понимаю что ШИМ можно реализовать программно, но возможно количество и мощность светодиодов будет увеличиваться. Да и как –то красивее получается
3) Какие-либо советы по функциональной схеме. Если подобные конкретные вопросы рассматривались(общей информации много), просьба дать ссылки.
ЦитироватьКакой недорогой, доступный в продаже, известный(в плане различных программных и схемных решений) контроллер выбрать?
А какие контроллеры Вы умеете программировать? К каким у Вас есть программаторы (загрузочные шнуры)? Недорогой, доступный и известный это PIC, связь с компьютером удобнее у Motorola и ARM7, реализовать непосредственное подключение большого количества светодиодов, это уже ПЛИСы Xilinx... Готовую прошивку под Вашу задачу Вы все равно не найдете (разве что закажите). Популярные «куски» у большинства производителей лежат на сайте, но практика показывает, что проще написать все с нуля под себя, чем пытаться скомпоновать эти куски :(. Выбирать в Вашем случае надо то, с чем Вы умеете обращаться...
ЦитироватьКакой, совместимый с контроллером, драйвер СДУ под мои светодиоды выбрать?
После выбора контроллера можно и подобрать, если он потребуется ;).
ЦитироватьКакие-либо советы по функциональной схеме.
Порт (COM / USB, кстати, какой планируете?); интерфейсная м/с*; контроллер (м/к или ПЛИС); flash память**; драйвер**; ВИП + гнездо адаптера. Вроде и все...
*) может быть полностью или частично интегрирована в контроллер.
**) при необходимости.
Кстати, сие устройство вполне можно питать напрямую от USB порта, если Вы не будете одновременно включать красный и зеленый каналы на одном светодиоде.
Цитата: Onix от 13 мая 2008, 17:31
2)матрица управляется микроконтроллером с компьютера через какой-либо интерфейс,
без всяких внешних программаторов. Желательно интерактивное управление(нажал мышкой по кнопке диод загорелся)
А Вы уверенны, что справитесь с написанием драйвера порта под Винду + ПО для графического отображения и управления светодиодами?
Здравствуйте! Уважаемые форумчане, скажите как управлять светодиодным драйвером
MIB5026 с помощью МК-Atmega32 (4 порта)
У MIB5026 есть 5 входов управляющих сигналов:
1)CLK 2)SDI 3)LE 4)OE 5)Вход для резистора задающего ток на 16-ти выходах
На сколько я понимаю
1)На вход CLK мы подаем тактовую частоту
2)Если на SDI приходит +5В и на CLK в течении этого времени произошло нарастание
переднего фронта, то по соответствующему номеру импульса CLK включается
соответствующий светодиод, и т.д. до LE
3)LE - истина задает момент окончание приема SDI (на одном форуме читал что он(LE) не работает)
4)время на которое загорятся светодиоды
А теперь вопрос, уважаемые знатоки
Что в таблице обозначает Dn?
Получается мне надо тратить 4 ножки МК на подключение всего одного драйвера?
И что делать если у меня имеется матрица светодиодов и мне нужно соединить 32 драйвера
(еще несколько контроллеров, либо ключ поставить, либо еще что либо)?
Просба давать ответы только с наборами Atmega + MIB
Здравствуйте!
Насколько я понимаю выложенные временные диаграммы, загрузка конфигурации драйвера осуществляется последовательно по линии SDI, в сопровождении тактовой частоты по линии CLK, в конце последовательности необходимо подать строб по линии LE - для перевода данных с входного сдвигового регистра на выходные триггера. Обращаю Ваше внимание, что изменение состояний на выходах произойдет синхронно и только после строба LE, "не работать" у живой м/с он не может. Линия же OE (явно Output Enable), "разрешает" течь току через выходные выводы м/с. Вообще схема управления представляет собой обычный сдвиговый регистр с защелкой на выходе.
ЦитироватьЕсли на SDI приходит +5В и на CLK в течении этого времени произошло нарастание
переднего фронта, то по соответствующему номеру импульса CLK включается
соответствующий светодиод, и т.д. до LE
точнее, если импульс № 0, то вывод (светодиод) № 15, если № 1, то № 14. Сдвиговый регистр это FIFO ;D. Про LE см. выше.
Цитироватьвремя на которое загорятся светодиоды
Светодиоды будут гореть до тех пор, пока Вы их тем или иным способом не выключите.
ЦитироватьЧто в таблице обозначает Dn?
Dn – входные данные в момент n, общепринятое обозначение.
ЦитироватьПолучается мне надо тратить 4 ножки МК на подключение всего одного драйвера?
Любого количества драйверов, которые Вы сможете соединить последовательно SDO(1)-SDI(2), LE(1)||LE(2), OE(1)||OE(2),CLK(1)||CLK(2). Строб LE подается после передачи ВСЕХ битов управления (один раз в кадр). Кол-во драйверов ограничивается выходным током м/к (можно увеличить включением биполярных повторителей на выходах м/к, подсоединенных к LE, OE и CLK) и тактовой частоты CLK (в Вашем случае не актуально, т.к. тактовая частота для 512 каналов управления при частоте кадров 25 Гц всего 12800Гц).
P.S. Несмотря на то, что для ответа Вам было достаточно диаграмм, на будущее – желательно все-таки выкладывать даташиты или ссылки на них.
Onix, перед использованием рекомендуется читать даташит. Там все нарисовано:
(https://llfo.ru/proxy.php?request=http%3A%2F%2Fwww.bright-leds.ru%2Fsmf-images%2Fmbi5026.gif&hash=513c0990434d0b0d32f59845788b1f439f64e62c)
Загружаем последовательно данные (D15-D0) в 16 битный регистр по положительному фронту тактового сигнала CLK. Если разрядности 16 бит недостаточно, соединяем SDO c SDI следующего драйвера. Через 32 такта в регистре первого драйвера окажутся старшие разряды данных (D31-D16) в регистре второго драйвера будут младшие разряды (D15-D0). После загрузки защелкиваем данные, подав единичку на LE.
Таким образом можно соединить столько драйверов, сколько необходимо. CLK соединяем в параллель, LE тоже. OE можно на ноль посадить. Т.е. требуется всего 3 порта МК.