Разводка (рисование) платы с помощью EagleCad

Простенькая плата

Простенькая плата

Когда мне впервые понадобилось развести плату, я обратился к поисковикам с запросом «разводка плат в linux», потому что, очевидно, использую linux в качестве ОС. Выдача поисковика была довольно однообразной. Если бы я искал просто софт для разводки плат, возможно, я остановился бы на более простом инструменте. Но вышло так, что я установил именно eaglecad, с тех пор использую его и счастлив. Eagle cad является кросплатформенным приложением: его можно использовать и в linux и в windows и в osX. А с недавних пор обзавёлся ещё и русскоязычным интерфейсом (а узнал я об этом уже после публикации, поэтому скриншоты в статье из версии с английским). В статье расскажу основное об инструментах редактора и покажу, как полноценно развести простенькую плату.

Установка и запуск

Вообще, Eagle является платной программой. И стоит не дёшево. Однако, имеется демонстрационная версия. Демо версия предоставляет полный набор инструментов, но имеет ограничения на размер платы и количество слоев: 100×80 мм и не более двух слоев. Такие ограничения неприемлемы на настоящих производствах, но для домашнего использования этого даже много.

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

Для запуска программы в linux выполните команду:

~/eagle-7.5.0/bin/eagle

Команда может отличаться в зависимости от версии и каталога установки.

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

Панель инструментов EagleCad 7.5

Панель инструментов EagleCad 7.5

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

Теперь выбираем в меню: Файл->Новый->Печатная плата (file->new->board). Разводить будем плату с двумя светодиодами и разъемом для подключения питания. Пример совершенно искусственный, но на нем я покажу парочку хитростей.

Добавление деталей на плату

Для размещения элемента на плате нужно выбрать подходящий из библиотеки элементов. Eagle в стандартной поставке имеет огромное количество разнообразных элементов. Выбираем инструмент «Add» на панели (здесь и далее будут изображения фрагмента панели, на котором нужный элемент будет выделен цветом):

Инструмент Add

Инструмент Add

Для поиска, обычно, достаточно ввести название детали на английском или тип корпуса (например, dil16). Вводим в строку поиска «led» и ищем подходящий элемент. При клике в окне слева отображается внешний вид детали. Удобно. Я нашел то, что искал и добавляю деталь на плату.

Добавление элемента на плату в EagleCad

Добавление элемента на плату в EagleCad

Я обещал хитрость. Что делать, если вы не можете найти нужный элемент? Если вы готовите плату к производству, то правильный ответ: искать дополнительную библиотеку, где нужный элемент есть. Но для домашнего изготовления меня выручает элемент pinheader. Это просто «гребенка». Достаточно найти гребенку с нужным количеством выводов и разместить ее на плате. Итак, предположим, что светодиодов в библиотеке нет и нужно выкручиваться. Второй светодиод я добавлю в виде pinhead’ера с двумя пинами. Этот же элемент использую для разъёма питания. Кстати, для поворота элемента на 90° нужно жмакнуть правую кнопку мыши.

Добавление элемента на плату в EagleCad

Добавление элемента на плату в EagleCad

Элементы на плате

Элементы на плате

Добавлю надписи чтобы не перепутать плюс и минус. Для этого есть специальный инструмент «Text»:

Инструмент Text

Инструмент Text

Получаем вот что:

Добавление надписи на плату в EagleCad

Добавление надписи на плату в EagleCad

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

Завершаю расставлять элементы добавлением пары резисторов. Сохраняю файл.

Рисование дорожек на плате

Теперь пора нарисовать дорожки. Рисовать их можно вручную, а можно доверить задачу роботам автороутеру (автоматический рисовальщик дорожек). Ручное рисование освоить не сложнее рисования в paint: выбираем нужный инструмент «Wire», тыкаем в первую точку и тянем дорожку к следующей. Правой кнопкой переключаем характер изгибов, в местах, где нужно сделать поворот, тыкаем тоже левой кнопкой.

Инструмент Wire

Инструмент Wire

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

Вообще, eaglecad является гораздо более мощным инструментом, чем простая рисовалка плат. И предполагается, что вы будете создавать «проект». А проект начинается с рисования принципиальной схемы, где вы отмечаете все соединения между элементами. Далее принципиальная схема превращается в плату. Но создание полноценного проекта я не освоил. В основном потому, что я никогда не разводил плат такой сложности, что бы мне нужно было париться о слишком близко расположенных дорожках с ВЧ сигналами. Поэтому мы в начале статьи выбрали рисование именно платы, таким образом, пропустили ряд шагов. И теперь нужно вручную показать соединения между деталями. По ним автороутер поймет, откуда куда вести дорожку. Соединения являются логическими и на плате отмечаются тонкими линиями. Создаются инструментом «Signal»:

Инструмент Signal

Инструмент Signal

Соединения трактуются автороутером свободно. Например, если у вас каждый из 30 выводов элементов подключен к одному разъему питания и каждый элемент отдельным соединением, то в ходе автоматической разводки вы не обязательно получите 30 дорожек. Автороутер поведет дорожку предельно оптимальным путем и будет использовать ответвления по максимуму. Эта особенность позволяет быстрее указать все соединения. Кликаем, к примеру, питание на разъеме, а дальше подводим соединение «по кругу» к каждому выводу питания. Сейчас все поймёте на картинке (напоминаю: соединения указаны тонкими жёлтыми линиями).

Создание соединений в EagleCad

Создание соединений в EagleCad

Выбираю инструмент «Signal» и кликаю первую точку. Начну с контакта VCC на разъёме. Затем тяну соединение к верхнему выводу левого резистора и от него сразу к верхнему выводу правого. Об этом я и говорил выше. После присоединения правого резистора делаю двойной клик левой клавишей и соединение перестает «тянуться» за мышкой. Бывает так, что двойной клик не получился сразу. Тогда просто кликните по любому инструменту на панели (можно и по инструменту «соединение»), что бы соединение «отстало» от курсора. Аналогичным образом соединяю остальные выводы. Кстати, после соединения элементы можно передвигать. Соединения останутся прилепленными к выводам.

Еще важное примечание про объединение соединений. Когда вы пытаетесь прицепить соединение к выводу, у которого уже есть соединение, вы увидите диалоговое окно:

Выбор результирующего имени при пересечении сигналов в EagleCad

Выбор результирующего имени при пересечении сигналов в EagleCad

Eaglecad спросит вас, к чему вы хотите прицепить соединение: к другому соединению или к выводу детали. Ответ на этот вопрос повлияет на поведение автороутера. В первом случае будет то, о чем я писал выше (ветвления и вот это все), а во втором дорожка гарантированно будет вестись от вывода детали. Возможно, сейчас я только больше вас запутал. Понимание придет со временем, а пока можно просто тыкать «ок». Итак, я завершил соединение деталей. Снова сохраняю плату, но меняю имя на нечто вроде «two_leds_connected». Почему это важно, расскажу позже.

Соединения готовы. Пора превратить их в реальные дорожки. Выбираем в меню Инструменты->autorouter (tools->autorouter).

Запуск autorouter в EagleCad

Запуск autorouter в EagleCad

Открывается окно предварительных настроек. Самые важные настройки: выбор конфигурации дорожек на слое. Важны они потому, что здесь можно выбрать «n/a» для одного из слоев и тем самым запретить рисование на нем дорожек. Это полезно, когда у вас нет планов изготавливать двухстороннюю плату. Причем не важно, какой слой отключать: элементы ведь можно установить и с изнанки. Я отключил слой bottom (нижний), и все дорожки пойдут по верхнему.

Настройки автороутера в EagleCad

Настройки автороутера в EagleCad

После выбора настроек дорожек на слоях, нажимаем «continue». Открывается новое окно. Здесь можно сразу нажать «Запуск» (start), а можно кнопкой «>>» раскрыть полные настройки разводки. Здесь можно указать параметры, которые сильно повлияют на конечный результат: толщина дорожек, минимальное расстояние от дорожек до выводов элементов и прочее. Все это важно при подготовке макета для производства, а нужные параметры следует уточнять на производстве.

Расширенные настройки автороутера в EagleCad

Расширенные настройки автороутера в EagleCad

Я оставляю все по умолчанию и тыкаю «start».

Время разводки находится в геометрической зависимости от количества соединений. Самая долгая моя разводка длилась 1час (на процессоре core i3). Представьте мою печаль, когда я обнаружил, что зеркально перепутал выводы микросхемы и нужно запускать все снова. Но с нашей платой разводка завершится за секунды. В нижней части окна будет видна статистика: «conn: 6/6/0». Это значит, что из шести соединений дорожки нарисованы для всех шести. Последнее число отражает количество соединений, для которых автороутер не придумал, как нарисовать дорожку. Если там не ноль, это значит, что нужно либо нажать ctrl+z и подвигать элементы для меньшего количества пересечений соединений, либо вручную дорисовать дорожки.

Ну а я получил готовую плату и сохраняю ее в новый файл с именем «two_leds_routed». Разные файлы нужны потому, что после сохранения файла с разводкой, вам уже не вернуться к соединениям. И если в будущем окажется, что элементы нужно передвинуть или вы ошиблись с подключением, придется делать много ручной работы. А в случае разных файлов я просто открою файл с соединениями, внесу изменения, разведу заново и пересохраню файл с готовой разводкой.

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

Пришло время поговорить о слоях. Помимо «TOP» и «BOTTOM» eagle разделяет плату еще на 2 десятка слоев. Отдельным слоем представлен слой с посадочными площадками элементов (pads) и переходными отверстиями (vias). Отдельно идет слой шелкографии, подписей выводов элементов и некоторые дублируются для каждой стороны платы. Все это важно для подготовки к производству. При экспорте платы нужно понимать, отображение каких слоев нужно включить для получения задуманного результата. Для домашнего изготовления нет смысла пытаться отобразить тонкие надписи на слое шелкографии. Они просто не переведутся на текстолит. Хотя есть умельцы, которые в домашних условиях делают платы лучше заводских, статья не об этом.

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

В общем, просто выбираю инструмент «Wire» а в меню слева вверху выбираю слой dimension. Обрисовываю контур.

Меню выбора слоя здесь

Меню выбора слоя здесь

Последний штрих перед печатью

Основная проблема травления платы дома — выбор времени травления. Слишком быстро и будет некачественная протравка. Слишком долго — начнут съедаться тонкие дорожки. Один из способов достичь баланса — уменьшить количество меди, которое нужно удалить. Для этого в eagle удобно использовать инструмент «Polygon»:

Инструмент Polygon

Инструмент Polygon

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

Выбираем инструмент и настраиваем параметры обтекания отверстий и дорожек. Это параметры «изолировать» (isolate) и «расстояние» (spacing) в верхнем меню:

Параметры полигона

Параметры полигона

«Расстояние» влияет на оставшееся незакрашенным место между заливкой и любым элементом платы (посадочная площадка, дорожка и т.д.). «Изолировать» указывает отступ от сквозных отверстий. Поиграйте с этими параметрами самостоятельно. Это больше вопрос эстетики. Так же здесь настраивается вариант заливки: сплошная или штриховка (кнопки чуть левее). Вот здесь стоит выбирать сплошную. Штриховка будет способствовать появлению артефактов при переводе картинки на текстолит.

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

Полигон после добавления

Полигон после добавления

Теперь есть полигон, нарисованный пунктиром. Пришло время его заполнить. Для этого нужно в меню Инструменты (tools) выбрать пункт Обработка (radsnest). Вуаля! Полигон залит.

Сохраняем плату еще раз. Пора печатать. Но нельзя просто напечатать плату как есть. Сначала нужно отключить отображение некоторых слоев. В меню Вид->Параметры слоя (view->display) сначала нажмите кнопку «Нет» (None) для отключения всех слоев, затем отметьте нужные: top, pads, dimension.

Настройки отображения слоёв в EagleCad

Настройки отображения слоёв в EagleCad

Для печати обратной стороны платы (которой у нас нет) нужно отключить слой top и включить bottom. Если разводка платы осуществлялась по двум сторонам, могут быть переходные отверстия в местах перехода дорожки через слой. В этом случае нужно включить еще и слой vias. В таком виде плата готова к печати.

Плата готова к печати

Плата готова к печати

С печатью ничего сложного: меню Файл->Печать (file -> print). В открывшемся меню можно выбрать «Печать в файл (PDF)» (Print to PDF) для сохранения изображения в pdf или сразу отправить задание на принтер. В случае сохранения в файл не забудьте указать, куда сохраняете, нажатием кнопки «…» напротив поля «Имя выходного файла» (Output file). В поле Опции (Options) следует выбрать следующие опции:
Зеркало (mirror) — для зеркального отражения платы. Зеркалить нужно только верхний слой.
Чёрный (black) — для печати только черным. На случай, если у вас цветной лазерный принтер.
Сплошной (solid) — отрисовать все черным, не пытаясь передать цвет градациями серого.

Настройки печати

Настройки печати

На этом, кажется, всё. Более подробные статьи вы можете почитать здесь: http://easyelectronics.ru