Изначально я представлял LED Industrial Piercing [перевод на Хабре] как проект, специально рассчитанный на использование светодиодов 0201. В конечном итоге они оказались совершенно не нужны. Светодиоды 0201 слишком малы! Очевидно, я должен был двинуться глубже, поэтому целью нового проекта стало размещение как можно большего их количества на поверхности серёжки-гвоздика.
В видео ниже показан процесс изготовления.
В статье представлены более глубокие объяснения.
Проектирование
Эти серёжки-гвоздики со светодиодами очень дёшевы. Они содержат крошечный держатель аккумуляторов под две ячейки LR521. Я хотел заменить пластиковый «камешек» и один светодиод на собственную печатную плату, оставив только корпус.
Плата и прошивка будут идентичны бейджу, который я недавно разработал на CH32V003. Прочитайте по ссылке его историю и объяснение работы.
Сложность здесь заключается в том, что я уменьшил дизайн бейджа втрое по каждой из сторон (или до одной девятой площади), снизив расстояние между светодиодами с 3 мм до 1 мм. Кроме того, я стремился к отсутствию толстого края вокруг платы. Эти ограничения сильно усложняют прокладывание дорожек.
Чтобы вы получили представление о масштабе, покажу три светодиода 0201 рядом с обычным светодиодом поверхностного монтажа:
А чтобы по-настоящему понять размеры, вот светодиод 0201 на корпусе ATtiny85:
Самодельные глухие и внутренние переходные отверстия
Можно разрабатывать многоуровневые платы, изготовленные с глухими и/или внутренними переходными отверстиями. Их пределы намного превышают то, с чем предстоит работать нам. «Слой перераспределения» BGA обычно изготавливается как очень мелкая печатная плата с высокой плотностью компонентов. В них часто используются очень маленькие расстояния между контактами и глухие отверстия, сквозные отверстия в подушке и так далее. Смысл в том. что мы можем запросто заказать печатную плату с подобными допусками... если есть деньги.
Цена небольшой партии плат HDI начинается от нескольких сотен долларов, и чем сложнее конфигурация, тем выше стоимость. В этом проекте я хотел уложиться суммарно в $50.
Я решил изготовить собственный сэндвич печатной платы — две двухслойные платы, соединённые массивом площадок для пайки.
Я не был уверен, что это сработает. Я разместил все площадки по периметру, в том числе и для того, чтобы изучить все соединения. Разумеется, для этого нужно было бы извлечь платы из панели, чего я не хотел делать, пока не будет собрана оставшаяся часть платы. Думаю, можно было бы сначала смонтировать компоненты, а последним делом собрать платы в сэндвич, но мне кажется, это закончилось бы катастрофой.
Размер сверла под отверстия равен 0,25 мм, что ставит нас на второй уровень ценообразования плат (почти во всех самых дешёвых печатных платах размер минимум 0,3 мм). Вероятно, можно было бы создать схему для светодиодов 0201 в пределах самых дешёвых допусков, но я не хотел рисковать. Нужно помнить, что расстояние от одного светодиода до другого — 1 мм. При таком масштабе толщина меди вокруг отверстия заметно различается.
Спаянный сэндвич
Как обычно, я соединил заказ со множеством других, поэтому когда они все прибыли, у меня было мини-Рождество.
Главный дисплей — это матрица 8x8 с шагом 1 мм. При отрезании краёв (чтобы уместить её в круглый профиль) это обеспечивает место под 52 светодиода в круге диаметром 9 мм. Нижняя и верхняя часть панели имеют ширину 5 мм. Вся панель имеет размер 23 мм на 28,5 мм.
Я нанёс шаблон из пасты на одну из плат и разместил поверх неё плату без пасты. Симметричность панелей помогает в точном выравнивании плат.
Общая толщина плат — 0,6 мм, то есть наш сэндвич в результате оказался чуть больше 1,2 мм. Оплавление прошло без особых происшествий.
Вероятно, мне стоило использовать пайку при более высокой температуре, потому что это снизило бы риск разрыва соединений. С другой стороны, я не хотел рисковать и что-то поломать: эти площадки очень малы, диаметром примерно 0,5 мм, а у меня не особо большой выбор паяльных паст в запасе. (У них есть срок хранения, к тому же они всё равно спустя несколько месяцев заканчиваются.)
Паста паста паста
Вместе с платами я заказал стальной шаблон. Я разместил на нём примерно шесть разных дизайнов, но заказывать шаблон даже для одной платы вполне возможно, для своих возможностей они невероятно дёшевы.
Моя первая ошибка заключалась в том, что я не разместил на шаблоне опорные точки. Выровнять первую плату было достаточно легко, для проверки можно было использовать площадки QFN, но после вырезания одной платы из панели выровнять вторую было очень сложно.
Моя вторая ошибка заключалась в том, что я, похоже, сделал отверстия под площадки 0201 слишком маленькими. Вероятно, стоило сделать их чуть больше, благодаря чему процесс работы с шаблоном был менее стрессовым.
Первая попытка оказалась вполне приемлемой, большинство площадок было идеальным, лишь некоторым не хватило пасты. Я стёр её и попытался ещё несколько раз, похоже, для идеального наложения требуется подходящий уровень давления и скорость.
Идеала добиться не удалось, но можно было двигаться дальше. Я очистил шаблон, но недостаточно. Остатки пасты засохли, поэтому когда я добрался до второй серьги, процесс оказался гораздо менее весёлым.
Монтаж
Если вы смотрели видео или читали про предыдущие проекты, то знаете, что я планировал размещать компоненты при помощи установочного автомата.
0201 сильно выходит за пределы его допуска, так что пришлось положиться на удачу. Если бы до этого дошло дело, вполне можно было разместить 52 светодиода 0201 вручную, но мне было очень любопытно, справится ли автомат и позволит ли это открыть новые возможности для будущих проектов.
Автомат поставлялся с большим выбором вакуумных сопел, большинство из которых было цилиндрическим, но самое маленькое имело такую форму.
Этот продолговатый наконечник сравним по размеру с компонентами, которые мы пытаемся разместить, так что не было очевидно, сработает ли это, но в конечном итоге никаких проблем с этим не возникло.
Конструкция автомата напоминает 3D-принтер, но рассчитана на более точные допуски. После калибровки положения компонентов он разместил первый абсолютно точно.
Проблемы, с которыми я изначально столкнулся, были связаны не с размещением компонентов, а с поведением ленты. Я установил автомат на очень жёсткий стол, но он всё равно трясся при работе. Это значило, что настолько мелкие компоненты, как 0201, скорее всего, будут разлетаться при вытягивании защитной плёнки ленты. Отверстия в ленте расположены с шагом 4 мм, как и у всех остальных лент, и большинство компонентов, даже самые маленькие, расположены на расстоянии 4 мм. Только в случае с 0402 и 0201 компоненты размещаются чаще, чем отверстия в ленте. Это представляет проблему для механизма протягивания ленты: головка имеет соленоидный штифт, вставляемый в отверстие и выталкивающий его вперёд. В случае лент с расстоянием 2 мм он должен выполнять вытягивание на полшага, а не на целый шаг.
Автомат способен это сделать, но самое важное здесь для того, чтобы он точно мог брать компоненты — сместить позицию, в которой он берёт компонент с ленты. Нулевая позиция почти на 4 мм удалена от места отрывания плёнки, из-за чего у компонентов было слишком много места, чтобы отскочить.
Перенесёмся в самый конец первой попытки.
В целом результат меня довольно сильно впечатлил. Присутствует очевидная систематическая погрешность, все компоненты расположены чуть ниже, но это всего лишь моя неточная калибровка, само по себе размещение очень ровное. Некоторые из компонентов перекосило, не совсем понятно, подпрыгнули ли они при размещении или возникла ошибка в системе машинного зрения. Даже небольшая ошибка округления в логике поиска контуров OpenCV может привести к размещению компонентов под странными углами. К счастью, криво размещённые компоненты можно легко вернуть в нужное положение.
После оплавления практически все они выстроились в идеальную сетку.
Результат получился гораздо более ровным, чем моя вторая попытка на видео, так получилось просто потому, что в тот раз я гораздо хуже наносил пасту через шаблон.
Заполнение компонентами обратной стороны платы прошло без проблем.
Без проблем, но не без напрягов! Лишь после этого момента мы смогли проверить, всё ли работает.
Прекрасно.
Вырезав платы из рамки, я сделал несколько снимков с монетой для понимания масштаба.
Монета в 50 пенсов немного велика, так что вот ещё один снимок с монетой в 5 пенсов.
Подготовка серьги
Под пластмассовым «камушком» серьги скрывается крошечная печатная плата с двумя компонентами на ней.
Корпус — это положительная клемма батареи. Отрицательная клемма — это тонкий провод, проходящий посередине гвоздика. Нам достаточно подключить нашу цепь к этим двум точкам.
Не подумав, я припаял соединения и установил сэндвич, не протестировав его полностью. Я очень тщательно крепил зажимы, но это оказалось ошибкой, потому что вскоре мне пришлось всё это переделывать и менять.
Передаваемая мощность моей исходной прошивки оказалась слишком высокой, глупо было этого не предполагать. Крошечная батарейка не могла справляться с потреблением тока, напряжение падало и детектор перебоев питания в CH32V003 выполнял сброс чипа. Покопавшись в даташите, я понял, что детектор можно отключить. Я больше привык к работе с чипами ATtiny, многие из которых замечательно работают под напряжением, снижающимся до 1,8 В.
Перепрограммировать уже установленную схему хоть и сложно, но можно; я воспользовался зажимом типа «крокодил», чтобы подключиться к положительной клемме, прикоснулся к концу одного провода, чтобы образовать подключение к «земле», а затем коснулся ещё одного провода внутри, чтобы подключиться к отладочному контакту. Однако делать это несколько раз очень утомительно, поэтому я снова вскрыл серьгу, чтобы сделать всё правильно.
Если уж мы это сделали, то добавим несколько конденсаторов, это должно помочь.
Я подключил параллельно конденсаторы на 22 мкФ и на 0,1 мкФ. Иногда керамические конденсаторы большой величины и физически малого размера имеют высокое внутреннее сопротивление, поэтому может быть полезно скомбинировать несколько значений параллельно.
Я снизил тактовую частоту чипа с 48 МГц до 1,5 МГц и заметил, что это влияет на соединение отладчика. В обычном случае это нормально, существует утилита, позволяющая вернуть к жизни «брикнутый» чип, выполнив цикл отключения-включения и немедленно подсоединившись к нему. К сожалению, для этого требуется управление отладкой источника питания, поэтому в нашей ситуации это становится очень хитрой задачей; именно поэтому я попытался подсоединиться к гвоздику при помощи «крокодилов».
В конечном итоге мне удалось добиться нужного состояния дисплея со скважностью порядка 0,25%, а благодаря сниженной тактовой частоте потребляемый ток примерно равен 8 мА.
На этом мы можем сказать, что работа завершена и приступить ко второй серьге. Это было веселее, потому что процесс её сборки я снимал и мне постоянно мешалась видеокамера.
Фотогалерея
Разумеется, это впечатляющий электронный проект, но захочет ли кто-то носить такие серьги? Честно говоря, раньше подобные вопросы не мешали мне создавать абсолютно безвкусные серьги, которые никто не стал бы надевать даже под страхом смертной казни.
Но, похоже, моей подруге хотелось попробовать новые блестящие аксессуары. Подозреваю, ей втайне нравится быть «ушной моделью».
Я захотел попробовать скомбинировать длинную выдержку со вспышкой, чтобы получить фотографию со следами свечения светодиодов.
Исходный код этого проекта идентичен коду бейджа, он выложен на git.mitxela.com и github.
Автор:
PatientZero