О переходе с Altium Designer на Kicad 5

Я достаточно давно пользуюсь Linux и всего ради одной программы я держал на компьютере виртуальную машину с Windows. И это был Altium Designer. Это, бесспорно, самая лучшая в мире, на данный момент, CAD система для проектирования принципиальных схем и печатных плат любой сложности. Но я давно приглядывался к альтернативным программам, которые нативно запускались бы в линукс, пусть даже проприетарным и платным. И было 2 программы, которые мне казались перспективными, Kicad и Eagle. Чуть позже Eagle был куплен разработчиками Autocad и для меня остался один вариант и как раз недавно Kicad обновился до 5й версии и я понял пора, пора мигрировать.
Я уже пару месяцев пользуюсь Kicad и мне есть, что сказать тем, кто сомневается в переходе на open source альтернативу. В общем, постараюсь как смогу коротко и лаконично рассказать о своем переходе на Kicad, кое-где буду сравнивать функционал с Altium, кое-где буду давать советы для желающих повторить мой путь полного отказа от винды, потому как для меня это была первоочередная задача, т.к. повторюсь, сам Altium меня удовлетворял целиком и полностью.

О библиотеках компонентов

Для меня основным критерием удобства использования редактора схем является удобство менеджмента библиотек компонентов, даже не наличие готовых библиотек, потому что я сам отрисовываю необходимые мне компоненты, а именно удобство работы с библиотеками. И те, кто следит за моими работами знают, что я на гитлаб выкладываю все свои наработки для Altium. Мне нравилась организация библиотек в Altium, отдельно УГО, отдельно футпринты и все сводится в .xls файле, но не нравилось, что для этого необходим был еще и установленный Excel.
По началу Kicad мне показался неудобным тем, что вся информация о компонентах хранится в текстовых файлах, но потом я понял насколько это плюс при хранении в git.
Открыв редактор библиотек компонентов и зайдя в настройки, я вот как-то сразу напоролся на странность, в настройках ставлю использовать миллиметры, а все параметры выставляются в милах, пошерстив форумы я понял, что это не лечится и надо просто принять, что шаг 2.5мм будет равен 100 мил или 2.54мм, на глаз не заметно, но тем не менее.

Окно свойств редактора библиотек компонентов Kicad

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

Окно редактора библиотек компонентов Kicad

Из плюсов, в свойствах компонента можно задать не только описание, но и ссылку на документацию, которая вызывается соответствующей кнопкой на панели инструментов редактора. Также можно задать псевдонимы, т.е. имена новых компонентов, по образу и подобию текущего, но с другим названием, иногда может быть удобно, например, когда надо создать много резисторов различных номиналов, но с одним и тем же УГО. Вкладка «Фильтры посадочных мест» это вообще гениальная фича, которая позволяет одному компоненту назначить на выбор несколько футпринтов, если компонент может быть в нескольких корпусах, также здесь поддерживаются регулярные выражения для поиска в библиотеках посадочных мест.

Окно свойств компонента

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

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

Если кратко, он удобен и не перегружен функциями. К каждому посадочному месту можно привязать 3d модель для отображения проектируемой платы в 3d. Все это есть и в Altium, здесь просто нужно привыкнуть, т.к. по началу будет казаться, что неудобно, но это не так, просто вопрос привычки.

Окно свойств посадочного места

Заметил я один минус, а именно невозможность задать у футпринта зоны запрета трассировки, чтобы они были потом и на печатной плате при размещении посадочного места, в Altium для этого специальный слой Keep-out зарезервирован, а здесь нет. Вот пример из Altium, есть модем, у него круглые зоны, это те самые зоны запрета трассировки. Когда я перенесу компонент на печатную плату они будут на ней и правила проектирования будут соблюдены.

В Kicad же предлагают что-то странное. Хотя соответствующий инструмент в редакторе печатных плат имеется, но он начисто отсутствует в редакторе посадочных мест. Это странно, но думаю этот вопрос порешают в новых версиях.

О редакторе схем

Он очень неплох и я могу только один недостаток выделить, нельзя поменять шрифт, ну вот просто нет и все 🙁 В остальном ничто не помешает вам создавать схемы по любым стандартам, хоть ГОСТ, хоть IEC 61082. Есть также редактор форматных рамок, рамки по ГОСТ есть у меня в репозитории.

Пример простой схемы в Kicad

О редакторе печатных плат

По этой теме я сделаю отдельную статью, когда разберусь более досконально. Update: статья уже >>здесь<<

Заключение

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

Попользовавшись около двух месяцев Kicad я уже не хочу возвращаться к Altium совсем. Мне понравилось, хотя я сомневался в удобстве работы, в функционале, но все мои опасения были напрасными, Kicad смог удовлетворить мой спрос. У Kicad просто великолепная документация, которая есть и на русском языке, что начисто отсутствует в Altium, ко всему прочему она актуальна для новой версии и постоянно обновляется. Так что Windows окончательно на помойку.

8 Ответов в “О переходе с Altium Designer на Kicad 5

  1. Когда будет статья про трассировку?

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

  2. Спасибо за библы и обзор, только в последней версии на сегодня 5.1.3 в KICAD 3D кладется в KiCad\share\kicad\modules\packages3d, кстати не есть удобно. Если класть в KiCad\share\kicad\step, то нужно в любом месте в настройках путей прописать KICAD_BASE С:\…\KiCad\share\kicad\, ибо этой переменной теперь нет. Есть еще одна проблема это одинаковые имена Ваших и стоковых кикадовых библиотек. Знаете ли вы способ поместить их в др папку, чтобы имена не конфликтовали, но они обе появлялись в менеджере?

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

  3. Вчера доделал свой первый проект на Кикад. (Так ничего особенного контроллер и всякие L298N, мосфеты и синезуб). Были проблемы с футпринтом Атмел (которые легко решились).
    Автотрассировки нет.

  4. Пара замечаний — в Altium тоже можно в свойствах компонентов добавлять ссылки на даташиты и добавлять несколько посадочных мест к одному УГО (правда, без регулярных выражений).

  5. Дмитрий, спасибо за оптимистичную статью!
    Один вопрос:
    В Altium Designer (AD) соответствие выводов футпринта и выводов компонента задавалось ранее таблицей, которая, как я понимаю, хранилась вместе с компонентом (в schlib). Я видел, как какой-то пользователь AD рассказывал, что можно в этой таблице задавать соответствие одного вывода компонента нескольким выводам футпринта. И, де, есть ещё два способа: указывать номера падов футпринта через запятую, либо через «плюс». В одном случае компилятор проекта будет требовать подключения всех выводов к данной сети при трассировке, в другом — не будет, но в обоих случаях на этих падах футпринта окажется одна и та же сеть. Как выяснилось, в версии, например, 14 AD «плюсы» уже не работают, да и запятые, похоже, работают как-то кривовато. Таким образом, и вся таблица соответствия из полезного инструмента превращается в рудимент, который в дальнейшем будет порождать только ошибки (то, что на схеме выводятся какие-то вымышленные номера выводов вместо тех, что подключены согласно таблице — это было фирменной «фишкой» AD всегда).
    Вы создаёте библиотеки для Kicad, поэтому, скорее всего, знаете ответ на мой вопрос.
    В Kicad такая же чехарда с соответствием логической части компонента и физической? Присутствует ли таблица соответствия выводов компонента (то, что я называю «вымышленными номерами») и падов футпринта (т.е. физической части)? Поощряется ли создание компонентов с меньшим числом выводов, чем у их футпринтов (в AD это «ни-ни, плохой тон»), или Kicad слепо копирует всю логику построения библиотек (созданную для их продаваемости, а не для удобства) с AD?

    1. В Kicad поощряется создание УГО с числом выводов меньшим, чем имеет футпринт, там где это необходимо. Также выводы компонента можно стэкировать, если они должны быть подключены к одной цепи. Более подробно об этом и многом другом можно прочесть в моей статье https://blog.radiotech.kz/proektirovanie/kicad-library-convention-simvoly-ugo/

Комментарии отключены.