Руководство пользователя

Авторские права © 2010-2015 на данный документ принадлежит его разработчикам (соавторам), перечисленным ниже. Документ можно распространять и/или изменять в соответствии с правилами лицензии GNU General Public License (http://www.gnu.org/licenses/gpl.html), версии 3 или более поздней, или лицензии типа Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), версии 3.0 или более поздней.

Все торговые знаки этого руководства принадлежат его владельцам.

Соавторы

Jean-Pierre Charras, Fabrizio Tappero.

Перевод

Барановский Константин <baranovskiykonstantin@gmail.com>, 2017-2019

Обратная связь

Оставить свои комментарии или замечания можно на следующих ресурсах:

Дата публикации

17 марта 2014 года

Введение

Описание

Pcbnew — это мощное приложение для проектирования печатных плат, доступное на операционных системах Linux, Microsoft Windows и Apple OS X. Pcbnew используется совместно с редактором электрических схем Eeschema.

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

Pcbnew предоставляет инструмент для проверки правил проектирования (DRC), который проверяет зазоры между дорожками и контактными площадками, а также следит чтобы все соединения из списка цепей схемы были проложены верно. При использовании инструмента интерактивной трассировки, проверка правил проектирования выполняется непрерывно, чтобы помочь правильно проложить каждую дорожку.

Pcbnew предоставляет возможность отображать связи — тонкие линии, соединяющие контактные площадки посадочных мест в соответствии с соединениями в схеме. При перемещении дорожек или посадочных мест, эти связи также динамически перемещаются.

Pcbnew имеет простой, но очень эффективный трассировщик, помогающий при проектировании печатных плат. Экспорт/импорт в формат SPECCTRA dsn позволяет использовать более продвинутые автоматические трассировщики.

Pcbnew предоставляет специальные инструменты для проектирования СВЧ цепей (таких как контактные площадки трапециевидной или сложной формы, автоматическая разводка катушек индуктивности на слоях печатной платы и т.п.).

Основные особенности проектирования

Наименьшей единицей измерения в Pcbnew является 1 нанометр. Все размеры хранятся в виде целого числа нанометров.

Pcbnew может создавать до 32 слоёв меди, 14 технических слоёв (слои шелкографии, паяльной маски, клея для фиксации компонентов, паяльной пасты и контуров печатной платы) плюс 4 вспомогательных слоя (для графических элементов и комментариев) и при этом отображать связи не разведённых соединений в реальном времени.

Элементы печатной платы (дорожки, контактные площадки, текст, графические элементы …​) могут отображаться по разному:

  • Полностью или только контур.

  • С или без зазора для дорожек.

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

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

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

Редактор посадочных мест предоставляет множество инструментов ускоряющих работу:

  • Быстрая нумерация контактных площадок путём простого перетаскивания курсора мыши над ними.

  • Простое создание прямоугольных или круговых массивов контактных площадок для LGA/BGA или круглых посадочных мест.

  • Полу-автоматическое выравнивание рядов или колонок посадочных мест.

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

Pcbnew легко формирует все документы, необходимые для производства печатных плат:

  • Форматы для производства:

    • Files for Photoplotters in GERBER RS274X format.

    • Files for drilling in EXCELLON format.

  • Черчение в форматах HPGL, SVG и DXF.

  • Черчение и создание карт сверловки в формате POSTSCRIPT.

  • Печать на принтере.

Основные замечания

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

В новых версиях KiCad, Pcbnew получил множество кардинальных изменений от разработчиков CERN. Они содержат такие свойства как новые режимы отображения (OpenGL и Cairo), интерактивный трассировщик, позволяющий сдвигать уже разведённые дорожки при прокладке новой (т.н. "push and shove"), добавлять дифференциальные пары и формировать меандр для выравнивания длины дорожек, переработан Редактор посадочных мест и много другого. Примите к сведению, что большинство этих свойств доступны только в новых режимах отображения OpenGL и Cairo).

Установка

Установка программного обеспечения

Процедура установки описана в документации к KiCad.

Изменение настроек по умолчанию

Файл настроек kicad.pro со значениями по умолчанию располагается в каталоге kicad/share/template. Он используется в качестве стандартной конфигурации для всех новых проектов.

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

Для этого:

  • Запустите Pcbnew непосредственно или используя KiCad. На ОС Windows исполняемый файл Pcbnew расположен в C:\kicad\bin\pcbnew.exe, на ОС Linux — в /usr/local/kicad/bin/pcbnew если установка производилась в каталог /usr/local/.

  • Выберете Настройки - Библиотекa.

  • Отредактируйте как необходимо.

  • Сохраните изменённые настройки в kicad/share/template/kicad.pro через меню Настройки.

Управление библиотеками посадочных мест: устаревшая версия

Начиная с версии 4.0, управление библиотеками посадочных мест в Pcbnew выполняется с помощью файлов, называемых "таблицами библиотек посадочных мест". Таблица библиотек посадочных мест содержит описание некого количества отдельных библиотек, вместе с "псевдонимами" для каждой из них, которые используются для указания того, к какой библиотеке принадлежит посадочное место.

В Pcbnew поддерживается несколько типов библиотек, каждый из которых обслуживается отдельным "плагином":

  • KiCad - библиотеки посадочных мест в формате, разработанном специально для KiCad. Они хранятся в локальной файловой системе в формате .pretty (каталоги с файлами .kicad_mod)

  • Github - библиотеки посадочных мест KiCad в формате .pretty, которые хранятся в сети, в Github-репозиториях

  • Legacy - устаревший формат библиотек посадочных мест для KiCad (файлы с расширением .mod)

  • Eagle - библиотеки посадочных мест в формате Eagle (каталоги с файлами .fp)

  • Geda-PCB - библиотеки в формате Geda PCB

  • Сохранять библиотеки посадочных мест на локальный диск можно только в формате .pretty (включая файлы посадочных мест с расширением .kicad_mod, хранящиеся внутри).

  • Все остальные форматы доступны только для чтения.

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

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

Глобальная таблица библиотек посадочных мест

Глобальная таблица библиотек посадочных мест содержит перечень библиотек, которые доступны всегда, независимо от загруженного в данный момент проекта. Эта таблица хранится в домашнем каталоге пользователя в виде файла fp-lib-table. Расположение домашнего каталога зависит от используемой операционной системы.

Таблица библиотек посадочных мест проекта

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

После добавления элементов в таблицу библиотек проекта, файл fp-lib-table, содержащий эти элементы, будет записан в тот же каталог, в котором хранится файл открытой в данный момент печатной платы.

Первоначальная настройка

При первом запуске CvPcb или Pcbnew файл глобальной таблицы посадочных мест fp-lib-table отсутствует в домашнем каталоге пользователя. Pcbnew попытается скопировать содержимое файла fp_global_table со значениями по умолчанию из системного каталога шаблонов KiCad в домашний каталог в файл fp-lib-table. Если же файл fp_global_table не удастся найти, то будет создана пустая глобальная таблица библиотек посадочных мест. В таком случае пользователь может самостоятельно копировать содержимое fp_global_table или настроить созданную таблицу вручную.

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

Также имеются примеры файлов fp-lib-table в официальном репозитории библиотек KiCad, которые можно использовать в качестве шаблона при построении личной таблицы:

  • Все библиотеки KiCad из Github-репозитория: fp-lib-table.for-github

  • Все библиотеки KiCad, при условии, что они уже содержатся на диске (в противном случае, их необходимо загрузить): fp-lib-table.for-pretty

  • Стандартные библиотеки Eagle (для Eagle 6.4.0) fp-lib-table.for-eagle-6.4.0

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

Может потребоваться много времени на загрузку большого количества библиотек, особенно, если все они расположены в сети (такие, как Github-библиотеки). Если библиотеки загружаются очень долго, можно попробовать удалить ненужные.

Добавление элементов таблицы с помощью менеджера библиотек

Менеджер библиотек доступен через меню:

Library tables menu item

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

Footprint tables list

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

Каждый элемента таблицы имеет уникальное имя. Оно должно быть уникальным в пределах таблицы. Это имя не обязательно связывать как либо с реальным именем файла библиотеки или путём к нему.

Далее приведены некоторые правила для корректного построения элементов таблицы:

  • Символ двоеточия : нельзя использовать для уникального имени.

  • Каждый элементы библиотеки должен иметь корректно указанный путь и/или имя файла, в зависимости от типа библиотеки. Путь можно указывать как абсолютный, относительный или с применением переменных окружения (см. ниже).

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

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

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

Подстановка переменных окружения

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

Для подстановки переменных окружения используется синтаксис ${ENV_VAR_NAME} в поле пути к библиотеке посадочных мест.

Далее приведены некоторые переменные окружения, которые KiCad определяет по умолчанию:

  • $KISYSMOD: она указывает на место, где располагаются библиотеки посадочных мест, установленные вместе с KiCad. Пользователь может определить собственную переменную $KISYSMOD, подменив таким образом стандартные библиотеки на свои собственные.

  • Если загружен файл печатной платы, определяется переменная окружения $KPRJMOD, в которой хранится путь к загруженному файлу платы. Это позволяет пользователю ссылаться на библиотеки, расположенные в каталоге с проектом, без использования абсолютных путей, и не исправлять каждый раз таблицу проекта.

Добавление элементов таблицы с помощью мастера

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

Library tables menu item

Также, его можно запустить из менеджера библиотек, используя кнопку "Добавить с помощью мастера".

В показанном примере будут добавлены локальные библиотеки:

Начальная страница мастера добавления локальных библиотек

А в этом примере будут добавлены удалённые библиотеки:

Начальная страница мастера добавления библиотек github

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

После выбора нужных библиотек появится страница для подтверждения сделанного выбора:

Мастер - подтверждение выбора

Если какая-то библиотека содержит ошибки (не поддерживается, не является библиотекой …​) то она будет помечена как ``НЕВЕРНЫЙ''.

Последнее что необходимо выбрать это таблицу, в которую нужно добавить выбранные библиотеки:

  • глобальную таблицу или

  • таблицу проекта

Мастер - выбор таблицы
Добавление существующих локальных библиотек

На локальном компьютере уже должны присутствовать библиотеки. Например:

  • Предварительно загруженные pretty-каталоги KiCad

  • Обычные .mod-файлы с устаревшей установленной версии KiCad

  • Библиотеки от Geda или Eagle

Их можно добавить с помощью опции "Файлы на моём компьютере". Будет запрошен каталог, содержащий библиотеки, и их формат:

Мастер - выбор локальных библиотек

Если формат не будет указан, то мастер попытается определить его самостоятельно.

Добавление библиотек из Github

Мастер, также, может добавить библиотеки из Github при выборе опции "Github репозиторий".

Нужно указать учётную запись Github с репозиторием, который нужно добавить.

Официальная учётная запись KiCad с Github-библиотеками: https://github.com/KiCad

Можно включить сохранение локальной копии. Если параметр сохранения локальной копии не установлен, то библиотека будет загружаться из Github при каждом запросе. Если же параметр установлен, то библиотека загрузится на диск и будет восприниматься как pretty библиотека KiCad, в дальнейшем она автоматически обновляться не будет.

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

Мастер - выбор библиотек github

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

Применение плагина KiCad

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

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

Установка библиотек для KiCad-плагина

Мастер может помочь установить библиотеки, которые уже имеются на диске или на сервере Github. Но в любом случае, библиотеки имеющиеся на диске, необходимо сначала поместить в подходящее место.

Библиотека KiCad — это каталог, содержащий некоторое количество файлов с расширением .kicad_mod.

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

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

При этом легко отслеживать изменения и помогать в развитии официальных библиотек KiCad на Github. Все это делается с помощью системы контроля версий Git. Если хотите помочь, нужно создать ответвление (fork) репозиторя на Github, чтобы можно было отправлять предлагаемые изменения (pull requests). Если же пользователь желает только обновлять библиотеки при необходимости, то ответвление создавать не нужно, достаточно просто клонировать непосредственно библиотеки KiCad и загружать изменения (pull) при надобности.

Отправка изменений (pull request) через Github позволит автоматически проверить корректность предлагаемых изменений с помощью системы автоматической проверки стандартов библиотек. Для получения более подробной информации о требованиях к библиотекам смотрите KiCad Library Conventions.

Применение плагина GitHub

Плагин GitHub — это особый плагин, который реализует интерфейс доступа (только чтение) к удалённым репозиториям GitHub, которые содержат посадочные места в формате .pretty и, при необходимости, предоставляет механизм "копирования при записи" (COW — Copy-On-Write), который позволяет редактировать посадочные места из таких библиотек путём их загрузки с репозиториев GitHub и сохранения локально на ПК.

  • Плагин "Github" — служит для удалённого доступа к библиотекам с посадочными местами pretty в режиме только для чтения с https://github.com.

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

Чтобы добавить элемент таблицы библиотек посадочных мест типа Github, необходимо в поле "Путь библиотеки" указать верный веб-адрес Github-репозитория.

Например:

https://github.com/liftoff-sr/pretty_footprints

Обычно веб-адрес GitHub имеет следующую форму:

https://github.com/user_name/repo_name

В поле "Тип плагина" необходимо указать "Github".

Показанная ниже таблица библиотек посадочных мест содержит элемент с параметрами по умолчанию (без поддержки COW):

Уникальное имя Путь библиотеки Тип плагина Параметры Описание

github

https://github.com/liftoff-sr/pretty_footprints

Github

Посад.места от Liftoff GH

COW — копирование при записи

Чтобы активировать функцию "копирования при записи" (COW), нужно добавить опцию allow_pretty_writing_to_this_dir в графе "Параметры" элемента таблицы библиотек посадочных мест. Эта опция подобна "Пути библиотеки", она указывает на локальное хранилище изменённых копий посадочных мест, загруженных из репозитория GitHub. Посадочные места, сохранённые по указанному пути, дополняются оставшейся частью посадочных мест доступных только для чтения из репозитория GitHub, образуя таким образом единую библиотеку. При отсутствии указанной опции, GitHub-библиотека доступна только для чтения. Если же опция указана, то все изменённые посадочные места из этой гибридной библиотеки будут сохраняться локально в указанный *.pretty-каталог.

Часть посадочных мест гибридной COW-библиотеки, которая хранится на github.com всегда доступна только для чтения, то есть из неё невозможно удалить что-нибудь или непосредственно изменить какое-либо посадочное место в указанном GitHub-репозитории. В последующем описании комбинированные библиотеки будут называться просто "GitHub", но при этом подразумевается, что они позволяют локальное чтение/запись и удаленный доступ только для чтения.

В таблице ниже показан элемент таблицы библиотек посадочных мест в котором задана COW-опция. Заметьте, применённая переменная окружения ${HOME} используется только в качестве примера. Каталог github.pretty расположен по пути ${HOME}/pretty/path. Всегда, используя опцию allow_pretty_writing_to_this_dir, нужно заранее создавать указанный каталог с суффиксом .pretty.

Уникальное имя Путь библиотеки Тип плагина Параметры Описание

github

https://github.com/liftoff-sr/pretty_footprints

Github

allow_pretty_writing_to_this_dir= ${HOME}/pretty/github.pretty

Посад.места от Liftoff GH

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

Всегда создавайте отдельные .pretty-каталоги для каждой GitHub-библиотеки, никогда не объединяйте их, указывая один и тот же каталог для нескольких библиотек. Также не стоит использовать общий .pretty-каталог для опции COW в нескольких элементах таблицы. Это приведёт к путанице. Значение опции allow_pretty_writing_to_this_dir можно дополнять переменными среды, используя синтаксис ${}, указывая путь таким же образом как это делается в графе "Путь библиотеки".

Использование функции копирования при записи для распространения посадочных мест

Какой смысл в COW? Если пользователи будут периодически отправлять свои исправленные посадочные места из COW-каталогов управляющим репозитория GitHub, то они смогут обновить их копии на GitHub. Достаточно просто отправить отдельные *.kicad_mod-файлы из своих COW-каталогов управляющему репозитория GitHub. После получения подтверждения о принятии изменений и внесения их в репозиторий, пользователь может спокойно удалить свои локальные копии этих посадочных мест и использовать обновлённые удалённые посадочные места из GitHub-библиотеки, доступной только для чтения. Пользователь должен стремиться к тому, чтобы количество посадочных мест в его локальных COW-каталогах было как можно меньше, отправляя как можно чаще свои копии на https://github.com.

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

Плагин Github может работать медленно, так как ему требуется загружать все библиотеки из сети Интернет, прежде чем ими воспользоваться.

Для ускорения загрузки удалённых посадочных мест можно использовать Nginx, который будет кэшировать данные из сервера github. Его можно установить локально или на сетевой сервер. Пример конфигурации находится в исходных кодах KiCad в каталоге pcbnew/github/nginx.conf. Наиболее простой способ заставить его работать — заменить файл nginx.conf со значениями по умолчанию на указанный выше и выполнить export KIGITHUB=http://my_server:54321/KiCad, где my_server — IP или домен машины, на которой выполняется nginx.

Варианты использования

Библиотеки посадочных мест можно сделать глобальными или специфическими для загруженного в данный момент проекта. Библиотеки, занесённые в глобальную таблицу всегда доступны, а информация о них хранится в файле fp-lib-table в домашнем каталоге пользователя. Глобальные библиотеки посадочных мест доступны даже когда список цепей проекта на загружен. А таблица библиотек посадочных мест проекта активна лишь для загруженного файла списка цепей. Таблица проекта хранится в файле fp-lib-table в том же каталоге, что и загруженный в данный момент файл печатной платы. Пользователь может вносить библиотеки в любую из таблиц.

Далее приведены преимущества и недостатки разных методов:

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

    • The disadvantage of this is that you may have to search through a lot of libraries to find the footprint you are looking for.

  • Можно определять только нужные библиотеки в таблице проекта.

    • The advantage of this is that you only need to define the libraries you actually need for the project which cuts down on searching.

    • The disadvantage is that you always have to remember to add each footprint library that you need for every project.

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

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

Редактирование посадочных мест непосредственно на печатной плате

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

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

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

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

Основные инструменты

Команды и панели инструментов

В Pcbnew команды можно выполнять разными способами с помощью:

  • меню в верхней части главного окна

  • верхней панели инструментов

  • правой панели инструментов

  • левой панели инструментов

  • мыши (контекстное меню). А именно:

    • The right mouse button reveals a pop-up menu the content of which depends on the element under the mouse arrow.

  • клавиатуры (функциональные клавиши F1, F2, F3, F4, Shift, Delete, +, -, Page Up, Page Down и Пробел). Клавиша Escape используется в основном для прерывания текущей операции.

На изображении ниже видны некоторые элементы интерфейса открывающие доступ к командам:

Right click legacy menu

Управление мышью

Основные команды

  • Левая кнопка

    • Single-click displays the characteristics of the footprint or text under the cursor in the lower status bar.

    • Double-click displays the editor (if the element is editable) of the element under the cursor.

  • Средняя кнопка (колесо)

    • Rapid zoom and some commands in layer manager.

    • Hold down the centre button and draw a rectangle to zoom to the described area. Rotation of the mouse wheel will allow you to zoom in and zoom out.

  • Правая кнопка

    • Displays a pop-up menu

Работа с блоками

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

Контур блока перемещается вместе с мышью пока нажата левая кнопка мыши. Команда выполнится как только кнопка будет отпущена.

Путём нажатия одной из клавиш-модификаторов Shift, Ctrl, или обеих вместе, при выделении блока, автоматически выбираются операции по отражению, вращению или удалению, как показано в следующей таблице:

Действие Результат

Нажата левая кнопка мыши

Перемещение блока

Нажаты Shift и левая кнопка мыши

Отражение блока

Нажаты Ctrl и левая кнопка мыши

Поворот блока на 90°

Нажаты Shift, Ctrl и левая кнопка мыши

Удаление блока

Нажата средняя кнопка мыши

Масштабирование блока во всё окно

При перемещении блока:

  • Перетаскивайте блок в новую позицию и с помощью левой кнопки мыши расположите элементы.

  • Чтобы прервать операцию используйте правую кнопку мыши и выберите пункт "Отмена блока" в контекстном меню (или нажмите клавишу Esc).

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

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

Выбор шага сетки

В процессе трассировки курсор перемещается по сетке. Её можно включить или выключить используя кнопку на левой панели инструментов.

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

Масштабирование

Масштаб можно изменить используя любой из следующих способов:

  • Через контекстное меню (используя правую кнопку мыши), выбрав пункт с нужным значением.

  • Используя следующие функциональные клавиши:

    • F1: Enlarge (zoom in)

    • F2: Reduce (zoom out)

    • F3: Redraw the display

    • F4: Centre view at the current cursor position

  • Вращая колесо мыши.

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

Отображение координат курсора

Координаты курсора отображаются в дюймах или миллиметрах. Единицы измерения выбираются с помощью кнопок 'In' или 'mm' на левой панели инструментов.

Независимо от выбранной единицы измерения Pcbnew всегда работает с точностью 1/10 000 дюйма.

На информационной панели в нижней части окна отображается:

  • Текущее значение масштаба.

  • Абсолютные координаты курсора.

  • Относительные координаты курсора. Заметьте, относительные координаты (x,y) можно установить в (0,0) в любой позиции нажатием клавиши пробел. После этого, положение курсора будет отображаться по отношению к этому новому центру.

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

Pcbnew coordinate status display

Управление с клавиатуры

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

  • Delete: удалить посадочное место или дорожку. (Доступно только в режиме расположения посадочных мест или дорожек)

  • V: в режиме добавления дорожек переключает рабочий слой или добавляет переходное отверстие, если начата прокладка дорожки.

  • + и -: перейти на следующий или предыдущий слой.

  • ?: отобразить список всех комбинаций клавиш.

  • Пробел: сбросить относительные координаты.

Операции над блоками

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

Контур блока перемещается вместе с мышью пока нажата левая кнопка мыши. Команда выполнится как только кнопка будет отпущена.

Путём нажатия одной из клавиш-модификаторов Shift, Ctrl, обеих вместе или Alt, при выделении блока, автоматически выбираются операции по отражению, вращению, удалению или копированию, как показано в следующей таблице:

Действие Результат

Нажата левая кнопка мыши

Перемещение блока

Нажаты Shift и левая кнопка мыши

Отражение блока

Нажаты Ctrl и левая кнопка мыши

Поворот блока на 90°

Нажаты Shift, Ctrl и левая кнопка мыши

Удаление блока

Нажаты Alt и левая кнопка мыши

Копирование блока

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

Любая из перечисленных команд может быть прервана с помощью контекстного меню или нажатием клавиши Escape (Esc).

Pcbnew legacy block selection dialog

Формат единиц измерения

В полях ввода диалоговых окон пользователь может задавать размеры в дюймах или миллиметрах. Единицы измерения в основном окне можно переключать с помощью кнопок: unit inch unit mm. Независимо от этого, можно использовать любую единицу измерения при вводе нового значения.

Доступные единицы измерения:

1 in

1 дюйм

1 "

1 дюйм

25 th

25 тысячных дюйма

25 mi

25 мил (тысячная дюйма)

6 mm

6 миллиметров

Правила использования:

  • Допускается наличие пробелов между числом и единицей измерения.

  • Только первые два символа в названии единицы измерения имеют значение.

  • В странах, использующих в качестве десятичного разделителя символ отличный от точки, всё равно можно можно использовать точку (.). Т.е. 1,5 и 1.5 эквивалентны, например, во Франции.

Главное меню

Главное меню предоставляет доступ к командам над файлами (загрузка и сохранение), настройки параметров, печати, черчению и файлам помощи.

Pcbnew top menu bar

Меню Файл

Pcbnew file menu

Меню файл позволяет загружать и сохранять файл печатных плат, а также производить их печать и черчение. С его помощью можно выполнить экспорт платы в файл формата GenCAD 1.4 для автоматизированной проверки.

Меню Правка

Содержит общие команды редактирования:

Pcbnew edit menu

Меню Просмотр

Позволяет:

  • Показать/спрятать Менеджер слоёв (в котором можно установить цвет отображения каждого из слоёв и других элементов; также позволяет скрывать некоторые элементы).

  • Показать/скрыть панель инструментов для работы ВЧ-сигналами.

  • Запустить просмотрщик библиотек или 3D-просмотрщик

  • Изменить масштаб

  • Настроить сетку и единицы измерения

  • Выбрать режим отображения или контрастный режим

Pcbnew view menu

Содержит команды масштабирования и отображение в 3-х мерном виде.

3D-просмотрщик

Открывает окно для просмотра печатной платы в 3-х мерном виде. Пример:

Sample 3D board

Меню Установки

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

  • Настройка слоёв (количество, видимость и названия).

  • Правка правил проектирования (размеры дорожек, зазоров и переходных отверстий).

Очень важное меню, позволяет настроить:

  • Размеры надписей и ширину линий для черчения.

  • Размеры и параметры контактных площадок.

  • Установить общие значения для слоёв паяльной маски и паяльной пасты.

Pcbnew setup menu

Меню Разместить

Содержит те же команды, что и правая панель инструментов.

Pcbnew place menu

Меню Трассировать

Содержит команды трассирования печатной платы.

Pcbnew route menu

Меню Проверить

Позволяет:

  • Просмотреть список цепей

  • Запустить инструмент измерения

  • Запустить проверку правил проектирования

Pcbnew inspect menu

Меню Инструменты

Позволяет:

  • Открыть диалог загрузки списка цепей

  • Обновить печатную плату на основе схемы

  • Обновить посадочные места из библиотеки

  • Начать совместную работу с FreeRouter

  • Открыть консоль для работы с python-скриптами

  • Запустить внешние плагины

Pcbnew tools menu

Меню Настройки

Pcbnew preferences menu

Позволяет:

  • Выбирать библиотеки посадочных мест.

  • Управлять основными настройками (единицами измерения и т.п.).

  • Управлять прочими настройками отображения.

  • Создавать, редактировать (и перезагружать) файл комбинаций клавиш.

Меню Справка

Предоставляет доступ к руководству пользователя и диалоговому окну со сведениями о программе).

Верхняя панель инструментов

Эта панель предоставляет доступ к главным командам Pcbnew.

Pcbnew top toolbar

new board

Создать новую печатную плату.

open brd file

Открыть существующую печатную плату.

save

Сохранить печатную плату.

sheetset

Выбор формата листа и изменение параметров файла.

module editor

Открыть Редактор посадочных мест для редактирования посадочных мест из библиотеки или из платы.

modview icon

Открыть Просмотрщик посадочных мест для просмотра посадочных мест из библиотеки или из платы.

undo redo

Отмена/Повтор последней команды (до 10 шт.).

print button

Открыть диалог печати.

plot

Открыть диалог черчения.

zoom in zoom out

Увеличить или уменьшить масштаб (по отношению к центру окна).

zoom redraw

Обновить изображение.

zoom fit in page

Вместить в окне.

find

Найти посадочное место или текст.

netlist

Обработка списка цепей (выбор, считывание, тестирование и компиляция).

drc

Проверка правил проектирования (DRC): Автоматическая проверка дорожек.

Pcbnew toolbar layer select dropdown

Выбор рабочего слоя.

Pcbnew layer pair indicator

Выбор пары слоёв (для переходных отверстий).

mode module

Режим посадочных мест: при активации добавляет команды в контекстное меню для обработки посадочных мест.

mode track

Режим трассировки: при активации добавляет команды в контекстное меню для разводки печатной платы.

web support

Прямой доступ к трассировщику Freerouter.

py script

Показать/Скрыть консоль скриптов на языке Python.

Вспомогательная панель инструментов

Pcbnew track thickness dropdown

Выбор ширины для новых дорожек.

Pcbnew via size dropdown

Выбор размера для новых переходных отверстий.

auto track width

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

Pcbnew grid size dropdown

Выбор шага сетки.

Pcbnew zoom factor dropdown

Выбор масштаба.

Правая панель инструменов

Эта панель предоставляет доступ к инструментам редактирования печатных плат в Pcbnew.

Pcbnew right toolbar

cursor

Select the standard mouse mode.

net highlight

Highlight net selected by clicking on a track or pad.

tool ratsnest

Display local ratsnest (Pad or Footprint).

module

Add a footprint from a library.

add tracks

Placement of tracks and vias.

add zone

Placement of zones (copper planes).

add keepout area

Placement of keepout areas ( on copper layers ).

add dashed line

Draw Lines on technical layers (i.e. not a copper layer).

add circle

Draw Circles on technical layers (i.e. not a copper layer).

add arc

Draw Arcs on technical layers (i.e. not a copper layer).

text

Placement of text.

add dimension

Draw Dimensions on technical layers (i.e. not the copper layer).

add pcb target

Draw Alignment Marks (appearing on all layers).

delete

Delete element pointed to by the cursor

Note: When Deleting, if several superimposed elements are pointed to, priority is given to the smallest (in the decreasing set of priorities tracks, text, footprint). The function "Undelete" of the upper toolbar allows the cancellation of the last item deleted.

pcb offset

Offset adjust for drilling and place files.

grid select axis

Grid origin. (grid offset). Useful mainly for editing and placement of footprints. Can also be set in Dimensions/Grid menu.

  • Размещение посадочных мест, дорожек, зон меди, текстов и т.п.

  • Подсветка цепей.

  • Создание надписей, графических элементов и т.п.

  • Удаление элементов.

Левая панель инструментов

Эта панель позволяет управлять отображением и элементами графического интерфейса Pcbnew.

Pcbnew left toolbar

drc off

Turns DRC (Design Rule Checking) on/off. Caution: when DRC is off incorrect connections can be made.

grid

Turn grid display on/off Note: a small grid may not be displayed unless zoomed in far enough

polar coord

Polar display of the relative co-ordinates on the status bar on/off.

unit inch unit mm

Display/entry of coordinates or dimensions in inches or millimeters.

cursor shape

Change cursor display shape.

general ratsnest

Display general rats nest (incomplete connections between footprints).

local ratsnest

Display footprint rats nest dynamically as it is moved.

auto delete track

Enable/Disable automatic deletion of a track when it is redrawn.

show zone

Show filled areas in zones

show zone disable

Do not show filled areas in zones

show zone outline only

Show only outlines of filled areas in zones

pad sketch

Display of pads in outline mode on/off.

via sketch

Display of vias in outline mode on/off.

showtrack

Display of tracks in outline mode on/off.

contrast mode

High contrast display mode on/off. In this mode the active layer is displayed normally, all the other layers are displayed in gray. Useful for working on multi-layer circuits.

layers manager

Hide/Show the Layers manager

mw toolbar

Access to microwaves tools. Under development

Контекстное меню

Щелчок правой кнопкой мыши вызывает контекстное меню. Его содержимое зависит от элемента, над которым был размещён курсор.

Контекстное меню предоставляет мгновенный доступ к:

  • Инструментам управления изображением (центровать по курсору, масштабирование).

  • Параметрам сетки.

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

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

Возможные режимы

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

mode module и mode track выключены

Нормальный режим

mode module включён

Режим посадочных мест

mode track включён

Режим трассировки

Нормальный режим

  • Контекстное меню без выделенных элементов:

Pcbnew popup normal mode
  • Контекстное меню для дорожки:

Pcbnew popup normal mode track
  • Контекстное меню для посадочного места:

Pcbnew popup normal mode footprint

Режим посадочных мест

Те же случаи, но в режиме посадочных мест: mode module

  • Контекстное меню без выделенных элементов:

Pcbnew popup footprint mode
  • Контекстное меню для дорожки:

Pcbnew popup footprint mode track
  • Контекстное меню для посадочного места:

Pcbnew popup footprint mode footprint

Режим трассировки

Те же случаи, но в режиме трассировки: mode track

  • Контекстное меню без выделенных элементов:

Pcbnew popup track mode
  • Контекстное меню для дорожки:

Pcbnew popup track mode track
  • Контекстное меню для посадочного места:

Pcbnew popup track mode footprint

Взаимодействие со схемой

Связывание схемы с печатной платой

В общем случае, лист схемы связан со своей печатной платой через файл списка цепей, который обычно формируется в редакторе схем после её построения. Pcbnew поддерживает файлы списка цепей, созданные в Eeschema или Orcad PCB 2. В файле списка цепей, созданном на основе схемы, обычно отсутствуют посадочные места, соответствующие разным компонентам. Следовательно, необходима промежуточная процедура. В процессе этой промежуточной процедуры выполняется связывание компонента с определённым посадочным местом. В KiCad, CvPcb используется для создания этих связей и формирования файла *.cmp. Также CvPcb используется для обновления файла списка цепей на основе данной информации.

Ко всему прочему, CvPcb может создавать файл материалов *.stf ("stuff file"), с помощью которого возможно загрузить в схему значения полей F2 (посад.место) для каждого компонента, что освобождает от необходимости повторного назначения посадочных мест при каждом изменении схемы. При копировании компонента в Eeschema, также копируется значение назначенного посадочного места, а обозначение сбрасывается для дальнейшей повторной аннотации.

Pcbnew считывает изменённый файл списка цепей .net и, если существует, файл .cmp. Если посадочные места редактировались в Pcbnew, то содержимое файла *.cmp обновляется автоматически, без необходимости повторно запускать CvPcb.

Чтобы понять процесс проектирования в KiCad и то, как используются временные файлы различными приложениями, входящими в пакет программ KiCad, нужно обратиться к разделу Маршрут проектирования в KiCad из руководства "Начало работы с KiCad".

Процесс создания печатной платы

После создания схемы в Eeschema:

  • Создайте список цепей используя Eeschema.

  • Назначьте каждому компоненту из файла списка цепей своё посадочное место (англ. — footprint) используя CvPcb.

  • Запустите Pcbnew и загрузите созданный файл списка цепей (англ. — netlist). При этом также будет загружен файл с выбранными посадочными местами.

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

Процесс обновления печатной платы

Если схема изменилась (после того, как печатная плата была создана), необходимо выполнять следующие действия:

  • Сформировать новый файл списка цепей используя Eeschema.

  • Если при редактировании схемы, в неё были добавлены новые компоненты, соответствующие им посадочные места должны быть назначены с помощью CvPcb.

  • Запустить Pcbnew и перезагрузить изменившийся файл списка цепей (при этом будут заново загружены назначенные посадочные места).

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

Считывание файла списка цепей - загрузка посадочных мест

Диалоговое окно

Открывается с помощью кнопки netlist

Pcbnew netlist dialog

Доступные параметры

Выбор посад.места

Связь компонента с соответствующим ему посадочным местом осуществляется по: Обозначению (стандартное значение) или Временной метке (используется при изменении обозначений компонентов в схеме).

Замена посад.места

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

Неподключенные дорожки

Оставить все существующие дорожки или удалить не подключенные.

Дополнительные посад.места

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

Цепь с одной конт.пл.

Удалить дорожки, подключенные лишь к одной контактной площадке.

Загрузка новых посадочных мест

При обнаружении новых посадочных мест в списке цепей и включённом режиме GAL, они будут загружены, компактно размещены и готовы к расположению на печатной плате в виде блока.

Pcbnew import spread footprints

При обнаружении новых посадочных мест в списке цепей в стандартном режиме отображения, они будут автоматически загружены и размещены в точке с координатами (0,0).

Pcbnew stacked footprints

Новые посадочные места можно переместить и расположить один за одним. Наилучший путь при этом — воспользоваться инструментом автоматического размещения:

Активировать режим посадочных мест (mode module)

Переместить курсор на пустое место (свободное от компонентов) и нажать правую кнопку мыши:

Pcbnew move all modules
  • Авт. разместить новые посад.места — если на печатной плате уже имеются посадочные места.

  • Авт. разместить все посад.места — при первом использовании (когда печатная плата только создается).

На следующем изображении показан результат.

Pcbnew unstacked footprints

Слои

Введение

Pcbnew может работать с 50-ю различными слоями:

  • От 1 до 32 слоёв меди для размещения дорожек.

  • 14 специализированных технических слоёв:

    • 12 пар слоёв (верх/низ): клей, паяльная паста, шелкография, паяльная маска, габариты, монтаж

    • 2 самостоятельных слоя: контур платы, контур области монтажа

  • 4 вспомогательных слоя, которые пользователь может использовать по своему усмотрению: комментарии, пользовательский 1, пользовательский 2, графические элементы

Настройка слоёв

Чтобы открыть диалоговое окно Настройка слоев, выберите в меню Правила проектированияНастройка слоев.

Количество слоёв меди, их названия и назначение настраиваются здесь. Неиспользуемые технические слои можно отключить.

Pcbnew layer setup dialog

Описание слоёв

Слои меди

Слои меди — это наиболее часто используемые слои, на которых размечаются дорожки. Они нумеруются начиная с 0 (первый слой меди находится сверху) и заканчивая 31 (нижний). Так как компоненты не могут монтироваться на внутренних слоях (номера от 1 до 30), то только слои 0 и 31 считаются слоями компонентов.

Название любого слоя меди можно редактировать. Слои меди имеют особые атрибуты, которые могут быть полезными при использовании стороннего трассировщика Freerouter. Например, название 0-го слоя по умолчанию F.Cu, но можно переименовать в In0.

Pcbnew layer setup dialog layer properties

Парные технические слои

12 технических слоёв идут парами: один верхний, второй нижний. Их можно распознать по префиксам в названиях "F." (от англ. Front — передний) и "B." (от англ. Back — задний). При перемещении посадочного места на противоположную сторону платы, элементы из которых оно состоит (контактные площадки, графические элементы, надписи) автоматически отражаются и перемещаются на парные слои, соответствующие исходным.

Пары технических слоёв:

Клей (Adhesive): F.Adhes и B.Adhes

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

Паяльная паста (Solder Paste): F.Paste и B.Paste

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

Шелкография (Silk Screen): F.SilkS и B.SilkS

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

Паяльная маска (Solder Mask): F.Mask и B.Mask

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

Область монтажа (Courtyard): F.CrtYd и B.CrtYd

Используются для указания того, сколько физического места занимает компонент на печатной плате.

Производственные слои (Fabrication): F.Fab и B.Fab

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

Независимые технические слои

Контур платы: Edge.Cuts

Этот слой выделен специально для обозначения контура печатной платы. Любые элементы (графика, текст, …​), размещенные на этом слое, отображаются на всех остальных слоях. Используйте этот слой только для изображения контуров платы.

Габбариты: Margin

Обозначает область монтажа компонентов на печатной плате (?).

Слои для общего пользования

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

  • Comments

  • E.C.O. 1

  • E.C.O. 2

  • Drawings

Выбор рабочего слоя

Выбрать слой для работы можно несколькими способами:

  • Используя правую панель инструментов (Менеджер слоёв).

  • Используя верхнюю панель инструментов.

  • С помощью контекстного меню (вызывается щелчком правой кнопки мыши).

  • Используя клавиши + и - (применительно только к слоям меди).

  • Используя горячие клавиши.

Выбор с помощью менеджера слоёв

Pcbnew layer manager pane

Выбор с помощью верней панели инструментов

Pcbnew layer selection dropdown

Здесь рабочий слой выбирается непосредственно.

Также, отображаются горячие клавиши для переключения.

Выбор с помощью контекстного меню

Pcbnew layer selection popup

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

Pcbnew layer selection dialog

Выбор слоёв для переходных отверстий

Если выбран инструмент Добавить дорожки и перех.отв. на правой панели инструментов, в контекстном меню появляется опция, позволяющая настроить пару слоёв для размещения контактных площадок переходных отверстий:

Pcbnew via layer pair popup

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

Pcbnew via layer pair dialog

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

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

Использование контрастного режима отображения

Этот режим активируется с помощью кнопки на левой панели инструментов: contrast mode

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

Есть два полезных способа применения:

Слой меди в контрастном режиме

Если печатная плата состоит из более чем четырёх слоёв, этот режим позволяет существенно повысить читабельность:

Нормальный режим (нижний слой меди выбран активным):

Pcbnew copper layers contrast normal

Контрастный режим (нижний слой меди выбран активным):

Pcbnew copper layers contrast high

Технические слои

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

При активации данного режима отображаются маски контактных площадок.

Нормальный режим (верхний слой паяльной маски выбран активным):

Pcbnew technical layers contrast normal

Контрастный режим (верхний слой паяльной маски выбран активным):

Pcbnew technical layers contrast high

Создание и редактирование печатной платы

Создание печатной платы

Черчение контура печатной платы

Лучше всегда начинать создание печатной платы с черчения её контуров. Этот контур изображается как последовательность прямых отрезков. Выберите 'Edge.Cuts' в качестве рабочего слоя и используйте инструмент 'Добавить графическую линию или полигон' для изображения контуров. При этом, щелчок мыши добавляет вершину, а двойной щелчок завершает линию. Платы обычно имеют точные размеры, поэтому отслеживание координат курсора, при черчении контура, будут очень полезны. Помните, относительные координаты можно сбросить в любой момент нажатием клавиши Пробел, а единицы измерения переключаются с помощью комбинации клавиш 'Ctrl-U'. Относительные координаты позволяют добиться высокой точности при черчении. Существует возможность создавать круглые контуры (или в виде дуги):

  1. Выберите инструмент 'Добавить графическую окружность' или 'Добавить графическую дугу'

  2. Щелчком мыши установите центр окружности

  3. Перемещая курсор мыши задайте необходимый радиус

  4. Ещё одни щелчок мыши завершит создание окружности

Толщину линии контура можно изменять в главного или контекстного меню (рекомендуемая толщина = 150 в 1/10 мил). Реальная толщина линий будет показана только в том случае, если отключен контурный режим.

Готовый контур печатной платы может выглядеть так:

Pcbnew simple board outline

Использование чертежа DXF в качестве контура платы

Альтернативой черчения контура платы непосредственно в Pcbnew является его импорт из чертежа в формате DXF.

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

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

Подготовка чертежа DXF для импорта в KiCad

При импорте файлов в формате DXF не поддерживаются такие элементы как Ломаная линия и Эллипс. Поэтому перед использованием DXF-файлов в KiCad, необходимо выполнить некоторые операции для подготовки к импорту.

Для этих целей можно использовать LibreCAD.

На первом этапе все Ломаные линии необходимо разделить (Разрушить) на простые отрезки. В LibreCAD выполните следующие действия:

  1. Откройте копию DXF-файла.

  2. Выделите контур платы (выделение отобразится штриховой линией).

  3. В меню Изменить выберите пункт Разрушить.

  4. Нажмите клавишу ENTER.

На следующем этапе сложные кривые, такие как Эллипс, необходимо разделить на короткие отрезки прямых линий, из которых образуется нужный элемент. Подобное преобразование происходит автоматически при сохранении DXF-файла в формате DXF R12 (так как этот формат не поддерживает сложные кривые, САПР преобразует сегменты в виде отрезков. Некоторые САПР имеют возможность настраивать количество или длину отрезков). В LibreCAD длина отрезков выбрана приемлемой для использования в изображении контуров печатной платы.

В LibreCAD выполните следующие действия для экспорта файла в формате DXF R12:

  1. В меню Файл выберите Сохранить как…​

  2. В диалоге сохранения файла выберите тип файла для сохранения (в самом низу диалогового окна). Нужный вариант — Drawing Exchange DXF R12.

  3. Если необходимо, измените имя файла в соседнем поле.

  4. Нажмите кнопку Сохранить.

Теперь DXF-файл готов для импорта в KiCad.

Импорт DXF-файлов в KiCad

Следующие инструкции описывают процесс импорта подготовленного DXF-файла в KiCad в качестве контура платы. Заметьте, процесс импорта немного отличается в различных режимах отображения.

При использовании "обычного" режима отображения:

  1. В меню Файл выберите подменю Импорт, а в нём пункт DXF файл.

  2. В диалоговом окне Выбор DXF файла с помощью кнопки 'Обзор' выберите подготовленный DXF-файл для импорта.

  3. С помощью параметра 'Разместить начальную точку (0;0) DXF:' укажите место для расположения начала координат из DXF-файла по отношению к началу координат печатной платы (в KiCad начало координат располагается в верхнем левом углу). При выборе варианта 'Позиция определенная пользователем', введите соответствующие координаты в поля 'Позиция по X', 'Позиция по Y'.

  4. В поле 'Слой' выберите слой контура печатной платы для импорта — Edge.Cuts.

  5. Нажмите 'OK'.

При использовании режимов "OpenGL" и "Cairo":

  1. В меню Файл выберите подменю Импорт, а в нём пункт DXF файл.

  2. В диалоговом окне Выбор DXF файла с помощью кнопки 'Обзор' выберите подготовленный DXF-файл для импорта.

  3. Значение параметра 'Разместить начальную точку (0;0) DXF:' не имеет значения в этих режимах.

  4. В поле 'Слой' выберите слой контура печатной платы для импорта — Edge.Cuts.

  5. Нажмите 'OK'.

  6. Контур закрепится под курсором и его можно перемещать по полю печатной платы.

  7. С помощью щелчка мыши контур размещается на печатной плате.

Пример импортированного DXF-контура

Здесь приведён пример импорта контура из DXF-файла, который содержит эллиптические элементы, преобразованные в последовательность коротких прямых отрезков:

Pcbnew board outline imported from a DXF

Считывание списка цепей, сформированного из схемы

Нажмите кнопку netlist для вызова диалогового окна загрузки списка цепей:

Pcbnew netlist dialog

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

Pcbnew board outline with dogpile

Если еще ни одно посадочное место не было размещено, то все загруженные посадочные места появятся на печатной плате в одном месте, в результате чего их будет сложно различить. Но посадочные места можно автоматически разместить (используя команду 'Глобальное перемещение и размещение' из контекстного меню). Далее показан пример автоматического размещения:

Pcbnew board outline with globally placed modules
Если в плату были внесены изменения в виде замены типа посадочного места (например, вместо резистора мощностью 0.125 Вт нужно установить резистор 0.5 Вт) с помощью CvPcb, то Pcbnew удалит старое посадочное место перед добавлением нового. Однако, посадочные места можно легко менять используя диалог редактирования свойств посадочного места, который вызывается из контекстного меню.

Редактирование печатной платы

Очень часто приходится редактировать печатную плату после внесения изменений в схему устройства.

Последовательность действий

  1. Сформировать новый список цепей на основе изменённой схемы.

  2. Если при этом были добавлены новые компоненты, следует назначить им соответствующие посадочные места в CvPcb.

  3. Считать созданный список цепей в Pcbnew.

Удаление повреждённых дорожек

Pcbnew может автоматически удалять дорожки, которые после внесённых изменений стали дефектными. Для этого нужно установить отметку напротив пункта 'Удалить' для параметра 'Неподключенные дорожки' в диалоговом окне считывания списка цепей:

Pcbnew bad tracks deletion option

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

Удаление компонентов

Pcbnew может удалить посадочное место, если соответствующий ему компонент был удалён в схеме. Этой функцией можно управлять.

Управление нужно потому, что часто посадочные места (такие как отверстия для крепления печатной платы) добавляются на печатную плату и никак не отражаются на схеме.

Pcbnew extra footprints deletion option

Если параметр "Дополнительные посад.места" настроен так, то посадочные места, для которых не найдётся соответствующего компонента в списке цепей, будет удалён, при условии что он не "заблокирован". Отличным решением будет заблокировать все "механические" посадочные места:

Pcbnew unlock footprint option

Замена посадочных мест

Если посадочное место было заменено в списке цепей (с помощью CvPcb), и если оно уже расположено на печатной плате, то Pcbnew не будет его менять до тех пор, пока параметр 'Замена посад.места' не изменится в диалоговом окне чтения списка цепей:

Pcbnew exchange module option

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

Дополнительные параметры - идентификация по временной метке

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

Pcbnew module selection option

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

Используя этот параметр нужно быть осторожным (сначала сохраняйте файл!). Потому что процедура усложняется при использовании компонентов, состоящих из нескольких частей (таких как 7400, содержащих 4 компонента в одном корпусе). В таких случаях, временные метки не являются уникальными (на примере с 7400, у четырёх её частей будет одинаковая метка). Тем не менее, временные метки обычно помогают решить проблемы при изменении обозначений.

Замена посадочных мест на печатной плате

Заменить посадочное место (или несколько подобных посадочных мест) на другое можно очень просто:

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

  2. Нажмите кнопку Изменить посад.места.

Pcbnew change modules button

Параметры для замены посадочного места:

Pcbnew footprint exchange options

Нужно ввести название нового посадочного места и выбрать один из вариантов:

  • Изменить посад.место на 'xx' для текущего посадочного места.

  • Изменить посад.места 'yy' для все посадочных мест такого же типа.

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

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

Размещение посадочных мест

Помощь при размещении

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

Размещение вручную

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

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

Pcbnew ratsnest during move

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

Pcbnew circuit after placement

Автоматическое размещение посадочных мест

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

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

  • Включите "Режим посадочных мест" (кнопка mode module на верхней панели инструментов).

  • Контекстное меню примет следующий вид:

Если под курсором имеется посадочное место:

Pcbnew context module mode module under cursor

Если под курсором ничего нет:

Pcbnew context module mode no module under cursor

В обоих случаях доступны следующие команды:

  • Разложить все посад.места позволяет автоматически разместить все не заблокированные посадочные места. Эта команда обычно используется после первого чтения списка цепей.

  • Разложить все посад.места, которые еще не на плате позволяет автоматически разместить посадочные места, которые ещё не были размещены внутри контура печатной платы. Для выполнения этой команды требуется, чтобы контур платы был изображен, тогда можно будет определить какие посадочные места нужно автоматически разместить.

Автоматическая расстановка посадочных мест

Параметры инструмента автоматической расстановки

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

Он, также, выбирает лучшую ориентацию (0, 90, -90, 180 градусов) для посадочного места. Расстановка выполняется по определённому алгоритму оптимизации, при котором выбираются минимальные длины для линий соединения и обеспечивается большее пространство для посадочных мест с большим количеством выводов. Порядок размещения оптимизирован так, чтобы в первую очередь были размещены посадочные места с наибольшим числом выводов.

Подготовка

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

Перед автоматической расстановкой необходимо:

  • Создать контур печатной платы (он может быть сложным, но должен быть замкнутым, если его форма не прямоугольная).

  • Вручную разместить компоненты, позиция которых чётко определена (разъемы, монтажные отверстия и т.п.).

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

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

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

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

Обычно, резисторы и неполярные конденсаторы разрешают вращение на 180 градусов. Некоторые посадочные места (небольшие транзисторы, к примеру) можно вращать на +/- 90 и 180 градусов.

Каждое посадочное место содержит один ползунок для поворота на 90 градусов и второй ползунок для поворота на 180 градусов. Установка в 0 запрещает вращение, 10 — разрешает, промежуточные значения отображают склонность к повторным вращениям.

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

Интерактивная автоматическая расстановка

В процессе автоматической расстановки может потребоваться её прервать (нажатием клавиши Esc) и переместить посадочное место вручную. Используя команду Авт. разместить следующие посад.места, можно продолжить процесс автоматической расстановки с того места, на котором она была остановлена.

Команда Авт. разместить новые посад.места позволяет автоматически расставить посадочные места, которые ещё не были размещены внутри контура печатной платы. При этом, посадочные места уже находящиеся внутри контуров платы, перемещаться не будут, даже если они не заблокированы.

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

Дополнительные примечания

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

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

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

Установка параметров трассировки

Текущие параметры

Доступ к основному диалоговому окну

К самым важным параметрам можно получить доступ из главного меню:

Pcbnew design rules dropdown

и настроить их в диалоговом окне правки правил проектирования.

Текущие параметры

Текущие параметры отображаются на верхней панели инструментов.

Pcbnew design rules top toolbar

Общие настройки

К общим настройкам можно получить доступ через главное меню: Настройки → Общие.

Pcbnew preferences menu

Внешний вид диалогового окна показано далее:

Pcbnew general options dialog

Следующие параметры влияют на дорожки:

  • Ограничить дорожки только под 45°: дорожку можно проложить только под углами 0, 45 или 90 градусов.

  • Использовать дорожки со сдвоенными сегментами: при создании, дорожка будет состоять из двух сегментов.

  • Удалить не подсоединенные дорожки: при исправлении дорожки, старая будет удаляться, если в ней нет необходимости.

  • Притягивающая конт.пл.: при достаточном приближении курсора к контактной площадке, он займёт позицию в её центре.

  • Притягивающая дорожка: при достаточном приближении курсора к краю дорожки, он займёт позицию в его центре.

Классы цепей

В Pcbnew можно установить параметры трассировки для каждой цепи. Эти параметры задаются для группы цепей.

  • Группы цепей называют классами цепей (Netclass).

  • По умолчанию все цепи принадлежат к классу "default".

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

Классом цепей определяется:

  • Ширина дорожек, диаметры площадок и отверстий переходных отверстий.

  • Зазоры между контактными площадками и дорожками (или переходными отверстиями).

  • При создании или редактировании дорожки, Pcbnew автоматически выбирает соответствующий класс цепи и задействует необходимые параметры.

Установка параметров трассировки

Выберите пункт в меню: Правила проектирования → Правила проектирования.

Редактор классов цепей

С помощью редактора классов цепей можно:

  • Добавлять и удалять классы цепей.

  • Изменять значения параметров трассировки: размеры зазоров, дорожек, переходных отверстий.

  • Группировать цепи в классы цепей.

Pcbnew design rules editor netclass tab

Общие правила проектирования

Общие правила проектирования позволяют:

  • Разрешить/запретить использование глухих/внутренних переходных отверстий.

  • Разрешить/запретить использование переходных микроотверстий.

  • Установить минимально допустимые значения параметров для дорожек и переходных отверстий.

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

Pcbnew design rules editor global tab

Также, в этом диалоговом окне можно задать "стандартные" размеры для дорожек и переходных отверстий.

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

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

Параметры переходных отверстий

Pcbnew работает с тремя типами переходных отверстий:

  • Сквозные (обычные) переходные отверстия.

  • Глухие или внутренние переходные отверстия.

  • Переходные микроотверстия — похожи на глухие, но связывают один из внешних слоёв меди в ближайшим внутренним. Они используются для соединения контактных площадок BGA-корпусов с ближайшим внутренним слоем меди. Их диаметр, обычно, очень мал и отверстия выполняются с помощью лазера.

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

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

Параметры дорожек

Определяется минимально допустимая ширина дорожки. Если на печатной плате обнаружится дорожка с параметрами меньше, чем допустимо, будет сформировано уведомление об ошибке.

Особые размеры

Pcbnew specific size options

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

Примеры и часто используемые размеры

Ширина дорожек

Используйте максимально возможное из приведённых здесь минимальных значений.

Единицы измерения КЛАСС 1 КЛАСС 2 КЛАСС 3 КЛАСС 4 КЛАСС 5

мм

0.8

0.5

0.4

0.25

0.15

мил

31

20

16

10

6

Зазоры

Единицы измерения КЛАСС 1 КЛАСС 2 КЛАСС 3 КЛАСС 4 КЛАСС 5

мм

0.7

0.5

0.35

0.23

0.15

мил

27

20

14

9

6

Обычно, минимальный зазор выбирают очень близким к минимальной ширине дорожки.

Примеры

Упрощённый

  • Зазор: 0.35 мм (0.0138 дюйма).

  • Ширина дорожки: 0.8 мм (0.0315 дюйма).

  • Диаметр контактных площадок интегральных микросхем и переходных отверстий: 1.91 мм (0.0750 дюйма).

  • Диаметр контактных площадок дискретных компонентов: 2.54 мм (0.1 дюйма).

  • Ширина дорожки общей цепи ("земли"): 2.54 мм (0.1 дюйма).

Pcbnew dr example rustic

Стандартный

  • Зазор: 0.35 мм (0.0138 дюйма).

  • Ширина дорожки: 0.5 мм (0.0127 дюйма).

  • Диаметр контактных площадок для интегральных микросхем: должен быть таким, чтобы позволить проложить дорожку между выводами и при этом оставался достаточный зазор (1.27 x 2.54 мм → 0.05 x 0.1 дюймов).

  • Переходные отверстия: 1.27 мм (0.0500 дюйма).

Pcbnew dr example standard

Ручная трассировка

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

Помощь при создании дорожек

Pcbnew может отображать все линии связей, если кнопка modratsnest активна.

Инструмент net highlight позволяет подсветить цепь (щелкните по контактной площадке или дорожке, чтобы подсветить соответствующую цепь).

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

Создание дорожек

Дорожку можно создать с помощью инструмента add tracks. Новая дорожка должна начинаться с контактной площадки или другой дорожки, так как Pcbnew должен знать, к какой цепи она относится (чтобы выполнить проверку правил проектирования).

Pcbnew creating new track

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

Направление первого отрезка дорожки (по-горизонтали или по-диагонали) называют "Направлением дорожки" и её можно переключать с помощью горячей клавиши '/' или кнопкой change entry orient.

Pcbnew routing posture

Если зажать клавишу 'Ctrl' при трассировке в не стандартном режиме отображения (OpenGL, Cairo), то режим дорожки переключится на создание горизонтального или вертикального сегмента. Переключение направления влияет только на диагональный сегмент. Нажатие клавиши 'Shift' при трассировке отключает функцию 'притягивания к объектам'.

При создании новой дорожки, Pcbnew показывает линии связей к ближайшим не подключенным контактным площадкам.

Завершить дорожку можно двойным щелчком мыши, через контекстное меню или горячей клавишей 'End'.

Pcbnew track in progres context

Перемещение и перетаскивание дорожек

Когда кнопка add tracks активна, дорожку, расположенную под курсором, можно переместить нажатием кнопки 'M'. Если нужно дорожку перетащить, нужно воспользоваться клавишей 'G'.

Вставка переходных отверстий

Переходное отверстие можно вставить только при прокладывании дорожки:

  • С помощью контекстного меню.

  • Нажатием горячей клавиши 'V'.

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

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

Выбор/изменение ширины дорожки и размеров переходного отверстия

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

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

  • Горизонтальную панель инструментов можно использовать для выбора размеров.

  • Если кнопка add tracks активна, ширину текущей дорожки можно выбрать из контекстного меню (доступно также и при создании дорожек).

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

Использование горизонтальной панели инструментов

Pcbnew track toolbar

Pcbnew track toolbar track width selection

Выбор ширины дорожки. Символ * указывает на стандартное значение для текущего класса цепей.

Pcbnew track toolbar track width selection in use

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

Pcbnew track toolbar via size selection

Выбор размеров переходных отверстий. Символ * указывает на стандартное значение для текущего класса цепей.

Pcbnew track toolbar via size selection in use

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

auto track width

Если активна: Автоматический выбор ширины дорожек включён. Если дорожка начинается из уже существующей, то ширина новой дорожки будет установлена равной ширине существующей.

Pcbnew track toolbar grid size selection

Выбор шага сетки.

Pcbnew track toolbar zoom selection

Выбор масштаба.

Использование контекстного меню

Здесь можно выбрать новый размер для трассировки или изменить созданные ранее переходные отверстия или сегменты дорожек:

Pcbnew track context menu

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

Редактирование и замена дорожек

Замена дорожки

Очень часто требуется перерисовать дорожку.

Новая дорожка (в процессе создания):

Pcbnew new track in progress

После завершения:

Pcbnew new track completed

Pcbnew автоматически удалит старую дорожку, если в ней нет необходимости.

Глобальное редактирование

Диалоговое окно для редактирования всех дорожек и переходных отверстий вызывается из контекстного меню дорожки:

Pcbnew track global edit context menu

Это диалоговое окно позволяет изменить все дорожки и/или переходные отверстия, относящиеся к:

  • Текущей цепи.

  • Всей печатной плате.

Pcbnew track global edit dialog

Интерактивный трассировщик

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

Поддерживаются такие режимы:

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

  • Расталкивать — трассировщик пытается сдвинуть все элементы, которые мешают проложить новую дорожку.

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

Настройка

Перед использованием интерактивного трассировщика, пожалуйста, настройте следующие две вещи:

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

Rules editor
  • Включите режим отображения OpenGL — выберите пункт в меню Просмотр→Переключить на отображение в OpenGL или нажмите клавишу F11.

OpenGL mode

Трассировка дорожки

Для активации инструмента трассировки нажмите кнопку Интерактивный трассировщик Interactive Router Button или нажмите клавишу X. Курсор примет форму креста и в строке статуса появится название инструмента.

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

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

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

Для того чтобы остановить трассировку и отменить все изменения (сдвиг элементов и т.п.), просто нажмите клавишу Esc.

Нажатие клавиши V или выбор пункта Разместить сквозное перех.отв. из контекстного меню, в процессе трассировки дорожки, добавит переходное отверстие в конец дорожки. Переходное отверстие не закрепляется, его можно перемещать. Повторное нажатие клавиши V отменит вставку переходного отверстия. Щелчок мыши в любом подходящем месте закрепит переходное отверстие и трассировка продолжится (если только клавиша 'Shift' не зажата).

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

По умолчанию, трассировщик стремится к центру или оси элемента. Это поведение можно отключить, нажав клавишу Shift в процессе трассировки или выбора элемента.

Настройка ширины дорожки и размера переходных отверстий

Существует несколько способов предварительного выбора размеров дорожки или переходного отверстия или их настройки в процессе трассировки:

  • Использовать стандартные горячие клавиши KiCad.

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

  • Выбрать предварительно настроенное значение из вложенного меню Выбрать ширину дорожки/перех.отв. контекстного меню.

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

Перетаскивание

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

Настройки

Поведение трассировщика можно настроить нажатием клавиши E или выбором пункта Параметры трассировщика из контекстного меню при активном инструменте создания дорожек. При этом откроется диалоговое окно, показанное ниже:

Доступны такие параметры:

Router options window screenshot
  • Режим — выбор метода, который будет использоваться трассировщиком для преодоления препятствий (расталкивание, обход и т.п.)

  • Расталкивать перех.отв. — если отключено, переходные отверстия воспринимаются как неперемещаемые объекты и их необходимо обходить, а не сдвигать.

  • Перепрыгивать через препятствия — если включено, трассировщик попытается переместить препятствующие дорожки за неподвижные объекты (на подобии контактных площадок), вместо того, чтобы просто "упереться" в них.

  • Удаление лишних дорожек — удалять шунтирующие дорожки при трассировке (т.е. если новая дорожка создаёт соединение, для которого уже существует другая дорожка, то старая дорожка будет удалена). Шунтирование дорожек определяется локально, только между началом и концом текущей дорожки.

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

  • Гладко перетаскивать сегменты — если включено, трассировщик будет пытаться объединить несколько кривых сегментов в один ровный (при перетаскивании).

  • Разрешить нарушения DRC (только в режиме подсветка столкновений) — позволяет создавать дорожки, которые нарушают правила проектирования (DRC).

  • Оптимизатор усилия — определяет время, предоставляемое трассировщику для выполнения расчётов по расталкиванию или обходу препятствия при прокладывании дорожки.

Создание заполненных зон

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

Создание зон на слоях меди

Подключение контактных площадок (и дорожек) к заполненной медной зоне контролируется механизмом проверки правил проектирования (DRC). Зона должна быть заполнена (а не просто создана) для подключения к контактным площадкам. Pcbnew в данных момент использует сегменты дорожек или полигоны для заполнения контуров зоны.

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

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

  • При выполнении специальной команды для заполнения зон.

  • Перед выполнением проверки правил проектирования.

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

В общем случае, для создания медной зоны необходимо:

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

  • Создать контур зоны (если этого не сделать, будет заполнена вся плата).

  • Залить зону.

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

Построение зоны

Создание контура зоны

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

Pcbnew zone properties dialog

Здесь можно установить все возможные параметры для зоны:

  • Цепь

  • Слой

  • Параметры заполнения

  • Параметры контактных площадок

  • Уровень приоритета

Начертите контур зоны на указанном слое. Этот контур образует полигон, вершины которого добавляются с помощью щелчка левой кнопки мыши. Двойной щелчок мыши завершит создание контура и замкнёт его. Если первая и последняя вершина не располагаются в одном месте, то Pcbnew добавит сегмент между ними.

  • При построении контура зоны выполняется контроль правил проектирования.

  • Если при размещении новой вершины будет обнаружена ошибка правил проектирования, то Pcbnew не позволит её создать.

На следующем изображении можно видеть пример контура зоны (заштрихованный тонкими линиями полигон):

Pcbnew zone limit example

Уровень приоритета

Иногда требуется создать небольшую зону внутри большой.

Это можно сделать, если малой зоне назначить приоритет больший, чем у большой.

Установка приоритета:

Pcbnew zone priority level setting

Вот один из примеров:

Pcbnew zone priority example

После заполнения:

Pcbnew zone priority example after filling

Заполнение зон

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

Pcbnew zone context menu

Выполните команду "Залить зону". Ниже показан результат заполнения полигона с точкой подключения внутри:

Pcbnew zone filling result

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

  • Дорожка образует границу

  • Там нет точки подключения для заполнения этой области.

Можно использовать несколько полигонов для создания пустых областей. Далее приведён пример:
Pcbnew zone filled with cutout

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

Pcbnew zone filling options

Перед заполнением зоны нужно настроить:

  • Режим заливки.

  • Зазор и минимальную ширину меди.

  • Каким образом контактные площадки должны подключаться к зоне.

  • Параметры терморазгрузки.

Режим заполнения

Зоны можно заполнять используя полигоны или сегменты. Результат будет одинаков. Если при использовании полигонов имеются проблемы с отображением (большие задержки), нужно использовать сегменты.

Зазор и минимальная ширина меди

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

Если выбрать ширину слишком большой, то небольшие элементы, такие как мостики терморазгрузки, невозможно будет создать.

Параметры контактных площадок

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

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

Pcbnew zone include pads
  • Если контактная площадка исключена из зоны, подключение к ней может быть не очень хорошим.

    • The zone can be filled only if tracks exists to connect zone areas.

    • Pads must be connected by tracks.

Pcbnew zone exclude pads
  • Использование терморазгрузки является оптимальным решением.

    • Pad is connected by 4 track segments.

    • The segment width is the current value used for the track width.

Pcbnew zone thermal relief

Параметры терморазгрузки

Pcbnew thermal relief settings

Можно установить два параметра:

Pcbnew thermal relief parameters

Выбор параметров

Ширина меди для термомостов должна быть больше значения минимальной ширины медной зоны. Если это условие не будет соблюдено, то термомосты не будут созданы.

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

Добавление пустых областей внутри зон

Зона уже должна существовать. Для добавления пустой области (незаполненного участка внутри зоны):

  • Щелкните правой кнопкой мыши по контуру существующей зоны.

  • Выберите пункт Добавить вырезанную область.

Pcbnew add cutout menu item
  • Создайте новый контур.

Pcbnew zone unfilled cutout outline

Редактирование контура

Чтобы изменить контур можно:

  • Перемещать его углы.

  • Удалять или добавлять углы.

  • Дорисовывать новые участки зоны или добавлять пустые области.

Если контуры однотипных зон накладываются друг на друга, то они будут объединены.

Pcbnew zone modification menu items

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

Здесь угол контура вырезанной области был перемещён:

Pcbnew zone corner move during

Здесь показан конечный результат:

Pcbnew zone corner move after

Полигоны объединились.

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

Процесс добавления однотипной зоны:

Pcbnew zone add similar during

Конечный результат:

Pcbnew zone add similar after

Изменение параметров зоны

Если нажать правой кнопкой мыши на контре зоны и выбрать пункт 'Редактировать свойства зоны' из контекстного меню, откроется диалоговое окно для редактирования её параметров.

Окончательное заполнение зоны

Когда работа над печатной платой закончена, нужно заполнить все зоны. Для этого:

  • Выберите инструмент добавления зон с помощью кнопки add zone.

  • Откройте контекстное меню нажатием правой кнопки мыши.

  • Воспользуйтесь командой Залить или перезалить все зоны: Pcbnew fill refill all zones

Процесс заполнения может занять некоторое время, особенно если сетка заливки очень мала.

Замена цепи для зоны

После внесения исправлений в схему, имена цепей могут измениться. Например, цепь VCC может быть переименована в +5V.

При выполнении проверки правил проектирования на всей печатной плате, Pcbnew проверяет, существуют ли цепи назначенные зонам, или нет.

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

Создание зон на технических слоях

Создание контура зоны

Это выполняется с применением того же инструмента add zone. Но активным должен быть технический слой.

После щелчка левой кнопки мыши для начала создания контура, откроется диалоговое окно:

Pcbnew technical layer zone dialog

Выберите один из технических слоёв для размещения зоны и начертите контур, как было описано ранее для слоёв меди.

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

  • Если потребуется, можно добавлять пустые области.

Создание областей запрета

Выберите инструмент add keepout area

Активным должен быть слой меди.

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

Pcbnew keepout area properties

Можно выбрать запрещённые элементы:

  • Дорожки.

  • Переходные отверстия.

  • Участки меди.

Если в области запрета окажется дорожка или переходное отверстие, будет показано уведомление о нарушении правил проектирования.

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

Файлы для производства печатной платы

Давайте рассмотрим этапы формирования необходимых файлов для отправки на производство спроектированной печатной платы.

Все файлы, сформированные в KiCad, располагаются в рабочем каталоге, там же где расположен файл печатной платы xxxx.brd.

Окончательная подготовка

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

  • Обозначьте слои (например, верхний — 'top' или 'front', а нижний — 'bottom' или 'back') вместе с названием проекта в виде надписи, расположенной на слое.

  • Все надписи на нижнем слое (иногда его называют 'задним' или 'со стороны пайки') необходимо отразить.

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

  • Добавьте миры для совмещения и, желательно, проставьте размеры контура (обычно это делается на слоях общего назначения).

Далее показан пример внешнего вида этих элементов, за исключением зон заземления, которые были скрыты для лучшего восприятия:

Pcbnew final preparation example board

Также присутствует цветовая маркировка 4 слоёв меди: Pcbnew layer colour key

Окончательная проверка правил проектирования

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

Зоны заполняются автоматически при старте проверки. Нажмите кнопку drc для вызова диалогового окна проверки правил проектирования.

Pcbnew DRC dialog

Поправьте нужные параметры и затем нажмите кнопку "Старт DRC".

Эта последняя проверка убережет от любых неприятных сюрпризов.

Начало координат в файлах сверловки

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

Pcbnew setting pcb origin

Формирование файлов фото-печати

Это делается через меню Файл/Чертить, откроется следующее диалоговое окно:

Pcbnew plot dialog

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

Pcbnew plot postscript dialog

Для этого формата можно настроить масштабирование для компенсации погрешности плоттера и добиться максимальной точности:

Pcbnew plot fine scale setting

Формат Gerber

Для каждого слоя Pcbnew формирует отдельный файл, соответствующий стандарту GERBER 274X, в формате 4.6 (каждая координата в файле представляется в виде десятизначного числа, 4 цифры выделены для целой части и 6 — для дробной), единицами измерения являются дюймы, масштаб 1:1.

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

Например, для двухсторонней печатной платы с нанесением шелкографии, паяльной маски и пасты (для SMD-элементов), потребуется создать 8 файлов ('xxxx' — условное обозначение имени *.brd-файла).

  • xxxx-F_Cu.gbr — медь со стороны компонентов.

  • xxxx-B_Cu.gbr — медь со стороны пайки.

  • xxxx-F_SilkS.gbr — шелкография со стороны компонентов.

  • xxxx-B_SilkS.gbr — шелкография со стороны пайки.

  • xxxx-F_Paste.gbr — паяльная паста со стороны компонентов.

  • xxxx-B_Paste.gbr — паяльная паста со стороны пайки.

  • xxxx-F_Mask.gbr — паяльная маска со стороны компонентов.

  • xxxx-B_Mask.gbr — паяльная маска со стороны пайки.

Формат файлов Gerber:

В Pcbnew используется формат RS274X версии 4.6, английские единицы измерения, лидирующие нули опускаются, все значения являются абсолютными. Такой набор параметров используется чаще всего.

Формат Postscript

Стандартное расширение выходных файлов в формат Postscript — *.ps. Так же как и при выводе в формате HPGL, процесс формирования можно настроить, указав масштаб и необходимость в отражении изображения. Если в параметрах указано использовать центр листа в качестве начала координат, то все элементы изображения будут построены по отношению к этому центру.

Если задано значение толщины пера, то изображение будет построено с его применением.

Параметры черчения

Для формата Gerger:

Pcbnew plot options gerber

Для других форматов:

Pcbnew plot options other formats

Особые параметры формата Gerger:

Используйте расширения файлов в формате Protel

Используйте .gbl .gtl .gbs .gts .gbp .gtp .gbo .gto вместо .gbr в качестве расширения.

Включайте расширенные атрибуты.

Сохраняйте расширенные атрибуты в файл.

Исключайте паяльную маску из шелкографии.

Удаляйте любые элементы шелкографии из областей паяльной пасты.

Прочие форматы

Стандартное расширение зависит от типа выходного файла.

Некоторые параметры недоступны для отдельных форматов.

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

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

Если задано значение толщины пера, то изображение будет построено с его применением.

Общие параметры зазоров паяльной маски и паяльной пасты

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

  • Контактные площадки.

  • Посадочные места.

  • Все элементы.

И Pcbnew использует их в следующем порядке.

  • Значение для контактных площадок. Если не задано:

  • Значение для посадочных мест. Если не задано:

  • Значение для всех элементов.

Доступ

Нужный пункт находится в меню Размеры:

Pcbnew pad mask clearance menu item

Откроется следующее диалоговое окно:

Pcbnew pad mask settings dialog

Зазор паяльной маски

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

Здесь можно установить минимальную ширину паяльной маски между двумя контактными площадками.

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

Зазор паяльной пасты

Итоговое значение зазора является суммой зазора паяльной пасты и процентов от размера контактной площадки.

Величина имеет отрицательное значения, потому что маска, как правило, меньше контактной площадки.

Формирование файлов сверловки

Всегда следует создавать файл сверловки xxxx.drl в формате EXCELLON.

При этом можно дополнительно сформировать отчёт сверловки и, если необходимо, карту сверловки.

  • Карта сверловки может быть построена в нескольких форматах.

  • Отчёт сверловки является обычным текстовым файлом.

Формирование этих файлов выполняется с помощью:

  • Кнопки "Создать файл сверловки"

  • Пункта меню Файл/Файлы производства/ Файл сверловки.

Диалоговое окно создания файлов сверловки показано далее:

Pcbnew drill file dialog

Для настройки начала координат используются следующие параметры:

Pcbnew drill origin setting
  • Абсолютные: используется абсолютная система координат.

  • Вспомогательные оси: используются координаты относительно вспомогательных осей, используйте соответствующий инструмент (на правой панели инструментов) для их установки.

Формирование документации о проводных соединениях

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

Формирование файлов для автоматической установки компонентов

Этот инструмент доступен в меню Файлы производства/Файл позиций посад.мест. Так или иначе, ни один файл не будет сформирован, если нет хотя бы одного посадочного места с атрибутами Нормально+Установлено (см. Редактирование посадочных мест). Будет создан один или два файла, в зависимости от того как будут монтироваться компоненты, на одну или обе стороны. В диалоговом окне будут отображены имена созданных файлов.

Дополнительные параметры черчения

Описанные ниже параметры (часть диалогового окна из меню Файл/Чертить) предоставляют обширные возможности по управлению процессом черчения. В частности, они очень полезны при печати обозначений шелкографии для документации проводных соединений.

Pcbnew advanced tracing options

Доступны следующие параметры:

Чертить форматную рамку на всех слоях

Добавлять изображение форматной рамки на каждом из слоёв.

Чертить конт.пл. на слое шелкографии

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

Чертить значения посад.мест.

Позволяет печать текст ЗНАЧЕНИЯ на слое шелкографии.

Чертить обозначения посад.мест.

Позволяет печать текст ОБОЗНАЧЕНИЯ на слое шелкографии.

Принудительно чертить невидимые значения и/или обозначения

Принудительно выводится на печать текст полей (значения и обозначения) с невидимым режимом отображения. Вместе с параметрами 'Чертить значения посад.мест' и 'Чертить обозначения посад.мест.' позволяет создавать документацию по сборке и ремонту. Данные параметры действительно необходимы для печатных плат с очень малыми компонентами (SMD), чтобы добиться читабельности двух отдельных полей.

Не закрывать перех.отв.

Удалять маску с переходных отверстий.

Исключить содержимое слоя контура печатной платы с остальных слоев

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

Использовать Protel расширение файлов

Применительно к формату Gerger. При создании файлов используются специальные расширения для каждого файла. Если отключено, используется стандартное расширение файлов Gerber — .gbr.

Редактор посадочных мест — управление библиотеками

Редактор посадочных мест — управление библиотеками

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

Редактор посадочных мест позволяет создавать и редактировать посадочные места:

  • Добавлять и удалять контактные площадки.

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

  • Редактировать графические элементы (линии, текст).

  • Редактировать информационные поля (значение, обозначение и т.п.).

  • Редактировать элементы документирования (описание, ключевые слова).

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

  • Выводить перечень посадочных мест активной библиотеки.

  • Удалять посадочные места из активной библиотеки.

  • Сохранять посадочные места в активную библиотеку.

  • Сохранять сразу все посадочные места, расположенные на печатной плате.

При этом, можно создавать новые библиотеки.

Расширение файлов библиотеки .mod.

Вызов редактора посадочных мест

Редактор посадочных мест можно вызвать двумя разными путями:

  • Напрямую, с помощью кнопку module editor на главной панели инструментов Pcbnew.

  • Через диалоговое окно свойств отдельного посадочного места (см. изображение ниже: вызывается из контекстного меню), кнопкой Редактор посад.мест.

Pcbnew module properties

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

Пользовательский интерфейс редактора посадочных мест

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

Modedit main window

Верхняя панель инструментов редактора посадочных мест

Modedit top toolbar

Эта панель инструментов содержит следующие инструменты:

library

Выбор активной библиотеки.

save library

Сохранить текущее посадочное место в активную библиотеку и записать её на диск.

new library

Создать новую библиотеку и сохранить в неё текущее посадочное место.

modview icon

Открыть просмотрщик посадочных мест.

delete

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

new footprint

Создать новое посадочное место.

module wizard

Создать новое посадочное место с помощью мастера.

load module lib

Загрузить посадочное место из активной библиотеки.

load module board

Загрузить (импортировать) посадочное место из печатной платы.

update module board

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

insert module board

Экспортировать текущее посадочное место на печатную плату. Будет добавлено новое посадочное место на печатную плату в точке 0.

import module

Импорт посадочного мест из файла, созданного командой Экспорт.

export module

Экспорт посадочного места. Эта команда подобна созданию новой библиотеки, за исключением того, что данная библиотека создаётся в пользовательском каталоге, а не в системном (обычно kicad/modules).

undo redo

Отмена и повтор действий.

module options

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

print button

Вызов диалогового окна печати.

zoom in zoom out zoom redraw zoom fit in page

Стандартные команды управления масштабом.

options pad

Вызов редактора контактных площадок.

module check

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

Создание новой библиотеки

Новая библиотека создаётся с помощью кнопки new library, при этом будет предложено сохранить файл в стандартном каталоге. Библиотеку можно создать с помощью кнопки export module, но в таком случае будет предложено сохранить файл в рабочем каталоге.

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

Если уже существует библиотека с таким же именем, то она будет перезаписана без предупреждения.

Сохранение посадочного места в активной библиотеке

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

Рекомендуется указать имя посадочного места в поле обозначения или значения для идентификации посадочного места в библиотеке.

Перенос посадочного места из одной библиотеки в другую

  • Выберите исходную библиотеку, воспользовавшись кнопкой library.

  • Загрузите посадочное место с помощью кнопки load module lib.

  • Выберите конечную библиотеку, снова воспользовавшись кнопкой library.

  • Сохраните посадочное место нажатием кнопки save library.

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

  • Снова выберите исходную библиотеку используя library.

  • Удалите старое посадочное место кнопкой delete.

Сохранение всех посадочных мест печатной платы в активной библиотеке

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

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

  • Облегчает сопровождение библиотеки, позволяя вносить элементы документирования (см. далее), что более важно.

Документирование посадочных мест в библиотеке

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

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

Modedit module properties

Это диалоговое окно позволяет указать:

  • Строку с комментарием/описанием.

  • Последовательность ключевых слов.

Описание отображается в списке компонентов CvPcb, а в Pcbnew используется диалогом выбора посадочного места.

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

При непосредственной загрузке посадочного места (кнопка module на правой панели инструментов Pcbnew), можно вводить ключевые слова в диалоговом окне. Таким образом, при вводе текста =CONN, будут показан список посадочных мест, которые содержат ключевое слово CONN.

Документирование библиотек — рекомендуемая техника

Рекомендуется создавать библиотеки косвенно, с помощью одной или нескольких вспомогательных печатных плат, которые будут являться исходником (или частью) библиотеки. Это позволит выводить на печать эти платы в формате А4 для сопоставления размеров (в масштабе 1:1).

Создавайте посадочные места, которые должны содержаться в будущей библиотеке, прямо на печатной плате. Сама библиотека будет сформирована позже командой меню Файл/Архивировать посад.места/Создать библиотеку и архивировать посад.места.

Pcbnew archive footprints menu

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

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

Далее приведён пример такого исходника библиотеки:

Pcbnew example library

Эта методика имеет несколько особенностей:

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

  • Будущие изменения Pcbnew могут потребовать повторно сформировать библиотеки, что можно очень быстро и легко сделать, если имеются исходники в виде вспомогательных печатных плат для этих библиотек. Это очень важно, так как формат файла печатной платы гарантировано сохраняет совместимость в процессе разработки приложения, а формат файлов библиотек такой особенности не имеет.

Управление библиотеками посадочных мест

Список библиотек посадочных мест в Pcbnew можно редактировать используя Менеджер библиотек. Он позволяет добавлять и удалять библиотеки посадочных мест вручную, а также вызывать мастер добавления библиотек с помощью кнопки "Добавить с помощью мастера".

Также, мастер добавления библиотек можно вызвать из меню Настройки. При его использовании библиотеки добавляются автоматически (определяются по типу) из файлов или из репозитория Github. Ссылка на официальный репозиторий библиотек: https://github.com/KiCad

Более детальную информацию о таблицах, менеджере и мастере библиотек посадочных мест можно найти в руководстве пользователя CvPcb, в разделе Таблицы библиотек посадочных мест.

Управление библиотеками 3D-форм

Библиотеки 3D-форм можно загрузить с помощью мастера загрузки 3D-форм. Он вызывается из меню Настройки → Загрузить библиотеки 3D форм.

Редактор посадочных мест — создание и редактирование посадочных мест

Обзор редактора посадочных мест

Редактор посадочных мест используется для редактирования и создания посадочных мест печатной платы. Он позволяет:

  • Добавлять и удалять контактные площадки.

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

  • Добавлять и редактировать графические элементы (контуры, текст).

  • Редактировать поля (значение, обозначение и т.п.).

  • Редактировать элементы документирования (описание, ключевые слова).

Элементы посадочного места

Посадочное место — это физическое представление детали, которая будет смонтирована на печатной плате, и оно должно быть связано с соответствующим компонентом в схеме. Каждое посадочное место содержит элементы трёх разных типов:

  • Контактные площадки.

  • Графические элементы и текст.

  • Поля.

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

Контактные площадки

Два самых важных параметров контактной площадки:

  • Конструкция (форма, слои, отверстия).

  • Номер контактной площадки, который состоит из максимум четырёх буквенно-цифровых символов. Так, все следующие номера являются допустимыми для контактной площадки: 1, 45 и 9999, а также AA56 и ANOD. Номер вывода контактной площадки должен быть таким же, как и номер вывода компонента схемы, потому что по этому номеру Pcbnew определяет какой вывод компонента к какой контактной площадке необходимо привязать.

Контуры

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

Поля

Это надписи, связанные с посадочным местом. Два поля обязательны и всегда присутствуют: значение и обозначение. Они автоматически считываются и обновляются в Pcbnew при чтении списка цепей и загрузке посадочных мест на печатную плату. Обозначение принимает такое же значение как и соответствующие поле компонента схемы (U1, IC3 и т.д.). Значение, также, получает свое значение из такого же поля компонента схемы (47k, 74LS02 и т.д.). Можно добавлять другие поля, они будут отображаться как обычных текст.

Запуск редактора посадочных мести и выбор посадочного места для редактирования

Редактор посадочных мест можно запустить двумя способами:

  • Непосредственно кнопкой module editor с главной панели инструментов Pcbnew. При этом можно как создавать новые, так и редактировать существующие посадочные места из библиотеки.

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

Панели инструментов редактора посадочных мест

При вызове редактора посадочных мест откроется новое окно, показанное далее:

Modedit main window

Панель инструментов редактирования (справа)

Эта панель содержит инструменты для:

  • Размещения контактных площадок.

  • Добавления графических элементов (контуры, надписи).

  • Размещения точки привязки.

  • Удаление элементов.

Содержит следующий набор команд:

cursor

Без инструментов.

pad

Добавить контактные площадки.

add polygon

Чертить отрезки и полигоны.

add circle

Чертить окружности.

add arc

Чертить дуги.

text

Добавить надпись (это инструмент не воздействует на поля).

anchor

Разместить точку привязки посадочного места.

delete

Удалить элемент.

grid select axis

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

Панель инструментов отображения (слева)

Эти инструменты управляют параметрами отображения в редакторе посадочных мест:

grid

Отображать сетку.

polar coord

Отображать координаты в полярной форме.

unit mm unit inch

Использовать мм или дюймы в качестве единиц измерения.

cursor shape

Переключить форму курсора.

pad sketch

Отображать контактные площадки в контурном режиме.

text sketch

Отображать текст в контурном режиме.

show mod edge

Отображать графику посадочного места в контурном режиме.

contrast mode

Переключить контрастный режим.

Контекстное меню

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

Контекстное меню для редактирования параметров посадочного места:

Modedit context menu module parameters

Контекстное меню для редактирования контактных площадок:

Modedit context menu pads

Контекстное меню для редактирования графических элементов:

Modedit context menu graphics

Диалоговое окно свойств посадочного места

Это диалоговое окно можно вызвать, когда курсор находится над посадочным местом, через контекстное меню, выбрав пункт 'Редактировать параметры'.

Modedit module properties dialog

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

Создание нового посадочного места

Новое посадочное место можно создать с помощью кнопки new footprint. Будет запрошено имя для нового посадочного места. По этому имени будет вестись поиск в библиотеке.

Данное имя также используется в качестве значения для поля Значение, которое в последующем будет заменено реальным значением (100 µF_16 V, 100 Ω_0.5 W, …​).

Новому посадочному месту требуются:

  • Контуры (и, возможно, текст).

  • Контактные площадки.

  • Значение (скрытый текст, который будет заменяться реальным значением при использовании).

В другом случае:

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

  • Загрузить подобное посадочное место (load module lib, load module board или import module).

  • Изменить значение поля "Имя посадочного места в библиотеке", чтобы сформировать новый идентификатор (имя).

  • Изменить и сохранить новое посадочное место.

Добавление и редактирование контактных площадок

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

Добавление контактных площадок

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

Не забывайте вводить номер для контактных площадок.

Установка свойств контактной площадки

Это можно сделать тремя разными путями:

  • Нажатием кнопки options pad на горизонтальной панели инструментов.

  • Выбором пункта 'Редактировать конт.пл.' из контекстного меню существующей контактной площадки. Далее можно будет настроить параметры этой контактной площадки.

  • Выбором пункта 'Импорт установок конт.пл.' из контекстного меню существующей контактной площадки. В этом случае, геометрические свойства выбранной контактной площадки примут значения по умолчанию.

В первых двух случаях, будет отображено следующее диалоговое окно:

Modedit pad properties dialog

Нужно сохранять осторожность при определении правильных слоёв, на которых будет расположена контактная площадка. В частности, слоями меди достаточно просто управлять, а вот наличие дополнительных слоёв (паяльной маски, паяльной пасты и т.п.) очень важно для производства печатной платы и её документирования.

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

Прямоугольные контактные площадки

Для планарных посадочных мест типов VQFP/PQFP, имеющих прямоугольную форму на всех четырёх сторонах (как по-горизонтали, так и по-вертикали), рекомендуется использовать одинаковую форму (например, горизонтальный прямоугольник) и размещать их с разной ориентацией (0 для горизонтальных и 90 для вертикальных). В таком случае можно будет изменять размер всех контактных площадок за один раз.

Вращение контактных площадок

Вращение на -90 или -180 градусов может потребоваться только для трапециевидных контактных площадок, в посадочных местах для компонентов СВЧ.

Не металлизированные контактные площадки со сквозным отверстием

Можно добавлять контактные площадки в виде сквозного отверстия без металлизации (NPTH — Non-Plated Through Hole).

Эти контактные площадки необходимо определять для одного или всех слоёв меди (очевидно, что отверстие присутствует на всех слоях).

Это требование позволяет указывать особые параметры зазоров (например, зазор для головок крепёжных винтов).

Если размер отверстия совпадает с размером контактной площадки, для круглых и овальных форм, то эта контактная площадка НЕ БУДЕТ начерчена на слоях в Gerber-файлах.

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

Параметры смещения

Контактная площадка 3 имеет смещение по оси Y равное 15 мил:

Modedit pad offset example
Разница оснований трапеции

Контактная площадка 1 имеет величину этого параметра равной 10 мил по оси X

Modedit pad delta example

Установка зазора для слоёв паяльной маски и паяльной пасты

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

  • Настройки контактных площадок

  • Настройки посадочных мест

  • Настройки по умолчанию

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

Зазор паяльной пасты

Для вычисления апертуры паяльной пасты используются два параметра:

  • Фиксированный размер зазора.

  • Процентная часть от размера контактной площадки.

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

Контактные площадки на не медных слоях

Это второй способ создания контактных площадок без медных слоёв. Эти контактные площадки обычно называют апертурой контактных площадок и могут быть использованы для создания особой апертуры, не связанной с формой медного пятака. Это свойство было добавлено в версии 5.0.0-rc2. Контактные площадки без слоёв меди игнорируют параметры, заданные по умолчанию и на уровне посадочных мест, используются параметры только на уровне контактных площадок.

Контактные площадки без слоёв меди, добавленные в версиях до 5.0.0-rc2, использовали и параметры по умолчанию, и параметра на уровне посадочного места, в порядке приоритета, описанном выше. В платах, разработанных до указанной версии, необходимо внести коррективы для получения требуемого результата при печати или черчении.

Установка параметров на уровне посадочного места:

Modedit footprint level pad settings

Установка параметров на уровне контактной площадки:

Modedit pad level pad settings

Параметры полей

Существует, как минимум, два поля: обозначение и значение.

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

Modedit footprint text properties

Автоматическое размещение посадочных мест

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

Modedit module autoplace settings

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

Некоторые посадочные места (небольшие транзисторы, например) часто допускают вращение на +/- 90 или 180 градусов. По умолчанию, новое посадочное место не позволяет какое-либо вращение. Но это можно настроить, руководствуясь правилом:

Значение 0 запрещает вращение, 10 — разрешает в полной мере, а любое промежуточное значение указывает на уровень ограничения. Например, резистор может иметь уровень 10 для вращения на 180 градусов (без ограничения) и уровень 5 для вращения на +/- 90 градусов (разрешено, но ограничено).

Атрибуты

Секция атрибутов показана далее:

Modedit module attributes
  • Нормально — это стандартный атрибут.

  • Нормально+Установлено — указывает на то, что данное посадочное место должно присутствовать в файле для автоматического монтажа (для аппарата автоматизированной установки на плату). Этот параметр чаще всего используется для компонентов поверхностного монтажа (SMD).

  • Виртуально — указывает на то, что компонент является частью печатной платы. Например, контактные площадки на краю платы, формирующие разъем, или индуктивность в виде спирали из отрезков дорожки (их можно встретить на посадочных местах СВЧ-компонентов).

Описание посадочных мест в библиотеке

Категорически рекомендуется описывать создаваемые заново компоненты для обеспечения быстрого и точного доступа к ним. Кто сможет перечислить все вариации посадочных мест для корпуса TO92?

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

Modedit module properties documentation fields

Эти поля позволяют:

  • Ввести строку комментария (описание).

  • Последовательность ключевых слов.

Строка комментария отображается вместе с компонентом в списке CvPcb и в меню выбора посадочных места в Pcbnew. Ключевые слова можно использовать для расширения результатов поиска, находя все посадочные места, в которых имеется указанное ключевое слово.

Так, во время добавления нового посадочного места (соответствующий инструмент расположен на правой панели инструментов в Pcbnew), можно ввести =TO220 в поле диалогового окна и Pcbnew покажет список посадочных мест, которые содержат ключевое слово TO220.

3-х мерное изображение

Посадочное место можно связать с файлом, содержащим его трех-мерное представление. Для назначения такого файла посадочному месту, перейдите на вкладку Настройки 3D. Панель параметров выглядит как показано далее.

Modedit module 3d options
Figure 1. Диалоговое окно выбора 3D-форм

Кнопки справа имеют следующее назначение:

  • Добавить 3D форму — открывает диалоговое окно выбора 3D-файла и создаёт новый пункт в списке подходящих форм для компонента.

  • Удалить 3D форму — удаляет выбранную форму из списка.

  • Изменить имя файла — открывает диалоговое окно с текстовым полем для ввода нового имени файла вручную.

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

Вкладка Настройки 3D содержит панель предварительного просмотра выбранной формы и значения её масштаба, смещения и поворота.

Параметры масштабирования обычно используются для показа таких форматов как VRML1, VRML2 и X3D. Так как формы можно проектировать в любом из возможных редакторов, поддерживающих форматы VRML/X3D, или получать их из конвертеров в формате VRML, то размеры формы могут не соответствовать действительности из-за несоблюдения единиц измерения. Пользователь может ввести необходимую величину масштаба, чтобы модель приняла правильные размеры для корректного представления в просмотрщике 3D. Некоторые пользователи используют простой параллелепипед в формате VRML в качестве общей формы компонентов и с помощью параметров масштаба добиваются размеров, сопоставимых с габаритами компонента. Параметры масштабирования для форм, спроектированных в механических САПР (MCAD), необходимо сохранять вместе с формой. В таких САПР единицы измерения всегда указываются в качестве дополнительных данных к форме, но конвертеры, обычно, эти данные игнорируют. Тем не менее, просмотрщик 3D всегда использует параметры масштабирования. Если значения масштаба отличаются от единиц измерения, использованных в механических САПР, то изображение в просмотрщике будет отличаться от моделей, полученных из САПР, таких как IDF.

Значения смещения и поворота, обычно, вводятся для выравнивания 3D-формы на посадочном месте. Это связано с различиями в приложениях трёх-мерного моделирования и с методом построения самой формы. В подавляющем большинстве случаев пользователю приходится вводить значения поворота и смещения для того, чтобы установить правильное положение 3D-формы. Значение поворота задаётся в градусах для каждой из осей XYZ; принято соглашение, что при положительном значении угла вращение будет выполнено по часовой стрелке, если смотреть на объекта так, чтобы ось была направлена в сторону зрителя.

KiCad загружает 3D-формы с помощью системы плагинов и поддерживает визуализацию моделей в формате VRML1, VRML2, X3D, а также формат механических САПР IDF. Также поддерживаются форматы механических САПР IGES и SETP, для них используется плагин OCE, который требует для своей работы наличие приложения OpenCascade или OpenCascade Community Edition (OCE) подходящей версии.

Каталоги с 3D-формами

В прошлом, KiCad использовал фиксированный каталог с 3D-формами. Сейчас используется переменная окружения KISYS3DMOD, в которой хранится путь к каталогу с 3D-формами. С помощью дополнительных переменных окружения можно можно ссылаться на разные каталоги. В последних версиях KiCad используются специальная система псевдонимов для поиска указанных 3D-форм. Цель новой системы управления формами — предоставить схему, которая сохраняет совместимость с ранними версиями KiCad и в то же время расширяет механизм назначения файлов 3D-форм, позволяющий улучшить возможности по распространению файлов проекта.

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

Чтобы обеспечить лучшее восприятие данных о файлах kicad_pcb и pretty, в KiCad предпочитается использовать имена файлов (включая путь к ним) в сокращённой форме, используя для этого переменные среды (старый метод) или псевдонимы (новый метод). Так как добавление переменных окружения может оказаться громоздким, особенно для операционных систем, базирующихся на графическом пользовательском интерфейсе, то поддерживаемая схема путей поиска на основе переменных окружения была расширена, чтобы оставить возможность использования существующего диалогового окна KiCad Настройка путей. Это диалоговое окно доступно в меню Настройки→Настройка путей и его вид показан ниже. Добавляя новые пути в этом диалоговом окне, будут расширяться места поиска файлов 3D-форм. При этом переменные окружения на самом деле не устанавливаются, но система сопоставления файлов работает так, как будто они были действительно установлены в системе. В случае, если реальная переменная окружения с таким же именем была установлена, то её значение будет заменено значением внутренней переменной окружения KiCad. Имена файлов, указанные по отношению к определённой переменной окружения начинаются с ${MY_ENV_VAR}, где MY_ENV_VAR — это имя переменной окружения, определённой с помощью диалогового окна Настройка путей, или имя реальной переменной окружения.

Modedit internal path config
Figure 2. Диалоговое окно настройки переменных окружения в KiCad

Новая схема сокращения имён файлов — это схема псевдонимов. В этой схеме пути начинаются с :my alias:, где my alias — строка текста, которая была выбрана в качестве удобного сокращения для пользователя. Например, псевдоним для каталога, содержащего стандартные формы в KiCad, можно назвать Стандартные формы, а для своих собственных форм можно назначить псевдоним Мои формы. Для управления псевдонимами нужно нажать кнопку Настроить пути на вкладке Настройки 3D диалогового окна свойств посадочного места. Диалоговое окно настройки псевдонимов показано ниже.

Modedit alias path config
Figure 3. Диалоговое окно настройки псевдонимов путей в KiCad

Файлы 3D-форм можно выбрать нажатием кнопки Добавить 3D форму, откроется диалоговое окно выбора 3D-форм, показанный ниже. В этом диалоговом окне присутствует панель предварительного просмотра, фильтр файлов и выпадающее меню для выбора существующих переменных окружения или псевдонимов. В зависимости от размера формы и её сложности, может потребоваться несколько секунд для её отображения при выборе. Например, форма для корпуса BGA, которая использовалась при тестировании, требовал около 12 секунд для построения изображения.

Modedit 3D file browser
Figure 4. Диалоговое окно выбора 3D форм в KiCad

Сохранение посадочного места в активной библиотеке

Команда сохранения (вносит изменения в файл активной библиотеки) вызывается кнопкой save library

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

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

Сохранение посадочного места на печатной плате

Если редактируемое посадочное место загружено из текущей печатной платы, то его можно обновить с помощью кнопки update module board

Расширенные инструменты редактирования печатной платы

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

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

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

Дублирование выполняется по нажатию горячей клавиши (по умолчанию Ctrl-D) или через контекстное меню, кнопка duplicate.

Точное перемещение элементов

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

Для использования этого инструмента, выберите элементы для перемещения и затем нажмите горячую клавишу (по умолчанию Ctrl-M) или воспользуйтесь контекстным меню, откроется диалоговое окно. Это диалоговое окно можно вызвать горячей клавишей при перемещении или дублировании элементов, благодаря чему можно легко повторять смещение множества элементов.

Точное перемещение в Декартовой системе координат

Pcbnew move exact cartesian

Точное перемещение в полярной системе координат

Pcbnew move exact polar

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

Затем вводится вычисленный вектор смещения. Можно использовать указанные единицы измерения ("мм" на изображении выше) или указать единицы измерения самостоятельно (т.е. "1 in" для дюйма или "2 rad" для 2 радиан).

После нажатия кнопки ОК будет применено перемещение к выделению, а нажатие кнопки Отменить приведёт к закрытию диалогового окна без выполнения перемещения. Если была нажата кнопка OK, то введённые данные сохраняются и при следующем открытии этого диалогового окна, они восстанавливаются. Это позволяет повторно применять один и тот же вектор для разных объектов.

Инструмент создания массива

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

Применение инструмента для создания массивов

Инструмент создания массива применяется к элементу под курсором или, в режиме GAL, к выделению. К нему можно легко получить доступ через контекстное меню (кнопка array) или по нажатию сочетания клавиш с клавиатуры (по умолчанию Ctrl-N).

Инструмент создания массивов представляется в виде диалогового окна с вкладками для разных типов массивов. Поддерживаются два типа массивов: по сетке и по кругу.

Каждый тип массива можно полностью настроить на соответствующей вкладке. Геометрические размеры (размер, шаг, смещение) располагаются слева; параметры нумерации (шаг и тип нумерации) расположены справа.

Массивы по сетке

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

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

Pcbnew array dialog grid
Геометрические размеры

Геометрические размеры включают следующее:

  • Количество по горизонтали: число "столбцов" в сетке.

  • Количество по вертикали: число "строк" в сетке.

  • Интервал по горизонтали: расстояние между соседними элементами в одной строке. Если значение отрицательное, то сетка формируется справа налево.

  • Интервал по вертикали: расстояние между соседними элементами в одном столбце. Если значение отрицательное, то сетка формируется снизу вверх.

  • Смещение по горизонтали: начинать следующую строку с указанным смещением по отношению к предыдущему.

  • Смещение по вертикали: начинать следующий столбец с указанным смещением по отношению к предыдущему.

Pcbnew array grid offsets
Figure 5. Сетка 3х3 со смещением по осям x, y
  • Тип шахматной расстановки: добавляет смещение к каждому элементу из "n"-го числа строк/столбцов, при чём каждая последующая строка смещается на 1/n-ую от указанного интервала:

Pcbnew array grid stagger rows 2
Figure 6. Сетка 3х3 с шахматностью в строках равной 2
Pcbnew array grid stagger cols 3
Figure 7. Сетка 4х3 с шахматностью в столбцах равной 3
Параметры нумерации
  • Направление нумерации конт.пл.: определяется метод выполнения нумерации: нумерация всех элементов строки слева направо с последующим переходом к следующей строке или нумерация всех элементов столбца сверху вниз с последующим переходом к следующему столбцу. Обратите внимание, направление нумерации зависит от знака интервала: отрицательное значение приводит к обратной нумерации: справа налево и снизу вверх.

  • Реверсировать нумерацию конт.пл. на чередование строк или столбцов: если отмечено, направление нумерации будет изменяться на противоположное при переходе на следующую строку или столбец. Но всё же, направление чередования строк или столбцов зависит от направления нумерации элементов. Этот параметр полезен для корпусов, похожих на DIP, где выводы с одной стороны нумеруются сверху вниз, а с другой — снизу вверх.

  • Начальный номер конт.пл.: при размещении элементов, которым уже присвоен номер, можно начинать нумерацию сначала или использовать первый свободный номер.

  • Схема нумерации

    • Continuous: the numbering just continues across a row/column break - if the last item in the first row is numbered "7", the first item in the second row will be "8".

    • Coordinate: the numbering uses a two-axis scheme where the number is made up of the row and column index. Which one comes first (row or column) is determined by the numbering direction.

  • Ось нумерации: какой набор символов применить для нумерации по оси. Доступные варианты

    • Numerals for normal integer indices

    • Hexadecimal for base-16 indexing

    • Alphabetic, minus IOSQXZ, a common scheme for electronic components, recommended by ASME Y14.35M-1997 sec. 5.2 (previously MIL-STD-100 sec. 406.5) to avoid confusion with numerals.

    • Full alphabet from A-Z.

Круговые массивы

Круговые массивы расставляют элементы по кругу или дуге. Окружность определяется местом установки элемента (или центром выделенной группы элементов) и центром. Ниже показано диалоговое окно с параметрами кругового массива:

Pcbnew array dialog circular
Геометрические размеры
  • Центр по горизонтали, Центр по вертикали: центр окружности. При его изменении будет автоматически вычисляться радиус, который отображается в следующем поле.

  • Угол: угол между двумя соседними элементами массива. Установите его равным нулю, чтобы равномерно расположить заданное количество элементов по окружности.

  • Количество: число элементов в массиве (включая оригинальный компонент).

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

Параметры нумерации

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

Измерительный инструмент (линейка)

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

Он активируется с помощью кнопки с изображением штангенциркуля measurement на правой панели инструментов, а также через меню "Размеры" и с помощью горячей клавиши (по умолчанию, Ctrl-Shift-M).

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

Pcbnew measurement tool

Руководство по созданию скриптов в KiCad

Применение скриптов позволяет автоматизировать действия, выполняемые в KiCad, с помощью языка программирования Python.

Дополнительно можете изучить doxygen-документацию на сайте Python Scripting Reference.

Можете просмотреть документацию на python-модули, набрав pydoc pcbnew в своём терминале.

С помощью скриптов можно создавать:

  • Плагины: это особый тип скрипта, который загружается при запуске KiCad. Например:

    • Мастер посадочных мест: помогает создавать посадочные места простым заполнением параметров. Смотрите соответствующий раздел Мастер посадочных мест ниже.

    • Считывание/сохранение файлов '(планируется)': позволят пользователям создавать плагины для экспорта/импорта файлов прочих форматов.

    • Действия '(тестируется)': позволят связывать события с запуском скрипта, добавлять новые элементы меню или панелей инструментов.

  • Скрипты командной строки: скрипты, которые можно выполнять в командной строке, загружать платы или библиотеки, изменять их и формировать изображения или новые платы.

В командной строке будет показано предупреждение, что из всех приложений пакета KiCad, скрипты поддерживаются только в Pcbnew. В будущем также планируется поддержка скриптов и в Eeschema.

Объекты KiCad

API (аппаратно-программный интерфейс) скриптов отражает внутреннюю структуру кода Pcbnew. Главным объектом является BOARD (печатная плата), который содержит набор свойств, а также MODULE (посадочные места), TRACK/VIA (дорожки/переходные отверстия), TEXTE_PCB (надписи), DIMENSION (размеры), DRAWSEGMENT (графические линии). В свою очередь, объект MODULE содержит объекты D_PAD (контактные площадки), EDGE (контуры) и т.д.

  • Смотрите раздел BOARD ниже.

Обзор основного API

Всё API из Pcbnew содержится в модуле "pcbnew", написанного на языке Python. Функция GetBoard() возвращает объект печатной платы, открытой в данный момент в редакторе. Полезна при выполнении команд из интегрированной командной оболочки Pcbnew или для плагинов, выполняющих различные действия.

Загрузка и сохранение платы

  • LoadBoard(filename): загружает плату из указанного файла и возвращает объект типа BOARD, формат файла определяется по расширению.

  • SaveBoard(filename,board): сохраняет объект типа BOARD в файл, по расширению файла определяется формат записи.

  • board.Save(filename): то же что и предыдущее, но вызывается метод из самого объекта типа BOARD.

В приведённом примере загружается плата, скрываются все значения, а обозначения отображаются
#!/usr/bin/env python2.7
import sys
from pcbnew import *

filename=sys.argv[1]

pcb = LoadBoard(filename)
for module in pcb.GetModules():
    print "* Module: %s"%module.GetReference()
    module.Value().SetVisible(False)      # скрыть значение
    module.Reference().SetVisible(True)   # показать обозначение

pcb.Save("mod_"+filename)

Перечисление и загрузка библиотек

Перечислить библиотеки, посадочные места, контактные площадки
#!/usr/bin/python

from pcbnew import *

libpath = "/usr/share/kicad/modules/Sockets.pretty"
print ">> enumerate footprints, pads of",libpath

# Загрузить подходящий плагин для чтения/записи библиотек в формате .pretty
# (содержащих посадочные места в формате .kicad_mod)
src_type = IO_MGR.GuessPluginTypeFromLibPath( libpath );
# Заметка: можно прямо указать тип библиотеки IO_MGR.PluginFind( IO_MGR.KICAD )
plugin = IO_MGR.PluginFind( src_type )

# Вывести имя типа плагина: (для формата .pretty должно вывести "KiCad")
print( "Selected plugin type: %s" % plugin.PluginName() )

list_of_footprints = plugin.FootprintEnumerate(libpath)

for name in list_of_footprints:
    fp = plugin.FootprintLoad(libpath,name)
    # вывести сокращённое имя посадочного места
    print name  # имя, содержащееся в загруженной библиотеке
    # затем следуют поля обозначения, значения и строка описания:
    # Помните, текст значения и обозначения временный, от будет заменён значениями
    # из компонента схемы при считывании списка цепей.
    print "  ->", fp.GetReference(), fp.GetValue(), fp.GetDescription()

    # вывести информацию о контактной площадке: GetPos0() возвращает
    # положение контактной площадки по отношению к положению посадочного места
    for pad in fp.Pads():
        print "    pad [%s]" % pad.GetPadName(), "at",\
        "pos0", ToMM(pad.GetPos0().x), ToMM(pad.GetPos0().y),"mm",\
        "shape offset", ToMM(pad.GetOffset().x), ToMM(pad.GetOffset().y), "mm"
    print ""

BOARD

Далее приведено описание объекта BOARD, основного объекта в pcbnew KiCad.

BOARD содержит набор списков объектов, к которым можно получить доступ с помощью следующих методов. Они возвращают перечисляемые списки, их содержимое можно перебирать используя синтаксис "for obj in list:"

  • board.GetModules(): возвращает список объектов типа MODULE — все доступные посадочные места, найденные на печатной плате.

  • board.GetDrawings(): возвращает список объектов типа BOARD_ITEMS — графические элементы печатной платы

  • board.GetTracks(): возвращает список объектов типа TRACK и VIA — дорожки и переходные отверстия

  • board.GetFullRatsnest(): возвращает список связей, не завершенных соединений

  • board.GetNetClasses(): возвращает список классов цепей

  • board.GetCurrentNetClassName(): возвращает текущий класс цепей

  • board.GetViasDimensionsList(): возвращает список размеров переходных отверстий, доступных для платы

  • board.GetTrackWidthList(): возвращает список значений ширины дорожек, доступных для платы

Пример проверки платы
#!/usr/bin/env python
import sys
from pcbnew import *

filename=sys.argv[1]

pcb = LoadBoard(filename)

ToUnits = ToMM
FromUnits = FromMM
#ToUnits=ToMils
#FromUnits=FromMils

print "LISTING VIAS:"

for item in pcb.GetTracks():
    if type(item) is VIA:

        pos = item.GetPosition()
        drill = item.GetDrillValue()
        width = item.GetWidth()
        print " * Via:   %s - %f/%f "%(ToUnits(pos),ToUnits(drill),ToUnits(width))

    elif type(item) is TRACK:

        start = item.GetStart()
        end = item.GetEnd()
        width = item.GetWidth()

        print " * Track: %s to %s, width %f" % (ToUnits(start),ToUnits(end),ToUnits(width))

    else:
        print "Unknown type    %s" % type(item)

print ""
print "LIST DRAWINGS:"

for item in pcb.GetDrawings():
    if type(item) is TEXTE_PCB:
        print "* Text:    '%s' at %s"%(item.GetText(), item.GetPosition())
    elif type(item) is DRAWSEGMENT:
        print "* Drawing: %s"%item.GetShapeStr() # dir(item)
    else:
        print type(item)

print ""
print "LIST MODULES:"

for module in pcb.GetModules():
    print "* Module: %s at %s"%(module.GetReference(),ToUnits(module.GetPosition()))

print ""
print "Ratsnest cnt:",len(pcb.GetFullRatsnest())
print "track w cnt:",len(pcb.GetTrackWidthList())
print "via s cnt:",len(pcb.GetViasDimensionsList())

print ""
print "LIST ZONES:", pcb.GetAreaCount()

for idx in range(0, pcb.GetAreaCount()):
    zone=pcb.GetArea(idx)
    print "zone:", idx, "priority:", zone.GetPriority(), "netname", zone.GetNetname()

print ""
print "NetClasses:", pcb.GetNetClasses().GetCount(),

Примеры

Изменение зазора маски паяльной пасты для выводов компонента

Нужно изменить только выводы от 1 до 14, 15 — площадка теплоотвода и должна остаться без изменения.
#!/usr/bin/env python2.7
import sys
from pcbnew import *

filename=sys.argv[1]
pcb = LoadBoard(filename)

# Найти посадочное место U304
u304 = pcb.FindModuleByReference('U304')
pads = u304.Pads()

#  Перебрать все контактные площадки, вывести их текущее значение зазора
for p in pads:
    print p.GetPadName(), ToMM(p.GetLocalSolderPasteMargin())
    id = int(p.GetPadName())
    # Установить зазор равный 0 для всех конт.пл., кроме 15-ой
    if id<15: p.SetLocalSolderPasteMargin(0)

pcb.Save("mod_"+filename)

Мастер посадочных мест

Мастер посадочных мест содержит множество python-скриптов, к которым можно получить доступ из диалогового окна. Если диалоговое окно открыто, можно выбрать один из скриптов, будет показано изображение итогового посадочного места. Приведённые параметры можно редактировать.

Если плагины не корректно работают или не установлены, их последние версии можно найти на сайте исходных кодов KiCad launchpad.

Они должны располагаться, например, в C:\Program Files\KiCad\share\kicad\scripting\plugins.

В ОС Linux можно поместить собственные плагины в $HOME/.kicad_plugins.

Посадочные места создаются простым вводом параметров.
from __future__ import division
import pcbnew

import HelpfulFootprintWizardPlugin as HFPW


class FPC_FootprintWizard(HFPW.HelpfulFootprintWizardPlugin):

    def GetName(self):
        return "FPC (SMT connector)"

    def GetDescription(self):
        return "FPC (SMT connector) Footprint Wizard"

    def GetValue(self):
        pins = self.parameters["Pads"]["*n"]
        return "FPC_%d" % pins

    def GenerateParameterList(self):
        self.AddParam( "Pads", "n", self.uNatural, 40 )
        self.AddParam( "Pads", "pitch", self.uMM, 0.5 )
        self.AddParam( "Pads", "width", self.uMM, 0.25 )
        self.AddParam( "Pads", "height", self.uMM, 1.6)
        self.AddParam( "Shield", "shield_to_pad", self.uMM, 1.6 )
        self.AddParam( "Shield", "from_top", self.uMM, 1.3 )
        self.AddParam( "Shield", "width", self.uMM, 1.5 )
        self.AddParam( "Shield", "height", self.uMM, 2 )


    # построить прямоугольную контактную площадку
    def smdRectPad(self,module,size,pos,name):
        pad = pcbnew.D_PAD(module)
        pad.SetSize(size)
        pad.SetShape(pcbnew.PAD_SHAPE_RECT)
        pad.SetAttribute(pcbnew.PAD_ATTRIB_SMD)
        pad.SetLayerSet( pad.SMDMask() )
        pad.SetPos0(pos)
        pad.SetPosition(pos)
        pad.SetPadName(name)
        return pad

    def CheckParameters(self):
        p = self.parameters
        self.CheckParamInt( "Pads", "*n" )  # "*" - указывает на наличие особых ед. измерения


    def BuildThisFootprint(self):
        p = self.parameters
        pad_count       = int(p["Pads"]["*n"])
        pad_width       = p["Pads"]["width"]
        pad_height      = p["Pads"]["height"]
        pad_pitch       = p["Pads"]["pitch"]
        shl_width       = p["Shield"]["width"]
        shl_height      = p["Shield"]["height"]
        shl_to_pad      = p["Shield"]["shield_to_pad"]
        shl_from_top    = p["Shield"]["from_top"]

        offsetX         = pad_pitch * ( pad_count-1 ) / 2
        size_pad = pcbnew.wxSize( pad_width, pad_height )
        size_shld = pcbnew.wxSize(shl_width, shl_height)
        size_text = self.GetTextSize()  # значение по IPC

        # Возвращает позицию и размер текста Значения и Обозначения:
        textposy = pad_height/2 + pcbnew.FromMM(1) + self.GetTextThickness()
        self.draw.Reference( 0, textposy, size_text )

        textposy = textposy + size_text + self.GetTextThickness()
        self.draw.Value( 0, textposy, size_text )

        # создать массив контактных площадок и добавить его к посадочному месту
        for n in range ( 0, pad_count ):
            xpos = pad_pitch*n - offsetX
            pad = self.smdRectPad(self.module,size_pad, pcbnew.wxPoint(xpos,0),str(n+1))
            self.module.Add(pad)


        # Механическая защита контактных площадок: слева и справа
        xpos = -shl_to_pad-offsetX
        pad_s0_pos = pcbnew.wxPoint(xpos,shl_from_top)
        pad_s0 = self.smdRectPad(self.module, size_shld, pad_s0_pos, "0")
        xpos = (pad_count-1) * pad_pitch+shl_to_pad - offsetX
        pad_s1_pos = pcbnew.wxPoint(xpos,shl_from_top)
        pad_s1 = self.smdRectPad(self.module, size_shld, pad_s1_pos, "0")

        self.module.Add(pad_s0)
        self.module.Add(pad_s1)

        # указать границы посадочного места
        linewidth = self.draw.GetLineThickness()
        margin = linewidth

        # верхняя линия
        posy = -pad_height/2 - linewidth/2 - margin
        xstart = - pad_pitch*0.5-offsetX
        xend = pad_pitch * pad_count + xstart;
        self.draw.Line( xstart, posy, xend, posy )

        # нижняя линия
        posy = pad_height/2 + linewidth/2 + margin
        self.draw.Line(xstart, posy, xend, posy)

        # контур левой механической конт.пл. (контур правой конт.пл. отражен по оси Y)
        yend = pad_s0_pos.y + shl_height/2 + margin
        self.draw.Line(xstart, posy, xstart, yend)
        self.draw.Line(-xstart, posy, -xstart, yend)

        posy = yend
        xend = pad_s0_pos.x - (shl_width/2 + linewidth + margin*2)
        self.draw.Line(xstart, posy, xend, posy)

        # правая сторона конт.пл.
        self.draw.Line(-xstart, posy, -xend, yend)

        # set SMD attribute
        self.module.SetAttributes(pcbnew.MOD_CMS)

        # левый сегмент слева от конт.пл.
        xstart = xend
        yend = posy - (shl_height + linewidth + margin*2)
        self.draw.Line(xstart, posy, xend, yend)

        # правая сторона конт.пл.
        self.draw.Line(-xstart, posy, -xend, yend)

        # горизонтальный сегмент над конт.пл.
        xstart = xend
        xend = - pad_pitch*0.5-offsetX
        posy = yend
        self.draw.Line(xstart, posy, xend, yend)

        # правая сторона конт.пл.
        self.draw.Line(-xstart, posy,-xend, yend)

        # вертикальный сегмент над конт.пл.
        xstart = xend
        yend = -pad_height/2 - linewidth/2 - margin
        self.draw.Line(xstart, posy, xend, yend)

        # правая сторона конт.пл.
        self.draw.Line(-xstart, posy, -xend, yend)


# зарегистрироваться в pcbnew
FPC_FootprintWizard().register()

Плагины действий

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

Новые элементы появляются в меню ИнструментыВнешние плагины.

Pcbnew action menu
  • Обновить плагины: перезагрузить плагины (и создать новые элементы меню, если понадобится)

  • Add date on PCB: пример плагина.

Предупреждение: как и для всех python-скриптов, функции отмены/повторения не работают

Пример плагина действия: добавить дату ко всем текстовым меткам вида '$date$'
import pcbnew
import re
import datetime

class text_by_date(pcbnew.ActionPlugin):
    """
    test_by_date: пример плагина действия.
    Добавить дату во всех текстовых полях на печатной плате, содержащих '$date$'
    Для использования:
    - Добавьте надпись на печатную плату, содержащую метку '$date$'
    - Запустите плагин из меню
    - Дата будет автоматически добавлена к текстовым меткам (в формате YYYY-MM-DD)
    """

    def defaults(self):
        """
        Функцию defaults необходимо переопределить
        self.name содержит название элемента меню
        self.category содержит название категории плагина (пока не используется)
        self.description содержит полное описание плагина
        """
        self.name = "Add date on PCB"
        self.category = "Modify PCB"
        self.description = "Automatically add date on an existing PCB"

    def Run(self):
        pcb = pcbnew.GetBoard()
        for draw in pcb.GetDrawings():
            if draw.GetClass() == 'PTEXT':
                txt = re.sub("\$date\$ [0-9]{4}-[0-9]{2}-[0-9]{2}",
                                 "$date$", draw.GetText())
                if txt == "$date$":
                    draw.SetText("$date$ %s"%datetime.date.today())


text_by_date().register()

Table of Contents