Создание Fritzing Parts для чайников :-)

В Интернет много статей по тому, как создавать новые Fritzing parts. Но, к сожалению, нередко много текста и выпущены из виду некоорые ключевые моменты создания SVG файла. Распишу вариант изготовления fritzing part с нуля по пунктам на бесплатном ПО. Для работы нужно:

SIM800C модуль для fritzing part

В примере буду создавать fritzing part для модуля SIM800C.

Макетная плата

Чтобы создать макетную плату нужно:

  • Найти снимок модуля сверху. Подходящий кадр можно найти либо в Интернет магазине, либо сделать кадр самому. Я нашел нужный кадр здесь.
  • В Paint.Net поворачиваю фото так, чтобы плата была строго горизонтально. Довернул на -0,2 oC
Плата SIM800C вид сверху для fritzing part
Snap to grid в Inkspace
  • Измеряю точные размеры платы: 31 мм х 26,5 мм. Отверстия для пинов отсутпают на 1,5 мм сверху и 1,5 мм сбоку.
  • Открываю Inkscape. и в меню File -> Document properties… указываю Display units -> mm и Units -> mm.
  • Размер листа выставляем в размер платы: 31 мм х 26,5 мм.
  • Перехожу в Grids. Меняю Units -> mm. Создаю новый Grid с шагом 0,1″ или 2,54 мм. Spacing X и Spacing Y — по 2,54 мм. 0,1″ — типовой шаг отверстий в breadboard.
  • Вставляю изображение в Inkscape.
  • Кликаю правой кнопкой мыши на изображении и выбираю пункт меню Object -> Transform.
  • Перехожу на закладку Scale.
  • Ставлю галку возле Scale proportionally для пропорционального масштабирования изображения.
  • Выбираю единицы измерения -> mm.
  • Задаю ширину 31 мм. Высота автоматически пересчитывается и отображается — 26,6. Повезло, фото по масштабу и ракурсу сделано неплохо.
  • Жму Apply, чтобы принять изменения.
  • Отключаю прилипание к сетке («Snap to grids’) в правом меню. Обвел на скриншоте красным.
  • Размещаю смасштабированное изображение gj wtynhe kbcnf листа.
  • Распаковывываю архив с шаблонами и открываю из папки Templates файл PCBViewGraphic_Template.svg. Из этого файла нам нужны контактные площадки. Копируем в наш файл с платой SIM800C.
  • По границе изображения платы рисую прямоугольник в размер платы 31 мм х 26,5 мм. Удерживая клавишу Alt и клавиши управления курсором точно подгоняю прямоугольник, чтобы он шел точно по контуру платы.
  • Открываю File -> Document properties… -> Grids и подбираю Origin X и Origin Y так, чтобы узел сетки начинался строго с центра первого верхнего отверстия. Учитывая стандарт размещения выводов через 0,1″ узлы сетки должны будут находится в центре каждого из выводов верхней гребенки.
  • Проверяю инструементом «Measurement tool (M)», что расстояние до первого вывода гребенки сбоку и сверху составляет порядка 1,5 мм.
  • Копирую контактную площадку, взятую из шаблона, поверх всех выводов гребенки, чтобы узел сетки совпадал с центром контактной площадки.
  • Используя инструмент Align and distribute objects (Shift+Ctrl+A) выравниваю контактые площадки по середине (Align -> Center on horizontal axis) и выравниваю расстояние между площадками по горизонтали (Distribute -> Distribute centers equidinstantly horizontally).
  • Выделяю все контактные площадки верхней гребенки удерживая Shift и затем группирую, нажава правую клавишу мыши и выбрав в выпадающем меню пункт Group.
  • Копирую сгруппированные выводы и переношу на нижнюю гребенку. К сожалению расстояние между гребенками в плате SIM800C сделано не кратно 2,54 мм, т.е. плата в breadboard не встанет. Соотвественно, горизонтальная линия сетки внизу также не будет совпадать с центрами выводов нижней гребенки. Поэтому добавляем направляющую (Guid), поместив курсор на верхнюю линейку (под меню), зажав левую кнопку мышки и протащив, не отпуская клавишу, до нижней гребенки. Отпускаю клавишу мыши в нужном месте.
  • Контактные площадки на обе гребенки добавлены. Самый важный момент — переименовать их ID, иначе Fritzing после импорта SVG файла не воспримет добавленные конактные площадки в качестве PIN-ов. Верное название PIN-а, например, connector7pin. Менять можно только цифру. Если в конце названия (после pin) добавить любой другой символ, Fritzing не воспримет контактную площадку.
  • Открываю диалоговое меню Object Properties (Shift+Ctrl+O).
  • Удерживая Ctrl выделяю последовательно контактные площадки в сгруппированном блоке верхней гребенки и переименовываю, чтобы ID был: connector[номер]pin, а Label — #connector[номер]pin.
  • Ту-же операцию проделываю с нижней гребенкой.
  • Используя графические примитивы (прямоугольники, окружности) рисую поверх электронных элементов платы их изображение. Это занимает буквально 15-20 минут.
  • При подборе цветов можно использовать инструмент «Color Picker» в Paint.Net. После чего код цвета в HEX копирую в Inscape для закраски соответствущего элемента. Естественно, можно не усложнять и использовать похожие цвета из нижней палитры цветов Inkscape (Shift-Alt-P).
  • Из архива с шаблонами и шрифтами инсталлирую шрифты.
  • Наношу надписи на плату шрифтом DroidSasns белого цвета, подобрав подходящий размер шрифта.
  • К сожалению, Fritzing после импорта SVG файлы игнорирует размер шрифта. Чтобы шриф не изменился его нужно преобразовать в кривые.
  • Перед преобразованием в кривые можно добавить отдельный слой (Layer) Text в который скопировать исходный вариант текстов, на случай, если потребуется что-то поправить. Отображение слоя с текстом нужно отключить.
  • Все надписи выделяю с удержанием Shift, а затем в меню Path -> Object to path (Shift-Ctrl-C).
  • К сожалению, Fritzing не отображает или отображает с ошибками, изображение платы, поэтому спрячу её, создав слой (Layer) с именем Image. Выделяю изображение и в меню по правой кнопки мыши выбираю пункт Move to layer…, указав слой Image для перемещения.
  • SVG файл готов для создания нового Fritzing part. В Fritzing выбираю любой из part-ов и кликаю правой кнопкой мыши. Выбираю пункт меню Edit part (new parts editor…).
Готовый breadboard для SIM800C
  • В открывшемся редакторе компронентов выбираю закладку Breadboard, затем в меню File -> Load image to view… выбираю созданный SVG файл.
  • На закладке Breadboard появится нарисованный SVG файл. После того как убедился, что с изображением все в порядке и все pin-ы корректно импортировались, нужно ассоциировать выводы с названиями PIN-ов.
  • Для ассоциации pin-ов он выделяется в Connector List, если необходимо меняетс его наименование и описание, а затем нужно кликнуть на появляющуюся возле вывода кнопку Select graphic, после чего выделить то pin, который должен быть ассоциирован с соответствующей ножкой.
  • После ассоциации слева от названия pin-а появится галка.
  • Если справа отображается меньше pin-ов, чем на плате, на закладке Connections можно добавить ещё, указав общее количество или вручную добавив нужные pin-ы.

Принципиальная схема

Для создания приницпиальной схемы модуля:

  • Открываю шаблон SchematicViewGraphic_Template.svg
  • У модуля всего 16 ножек.
  • Разгруппировываю шаблон.
  • Удаляю лишние надписи и элементы.
  • Копирую нужное количество выводов, выверяя расстояние между ними.
  • Выравниваю выводы по вертикали (Distribute -> Distribute centers equidinstantly vertically) и горизонтали (Align left edges), используя соответствуетщие инструменты Align and distribute objects (Shift+Ctrl+A).
  • Увеличиваю размер прямоугольника схемы, чтобы все выводы убрались.
  • Созданные слева 8 выводов после выравнивания группирую и копирую для переноса на правую часть.
  • Наношу надписи шрифтом Droid Sans c Font Size — 2.
  • Правлю центральную надпись на SIM800C.
  • К сожалению, fritzing нередко меняет размер шрифтов после импорта. Если так происходит, то в качестве обходного варианта я использую перевод шрифта в кривые. Для этого выделяю все надписи и перевожу в кривые:
    • Ctrl+K (path combine), then 
    • Ctrl+J (dynamic offset)
    • Цвет текста нужно изменить на белый, иначе в PCB буквы могут отображаться очень жирными.
  • Изменяю размер листа, чтобы полученное изображение было лишь немного меньше его.
Приницпиальная схема SIM800C
  • Перехожу в Fritzing на закладку Schematic и подгружаю соданный SVG файл через меню File -> Load image for view… (Ctrl-O).
  • Для ассоциации pin-ов на нарисованной приницпиальной схеме с уже имеющиемися connections выбираю нужный pin в Connector List.
  • Если необходимо изменяю его наименование и описание.
  • Кликаю на появляющуюся возле названия pin-а кнопку «Select graphic», после чего выделяю pin, который должен быть ассоциирован с соответствующей ножкой.
  • После ассоциации слева от названия pin-а появится галка.
  • Далее нужно в разделе «Terminal point» указать в каком месте линии соединения будет привязываться соединение: Center, W(est), E(ast), S(outh), N(orth). Соответственно для ножек слева от прямоугольника для всех выводов надо задать W(est), а для всех правых — E(ast). Крестик на линии соединения переместится, соответственно, налево или направо.
Принципиальная схема в fritzing
  • Сохраняем parts выбрав в меню Fle -> Save (Ctrl-S).

Печатная плата

SVG файл получается из breadboard. Для этого:

  • Сохраняю SVG файл, заменив суффикс breadboard на pcb.
  • Зеркально отражаю breadboard относительно гребенки выводов.
  • Переношу все надписи к выводам.
  • Убираю все лишние элементы, оставив только контактные площадки, границу платы и текст.
  • Тщательно вымеряю расстояние между пинами гребенки. У меня получилось 24 мм.
  • Две линейки гребенок размещаю, чтобы расстояние между ними было строго 24 мм.
  • Выравниваю гребенки относительно платы с помощью Align and Distribute (Shift+Ctrl+A), чтобы они были симметричны относительно платы. В breadbord можно было размещать контактные площадки по фото, в случае с печатной платой на фото обращать внимание нельзя, только точные размеры.
Печатня плата для SIM800C
  • Гребенки группирую. В Object properties (Shift+Ctrl+O) задаю ID: copper0, Label: #copper0.
  • Текст и рамку платы группирую и задаю ID: silkscreen, Label: #silkscreen.
  • На всякий случай выделяю группу copper0 и выполняю команду «Raise selection to top (Home)», чтобы переместить поверх всех элементов. Если этого не сделать, то после импорта pcb в ftitzing невозможно будет выделить отдельные pin-ы для привязки connections.
  • Сохраняю.
  • В Fritzing перехожу на закладку PCB и загружаю созданный файл.
  • Привязываю к контактным площадкам соединения.
  • Сохраняю.

Icon

Специально создавать SVG файл для icon не нужно. Достаточно подгрузить ранее созданный breadboard SVG файл.

На закладке Icon перехожу в меню File -> Load image to view… выбираю SVG файл ранее использованный для breadboard для отображения в качестве иконки в палитре part-ов в fritzing.
Сохраняю созданный Fritzing part: File -> Save (Ctrl-S) и указываю имя SIM800C.

Fritzing part for SIM800C

После того как подгружены все компоненты для создания fritzing part для SIM800C нужно создать *.fzpz файл. Для этого:

  • Создаю новый проект Fritzing.
  • Нахожу в fritzing parts справа по поиску компонент SIM800C.
  • Кликаю на иконке SIM800C правой кнопкой мыши и выбираю пункт Export part….
  • Сохраняю файл с именем SIM800C.fzpz.
  • Вот и всё. Финальный файл здесь.

Полезные заметки

Чтобы не править текст, буду добавлять находки в этот раздел.

Silkscreen

Надписи, контур печатной платы и какие-то другие элементы, которые нужно отобразить в PCB, должны быть сгруппированы с именем silkscreen.

Нередко текст после импорта в fritzing деформируется. Например, позиция правильная, но размер шрифта становится другим.

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

Чтобы каждый раз не набирать текст и другие объекты, я рекомендую в Inkscape создавать несколько слоев:

  • Слой Text в котором будет сохранен исходный текст, чтобы было откуда его взять в случае правки. Этот слой нужно скрыть.
  • Слой Image в котором находится фото изображения платы модуля или какого-то элемента, поверх которого будет рисоваться векторное изображение платы. Слой должен располагаться в самом низу. Перед сохранением готового svg файла этот слой нужно скрыть.
  • Слой Copper в котором находятся все контакные площадки. Элементы в нем нужно будет сгруппировать и назвать группу copper0.
  • Слой Silkscreen в котором будут находится все элементы, которые должны отображаться в изображении PCB: контур платы, текст отконвертированный в кривые. Объекты в этом слое нужно сгруппировать и дать имя группе silkscreen.

Конвертация текста в кривые для PCB

Для преобразования текста в кривые:

  • Ctrl+K (path combine)
  • Ctrl+J (dynamic offset)
  • Цвет текста нужно изменить на белый, иначе в PCB буквы могут отображаться очень жирными.

Извлечение *.svg файлов из *.fzpz

В некоторых случаях полезно взять какие-то компоненты из *.svg файлов сделанных коллегами. Однако, нередко в наличии есть только готовый *.fzpz файл с fritzing parts.

В некоторых случаях экспорт *.svg файла из редактора Parts Editor происходит с ошибками. Это происходит, например, в случае больших файлов.

Fzpz файл fritzing parts — это обычный zip архив в котором отдельно находятся все нужные *.svg файлы. Так что позаимствовать несложно. 🙂

Полезные ссылки

Spread the love
Запись опубликована в рубрике IT опыт, IT рецепты с метками . Добавьте в закладки постоянную ссылку.