Не знаю почему, но мне очень нравятся светодиоды, и их можно увидеть практически во всех моих проектах.
Совсем недавно меня вдохновил Грег Дэвилл с его проектом.
миниатюрный светодиодный куб с 3456 светодиодами .
Немного подумав на эту тему, я решил сам собрать такой же чудесный кубик, которым поделюсь с вами в этой статье.
Аппаратное обеспечение: печатные платы.
Я изначально предполагал, что сборка светодиодных панелей будет самой сложной частью проекта, и не ошибся.
У меня уже есть опыт успешной пайки оплавлением, но в той ситуации мне не пришлось впихивать 576 RGB-светодиодов в крохотную квадратную поверхность.
Замечательные люди на PCBWay.com любезно предоставили панели для моего проекта.
Толщина этих плат 1,6мм, они обработаны паяльной маской, имеют покрытие ENIG и украшены белой шелкографией.
Мне нравится это сочетание цветов.
Светодиодная панель, верхняя часть
Светодиодная панель, нижняя часть
Тем, кто интересуется деталями проектирования электроники, рекомендую прочитать статью Грега.
Если коротко, то управление панелями реализовано с помощью мультиплексирования.
Строки матрицы управляются сдвиговыми регистрами SN74HC595, которые, в свою очередь, управляются 24 МОП-транзисторами.
Ряды светодиодов управляются шестью светодиодными драйверами постоянного тока TLC59025. Я начал со сборки нижней части панелей.
Это довольно просто, поскольку все компоненты довольно большие.
Некоторые панели потребовали доработки после извлечения из печи, в основном из-за паяных «мостиков», возникших между выводами на корпусах TLC59025 QSOP-24.
Нижняя часть в сборе, перед плавлением
Плавление нижней стороны.
Красный стержень — это датчик температуры.
Далее идет сборка верхней части.
Это, как нетрудно догадаться, оказалось самым трудным.
Я знал, что установка 576 светодиодов размером 2х2 мм вручную без специальных инструментов будет неоправданно трудоемкой задачей, поэтому купил вакуумный пинцет Quick 381A. Он отлично справляется со своей задачей.
Когда я освоился, на создание одной панели ушло всего около часа.
Стальной трафарет на верхней стороне
Было неприятно, когда я случайно задел катушку.
Верхняя сторона собирается перед плавлением.
Несоответствия будут исправлены в процессе пайки.
Каждая площадка покрыта крошечной каплей паяльной пасты.
Защита пластиковых разъемов фольгой
Пайка верхней стороны.
Наблюдать за выравниванием светодиодов во время процесса — сплошное удовольствие.
При сборке семи таких панелей я допустил ряд весьма поучительных ошибок, на основании которых могу дать следующие рекомендации:
- Внимательно следите за температурой пайки, ведь при перегреве светодиоды потеряют свою функциональность.
В моем случае это произошло при пайке первой панели, где большая группа красных светодиодов в самой середине платы со временем отказалась работать.
Сначала я не мог понять причину, но чуть позже до меня дошло, что они расположены прямо над тенью печи.
- Оказалось, что трафарет нужно очень точно выровнять на доске и любой ценой избегать потеков.
Я расплавил плату с небольшой каплей в углу и в итоге получилась куча припаянных контактов.
Всего из-за этого мне пришлось переделать около десятка светодиодов на одной плате.
- Надежно закрепите щуп, чтобы он случайно не выбил светодиоды из платы, когда вы откроете дверцу после завершения оплавления.
Шесть светодиодных панелей собраны и протестированы
Аппаратное обеспечение: корпус
Корпус для куба я спроектировал сам, решив сделать его максимально простым.Размер оказался 67мм.
3 .
Это единая деталь, которую можно напечатать на 3D-принтере.
Доски фиксируются в нем за счет удлиненных краев.
Для печати я решил использовать процесс многоструйной сварки (MJF) компании Shapeways. Получилось красиво, хотя точность размеров оказалась ниже ожидаемой.
Поначалу панели слишком слабо прилегали к раме, что я легко исправил небольшим количеством суперклея, который нанес на ее ребра и оставил сохнуть на ночь.
Рамка, напечатанная на 3D-принтере (1)
Рамка, напечатанная на 3D-принтере (2)
Программирование
Я не смог найти программы или библиотеки, напрямую совместимые с компонентами панели, поэтому мне пришлось написать собственное решение.Использовать контроллер и схемотехнику/прошивку как у Грега сейчас не получится, так как продолжающийся дефицит микросхем не позволяет получить все необходимые компоненты.
У меня под рукой было всего несколько микроконтроллеров, и выбор пал на Arduino Uno. Я запрограммировал большую часть кода мультиплексирования с использованием инструкций низкого уровня, что значительно ускорило работу программы по сравнению с версией, основанной на таких функциях, как digitalWrite
.
По сути, моя программа проста: установите таймер для вызова прерываний каждые 1/2400 секунды.
В этом случае вам придется каждый раз читать и сдвигать объем данных, «защелкивать» регистры и ждать прерывания, чтобы повторить все заново.
Отладка такого кода — мучение, но в итоге он прекрасно работает и радует своей скоростью.
Uno не имеет возможности генерировать множество сложных шаблонов анимации, но мне удалось получить хороший эффект случайного мерцания, используя очень простой 3-битный цвет. Честно говоря, этот результат меня даже немного удивил.
Тестирование, сборка, результаты
Каждый шаг оказался вполне обычным.
Панели соединяются последовательно ленточными кабелями и подключаются к Uno. Все работает!
Соединение шести панелей кабелем
Тестовая установка панели
Боке!
Окончательная сборка представляет собой некоторую головоломку, потому что вы можете (или еще лучше) выяснить правильную ориентацию панелей в кубе, что облегчит прокладку плоских кабелей.
Я особо не заморачивался, так как еще нужно было установить батарейки и контроллер.
Добро пожаловать в шлейфовые джунгли
Готовый! Мне понравился результат. Я был настолько доволен этим, что не хотел откладывать публикацию статьи до тех пор, пока не будут установлены батарейки и контроллер.
Еще раз огромное спасибо Грегу Дэвиллу и PCBWay — благодаря вам этот проект воплотился в жизнь.
Он также научил меня многому о программном управлении светодиодными массивами.
Кроме того, я значительно отточил свои навыки сборки и восстановления печатных плат.
Вуаля!
Больше боке!
Теги: #Программирование микроконтроллеров #Производство и разработка электроники #Сделай сам или Сделай сам #diy #ruvds_translation #Разработка для Arduino #arduino uno #ledcube
-
Adobe Blazeds С Открытым Исходным Кодом
19 Oct, 24 -
8 Советов Тем, Кто Ищет Работу
19 Oct, 24 -
Trackid
19 Oct, 24 -
Start.com С Google
19 Oct, 24