Администрирование Разное KiCAD: как сделать печатную плату Thu, December 14 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


KiCAD: как сделать печатную плату Печать
Добавил(а) microsin   

В этой статье рассматриваются основные вопросы проектирования печатной платы (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.

KiCAD-eeschema-annotation

После того, как схема готова и пронумерована, проверьте, что у Вас правильно настроены текущие библиотеки символов (меню Preferences -> Library) и выгрузите список цепей (netlist) через меню Tools -> Generate Netlist (*.net). Список цепей понадобится, чтобы перенести детали и соединения принципиальной схемы на печатную плату.

[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 (они также отображаются в строке статуса) поменять нельзя, они всегда привязаны к верхнему левому углу чертежа.

После того, как нарисовали контур платы, загрузите список цепей (файл *.net) и соответствие символов модулям (файл *.cmp) с помощью операции Tools -> Netlist. Появится окно Netlist для загрузки списка цепей. Переведите радиокнопку Module Name Source в состояние From separate .cmp file, кнопкой Browse Netlist Files выберите сгенерированный файл списка цепей. Затем нажмите на кнопку Read Current Netlist.

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 в этом отношении не оказался исключением.

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

Наименование допуска Значение допуска, mil Значение допуска, mm Где настраивается в KiCAD
Минимальная толщина линии проводящего рисунка (ширина медной дорожки, trace width) 6 0.1524 Design Rules -> Net Classes -> Track Width
Минимальный зазор между проводниками (clearance) 6 0.1524 Design Rules -> Net Classes -> Clearance
Минимальный диаметр переходного отверстия (via drill) 25 0.635 Design Rules -> Net Classes -> Via Drill
Минимальный внешний диаметр медного кольца переходного отверстия (via) 35 0.889 Design Rules -> Net Classes -> Via Dia
Минимальная высота и ширина символа текста шелкографии 32 0.8128 Свойства текста -> Size Y и Size X 
Минимальная толщина линии графики текста шелкографии 5 0.127 Свойства текста -> Thickness

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

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

Если дорожки не прокладываются ни вручную, ни автоматически, то значит это не позволяют правила Design Rules. Причем редактор не дает никаких предупреждений, и только что разведенная дорожка сразу исчезает. Исправить проблему можно, если исправить ограничения на толщину дорожки и зазор на класс проблемной цепи. Другое решение проблемы - откройте меню Preferences -> General и снимите галочки:

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.

2. Запустите трассировщик по ссылке со странички [1] (будет ссылка наподобие http://www.freerouting.net/java/freeroute.jnlp). Или в программе Pcbnew выберите Tools -> FreeRoute. Загрузится автотрассировщик FreeRoute, написанный на Java - откроется маленькое окошко диалога запуска трассировки.

KiCAD-FreeRouter-open-DSN

Нажмите кнопку "Open Your own Design" и выберите файл DSN, который был создан на шаге 1.

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

Тест DRC займет несколько секунд, в окне Messages появятся сообщения наподобие "Compile ratsnest... Pad clearances... Track clearances... Fill zones... Test zones... Unconnected pads... Keepout areas ... Finished". Если в процессе теста будут обнаружены ошибки, то их можно увидеть на закладках Problems / Markers и Unconnected.

Если у Вас были наложены зоны заливки медью (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

Нажмите кнопку Plot, и в папке gerbers/ появятся Gerber-файлы. Если Ваш проект называется MyProject, то файлы будут такие:

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

Нажмите кнопку Drill File, и в папке gerbers/ появятся файлы для сверлильного станка:

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

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

[Ссылки]

1. FreeRoute site:freerouting.net.
2. RefDes, reference designator - общепринятые префиксы для нумерации элементов принципиальной схемы.
3. ViewMate gerber viewer site:pentalogix.com.
4. KiCAD: бесплатная система проектирования печатных плат.
5. KiCAD: как сделать новый библиотечный элемент.
6. KiCAD Electronic CAD libraries site:smisioto.no-ip.org.
7. KiCAD libraries site:kicadlib.org.

 

Комментарии  

 
0 #3 Pool 30.05.2017 08:50
@Feather
EasyEDA сервера постоянно заняты, невозможно запустить трассировку платы, а значит невозможно нормально работать. Я про бесплатный вариант, конечно.
Цитировать
 
 
0 #2 Шура 16.03.2017 21:37
При перемещении компонентов схемы уже проложенные проводники отрываются от деталей, и их приходится перекладывать заново. Кнопка G - наше всё. :)
Цитировать
 
 
0 #1 Feather 04.07.2016 09:31
EasyEDA - онлайн-система разработки печатных плат и симулятор схем.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Top of Page