Eagle: как сделать выходные файлы для фотоплоттера (GERBER) и для сверлильного станка (EXCELLON) Печать
Добавил(а) microsin   

К сожалению, пока фирмы по изготовлению печатных плат далеко не всегда принимают файлы в формате Eagle (в формате PCAD принимают всегда), поэтому если Вы использовали для разработки печатной платы пакет Eagle, то при заказе печатных плат Вам нужно научиться выводить чертеж печатной платы в специальные файлы, которые приняты в качестве стандарта входных данных на заводах печатных плат. Генерация выходных файлов Gerber и EXCELLON для новичка - нетривиальная задача, поэтому решил написать отдельную статью.

Сначала коротко перечислю шаги, которые нужно провести для получения файлов GERBER (фотоплоттер) и EXCELLON (сверлильный станок). Предполагается, что у Вас стоит Eagle 5.6.0 for Windows (хотя может быть и другая версия Eagle), и плату Вы полностью развели.

Шаги по подготовке производства печатных плат (получение выходных файлов для оборудования производства печатных плат):

- проверка печатной платы на соответствие выбранным допускам производства печатных плат (выбранному классу точности).
- подготовка графики шелкографии (если она нужна).
- получение файлов GERBER (фотоплоттер) и EXCELLON (сверлильный станок) с помощью встроенного в Eagle инструмента CAM Processor.
- проверка полученного результата.

Теперь о каждом шаге поподробнее.

[Соответствие допускам производства (выбранному классу точности)]

Производство печатных плат имеет пять классов точности, от 1 до 5 (см. Ссылки [4]). Первый класс самый грубый и дешевый, пятый самый точный и дорогой. Первый и второй классы в настоящее время практически не используются. Самый распространенный класс - третий (если Вы в программе PCAD или Eagle использовали допуски Design Rules по умолчанию, то это как раз и будет третий класс). Третий класс хорош тем, что у него оптимальное соотношение цена/качество, и для него совсем не обязательно заказывать электроконтроль, так как вероятность брака в производстве (обрывы или замыкания дорожек) очень низка. Для четвертого класса желательно заказывать электроконтроль, а для пятого класса электроконтроль обязателен, и заказывают 5 класс на отдельных заводах и спецоборудовании. Дешевле всего (для всех классов точности) заказывать платы в Китае, однако если Вам надо совсем мало плат, или их нужно сделать быстро, то можно это сделать и в России (например, быстро, но дорого делают платы в Зеленограде).

Допуски на обычную двухстороннюю плату (для допуска на отверстия подразумевается, что текстолит стандартный, толщина 1.5 мм):
3 класс точности - ширина печатного проводника 0.25 мм (9.84 mil), расстояние между краями соседних элементов проводящего рисунка 0.25 мм (9.84 mil), гарантийный поясок 0.1 мм (3.937 mil), минимальный диаметр отверстия 0.495 мм (19.5 mil).
4 класс точности - ширина печатного проводника 0.15 мм (5.9 mil), расстояние между краями соседних элементов проводящего рисунка 0.15 мм (5.9 mil), гарантийный поясок 0.05 мм (1.97 mil), минимальный диаметр отверстия 0.375 мм (14.76 mil).
5 класс точности - ширина печатного проводника 0.1 мм (3.937 mil), расстояние между краями соседних элементов проводящего рисунка 0.1 мм (3.937 mil), гарантийный поясок 0.025 мм (0.984 mil), минимальный диаметр отверстия 0.3 мм (11.8 mil).

Подробнее - см. Ссылки [4] и/или обращайтесь к производителю печатных плат. Отличный пример возможностей современного производства см. на сайте компании JLCPCB [13].

Во время трассировки печатной платы определяется класс точности, которому соответствует плата. Если плата простая, то сразу выбирайте допуски 3 класса. Допуски настраиваются через Edit -> Design Rules... Если плата компактная и сложная, то выберите 5-й класс, разведите плату полностью, а затем загрубляйте допуски (более оптимально расставляйте детали, переносите их со слоя на слой, увеличивайте зазоры и толщину дорожек), пока не получите нужные допуски (желательно 3 класс точности).

Запустите проверку платы на соответствие выбранному классу точности. Для этого настраивают параметры класса точности через Edit -> Design Rules... и затем проверяют плату на соответствие этим параметрам через Tools -> Drc... кнопка Check. Процедура проверки, назначение параметров и их настройка подробно описаны в [1] и [2].

[Получение графики шелкографии]

Шелкография - поясняющие надписи белой краской на верхней и нижней сторонах печатной платы. Обычно шелкографией подписываются позиционные обозначения деталей, маркировка сигналов, контрольных точек, назначение разъемов и название платы. В Eagle информацию для шелкографии могут нести слои tPlace, bPlace, tNames, bNames, tValues, bValues, Document, tDocu, bDocu. Здесь в названии слоев буква t означает верхний слой платы (TOP), а буква b нижний слой (BOTTOM). Напрямую графику из всех перечисленных слоев использовать нельзя, так как в ней много мусорной информации, неправильно расположены надписи, и необходимо всю информацию подправить и разместить на отдельном слое (или в двух слоях, если шелкография двухсторонняя). Для этого обычно применяют скрипт silk_gen.ulp. Скачайте его по ссылке [5], положите в папку, где находятся все ULP-скрипты, c:\Program Files\EAGLE-5.6.0\ulp\. Пользоваться скриптом silk_gen.ulp очень просто - File -> Run... выбираете файл ulp\silk_gen.ulp. При первом запуске скрипт ругнется, не обнаружив файл настроек *.silk, но нужно в ответ на окно с сообщением об ошибке "Can't open 'диск:/путь_до_файла_brd/имя_файла_brd.silk'" просто нажать OK. Откроется окно с настройками скрипта.

EAGLE-silkscreen-generator.PNG

Кнопка "Make Silkscreen layers" создает два слоя шелкографии _tsilk и _bsilk (для верхней и нижней сторон TOP и BOTTOM соответственно), а кнопка "Erase old silkscreen" удаляет ранее сгенерированные слои _tsilk и _bsilk. После того, как слои сгенерированы, редактируют их обычным образом - расставляют правильно надписи, добавляют нужный текст. Должно получиться нечто подобное тому, что показано на скриншотах.

EAGLE-TOP-silkscreen.PNG EAGLE-BOTTOM-silkscreen.PNG

Шелкография, которую Вы видите на скриншотах, нарисована красивыми Proportional-шрифтами. К сожалению, в Gerber-файлы надписи шелкографии попадут в искаженном виде, так как при выводе в Gerber используются не Proportional, а Vector шрифты.

EAGLE-proportional-font.PNG EAGLE-vector-font.PNG
Надпись v.1-01, выведенная Proportional шрифтом. Та же самая надпись, но с использованием Vector шрифта. Именно так эта надпись будет выглядеть на шелкографии.

Я пока не научился бороться с этой проблемой. Поэтому во избежание разочарований заранее советую использовать все надписи с Vector шрифтами. Для этого нужно через меню Control Panel -> Options -> User interface... -> поставить галочку Always vector font.

[Получение файлов GERBER и EXCELLON]

По ссылкам [1] и [2] процедура получения файлов также описана (лучше всего, на мой взгляд, в [2]), однако здесь я опишу её подробнее, с уточнениями.

В настоящее время информацию обычно нужно вывести в форматах фотоплоттера GERBER_RS274X и сверлильного станка EXCELLON, без зеркального отображения слоя BOTTOM (уточните у производителя печатных плат). Предположим, что у нас плата двухсторонняя, и на обеих сторонах есть шелкография. Все, что нам необходимо получить в виде файлов, сведено в таблицу.

№п/п
Секция
Описание
Слои
Формат
A board_edge графика контура печатной платы и неметаллизированных отверстий Dimension GERBER_RS274X
B TOP графика проводящего рисунка на слое TOP Top, Pads, Vias GERBER_RS274X
C BOTTOM графика проводящего рисунка на слое BOTTOM Bottom, Pads, Vias GERBER_RS274X
D TOPSILK графика шелкографии на слое TOP _tsilk GERBER_RS274X
E BOTTOMSILK графика шелкографии на слое BOTTOM _bsilk GERBER_RS274X
F TOPMASK графика защитной маски на слое TOP tStop GERBER_RS274X
G BOTTOMMASK графика защитной маски на слое BOTTOM bStop GERBER_RS274X
H drill-EXCELLON графика сверления отверстий Drill, Holes EXCELLON

Получение графики всех пунктов A, B, C, D, E, F, G, H таблицы выполняется с помощью утилиты CAM Processor. В ней каждому пункту A..H ставится в соответствие отдельная секция (Section), а выполнение всех секций сразу называется заданием (Job).

Теперь немного поподробнее. CAM Processor - специальная программа, которая может преобразовывать графику слоев печатной платы в файлы нужного формата (GERBER_RS274X и EXCELLON). Как я уже упоминал, делает это она с помощью задания (Job), которое разделено на отдельные секции (Section). Выполнение одной секции означает вывод в файл одного или нескольких заданных слоев. Все подготовленное задание можно сохранить в файл в в дальнейшем использовать (File -> Save Job..., File -> Open -> Job...). Наша задача - разобраться, как правильно задавать секции для задания, чтобы выводилась именно та информация, которая нужна, и в нужном формате. В общем-то, вместе с программой Eagle поставляются уже готовые задания, лежат они в папке c:\Program Files\EAGLE-5.6.0\cam\. По ссылке [1] как раз и рассматривается вывод с помощью заданий gerb274x.cam и excellon.cam. Использование этих готовых файлов имеет недостаток в том смысле, что Вы будете мало понимать, что происходит, и для всех случаев жизни они не подойдут. По ссылке [2] вывод описан намного лучше.

В редакторе печатной платы выполняем File -> CAM Processor. Появится окно (см. скриншот).

EAGLE-CAM-Processor.PNG

Назначение органов управления CAM Processor (ненужное пропускаем):

Поле ввода Job -> Section: служит для ввода имени секции (т. е. каждому пункту A..H присваивается понятное имя, которое потом появляется на закладке), например board_edge (пункт A), TOP (пункт B), BOTTOM (пункт C), TOPSILK (пункт D), BOTTOMSILK (пункт E), TOPMASK (пункт F), BOTTOMMASK (пункт G), drill-EXCELLON (пункт H).

Выпадающий список Output -> Device: тут нужно выбрать формат выходного файла (нас интересуют только варианты форматов фотоплоттера GERBER_RS274X и сверлильного станка EXCELLON).

Поле ввода возле кнопки Output -> File: тут задается имя для выводимого файла. Можно задавать абсолютный путь, типа c:\Program Files\EAGLE-5.6.0\projects\teensy10\gerbers\teensy10.board-edge.grb, но лучше вместо этого использовать пути с макроподстановками %P и %N (описание макроподстановок найдете в системе подсказки Eagle). Например, абсолютный путь для данного примера заменяется на %P/gerbers/%N.board-edge.grb, что намного понятнее, и может использоваться в других проектах. Здесь %P означает абсолютный путь до папки проекта, %N имя файла печатной платы без расширения, а папка gerbers создана в папке проекта специально для хранения выводимой на станки информации (чтобы не замусоривать папку проекта).

Галочка Style -> Mirror: если стоит, то информация выводится зеркально. Иногда нужна для вывода графики нижних слоев печатной платы (например Bottom, _bsilk), если того требует производитель печатных плат. В нашем случае её не трогаем (галка должна быть снята).

Галочка Style -> Rotate: поворачивает чертеж на 90 градусов, не трогаем (галка должна быть снята).

Галочка Style -> Upside down: поворачивает чертеж "вверх ногами", не трогаем (галка должна быть снята).

Галочка Style -> pos. Coord: должна быть установлена (выводятся только положительные координаты, если нужны подробности, см. подсказку).

Галочка Style -> Quickplot: должна быть снята.
Галочка Style -> Optimize: должна быть установлена.
Галочка Style -> Fill pads: должна быть установлена

Поля ввода Offset X и Y: задается смещение координат при выводе, должно везде стоять 0inch.

Список выбора слоев в правой части окна позволяет задавать слои, которые будут использоваться в секции для вывода.

Кнопка Process Job запускает на выполнение сразу все созданные секции (генерируются все файлы).

Кнопка Process Section запускает на выполнение только одну секцию (генерируется только один файл).

Кнопка Description позволяет задать текстовое описание для всего задания.

Кнопка Add добавляет новую секцию.
Кнопка Del удаляет выбранную секцию.

Теперь тупо процесс по шагам для нашего примера.

1. Создадим в корне проекта папку gerbers - для генерируемых файлов (формата GERBER_RS274X и EXCELLON).
2. Запускаем CAM Processor (в редакторе BCP выбираем в меню File -> CAM Processor).
3. Делаем секцию board_edge. Вводим в поле Section имя board_edge, надпись на закладке сразу поменяется со звездочки на board_edge. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.board-edge.grb. Выбираем только слой Dimension.
4. Делаем секцию TOP. Жмем кнопку Add. Вводим в поле Section имя TOP. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.top.grb. Выбираем только слои Top, Pads, Vias.
5. Делаем секцию BOTTOM. Жмем кнопку Add. Вводим в поле Section имя BOTTOM. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.bottom.grb. Выбираем только слои Bottom, Pads, Vias.
6. Делаем секцию TOPSILK. Жмем кнопку Add. Вводим в поле Section имя TOPSILK. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.topsilk.grb. Выбираем только слой _tsilk.
7. Делаем секцию BOTTOMSILK. Жмем кнопку Add. Вводим в поле Section имя BOTTOMSILK. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.bottomsilk.grb. Выбираем только слой _bsilk.
8. Делаем секцию TOPMASK. Жмем кнопку Add. Вводим в поле Section имя TOPMASK. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.topmask.grb. Выбираем только слой tStop.
9. Делаем секцию BOTTOMMASK. Жмем кнопку Add. Вводим в поле Section имя BOTTOMMASK. Из списка Output -> Device выбираем GERBER_RS274X. Возле кнопки File вводим путь %P/gerbers/%N.bottommask.grb. Выбираем только слой bStop.
10. И, наконец, делаем слой drill-EXCELLON. Жмем кнопку Add. Вводим в поле Section имя drill-EXCELLON. Из списка Output -> Device выбираем EXCELLON. Возле кнопки File вводим путь %P/gerbers/%N.drill-EXCELLON.xln. Выбираем только слои Drill, Holes.
11. Формирование задания закончено. Сохраним его на будущее: File -> Save Job... Полученный cam-файл можно впоследствии многократно использовать как в этом Eagle-проекте, так и в других.
12. Жмем кнопку Process Job. В результате в папке gerbers появится 16 файлов (это простые текстовые файлы, которые можно прочитать в текстовом редакторе или просмотрщике). Почему не 8 восемь файлов, а 16, мы ведь задали только 8 секций? Дело в том, что вместе с файлом графики GERBER_RS274X и EXCELLON выводится также сопутствующий информационный файл фотоплоттера (расширение *.grb) и сопутствующий информационный файл сверлильного станка (расширение *.dri).
13. Теперь сделаем PDF файлы для внешнего вида верхней и нижней стороны платы - для гарантии, что производители печатной платы правильно поймут первоначальный замысел конструктора печатной платы. Закрываем CAM Processor. В редакторе PCB включаем слои Top, Pads, Vias, Dimension, Drills, Holes, _tsilk. Выбираем в меню File -> Print..., выбираем Paper формата A4, нужную ориентацию страницы (горизонтальная Landscape или вертикальная Portrait), Scale factor подбираем так, чтобы в окошке просмотра рисунок платы поместился на странице надлежащим образом. Жмем кнопку PDF..., указываем имя файла что-то типа teensy10-top.pdf. То же самое проделываем и для нижнего слоя платы, только выбираем слои Bottom, Pads, Vias, Dimension, Drills, Holes, _bsilk.
14. Можно самостоятельно проверить выведенные файлы с помощью программы ViewMate (см. ссылки [3]) для Windows или gerbv для Linux. Программа ViewMate в свободной версии (Free Edition) позволяет только просматривать графику Gerber, но для наших целей этого более чем достаточно. Принцип работы простой - импортируют (File -> Import -> Gerber) выведенные Gerber-файлы секций board_edge, TOP, BOTTOM, TOPSILK, BOTTOMSILK, TOPMASK, BOTTOMMASK отдельные слои программы ViewMate, и тогда они отображаются отдельными цветами. Включая и выключая импортированные слои Gerber в программе ViewMate, можно убедиться, насколько корректно они будут выводиться на производственном оборудовании завода печатных плат.

EAGLE-ViewMate.PNG

[Чем открыть (просмотреть) получившиеся файлы Gerber]

Кроме вышеупомянутой программы ViewMate, есть еще неплохая программа GC-Prevue (см. [7]).

Gerber-viewer-GC-Prevue

Для Linux тоже есть очень хороший просмотрщик - gerbv (см. [8]). Утилита gerbv предназначена для просмотра файлов от систем автоматизированного проектирования (САПР) печатных плат ( PCB CAD, PCAD) в формате Gerber (стандарт RS-274X), а так же в форматах NC-drill и Excellon.

GerbvScreenshot

Другие программы:

[9] Gerber2eps - преобразование из Gerber в "Encapsulated PostScript".
[10] gerber2pdf - преобразование из Gerber в PDF.
[11] kicad - GPL средство для проектирования печатных плат.
CAM350
GerbTool
Genesis 2000

[Ссылки]

1. Как заказать печатную плату из EAGLE.
2. Подготовка сделанной в EAGLE печатной платы к производству site:roboforum.ru.
3. ViewMate Version 10.0.1 Free Edition - программа для просмотра Gerber-файлов.
4. Классы точности печатных плат (PCB).
5. Генератор слоев шелкографии silk_gen.ulp.
6. Где лучше заказывать изготовление печатных плат в Москве.
7. GC-Prevue - free Gerber viewer site:graphicode.com.
8. gEDA Project site:gerbv.gpleda.org - gerbv - A Free/Open Source Gerber Viewer.
9. Gerber2eps site:gerber2eps.sourceforge.net.
10. Gerber To PDF site:pages.swcp.com.
11. KiCAD download site:kicad-pcb.org - KiCad EDA Suite.
12. Viewplot: The Gerber viewer, Editor & Converter in one site:viewplot.com.
13JLCPCB Capabilities.