Fritzing: как сделать свой компонент Печать
Добавил(а) microsin   

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

[Простой способ создания компонента]

Если Вам всего лишь надо изготовить компонент для обычной микросхемы, то не нужно использовать дополнительное программное обеспечение. Новая версия Fritzing имеет в своем составе утилиту Parts Editor, которая позволяет просто создать компонент микросхемы, и для этого не нужно загружать программу редактора векторной графики. Итак, давайте рассмотрим весь процесс. На примере изготовления компонента микроконтроллера ATtiny45 нам предстоит выполнить следующие шаги:

1.1. Запустите Fritzing, перейдите на закладку Breadboard. В браузере Parts выберите раздел CORE. Прокрутите список компонентов до раздела ICs (микросхемы).

Fritzing-Parts-CORE-select-DIP8

1.2. Выберите подходящую по количеству ножек микросхему, перетащите её на поле редактора Breadboard. Для нашего примера подойдет компонент IC в корпусе DIP8.

Fritzing-Breadboard-DIP8-selected

1.3. В инспекторе свойств выбранного компонента поменяйте его имя (chip label) на желаемое название будущего компонента, для нашего примера имя поменяйте на TINY45.

Fritzing-Inspector-change-chip-label

1.4. Если у Вашего нового компонента другое количество выводов, то поменяйте параметр pins. В нашем примере pins равно 8, так что ничего менять не надо - у микроконтроллера ATtiny45 как раз 8 выводов.

1.5. Запустите редактор компонента, для этого сделайте правый клик на компоненте, и выберите Edit (new parts editor):

Fritzing-TINY45-run-Parts-editor

Откроется окно редактора компонента на закладке Breadboard.

Fritzing-Parts-editor-opened

Перейдите на закладку Connectors. Вы увидите прокручиваемый список выводов компонента. Каждый вывод имеет редактируемое имя (поле ввода Name:) и редактируемое описание (поле ввода Description:).

Fritzing-Parts-editor-Connectors-View

Нас интересует только описание Description. Отредактируйте его согласно даташиту на создаваемый компонент. Для ATtiny45 описание выводов можно изменить по таблице ниже.

Name: Description: id:
pin1 PB5 (PCINT5/RESET/ADC0/dW) connector0
pin2 PB3 (PCINT3/XTAL1/CLKI/OC1B/ADC3) connector1
pin3 PB4 (PCINT4/XTAL2/CLKO/OC1B/ADC2) connector2
pin4 GND connector3
pin5 PB0 (MOSI/DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0) connector4
pin6 PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) connector5
pin7 PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) connector6
pin8 VCC connector7

В меню Parts Editor выберите File -> Save as new part. Откроется окно, где нужно ввести префикс для имени компонента. Задайте префикс, который будет соответствовать названию компонента. Для нашего случая это ATtiny45:

Fritzing-Parts-editor-save-as-prefix-ATtiny45

На этом создание компонента можно считать законченным. Однако Вы можете также ввести дополнительную информацию о созданном компоненте на закладке Metadata.

Перейдите в Parts Editor на закладку Metadata, и отредактируйте по собственному усмотрению следующие информационные поля:

Title. Общее короткое описание компонента.
Author. Автор компонента.
Description. Произвольное общее описание.
Label. Метка (RefDes), которая будет появляться на принципиальной схеме и печатной плате (IC1, R1, R2, C1 и т. д.). В нашем примере я поменял метку на U, так что каждый новый экземпляр микроконтроллера на схеме будет нумероваться как U1, U2 и т. д.
Family. Имя семейства. Желательно не плодить новые имена, чтобы не добавлять путаницу. В этом примере я ввел имя уже существующего во Fritzing семейства microcontroller.

Fritzing-Parts-editor-ATtiny45-Metadata

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

Fritzing-ATtiny45-component-done

Мы успешно создали компонент для ATtiny45, теперь он всегда доступен для использования в среде Fritzing. Вы можете увидеть его в браузере Parts -> MINE (My Parts).

[Сложный способ - создание компонента "с нуля"]

Иногда нужно сделать какой-то совершенно новый компонент, аналог которого нельзя найти в палитре компонентов Parts. В этом случае основная сложность заключается в создании графики компонента для видов Breadboard, Schematic, PCB и Icon. Создавать графику Icon необязательно, но желательно - эта картинка определяет внешний вид компонента на палитре Parts.

Для редактирования векторной графики SVG Вам нужно установить специальный графический векторный редактор (см. ниже раздел FAQ). Также понадобится установка шрифтов OCR-A и Droid Sans (см. FAQ).

Кроме того, предстоит в редакторе Fritzing Parts Editor связать все созданные картинки воедино - чтобы графика выводов принципиальной схемы (Schematic) и графика выводов печатной платы (PCB) была жестко привязана к описаниям выводов (Connectors). Далее описан процесс по шагам на примере создания компонента для макетной платы AVR-USB32U4 [6].

1.1. В системе Fritzing невозможно создать полностью "чистый" компонент, обязательно нужно выбрать для него прототип из палитры Parts. Для создания компонента платы AVR-USB32U4 я выбрал компонент IC из Core Parts. Перетащите компонент IC на поле Breadboard, и поменяйте у него имя chip label на AVR-USB32U4 и количество выводов на 32:

Fritzing-AVR-USB32U4-template-change

1.2. Щелкните правой кнопкой мыши на компоненте на поле редактирования Breadboard, и выберите в контекстном меню Edit (new parts editor).

Fritzing-AVR-USB32U4-run-Parts-editor

Откроется окно редактора компонента Fritzing Parts Editor на закладке Breadboard.

1.3. Сохраните компонент в Fritzing Parts Editor выбором меню File -> Save as new part. В качестве префикса укажите AVR-USB32U4.

Fritzing-Parts-Editor-AVR-USB32U4-save-as

Теперь предстоит отредактировать векторное изображение в формате SVG - как будет выглядеть Ваш компонент в редакторе Fritzing Breadboard. Для редактирования файла SVG я советую использовать Inkscape [2] (см. также FAQ), подразумевается, что он у Вас уже установлен.

Перед началом редактирования изображения нужно получить для него некоторую стартовую картинку - шаблон, который можно начать редактировать. Целесообразно взять какой-то готовый файл в качестве шаблона, дело тогда пойдет гораздо быстрее. Множество SVG-файлов можно найти в папке установки Fritzing, см. каталог C:\Program Files\fritzing.0.9.1b.32.pc\parts\. Для начала проверьте: возможно компонент, который Вы делаете, уже есть готовый среди компонентов Fritzing. Найти нужный компонент можно с помощью инструмента Search:

Fritzing-Part-Search

Даже если Вы не найдете именно то, что нужно, возможно Вы сможете найти подходящий по внешнему виду компонент. Тогда Вы можете взять его SVG-файл за основу для графики своего компонента.

Получение шаблона с помощью экспорта. Можно довольно просто получить шаблон, если сделать экспорт графики в Fritzing Parts Editor. Перейдите на нужную закладку (Breadboard, Schematic, PCB или Icon - в зависимости от того, какой SVG-файл хотите получить), и выберите в меню File -> Export -> as Image -> SVG...

Также можно получить SVG-файл экспортом из редактора Eagle PCB с использованием ULP-скрипта eagle2svg (см. FAQ -> Советы при создании пользовательской графики компонента).

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

1. Все абсолютные размеры (в миллиметрах или в дюймах) должны соответствовать реальным физическим. Например, если шаг между ножками коннектора платы составляет 2.54 мм (100 mil, или 0.1 дюйма), то в файле SVG должно быть выдержано именно такое расстояние.

Примечание: для точного контроля расстояний на чертеже в Inkscape можно настроить координатную сетку. Это делается через меню Правка -> Параметры... -> Интерфейс -> Сетки, выберите единицы сетки in (т. е. дюймы), интервалы сетки по X и Y выберите 0.1 (0.1 дюйма = 100 mil, это стандартный шаг между выводами DIP-микросхем). После этого включите координатную сетку через меню Вид -> Сетка страницы.

Кроме того, полезно настроить шаг, который используется для перемещение выбранных элементов рисунка с помощью курсорных клавиш (стрелки влево, вправо, вверх, вниз). Для этого зайдите в меню Правка -> Параметры... -> Behavior -> Шаги, поменяйте настройку "Стрелки двигают на:" 0.01 in.

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

Кстати, ULP-скрипт eagle2svg при сохранении файла оставляет все размеры правильными. Также остаются корректными размеры, если получить шаблон для SVG-файла экспортом из Fritzing Parts Editor (меню File -> Export -> as Image -> SVG...).

2. Для SVG-картинок Breadboard и Schematic все элементы рисунка выходного файла SVG должны находиться в одном слое (например, в корневом), и должны быть объединены в одну группу. Название группы не имеет значения.

3. Для SVG картинки PCB требования особые. В этой картинке должны быть 3 группы, и каждая должна иметь предопределенные имена copper0, copper1 и silkscreen.

ID Label Для чего нужна группа
copper0 #copper0 Эта группа нужна для меди (контактных площадок) верхнего слоя. В ней содержится графика выводов компонента.
copper1 #copper1 Эта группа для нижнего слоя меди. Это просто пустая группа, контейнер для группы copper0. Т. е. группа copper0 находится внутри группы copper1, и в группе copper1 ничего другого, кроме как группы copper0, не содержится.
silkscreen #silkscreen Для шелкографии.

Вот скриншот структуры файла для PCB из редактора Adobe Illustrator, на котором понятнее показана вложенность групп copper1 и copper0:

Fritzing-PCB screenshot_layer-in-Illustrator

Из-за глюка Fritzing Parts Editor бывают проблемы при загрузке SVG-картинки для вида PCB. Для обхода проблемы иногда требуется ручная коррекция текстовым редактором картинки SVG (это обычный XML-файл) - для получения файла, полностью готового к загрузке на закладке PCB программы Fritzing Parts Editor.

4. Не обязательное, но желательное требование (если Вы готовите картинку, редактируя шаблон, полученный экспортом из Fritzing Parts Editor, то это требование будет выполнено автоматически). В составе группы SVG файла должны быть элементы, относящиеся к выводам компонента, и они должны носить (для ясности) соответствующие имена. Например, вывод 1 компонента должен иметь ID "connector0pin" и метку "#connector0pin".

Inkscape-connector-object-properties

На первый взгляд требования звучат несколько непонятно, но все станет яснее, когда Вы изучите готовые SVG-файлы для Fritzing Parts Editor (см. [3, 5, 7]).

2.1. Загрузка шаблона в Inkscape. Итак, нам нужно сделать файл графики SVG для внешнего вида компонента по определенным правилам, которые мы только что рассмотрели. Откройте Inkscape, и загрузите в него полученный SVG-файл шаблона (в этом примере шаблон был получен экспортом из Fritzing Parts Editor).

Inkscape-SVG-Breadboard-loaded

Разгруппируйте рисунок (Ctrl+U).

2.2. Удалите лишнее. Ненужные части рисунка удалите.

Inkscape-SVG-Breadboard-delete-unused-elements

2.3. Переместите выводы компонента в нужное положение. В данном примере два ряда выводов, верхний и нижний, находятся друг от друга на расстоянии 300 mil. У макетной платы AVR-USB32U4 они находятся на расстоянии 700 mil. Следовательно, нужно просто передвинуть верхний ряд на 4 клетки вверх. Я настроил себе шаг координатной сетки на 10 mil (0.01 дюйма), и настроил шаг перемещения стрелками курсора также на 100 mil. Поэтому все что нужно сделать - выделить верхний ряд контактов, и 40 раз нажать на кнопку "вверх".

Inkscape-SVG-Breadboard-move-pins

2.4. Скорректируйте размер страницы рисунка по содержимому. Отмените выделение группы (сделав щелчок мышью на пустом месте чертежа), и зайдите в меню Файл -> Свойства документа. На закладке Страница разверните раздел "Подогнать размер страницы под рисунок или выделение", убедитесь, что размеры отступов равны 0, и нажмите на кнопку "Подогнать ...". Закройте окно свойств документа.

Inkscape-SVG-Breadboard-change-page-size

2.5. Объединение всех элементов чертежа в группу. Ctrl+A, Ctrl+G, и группа создана.

Если "не добавлять рюшечки и бантики", то на этом процедура создания картинки для вида Breadboard закончена. Но давайте все-таки сделаем наш чертеж красивее.

2.6. Добавление графики. Вы можете вставить растровую картинку в Inkscape простым Copy/Paste. После вставки переместите картинку под графику выводов (кнопкой Page Down) и погоните размер растровой картинки под реальные расстояния между выводами. Получится что-то наподобие этого:

Inkscape-SVG-Breadboard-add-bitmap

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

Inkscape-SVG-Breadboard-done

Загрузите подготовленную картинку в Fritzing Parts Editor, для чего перейдите на закладку Breadboard и выберите меню File -> Load image for view, выберите подготовленный SVG-файл. Вид на закладку Breadboard после загрузки SVG-картинки:

Fritzing-Parts-Editor-Breadboard-image-loaded

Теперь предстоит то же самое сделать для внешнего вида компонента Schematic - для него тоже надо подготовить картинку.

Пока вид Schematic нашего компонента выглядит в Fritzing Parts Editor довольно убого:

Fritzing-Parts-Editor-Schematic-original-image

Хорошо бы все это немного исправить - повернуть надпись на 90o надпись AVR-USB32U4, расширить компонент по горизонтали. Для тех, кто уже понял общий принцип, весь спойлер можно не читать - нужно сделать экспорт в файл SVG, отредактировать его в Inkscape, а потом отредактированную картинку загрузить обратно в Fritzing Parts Editor.

3.1. Получение шаблона для SVG-файла экспортом из Fritzing Parts Editor. Выберите в меню File -> Export -> as Image -> SVG. В результате получите SVG-файл.

3.2. Отредактируйте полученный SVG-файл в Inkscape. Принцип редактирования тот же самый, какой мы использовали при редактировании картинки для вида Breadboard: разгруппируйте элементы картинки, отредактируйте, сгруппируйте снова, сохраните. Получится примерно следующее:

Inkscape-SVG-Schematic-done

3.3. Загрузите SVG-картинку в Fritzing Parts Editor. Выберите в меню File -> Load image for view..., выберите отредактированный файл.

Вид на закладку Schematic после загрузки SVG-картинки:

Fritzing-Parts-Editor-Schenatic-image-loaded

Теперь предстоит то же самое сделать для внешнего вида компонента PCB - для него тоже надо подготовить картинку.

Исходный вид PCB компонента в редакторе Fritzing Parts Editor:

Fritzing-Parts-Editor-PCB-original-image

4.1. Получение шаблона для SVG-файла экспортом из Fritzing Parts Editor. Выберите в меню File -> Export -> as Image -> SVG. В результате получите SVG-файл.

4.2. Отредактируйте полученный SVG-файл в Inkscape. Принцип редактирования тот же самый, какой мы использовали при редактировании картинки для вида Breadboard и Schematic: разгруппируйте элементы картинки, отредактируйте, сгруппируйте снова, сохраните. Правый столбец нужно передвинуть вправо на 400 mil. Получится примерно следующее:

Inkscape-SVG-PCB-done

Редактирование SVG-файла для вида PCB имеет некоторые особенности. Дело в том, что в оригинальном SVG-файле (полученного экспортом из Fritzing Parts Editor) не одна группа элементов, а целых три:

ID Label Для чего нужна группа
copper0 #copper0 Эта группа нужна для меди (контактных площадок) верхнего слоя. В ней содержится графика выводов компонента.
copper1 #copper1 Эта группа для нижнего слоя меди. Это просто пустая группа, контейнер для группы copper0. Т. е. группа copper0 находится внутри группы copper1, и в группе copper1 ничего другого, кроме как группы copper0, не содержится.
silkscreen #silkscreen Для шелкографии.

Прикол в том, что только что экспортированный файл из-за бага Parts Editor нельзя загрузить обратно, т. е. Parts Editor не понимает даже собственные SVG-файлы! Если Вы попытаетесь загрузить только что экспортированный файл, то получите ошибку "This version of the new Parts Editor can not deal with separate copper0 and copper1 ...". Чтобы избежать ошибки, выполните редактирование файла изображения для PCB следующей последовательности:

• Сразу после загрузки удалите все группы, кроме copper0 и silkscreen.
• Отредактируйте группы copper0 и silkscreen по отдельности, как обычно: сначала обработайте одну группу, потом другую. Обработка заключается в том, что группа разгруппировывается, редактируется, а потом группируется обратно, и ей дается старие значения для ID и для Label. После того, как Вы все отредактировали, у Вас должно остаться только 2 группы на чертеже: copper0 и silkscreen.
• Выберите группу copper0, и еще раз сгруппируйте её, т. е. нажмите на Ctrl+G. Полученной новой группе дайте ID "copper1" и Label "#copper1". Появится группа в группе, которая позволит обойти глюк Fritzing Parts Editor.
• Перенесите параметр transform из внутренней группы copper0 в группу copper1. Эту операцию лучше проделать с помощью текстового редактора или XML-редактора.

В результате всех этих хитрых манипуляций должен получиться SVG-файл со следующей структурой:

< ?xml version="1.0" encoding="UTF-8" standalone="no"?>
< !-- Created with Fritzing (http://www.fritzing.org/) -->
< svg>
  < !-- Тут заголовок, описывающий основное содержимое SVG-файла
 ... -->
    < !-- Тут другие теги: metadata, sodipodi:namedview и прочие ... -->
    < g id="copper1" transform="translate(-35.96,-0.68000003)">
      < g id="copper0">
        < !-- Тут графика контактных площадок, теги rect и circle ... -->
      < /g>
    < /g>
  < g id="silkscreen">
    < !-- Тут графика шелкографии, теги line ... -->
  < /g>
< /svg>

Файл SVG для картинки PCB в таком виде будет загружаться в Fritzing Parts Editor без проблем.

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

4.3. Загрузите SVG-картинку в Fritzing Parts Editor. Выберите в меню File -> Load image for view..., выберите отредактированный файл.

Вид на закладку PCB после загрузки SVG-картинки:

Fritzing-Parts-Editor-PCB-image-loaded

Перейдите на закладку Connectors, и отредактируйте поля Description по таблице, приведенной ниже.

Name: Description: id:
pin1 D0 connector0
pin2 D1 connector1
pin3 D2 connector2
pin4 D3 connector3
pin5 D4 connector4
pin6 D5 connector5
pin7 D6 connector6
pin8 D7 connector7
pin9 B3 connector8
pin10 B4 connector9
pin11 B5 connector10
pin12 B6 connector11
pin13 B7 connector12
pin14 C6 connector13
pin15 C7 connector14
pin16 E2 connector15
pin17 GND connector16
pin18 UCAP connector17
pin19 AREF connector18
pin20 F7 connector19
pin21 F6 connector20
pin22 F5 connector21
pin23 F4 connector22
pin24 F1 connector23
pin25 F0 connector24
pin26 E6 connector25
pin27 B2 connector26
pin28 B1 connector27
pin29 B0 connector28
pin30 ~RST connector29
pin31 GND connector30
pin32 VCC connector31

Тип коннектора: male, female, pad. Для каждого коннектора или для всех сразу можно выбрать один из трех типов (установкой галочки). Тип male это штырьки, female гнезда, а pad означает вывод микросхемы. На скриншоте ниже показан мой выбор для платы AVR-USB32U4 - male (штырьки).

Fritzing-Parts-Editor-set-connector-male-type

Тип контактной площадки для выводов: Through-hole, SMD. Также можно задать, какая будет контактная площадка для коннектора - либо сквозное отверстие (Through-hole), либо планарная площадка для поверхностного монтажа (SMD). На скриншоте ниже показан мой выбор для платы AVR-USB32U4 - Through-hole (сквозное отверстие).

Fritzing-Parts-Editor-set-connector-hole-type

Если Вы правильно задали (не изменяли) идентификаторы и метки объектов графики в файлах SVG, то оригинальная привязка к информации о выводах сохранится. Но все-таки привязку нужно проверить, и если есть ошибки, то исправить.

Привязка Breadboard. Перейдите в Fritzing Parts Editor на закладку Breadboard, и просмотрите список Connector List в правой части окна. В списке везде должны стоять галочки, что означает наличие привязки вывода компонента к графическому элементу рисунка.

Fritzing-Parts-Editor-Breadboard-Connector-List

Если на какой-то строке привязки нет, значит нужно её задать. Нажмите на кнопку Select graphic на нужной строке, и укажите кликом левой кнопкой мыши на рисунке слева на нужный вывод компонента. Сделайте такую привязку для всех выводов, у которых по какой-то причине привязки нет.

Привязка Schematic и привязка PCB выполняется аналогично (на соответствующих закладках).

Тип вывода: male, female, Pad. Во время редактирования привязки на всех закладках (Breadboard, Schematic, PCB) можно поменять тип вывода. 

Тип male это штырьки, female гнезда, а pad означает вывод микросхемы. На скриншоте ниже показан мой выбор для платы AVR-USB32U4 - male (штырьки).

Fritzing-Parts-Editor-set-connector-male-type

Terminal point. Во время редактирования привязки на всех закладках (Breadboard, Schematic, PCB) можно поменять место токи соединения провода с графикой вывода. Выбор делается кнопками Center, W, N, S, E. Если ничего не выбрано, то по умолчанию считается Center.

Fritzing-Parts-Editor-set-terminal-point

Center По центру графики вывода.
W Западная сторона вывода, т. е. слева (от слова West, запад).
N Северная сторона вывода, т. е. сверху (от слова Nord, север).
S Южная сторона вывода, т. е. снизу (от слова South, юг).
E Восточная сторона вывода, т. е. справа (от слова East, восток).

Перейдите в Parts Editor на закладку Metadata, и отредактируйте по собственному усмотрению следующие информационные поля:

Title. Общее короткое описание компонента.
Author. Автор компонента.
Description. Произвольное общее описание.
Label. Метка (RefDes), которая будет появляться на принципиальной схеме и печатной плате (IC1, R1, R2, C1 и т. д.). В нашем примере я поменял метку на U, так что каждый новый экземпляр микроконтроллера на схеме будет нумероваться как U1, U2 и т. д.

Fritzing-Parts-editor-AVR-USB32U4-Metadata.png

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

Остался последний, самый простой шаг - надо создать иконку для Вашего компонента. Это маленькая картинка, которая на палитре компонентов Parts -> MINE (My Parts) будет представлять Ваш компонент. Для этого в программе Fritzing Parts Editor перейдите на закладку Icon, и выберите в меню File -> Reuse breadboard image.

Fritzing-Parts-Editor-Icon-reuse-breadboard-image

Сохраните компонент, выйдите из Fritzing Parts Editor. Можете теперь полюбоваться своим компонентом на палитре Parts:

Fritzing-AVR-USB32U4-component-finished

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

[FAQ]

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

Inkscape бесплатен, загрузите нужную версию на странице загрузки [2], установите. Можно загрузить инсталлятор и запустить его, я загрузил архив 7z (inkscape-0.91pre3-1-win32.7z), и распаковал из него папку inkscape в каталог C:\Program Files.

Вместо Inkscape можно также использовать Adobe Illustrator, но это платная программа. Лично мне больше нравится Inkskape - он не очень сложен в освоении, русифицирован, обладает большими возможностями. В этой статье рассмотрена подготовка SVG-графики компонента именно с помощью редактора Inkscape.

К сожалению (или к счастью), редактор компонентов Fritzing Parts Editor нельзя запустить отдельно - надо сначала запустить Fritzing, выбрать любой компонент из палитры Parts, и потом в его контекстном меню выбрать Edit Part (new part editor). Именно так и только так запускается создание нового компонента:

Fritzing-run-Parts-Editor

Для запуска Parts Editor выбирайте компонент с таким же или большим количеством выводов, какое будет у Вашего нового компонента - это позволит избежать последующих досадных ошибок в наименовании выводов коннектора компонента. Для изменения количества выводов можно сначала поместить выбранный компонент на поле редактора Breadboard, выбрать нужное количество выводов в инспекторе свойств компонента, и только потом запустить Parts Editor (в этом примере на скриншоте количество выводов компонента IC предварительно изменено на 32):

Fritzing-change-pins-count

После выбора пункта контекстного меню Edit Part (new part editor) откроется основное окно Fritzing Parts Editor. В нем есть 6 основных секций, представленный верхними кнопками. В этих секциях Вы будете вносить изменения:

• Breadboard
• Schematic
• PCB
• Icon
• Metadata
• Connectors

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

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

Перед тем, как продолжить, сохраните свой компонент как новый (new part). Если Вам понадобиться остановиться в любое время, то можно будет продолжить редактирование с сохраненной точки (или вернуться назад, чтобы исправить ошибки). Перейдите в меню File, выберите Save as new part. Появится запрос на ввод имя префикса, который поможет в будущем идентифицировать Ваш компонент. Можете ввести любой желаемый префикс.

При сохранении компонента из Fritzing Parts Editor пользователь задает только уникальное имя компонента - префикс, при этом компонент попадает в закладку MINE (My Parts) палитры Parts.

Когда Fritzing Parts Editor сохраняет компонент, пользователь вводит только имя префикса для компонента:

Fritzing-Parts-Editor-AVR-USB32U4-save-as

В результате на палитре компонентов Parts в разделе MINE появляется новый компонент, имя которого совпадает с именем префикса. Внешний вид компонента на палитре зависит от иконки компонента.

Файлы графики. У пользователя нет возможности выбрать место, куда будут физически сохранены SVG-файлы графики компонента, выбор система Fritzing делает сама по собственному усмотрению. Это каталог %APPDATA%\Fritzing\parts\svg\user (т. е. например это может быть папка c:\Documents and Settings\имя_пользователя\Application Data\Fritzing\parts\svg\user\). В этом каталоге есть 4 папки:

breadboard здесь хранятся SVG-файлы внешнего вида компонента для закладки Breadboard.
icon здесь хранятся SVG-файлы внешнего вида иконки компонента для палитры Parts.
pcb здесь хранятся SVG-файлы внешнего вида компонента для закладки PCB.
schematic здесь хранятсяSVG-файлы внешнего вида компонента для закладки Schematic.

Имя каждого файла состоит из префикса, который пользователь вводит при сохранении файла, а также суффикса breadboard, icon, pcb или schematic (в зависимости от того, в какой папке файл находится). Например, если при сохранении файла Вы задали префикса AVR-USB32U4, то файл для закладки Breadboard будет лежать в папке %APPDATA%\Fritzing\parts\svg\user\breadboard, и получит дикое название наподобие:

AVR-USB32U4_11249b74e912602c68b48bfcda79aa21_9_breadboard.svg

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

Файл компонента. Сам файл компонента сохраняется в папке %APPDATA%\Fritzing\parts\user, файл получает заданный пользователем префикс, автоматически генерируемый корень, и суффикс в виде расширения fzp. Например, если Вы при сохранении задали суффикс AVR-USB32U4, то имя файла компонента получится примерно таким:

AVR-USB32U4_11249b74e912602c68b48bfcda79aa21_9.fzp

Файл компонента можно открыть текстовым редактором, и просмотреть его содержимое. Можно увидеть, что это по сути обычный XML-файл, где сохранена привязка друг другу информации SCH (вид компонента на схеме), BRD (вид компонента на печатной плате) и PKG (информация о выводах компонента).

Если Вы сами рисовали SVG-картинку для своего компонента, и использовали при этом шрифты, отличающиеся от OCR-A и Droid Sans, то при загрузке картинки в Fritzing Patrs Editor может появиться сообщение примерно такого вида:

Fritzing-substitute-unsupported-fonts

Здесь говорится о том, что неподдерживаемые шрифты автоматически заменены на поддерживаемые OCR-A и Droid Sans. Fritzing использует для микросхем шрифт OCR-A. Для всех других компонентов Вы можете использовать шрифты OCR-A и Droid Sans. Программа Fritzing имеет шрифты и шаблоны, которые можно загрузить с сайта Fritzing. Перейдите на страницу закачки шрифтов и шаблонов [3], и скачайте архив fontsandtemplates.zip. В нем содержатся:

1. Шрифты Droid Sans и OCRA.
2. Шаблон графики закладки Breadboard View.
3. Шаблон графики закладки Schematic View.
4. Шаблон графики закладки PCB View.

После того, как скачаете файл архива, распакуйте его содержимое в любое место на диске. Устанавливаются шрифты стандартным образом: откройте папку Панель Управления -> Шрифты. Скопируйте сюда файлы *.ttf и *.otf из папок Fonts\DroidSans\ и Fonts\OCR A\ архива.

1. Ознакомьтесь с шаблонами для готовыми шаблонами вида, которые Вы скачали по ссылке [3]. Шаблоны находятся в папке Templates архива:

BreadboardViewGraphic_Template.svg шаблон для вида Breadboard
SchematicViewGraphic_Template.svg шаблон для вида Schematic
PCBViewGraphic_Template.svg шаблон для вида PCB

Также можете скачать шаблоны от SparkFun [5].

2. Придерживайтесь стандартам графики Fritzing, когда выбираете цветовую гамму для рисунков в файлах SVG. Например, для медных контактов следует выбирать такой цвет:

                                               

HEX: 9A916C, RGB: 154 145 108

Для выводов деталей (олово) выберите:

                                               

HEX: 8C8C8C, RGB: 140 140 140

Красный цвет для плат от SparkFun:

                                               

HEX: E62C2E, RGB: 230 44 46

3. Делайте все как можно проще (принцип KISS, Keep It Simple Stupid). Fritzing дает Вам возможность сделать плату настолько простой, или настолько сложной, как Вы того хотите. Не усложняйте свой компонент сверх необходимости.

4. Используйте компоненты, которые уже есть в наличии. Если Вам нужен SMD LED на Вашей плате, который уже есть в Fritzing, то используйте его, даже если он незначительно отличается по внешнему виду от Вашего светодиода. Этим Вы сохраните время и привычный вид компонентов Fritzing. Если Вы создаете свою плату, которую могут использовать другие пользователи, то можете предоставить её в общий доступ на сайте Fritzing. Убедитесь, что подготовили приятную и узнаваемую графику для Вашей платы, чтобы её можно было легче найти среди обновляющего списка компонентов Parts.

5. Именуйте выводы компонента в группах Copper. Присваивание имен коннекторам сохранит много времени в будущем. В примере SparkFun T5403 Barometer Breakout example (см. шаблоны SparkFun [5]) под группой copper каждый коннектор получил имя в виде connector#pad.

Fritzing-Sparkfun-pins-naming-example

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

6. Используйте шрифты ORC-A или Droid Sans. Используйте подписи привычными шрифтами, чтобы все компоненты Fritzing выглядели в одном стиле. Предлагаемый размер шрифта 5 pt. Однако может настать момент, когда на Ваших платах не будет хватать места для шелкографии, и нужно искать компромисс для выбора размера шрифта. Если уменьшить его до 3 pt, то он будет читаться только при сильном приближении вида в редакторе PCB Fritzing.

На сайте Fritzing упоминается, что для шрифта надписей используется черный цвет. Однако белый цвет для шелкографии выглядит лучше, если он будет размещен на темном фоне (например, красная или зеленая маска печатной платы).

7. Если Вы делаете компонент Fritzing для печатной платы, которая была изготовлена в программе CadSoft Eagle, то можете воспользоваться скриптом ULP, который преобразует чертеж платы Eagle PCB в файл SVG. Скрипты ULP можно найти на сайте CadSoft [4].

Запустите Eagle, откройте нужный проект, выберите вид на печатную плату в редакторе Board. Включите все нужные слои, ненужные выключите - чтобы плата отображалась так, как Вы хотите её видеть в виде компонента.

Eagle-PCB-view-to-SVG-export

Из редактора Board Eagle запустите ULP-скрипт eagle2svg-1.4.1.ulp. Выберите путь и имя SVG-файла для сохранения компонента в нужном месте на диске. Внимание: при выборе пути для сохранения файла не пользуйтесь кнопкой ..., просто введите вручную простейший путь (иначе скрипт может не сработать и выдать ошибку).

Eagle-SVG-export-set-file-name

8. Для нового компонента нам понадобится сохранить 3 разных SVG-файла, так что добавляйте в имени конец сохраняемого файла соответствующие суффиксы, чтобы легче их было отличить друг от друга. Например, для внешнего вида Breadboard сохраните файл с суффиксом _breadboard: AVR-USB32U4_breadboard.svg.

[Ссылки]

1. Make Your Own Fritzing Parts site:learn.sparkfun.com.
2. Inkscape download site:inkscape.org.
3. Fritzing fonts and templates site:fritzing.org.
4. User Language Programs (ULPs) site:cadsoftusa.com.
5. sparkfun Fritzing_Parts site:github.com.
6. Макетная плата AVR-USB32U4.
7. 150109Fritzing.zip - программное обеспечение, описываемое в статье, скрипт eagle2svg, шаблоны SVG, шрифты Droid Sans и OCRA.