Доклад по программе kicad

Обновлено: 13.05.2024

Как я впервые делал печатную плату при помощи KiCad

Так исторически сложилось, что в качестве ПО для построения принципиальных схем и проектирования печатных плат долгое время я использовал EAGLE. Эта программа мне очень нравится низким порогом вхождения, наличием freeware версии, и, конечно же, поддержкой Linux. Столкнувшись в какой-то момент с ограничениями бесплатной версии (принципиальные схемы ограничены двумя листами, можно делать платы размером примерно до 10 x 10 см, число слоев в плате ограничено двумя) я решил купить EAGLE. И тогда я узнал, что компания-разработчик не продает его гражданам России. Вообще. Почему — не знаю. Тогда я впервые серьезно задумался о переходе на бесплатный и открытый KiCad.

А недавно, в силу некоторых нерелевантных причин, мне понадобилась небольшая платка — понижающий регулятор напряжения на 3.3 В, притом обязательно линейный, и питаемый от Mini или Micro USB. Импульсных регуляторов с AliExpress у меня хоть отбавляй, а вот платы с линейным регулятором что-то ни одной не нашлось. Можно было сделать и на макетке, но паять на ней разъем Micro USB не особо приятно. Вот я и решил сделать плату, ну и KiCad осилить заодно.

В Arch Linux лучше ставить KiCad из AUR:

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

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

Принципиальная схема, построенная в KiCad

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

Еще одно отличие от EAGLE заключается в том, что обозначение компонентов на принципиальной схеме и то, как они будут выглядеть на плате (footprints) разделено. Другими словами, когда вы рисуете схему и хотите добавить керамический конденсатор, вы просто добавляете керамический конденсатор. Будет ли это конденсатор для монтажа через отверстия, или SMD-компонент размера 1206, вы решите потом. Футпринт редактируется в свойствах компонента в поле Footprint. Если подумать, это тоже очень логично, и намного удобнее, чем сделано в EAGLE. Например, если я решил изменить футпринт компонента, мне не нужно удалять его на схеме и добавлять заново — я могу просто отредактировать его футпринт. Кроме того, по мере добавления новых компонентов в KiCad количество логических представлений и футпринтов растет линейно, а в EAGLE — квадратично. Другими словами, в KiCad проще найти то, что вы ищите.

Важно! В KiCad можно установить кучу дополнительных футпринтов. Делается это в приложении PCB Library Editor, в меню Preferences → Footprint Library Wizard. Там нужно выбрать импорт библиотек с GitHub и нажать пару раз Next → Next → Next.

Из интересного в Eeschema также есть возможность автоматического поиска ошибок, доступная в меню Tools → Eletrical Rules Checker. Как и другие ERC, которые мне доводилось использовать, этот иногда ругается по делу, а иногда генерирует предупреждения, которые я не понимаю. Поэтому в целом я стараюсь не слишком полагаться на ERC. Однако прогнать его разок прежде, чем перейти к проектированию платы, никогда не повредит.

За проектирование печатных плат в KiCad отвечает программа Pcbnew:

Печатная плата, спроектированная в KiCad

Поскольку это совершенно отдельная от Eeschema программа, для получения так называемого крысиного гнезда (rat’s nest) из принципиальной схемы в KiCad требуется дополнительный шаг. В Eeschema нужно сказать Tools → Generate Netlist File. Затем в Pcbnew сказать Tools → Read Netlist. Или, то же самое можно сделать быстрее, воспользовавшись меню Tools → Update PCB from Schematic в программе Eeschema. Затем раскидываем компоненты, соединяем их дорожками, рисуем заполненные области (filled zones) — в общем, как обычно. Разве что, особое внимание следует уделить Design Rules. Там настраиваются ширина дорожки, размеры отверстий, и другие параметры.

Отдельного упоминания заслуживает 3D Viewer (доступен в Pcbnew в меню View → 3D Viewer):

3D-модель будущей платы, построенная в KiCad

Возможность эта не только красивая, но и весьма полезная на практике. 3D Viewer позволяет убедиться, что все компоненты действительно будут расположены там, где вы думаете, что между ними достаточно свободного места, чтобы все это потом можно было спаять, и так далее.

Ситуация с автороутером в KiCad интересная. Своего автороутера у него нет, но он умеет интегрироваться со сторонним автороутером под названием FreeRoute. Для его использования нужно установить виртуальную машину Java. Затем скачать файл binaries/FreeRouting.jar из этого репозитория и сохранить его под именем /usr/bin/freeroute.jar. После этого автороутером можно будет воспользоваться в Pcbnew в меню Tools → FreeRoute. Автороутер вроде нормальный, работает.

Впрочем, в последнее время я предпочитаю разводить платы самостоятельно, чтобы точно понимать, где какая дорожка и зачем была проведена. Тем более, что при ручной разводке KiCad подсвечивает место, с которым должна быть соединена дорожка, и сам рисует ее с учетом настроенных Design Rules. То есть, для создания дорожки нужно сделать ровно два клика — откуда рисуем, и куда, остальное KiCad сделает автоматически. А при необходимости можно и подсказать, где именно должна проходить дорожка. Получается как бы полуавтоматический роутинг, сочетающий в себе сильные стороны ручного и автоматического подхода.

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

Моя первая плата, сделанная в KiCad

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

Для получения негатива, ровно как и рисунка для ЛУТ, нужно воспользоваться диалогом File → Plot в программе Pcbnew (не перепутайте с File → Print). В качестве формата выбираем PDF. Выбор между негативом и позитивом, а также зеркальное отражение — все настраивается. Если нужно распечатать сразу несколько копий, в главном окне Pcbnew можно выделить нужный фрагмент и скопировать его, нажав правую кнопку мыши и выбрав Create Array. При попытке напечатать получившийся PDF через Evince рисунок почему-то исказился вплоть до исчезновения дорожек. Если печатать при помощи утилиты lpr , то все хорошо. Кстати, файлы Gerber можно сгенерировать в том же диалоге, просто выберите вместо PDF формат Gerber.

Fun fact! KiCad использует текстовый формат файлов. Это не только хорошо работает с Git, но и позволяет быстро производить множество однотипных изменений в проекте. Например, изменить диаметр всех via можно одной консольной командой: sed -i.bak 's/drill 0.2/drill 0.3/g' main.kicad_pcb .

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

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

Исходники к данной статье, как обычно, вы найдете на GitHub.

А пользуетесь ли вы KiCad? Если да, то довольны ли вы им, и чем пользовались до этого? Если нет, то чем пользуетесь сейчас, и планируете ли попробовать KiCad?

Дополнение: В KiCad 5.0 был добавлен SPICE-симулятор, основанный на ngspice. Пример его использования вы найдете в статье Базовые аналоговые фильтры: теория и практика.

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

Kicad - Редактор электрических схем eeschema

Программа KiCad написана на языке С++. В ее состав входят следующие:
1. основные приложения:
• менеджер проектов kicad, позволяющий создавать и настраивать параметры новых работ;
• редактор электрических схем eeschema для рисования и компонирования схем, включающий редактор символов;
• редактор печатных плат pcbnew, формирующий схему электрических цепей и включающий в себя редактор посадочных мест,
2. дополнительные утилиты:
• просмотрщик файлов формата Gerber – gerbview;
• программа для определения посадочных мест в соответствии с компонентами на схеме – cvpcb;
• редактор просмотра отчётов wyoeditor.
Кроме того KiCad включает в себя множество библиотек электронных компонентов для которых есть выполненные в программе Wings3D трехмерные модели.

Редактор eeschema позволяет создавать многолистовые иерархические схемы и проводить их проверку на соответствие электрическим правилам. В нем же создаются перечни элементов в виде таблицы и netlist-список для моделирования схемы в редакторе печатных плат. Дополнительная опция позволяет сохранить netlist в популярном формате Spice и провести симуляцию схемы в стороннем приложении.

Kicad - Редактор печатных плат pcbnew

Pcbnew работает с платами, содержащими 16 медных и 12 технических слоев, внутренние слои металлизации, термальные контактные площадки, слепые, сквозные и внутренние переходные и микро-переходные отверстия, СВЧ-структуру. Существует возможность использовать внешние трассировщики, например FreeRouter и TopoR, присутствует калькулятор печатных плат и опция автоматического и ручного размещения компонентов. В конце работы генерируются технологические файлы на изготовление (для фотоплоттеров и сверлильных станков), а также предлагается послойная распечатка в форматах HPGL, PostScript, DXF, PDF и SVG с рамкой формата или без нее. KiCAD создает списки компонентов для заказа, а также логотип разработчика на плате, может экспортировать чертежи в форматах DXF и PDF.

Размер схемы или платы в KiCad не ограничен, на любом этапе работы можно вернуться назад, внести изменения, а потом легко перенести их дальше. Опция 3D Viewer позволяет на базе OpenGL построить объемное изображение печатной платы. Качество рендеринга, конечно же, ниже, чем у платных аналогов, но вполне достаточно для визуальной оценки. К сожалению, основные форматы трехмерных моделей компонентов, представляемые производителями, *.iges и *.step – программа не поддерживает.
К недостаткам системы проектирования стоит отнести неудобный и не интуитивный интерфейс. Программу сложно освоить без чтения соответствующей документации.

Kicad - 3D Viewer

Автором данного софта является француз Жан-Пьер Шарра, разработавший его в 1992 году. Жан-Пьер работает исследователем в лаборатории изображений и сигналов, а также преподает электронику и обработку изображений в технологическом институте в городе Сен-Мартен-д\'Эр (Гренобль, Франция).

Основное достоинство среды KiCad, помимо полнофункциональности – это свободная лицензия и открытые для изменений коды, форматы данных, библиотек, схем, проектов печатных плат.

К программе регулярно выходят обновления. Для системы Windows предлагается сборка в виде установочного EXE-файла или в виде ZIP-архива. Для инсталляции программы необходимо запустить EXE-файл или разархивировать архив в папку C:\\Program Files\KiCad.

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

KiCad является кросс-платформенным программным средством и работает на операционных системах FreeBSD, Linux, MS Windows, Apple Mac OS X и Solaris.

Распространение программы: бесплатная, открытый исходный код


Одним из критических замечаний к предыдущей статье было следующее: дескать фу таким быть, стрелять из пушки по воробьям да ещё проприетарным софтом за 10000$, к тому же наверняка украденным с торрентов. Оставляя за кадром моральную сторону вопроса, а так же презумпцию невиновности, обратимся к следующему вопросу — а что там у нас имеется в Open Source секторе, пригодное для решения задач проектирования электронной техники. В частности изготовления печатных плат. Наиболее достойной, на мой взгляд, оказалась кроссплатформенная программа KiCAD, распространяемая по лицензии GNU GPL. Имеются версии для Linux, Windows и macOS.

Рассмотрим этот инструмент подробнее применительно к уже решенной мною задаче — трассировке печатной платы для преобразователя уровней на базе MAX232.

Дистрибутив программы и инструкции по установке имеются на её официальном сайте. Так как я предпочитаю использовать Linux, а конкретно Arch Linux, то установка сводится к заклинанию для пакетного менеджера

Первый пакет — сама программа, второй — библиотеке компонентов, третий — 3D-модели компонентов. Собственно и всё. Аналогичный набор пакетов имеется для всех популярных дистрибутивов Linux. Для Windows качаем бинарный инсталлятор здесь. Для macOS все аналогично. В общем, установка элементарна и затруднений не вызывает.

Запустив KiCAD мы увидим главное окно программы. Оно содержит дерево проекта и кнопки вызова программных компонент, предназначенных для различных этапов проектирования устройства.


Идем в меню Файл -> Новый проект -> Новый проект. Нам предложат выбрать место, где будут располагаться файлы проекта, а так же выбрать его имя. Все файлы, относящиеся к проекту лучше расположить в отдельном каталоге. Я располагаю все в каталоге ~/work/kicad/rs232, и проект назову rs232.

После создания проекта в дереве образуются два файла: rs232.pro — файл проекта; rs232.sch — файл принципиальной схемы. Дважды кликаем по файлу схемы и переходим Eeschema — программу для рисования схем


Формат основной надписи чертежа, естественно буржуазный. Но нас пока не интересует следование ГОСТ и ЕСКД. Нам надо оценить возможности пакета для решения конкретной практической задачи, путь даже такой простой. Поэтому приступим к рисованию схемы.

С правой стороны окна расположена панель инструментов. На ней имеется кнопка с изображением операционного усилителя — жмем на неё и переходим в режим размещения компонентов. Кликая мышью в поле схемы мы инициируем появление диалога




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

M — переместить компонент (начать перемещение)
C — создать копию компонента
R — повернуть компонент по часовой стрелке
X — отразить компонент относительно горизонтальной оси
Y — отразить компонент относительно вертикальной оси

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

Имя компоненты в библиотеке Тип компонента Количество
CP Электролитический конденсатор 4
D Диод 1
DB9 Коннектор типа DB-9 1
CONN_01x05 Однорядный штыревой коннектор (5-pin) 1

В конечном итоге на поле схемы у нас получится что-то вроде этого






Ошибок нет, но зато есть 13 предупреждений. Эти предупреждения принципиальны — они указывают на то, что некоторые выводы элементов у нас никуда не подсоединены, а также на то, что мы не подали питание на схему.


После этого проверяем схему ещё раз



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

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


Схема готова и можно приступать к следующему этапу

Этот этап отражает особенность KiCAD — схемное обозначение компонента отвязано от его посадочного места и визуального представления. Прежде чем приступить к разводке платы, каждому компоненту надо привести в соответствие его посадочное место (footprint) — топологическая структура задающая по сути размер и расположение отверстий и/или контактных площадок на плате, предназначенных для монтажа данного компонента. Это делается с помощью входящей в состав пакета программы CvPcb. Для её запуска идем в меню Инструменты -> Assign Component Footprint. Система немного задумается и выдаст окно


В первой колонке расположен список доступных библиотек. Во второй колонке — список компонентов, представленных в нашей схеме. В третьей — список доступных посадочных мест. Скажем нам нужна определится с форм-фактором конденсатора C1. У нас имеются в наличии конденсаторы Ether для монтажа в отверстия с диаметров 5 мм, высотой 11 мм и с расстоянием между выводами 2 мм. Хорошо, выбираем библиотеку Capacitor_ThroughHole (конденсаторы для монтажа в отверстия) в первой колонке, конденсатор C1 во второй колонке и посадочное место C_Radial_D5_L11_P2 в третьей колонке. Двойным щелчком по выбранному посадочному месту связываем его с компонентом. Справа от конденсатора C1 появится выбранное посадочное место, как показано на рисунке выше.

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


Нажав в окне просмотрщика кнопку с изображением микросхемы, мы увидим 3D-модель компонента


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


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

Сохраняем полученный список, закрываем CvPcb и заново генерируем список цепей. Теперь всё готово чтобы приступить к непосредственной разводке платы.

Для этого из меню редактора схем Инструменты -> Layout Printer Circuit Board запускаем программу-трассировщик Pcbnew



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


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


Попыхтев немного получаем что-то подобное



Надо сказать что процесс трассировки интуитивно понятен и довольно скоро мы получаем результат


Теперь всё готово. Сохраняем результат. Можно просмотреть получившуюся плату в режиме 3D (в меню Просмотр -> Просмотрщик 3D)



Результат выглядит довольно симпатично, правда монтаж можно сделать и поплотней.

Чтобы получить, например, шаблон для ЛУТ, идем в меню Файл -> Печать. В появившемся окне



Получая на выходе искомый шаблон


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

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

Когда первый раз установил 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 и глобальных меток ~RSTOUT, VCC, ~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, и изменения отобразятся в угловом штампе чертежа схемы.

Уже довольно продолжительное время как я перешел с Altium на Kicad 5, о чем я уже писал в одной из предыдущих статей, но вот только сейчас дошли руки сесть за написание статьи по трассировщику печатных плат, может быть сравнить его с трассировщиком Altium, хотя Kicad мне уже так полюбился, что я и сравнивать его не особо хочу с другими программами (так он мне понравился©), он другой — да, к нему надо привыкать — безусловно, но есть в нем что-то, что заставляет полюбить работу в нем.


Аналогичным образом можно то же самое сделать из редактора печатных плат:


Открыть редактор посадочных мест Kicad 5

Настройки интерактивного трассировщика в Kicad

На выходе, после всех работ получаем законченную печатную плату:

Законченная печатная плата Kicad

Контроль DRC Kicad

Похожие публикации по теме:

Как запустить Guake из Double Commander по F9

Как запустить Guake из Double Commander?

Панелизация печатных плат в Kicad

Панелизация печатных плат в Kicad

как создать многолистовой проект в Kicad

Иерархические схемы в Kicad

Генерация перечня спецификации по гост Kicad

Генерация перечней элементов в Kicad по ГОСТ

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

Полностью согласен, полезно бывает взглянуть на плату в 3D.

Добрый день. Подскажите, как при выводе файлов фотошаблона паяльной маски указать, что переходные отверстия не надо заливать. А то сначала не досмотрел, а потом поздно было. Маску просветил, а теперь при пайке переходных отверстий приходится сдирать маску… Спасибо.

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

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