‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

Category:

Работа с gerber-файлами

Всегда используйте этот сервис: http://www.gerber-viewer.com/
Так вы будете знать, что "гербарий", получившийся у вас, нормально открывается и правильно читается. Не забывайте указывать корректные единицы измерения. Так же не возбраняется и даже рекомендуется использовать како-либо локальный софт для просмотра и работы с гербер-файлами. Лично я предпочитаю бесплатную программу gerbv -- всё то, что мне нужно, она умеет. Существует билд под windows, под распространённые дистры линухов и под другие операционки. Из исходников можете собрать самостоятельно свой болджен-гербв, ничего сложного.

Экспорт из P-CAD 200x


Тут всё просто. По шагам:
  • Прогоняем DRC. После того, как мы всё-всё вычистили и устранили, подрихтовали и украсили, назад уже пути не будет - разумнее и проще править файл проекта, чем готовые платы, не так ли?
  • Меню File->Export->Gerber..., попадаем в утилиту генерации гербер-файлов.
  • Жмём кнопку Setup Output Files...
    • Аккуратно определяем, какой слой (или слои) и с какой детализацией будет экспортирован в файлы. Различие между файлами только по расширению, имена сгенерированных файлов будут совпадать с именем открытого pcb-проекта. Стандартных расширений нет, но есть более-менее устоявшиеся. Впрочем, каждая фабрика норовит придумать что-то своё. Например, SeeedStudio использует .GTL для верхнего (top) слоя, .GBL для нижнего, .GTS для маски верхнего слоя, .GBS для маски нижнего, ну и так далее. Соответственно, если хотим экспортировать слой Top в файл project.GTL, указываем это расширение в строке ввода, выбираем слой в списке слоёв, ставим галочки напротив опций Pads и Vias (чтобы они тоже попали в вывод).

      • Если хотим, чтобы переходные отверстия были бы голыми, без паяльной маски, то при экспорте слоёв Top Mask / Bottom Mask включаем опцию Vias. Если хотим спрятать переходники под маской, то выключаем. Если фабрика использует жидкую маску, то получающаяся изоляция переходников будет не очень прочной и её всё равно можно легко проколоть щупом мультиметра или осциллографа (напоминаю, что паяльная маска - это всё-таки для механической изоляции проводников платы от припоя во время пайки, рассчитывать на её великолепные электрические свойства не стоит). Лично я предпочитаю переходники прятать под маской, так плата выглядит аккуратнее.
      • Остальные опции не трогаем, они больше нужны под вывод "шёлка" или под старое оборудование, не понимающее разницу между верхним и нижним уровнем (хинт: в таких случаях нижний выводится зеркально, т.е. нужна опция Mirror - но в последний раз с такой бедой я сталкивался в году эдак 2002). Не забываем вывести контур платы в файл .GML (от слова "milling"). Сверловку здесь не выводим -- её мы экспортируем отдельно. Здесь выводим только геометрию рисунка и всё такое. Ах, да, не забываем указать, куда именно будем класть наши герберы - лучше создать отдельную папку под это дело.

    • Жмём кнопку Apertures... и дальше жмём "Auto". Апертуры под все используемые линии, площадки, загогулины и выщербины будут автоматически присвоены, дальше оно нас волновать не должно. Нюанс: если таки вспомним, что забыли что-то поправить в плате, то этот шаг - присвоение апертур - после внесения исправлений, скорее всего, придётся повторить.
    • Жмём кнопку.. впрочем, нет, Drill Symbols нас не интересуют совсем (так как -- см. выше -- мы пока что не выводим сверловку)
    • Жмём кнопку Gerber Format. Здесь разумно оставить всё, как есть по-умолчанию: дюймы (inches; даже если ваш проект в миллиметрах), формат чисел 4.4 (вероятно, 5.3 относится к большущим платам невысокой точности изготовления, лично я никогда его не использовал), опции интерполяции и G54 отключены, опция RS-274X Style включена.
    • Жмём кнопку Generate Output Files и вуаля! Получившиеся файлы можно скормить вышеуказанному онлайновому просмотрщику и убедиться, что всё выглядит так, как подразумевалось.

  • Теперь выведем сверловку. Большинство производств используют формат Exellon - это на самом деле тот же Gerber, но вывод выглядит немного не так (потому что будет работать совершенно другой станок, но, по сути, та же фигня - двумерное позиционирование рабочего органа и смена апертур). В меню File->Export выбираем N/C Drill... (я не знаю, как это расшифровывается - вероятно, N/C это numeric control, то есть ЧПУ сверловка).
  • Здесь поступаем аналогично: жмём Setup Output Files, только на сей раз выбираем не слои, а технологические типы отверстий: металлизированные можно вывести в один файл, а неметаллизированные (монтажные, конструкционные и т.п.) в другой. Китайские фабрики быстрого прототипирования признают только один файл с дырками (может, они и различают их, но не признаются - говорят, давай нам один файл .DRL. В одном файле два разных технологических типа совместить невозможно), поэтому мышкой выделяем слои, дырки между которыми будем выводить (в случае двухслойных плат вариант всего один - Top и Bottom, в случае многослойных плат отверстия могут быть так же не сквозными: "слепыми" (когда отверстие начинается, например, на верхнем слое, проходит сквозь следующий и заканчивается на внутреннем слое, не выходя с другой стороны) и "погребёнными" (когда отверстие начинается и заканчивается на внутренних слоях). Выбираем опцию All Holes (хотя можно было бы отдельно Plated и Non-plated Holes - металлизированные и неметаллизированные соответственно). Прописываем путь, куда нужно будет положить сгенерированные файлы.
  • Жмём Tools, а там - Auto. Заодно внимательно смотрим на предлагаемые типы дырок. Если там видим какие-то странные числа типа 0.935 или, скажем, 1.016, значит где-то, в каких-то элементах, забыли прописать не-умолчальный тип отверстий. Но если вы так же внимательны к деталям, как я, то у вас будет список всех используемых диаметров, аккуратно отсортированный по возрастанию - 0.300, 0.500, 0.700 и так далее.
  • Жмём N/C Drill Format. Тут тоже аналогично уже знакомому, но есть нюанс: формат файлов сверловки настолько древний, то в него надо прописывать тип кода - Output Code Type. Всегда используйте ASCII None, чтобы на выходе были обычные для нашей эпохи 8-битные (а не 7-) файлы. Используемые единицы измерения оставляем как есть - дюймы (должно совпадать с единицами измерения в герберах), формат точности - рекомендуемый вашей фабрикой. SeeedStudio берёт 2:3, весь остальной мир считает, что лучше 2:4. Подавление вывода нуля (Zero Suppression) - хвостовое (Trailing). Это значит, что числа вида 1.2000000000 будут выведены просто как 1.2. Это экономит размер файла, особенно если дырок в нём очень много.
  • Жмём Generate Output Files. Получившийся файл скармливаем всё тому же сервису и видим, как на картинке появились кружочки отверстий, причём как раз там, где надо.


На этом этапе у нас получился набор всех файлов, нужных для изготовления печатной платы промышленным способом. Упаковываем его в ZIP, идём на страницу заказа и прописываем всё, что там просят прописать. Лично я параноик, поэтому всегда в комментариях указываю ещё единицы измерений (были случаи, когда плату, спроектированную в миллиметрах, какой-то идиот один умник попытался вывести в дюймах - соответственно, получилось несколько не то, что ожидалось. Хорошо ещё, что не запустили в производство и не стали оплачивать). Заказываем, оплачиваем, ждём, волнуемся.

Панелизация


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

Существует и автоматические способы панелизации, и полуавтоматические, и бесплатный софт, и платный (причём ОЧЕНЬ дорогой). Возможности вышеуказанной бесплатной программы gerbv вполне позволяют панелизировать платы простым методом:
  • Запускаем gerbv, в меню выбираем File->Open Layers (интерфейс программы несколько непривычен для windows-пользователей, надо заметить) и загружаем те самые герберы и сверловки, что мы создали раньше. Если плат несколько, то смело загружаем их все - каждый гербер-файл будет загружен в свой логический слой. Лирическое отступление: хотя gerbv использует ту же терминологию, реально его "слои" никак не связаны со слоями в pcb-проекте старика P-CADа. Более того, gerbv вообще понятия не имеет о каких-то там пикадах, он просто работает с g-кодами. Конец лирического отступления.
  • Для удобства историков, сохраняем проект в какой-нибудь там файл, как вам удобнее.
  • Скорее всего, в окне мы увидим как-то очень странно расположенные платы - одна где-то тут, другая где-то там. Чтобы пододвинуть их друг к другу, измерим требуемое расстояние при помощи утилиты Measure Distance - не самый удобный способ, но других нет, увы. Ах, да, если у вас проект был в миллиметрах, то самое время переключить единицы измерений в меню View->Units, просто для удобства. Теперь для каждого из слоёв передвигаемой платы сделаем так:
    • В списке слоёв находим нужный, кликаем по нему мышкой и в выскочившем меню выбираем пункт "Modify Orientation". В этом окне мы можем сдвинуть (Translation), изменить размер (Scale), повернуть (Rotation) и отзеркалить (Mirroring) выбранный слой целиком. Сдвиг может быть как положительным, так и отрицательным. Ввводим нужные нам величины, жмём ok, программа думает несколько мгновений и рисует уже изменившийся расклад слоёв. В списке, рядом с именем слоя, появляется буква "T" - то бишь, слой был сдвинут.

  • Теперь, когда мы подвинули и расположили платы так, чтобы было удобно и компактно, убираем все галки напротив всех слоёв, кроме тех, что будем объединять. Если мы до этого момента всё делали правильно, то у нас будут, так сказать, попарно родственные слои: ДВА слоя с расширением .GTL, ДВА с расширением .GML и так далее. Вот их-то и оставляем включенными, чтобы тут же сделать File->Export->RS-274X Merge (Gerber). Указываем имя для создаваемого слоя (например, MERGED.GTL), и повторяем эту операцию до полного удовлетворения. Сверловка экспортируется аналогично, но через пункт Exellon Drill Merge.
  • Самое время загрузить получившиеся файлы в просмотрщик и убедиться, что всё хорошо.


Разумеется, есть нюансы. Например, у SeeedStudio есть свои определённые правила панелизации (у разных фабрик - разные правила!), но тоже ничего сложного: к примеру, если хотим, чтобы платы на панели были отделены друг от друга так называемым v-cut (строго прямая линия треугольного сечения (как буква V), проферезированная на треть толщины текстолита) для лёгкости их последующего аккуратного отламывания друг от друга, то границы между платами должны быть нарисованы принудительно (т.е. вручную) и об этом должно быть сказано в проекте. Ну, в общем, на той странице написано китайско-английским языком. И, кстати, действительно дешёвый способ панелизации - это просто размещение всех плат на площади одной заготовки, без v-cut (иногда называют v-groove, термины равнозначны), с нарисованной в слое "шёлка" границей. Но разделять такие платы придётся самостоятельно и вручную.

Другие фабрики могут позволять разделять платы перфорацией из отверстий, неполной фрезеровкой или как-то ещё, всегда уточняйте перед заказом. Если вы уверены в том, что всё сделали правильно, то пакуем файлы в ZIP, отсылаем, оплачиваем, ждём, волнуемся.
Tags: приключения Электроника
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 10 comments