Чем открыть kicad pcb

Обновлено: 07.07.2024

В отличие от Eagle, где библиотека одного типа содержит как схематическое представление компонента (schematic symbol), так и различные типы корпусов для него (footprint variations), в среде KiCad файлы .lib содержат только символы принципиальной схемы (schematic symbols), и файлы .mod содержат посадочные места (footprints), или по терминологии KiCAD "модули". Отдельная программа Cvpcb используется для привязки посадочных мест и символов.

Оба типа библиотек (.lib, .mod) являются простыми текстовыми файлами, и могут содержать в себе один и большее количество компонентов. Библиотеки компонентов, поставлямые вместе с KiCad, находятся в папке c:\Program Files\KiCad\share\library\. Библиотеки модулей (корпусов деталей), которые также поставляются вместе с KiCad, находятся в папке c:\Program Files\KiCad\share\modules\.

[Создание в KiCAD символа]

Создание компонента в KiCAD начинается с создания схематического рисунка (символа) для принципиальной схемы. Далее описан процесс по шагам.

1. Из оболочки KiCAD откройте программу Eeschema (Schematic editor).

2. Из Eeschema запустите редактор библиотеки через меню Tools -> Library Editor.

Откроется окно ввода свойств компонента - Component Properties.

KiCAD-new-component-properties

4. В поле Component name: введите имя будущего компонента. Например, для DC-DC преобразователя TRA 3-0511 можете ввести TRA 3-0511 (пробелы во введенном имени будут автоматически заменены на подчеркивания).

Проверьте, правильно ли установлено поле Default reference designator. Это префикс, который используется для нумерации компонентов принципиальной схемы. По умолчанию там стоит U, что подходит для микросхем. Для резистора поставьте R, для конденсатора C, для других элементов поставьте букву в соответствии с общепринятыми правилами [1].

Если у Вас один элемент в корпусе, то оставьте поле Number of parts per package без изменений, равным 1. Остальные опции - сброшенные галочки Create component . . Parts in package locked и установленные галочки Show pin number text, Show pin name text, Pin name inside - для простых случаев можно оставить без изменений. Нажмите OK.

5. В редакторе появятся две текстовые надписи, наложенные друг на друга. Для нашего примера это будут метки U? и TRA_3-0511. Растащите эти метки друг от друга. Это делается нетривиальным способом: поместите курсор на метку, и нажмите на кнопку M. Теперь Вы можете перемещать метку. Если курсор находился сразу на двумя метками, то Вам предложат выбрать - какой объект перемещать (Clarify Selection).

KiCAD-new-component-move-labels

6. Добавьте выводы компонента через меню Place -> Pin. Откроется окно ввода свойств вывода Pin Properties. Заполните поля для вывода, введя имя вывода и его номер. Если нужно обозначить логическую инверсию вывода, введите перед именем вывода символ тильды

. В выпадающем списке Electrical type выберите тип вывода компонента (вход, выход, . ), в Graphic Style выберите стиль отображения вывода. После ввода параметров вывода нажмите OK.

KiCAD-new-component-pin-properties

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

7. File -> Current Library, выберите текущий файл библиотеки, куда будет сохранен новый компонент. Либо сохраните компонент в новую библиотеку, нажав на кнопку Save current component to new library.

8. Для сохранения компонента в библиотеке нажмите Ctrl+S и подтвердите изменения в компоненте и в библиотеке.

KiCAD-new-component-symbol-done

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

[Создание посадочного места (корпуса) компонента]

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

1. В Pcbnew нажмите кнопку Open module editor (на кнопке нарисована микросхема с карандашиком).

2. В редакторе модуля нажмите кнопку New module. Откроется окошко Module Creation с предложением ввести имя модуля (Module Reference). Введите туда название будущего посадочного места. Например, для DC-DC преобразователя TRA 3-0511 можете ввести SIP4.

3. В центре экрана редактора появятся две метки SIP4 и VAL**, наложенные друг на друга. Растащите их в стороны точно так же, как это было сделано в редакторе символа (наведите курсор на метку и нажмите клавишу M).

KiCAD-new-component-package-move-labels

4. Настройте свойства будущих ножек посадочного места, для чего нажмите на панели инструментов кнопку Pad settings (кнопка с зеленым кружком и шестеренкой). Откроется окно редактирования свойств вывода.

KiCAD-new-component-package-pad-settings

Здесь нужно обратить внимание на Shape (форма контактной площадки), на Size (размер контактной площадки, если это круг, то соответствует диаметру), на Drill -> Shape (для обычных отверстий должно быть Circular), на Drill -> Size (здесь задается диаметр отверстия).

5. Разместите все выводы в соответствии с чертежом из даташита компонента. При размещении выводов обращайте внимание на строку статуса, где отображаются координаты (по умолчанию в миллиметрах). Координатную сетку желательно настроить на шаг 1.27 мм, или 50 mil (эта настройка по умолчанию), что упрощает точное размещение выводов модуля. Шаг координатной сетки можно поменять из контекстного меню - щелкните правой кнопкой мыши и выберите Grid Select.

6. Инструментом Add graphic line or polygon нарисуйте контур корпуса компонента.

7. Через меню File -> Current Library выберите текущую библиотеку, куда будет сохранен компонент, или выберите File -> Save Module into a New Library. Сохраните компонент через меню File -> Save Module in Active Library (Ctrl+S).

[Какие файлы требуются для того, чтобы загрузить и редактировать проект]

Для того, чтобы открыть и редактировать схему (файл *.sch), необходимо иметь все *.lib файлы, в которых содержаться используемые в схеме символы, и эти библиотечные файлы должны быть загружены через установки редактора Eeschema. С другой стороны, для того чтобы открыть и редактировать печатную плату (файл *.brd), необязательно иметь в наличии файлы посадочных мест (*.mod), потому что модули (посадочные места, footprints), могут быть сохранены внутри файла *.brd. Вы можете послать кому-нибудь только файл платы *.brd и ничего больше, и этот кто-то будет в состоянии открыть и редактировать Ваш файл платы. Однако, если Вы хотите загрузить компоненты из списка цепей (netlist), то файлы модулей (*.mod) должны присутствовать, и должны быть загружены редактором плат Pcbnew (библиотеки *.mod должны быть настроены в его свойствах) - точно так же как и в случае редактора схем. Кроме того, нужно настроить загрузку *.mod файлов в свойствах Pcbnew, чтобы эти модули были видны в программе Cvpcb (программа для привязки символов к посадочным местам).

Если кто-то пришлет Вам файл платы .brd вместе со встроенными модулями, и Вы захотите использовать эти модули в другом проекте (для разработки другой платы), то Вы можете открыть редактор модулей (module editor), загрузить модуль из текущей платы, и сохранить или экспортировать его в другую библиотеку модулей. Вы также можете экспортировать все модули в файле .brd одной операцией в программе Pcbnew через меню File -> Archive Footprints -> Create footprint archive, эта операция создаст новый файл .mod, который будет содержать все модули (посадочные места) платы.

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

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

Вот ссылки на темы на форуме KiCad, где это обсуждается:

Если вы захотите сами все прочитать в первоисточнике.

Причем проблемы могут возникнуть не только у пользователей KiCad. Вот запись из блога Horizon EDA

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

Внешнее проявление проблемы

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

Раньше все было хорошо и красиво, но потом (в новых версиях) стало так

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

Причина возникновения проблемы

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

При этом существует несколько версий формата этих файлов. А в последних версиях KiCad стал рекомендуемым формат X2. Причем используется и возможность задавать макросы. Вот тут то и выяснилось, что CAM процессор в JLCPCB не может нормально работать с файлами нового формата.

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

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

Если CAM процессор может нормально обработать Gerber файл, то получим примерно такое

То есть, результат именно такой, каким и должен быть. А если CAM процессор столкнулся с затруднениями, то можем получить такое

То есть, те самые искажения. И это касается не только KiCad и JLCPB. Выше я давал ссылку на блог Horizon EDA. Там возникла немного иная, но похожая проблема

И тоже с площадками со скругленными углами.

Временное решение проблемы

Проблема оказалась настолько серьезной для JLCPCB, что на форуме KiCad появилась тема с извинениями от инженера техподдержки JLCPCB. И на сайте JLCPCB изменили статью о процедуре формирования Gerber файлов для KiCad начиная с версии 5.1.5

Если вы пользуетесь версией KiCad 5.1.x, то нужно выключить вот эти опции

Для ночных сборок окно будет выглядеть немного по иному

То есть, надо именно отключить то, что рекомендуется включить. И включить то, что включать не рекомендуется.

JLCPCB, по словам инженера техподдержки, будут рассылать письма всем, кто прислал заказы в формате Gerber X2 (эти заказы сейчас остановлены), с просьбой изменить формат на старый.

Кроме того, JLCPCB ведет работу над поддержкой Gerber X2. И обещают уведомить, когда эта работа закончится.

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

Заключение

На форуме KiCad эту проблему назвали “new EDA vs old CAM problem”. Стандарт Gerber X2 не является новым, но производство очень консервативно. Поэтому пока целесообразно использовать старый, классический формат Gerber. Особенно, любителям при заказе печатных плат у дешевых, ориентированных больше на любителей же, производителей. Если предоставляемые Х2 расширения не являются жизненно необходимыми для вашего проекта.

Вероятно, ситуация скоро изменится. Может измениться и подход к генерации Gerber в KiCad, и их обработка в JLCPCB. Но на текущий момент ситуация именно такова. А с учетом того, что проблема замечена у с другими программами, и другими производителями, сказать что то более определенное, чем

не используйте пока, без острой необходимости, формат Gerber X2 и аппертурные макросы

Ну и нужно отметить, что все описанное в данной статье касается только формата Gerber. Если вы изготавливаете платы самостоятельно, не важно, ЛУТ или фоторезист, или что то еще, то вас все эти проблемы не коснутся.

Когда первый раз установил KiCAD и попробовал открыть уже готовые проекты, то первое впечатление было - WOW! Все красиво, понятно, ничего лишнего. Но когда попробовал сделать в KiCAD свой первый проект, то оказалось что не все так просто, как кажется.

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

[Что плохо в KiCAD?]

Для начала перечислю недостатки, которые заметил в KiCAD, и сравню их с аналогичными возможностями в Eagle и PCAD2004.

1. Недоработанная организация библиотек. В KiCAD она сделана в виде отдельных файлов *.lib (для символов схемы) и *.mod. Это простые текстовые файлы, которые можно открыть текстовым редактором, и в которых можно нормально разобраться. Но на этом достоинства заканчиваются. К сожалению, в KiCAD библиотеки нелогично интегрированы в систему. Например, по-разному работает обновление схемы при смене внешнего вида символа в библиотеке *.lib (схема обновляется сразу при сохранении библиотеки), и совсем по-другому работает посадочного места детали в библиотеке *.mod (чтобы обновить посадочное место на плате, необходимы специальные действия). По-разному сохраняются и используются элементы библиотек *.lib и *.mod. Если *.lib всегда хранятся отдельно от схемы, и в редакторе схемы нужно обязательно настроить необходимые для схемы библиотеки (иначе схема не откроется), то *.mod используется только при создании платы, или при её обновлении, потому что копии посадочных мест деталей хранятся в файле печатной платы как копии посадочных мест в библиотеке *.mod. В системах Eagle и PCAD2004, несмотря на их недостатки, библиотеки организованы логичнее. Другое неудобство - нет отдельного редактора для библиотек, где можно сразу посмотреть и схему детали, и её посадочные места, нет системы поиска по библиотекам. Редактор символов можно запустить только из редактора схем, редактор посадочных мест можно запустить только из редактора платы. Почему бы не сделать возможность запуска редакторов из общей оболочки системы KiCAD? Прямое копирование компонентов из одной библиотеки в другую в системе KiCAD невозможно. В Eagle и PCAD2004 с этим все тоже не шоколадно, но хотя бы есть специальные команды и инструменты для копирования элементов и просмотра библиотек. Все процедуры создания, редактирования библиотек нужно изучать специально.

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

3. Редакторы схемы и платы в KiCAD имеют удобный и понятный интерфейс только тогда, когда Вы научились этим интерфейсом пользоваться. Такая же точно болезнь и с Cadsoft Eagle - не хотят почему-то программисты этих систем сделать интуитивно-понятный, привычный интерфейс графического редактирования. В редакторах неудобно делать повторяющиеся операции. Забудьте про стандартные инструменты копирования и вставки - этого нет, всему придется обучаться заново, с чистого листа. Drag-and-drop не работает как надо - оказывается, чтобы что-то перетащить, нужно это сначала обвести рамочкой, или навести курсор и нажать на клавишу M. Метки не привязываются к проводам, если кликать и тащить, то провод отрывается от детали. В PCAD2004 устроено все намного лучше.

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

5. Нелогично сделана визуализация слоев и элементов печатной платы в редакторе. Зачем надо было делать отдельное разрешение/запрещение слоев, и отдельные опции визуализации Render? Это очень запутывает регулирование внешнего вида чертежа и усложняет редактирование платы.

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

7. По сравнению с Eagle не очень удобно работать с шелкографией. В KiCAD шелкография комплектуется из графики, которая нарисована в библиотечном модуле компонента (из линий, обозначающих границы корпуса, атрибутов аннотации RefDes и значений Value), а также из графики, которую нарисовал пользователь в слоях F.SilkS и B.SilkS. Неудобство заключается в том, что нет возможности экспортировать шелкографию в один слой, и потом её редактировать, нужно отдельно возвращаться к редактированию модуля детали и к редактированию слоев F.SilkS и B.SilkS. И еще помнить о том, что нужно правильно установить галочки в меню File -> Plot (когда получаете Gerber).

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

[KiCAD FAQ]

Q001. Как найти нужный элемент схемы (символы), и нужное посадочное место для детали (корпуса)?
A001. Библиотечные символы компонентов (symbol) для принципиальных схем собраны в файлы библиотек *.lib, а библиотечные символы корпусов (package) - в файлы библиотек *.mod. Посадочные места (корпуса) элементов в KiCAD почему-то называются модулями (module). Несмотря на то, что в KiCAD нет единого библиотекаря с просмотром всех символов и их корпусов, и нет поиска по библиотекам, можно искать нужные компоненты благодаря тому, что файлы библиотек *.lib и *.mod - это простые текстовые файлы. Так что любой компонент можно найти по имени, если организовать поиск файлов по содержимому в каталоге библиотек. Библиотеки символов (файлы *.lib) находятся в папке KiCad\share\library, а библиотеки модулей (файлы *.mod) в папке KiCad\share\modules.

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

Q003. Как копировать элементы чертежа? Где команды Copy/Paste? Как перетащить элементы чертежа?
A003. Привычные команды копирования и вставки отсутствуют. Чтобы скопировать что-то, нужно навести на это курсор и нажать клавишу C (проследите, чтобы у Вас случайно не был включен русский язык!). Другой способ - нажать Shift и перетащить то, что нужно скопировать. Можно также сначала выделить блоком копируемые элементы, передвинуть их, а потом из контекстного меню выбрать Copy Block. Можно скопировать блок, если нажать Shift, обвести рамочкой копируемую область (блок), и затем перетащить блок в другое место - перетащится копия.

Переместить элемент чертежа можно, если навести на него курсор и нажать клавишу M. Также можно перетащить блок, если его выделить курсором мыши (обвести область блока рамкой).

Q004. Как сделать новую библиотеку KiCAD?
A004. В редакторах библиотек есть кнопки на тулбаре для того, чтобы создать новую библиотеку. Другого штатного способа создать новую библиотеку нет.

Q005. Как управлять областью видимости (слоями) на чертеже печатной платы?
A005.

Q006. Как вручную разводить схему? Почему не могу вручную проложить дорожку? Только что проложенная трасса сразу исчезает. Нельзя почему-то провести дорожку, которая не заканчивается на выводе компонента.
A006. Правила разводки следующие: чтобы начать прокладывать трассу, кликните на выводе детали, или на уже проложенной дорожке. Далее ведите трассу, кликая на каждом конце сегмента. Направление трассы можно менять клавишей /, слой можно поменять клавишей V (при этом ставится переходное отверстие). Толщина прокладываемой дорожки и зазоры зависят от Design Rules, и может назначены на класс цепей. Заканчивается трасса двойным щелчком мыши.

Delete unconnected tracks - если эта галочка снята, то Вы можете проложить сегменты дорожек, ни к чему не подключенные. Например, Вы можете теперь для ножек питания микросхем с мелким шагом провести короткие тонкие сегменты, которые не укладываются в требования DRC.

Q008. Где в KiCAD операция Force update? Как обновить посадочные места на печатной плате (module, footprint, package), если я поменял их в библиотеке? К примеру, я просто назначил посадочное место резистора 0.25 Вт резистору 0.5 Вт, потому что у меня не было посадочного места на 0.5 Вт. Зятем я загрузил список цепей в Pcbnew и перешел к редактированию модуля резистора 0.25 Вт (редактор Module Editor, где редактируются посадочные места деталей, footprint). Есть ли возможность заменить только то отдельное посадочное место, которое я отредактировал в библиотеке модулей? У меня не получается обновить все те же самые модули в библиотеке.
A008: Решение проблемы: в редакторе модулей (module editor) Вам нужно сохранить измененное посадочное место в существующую или новую библиотеку, дав посадочному месту (модулю) НОВОЕ (!) имя. Вот следующие шаги, которые могут показаться неочевидными:
1. Запустите Module Editor (это можно сделать в редакторе печатной платы Pcbnew). Отредактируйте модуль (внешний вид корпуса компонента(, сохраните его в библиотеку .mod под новым (обязательно новым!) именем.
2. Установите рабочую библиотеку (меню File -> Current Library), или создайте новую библиотеку (кнопка Create new library).
3. Создайте или отредактируйте модуль. Сохраните измененный модуль под новым (это важно!) именем в библиотеку.
4. Если была создана новая библиотека, то добавьте её в проект.
5. И наконец, теперь Вы можете обновить все компоненты, которые используют новый footprint (посадочное место) в программе CVpcb (да, это ручная работа, но она не будет сложной, если все символы и модули поименованы должным образом). Откройте CvPcb, укажите новый модуль (с новым именем) для нужного компонента. Сохраните в CvPcb файл .cmp.
6. Перезагрузите netlist в программе pcbnew, при этом убедитесь, что выбрана опция "Change" в разделе Exchange Module. В Pcbnew войдите в Tools -> Netlist, поставьте Module Name Source: From separate .cmp file, Exchange Module: Change и нажмите кнопку Read Current Netlist. Все компоненты, у которых Вы указали в CVpcb новое посадочное место, поменяют на плате свои модули (на плате появится компонент с новым посадочным местом).

Модуль на плате можно также поменять вручную, если выбрать из контекстного меню компонента Edit Parameters. Откроется окно Module Properties, где на закладке Properties увидите кнопку Change Module(s).

Есть еще более грубый способ, если в Module Editor Вы не меняли имя модуля. Способ подойдет, если таких модулей на плате немного. Удалите с платы старый модуль, и заново загрузите netlist в программе Pcbnew. Новый модуль появится в правом нижнем углу платы, установите его вручную в нужное место.

Q010: Как отредактировать чертеж печатной платы? Как удалить ненужные дорожки?
A010: Чтобы удалить проложенные токопроводящие дорожки, сначала убедитесь, что у Вас включен инструмент Add tracks and vias, затем поместите курсор на удаляемую дорожку, и нажмите клавишу "backspace" для удаления одного сегмента или "delete" для удаления всего трека между двумя контактными площадками. Можно просто перерисовать дорожку, не удаляя старую, и тогда KiCAD удалит старую прокладку трассы автоматически, а новая останется.

Q011: Как работает FreeRoute? Как его лучше всего использовать?
A011:

Q012: Какие параметры должны быть у полигонов (заливка меди, Copper Zone Properties)?
A012: Настройка свойств заливки меди (Copper Zone Properties):
Clearance 0.2 мм зазор между заливкой медью и проводящим рисунком других цепей.
Priority level 0 имеет значение, когда одна зона меди расположена поверх другой.
Pad connection Thermal relief тип термобарьера при подключении заливки к контактной площадке.
Minimum width 0.2 мм минимальная ширина линий.
Antipad clearance 0.2 мм ширина кольца термобарьера.
Spoke width 0.3 мм ширина спиц термобарьера.

Q013: Как сделать новый символ (symbol, схемотехническое изображение радиоэлемента) в KiCAD? Как сделать посадочное место для детали (package, корпус, модуль)?
A013: Новые символы делаются в редакторе символов, который можно запустить только из редактора принципиальной схемы Eeschema, и никак иначе. Новые символы делаются в редакторе модулей, который можно запустить только из редактора печатной платы Pcbnew (и кто придумал эти странные названия. ). Подробно процесс описан в [2].

Более подробно см. [3].

Q015: Для чего нужны локальные (local label) и глобальные метки (global label), чем они отличаются?
A015: Метки (и локальные, и глобальные) нужны для удобства инженера, разрабатывающего схему и плату. Они позволяют легко ориентироваться в схеме (и в соответствующей печатной плате), позволяют присваивать электрическим цепям понятные, легко запоминающиеся имена. Имена цепей, которые назначены метками, видны и в редакторе схем (Eeschema), и в редакторе печатной платы в виде надписей на дорожках и выводах деталей (Pcbnew). Теперь от отличиях локальных и глобальных меток.

Локальные метки - наносятся на схему инструментом Place a net name (local label), метка на схеме имеет вид простой надписи возле проводника.

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

Глобальные метки - наносятся на схему инструментом Place a global label, метка на схеме имеет вид прямоугольника, внутри которого нанесена надпись. Торцы прямоугольника могут быть заостренные, чем можно показать направление тока или передачи данных.

KiCAD-global-label

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

На скриншоте показаны примеры нанесенных на схеме локальных меток USBDP, USBDM, 3V3 и глобальных меток

RSTIN, SI/WUA, AC3, AC2. Верхнее подчеркивание над текстом, обозначающее инверсию, устанавливается тильдой в начале текста метки.

KiCAD-labels

Q016: Что такое класс цепи, для чего они нужны?
A016: Классы создаются только в редакторе печатной платы Pcbnew, и используются в процессе трассировки печатной платы (вручную или под управлением трассировщика). Этим KiCAD ничем не отличается от других систем проектирования печатных плат. В классе цепей можно назначить разные технологически допуски - минимально допустимую ширину дорожки, минимально допустимый зазор, минимальный диаметр переходных отверстий и т. п. Цепи привязываются к классам по имени цепи, т. е. в класс может входить несколько цепей, причем одна цепь может принадлежать одному и только одному классу.

Q017: Я поменял символ в библиотеке компонентов (.lib), нужно ли мне как-то специально обновлять схему?
A017: Схему обновлять не нужно, она обновится автоматически сразу после того, как Вы сохранили библиотеку (в отличие от редактора печатной платы Pcbnew, где модули нужно обновлять специальной операцией!). Но если Вы переставляли выводы элемента, то придется в редакторе Eeschema отредактировать схему.

Q018: Какие файлы требуются для того, чтобы загрузить и редактировать проект?
A018: Для того, чтобы открыть и редактировать схему (файл *.sch), необходимо иметь все *.lib файлы, в которых содержаться используемые в схеме символы, и эти библиотечные файлы должны быть загружены через установки редактора Eeschema. С другой стороны, для того чтобы открыть и редактировать печатную плату (файл *.brd), необязательно иметь в наличии файлы посадочных мест (*.mod), потому что модули (посадочные места, footprints), могут быть сохранены внутри файла *.brd. Вы можете послать кому-нибудь только файл платы *.brd и ничего больше, и этот кто-то будет в состоянии открыть и редактировать Ваш файл платы. Однако, если Вы хотите загрузить компоненты из списка цепей (netlist), то файлы модулей (*.mod) должны присутствовать, и должны быть загружены редактором плат Pcbnew (библиотеки *.mod должны быть настроены в его свойствах) - точно так же как и в случае редактора схем. Кроме того, нужно настроить загрузку *.mod файлов в свойствах Pcbnew, чтобы эти модули были видны в программе Cvpcb (программа для привязки символов к посадочным местам).

Если кто-то пришлет Вам файл платы .brd вместе со встроенными модулями, и Вы захотите использовать эти модули в другом проекте (для разработки другой платы), то Вы можете открыть редактор модулей (module editor), загрузить модуль из текущей платы, и сохранить или экспортировать его в другую библиотеку модулей. Вы также можете экспортировать все модули в файле .brd одной операцией в программе Pcbnew через меню File -> Archive Footprints -> Create footprint archive, эта операция создаст новый файл .mod, который будет содержать все модули (посадочные места) платы.

Q019. Как отредактировать Title, Rev и другие параметры, отображаемые в правом нижнем углу листа принципиальной схемы?
A019. Параметры Revision, Title, Company и другие отображаемые текстовые значения в угловом штампе настраиваются в диалоге Page Settings. Чтобы попасть в этот диалог, нажмите кнопку Page Settings на верхней панели инструментов редактора схем Eeschema (Schematic Editor). Это четвертая слева кнопка. Отобразится окно диалога Page Settings, где Вы можете просмотреть и изменить введенные параметры. Установите галочки Export to other sheets, если хотите, чтобы введенные здесь значения попали и на другие листы схем Вашего проекта.

KiCAD-Eeschema-Page-Settings

После после внесения изменений нажмите OK, и изменения отобразятся в угловом штампе чертежа схемы.

В этой статье рассматриваются основные вопросы проектирования печатной платы (PCB) в KiCAD.

В KiCAD, как и во всех системах сквозного ("сквозного" означает, что в одной среде проектируется и схема, и печатная плата) проектирования печатных плат, процесс разработки платы включает в себя следующие основные шаги:

1. Подбор и/или создание элементов схемы (символов).
2. Подбор и/или создание посадочных мест деталей (модулей).
3. Рисование схемы, экспорт списка цепей.
4. Привязка символов и модулей друг к другу.
5. Рисование контура платы, загрузка списка цепей и привязки символов и модулей.
6. Ручная или автоматическая, или полуавтоматическая трассировка платы.
7. Получение Gerber-файлов для фотоплоттера и файлов для сверлильного станка.

[1. Подбор и/или создание элементов принципиальной схемы]

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

В среде KiCad компонентом является блок текста (в файле с расширением *.lib), начинающийся с DEF и заканчивающийся на ENDDEF. Один или большее количество компонентов обычно помещаются в файл библиотеки (простой текстовый файл с расширением lib). Для того, чтобы копировать компоненты из одной библиотеки в другую, Вы можете использовать обычный текстовый редактор, и команды Copy/Cut и Paste. Библиотеки схемотехнических отображений компонентов, который поставляются вместе с KiCad, находятся в папке c:\Program Files\KiCad\share\library\.

Как создавать новый компонент схемы средствами KiCad, можно подробно прочитать по ссылке [5]. Однако помните, что готовые компоненты для KiCad можно попробовать найти в Интернете [6, 7].

[2. Подбор и/или создание посадочных мест деталей]

В KiCad посадочные места для компонентов (package) называются почему-то модулями (module). Модули объединены в библиотечные файлы с расширением *.mod. Точно так же как и файлы *.lib, это обычные текстовые файлы, которые можно легко просмотреть текстовым редактором. Библиотеки модулей (корпусов деталей), который поставляются вместе с KiCad, находятся в папке c:\Program Files\KiCad\share\modules\. Как создавать новое посадочное место детали средствами KiCad, можно подробно прочитать по ссылке [5].

[3. Рисование схемы, экспорт списка цепей]

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

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

Копирование, перемещение объектов. В KiCAD команды Copy/Paste отсутствуют как класс. Drag-and-drop не работает, как общепринято - оказывается, чтобы что-то перетащить, нужно это сначала обвести рамочкой, или навести курсор и нажать на клавишу M. Таким способом можно переместить как отдельные объекты, так и группу объектов. Копирование можно произвести, если предварительно нажать на клавишу Shift, обвести левой кнопкой мыши рамку вокруг копируемых объектов, и переместить обведенную область на новое место - при этом на новом месте образуется копия. Один объект можно скопировать, если нажать на клавишу Shift, кликнуть на объекте и перетащить его - перетащите копию объекта. При перемещении компонентов схемы уже проложенные проводники отрываются от деталей, и их приходится перекладывать заново.

Перенумерование компонентов на схеме. Когда схема будет готова, нужно присвоить каждому элементу схемы уникальную метку (R1, R2, C1 и т. д.). Чтобы пронумеровать схему (расставить RefDes), нужно выбрать в меню Tools -> Annotate.

[4. Привязка символов и модулей друг к другу]

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

На входе программы CvPcb имеется список цепей (netlist) и библиотеки корпусов (модулей, файлы с расширением *.mod). На выходе CvPcb генерирует список соответствия символов и модулей (файл с расширением *.cmp) - т. е. каким символам какой корпус детали поставлен в соответствие. Проверьте правильную настройку библиотек (Preferences -> Library), и каждому символу в списке деталей схемы присвойте соответствующий модуль.

KiCAD-CvPcb-done

Сохраните файл привязки *.cmp.

[5. Создание чертежа печатной платы]

Чертеж печатной платы создается в программе Pcbnew. Предполагается, что схема уже нарисована, и библиотека (или библиотеки) посадочных мест (модулей) подготовлены. Запустите Pcbnew (PCB editor), поменяйте размер листа на нужный (меню File -> Page settings). Проверьте настройку библиотек модулей (меню Preferences -> Library).

Создание чертежа платы начинается с рисования контура на слое Edge.Cuts. Выберите слой Edge.Cuts и нарисуйте контур будущей печатной платы. Для того, чтобы ориентироваться в размерах, сделайте привязку относительных координат сетки к левому верхнему углу контура печатной платы. Эти координаты отражаются в строке статуса в виде параметров dx, dy, d.

KiCAD-Pcbnew-coordinate-status

Привязку относительных координат можно поменять в любой момент, для этого переместите курсор в нужную точку и нажмите пробел - параметры dx, dy, d сразу обнулятся, и по их значению теперь можно отсчитывать абсолютные размеры. Абсолютные координаты положения курсора Z, X, Y (они также отображаются в строке статуса) поменять нельзя, они всегда привязаны к верхнему левому углу чертежа.

KiCAD-Pcbnew-load-netlist

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

После успешной загрузки списка цепей детали платы окажутся наваленными в кучу в правом нижнем углу платы. Можно растащить детали вручную, как обычно (кнопка M - Move), но лучше это сделать автоматически. На панели инструментов вверху есть кнопка Mode footprint: manual and automatic move and place modules. Активируйте её, как показано на скриншоте:

KiCAD-Pcbnew-activate-autoplace-mode

После этого в контекстном меню редактора (это меню вызывается правой кнопкой мыши) появится пункт Glob Move and Place. Выберите в этом меню Glob Move and Place -> Autoplace all modules, и на предупреждение "Footprints NOT LOCKED will be moved Yes/No" ("Все незафиксированные посадочные места будут перемещены Да/Нет") ответьте положительно (Yes). Начнется процесс авторастаскивания компонентов по плате, который занимает несколько минут.

Обычно процесс авторазмещения запускают только после того, как на плате вручную перемещены и зафиксированы в нужных местах компоненты, которые должны быть в заранее известных местах. Обычно это коннекторы, которые размещены по краям платы. Фиксируются детали на плате тоже неочевидным образом - нужно навести курсор на фиксируемую деталь и нажать клавишу L (от сокращения Lock - зафиксировать). В результате авторазмещение получится нечто подобное, как показано на скриншоте.

KiCAD-Pcbnew-autoplace-done

[6. Трассировка токопроводящего рисунка платы]

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

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

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

Ручная трассировка. Правила разводки следующие: чтобы начать прокладывать трассу, кликните на выводе детали, или на уже проложенной дорожке. Далее ведите трассу, кликая на каждом конце сегмента. Направление трассы можно менять клавишей /, слой можно поменять клавишей V (при этом ставится переходное отверстие). Толщина прокладываемой дорожки и зазоры зависят от Design Rules, и может назначены на класс цепей. Заканчивается трасса двойным щелчком мыши.

Enforce design rules when routing - если эта галочка снята, то Вы можете прокладывать дорожки как угодно, не взирая на установки DRC и существующие цепи.

Delete unconnected tracks - если эта галочка снята, то Вы можете проложить сегменты дорожек, ни к чему не подключенные. Например, Вы можете теперь для ножек питания микросхем с мелким шагом провести короткие тонкие сегменты, которые не укладываются в требования DRC.

Авторассировка. В систему KiCAD из коробки встроена поддержка бесплатного автороутера FreeROUTE. Трассировщик FreeRoute [1] в настоящее время находится в активной разработке. Однако уже есть стабильный релиз, который сейчас показывает отличные результаты при разводке с шагом угла 45 градусов. Скорость трассировки все еще оставляет желать лучшего, однако качество трассировки очень хорошее, если сравнивать с результатами имеющихся на рынке автотрассировщиков.

Версия трассировщика FreeRoute, основанная на Веб (web-based version), является бесплатной. Обмен данными между программным обеспечением разработки печатных плат (PCB design) происходит через стандартный интерфейс Specctra DSN. Этот интерфейс есть в Cadsoft-Eagle, KiCAD и многих других средах проектирования печатных плат. Трассировщик можно использовать с такими программами, как FreePCB, Kicad, gEDA, CadSoft-Eagle всеми системами разработки PCB, в составе которых есть интерфейс взаимодействия с автотрассировщиками Specctra или Electra.

Трассировщик FreeRoute можно запустить прямо в браузере по ссылке со странички [1], если у Вас установлен пакет Java 6. Трассировщик FreeRoute довольно прост в настройке и использовании. Вот общие указания по использованию автотрассировщика FreeRoute:

1. Трассировщик FreeRoute не перекладывает проводящий рисунок, который уже имеется на плате в момент запуска трассировки. Этим можно воспользоваться, если предварительно вручную оттрассировать важные цепи, которые должны быть определенным образом проложены. После того, как дизайн платы будет готов к автоматической трассировке, создайте файл *.dsn в интерфейсе Specctra - такая возможность есть во многих программах проектирования плат. К примеру, в KiCAD эта возможность вызывается в программе Pcbnew через меню File -> Export -> Specctra DSN.

3. Запустите процесс трассировки - нажмите кнопку Autorouter, и начнется неспешный процесс автотрассировки платы. Процесс трассировки состоит из двух основных стадий - сначала трассы прокладываются так, чтобы все соединения были разведены (routing). Стадия разводки не закончится, пока не останется неразведенных цепей. После этого запускается стадия оптимизации разводки (Bath Optimizer) - все трассы оптимизируются на предмет уменьшения длины и количества переходных отверстий. Вторая стадия оптимизации продолжается довольно долго. Прервать оптимизацию в любой момент можно, если кликнуть левой кнопкой мыши в окно Board Layout.

4. После завершения трассировки сохраните разводку в виде сессии Specctra (файл *.ses) через меню "Export Specctra Session File" окна Board Layout.

5. Импортируйте сгенерированную сессию через интерфейс Specctra на Вашей системе разработки плат. В программе KiCAD Pcbnew это делается через меню File -> Import -> Specctra session.

Особенности трассировки с помощью FreeRoute. Дорожки, которые уже были разведены перед запуском FreeRoute, никак не будут затронуты трассировщиком. Поэтому эту возможность следует использовать для предварительной трассировки заранее известных и критичных цепей. Перед началом трассировки обязательно удалите все заливки медью (добавленные инструментом Add filled zones), иначе после окончания разводки можете получить неподключенные выводы, которые относились к цепи заливки. Если трассировка застопорилась на первом этапе, то лучше остановить трассировку, передвинуть некоторые компоненты, которые мешают разводке, и/или предварительно развести некоторые цепи вручную. Когда первый этап трассировки прошел, и началась вторая стадия Bath Optimizer, то её можно не останавливать, и дождаться полного завершения оптимизации.

Проверка платы - тест DRC. После полного завершения трассировки, перед генерацией файлов Gerber нужно проверить дизайн платы на ошибки и соответствие допускам толщины дорожек и зазоров. Для этого служит инструмент DRC. Запускается он из меню Tools -> DRC или кнопкой на панели инструментов.

KiCAD-Pcbnew-DRC-start

Откроется окно DRC Control, где можно настроить допуски на минимальную ширину дорожки и минимальные размеры переходных отверстий. Можно ничего не менять, оставить как есть, и просто нажать на кнопку Start DRC.

KiCAD-Pcbnew-DRC-options

Если у Вас были наложены зоны заливки медью (filled zones), то после теста DRC они перезаливаются заново, даже если Вы отменили заливку на зоне.

[7. Как получить файлы Gerber]

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

1. Установите зазор между контактными площадками для пайки и границей маски через меню Dimensions -> Pads Mask Clearance.

KiCAD-Pcbnew-Pads-Mask-Clearance

По умолчанию там указан зазор Solder mask clearance: 0.2 мм. Для простых плат этот зазор подойдет, но если к примеру у Вас есть микросхемы с шагом выводов 0.5 мм, то зазор лучше установить поменьше, порядка 0.05 мм.

2. Запустите диалог вывода файлов для фотоплоттера (Gerber) через меню File -> Plot.

Проверьте, что Plot Format задан Gerber, задайте папку для файлов Output directory относительно текущего рабочего каталога (в нашем примере gerbers/), поставьте галочки против нужных слоев:

F.Cu медь на верхней стороне платы (Forward, в других редакторах это слой Top).
B.Cu медь на нижней стороне платы (Bottom).
F.SilkS шелкография на верхней стороне платы (обычно надписи белой краской).
B.SilkS шелкография на нижней стороне платы.
F.Mask маска для пайки на верхней стороне платы (покрытие, открывающее только места пайки, обычно зеленое).
B.Mask маска для пайки на нижней стороне платы.
Edge.Cuts контур печатной платы.

Установите ширину линии по умолчанию 0.01 мм (Default line width mm), галочки поставьте как на скриншоте.

KiCAD-Pcbnew-Plot

MyProject-B_Cu.gbl медь на нижней стороне платы
MyProject-B_Mask.gbs маска для пайки на нижней стороне платы
MyProject-B_SilkS.gbo шелкография на нижней стороне платы
MyProject-Edge_Cuts.gbr контур печатной платы
MyProject-F_Cu.gtl медь на верхней стороне платы
MyProject-F_Mask.gts маска для пайки на верхней стороне платы
MyProject-F_SilkS.gto шелкография на верхней стороне платы

3. Осталось получить файлы для сверлильного станка. Для этого нажмите кнопку Generate Drill File, и появится окно настройки генерации файлов для сверления. Тут точно так же установите выходную папку для файлов Output directory относительно текущего рабочего каталога (gerbers/), и проверьте правильность установки всех опций.

KiCAD-Pcbnew-Plot-Generate-Drill-Files

MyProject-NPTH.drl отверстия NPTH (Non-Plated Through-Hole), если таковые есть
MyProject.drl обычные отверстия

Для просмотра (проверки) выходных Gerber-файлов используйте программу ViewMate [3]. Она бесплатна для простого просмотра формата Gerber. Есть и другие инструменты - CAM350, GerbTool, Genesis 2000 (платные программы, для которых существуют демо-версии).

Читайте также: