Pick and Place (PnP) файл – это текстовый документ в формате CSV или TXT, содержащий координаты, ориентацию и типы компонентов для автоматического монтажа печатных плат. Он генерируется в САПР (например, KiCad, Altium Designer, Eagle) и передаётся в оборудование для поверхностного монтажа (SMT). Без этого файла автоматическая установка компонентов невозможна: машины не знают, где и как размещать резисторы, микросхемы или конденсаторы.
Структура файла включает обязательные столбцы: Designator (позиционное обозначение, например, R1, C5), Value (номинал или тип компонента), Package (корпус, например, 0805, SOIC-8), X и Y (координаты в миллиметрах или дюймах), Rotation (угол поворота в градусах) и Layer (сторона платы: top или bottom). Дополнительные поля могут содержать данные о высоте компонента или специальных требованиях к монтажу.
Для корректной работы файла критически важна точность координат. Ошибка даже в 0,1 мм может привести к смещению компонента и короткому замыканию. Перед экспортом проверьте привязку системы координат в САПР: начало отсчёта должно совпадать с точкой реперного знака на плате. В KiCad, например, это делается через File → Fabrication Outputs → Footprint Position (.pos) File, где нужно выбрать формат CSV и единицы измерения – миллиметры.
При импорте в SMT-оборудование (например, Yamaha YSM20 или Europlacer) файл часто требует конвертации в специфичный формат станка. Используйте утилиты вроде GerberLogix или встроенные конвертеры производителя. Обратите внимание на параметр Reference Point: некоторые машины ожидают координаты относительно центра платы, другие – относительно нижнего левого угла. Уточните требования в документации к оборудованию.
Распространённые ошибки при работе с PnP-файлами: неверная кодировка (используйте UTF-8 без BOM), отсутствие заголовков столбцов, дублирование позиционных обозначений. В Altium Designer экспортируйте файл через File → Assembly Outputs → Generates Pick and Place Files, выбрав опцию Include Designator и отключив лишние столбцы. Для проверки откройте файл в Excel или LibreOffice Calc и отсортируйте по Designator – дубликаты будут видны сразу.
Какую роль играет Pick and Place файл в производстве печатных плат
Основная задача файла – передать машине точные параметры для каждого компонента: X/Y-координаты относительно реперных точек платы, угол поворота (обычно от 0° до 360°), тип упаковки (например, 0402, SOIC-16, BGA) и обозначение по схеме (R1, C5, U3). Формат данных строго регламентирован: например, в KiCad используется разделитель «;» и заголовок с полями «Ref», «Val», «Package», «PosX», «PosY», «Rot», «Side». Ошибка в одном символе может сместить компонент на несколько миллиметров, что критично для высокоплотных плат.
В производственном цикле Pick and Place файл выполняет три ключевые функции:
- Автоматизация монтажа. Машина считывает файл и последовательно устанавливает компоненты со скоростью до 50 000 шт/час, исключая человеческий фактор. Для сравнения: ручной монтаж аналогичной платы занял бы часы и сопровождался бы 5–10% брака.
- Контроль качества. Современные SMT-линии интегрируют файл с системами AOI (автоматического оптического контроля), которые сверяют положение компонентов с эталонными данными. Отклонение более 0,1 мм фиксируется как дефект.
- Оптимизация логистики. Файл содержит информацию о количестве и типах компонентов, что позволяет заранее подготовить ленты с деталями на питателях машины. Это сокращает время переналадки линии при смене заказа.
Типичные ошибки в Pick and Place файлах и их последствия:
- Неправильная система координат. Если файл использует абсолютные координаты вместо относительных к реперным точкам, компоненты сместятся при изменении размера платы. Решение: всегда экспортировать данные с привязкой к реперам (fiducials).
- Ошибки в угле поворота. Например, компонент с углом 270° вместо 90° будет установлен перевернутым. Проверяйте соответствие углов библиотечным данным в САПР.
- Некорректные обозначения упаковок. Если в файле указано «0603», а на ленте компонент «0402», машина не сможет захватить деталь. Используйте единую номенклатуру для всех этапов производства.
Для генерации корректного файла следуйте алгоритму:
- В САПР убедитесь, что все компоненты имеют уникальные обозначения (RefDes) и правильные посадочные места.
- Проверьте ориентацию компонентов: например, диоды и полярные конденсаторы должны быть развернуты в соответствии с полярностью на плате.
- Экспортируйте файл в формате, поддерживаемом вашим контрактным производителем (CM). Чаще всего это CSV с разделителем «;» или табуляцией.
- Откройте файл в текстовом редакторе и проверьте наличие всех полей: отсутствие столбца «Rot» приведет к ошибке монтажа.
- Сравните данные с Gerber-файлами: координаты компонентов должны совпадать с их положением на слое шелкографии.
Современные SMT-машины (например, Yamaha YSM20R, Juki KE-2080) поддерживают расширенные форматы Pick and Place файлов, включающие дополнительные параметры:
- Высота компонента. Критично для двустороннего монтажа, чтобы избежать столкновений с уже установленными деталями.
- Тип питателя. Указывает, с какого типа ленты или поддона брать компонент (например, «8mm tape», «tray»).
- Приоритет монтажа. Позволяет задать последовательность установки компонентов для оптимизации времени цикла.
При работе с двусторонними платами Pick and Place файл должен содержать отдельные секции для верхнего (Top) и нижнего (Bottom) слоев. Машина использует эти данные для переворота платы и монтажа компонентов на обратной стороне. Важно учитывать, что координаты для нижнего слоя зеркальны относительно верхнего, а углы поворота инвертируются. Например, компонент с углом 90° на верхнем слое будет иметь 270° на нижнем. Ошибка в этом параметре приведет к неверной ориентации деталей после переворота платы.
Для минимизации рисков используйте специализированные инструменты валидации Pick and Place файлов. Например, в Altium Designer есть встроенный модуль «Pick and Place Setup», который проверяет соответствие данных библиотечным компонентам. Бесплатные утилиты, такие как InteractiveHtmlBom, позволяют визуализировать расположение компонентов на плате и выявить аномалии. Контрактные производители часто предоставляют собственные скрипты для проверки файлов перед запуском в производство – не пренебрегайте этой возможностью.
Какие данные обязательно должны быть в Pick and Place файле
Дополнительные данные повышают надежность монтажа, но не всегда обязательны. Слой установки («Top» или «Bottom») нужен для двусторонних плат – без него автомат может попытаться разместить компонент не на той стороне. Тип питателя (например, «Tape», «Tray», «Stick») указывают, если линия использует разные системы подачи компонентов. Для BGA и QFN важно поле Ball/Pad Count, чтобы автомат подобрал правильный инструмент захвата. В файлах для высокоточного оборудования встречаются коррекции по осям (offset X/Y) – смещения относительно номинальных координат, компенсирующие погрешности трафарета или пайки.
Формат файла влияет на структуру данных. В CSV поля разделяют запятыми или табуляцией, а заголовки столбцов должны точно совпадать с ожидаемыми именами (например, «RefDes», «X», «Y», «Rotation»). В Gerber X3 данные встраиваются в графический слой с использованием атрибутов, где координаты задаются в милах (1 мил = 0,0254 мм). Для ODB++ информация хранится в XML-подобной структуре с тегами <component> и <placement>. Независимо от формата, проверяйте единицы измерения: смешение миллиметров и дюймов – частая причина брака.
Как правильно экспортировать Pick and Place файл из KiCad
Для KiCad 6 и старше процесс аналогичен, но доступен через *File → Plot* с последующим выбором вкладки *Footprint Position File*. Убедитесь, что в списке слоёв выбраны *F.Cu* и *B.Cu*, иначе данные по компонентам могут экспортироваться некорректно. После генерации откройте файл в текстовом редакторе и проверьте столбцы *Ref*, *PosX*, *PosY*, *Rot* и *Side* – значения должны соответствовать реальному расположению компонентов на плате. Если сборщик требует специфический формат (например, с разделителями табуляцией или дополнительными полями), отредактируйте файл вручную или используйте скрипт на Python для автоматизированной конвертации.
Как подготовить Pick and Place файл для автоматического монтажа в Altium Designer
Pick and Place файл (PnP) в Altium Designer генерируется на основе данных о компонентах, их координатах и ориентации на печатной плате. Чтобы файл был корректно воспринят оборудованием для автоматического монтажа, необходимо выполнить несколько ключевых шагов. Начните с проверки библиотеки компонентов: убедитесь, что все посадочные места (footprints) содержат правильные атрибуты, включая Designator, Comment, Layer и Rotation. Отсутствие или неверное заполнение этих полей приведет к ошибкам при генерации файла.
Откройте проект в Altium Designer и перейдите в Project → Component Links. Здесь проверьте соответствие компонентов между схемой и платой. Если обнаружены несоответствия, исправьте их с помощью Update From Libraries или вручную. Особое внимание уделите компонентам с несколькими частями (например, конденсаторам в корпусах 0402 или резисторам в массивах), так как их координаты могут быть рассчитаны неверно.
В разделе Fields to Include отметьте необходимые столбцы. Стандартный набор включает: Designator, Footprint, Mid X, Mid Y, Rotation, Layer и Comment. Для некоторых производств требуются дополнительные данные, такие как Package Type или Part Number. Уточните требования у подрядчика перед генерацией файла.
Проверьте систему координат. Altium Designer использует абсолютные координаты относительно точки привязки платы (обычно левый нижний угол). Если оборудование монтажа требует относительных координат или смещения, скорректируйте данные вручную или с помощью скрипта. Для этого экспортируйте файл в Excel, примените формулы для пересчета и сохраните в исходном формате.
После генерации откройте PnP-файл в текстовом редакторе или Excel и проверьте следующие моменты:
| Параметр | Типичная ошибка | Как исправить |
|---|---|---|
| Координаты X/Y | Отрицательные значения или выход за границы платы | Проверьте положение компонентов в редакторе платы |
| Угол поворота | Значения вне диапазона 0–360° | Исправьте ориентацию в свойствах компонента |
| Слой | Компоненты на неверном слое (Top вместо Bottom) | Перенесите компоненты на правильный слой перед генерацией |
Для сложных проектов с большим количеством компонентов используйте фильтры при генерации PnP-файла. Например, исключите тестовые точки или крепежные элементы, которые не требуют автоматического монтажа. Это можно сделать через Query в окне генерации файла, указав условие IsComponent AND (Layer = 'TopLayer' OR Layer = 'BottomLayer'). Сохраните файл с понятным именем, например, ProjectName_PnP_TopBottom.csv, чтобы избежать путаницы на производстве.
Какие ошибки чаще всего встречаются в Pick and Place файлах и как их исправить
Первая и самая распространённая ошибка – неверная система координат. В файлах часто указывают координаты относительно левого нижнего угла платы, но некоторые САПР (например, KiCad) используют центр платы как начало отсчёта. Если не учесть это при импорте, компоненты окажутся смещены на половину габаритов платы. Решение: проверьте документацию к своей САПР и скорректируйте координаты вручную или с помощью скрипта, добавив или вычтя половину длины и ширины платы.
Некорректные углы поворота – ещё одна частая проблема. В Pick and Place файлах углы указываются в градусах, но некоторые программы (Altium, Eagle) интерпретируют их против часовой стрелки, а другие (KiCad) – по часовой. Если угол задан как 90°, но программа ожидает −90°, компонент повернётся на 180°. Решение: экспортируйте тестовый файл с одним компонентом, проверьте его ориентацию на оборудовании и скорректируйте углы в исходном файле.
Отсутствие или неверное указание слоя установки приводит к ошибкам при монтаже двусторонних плат. Например, компонент, который должен быть на нижнем слое (Bottom), может быть указан как Top. В файле это выглядит как поле «Layer» или «Side» со значениями «Top» или «Bottom». Проверяйте это поле для каждого компонента, особенно если плата имеет SMD-элементы с обеих сторон. Используйте фильтрацию по слою в Excel или LibreOffice Calc для быстрой проверки.
Опечатки в наименованиях посадочных мест (footprint) вызывают сбои при автоматической установке. Например, вместо «0805» может быть указано «0805_HandSolder» или «R_0805″, что не совпадает с библиотекой оборудования. Решение: создайте единый стандарт наименований для всех компонентов и используйте регулярные выражения для поиска несоответствий. В Python это можно сделать с помощью модуля re: `re.sub(r'[^a-zA-Z0-9]’, », footprint_name)`.
Несоответствие единиц измерения – миллиметры вместо дюймов или наоборот – приводит к смещению компонентов на несколько миллиметров. В файле это может быть неочевидно, если не указаны единицы. Всегда добавляйте в заголовок файла строку с единицами измерения, например: `# Units: mm`. Если файл уже сформирован, проверьте несколько координат вручную: 1 дюйм = 25,4 мм. Для конвертации используйте формулу: `координата_мм = координата_дюйм * 25.4`.
Пропущенные или дублирующиеся компоненты возникают при ошибках в экспорте из САПР. Например, в файле может отсутствовать резистор R5 или дважды присутствовать конденсатор C10. Решение: сравните количество строк в файле с количеством компонентов в схеме. В Excel или Google Sheets используйте функцию `UNIQUE()` для поиска дубликатов. Для пропущенных компонентов сверьтесь с BOM-файлом и добавьте недостающие строки вручную.
Неверные данные о высоте компонентов критичны для автоматического монтажа, особенно при использовании пневматических захватов. Если высота указана как 0 или не соответствует реальным размерам, оборудование может повредить компонент или плату. Проверяйте это поле для каждого компонента, особенно для высоких элементов (например, разъёмов или индуктивностей). Используйте datasheet для уточнения высоты и добавляйте запас в 0,5–1 мм для надёжности.
Как проверить корректность координат компонентов в Pick and Place файле
Pick and Place файл содержит критически важные данные: координаты установки компонентов, их ориентацию и ссылки на посадочные места. Ошибки в этих параметрах приводят к смещению деталей, коротким замыканиям или неработоспособности платы. Первичная проверка начинается с анализа структуры файла: убедитесь, что столбцы RefDes, X, Y, Rotation и Layer присутствуют и заполнены корректными значениями. Формат координат должен соответствовать системе, используемой в вашем САПР (например, миллиметры или дюймы с точностью до 3–4 знаков после запятой).
Сравните координаты с физическими размерами платы. Для этого экспортируйте контур платы из САПР в формате DXF или Gerber и загрузите его в программу просмотра (например, GerbView или KiCad Gerber Viewer). Наложите Pick and Place данные на контур: компоненты должны находиться в пределах границ платы, не пересекая контактные площадки других деталей или запрещённые зоны. Особое внимание уделите компонентам с нестандартными посадочными местами – их координаты часто смещаются из-за неверной привязки к центру.
- Проверьте ориентацию компонентов: углы поворота должны быть кратны 90° (0°, 90°, 180°, 270°), если иное не указано в документации на компонент. Для SMD-резисторов и конденсаторов допустимы только 0° и 180°, так как их корпуса симметричны. Микросхемы с несимметричным корпусом (например, QFP или BGA) требуют точного соответствия углу, указанному в datasheet.
- Используйте скрипты для автоматизированной проверки. В Python с библиотекой
pandasможно загрузить Pick and Place файл как DataFrame и отфильтровать аномалии: компоненты с координатами за пределами платы, дублирующиесяRefDes, или недопустимые значения углов. Пример кода:
import pandas as pd
df = pd.read_csv("pick_and_place.csv")
df = df[(df['X'] >= 0) & (df['X'] <= board_width) & (df['Y'] >= 0) & (df['Y'] <= board_height)]
df = df[df['Rotation'].isin([0, 90, 180, 270])]
print(df[df.duplicated('RefDes', keep=False)])
Для визуальной проверки используйте специализированные инструменты. В Altium Designer откройте Pick and Place файл через File → Import → Pick and Place и наложите его на проект платы. В KiCad воспользуйтесь плагином InteractiveHtmlBom, который генерирует интерактивную карту компонентов с подсветкой ошибок. Обратите внимание на компоненты, выходящие за границы посадочных мест или расположенные слишком близко к краям платы (минимальный отступ – 1–2 мм для ручной пайки).
Проверьте соответствие координат реальным посадочным местам. Экспортируйте список компонентов из САПР и сравните его с Pick and Place файлом. Убедитесь, что:
- Каждому
RefDesсоответствует уникальное посадочное место (Footprint). - Координаты центра посадочного места совпадают с координатами в файле (допустимое отклонение – не более 0.1 мм).
- Слой установки (
TopилиBottom) указан корректно.
Для BGA-компонентов дополнительно проверьте смещение шариков относительно центра корпуса – ошибка даже в 0.05 мм может привести к неправильной пайке.
Тестируйте файл на реальном оборудовании. Загрузите Pick and Place данные в программу управления автоматом установки (например, в OpenPnP или SMT3000) и выполните симуляцию установки. Современные автоматы визуализируют траекторию движения головки и выделяют потенциальные коллизии: столкновения с другими компонентами, выход за пределы рабочей зоны или неверную последовательность установки. Если симуляция недоступна, распечатайте файл на бумаге в масштабе 1:1 и наложите на плату – визуально проверьте расположение компонентов.
Документируйте найденные ошибки и вносите правки в исходный проект. После корректировки повторно экспортируйте Pick and Place файл и выполните все этапы проверки заново. Особое внимание уделите компонентам с высокой плотностью установки (например, разъёмы FPC или микросхемы с шагом 0.4 мм): для них допустимое отклонение координат не должно превышать 0.02 мм. Сохраняйте резервные копии файлов с указанием даты и версии правок, чтобы отслеживать изменения.
