3-D програмована матриця зі 125 світлодіодів - Контролери - Придністровський портал радіоаматорів

Jerry Jacobs (The Netherlands)
Кожен зустрічав двовимірні світлодіодні матриці, але варіант, описаний у цій статті, описує зовсім інший калібр: а саме, п'ять матриць, складених разом у куб; і в цій тривимірній матриці кожен світлодіод якої може бути повністю включений індивідуально.
Специфікації апаратного забезпечення • 125 світлодіодів у спеціалізованій 3-D матриці • ATMEGA32 мікроконтролер з внутрішнім генератором на 1 МГц • 10-контактний ISP-роз'єм для перепрограмування >• 5 транзисторів для комутації матриць • 25 транзисторів для комутації рядів
Багатьом подобається миготіння світлодіодів. Але зазвичай це кілька світлодіодів або невелика матриця. Тут ми представляємо 3-D світлодіодну матрицю, кожен світлодіод управляється індивідуально. Цей чудовий 3-D куб управляється мікроконтролером Atmel AVR. Ці мікроконтролери легко дістати, і є багато програм для програмування. Не тільки для Windows, але також для Linux та операційних систем Mac.
Режим Можливо, ви думаєте, що зі 125 світлодіодами в 3-D кубі Вам буде потрібно занадто багато з'єднань, щоб була можливість керувати ними індивідуально, але це не так. Ми використовуємо менше з'єднань, оскільки мультиплексовані сигнали. Керуємо однією 'матрицею', з 25 світлодіодів, які є всіма в тій самій висоті в колонках, можна контролювати з єдиним, формують з'єднання. Це призводить до загальної 26 сигнальних проводів. Якби кожен світлодіод повинен був бути пов'язаний, індивідуально тоді формують 50 з'єднання, був би вимаганий. Щоб включати світлодіод, ми комутуємо напругу позитивного зображення у потрібній матриці та вибираємовідповідний ряд.
Наш куб має 5 матриць та 25 колонок. Це означає, що ми маємо 30 з'єднань для 125 світлодіодів. Без мультиплексування нам знадобилося б 250 з'єднань! З частотою генератора 1 МГц ми отримуємо частоту регенерації 39 кадрів в сукунду. Коли цей лічильник досягає величини 5, переривання виконано і відновлено. Це переривання піклується про посилку величини в буферному регістрі до матриці світлодіода. Контролер у кубі має частоту генератора 1 МГц (вбудований генератор). Програмне забезпечення коригує кожні 5 імпульсів. Внутрішня частота поділена попереднім дільником частоти. Це призводить до регенерації 195 гц всього куба. Оскільки ми маємо п'ять матриць, ми ділимо на п'ять і досягаємо 39 кадрів за секунду.
Таблиця 1. Розподіл матриць та колонок.
Програмне забезпечення Програмне забезпечення (програмоване обладнання) записано С і може бути зібране з avr-gcc [1. Це також зареєстровано таким чином, що це може розглядатися як веб-сайт. Це уможливлено через Doxygen 2].
Буферний регістр Оскільки дуже складно змусити куб показувати довільний малюнок простим способом, для цієї мети буферний регістр. Перевага цього полягає в тому, що Ви керуєте бітами в буферному регістрі, використовуючи функції, що означає, що Ви не повинні записувати безпосередньо послідовність. Це – робота програми переривань. Буферний регістр, так само як куб, має багаторазові розміри, таким чином Ви можете 'викреслити' малюнок у буферному регістрі, і програма переривань піклується про інше.

Перерив Програма переривань у кубі, як вже було згадано, гарантує, що малюнок на кубі регенерується 39 разів на секунду. Ця програма переривань записує значення, які Ви записали в буферний регістр, використовуючи іншу функцію, від буферного регістру до відповідних входів і поміщаєте біти у правильне місце. Ми використовуємо фотошаблони біта, які гарантують, що ми тільки дивимося на відповідні біти, які мають бути низькими або високими на виході.
Графічні інструкції низького рівня Всі з'єднання зроблені таким чином, що Ви можете створити власні дії для куба. У Таблиці 1 Ви можете побачити, який вихід куди з'єднується на кубі. Це полегшує розуміння для новачків, як працюють маски біта, зрушення розряду та інші складні функції. Ці інструкції низького рівня визначені в draw.h , це файл інтерфейсу для інструкцій, щоб управляти індивідуальними колонками, шарами, рядами, і т.д. Нижче наведено кілька прикладів, які показують, як ці функції можуть використовуватися. Щоб керувати поряд на певному шарі ми використовуємо
Наступні функції можуть використовуватися, щоб увімкнути і вимкнути колонку:
set_column(COLUMN_l, ON); Set_COlumn(C0LUMN_1, OFF);
Ми використовуємо зручні назви, типуON,OFF таCOLUMN_l. Вони визначені назви також названі макровизначенням, які мають закріплене значення. Наприклад,ON має значення 1 іOFF значення 0. Всі ці функції можуть використовуватися одна за одною, щоб створити бажану картину. Оскільки ми не можемо показати весь вихідний текст та приклади тут, Ви можете завантажитиїх із вебсайтуElektor.

Апаратне забезпечення
Для живлення використовується адаптер на 9V 600 мА. IC1 (7805) забезпечує стабілізацію напруги. діод D1 захищає від переполюсування. Транзистори T1 - T5 використовуються для з'єднання 5-вольт я з різними матрицями. Колонки комутуються транзисторами T6 – T30. Значення резисторів колонки залежить від падіння напруги на світлодіоді. Ми припускаємо, що кожен світлодіод потребує 20 мА. Це струм, який пройде через усю колонку. Електроживлення кожної матриці - 5 V, Якими обчислення для опору є тоді приблизно: I = (5 V - ULED) / 20 мА Падінням напруги на транзисторах можна знехтувати.

СПИСОК КОМПОНЕНТІВРезистори Rl = lOOkil R2-R6 = 330ii R7-R14, R31-R38, R47-R55 = див. R15-R30, R39-R46, R56 = Ш28Конденсатори Cl = 470pF 25V С2,СЗ = lOOnF C4 = lpF 100VНапівпровідники IC1 = 7805 IC2 = Atmego32 Dl = 1N4001 T1-T5 = BC337 T6-T30 = BC547 125 світлодіодівРізне 10-woy boxheader (2x5), 2.54mm lead pilch 10-woy SIL pinheoder (1С socket) Heatsink, TO-220, 5°K/W for IC1 4 гвинтика M3x5 довжиною 10-мм Гніздо для адаптера 2.5mm. плата, код замовлення 080355-1 від МАГАЗИНА Eleklor
Помічник!
Крок # 1 Матриці збираються спочатку на платі. Отвори в платі служать для зручної спайки світлодіодів. Використовуйте аркуш паперу так, щоб зручно встановлювати світлодіоди. Краще пробити отвори, використовуючи кулькову ручку.


Крок# 2 Встановіть п'ять світлодіодів у першому ряду, анодами (довгий виведення) вгору та катоди (короткий виведення) у підставі.Потім, зігніть анодний висновок першого світлодіода ліворуч у напрямку другого світлодіода. Другий світлодіод спаятиме з першим світлодіодом. Повторіть, доки весь ряд не буде закінчено. Для кожної матриці потрібно п'ять рядів. Ми тому повторюємо від другого до п'ятого ряду. Як тільки всі п'ять рядів сповнені, аноди спаюємо разом двома перпендикулярними сполуками. Після цього цілу матрицю можна висунути з плати.


Як тільки всі п'ять матриць закінчені, вони спаяні разом, поки вони не утворюють кінцеву форму. Це потрібно робити, розмістивши матриці на плату. На наступній матриці, зігніть кінці 25 виводів колонки приблизно до 3 мм, досягатиме навколо світлодіодів попередньої матриці. Друга матриця згодом вміщена вище за першу плівку, і ми паяємо цю матрицю на кожному з'єднанні, з однаковим інтервалом між матрицями і світлодіодами, акуратно вибудованими в лінію.


Крок# 4 Всі інші компоненти тепер встановлені на друкованій платі. Переконайтеся, що транзистори BC337 та BC547 не переплутані! Регулятор напруги з радіатором встановлюється останнім.


Крок# 5 Прикінцевий крок з'єднує кожну з матриць до їх відповідних транзисторів. Tl пов'язаний з нижнім шаром та T5 з верхнім. Використовуйте луджений мідний дріт для з'єднань.


Крок# 6 Програмне забезпечення може бути запрограмоване в мікросхему. Це програмне забезпечення, разом із вихідним текстом, може бути завантажене з веб-сайту Elektor. Ви також можете замовити готову друковану плату в магазині Elektor.