3-D програмируема матрица от 125 светодиода

матрица

Джери Джейкъбс (Холандия)

Всеки е виждал двумерни LED матрици, но вариантът, описан в тази статия, описва напълно различен калибър: а именно, пет матрици, подредени заедно в куб; и в тази триизмерна матрица, всеки светодиод от която може да бъде включен напълно индивидуално.


Хардуерни спецификации
• 125 светодиода в специална триизмерна матрица
• ATMEGA32 микроконтролер с вътрешен 1 MHz осцилатор
• 10-пинов ISP конектор за препрограмиране
• 5 транзистора за матрично превключване
• 25 транзистора за превключване на редове

Много хора харесват мигането на светодиоди. Но обикновено това са няколко светодиода или малка матрица. Тук представяме триизмерна LED матрица, всеки светодиод се контролира индивидуално. Този великолепен 3-D куб се управлява от микроконтролер Atmel AVR. Тези микроконтролери са лесни за получаване и са налични много програми за програмиране. Не само за Windows, но и за операционни системи Linux и Mac.

Режим
Може би си мислите, че със 125 светодиода в триизмерен куб ще ви трябват твърде много връзки, за да можете да ги контролирате поотделно, но това не е така. Използваме по-малко връзки, тъй като сигналите се мултиплексират. Задвижвани от една "матрица", от 25 светодиода, които са всички на една и съща височина в колоните, могат да бъдат контролирани с едноформатни връзки. Това води до общо 26 сигнални проводника. Ако всеки светодиод трябва да бъде свързан поотделно, ще са необходими 50 форми.
За да включим светодиода, превключваме напрежението на положителното изображение в желаната матрица и избираме подходящия ред.

Нашият куб има 5 матрици и 25 колони. Това означава, че имаме 30 връзки за 125 светодиода. Без мултиплексиране ще ни трябват 250 връзки!
С честота на генератора от 1 MHz получаваме честота на опресняване от 39 кадъра в секунда.На всеки 1024 импулса броячът се увеличава (честотният делител, използван за това, се нарича още предскалер). Когато този брояч достигне 5, прекъсването се изпълнява и броячът се възстановява.
Това прекъсване се грижи за изпращането на стойността в буферния регистър към LED масива. Контролерът на куба има честота на осцилатора от 1 MHz (вграден осцилатор). Софтуерът коригира на всеки 5 импулса. Вътрешната честота се разделя на предскалатор. Това води до регенерация от 195 Hz за целия куб. Тъй като имаме пет матрици, делим на пет и достигаме 39 кадъра в секунда.

Таблица 1. Разпределение на матрици и колони.


Софтуер
Софтуерът (фърмуер) е написан на C и може да се компилира с avr-gcc [1 |. Също така се записва по такъв начин, че да може да се разглежда като уебсайт. Това е възможно от Doxygen | 2].


Буферен регистър
Тъй като е много трудно да се получи куб, който да покаже произволен чертеж по прост начин, за тази цел има буферен регистър. Предимството на това е, че манипулирате битовете в буферния регистър с помощта на функции, което означава, че не е нужно да пишете последователността директно. Това е работата на рутинното прекъсване. Буферният регистър, подобно на куб, има множество размери, така че можете да "нарисувате" фигурата в буферния регистър, а прекъсването се грижи за останалото.

светодиода

Фигура: 1. Микроконтролерът AVR е в основата на този проект. Очевидно е големият брой транзистори.

Прекъсва
Прекъсването в куба, както вече споменахме, гарантира, че чертежът върху куба се регенерира 39 пъти в секунда.
Тази процедура за прекъсване записва стойностите, които сте записали в буферния регистър, използвайки различна функция от буферния регистър в съответните входове и поставя битовете на правилното място. Използваме битови фотомаски, за да гарантираме, че гледаме само подходящите битове да са ниски или високи в изхода.

Графични инструкции на ниско ниво
Всички връзки са направени по такъв начин, че можете да създадете свои собствени действия за куба. В таблица 1 можете да видите кой изход се свързва с къде на куба. Това улеснява начинаещите да разберат как работят битовите маски, битовите смени и други сложни функции. Тези инструкции на ниско ниво са дефинирани в draw.h, който е интерфейсен файл за инструкции за манипулиране на отделни колони, слоеве, редове и т.н. По-долу са дадени някои примери, които показват как тези функции могат да се използват.
За да контролираме число на определен слой, използваме

Следните функции могат да се използват за активиране и деактивиране на колоната:

set_column (COLUMN_l, ON);
Set_COlumn (C0LUMN_1, OFF);

Използваме удобни имена като НА, ИЗКЛЮЧЕНО и COLUMN_l. Това са дефинирани имена, наричани още макроси, които имат присвоено значение. например, НА има стойност 1 и ИЗКЛЮЧЕНО стойност 0.
Всички тези функции могат да се използват една по една за създаване на желаната картина. Тъй като тук не можем да покажем целия изходен код и примери, можете да ги изтеглите от уебсайта. Електор .

светодиода

Фиг. 2

Хардуер

За захранване се използва адаптер 9 V 600 mA. IC1 (7805) осигурява регулиране на напрежението. диод D1 предпазва от обръщане на полярността.
Транзисторите T1 - T5 се използват за свързване на 5 волта към различни матрици. Високоговорителите се превключват от транзистори T6 - T30.
Стойността на резисторите на колоната зависи от спада на напрежението на светодиода. Правим предположението, че всеки светодиод изисква 20mA. Това е токът, който ще тече през цялата колона. Захранването за всяка матрица е 5 V, което изчислението за съпротивлението е приблизително:
I = (5 V - ULED)/20 mA
Спадът на напрежението на транзисторите е незначителен.


контролери

Фиг. 3. Печатна електронна платка.

СПИСЪК НА КОМПОНЕНТИТЕ
Резистори
Rl = lOOkil
R2-R6 = 330ii
R7-R14, R31-R38, R47-R55 = виж текста
R15-R30, R39-R46, R56 = Ш28
Кондензатори
Cl = 470pF 25V
C2, C3 = 10OnF
C4 = lpF 100V
Полупроводници
IC1 = 7805
IC2 = Atmego32
Dl = 1N4001
T1-T5 = BC337
T6-T30 = BC547
125 светодиода
miscellanea
10-woy boxheader (2x5), 2,54 mm олово
10-woy SIL pinheoder (1C гнездо)
Радиатор, TO-220, 5 ° K/W за IC1
4 винта M3x5 с дължина 10 mm
2,5 мм гнездо за адаптер.
дъска, код за поръчка 080355-1 от STORE Eleklor


Асистент!

Етап 1
„Матриците“ се сглобяват първо на дъската. Дупките в платката са за удобно LED запояване. Използвайте лист хартия, за да инсталирате удобно светодиодите. По-добре да пробивате дупки с помощта на химикалка.

контролери

контролери

Стъпка # 2
Инсталирайте пет светодиода в първия ред, аноди (дълъг проводник) нагоре и катоди (къс проводник) в основата. След това огънете анодния проводник на първия светодиод наляво към втория светодиод. Припойте втория светодиод към първия светодиод. Повторете, докато завърши целия ред. Всяка матрица изисква пет реда. Следователно повтаряме от втория до петия ред. След като всичките пет реда са завършени, анодите се запояват заедно с две перпендикулярни връзки. След това цялата матрица може да бъде извадена от дъската.

контролери

контролери

Стъпка # 3
След като всичките пет матрици са завършени, те се запояват заедно, докато оформят окончателната форма. Това трябва да стане чрез поставяне на матриците на дъската. На следващата матрица огънете краищата на 25-те колони на около 3 мм, достигайки около светодиодите на предишната матрица. Впоследствие втората матрица се поставя над първия филм и ние спояваме тази матрица на всяка връзка, със същото разстояние между матриците и светодиодите, добре подредени.

контролери

програмируема

Стъпка # 4
Всички други компоненти вече са инсталирани на печатната платка. Уверете се, че транзисторите BC337 и BC547 не са обърнати!
Регулатор на напрежение с радиатор, инсталиран последен.

програмируема

матрица

Стъпка # пет
Последната стъпка свързва всяка от матриците към съответните им транзистори. Tl е свързан с долния слой, а T5 с горния. Използвайте калайдисана медна жица за връзки.

светодиода

светодиода

Стъпка # 6
Софтуерът може да бъде програмиран в микросхема. Този софтуер, заедно с изходния код, могат да бъдат изтеглени от уебсайта на Elektor. Можете също така да поръчате готова PCB от магазина Elektor.