11,9K подписчиков

KiCad для начинающих. §4 Создаем свой компонент. Часть 1

1,1K прочитали

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

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

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

Предполагается, что читатель уже имеет установленный и настроенный KiCad. Более того, предполагается, что читатель знает "анатомию" компонента в KiCad. Если нет, рекомендую сначала прочитать

KiCad для начинающих. §1 Общий взгляд. САПР, CAD, EDA

KiCad для начинающих. §2 Установка, настройка, структура

KiCad для начинающих. §3 Электронный компонент в KiCad "под микроскопом"

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

Графический аспект

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

Системы координат документа и включаемого документа. Точка привязки. Иллюстрация моя
Системы координат документа и включаемого документа. Точка привязки. Иллюстрация моя

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

Система координат документа связана с его левым верхним углом. Это основная система координат. Ось Y направлена вниз, а ось X вправо. Такое расположение координатных осей типично. В полноценных графических системах может быть предусмотрена возможность изменения направления осей и даже поворот системы координат. В KiCad такой возможности нет, но можно создать временную систему координат с началом в любой точке документа. Мы это скоро рассмотрим более подробно. При этом направление координатных осей временной системы координат будет таким же, как у основной.

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

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

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

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

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

Сетка важна не только при рисовании, но и при подключении соединений к выводам (точкам подключения). Если связь (проводник) на схеме подходит близко к выводу, но не точно заканчивается/начинается в точке размещения вывода, то вывод считается не подключенным. Как такое возможно, если все привязывается к сетке?

Дело в том, в документе может использоваться несколько различных сеток, с разным шагом. Выбор шага сетки для чисто графических элементов, того самого УГО, большой роли не играет. Это вопрос удобства рисования. А вот для размещения выводов шаг сетки уже является чрезвычайно важным.

Для редактора принципиальных схем и символов компонентов стандартным шагом является 1.27 мм (0,05 дюйма). Да, это связано с Имперской системой единиц измерений. И я настоятельно не рекомендую вам спорить с KiCad и пытаться доказать ему, что правильным шагом сетки является, например, 1.25 мм. Просто примите как данность, что стандартная сетка 1.27 мм, и именно к этой сетке нужно привязывать расположение выводов, расположение точки начала координат символа, проведение связей между выводами. Для всего остального вы можете выбрать любой шаг сетки.

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

Координаты позиции курсора на иллюстрации совпадают и в основной, и во временной системе координат. Просто в данном случае временная система координат еще не задана, поэтому считается, что она совпадает с основной. Расстояние (dist на иллюстрации) это расстояние от точки начала координат до курсора "по прямой".

Создаем свою библиотеку компонентов (символов)

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

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

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

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

Для создания новой библиотеки можно использовать два способа. Первый, в меню "Файл" выбрать пункт "Создать библиотеку...". Второй, щелкнуть правой кнопкой мышки на имени любой библиотеки, или на пустом месте, в списке библиотек и выбрать пункт "Новая библиотека...". Вы увидите окно выбора имени библиотеки и места ее расположения на диске.

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

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

Созданная для примера библиотека TestLib автоматически добавилась в список библиотек в окне редактора. Иллюстрация моя
Созданная для примера библиотека TestLib автоматически добавилась в список библиотек в окне редактора. Иллюстрация моя

Обратите внимание, что библиотека автоматически добавилась в список библиотек. В библиотеке пока нет ни одного компонента.

Простейший случай создания компонента - копирование существующего и его редактирование

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

Для примера давайте создадим компонент для транзистора КТ626, который выпускался еще в СССР. Это pnp транзистор в корпусе КТ-27-2, как и гораздо более известные КТ814/КТ815. Разумеется, такого транзистора нет и просто не может быть в стандартных библиотеках KiCad. Давайте его создадим.

Сначала нам нужно найти наиболее подходящий существующий компонент. Корпус КТ-27-2 в международном варианте называется TO-126. А подходящий транзистор действительно есть в библиотеке Transistor_BJT, это транзистор BD140. На его параметры внимания не обращаем, нам главное символ и связь с корпусом (посадочным местом).

Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-4

Но при более внимательном взгляде становится видно, что цоколевка BD140 отличается от КТ626. Это нужно будет исправить. Кроме того, в России транзисторы на схемах имеют позиционное обозначение VT, а не Q. А еще, нам нужно спрятать номера выводов и изменить наименование. Так что транзистор BD140 в качестве основы нам подходит, но поработать немного придется.

Сначала сделаем копию BD140 в нашей библиотеке. Щелкаем правой кнопкой мыши на компоненте BD140 в библиотеке Transistor_BJT и выбираем "Копировать"

Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-5

Теперь щелкаем правой кнопкой мыши на имени нашей библиотеки TestLib и выбираем "Вставить компонент".

Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-6

Упс... Результат несколько отличается от ожидаемого! Добавилось сразу несколько компонентов.

Кроме BD140 в нашу библиотеку добавилось еще несколько транзисторов. Иллюстрация моя
Кроме BD140 в нашу библиотеку добавилось еще несколько транзисторов. Иллюстрация моя

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

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

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

Нам нужно открыть компонент BD140 в нашей библиотеке (именно нашей!) на редактирование. Можно просто два раза щелкнуть на его названии. Или щелкнуть на его названии правой кнопкой мыши и выбрать "Редактировать компонент". При этом в правой части окна редактора появится изображение компонента, а имя библиотеки и имя компонента будут отображаться синим цветом.

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

Изменяем позиционное обозначение, название транзистора, скрываем номера выводов

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

Окно редактирования свойств компонента. Изменяемые поля показаны красными стрелками. Иллюстрация моя
Окно редактирования свойств компонента. Изменяемые поля показаны красными стрелками. Иллюстрация моя

Щелкните по значению поля "Reference" и замените Q на VT. Точно так же измените "Value" на КТ626. Обратите внимание, что одновременно будет изменяться и поле "Имя компонента", я говорил об этом в предыдущей статье. Отдельно изменять поле "Имя компонента" не потребуется.

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

Поле DataSheet содержит ссылку на документацию по компоненту. Если у вас есть документация на КТ626, можете указать ее этом поле. Если нет, просто сотрите существующую ссылку, так как она для BD140, а не КТ626.

Поля "Описание" и "Ключевые слова" можно не заполнять. Но если хотите, можете записать в них то, что посчитаете нужным. Первое поле чисто информационное, второе участвует в поиске.

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

Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-9

Уже гораздо лучше, но транзисторы-синонимы никуда не делись...

Убираем лишние транзисторы

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

Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-10

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

Если вы хотите, можете создать синонимы для всех возможных вариантов транзистора КТ626, с буквы А по букву Д. И они появятся в списке компонентов библиотеки. Я не буду это отдельно описывать.

Корректируем цоколевку

Если вы помните, левый вывод у КТ626 это база, а правый эмиттер. Тогда как у BD140 в точности наоборот, что впрочем является стандартом. Так что нам нужно поменять номера выводов у базы и эмиттера нашего не стандартного КТ626.

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

В KiCad многое делается с помощью горячих клавиш (та самая буква Е в нашем примере). Очень советую выучить список стандартных горячих клавиш или настроить их под себя. Использование горячих клавиш значительно ускоряет и упрощает работу с KiCad.
Теперь мы знаем достаточно, что бы начать создавать свой первый компонент, который можно использовать в схемах и на печатных платах в KiCad.-11

Здесь нам нужно изменить номер вывода с 3 на 1. Остальные параметры изменять не нужно. Точно так же измените свойства вывода эмиттера. Только теперь наоборот нужно поменять 1 на 3.

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

Сохраняем результаты трудов

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

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

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

Заключение

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

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

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

До новых встреч!