Проектирование печатной платы и изготовление устройства в Eagle Cad на примере PICKit2

Предыстория
На днях возникла необходимость собрать программатор PicKit2, да и сам программатор хотелось сделать маленьким, дабы можно было удобно с собой таскать. Как раз на форуме видел несколько тем про двухсторонние платы по методу ЛУТ или ЛЛТ, в частности про изготовление двухсторонних плат, в которых основная засада это совмещение двух сторон идеально точно. Постараюсь на конкретном примере именно этого программатора рассказать, как это делаю я. Разумеется, в своем повествовании буду использовать программу Eagle Cad.

Недавно DI HALT на своем сайте публиковал ряд статей по Eagle Cad (Часть 1, Часть 2 и часть 3)

Программа сама по себе довольна интересна, хотя и заточена на автоматическое производство и сравнивать ее с Sprint Layout не имеет смысла, т.к это две абсолютно разные программы. Каждая из которых хороша для своих масштабов.

Например, мне в Eagle нравится то, что и схема и плата все вместе. Как отмечал DI HALT, при разводке очень удобна подсветка связей которые в данный момент трассируешь, если есть желание то можно сразу, после того как плата готова, создать выходные файлы и отдать на производство. В итоге получить красивую зелененькую плату, но в данной статье речь пойдет не об этом.

Но я немного отвлекся… Итак, скачали Eagle Cad, установили ту версию какая нравится (Demo или порыскали и нашли ключик), прочитали прошлые статьи и получили примерное представление о том что же представляет из себя Eagle Cad.

Последняя версия на данный момент Eagle Cad 5.10.0, вот в ней и будем рисовать, трассировать, печатать и потом делать наш программатор PicKit2.

Для начала нам разумеется потребуется сама схема PicKit2. С этим, как правило, проблем нет достаточно дать запрос в любую поисковую систему — схема валяется на каждом углу.

После того как нашли схему, проанализируем ее. Нам ведь ее рисовать придется, вот и надо прикинуть какие из деталей которые на схеме есть уже присутствуют в стандартных библиотеках, а чего придется рисовать самим, сверяясь с даташитом на ту или иную деталь.

Предварительная оценка нам дает следующее:

  • Сам PIC18F2550 отсутствует в базе Eagle Cad.
  • 24LC512 тоже не видно.
  • MCP6001U (заменяется на MCP601) тоже не отзывается.
  • IRML6402 и FDC6020C также отсутствуют.

Вот именно эти компоненты нам и придется нарисовать. Остальное в базе есть. Кто то скажет — нафиг блин рисовать, я на сайт к CadSoft зайду и все скачаю, и будет в чем то прав, но не всегда все так хорошо бывает! Вырубили Интернет за неуплату или провайдер просто забил сегодня на абонентов и Интернет просто не работает, либо на сайте CadSoft просто нет библиотеки с нужным тебе компонентом, ну ни кайф ни кому его рисовать и все.

Подробно конечно на рисовании компонентов останавливаться не буду т.к. DI HALT в своих статьях рассказывал про это дело, так временами буду просто напоминать об этом.

Сам я когда что-либо делаю по схемам из Интернета, то первым делом, после анализа самой схемы, смотрю какие там компоненты используются и скачиваю на них даташиты, дабы иметь представление, что компонент из себя представляет, какие он имеет размеры и корпуса.

После этого смотрю по своим запасам, что есть в наличии, что можно выпаять, а что все-таки придется покупать. Кстати, в этом деле хорошо помогает организация домашних запасов, а именно сведение всех домашних деталей в базу. И тогда очень удобно залезть в базу и сразу понять что есть а чего нет. И не надо перекапывать кучу коробков, коробочек (Гы. А мне и база не нужна. Я так помню есть у меня что-то или нет. Могу не помнить точное количество, но вот наличие 100%. прим DI HALT).

Идеальный вариант — это когда одним махом собираешь все детали на устройство, а то может получится так, что плату сделал, а микросхему или контроллер не получается достать в нужном корпусе и придется переделывать все заново.

После того как все это дело посмотрел, примерно прикидываю в какой корпус все это дело можно упаковать. Часто, бродя по Интернету, натыкаешься на людей которые делают устройство и сначала сделают плату, а потом мучаются придумывая под нее корпус. В итоге, все это дело смахивает на коробку от ботинок (Дааа я такооой! А еще люблю стиль кишки наружу :) прим. DI HALT).

В данном случае, делаем мы программатор, который представляется довольно таки небольшим и его можно поместить в сравнительно маленькую коробочку.

Вот с предисловием закончил и теперь приступим к делу.

  • Нарисуем в Eagle Cad схему программатора.
  • Подберем небольшой корпус под сам программатор.
  • Нарисуем и сделаем трассировку нашей печатной платы и подготовим необходимые файлы для ее изготовления методом ЛУТ или ЛЛТ.
  • Изготовим ее методом ЛУТ или ЛЛТ и поместим в наш корпус.
  • Придумаем какую-то симпатичную наклейку на наш корпус дабы придать законченный и красивый вид нашему программатору.

Начнем с первого пункта, а именно со схемы. Запускаем Eagle, выбираем File>New> Library

Некоторых компонентов то у нас нет и нет самого главного, а именно контроллера PIC. Вот нам и надо его создать.
Перед нами открывается окно нашей новой библиотеки.

Дабы особо не мучаться с созданием корпуса, просто смотрим в даташит на контроллер и находим такой же корпус в библиотеках которые идут с Eagle.
Я например нашел корпус вот такого вида

После чего щелкаем правой кнопкой мышки и выбираем Copy to Library, и корпус появляется в нашей библиотеке.

После этого сохраняем нашу библиотеку под названием PicKit2.
Аналогичным образом, из других библиотек, добавляем необходимые нам корпуса, не забывая периодически сохранять библиотеку.
После того как добавили все необходимые корпуса, рисуем условное обозначение (УГО) элемента в принципиальной схеме и соединяем его с корпусом.
Останавливаться на этом подробно не буду т.к DI HALT в своих статьях рассказывал про это дело, так просто пару картинок.

Когда создали все отсутствующие компоненты выходим из библиотеки, не забыв сохранить.
После этого начинаем рисовать нашу схему, сверяясь со схемой скачанной из Интернета, заодно смотря какие детали можно заменить на те что есть под рукой в этой схеме. Например, FDC6020C заменяется на два полевика в SOT-23 корпусе, что я и сделал. Не знаю у кого как, но у меня в городе эту FDC6020C фиг купишь. Помимо этого, MCP6001U заменяется на MCP601 которую прикупить легче, да и корпус больше у нее будет.

По мере рисования схемы, добавляем новые компоненты и, если надо, модифицируем уже имеющиеся в базе Eagle. Я, например, первым делом открыл библиотеку rcl.lib и поменял размер контактных площадок у резисторов и конденсаторов размера 0805 и 1206 на вот такие

Размеры для миллиметровой сетки

Таким образом, немного расширил контактные площадки и теперь если протягивать проводник мимо контактных площадок, скажем у резистора 0805, и потом делать печатную плату, то остается вполне нормальный зазор. И не придется потом матерясь и выколупывать оттуда бумагу или глянцевый слой.

Постепенно рисуем схему, обозначаем связи и проводники. Я решил не мельчить с ней и сделал на двух листах как в оригинале (не проканает на Demo Eagle, но никто не мешает сделать лист размером с аэродром и раскидать там все. прим. Di Halt), и добавил рамку/ Так потом читать ее проще и когда распечатаешь выглядит прилично. Кстати, у Eagle есть один интересный прикол который очень помогает когда делаешь схему на нескольких листах. Поставил рамку на одном и на другом листе, а потом, когда прописываешь связи, если связь есть на другом листе, то Eagle сам, автоматом, прописывает координаты этого сигнала на другом листе. Вот пара картинок для примера.

Прикольно, как морской бой 2B, 5B. А первая цифра — номер листа. И поприкалываться можно если два человека будут сверять большую схему на нескольких листах.

Заканчиваем рисовать нашу схему. После чего запускаем проверку кнопочкой Errors и смотрим что программе не нравится.

А не нравится то ей и не так уж сильно, просто она предупреждает что на предохранителе нет номинала, что не обозвали рамку первого листа и рамку второго, что на контактах JP1-JP5 нет обозначений. Смотрим, если все устраивает и нет грубых ошибок, то посылаем это лесом.
У меня, например, в схеме JP1-JP5 это просто будут отверстия для запайки проводов для первоначального программирования контроллера.
В итоге у нас схема на двух листах, и пришло время покопаться по залежам, приглядеть небольшую коробочку.

Итак, плавно переходим ко второму пункту. Посмотрим куда это все можно упаковать.
Я для данного устройства присмотрел купленный когда-то футляр с крышечкой для двух пальчиковых батареек размера АА. Это добро сейчас можно прикупить практически везде, стоит оно в зависимости от места и жадности продавца от 10 до 40 руб. Выглядит вот так.

После того как замерили его внутри и покрутили повертели у нас вырисовывается следующая картинка

  • Размер платы 63х28,5 мм
  • Общая высота корпуса 16 мм
  • Толщина стенки 2мм

В принципе не плохо, немного узковато, ну да ничего.
Корпус померили и теперь ясно какая у нас будет плата. Это 2 стороны, светодиоды диаметром 3мм и небольшая кнопочка. Но еще остается вопрос с переключателем. Если его убрать, то в корпусе останется некрасивое прямоугольное отверстие, а туда например можно вывести разъем программирования от нашего программатора. Все устраивает? Тогда берем небольшие кусачки и аккуратно, не торопясь, откусываем все внутренние ребра в нашем корпусе в том числе и стоечку под винтик, крышка и так неплохо сидит за счет направляющих.

После того как все лишнее убрали получаем вот это.

Выступы, что на фотографии, слева оставил — к ним особо не подлезешь кусачками, даже маленькими, а ножом их вырезать слишком муторно. Когда будем рисовать платку сделаем небольшие углубления для этих выступов.

Таким образом, плавно подходим к третьему пункту, а именно рисуем и делаем трассировку нашей печатной платы, готовим необходимые файлы для ее дальнейшего изготовления.
Определились с размером нашей будущей платки, подобрали корпус, сняли с него размеры, переходим к созданию платы, для этого нажимаем на кнопочку Board,

и Eagle нас спросит действительно ли мы хотим сделать платку из схемы, отвечаем «да»

Перед нами откроется вот такое окно с названием Board. В нем мы видим некоторый контур и детальки насыпанные кучей с левой стороны.

Первым делом, нам надо сделать контур нашей платки. Как помним, она у нас по результатам замера получилась 63х28,5 мм.
Нажимаем на Grid ставим точку на «On» и точку на «Lines». После этого справа от значений Size и Alt в выпадающем меню выбираем миллиметры (мм), и пишем в значении Size цифру 0.5, после чего жмем ОК.

Таким образом, мы сделали видимой сетку и настроили ее шаг на 0,5 миллиметра.
Теперь берем инструмент Delete и удаляем тот контур, который был по умолчанию, после чего щелкаем по инструменту Wire и в окошке Select Layer (сверху слева), в списке слоев, выбираем слой Dimension, а в параметре Width выбираем значение 0.

После чего рисуем контур нашей будущей платки согласно тем размерам что мы намерили (63х28,5 мм). Для того, что бы сориентироваться в Eagle есть подсказка-крестик на рабочем поле. Это начало координат и его пересечение всегда равно нулю не зависимо от того какой шаг сетки выставлен, когда ведем нашу линию по клеткам то расстояние которое уже нарисовали видно под окошком выбора слоев

Итак, нарисовали контур платы, но надо внести некоторые дополнения. Помните я говорил про выступ который не кайф было вырезать? Вот теперь его нам и надо отметить на контуре нашей платки. Кто-то скажет «да нафиг, я его потом выпилю когда платку разведу и буду в корпус вставлять». И вот тут он легко наступит на очень большие и поганые грабли, а именно — не учтет этот вырез, разведет платку, проложит в этом месте дорожки, сделает ее и только потом, при вставке в корпус, увидит, что придется выпилить этот участок, а с ним и дорожку. В итоге, вся плата отправляется в хлам.

Продолжим, замеряем наш выступ, у меня получилось что он равен 3мм в каждую сторону, вот на этом и остановимся. Тем же инструментом, на слое Dimension, рисуем пару углов с расстоянием в 3мм по каждой из сторон и получаем контур нашей платки такого вида.

Выглядит ничего, но вот что-то блин не хватает, как то она не так смотрится. Сначала придадим платке более эстетичный вид, а именно уберем два лишних угла которые нам и так надо будет убрать в действительности щелкаем по инструменту Delete и поочередно на линиях угла который нам не нужен, наш инструмент обрезал линии точно до первого пересечения с другой линией. Как писал выше толщина стенок корпуса у нас 2мм и ее тоже не плохо будет обозначить на нашем рисунке платки, что мы и сделаем. Впоследствии она пригодится нам когда будем ставить разъемы. Так же на рисунке платы отметим наш вырез, который остался в корпусе после того как мы оттуда вытащили переключатель.
После всех этих действий получаем контур нашей платки вот такого вида

После того как придали форму нашей будущей платке, неплохо было бы подумать о том как ее крепить будем. Для этого можно поступить очень просто — сначала прикидываем какими винтиками мы будем ее крепить (для такого маленького корпуса и платки очень хорошо подойдут винтики от старой и ненужной аудиокассеты их там как раз 5 штук но нам потребуется наверно 4 штуки), смотрим диаметр шляпки, либо просто прикидываем на глаз. После чего жмем на кнопку Change и в выпадающем списке выбираем Diameter. Там видим несколько диаметров, но нам то нужен свой, поэтому щелкаем на трех точках в конце списка

Перед нами откроется вот такое окно:

В него и пишем наш диаметр, я например написал так, после чего щелкаем ОК.

После этого щелкаем по Via и вверху видим формы окружности. В списке Diameter наш диаметре окружности, а в списке Drill — диаметр сверла или, как в нашем случае, размер точки внутри пятачка.

Поле этого ставим в углах нашей платки четыре таких пятачка — это и будут наши крепежные отверстия. Внешний диаметр круга поможет нам не залезть при трассировке нашей платки куда не надо, а внутренний поможет нам при ее дальнейшем сверлении и позволит просверлить дырочки для винтиков.

После того как нарисовали контур платки и поставили крепежные отверстия, можно приступить к разводке самой платы. Все элементы выпускаемые разными производителями имеют абсолютно разные размеры и разные посадочные места. Дабы не попасть на мощные грабли с непопаданием дорожки в центр детали из-за разных размеров мы выставим шаг сетки равный 0,1мм. Сначала поставим наш USB разъем, сориентируем его по левой части платки и по ее центру. В списке слоев

отключаем слои tValues и bValues

это номиналы элементов и они нам совершенно не нужны на нашей платке
Нажимаем на инструмент Move

В командной стоке набираем имя этого разъема в нашем случае это J2

Щелкаем Enter на клавиатуре и разъем сам прыгнет из кучи деталей, что у нас слева, под курсор мышки. При этом привяжется своим центром к координатной сетке. После того как разъем у нас под курсором просто щелкаем левой кнопкой мыши где то на нашей платке нам пока особой разницы нет где.

После этого нам надо посмотреть центр нашей платки (можно конечно прилепить и сбоку но как то не очень красиво будет), где будет стоять разъем, и просто считаем 28.5, делим на два и получаем 14.2. После этого щелкнем по инструменту Info

А затем по нашему USB разъему. У нас отрывается окно с информацией об элементе, где вверху мы видим наши координаты. Вот и впишем туда то, что мы только что посчитали. Потом жмем «ОК» и наш разъем становится посередине платы, а его ответная часть выступает немного за нее.

Теперь осталось выбрать инструмент Lock и щелкнуть на нашем разъеме, тем самым заблокировав его от случайного смещения.

Крестик на элементе повернулся на 45 градусов, показывая тем самым, что элемент заблокирован. Подобным образом сразу выставим и разъем программирования нашего программатора, в том месте, где у нас в корпусе остался вырез от переключателя.

Дальше все просто, берем поочередно элементы и тащим на плату, либо каждый раз выбирая их из кучи, либо используя принцип командной строки (сам обычно пользуюсь строкой, ну не кайф мне выискивать в куче элементы и таскать их на платку). Таким образом, разводим наши проводники, периодически не забывая нажимать на кнопочку Ratsnest

она будет перекидывать наши висячие не разведенные связи по кратчайшим путям, да и заодно можно поглядеть сколько не разведенных связей еще осталось.

Таким образом, постепенно накидывая детали на плату мы ее трассируем. После того как развели всю платку,

еще раз, для контроля, жмем на Ratsnest. И если нигде не осталось висячих связей, то видим вот такую надпись.

Ура, платку развели, теперь осталось совсем немного: сделать земляной полигон, победить жадность лазерного принтера, когда он не хочет нормально заливать тонером большие участки и поставить какую нить надпись. После чего приготовить нашу платку для изготовления методом ЛУТ или ЛЛТ.

Как сделать полигон? Очень просто! Выбираем слой, например Bottom, щелкаем на Polygon и очерчиваем полигоном по нашему контуру платки. Начало и конец полигона должны замкнутся. После того как замкнули полигон он становится похож на пунктирную линию. Щелкаем инструментом Name по нашей пунктирнуй линии и в окошко вписываем GND, т.е мы присвоили полигону имя земляной цепи. Жмем ОК и после этого Жмем на инструмент Info, затем снова на наш полигон и выставляем параметры. Таким образом, мы делаем заливку сеточкой, т.е обходим жадность принтера по заливке больших областей и, заодно, устанавливаем отступы от края и деталей. Теперь осталось только нажать на Ratsnest и наш полигон сам пристыкуется куда надо. Для слоя TOP то же самое.

Плата выглядит хорошо, но есть один небольшой нюанс — наш кварцевый резонатор расположен со стороны слоя Bottom, а программа в том месте где будет кварц залила свободный участок полигоном, что не есть хорошо. Для устранения неприятности берем инструмент Wire и на слое bRestrict рисуем небольшой контур там, где стоит наш кварц, после чего снова жмем на Ratsnest и полигон больше в эту область не заливается.

Теперь поставим нашу надпись на платку, ведь платка должна же иметь какое то имя. Щелкаем на инструмент Text и вписываем текст, в нашем случае это PICKIT2. В настройке текста ставим его тип на «векторный», а процент сглаживания на 20%. Когда мы будем выгонять нашу платку через CAM процессор, то текст останется таким же как мы его и создали и не будет искажен.

Вот теперь мы имеем нашу платку с надписью, полигоном и прочим. Осталось ее подготовить для изготовления. Тут специально не приводил картинок, оставил, так сказать, место подумать головой. Идем дальше. Наша платка выглядит неплохо, но надо подумать над двумя вещами: первая — как будем совмещать две стороны и вторая — как нам потом ровно обрезать нашу плату.

Для первого пункта поставим в ненужных нам зонах четыре отверстия Via, а со вторым пунктом поступим хитрее. Выберем инструмент Rect

и с его помощью на слое Bottom нарисуем вот такую рамочку, после того как протравим платку она поможет ее ровно обрезать, да и заодно увидим на сколько нужно будет сделать выточки по углам.

Почему я делаю именно так? Да все очень просто, я обычно работаю с текстолитом толщиной 1мм и когда платка вытравится просто прикладываю линейку по этим маркерам и с помощью канцелярского ножа прорезаю примерно до половины толщины текстолита. А потом, с помощью плоскогубцев, обломываю. В итоге, получается аккуратный и ровный край.
Раньше пробовал и пилку по металлу и ножницы, но это все не то. Пилкой не удобно, особенно если плата небольшая, а ножницы при резке расслаивают и, что самое пагубное, деформируют стеклотекстолит. И попробуйте с помощью ножниц, например, распустить лист текстолита формата А3, скажем на несколько листов формата А5 (ORLY??? А я до сих пор не в курсе! О_о приезжай, я те покажу как надо текстолит ножницами по металу кроить. прим. DI HALT)

Идем дальше.
У тех кто просто брал элементы из библиотек Eagle, вполне может быть такой прикол, что отверстия под элементы или отверстия переходные большие и их центр тоже большой, так что при сверлении в центр отверстия фиг попадешь. Для этого в Eagle есть набор макросов. Жмем на кнопку UPL ( наверху) выбираем из списка макрос drill-aid.upl После того как нажмем ОК в его окошке, вводим желаемый диаметр внутреннего отверстия. Меня например прикалывает 0.6

После этого действия у нас на плате все отверстия становятся с внутренним диаметром 0,6 мм, а в списке слоев появляется еще один дополнительный слой с именем centerDrill.

При этом если мы хотим чуть поправить расположение отверстий, то надо выделить все пятачки на слое centerDrill и удалить их нафиг. А потом снова сделать drill-aid.

После всего этого нам осталось лишь сделать файлы для изготовления платки. Нажимаем на кнопочку CAM

и у нас откроется окошко CAM Processor

Теперь в поле Device выбираем PS (если делаем пленочным фоторезистом, то PS_INVERTED, тут возможны некоторые траблы с инверсным выводом? Особенно если присутствует слой с дырочками, так что лучше сразу сделать отверстия в центре какие хочется) остальные опции оставляем как есть. В поле файл прописываем путь куда сохранить наш файл, снимаем галочку с опции Fill pads и, справа, выбираем слои которые нужно выводить, в итоге это у нас выглядит вот так.

После этого жмем на кнопку Process Job и у нас, в том каталоге что указали в окошке File, появится файлы с нашими дорожками со слоя Top. Аналогично делаем для слоя Bottom. И я, обычно, всегда отдельным файлом вывожу слой centerDrill.

Верхнюю сторону можно отразить и тут, поставив галочку на Mirror, но я люблю сам контролировать процесс, поэтому делаю это немного другим способом.

После того как сформировали выходные файлы, нам надо их открыть и распечатать для дальнейшего изготовления. Тут можно воспользоваться любой программой которая понимает файлы *.ps. Я для этих целей пользуюсь CorelDraw, вот на ее примере и буду рассказывать дальше. Файлы сформировали и вот они в нашем каталоге

Но они у нас немного обезличены, на всякий случай добавим ка мы им расширение.

Вот теперь все выглядит как надо и аккуратненько.
Запускаем наш CorelDraw и выбираем открыть файл, выбираем сначала файл с именем Bottom.
При таком действии программа спрашивает как ей поступить при импорте файла — оставить текст как есть или сделать его из кривых.

Вот для этого я и говорил выше что текст надо сделать векторным. Оставляем все как есть и просто жмем ОК.
В итоге, видим вот такую картину и на ней наш текст который мы нанесли на плату выглядит не тонким не толстым не корявым а именно таким как он и есть у нас в Eagle

Теперь, аналогичным образом, открываем файлы с верхней стороной и с нашими отверстиями. Отверстия ставим вместе с платкой и собираем это все на один лист, при желании делаем несколько копий на листе. Подробно на этом останавливаться не буду т.к тот кто знаком с программой CorelDraw знает как это сделать, а тому кто не знает надо хоть минимально ее изучить. Т.к. Если описывать ее хотя бы вкратце, то тоже будет статейка причем довольно приличного размера.

Итак вот наш полученный результат.

Вот и готова наша платка для распечатки и изготовления методом ЛУТ или ЛЛТ, остается ее только распечатать на той бумаге на которой у каждого кто делает платы по этим технологиям получается лучше всего.

Почему я воспользовался для подготовки и последующей печати именно программой CorelDraw, да все очень просто — эта программа векторный редактор и при выходе на печать файлов, не будет растрового рисунка из сеточки присущего всем растровым редакторам (ORLY??? Ни разу не встречал прим. DI HALT), дорожки будут гладенькие и ровные. Что в последствии только положительно скажется на переносе тонера на наш стеклотекстолит, а еще и потому что я в ней делаю передние панели.

Вот так постепенно подошли к нашему четвертому пункту, в котором делаем непосредственно нашу двухстороннюю платку и помещаем ее в наш корпус.

Берем бумагу на которой у нас получается перенос тонера лучше всего, я например пользуюсь обычными глянцевыми журналами например таким (Не учи людей плохому! Они же потом будут ходить по формумам и жаловаться, что у них ЛУТом нихрена не получилось и пополнят ряды фоторезистивщиков. Забейте на журналы, там всегда бумага разная, а значит результат непредсказуемый. У кого то получается с первого раза, а кто то и 1 мм дорожку сделать не может. Юзайте проверенные и стабильные по своим свойствам материалы. Вроде фотобумаги или подложки от самоклеек прим. DI HALT)

Печатаем наш рисунок печатной платы, при этом ставим настройки принтера на максимальную подачу тонера, отключаем всякие сберегающие режимы. Принтеры для этого дела у всех разные я для ЛУТ использую такой.

Распечатали наш рисунок

Затем режем нашу распечатку на полоски, остальные откладываем. Оставляем верхнюю и нижнюю стороны. Еще нам потребуется обычный клеящий карандаш и четыре иголки.

Берем наши напечатанные две стороны платки и по тем отверстиям, что мы сделали в программе, в центре аккуратно прокалываем иголками четыре отверстия. Потом в отверстия вставляем иголочки, переворачиваем и одеваем на иголочки вторую сторону платы. После чего проклеиваем слева и справа клеящим карандашом.

Берем текстолит, зачищаем, обезжириваем. Для зачистки я обычно использую не шкурку, а обычную стирательную резинку. Суперская и крутая вещь, можно отчистить даже стеклотекстолит залапанный нерадивыми продавцами и купленный на радиорынке, и он будет блестящим и красивым. Советую попробовать.

Небольшое отступление, раньше платы делал просто утюгом, но в последнее время, в связи с переходом на фоторезист (вот оно дурное влияние юзания презренных глянцевых журналов!!! Я же говорил!!! прим.DI HALT), прикупил себе ламинатор. Он великолепно подходит для изготовления плат по технологии ЛУТ. Так что теперь делаю и так и так — ламинатор рулит.
Я использую вот такую модель:

Плату зачистили, поместили между нашими совмещенными сторонами платки и пропустили через ламинатор. После чего бежим в ванную и отмачиваем нашу бумагу с обоих сторон. После того как отмочили, смотрим на свету на предмет всяких отставаний тонера и прочего. Если что-то где-то не нравится то подрисовываем маркером и подцарапываем скальпелем. Когда правильно подобрана температура, то его после отмачивания бумаги тонер сложно отколупать даже ногтями.

Посмотрели — все нормально, тогда можно платку и в травильный растовор положить для получения рельефа дорожек.
После того как наша платка вытравилась (при таком подходе получаем великолепное совмещение сторон),

нам осталось всего ничего — залудить платку, просверлить необходимые отверстия, обрезать и припаять детали.
Лужу я платки обычно методом купания в кипятке со сплавом Розе Очень удобно! Особенно когда надо залудить платку на которой мелкие корпуса у микросхем, например та же FT232RL в SSOP корпусе. И если лудить просто паяльником, то есть шанс оторвать мелкие контактные площадки. Поле того как залудили платку с двух сторон, я обычно помещаю ее в обычный скотч и сверлю и обрезаю.

В качестве сверлилки у меня выступает вот такой агрегат от Proxxon.

Им и посверлить можно и обточить, и подровнять если что-то мастеришь.
Затем берем металлическую линейку и обычный канцелярский нож я, например, пользуюсь вот таким.

Приложили линейку по нашим маркерам и прорезали ножом примерно до середины (стеклотекстолит толщина 1мм), потом взяли плоскогубцы и аккуратно по нашему шву, по всей длине, слегка надламывая, проходимся пару раз не торопясь, в итоге не нужная часть обламывается, а у нас получается ровненькая сторона платки.
Дальше выпилили два маленьких углубления и немного расточили (1мм) окошко в корпусе, где раньше был переключатель, дабы туда стал наш разъем. Разъем используем типа PBD. Итак, разъем проходит в расширенное отверстие. Делаем первую примерку.

Примерили — все вроде нормально, тогда сверлим дырочки под светодиоды и под кнопочку.

Теперь надо из чего-то сообразить стойки под нашу платку, тем более что стойки будут не высокими. Тут на помощь приходит пустой стержень от гелиевой ручки (очень удобно с его помощью крепить индикаторы формата 16х1 или 16х2) и купленная в магазине (обитает в магазинах для авто или на рынке) холодная сварка под названием «Poxipol».

Это двухкомпонентный материал, не греется и сохнет зараза быстро (примерно 10 мин).
Смешиваем два компонента и с помощью шпателя, который идет в коробочке, быстренько напихиваем в наш стержень, предварительно вытащив пишущий узел При этом не забываем тряпочкой вытирать то что вылезает по сторонам иначе когда застынет фиг потом отдерешь.

После чего даем ему застыть примерно в районе получаса, а лучше оставить до утра как рекомендуют изготовители. Далее режем наш стержень на стоечки необходимой высоты (у меня получилось 6,5 мм), по центру сверлим маленьким сверлом в застывшем компаунде небольшие дырочки, вкручиваем винтики и все это хозяйство приклеиваем к корпусу.

Пока сохнет наш клей, который мы используем для приклеивания стоечек, возьмем гелиевую ручку, желательной красного цвета (его хорошо будет видно на темном корпусе), приложим наш USB разъем и разметим место где нам потребуется сделать окошко под него. После того как наш клей застыл, откручиваем винтики, снимаем плату в корпусе и видим наши приклеенные стоечки. Заодно выпилим и наше размеченное окошко под USB разъем.

Теперь берем платку и пропаиваем сначала все переходные отверстия, затем припаиваем все резисторы, конденсаторы, диоды. Следующим шагом запаиваем операционный усилитель и, непосредственно, сам микропроцессор. Припаиваем кнопку, припаиваем катушку преобразователя. В итоге, у нас остаются не припаянные светодиоды, разъем USB и разъем от нашего программатора через который мы в дальнейшем будем программировать наши контроллеры.

Вставляем в отверстия платы светодиоды, разъем программатора и сверху разъем USB. После чего кладем корпус на ровную поверхность и вставляем в него нашу платку, прикручивая ее винтиками к нашим стоечкам. Чтобы светодиоды и разъем программатора были на одном уровне с лицевой поверхностью, ничего не проваливалось внутрь и не выпирало наружу. При таком подходе я этого добиваюсь сразу, все детали займут свои места и разъем в отверстии, и светодиоды, и разъем USB. Если есть какие неточности при выпиливании либо сверлении (интересно поглядеть у кого их нет), то детали сразу занимают свои места и не придется потом материться и подгонять. После этого припаиваем разъем программирования, разъем USB и светодиоды. В итоге, у нас плата стоит в нашем корпусе и все припаяно, осталось запрограммировать контроллер.

После того как запрограммировали контроллер и убедились что все работает, остался последний штрих — это сделать наклейку на лицевую сторону нашей коробочки и устройства смонтированного в ней.

Лицевая панель
Вот так, постепенно, мы и перешли к последнему пункту построения программатора и нам осталось лишь сделать наклейку на лицевую панель.
В первом пункте когда искали схему программатора то нам попадались и сами картинки программатора PicKit2 вот одну из них мы и сохраняем к себе на компьютер.

Теперь, ориентируясь на цветовые решения использованные в оригинальном программаторе, сделаем себе наклейку на наш изготовленный программатор.
Как видим, в оригинальном исполнении программатора присутствуют красно-белый логотип и надписи, поясняющие функциональные назначения светодиодов. В оригинальном PicKit2 используется метод тампопечати, в домашних условиях его, в принципе, сделать можно, но не целесообразно ввиду большой цены краски и трудозатрат. Для одного то корпуса чего стараться, вот если бы делать партию из 200-300 корпусов, то тогда да.
В домашних условиях если надо сделать наклейку на корпус изготовленного самостоятельно устройства, то на помощь обычно приходит принтер, бумага или пленка.

Вот с помощью пленки для лазерного или струйного принтера мы и сделаем наклейку на наш корпус. Преимущества такого подхода очевидны — надпись выглядит аккуратно и красиво, защищена от грязных рук и истирания, не надо городить сложного инвентаря.

Если используется распечатка на обычном листе бумаги, тут можно поступить просто — нанести сверху пленку для холодного ламинирования, которую можно купить в любой конторе которая торгует материалами для рекламного производства. Если пойдем в контору за пленкой для холодного ламинирования, то так же рекомендую там прикупить и двухстороннего скотча. Только не форматного типа A4, а того что продают на метраж. 1-го метра хватит для домашних поделок надолго, а по цене выйдет реально дешевле.

Для изготовления наклейки я буду использовать программу CorelDraw. Наша цель максимально приблизить наклейку по качеству к оригиналу, поэтому всякие программы типа PhotoShop сразу двигаются в сторону лесной тропинки т.к. они предназначены для работы с растровыми изображениями, а нам нужен векторный рисунок (имхо это уже задротство. Т.к. даже 600х400 растр можно растянуть и напечатать. На картинке размером со спичечный коробок разницы в качестве не будет прим. DI HALT). Перед нами стоит задача снять с фотки, найденной в Интернете, логотип фирмы Микрочип и поместить его на нашу наклейку.

У нас есть наш файл с фотографией скачанный из интернета.

Открываем Корел и вставляем нашу фотку. После того как наша картинка появилась на рабочем поле, неплохо было бы ее повернуть и зафиксировать. Чтобы не сдвинуть ее случайно, пока мы будем с нее срисовывать логотип и фирменную надпись Микрочипа. После того как зафиксировали картинку мы постепенно обрисовываем логотип и надпись.

Картинка нам больше не нужна и ее можно удалить, а сам файл с логотипом сохранить (мало ли когда он еще пригодится).

Теперь берем наш корпус и замеряем ширину и высоту наклейки, отступы под разъем программирования и расстояния от краев до наших светодиодов, не забываем учесть некоторые поправки на неточности изготовления.
После того как замерили, делаем соответствующий набросок в Кореле.

Кнопку на переднюю панель я в итоге решил не выводить, хотя на самой плате она и припаяна толку о нее все равно не много — используется в основном для обновления прошивки и для работы с программатором. Пишем наши надписи, ставим логотип и фирменную надпись Микрочипа, стрелочкой указываем номер первого контакта разъема, делаем небольшую табличку-напоминалку с какого контакта у нас какой сигнал идет и не забываем про светодиоды.

Вот в принципе и все, осталось сделать только черный фон, чтобы наша наклейка не слишком выбивалась из общей картины корпуса и бело-красные надписи, чтобы придать большее сходство нашей наклейки с оригиналом.

Печатаем на любом цветном принтере. Если нет цветного, то сгодится и черно-белый, но будет не так гламурно.

В процессе рисования наклейки помним, что белые области на пленке будут просто прозрачными и при наложении на наш черный корпус станут черными, а это не есть хорошо и загубит всю работу.

Поэтому тут поступаем следующим образом — берем белый маркер и в тех местах, где у нас белые надписи, просто подкрашиваем пленку в белый цвет.

Может также возникнуть ситуация, что дома нет цветного принтера, а есть обычный лазерник, тогда делаем все надписи белым и печатаем на пленке. После того как распечатали на пленке они все стали прозрачными, берем два маркера красный и белый и с обратной стороны пленки раскрашиваем как нам надо.

После того как придали нормальный внешний вид нашей наклейке, клеим на обратную сторону двухсторонний скотч и прилепляем ее на наш изготовленный программатор.

Также хочу добавить, что перед тем как печатать наклейку не забываем, что если печатаем на обычной бумаге, то ее зеркалить не надо. А вот если печатаем на пленке, то наклейку надо отзеркалить.

Вот в принципе и все. В статье постарался максимально подробно рассказать как можно сделать дома из подручных материалов готовое устройство. Как подойти к процессу его разработки и изготовления, как сделать двухстороннюю плату и как потом всему этому придать красивый и законченный вид.

Архивчик с файлами
Содержит схему программатора, печатную плату, файлы постскрипта слоев, файл Corel с двумя сторонами платы и файл Corel с наклейкой для цветного и черно-белого принтера.

81 thoughts on “Проектирование печатной платы и изготовление устройства в Eagle Cad на примере PICKit2”

  1. с иголками понравилось
    у меня как раз навалом двухстороннего 2мм текстолита и надо его утилизировать
    буду делать теперь 2 стороны

    а еще я фоторезист осваиваю
    купил на пробу негативный ,а к нему еще свой проявитель надо
    так что негативный не берите

    1. Если тестолит 1,5 и более толщиной то не забудь поправку на толщину учесть. В идеале отверстия с иголками за границами платы потом кладешь текстолит а сверху вторую сторону одеваешь на иголки, и потом все клеешь.

      Там проявителя какого-то крутого не надо.
      Если негативный то попробуй в качестве проявителя кальчинировануую соду чайная ложка с горкой на 0,5л водички или на краняк обычный канцелярский клей две чайные ложки на 0,5 литра водички.

    2. Негативный проявляется 1% раствором поташа, K2CO3.
      Используется в чб фотографии и в пищевой промышленности (разрыхлитель), я покупал пищевой у поставщика промышленных химреактивов, они с удовольствием продали мне 1кг, за 3 бакса :о))

    3. Кстати, забыл сказать, для полного смывания негативки (я использую MG Chemicals) после травления платы годиться 1% раствор каустической соды, он же едкий натр (средство для пробивки канализационных труб «Крот»), который используется как проявитель для позитива :о)

  2. >>ПоСле того как залудили платку с двух сторон, я обычно помещаю ее в обычный скотч..
    Непонятно, зачем это. Чтобы не окислялись дорожки? Можно для этих целей использовать спиртоканифольный флюс. И паять потом удобнее.

      1. 1) Разве на этом этапе так уж страшно заляпать плату руками?
        2) Смыть СКФ спиртом не так уж и трудно, если хочется. // Да и смывать рекомендуют, правда мне часто лень
        3) По поводу принтера. У меня ML-1640, родной тонер на исходе. Вопрос такой: Ваш принтер уже заправлялся? Если да, то как изменилось качество ЛУТ?

        1. 1. Страшно не страшно, но мне нравится так, и если плату сейчас не планируется паять то на столе может валяться сколько угодно. В общем мне нравится так как говорится н вкус и цвет товарищей нет.
          2. Нравится вид загаженной платы ?
          3. Пока картридж еще не менял, у меня этот принтер только для ЛУТ стоит, да и когда тонер закончится думаю пляски с бубном делать не буду, куплю просто новый картридж.

  3. Кстати кто не понял на последней фотке и есть тот белый маркер :) про который я говорил. Эта фигня представляет из себя емкость с краской и когда закрашиваем наклейку то не возюкаем а то тонер плывет 100% а наносим точечные удары как при бомбежке.

  4. Отлично. Раньше две стороны делал так
    1. Перевод 1 стороны
    2. Травление
    3. Сверление
    4. Подгонка рисунка 2 стороны, ее перевод и травление.
    С иголками, видимо, будет намного проще. Надо будет попробовать. Как раз сейчас делаю 2 стороннюю плату.
    Насчет стоек тоже понравилось. Только вопрос — какие винты вкручивать? Они нормально сами себе нарежут резьбу и будут там держаться? Стойки закреплены соплей?

    1. В статье писал что в этом проекте использовал винтики от аудиокассеты.
      Нормально, они типа маленьких саморезов.

      1.Заливаем.
      2. Сверлим, примерно на 1,8 диаметра т.е если диам 2 то дырка 1,5-1,8.
      3.Вкручиваем и прикручиваем к плате.
      4. Клеим.
      5.Как клей высох откручиваем.

      Единственно что не стоит перетягивать, когда вкручиваешь.
      Крепил тем же поксиполом :)
      Хотя можно и клеивым пистолетом, тут большой простор для творчества

  5. Отличная статья. Вопрос: ламинатор подвергался модификациям? Мой на предельных 160 град. не приклеивает картинку к плате даже за несколько раз, а утюг на 95 запрасто (проверено пирометром ;-))

    1. Не пока не модифицировал, все блин руки не доходят ему объяснить как он работать и греть должон просто когда платку ваяю прогоняю несколько раз в зависимости от размера платы. Попробуй подобрать количество прогонов эксперементально.

    2. Ламинатор нужно искать с предельной температурой на 180 градусов, не ниже. При 160 тонер плохо плавится, да и то не весь. Я вот до сих пор в поиске такого устройства :) причем в каталогах фирм производителей есть подходящие модели, а где их купить/заказать в Томске — не знаю. Может есть тут кто из Томска, подскажите где у нас логово ламинаторов?

    1. Сам с пиками тож не работаю еще со времен 16F у них трабла пока не подашь 12V нормально не прошьешь вот поэтому и перешел на AVR. А это просто надо было для одного проектика да и спор вышел с другом который говорил что в такой небольшой размер я фиг уложу все :) в итоге ящик пива мой :)

      Замазал шпиенские данные да всяко разно что на столе валялось.

    1. Если честно, не считал, из деталей покупал только сам микроконтроллер, катушку и транзисторы полевые ну пускай это все будет рублей 350 а остальное у меня все уже было. По плате видно что например конденсаторы размера С хотя и можно было прикупить и размера А.

  6. Когда раньше двусторонки делал, тоже иголки использовал… Не понравилось. Теперь по-другому делаю; когда плату развел (в p-cad рисую их), то копирую один из слоев, ставлю скопированное рядом, зеркалю, ставлю маркеры — ну чтоб совмещать было удобнее потом, дальше удаляю скопированный слой (кроме переходных отверстий) и на печать. В результате на одной бумажке получаем сразу два связанных слоя, сгибаем по линии сгиба, накладывем ее на текстолит, смотрим чтоб маркеры более менее совпали и в ламинатор. Полгода так делаю — ни одного испорченного куска текстолита…

  7. Ламинатор рулит. Но вот по поводу двух сторон… Я печатаю обе стороны, реперные точки и линию перегиба листа. Аккуратно сгибаю, совмещаю изображения, аккуратно закладываю внутрь текстолит и нет проблем.

      1. DI_HALT, Спасибо огромное, просто пробовал не на SMD элементах и поэтому не заметил, что они действительно на нижнюю сторону перебираются, а сейчас на SMD-шках уже уловил — действительно так оно и есть.
        PS. Z80- когда-то был и моим любимым процессором ;)

  8. Вставлю пять копеек, начал пробовать ЛУТ, ломонда не было, но под руку попала папка с плакатами из игромании х)
    отлично переводится, плакаты потолще страниц журнала, легко мокнут и скатываются, почти не отрывают тонер от платы. Просто кладу сверху А4 сложенный в четверо и утюг, жду секунд 40(не замерял, просто на глаз) получилось сделать площадки для SSOP28(не с первого раза, но я ж учусь только)
    поверх тонера получается белесая пленка, которая после протирки спиртосодержашей жидкостью исчезает, оставив крутые черные дорожки.

    вместо центропена пожно брать tukzar — также защищает от протрава(чуть позже могу сделать фото пруф-платы, сейчас в железе лежит)

    принтер Canon LBP2900 — тонер на макс.
    мне бы еще ламинатор х)

  9. Все работает,все супер!НО!В печатной плате небольшая ошибочка,немного не те корпуса для микрух памяти 24lc512.Когда изготавливал эту плату ,предварительно закупил все детали в том числе и микрухи памяти.как обнаружилось что выводы 24c512 немного длиннее чем на вытравленной плате ,но назад пути не было… и мне пришлось поступить следующим образом: для местоположения IC4(так обозначено в eagle) пришлось удлинить дорожки ,а для IC3 пришлось обрезать ножки памяти (на втором изгибе от корпуса),далее эти уже короткие ножки подогнул под микруху ,далее проверил чтобы не налазила на другие дорожки и припаял.

    1. Да, такое может быть запросто. Хотя у меня SО8 корпус и в эти посадочные места садился нормально. Когда проектировал плату, 24lc512 у меня в городе были только DIP в SO8 их фиг купишь, а через нет заказывать две микрухи, как то не то. Вот в процессе построения платки и оставил корпуса под SO8 с короткими ножками. Тем более эта память там как рыбе зонтик, она используется только если программируешь что-то без компа, но на программатор надо подать 5V иначе работать не будет. На моей фотке кстати видно что эти две микрухи памяти не установлены.

      Интересно фотку того что у тебя получилось покажешь?

      1. А зачем подавать на программатор 5в?просто я не понят что вы имели ввиду в этой фразе «но на программатор надо подать 5V иначе работать не будет.»

        фотки скину и корпуса (он такой же,только на три отсека…)

    1. Либо — сделать простейший программатор на LP или COM порт. Схем и программ в интернете — море. Возможны проблемы с железом — не всякий LPT порт будет работать.

      Либо — разобраться с bootloderom пика. Он там прошит.
      Мне было проще пройти первый путь.

  10. Спасибо за статью!

    Именно она побудила меня таки сделать PICkit2.

    Заработало все почти с полпинка. Была проблема с VPP, долго возился, оказалась неверная полярность электролита.

    Печатная плата, в основном, верна. Внес минимальные коррективы (площадки для микросхем памяти и.т.п)

  11. день добрый всем.
    очень хороший результат получается если использовать подложку от самоклеющейся пленки или же от самоклеющейся бумаги которая продается в бухгалтерских магазинах. с помощью ламинатора рисунок полностью переносится на плату.
    за статью автору спасибо

  12. Имеется вопрос по Eagle. Мне не нравится как он делает связи между объектами в режиме платы. Я на схеме указал, где должен стоять кондер по питанию у контроллера, он должен быть ближе к ножкам. Однако при переключении в режим платы, оказывается, что этот кондер подключен к какому-то десятому резистору, который левым образом подключен к нужным ножкам контроллера. Как нормально делать связи?

    1. Абсолютно нерациональный и некомпетентный вопрос, отсутствие элементарного понимания схемы . Но тем не менее ответ в форуме в ветке про Eagle.

  13. Доброго времени суток! Спасибо за проект! Собираю уже. А продолжение тематики программаторов будет? Хотелось бы что-то подобное на USB для Holtek-контроллеров. А то никаких программаторов под них, кроме заводских. Может, этих Holtek не так и много… Но все же. Жаль выкидывать их только потому, что перепрошить под свои нужды нечем.

    1. А кому они нахрен нужны? Все эти экзотические контроллеры, не получившие народной поддержки и юзаемые исключительно крупными предприятиями, можно смело выкидывать в мусорку. Ты по ним не найдешь ни достаточной инфы, ни примеров, ни схем программаторов, отличных от заводских.

      1. Если на Ассемблере писать, то можно примеров найти. Понятно, что в англоязычной литературе. Информация по ним в даташитах тоже достаточно полная (ИМХО, конечно). Но вот с программаторами засада полная… Тут Holtek бьет и AVR, и PIC. Но все же интересная задача! Знал бы, как эти программаторы делать, сам бы сваял…

  14. Решил освоить работу в Орле. Я подозревал что будут грабли но чтоб такие.
    Никак не могу освоить нормальный рабочий и самое главное повторяемый способ захвата обектов на печатной плате. Например поставил на готовую плату измерения, потом решил одно из них видвинуть немого больше. Не тут то было. Инструмент перемещения хватает все что угодно (граници плати, элементи платы, полигон) причем на значительном растоянии от тыканья курсора, а вот заветное обозначение измерения ну никак. Я подозреваю что можна отключить все слои и оставить только нужный, но это маразм.
    Подскажите пожалуйста, что я делаю не так.

  15. Хм странно однако. Никогда на подобные «грабли» не наступал. Если деталь стоит на какой то стороне и от нее надо отнести ее обозначение например R1 но сначала раскидываешь деталь командой Smash деталь разваливается на две части около обозначения появляется крестик по нему щелкнул и тащишь куда надо. Если под словом измерения имеешь ввиду размеры платы ШхВ то там тыкать надо на сами цифры. В общем кидай скриншоты того что не получается в соответствующую ветку в форуме.
    http://forum.easyelectronics.ru/viewtopic.php?f=13&t=2060&p=189931#p189931

    1. Спасибо за подсказку, а то я и забыл, что есть такая опция (не нравится она мне).
      Если можно то выложите фото слоев с лучшим разрешение (для читаемость позиции элементов).

  16. Кто может подсказать,как объединить две цепи с одни названием?? Захожу в (инфо) присваиваю название цепи,а получается вот такое сообщение:- (net name ‘enabled’ already exists! Use the name command to combine nets.) как енто победить??

    1. я тоже пробовал таким прошить (через ноутбук) — не прокатило, собрал на макетной плате «Программатор для AVR, PIC, I2CEPROM» http://www.cqham.ru/progAVR_PIC.htm — прошилось нормально. Софт вроде бы использовал WinPic800 (т.к. там есть поддержка данного пика).

    1. По тонеру не скажу, принтер использую Samsung ML-1641 стоит фирменный картридж Samsung, так что они туда сипят фиг его знает, картридж пока еще не менял и не заправлял, этот принтер с картриджем у меня специально для ЛУТ.
      По сверлилке:
      Сверлилка: Proxxon FBS 12/E NO 28 462 она от 12V но можно вариант FBS 240/E будет от 220 тогда БП не нужен.
      Блок питания: Proxxon NG 2/S NO 28 706
      Вертикальная стойка: Proxxon MB 140/S NO 28 606

      1. Думаю заказывать эту сверлилку через интернет. В будущем в хозяйстве пригодится. Вот здесь нашел: http://paradox-ltd.ru/proxxon_equipment/drills_n_equipment/FBS230_e.jaw

        И вертикальная стойка: http://paradox-ltd.ru/proxxon_equipment/drills_n_equipment/MB140S.jaw

        Что о ценах можете сказать? По-моему они вполне приемлимые… С уважением…

Добавить комментарий