Потребность делать железо периодически возникает у многих технарей. Иногда задача позволяет нафигачить всё проводами на макетке, а иногда, к сожалению, нужно нечто посерьёзнее. Вот и меня однажды настигла потребность делать печатные платы… Лазерно-утюжная технология кустарного изготовления плат по началу сильно отталкивает своей рандомностью (на чём печатать, как греть, с какой силой давить, как отдирать, и т.д.), но друзья поделились опытом, и оказалось, что это действительно не так уж сложно. ЛУТ бесспорно дешевле любого другого варианта, и (внезапно) вполне подходит для двухсторонних плат.
Кому интересно посложнее, подороже и поточнее, можно делать фоторезистом, но наша методика (основным элементом которой является особая бумага) позволяет стабильно прорабатывать шины 0.3/0.3 мм, так что в нашем сообществе бытует мнение что тян фоторезисты не нужны.
Кто не видит смысла в кустарном производстве плат, скорее всего сможет вспомнить пару случаев, когда приходилось пилить дорожки и припаивать проводки на целой партии плат. А сделав одну плату дома, можно её хорошенько отладить и приобрести уверенность в фабричных платах.
Под катом я поделюсь детерминированной методикой изготовления двухсторонних печатных плат по технологии ЛУТ с различными резервными схемами на случай косяков. От идеи до включения. Будем работать с KiCad, Incscape, наждачкой и гравёром.
Любое устройство начинается со схемы. Большинство ошибок платы можно устранить на этапе проектирования. А чтобы схема гарантированно соответствовала плате, нужен хороший EDA-софт. Например, KiCad.
KiCad --> Плата
Если Вы всё еще работаете с проприетарными ограниченными решениями, начните со статьи Трассировка печатной платы в KiCAD или пропустите этот раздел.
Используем KiCad 5, поскольку мне глубоко симпатична эта программа, её комьюнити (включающее CERN) и идея мультиплатформенного FOSS в целом.
Не ведитесь на то что версия 4 якобы Stable, а 5 типа Nightly. Пятая версия намного стабильнее, СИЛЬНО менее глюченная и в сотни раз удобнее, чем четвертая.
Итак, алгоритм с лайфхаками:
- Находим компонент в каталоге вашего любимого магазина электроники.
- Находим соответствующий компонент в библиотеке KiCad.
- Если это транзистор или другой компонент с тремя или более выводами, находим его корпус в библиотеке футпринтов в Pcbnew, смотрим нумерацию, сопоставляем с даташитом и выбираем в Eeschema компонент с правильной нумерацией выводов.
- Если компонента нет в библиотеке KiCad, ищем в Интернетах. Если всё еще нет, находим в библиотеке похожий, экспортируем Symbol (в новую библиотеку), подключаем ее к проекту, открываем в Symbol library editor, дорабатываем, проделываем то же самое с футпринтом, если корпус тоже нестандартный.
- Если есть ну совсем равнозначный выбор, отдаём предпочтение компонентам, у которых есть 3D-модель. KiCad умеет показывать как будет выглядеть девайс, это сильно помогает находить ошибки.
- Если это транзистор или другой компонент с тремя или более выводами, находим его корпус в библиотеке футпринтов в Pcbnew, смотрим нумерацию, сопоставляем с даташитом и выбираем в Eeschema компонент с правильной нумерацией выводов.
- Помещаем компонент на схему, в поле Datasheet компонента помещаем ссылку на этот компонент из магаза.
- Рисуем схему не забывая:
- Использовать шины и метки, чтобы не перегружать схему кучей параллельных линий.
- Давать имена цепям не входящим в шины и метки, чтобы на плате было проще ориентироваться.
- Сохраняться.
- Положить проект под git и комитить.
- Ассоциировать компоненты с футпринтами, пронумеровать компоненты, сгенерировать Netlist, сгенерировать Bill of Materials (в котором будет список ссылок и количество элементов возле каждой ссылки, чтобы прям сразу никуда больше не обращаясь наполнить корзину и заказать элементы).
- Открыть Pcbnew, загрузить Netlist.
- Настроить DRC:
- Для сигнальных цепей минимальная ширина дорожек 0.3 мм, clearance 0.3 мм.
- Для силовых побольше, пропорционально силе тока. Есть онлайн калькуляторы.
- Дефолтные Via — 0.8 с отверстиями 0.4.
- Разумеется, если будет место на плате, все эти размеры (кроме отверстий) надо делать максимальными из возможных, ведь если Via 1 мм, то вероятность попасть в неё сверлом с другого слоя крайне высока ))
- Ну и Via 0.8 — это вовсе не жестко минимальный размер: если к отверстию подходит толстенная дорожка, то можно хоть 0.5 ставить, там все равно будет к чему удобно припаяться.
- Вручную нарисовать плату, следуя советам из статьи 7 правил проектирования печатных плат.
- Мне тоже по началу казалось "фэ, это должна делать машина", но потом я однажды попробовал и мой мир больше не станет прежним. Ручная трассировка намного интереснее и увлекательнее, чем кажется. Всем советую, особенно любителям собирать паззлы.
- К тому же, 7 правил проектирования печатных плат машина соблюдать не будет, а на исправление автотрассировки может уйти больше времени, чем на ручную трассировку.
- Если не убедил, ну берите топор...
- Добавить надписей и логотипов.
- Чтобы логотип KiCad поместить на один из медных слоёв, надо экспортировать футпринт, открыть его в текстовом редакторе и поменять "F.SilkS" на "F.Cu" во всех полигонах.
- Добавить 4 габаритных отверстия 0.4/0.6 по углам платы на расстоянии ~5-10 мм от линий слоя Edge.Cuts
Плата --> SVG
Когда плата готова, нужно перегнать её в SVG для дальнейшей доработки. Лучше выгрузить плату из EDA без отзеркаливания, чтобы не точно запутаться и отзеркалить как надо.
А надо отзеркалить только передний слой F.Cu. Поскольку на задний слой B.Cu мы в редакторе смотрим со стороны переднего, он уже отзеркален. Для надёжности, лучше поместить хоть какой-нибудь текст на оба слоя и следить за тем чтобы этот текст не читался ))
Собственно:
- Загружаем оба слоя в Incscape.
- Устанавливаем единицы измерения документа миллиметры, и формат листа А4.
- Добавляем еще больше надписей белым на областях металлизации. KiCad так не умеет, напишите в комментах если ваш EDA умеет.
- Группируем, чтобы было только два объекта.
- Выравниваем (Ctrl+Shift+A), расстояние между слоями (их габаритными отверстиями) должно быть не менее сантиметра.
- Отзеркаливаем передний слой кнопочкой на верхнем тулбаре.
- Сохраняем в SVG.
Далее немного магии. Если у вас есть выводные компоненты, то отверстия в них вряд-ли 0.4. А для ручного ЛУТа жирные дыры не нужны, лучше пусть побольше меди будет и она сверлом счистится. Нужно все отверстия сделать 0.4. Можно менять каждый контакт каждого футпринта в KiCad, а можно намного быстрее автозаменой поменять все кружки в SVG:
- Выделяем любое не-0.4 отверстие.
- Открываем SVG Editor (Shift+Ctrl+X).
- Копируем размер белого кружка.
- Закрываем Incscape, открываем SVG текстовым редактором.
- Делаем автозамену этого размера (можно для надёжности окружающие части тэгов тоже включить в поиск) на тот размер, который у кружочков 0.4 мм.
- Открываем Incscape, проверяем, что шалость удалась.
- Повторяем пока не кончатся жирные дыры.
Сейчас нужно отправить SVG на принтер на обычной бумаге. И сделать с этой бумагой следующее:
- Поприкладывать к ней компоненты и проверить футпринты (которые по-любому уже пришли, если у вас на плате больше трех-пяти компонентов: протрассировать всё за один вечер сложновато)
- Приложить к текстолиту и накернить 4 габаритных отверстия по углам, которые мы добавляли
- Взять керн (или гвоздь) с молотком и сделать сверхточную неглубокую вмятину, поглощающую заблудшие свёрла. Сила удара должна быть такой, чтобы не деформировать плату.
- Просверлить 4 отверстия самым тонким сверлом (0.6-0.8) ровно под 90 градусов. Это, пожалуй, самая сложная часть, но ошибки условно допустимы; способ их последующего исправления придуман.
- Если есть станок, Вам повезло.
- Если есть CNC, Вам крупно повезло, фигачьте всё отверстия по DRL-файлу прямо сейчас безо всяких кернов-*ернов.
Легко догадаться, что отверстия нужны для точного ориентирования переднего слоя относительно заднего. Если хочется проще, есть способ без отверстий: очень точно сложить бумажку с шаблоном и поместить текстолит внутрь. Как уже было сказано, небольшое отклонение не станет фатальным (если, конечно, отверстия еще не просверлены)
Такс, это раздел про SVG, а мы уже к станкам перешли… Всё, последний штрих по SVG и больше комп не понадобится:
Залейте чёрным всё вокруг, чтобы части текстолита, которые не относятся к плате не травились и не насыщали персульфат аммония медью. Да, хлорное железо тоже можно, но аммоний синенький.
SVG --> Текстолит
Вся статья, на самом деле, написана только ради того, чтобы поделиться с миром самой правильной бумагой для ЛУТа. Вот она:
Также, у нас есть информация о пригожести бумаги Black Diamond. Другие марки могут обладать необходимыми свойствами, а могут нет. HP не подходит точно (плавится под утюгом), Lomond условно подходит, "но как-то средне". Можно экспериментировать с разной глянцевой фотобумагой для струйной печати. Пишите в коменты чо как с другими бумагами )
Алгоритм:
- Ставим утюг греться на максимальную температуру.
- Шлифуем текстолит с обеих сторон мелкой наждачкой, губкой для посуды или абразивным ластиком.
- Если Ваш принтер умеет кушать форматы отличные от A4, Отрезаем от А4 полоску по размеру изображения. Бумага сверхценная: если Вам удалось её достать, надо экономить.
- Заталкиваем в принтер узкой стороной. Проверяем, что изображение двух слоёв платы не превышает ширины отрезанной полоски по ширине и 210 по высоте.
- Печатаем лазерником с оригинальным тонером в картридже на этой глянцевой фотобумаге для струйных принтеров. < — Lifehack of the Article
- Не прикасаясь к тонеру, разрезаем слои на две отдельные бумажки и дырявим габаритные отверстия на обоих слоях.
- Вставляем прямые штырьки (например, от PLS/PLD гребёнки) в 4 габаритных отверстия.
- Насаживаем передний слой.
- Проглаживаем равномерно, сильно не надавливая, до пожелтения бумаги (или еще каких-либо знаков свыше, это всё-таки ЛУТ, совсем от магии, наверно, невозможно). Штырьки можно вытащить когда бумага начнет прилипать и потеряет способность смещаться.
- Не отдирая бумагу от текстолита, повторяем последние три пункта с задним слоем.
- Даём текстолиту остыть: можно пока поставить греться чайник и начать разбодяживать персульфат аммония.
- С остывшего текстолита (без воды, это архиважно) аккуратненько отодрать лишнюю бумагу. Тонер должен сойти вместе с глянцевым слоем фотобумаги, так и было задумано.
В случае ошибок, можно стереть один из слоёв ацетоном, подложить уже оторванную бумажку противоположного слоя (чтобы тонер не отлип от платы и не перевёлся на доску, на которой Вы гладите) и повторить.
Текстолит --> Текстолит с дорожками
Для травления, нам понадобится пластиковый контейнер (или любая не-металлическая тара, в которую плата поместится лёжа). А так же, одноразовая ложка или варибаси для помешивания платы (против пузырьков, которые мешают травиться).
Персульфат аммония рекомендуется разводить в тёплой воде 1:2 по массе. Но когда я попытался приблизиться к такой концентрации у меня почему-то ничего не травилось. Думаю 1:3 или даже 1:4 хватит. В конце концов, можно еще подразмешать потом. Рекомендуемая температура 40 градусов, но пфффф, 70 норм, Вы же не хотите час медитировать на синюю жижу в респираторе, помешивая её своей платой?
Однако, учтите, что перегревать всякого рода химикаты довольно опасно. Был у нас случай однажды когда что-то пошло не так и стало крипово:
https://vk.com/video-24764675_456239191
Вроде так и не выяснили чо это было.
Желательно поддерживать температуру в районе 50-70 градусов, чтобы травилось побыстрее. Для этого используют водяную баню. Если у Вас из крана может течь вода примерно такой температуры, водяная баня на проточной воде крайне рекомендована.
Если плохо травится, можно:
- Перестать помешивать
- Еще подождать
- Вытащить плату и подогреть раствор в микроволновке (аккуратно)
После травления, тонер стирается ацетоном.
Текстолит с дорожками --> Плата
Осталось просверлить и соединить переходные отверстия.
Лайфхак: Если так получилось, что имеет место быть смещение слоёв, его можно компенсировать углом наклона сверла.
С первого отверстия сложновато поймать нужный угол, так что лучше сначала сверлить наименее требовательные к выходной точке отверстия (например, те, что выходят в область металлизации или объемные острова меди)
После просверливания, необходимо соединить отверстия. Разумеется, мы будем это делать с помощью резисторных/конденсаторных ножек и паяльника. Но иногда на переходное отверстие надо сверху поставить SMD-компонент, и в этом случае высокая плюшка припоя недопустима. Мы придумали следующий трюк:
- Запаиваем штырь
- Стачиваем гравёром всё лишнее
- ....
- Профит!
Типа всё ))
Можно запаивать компоненты и врубать питание.
А после тестирования и исправления, привести в порядок переходные отверстия, перенести текст и логотипы на слой шелкографии и заказать фиолетовые платы на OSHPark, или много плат на EasyEDA.
Плата на КДПВ действительно изготовлена ЛУТом, а не заказана с OSHPark. Фиолетовая паяльная маска решает :)
Вот еще годный видос для дальнейшего изучения всякого рода тонкостей:
Спасибо за внимание!
Автор: Владислав Глаголев