С Новым Годом, радиолюбители!
К нам сегодня пришел слегка пьяный Дед Мороз и достал из своего волшебного мешка библиотеки ГОСТовских компонентов для Kicad.
В Лапландии эльфы сели в трудовую вахту и для всех радиолюбителей, что чертят свои платы под Linux, нарисовали обширную библиотеку УГО различных компонентов в полном соответствии с ГОСТ.
Amplifiers.lib — Усилители аудио (в основном советского образца)
Audio.lib — Устройства воспроизведения (динамики, микрофоны, пьезоизлучатели)
Capacitors.lib — Конденсаторы постоянные, переменные, оксидные, подстроечные и прочие
Chips.lib — Разные микросхемы и интегральные стабилизаторы напряжения
Connectors.lib — Коннекторы, джамперы, перемычки
Counters.lib — Счетчики цифровые (серии 155, 561, 176 для тех у кого много такого барахла на антресолях)
Decoders.lib — Дешифраторы тех же серий. Опять же для любителей винтажных советских микросхем
Diodes.lib — Диоды всякие: свето-; фото-; Шотки; Зенера; варикапы и туннельные диоды и т.п.
Displays.lib — Семисегментные индикаторы
Fuses.lib — Дофига предохранителей различных и красивых
Inductors.lib — Катушки индуктивности и трансформаторы
LightSources.lib — Лампы накаливания, люминисцентные, дуговые а также неонки
Logic.lib — Логические микросхемы. Теплая советская ТТЛ логика.
Misc.lib — Все что не смогли глупые эльфы сунуть себе по карманам
OpAmps.lib — Операционные усилители. Все популярные советские серии от самых упоротых до 12 Mгц диапазона
Optopairs.lib — Оптопары: фотодиодные, фототранзисторные, фоторезисторные, фототиристорные и даже работающие по фотороботу подозреваемого
Power.lib — Источники питания (батареи, термопары, солнечные батареи)
Registers.lib — Различные сдвигающие регистры
Resistors.lib — Всякие линейные и нелинейные резисторы; переменные и постоянные; подстроечные и терморезисторы
Switches.lib — Переключали, герконы и реле
Thyristors.lib — Тиристоры
Transistors.lib — Транзисторы: биполярные, полевые, MOSFET и с управляющим PN переходом. А также однопереходные транзисторы
Triggers.lib — RS, JK и D триггеры все тех же винтажных 155, 561, 176 серий
Забрать свои подарки можно тут https://sourceforge….jects/kicadcgi/
С вас стишок и стопарик дедушке для сугреву.
www.chipmaker.ru
Для трассировки печатных плат я использую довольно известную программу KiCad. О всех его преимуществах сейчас я писать не буду, напишу об одном его недостатке: для некоторых востребованных элементов у KiCad-а нет условных обозначений, также KiCad не знает некоторые типы корпусов. Ситуацию осложняет отсутствие нормального поиска по всем загруженным библиотекам одновременно.
Вероятно, для Ubuntu есть PPA с этими компонентами.
Далее — всё как обычно.
some-projects.blogspot.com
Так исторически сложилось, что в качестве ПО для построения принципиальных схем и проектирования печатных плат долгое время я использовал EAGLE. Эта программа мне очень нравится низким порогом вхождения, наличием freeware версии, и, конечно же, поддержкой Linux. Столкнувшись в какой-то момент с ограничениями бесплатной версии (принципиальные схемы ограничены двумя листами, можно делать платы размером примерно до 10
А недавно, в силу некоторых нерелевантных причин, мне понадобилась небольшая платка — понижающий регулятор напряжения на 3.3 В, притом обязательно линейный, и питаемый от Mini или Micro USB. Импульсных регуляторов с AliExpress у меня хоть отбавляй, а вот платы с линейным регулятором что-то ни одной не нашлось. Можно было сделать и на макетке, но паять на ней разъем Micro USB не особо приятно. Вот я и решил сделать плату, ну и KiCad осилить заодно.
В Arch Linux лучше ставить KiCad из AUR:
yaourt -S kicad-git kicad-library-git
Так вы получите самую свежую его версию и, что намного важнее, самую полную библиотеку компонентов. Впрочем, сборка KiCad из исходников занимает ощутимое время. Если вы торопитесь, на первое время сойдет и версия из бинарных пакетов:
sudo pacman -S kicad kicad-library kicad-library-3d
KiCad включает в себя нескольких отдельных программ для разных задач. Программы эти запускаются из основного окна KiCad. Для создания принципиальных схем предназначена программа под названием Eeschema. Ее интерфейс, как и интерфейс остальных входящих в KiCad программ, интуитивно понятен, поэтому я не буду его подробно описывать. Потратив пару минут, я без особого труда состряпал вот такую схему:
Eeschema приятно удивила меня наличием хоткеев абсолютно на все, притом хоткеи эти легко запоминаются в процессе использования. Программой можно пользоваться, вообще не дотрагиваясь до мыши, что я решительно одобряю. Благодаря всему этому скорость работы существенно возрастает.
В отличие от EAGLE, KiCad не присваивает имена компонентам сразу. То есть, вместо «C1» и «C2» сначала вы получите два «C?». Чтобы присвоить имена всем компонентам на схеме, следует воспользоваться диалогом Tools → Annotate Schematic. Если подумать, то это логично. В процессе работы над схемой вы можете создавать и удалять компоненты. Если присваивать им имена сразу, в нумерации могут образоваться дырки. И потом поди разберись, почему на шелкографии я вижу R10, R11 и R13, а вот R12 что-то нигде не могу найти.
Еще одно отличие от 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:
Стоит отметить, что поскольку это совершенно отдельная от 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 Viewer позволяет убедиться, что все компоненты действительно будут расположены там, где вы думаете, что между ними достаточно свободного места, чтобы все это потом можно было спаять, и так далее. Также он позволяет оценить эстетическую привлекательность будущей платы в проектах, где это важно.
Ситуация с автороутером в KiCad интересная. Своего автороутера у него нет, но он умеет интегрироваться со сторонним автороутером под названием FreeRoute. Для его использования нужно установить виртуальную машину Java. Затем скачать файл binaries/FreeRouting.jar из этого репозитория и сохранить его под именем /usr/bin/freeroute.jar. После этого автороутером можно будет воспользоваться в Pcbnew в меню Tools → FreeRoute. Автороутер вроде нормальный, работает.
Впрочем, я лично в последнее время предпочитаю разводить платы самостоятельно, чтобы точно понимать, где какая дорожка и зачем была проведена. Тем более, что при ручной разводке KiCad подсвечивает место, с которым должна быть соединена дорожка, и сам рисует ее с учетом настроенных Design Rules. То есть, для создания дорожки нужно сделать ровно два клика — откуда рисуем, и куда, остальное же 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. Пример его использования вы найдете в статье Базовые аналоговые фильтры: теория и практика.
Дополнение: Создавать кастомные футпринты оказалось до неприличия просто. Если в двух словах, то компонент нужно отсканировать на сканере (обычном, для бумаги), импортировать растровое изображение в Inkscake, обвести пады и прочие интересующие части, и сохранить результат в формате DXF. Или компонент можно обвести карандашом на листе бумаги и отсканировать этот лист. Затем DXF импортируется в Footprint Editor, в котором по имеющемуся рисунку располагаются пады, отверстия и шелкография. Главное — это при экспорте и импорте DXF указать «mm» в качестве base unit, иначе поползет масштаб. Последним шагом нужно удалить слой Dwgs.User, что делается прямым редактированием .kicad_mod файла футпринта в текстовом редакторе. Что же до кастомных символов, там совсем все просто, они просто рисуются в Symbol Editor’е. Сделанные мной символы и футпринты можно посмотреть здесь.
Метки: Электроника.
eax.me
Из минусов: поменяли диалог выбора библиотек посадочных мест. Под Linux еще не пробовал, но под Windows это ужасно глючная штука. Теперь жду пока пофиксят. Насколько я понял, система теперь имеет новый формат библиотек посадочных мест и старый не поддерживается. Думаю, с этим связаны дикие глюки.
UPD: пользователь axboct подсказал как подключить библиотеки.
Так же в составе редактора посадочных мест появился Footprint Wizard, который позволяет быстро создавать футпринты сложных компонентов.
DIHALT неоднократно упоминал, что KiCAD 3 года назад — ужасно глючная штука. Рекомендую попробовать последнюю стабильную версию. Она еще без Interactive Router, но зато стабильна и с минимум глюков. Вот ссылка.
Часто попробовав эту систему первый раз многие говорят, что она неудобна и имеет не интуитивный интерфейс. На самом деле нет. Достаточно заглянуть в документацию (ее можно найти в папке установленного KiCAD) и все становится на свои места. Удобно пользоваться, зная немного сочетаний клавиш (M, G — перемещение, R — вращение, X — начать дорожку и так далее). По компоненту схемы или посадочному месту не нужно нажимать мишкой, а навести ее на изображение и нажать нужный хоткей.
В общем, пока слежу за развитием, но остаюсь на стабильной версии, так как новая очень глючная.
Рекомендую попробовать эту систему. К тому же, она бесплатная, а покупать платные для дома дорого.
we.easyelectronics.ru