Эта страница доступна также на следующих языках: English
pcb поддерживает два абсолютно разных формата библиотек посадочных мест:
Поэтому, при разработке топологической схемы платы вы можете либо использовать посадочные места, поставляемые в комплекте с pcb, либо найти их в сети интернет, либо создать свои собственные и поместить в предназначенный для них каталог. В Руководстве пользователя pcb есть полная и современная документация по формату файлов элементов. На сайте gedasymbols.org имеется некоторое количество посадочных мест, предоставленных пользователями. Несколько неполное, но полезное руководство доступно на веб-странице http://www.brorson.com/gEDA/ (ищите по ключевому слову «newlib»).
newlib
и pcblib-newlib
. В них находятся библиотеки, используемые в pcb по умолчанию.
Этот вопрос является общим для новых пользователей gEDA. В самом деле вопрос
помощи новичкам в определении названий нужных им посадочных мест компонентов
лежит в основе продолжающихся дебатов о лёгких символах против тяжёлых. В
текущей версии gEDA/gaf, содержащей лёгкие символы, вам надо прикреплять
атрибуты footprint
на этапе редактирования схем (то есть в gschem
или gattrib). Какое название использовать для посадочного места, зависит
от того, какой вы пользуетесь библиотекой — newlib или M4
(pcblib).
В библиотеке newlib каждое посадочное место лежит в отдельном файле и имя данного файла является его названием.
Определить названия нужных посадочных мест в newlib можно разными способами:
footprint
в gschem или gattrib должно в точности соответствовать указанному в перечне названию.${PREFIX}/share/pcb/newlib
. (${PREFIX}
— это каталог установки, задаваемый при конфигурировании/сборке pcb.) В качестве значения атрибута footprint
нужно задать имя файла нужного вам посадочного места./usr/local/geda/share/pcb/newlib/generic_SMD_packages/0805_reflow_solder
.footprint
для него равным 0805_reflow_solder.--elements-dir
(из командной строки).--elements-dir
, задавая в качестве параметра локальный каталог с файлами посадочных мест.
В библиотеке M4 посадочные места сохраняются в виде макросов M4;
обычно в каждом файле определяется несколько (много) посадочных
мест. Различные посадочные места в одном и том же файле — это, как
правило, вариации одного и того же шаблона (например, DIP-8, DIP-14, DIP-16
и т. д.). Легче всего найти подходящее значение для атрибута footprint
,
пролистав библиотеку pcblib в окне библиотек pcb. Этот атрибут
отображается в описании элемента в квадратных скобках. Кроме того, список
посадочных мест из pcblib можно найти на
веб-странице символов gEDA.
Следующим библиотекам M4 уделялось больше внимания и в них вносилось больше улучшений, нежели в прочие:
И в заключение добавим, что и для библиотеки newlib, и для M4, чрезвычайно важно проверять, что для используемого вами названия посадочного места при помещении элемента в pcb будет вставлено именно то посадочное место, которое вам нужно. Поэтому очень важно внимательно проверить посадочное место перед его использованием. Проверить посадочное место можно щёлкнув по нему в окне библиотеки посадочных мест и поместив его на пустое место в рабочей области pcb. Внимательно рассмотрите посадочное место и убедитесь в правильности количества выводов/контактных площадок, размеров и прочего.
Если вы создаёте Gerber-файлы, то прежде чем отправлять свою разработку на производство, вам также следует проверить в них каждое из посадочных мест с помощью gerbv (или другой подобной программы).
Например, операционный усилитель может быть в корпусе DIP8 или SO8. Резистор может быть одним из 0603, 0805, 1208 или для выводного монтажа. Как узнать, какие использовать корпуса и посадочные места, и как дальше работать с выбранными вариантами?
Прежде всего, какое посадочное место вам нужно, решать вам, а не вашей
программе САПР. Вы ответственны за выбор предпочтительных типов корпусов или
посадочных мест и за прикрепление соответствующих атрибутов footprint
к
компонентам в схеме. И когда вы выбрали подходящий вам корпус (и посадочное
место для него), то вам надо или найти соответствующее посадочное место, или начертить своё и сохранить его в локальном каталоге.
Что касается дальнейшей работы с выбранными посадочными местами (и с действительно большим количеством атрибутов компонентов, которые вам, вероятно, придётся использовать): пользуйтесь программой gattrib. Это как раз то, для чего она и нужна.
Все делают это по-разному. Кто-то чертит посадочные места целиком в pcb. Кто-то сначала делает в pcb заготовку и затем доводит её вручную (например, в emacs). Кто-то пишет скрипты на Perl или Python для автогенерации посадочных мест.
Можно преобразовать посадочное место в обычную топологию, отредактировать её части и обратно преобразовать в посадочное место. В следующем перечне жирным наклонным шрифтом выделены действия из меню Буфер (если не указан иной пункт меню).
Или же можно отредактировать исходный код посадочного места в своём любимом текстовом редакторе.
Точка привязки посадочного места отмечается маленьким ромбиком. Чтобы переместить её в другое место по отношению к изображению посадочного места, нужно изменить координаты всех объектов. Это можно сделать вручную в текстовом редакторе. Если же вы хотите сделать это из графического интерфейса pcb, нужно разбить посадочное место на части, а затем собрать его снова. Подробный перечень шагов указан выше. Обратите внимание, что положение ромбика определяется положением перекрестия курсора при копировании в буфер.
Да, это утомительно. Но проблема в том, что в pcb нет особого режима для редактирования посадочных мест. Приглашаем вас написать таковой.
В слое шелкографии посадочных мест могут быть только линии и дуги. Все прочие объекты, такие как полигоны, прямоугольники и текст, при преобразовании содержимого буфера в элемент (Преобразовать буфер в элемент) молча игнорируются. Если вам нужен текст в изображении посадочного места, придётся буквально начертить каждую букву с помощью инструмента LINE.
Для помещения контактных площадок на противоположную сторону платы можно
использовать флаг onsolder
. Для определения двухстороннего соединителя
вам понадобится что-то вроде этого:
Pad[-40000 -7000 -40000 7000 2700 2400 3000 "B1" "B1" "square"] Pad[-40000 -7000 -40000 3000 2700 2400 3000 "A1" "A1" "square,onsolder"]
Если вы начертите посадочное место в pcb и выберете Преобразовать
буфер в элемент, линии на втором слое станут контактными площадками с
флагом onsolder
. Да, имеется в виду именно второй слой, независимо от
того, как он называется.
Иногда открытые участки проводников не должны покрываться
паяльной пастой. Общеизвестным примером
являются контактные площадки соединителя непосредственного сочленения
(концевые контакты печатной платы). Этого можно добиться установкой флага
nopaste
. В настоящее время из графического интерфейса pcb этот флаг
установить невозможно. Его можно добавить для контактных площадок
посадочного места в текстовом редакторе.
Библиотеки посадочных мест можно добавить из графического интерфейса:
Файл → Настройки… → Библиотека →
КАТАЛОГ_ПОСАДОЧНЫХ_МЕСТ
Или можно отредактировать файл
$HOME/.pcb/preferences
. Убедитесь, что не запущен ни один процесс
pcb. Поищите строку, начинающуюся с library-newlib
. Не забудьте
подключить новый каталог в файле gsch2pcbrc
или в локальном
gafrc
(имеется в виду при использовании gsch2pcb).
Автоматического способа заместить все экземпляры посадочного места новой
версией пока нет. Но есть специальный режим вставки из буфера, который
поможет уменьшить количество щелчков мышью при ручной замене.
Откройте
диалоговое окно с помощью Окно → Библиотека и выберите
новое посадочное место. Рабочим инструментом станет инструмент вставки из
буфера BUF и в буфер будет загружено новое посадочное место. Если надо,
поверните его с помощью Буфер → Повернуть буфер.
Расположите новое посадочное место над старым и, нажав [Shift], щёлкните
левой кнопкой мыши, чтобы заместить старое посадочное место новым. Следите,
чтобы не перевернуть его на 180 градусов, проверьте подключение
линий связи нажатием O и, если
вдруг оказалось, что посадочное место расположено задом наперёд, отмените
операцию.
Путь доступа к посадочным местам, который использует программа pcb,
определяется переменной Pcb.elementPath
в файле ресурсов app-defaults,
называющемся PCB
3). Путь к этому файлу задаётся с помощью переменной
окружения XAPPLRESDIR
, обычно задаваемой из скрипта-обёртки pcb.
Я предпочитаю «готовые для производства» посадочные места складывать в один каталог, расположенный отдельно от каталога установки pcb. Когда выходит новая версия pcb, я не меняю файлы проектов или библиотеки. Если в библиотеке pcb есть посадочные места в формате newlib, которые я хочу использовать, я копирую их в этот каталог посадочных мест, «готовых для производства».
Вместо того, чтобы менять файлы конфигурации, чтобы gsch2pcb находил посадочные места, я создаю скрипт-обёртку sch2pcb, содержащий путь доступа к посадочным местам. Все пользователи используют такой же скрипт и имеют доступ к тем же самым посадочным местам для производства.
Чтобы использовать скрипт sch2pcb, вместо FOOTPRINT_DIR
задайте свой
каталог посадочных мест. Вот его содержимое:
#!/bin/bash gsch2pcb --elements-dir FOOTPRINT_DIR $@
Или версия другого пользователя:
#!/bin/bash #Этот скрипт написал John Luciani gsch2pcb --elements-dir /home/user/pcb/footprints/user --use-files $@
Или можно использовать файл проекта, из которого gsch2pcb читает свои
параметры. Например, файл myproject
может выглядеть так:
schematics myschematic.sch myschematic2.sch elements-dir /myfootprintdir output-name mypcb skip-m4
В файле примера задаётся поиск посадочных мест, используемых в
myschematic.sch
и myschematic2.sch
, в каталоге
myfootprintdir
, пропуск посадочных мест типа M4 и создание
mypcb.pcb
. Затем при запуске gsch2pcb в качестве аргумента нужно
задать имя файла проекта:
gsch2pcb myproject
«Да, без вопросов. Как раз так — перекрытием двух и более штук — и создаются овальные обрамления вокруг выводов или контактные площадки чудной формы (например, квадратная с одной стороны и круглая с другой).»
Просто добавить контактную площадку сверху вывода и задать им обоим одинаковый номер вывода. Если паяльная маска не касается ни одного из этих выводов и они перекрываются, они должны выглядеть как один вывод на плате.
«Звучит странно, но это может быть необходимо для некоторых соединителей непосредственного сочленения. … Но как это сделать???»
Это можно сделать, добавив две контактных площадки в одном и том же месте, с одинаковым номером вывода, но вторую с флагом “onsolder”, как в следующем фрагменте:
Pad[ 10mm -3mm 10mm 3mm 2.0mm 0.5mm 0.2mm "1" "1" "square" ] Pad[ 10mm -3mm 10mm 3mm 2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ]
Сделайте двухстороннюю контактную площадку, как указано выше. Если вам нужно, чтобы форма контактной площадки была квадратная на конце и полукруглая со стороны платы, добавьте по две перекрывающиеся контактные площадки на каждой стороне, как в следующем фрагменте:
Pad[ 0 -3mm 0 3mm 2.0mm 0.5mm 0.2mm "1" "1" "square" ] Pad[ 0 -3mm 0 5mm 2.0mm 0.5mm 0.2mm "1" "1" "" ]
Pad[ 0 -3mm 0 3mm 2.0mm 0.5mm 0.2mm "1" "1" "square,onsolder" ] Pad[ 0 -3mm 0 5mm 2.0mm 0.5mm 0.2mm "1" "1" "onsolder" ]