МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход

Пять в кубе

Светодиодный куб как 3D дисплей

Хотя подобных поделок в интернете "просто завались" я не удержался от искушения добавить свои "125 - копеек".

Самым распространенным способом подключения большого количества светодиодов - матричный. Этот метод использует одно из свойств светодиода, как нелинейного элемента - он начинает светится при подаче на него питания только одной полярности.  

Такой метод мы уже использовали в проекте елочной гирлянды. Существует еще один способ, использующий Z-состояние выходного буфера, и еще одно свойство светодиода,
как нелинейного элемента. Дело в том что диод начинает светится не только от подачи питания правильной полярности, но и определенной величины,  превышающей какое-то значение (назовем его пороговым - Up).  

Принцип работы попробую объяснить на фрагменте схемы:

Фрагмент схемы
Если мы хотим зажечь какой-то светодиодик, то на линию, подключенную к его аноду нужно подать высокий уровень (1), на линию подключенную к катоду низкий уровень а все остальные линии перевести в Z-состояние. В этом случае все светодиоды, кроме того, который мы хотим зажечь, получаются подключенными по два последовательно , и не будут светится, если напряжение питания нашего буфера не превышает 2*Up.

Преимущество этого метода - возможность подключения большого количества светодиодов.
При наличии N выходов их можно подключить до N*(N-1).
Но есть и пара существенных недостатков:

  • ограничена максимальная яркость свечения, из-за ограничения максимального напряжения питания (2*Up);
  • сложная топология схемы.

Но мы не боимся трудностей. Для изготовления сего девайса, кроме платы Марсоход, нам понадобились:

  • 125 светодиодов. Мы взяли SMD 0603, большего размерчика в магазине не оказалось;
  • монтажная плата;
  • UTP кабель двух типов: одножильный и многожильный;
  • разъемы.

Поскольку для подключения 125 светодиодов нужно 12 выходов, платку марсохода нужно немного доработать - разделить моторные пины и допаять штырёчки.

Для облегчения монтажа и тестирования, вся схема разбита на 5 частей:

Схема светодиодного куба
Каждая часть сделана в виде отдельного модуля на разъемчиках:

Плоскость светодиодного куба

Светодиоды напаяны на кусочки лужёной медной проволоки длинной 5см и
соеденены перемычками:

Светодиоды на плоскости решетки

Собранный полностью модуль можно установить на платку и проверить:

плоскость светодиодного куба светится

Для подключения пяти таких модулей нужна "материнская" платка, которая дублирует моторные пины пять раз:

Материнская плата для светодиодного куба

И вот еще:

Материнская плата для светодиодного куба

Теперь на платку можно установить все пять модулей:

Светодиодный куб в сборе

Для управления нашим устройством, будем подключать его к COM-порту компьютера. Поскольку данные нужно передавать только в одну сторону, можно использовать только один сигнал, Tx. Подаем его на пин DN. Для того чтобы защитить вход от
высокого напряжения на Tx, между пином DN и +5USB нужно установить джампер:

COM порт к плате Марсоход

После того, как все собрано вместе, подключено к компьютеру и зашит проект (

), можно приступать к программированию всяких световых эффектов.

Чтобы включить или выключить какие-либо светодиоды, из компьютера в COM-порт нужно передать файл из 16 байт (128 бит), каждый бит в котором описывает состояние одного светодиода. Для создания таких файлов написана простенькая программка Out_com1.exe (она так же лежит в архиве вместе с проектом). С ее помощью мы сделали простенькое
тестовое шоу:

До восьмого марта есть еще время, и , я думаю, мы успеем придумать какие-нибудь более интересные эффекты. Wink

 

Комментарии  

+1 #13 dlevoodoo 15.04.2011 16:08
Круто! :-)
+1 #12 Ю р и й 28.03.2011 05:09
А что такое "паразитное свечение в случайный СИДах"?
+1 #11 Ахтунг 27.03.2011 19:51
Зачем твои несвязные объяснялки? Славы что ли захотелось? Этот метод называется Charlieplexing и ему стукнуло 16 лет.
http://en.wikipedia.org/wiki/Charlieplexing
Нехорошо вводить людей в заблуждение, когда есть полностью разжёванные материалы в сети. А метод плох из-за паразитного свечения в случайный СИДах. Лучше по-старинке через регистры или мультиплексоры.
+1 #10 Ю р и й 16.03.2011 08:02
Цитирую alsegor:
Посчитал на схеме треугольнички, там далеко не 125.
Что они обозначают?

Там на самом деле по два диодика встречно, как на
фрагменте , не стал дорисовывать и так схема большая и громоздкая получилась.
+1 #9 alsegor 16.03.2011 07:35
Посчитал на схеме треугольнички, там далеко не 125.
Что они обозначают?
+1 #8 ю р и й 13.03.2011 10:12
Цитирую Petr:
Вот, а если я запитываю плату от отдельного блока питания АТХ, напряжением 3.3 вольта... То что будет ? Блок стабилизирует напряжение ? Или будет бумбадабум с выгоранием марсоходика ?

Питание от двух разных блоков не желательно,
могут быть проблемы другого рода - уравнивающие токи,
помехи и т.д. Лучше всего питать от одного блока, или
от батарейки.
+1 #7 Petr 13.03.2011 09:58
Вот, а если я запитываю плату от отдельного блока питания АТХ, напряжением 3.3 вольта... То что будет ? Блок стабилизирует напряжение ? Или будет бумбадабум с выгоранием марсоходика ?
+1 #6 ю р и й 13.03.2011 09:51
Цитирую Petr:
Цитирую ю р и й:

Для защиты входа от перенапряжения обычно ставят два диода,
один на землю, другой на питание. Тот что на землю у нас как-бы
есть (он есть в выходном буферном элементе), а на питание нужно
ставить обязательно.


Вроде немного понятнее стало... То есть, тот диод, который на землю, уже в самой MAX II, а тот, что на питание - на самой плате(между пином +5USB и линией VCC)...
Получается, что когда на входе DN +12 - излишек утекает через диод на плате на плюс питания, а когда -12 - то на входе внутри MAX II 0 ?
А этот излишек, который на плюс питания уходит, он потом куда ?

Компенсирует часть тока от батарейки (около 8 ма)
+1 #5 Petr 13.03.2011 09:40
Цитирую ю р и й:

Для защиты входа от перенапряжения обычно ставят два диода,
один на землю, другой на питание. Тот что на землю у нас как-бы
есть (он есть в выходном буферном элементе), а на питание нужно
ставить обязательно.


Вроде немного понятнее стало... То есть, тот диод, который на землю, уже в самой MAX II, а тот, что на питание - на самой плате(между пином +5USB и линией VCC)...
Получается, что когда на входе DN +12 - излишек утекает через диод на плате на плюс питания, а когда -12 - то на входе внутри MAX II 0 ?
А этот излишек, который на плюс питания уходит, он потом куда ?
+1 #4 ю р и й 13.03.2011 07:26
Цитирую Petr:
Вообще момент подключения к компу хочется поподробнее уяснить :oops:

Для защиты входа от перенапряжения обычно ставят два диода,
один на землю, другой на питание. Тот что на землю у нас как-бы
есть (он есть в выходном буферном элементе), а на питание нужно
ставить обязательно. Кроме того т.к. -12в порта соответствуют
логической 1, то в проекте, на входе ресивера, нужен инвертор.
Ну а "в общем", если внимательно прочитать документацию на
современные преобразователи уровней, например MAX232 или
тот-же HIN202, они имеют параметры "input threshold voltage - 1.7V",
и "Input hysteresis voltage - 0.5V" т.е. фактически совместимы с
обыной 5, или даже 3-вольтовой логикой.
+1 #3 Petr 12.03.2011 20:28
Вообще момент подключения к компу хочется поподробнее уяснить :oops:
+1 #2 Petr 12.03.2011 20:25
Приветствую !
Указанный способ подключения к COM порту не требует преобразователя уровня ? То есть, можно тупо подключить Tx ком-порта к DN и поставить перемычку и можно будет слать байтики в плату ?
+2 #1 ELEKTROGOD 09.03.2011 09:14
КЛАССНО

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter