Время на прочтение
8 мин
Количество просмотров 104K
Введение
Одним из критических замечаний к предыдущей статье было следующее: дескать фу таким быть, стрелять из пушки по воробьям да ещё проприетарным софтом за 10000$, к тому же наверняка украденным с торрентов. Оставляя за кадром моральную сторону вопроса, а так же презумпцию невиновности, обратимся к следующему вопросу — а что там у нас имеется в Open Source секторе, пригодное для решения задач проектирования электронной техники. В частности изготовления печатных плат. Наиболее достойной, на мой взгляд, оказалась кроссплатформенная программа KiCAD, распространяемая по лицензии GNU GPL. Имеются версии для Linux, Windows и macOS.
Рассмотрим этот инструмент подробнее применительно к уже решенной мною задаче — трассировке печатной платы для преобразователя уровней на базе MAX232.
1. Установка KiCAD и библиотек
Дистрибутив программы и инструкции по установке имеются на её официальном сайте. Так как я предпочитаю использовать Linux, а конкретно Arch Linux, то установка сводится к заклинанию для пакетного менеджера
$ sudo pacman -S kicad kicad-library kicad-library-3d
Первый пакет — сама программа, второй — библиотеке компонентов, третий — 3D-модели компонентов. Собственно и всё. Аналогичный набор пакетов имеется для всех популярных дистрибутивов Linux. Для Windows качаем бинарный инсталлятор здесь. Для macOS все аналогично. В общем, установка элементарна и затруднений не вызывает.
2. Чертим принципиальную схему
Запустив KiCAD мы увидим главное окно программы. Оно содержит дерево проекта и кнопки вызова программных компонент, предназначенных для различных этапов проектирования устройства.
Идем в меню Файл -> Новый проект -> Новый проект. Нам предложат выбрать место, где будут располагаться файлы проекта, а так же выбрать его имя. Все файлы, относящиеся к проекту лучше расположить в отдельном каталоге. Я располагаю все в каталоге ~/work/kicad/rs232, и проект назову rs232.
После создания проекта в дереве образуются два файла: rs232.pro — файл проекта; rs232.sch — файл принципиальной схемы. Дважды кликаем по файлу схемы и переходим Eeschema — программу для рисования схем
Формат основной надписи чертежа, естественно буржуазный. Но нас пока не интересует следование ГОСТ и ЕСКД. Нам надо оценить возможности пакета для решения конкретной практической задачи, путь даже такой простой. Поэтому приступим к рисованию схемы.
С правой стороны окна расположена панель инструментов. На ней имеется кнопка с изображением операционного усилителя — жмем на неё и переходим в режим размещения компонентов. Кликая мышью в поле схемы мы инициируем появление диалога
В строке фильтра начинаем набирать «max232». система производит поиск по библиотеке и предлагает нам интересующую нас микросхему. Выбираем её, жмем ОК и курсором мыши помещаем компонент в нужное место схемы. Аналогичным образом кладем на схему электролитический конденсатор, который отзывается в KiCAD по имени CP
Наводим курсор на конденсатор, жмем «V» и в появившемся окне задаем его номинал
Если навести курсор на любой элемент, в частности только что добавленный конденсатор, то нажатием соответствующих клавиш можно выполнять следующие действия
M — переместить компонент (начать перемещение)
C — создать копию компонента
R — повернуть компонент по часовой стрелке
X — отразить компонент относительно горизонтальной оси
Y — отразить компонент относительно вертикальной оси
Действуя описанным образом, размещаем все остальные компоненты схемы. Нам понадобятся следующие элементы
Имя компоненты в библиотеке | Тип компонента | Количество |
---|---|---|
CP | Электролитический конденсатор | 4 |
D | Диод | 1 |
DB9 | Коннектор типа DB-9 | 1 |
CONN_01x05 | Однорядный штыревой коннектор (5-pin) | 1 |
Кроме того, нам понадобится земля и питание +5 В. Эти элементы добавляются в режиме размещения портов питания, который включается на правой панели кнопкой с символом «земли». Нам понадобятся следующие порты: GND — собственно «земля»; +5V — без комментариев.
В конечном итоге на поле схемы у нас получится что-то вроде этого
Теперь, нажатием кнопки с изображением зеленой линии переходим в режим «Разместить проводник» и соединяем выводы всех элементов согласно принципиальной схеме устройства. Если нам нужна дополнительная «земля», наводим курсор на ближайшую «землю», жмем «C» и клонируем её, без отрыва от процесса соединения элементов. В конечном итоге у нас получится следующая схема
Обращаем внимание на то, что элементы схемы не пронумерованы. Для этой цели удобно воспользоваться функцией нумерации элементов. Вызываем её либо из меню Инструменты -> Обозначить схему, либо нажимая кнопку «Обозначить компоненты схемы» на верхней панели инструментов. Нам покажут диалоговое окно с настройками именования элементов
Задаем интересующие нас настройки и жмем «Обозначить компоненты». Теперь другое дело
Полагая, что мы закончили схему, проверяем правильность её построения с точки зрения правил KiCAD. Для этого жмем на верхней панели кнопку с изображением божьей коровки с зеленой галочкой. В предложенном нам окне жмем кнопку «Выполнить» и получаем результат
Ошибок нет, но зато есть 13 предупреждений. Эти предупреждения принципиальны — они указывают на то, что некоторые выводы элементов у нас никуда не подсоединены, а также на то, что мы не подали питание на схему.
Неиспользуемых выводов у нас много. Чтобы система не ругалась на нас по их поводу, отметим эти выводы ка неиспользуемые. Для этого выберем режим указания неиспользуемых пинов нажатием кнопки с косым крестом «X» на правой панели, так называемый флаг «Не подключено». Помечаем этим флагом все незадействованные пины
Входы второго канала MAX232 (ножки 8 и 10) подтягиваем к «земле», с тем чтобы гарантировать нулевое напряжение на них при работе устройства.
После этого проверяем схему ещё раз
Отлично, всего два предупреждения о не подключенном питании. Питание в нашем случае подается с другого устройства через штыревую колодку P1, поэтому системе следует указать не это, используя виртуальный порт питания PWR_FLAG. Устанавливаем этот порт питания на схему и подсоединяем его к порту питания +5V, к «земле» и проводу идущему от разъема P1 к диоду, как показано на рисунке
Таким образом мы указываем системе по каким линиям в схему подается питание и следующая проверка проходит уже без ошибок и предупреждений. Сохраняем готовую схему.
Теперь следует сформировать список цепей схемы, который будет использоваться нами в дальнейшем. Для этого идем в меню Инструменты -> Сформировать список цепей, или жмем соответствующую кнопку на верхней панели. В появившемся окне
выбираем родной для KiCad формат списка цепей, задаем имя файла списка rs232.net и жмем кнопку «Сформировать».
Схема готова и можно приступать к следующему этапу
2. Связывание компонентов и их посадочных мест
Этот этап отражает особенность KiCAD — схемное обозначение компонента отвязано от его посадочного места и визуального представления. Прежде чем приступить к разводке платы, каждому компоненту надо привести в соответствие его посадочное место (footprint) — топологическая структура задающая по сути размер и расположение отверстий и/или контактных площадок на плате, предназначенных для монтажа данного компонента. Это делается с помощью входящей в состав пакета программы CvPcb. Для её запуска идем в меню Инструменты -> Assign Component Footprint. Система немного задумается и выдаст окно
В первой колонке расположен список доступных библиотек. Во второй колонке — список компонентов, представленных в нашей схеме. В третьей — список доступных посадочных мест. Скажем нам нужна определится с форм-фактором конденсатора C1. У нас имеются в наличии конденсаторы Ether для монтажа в отверстия с диаметров 5 мм, высотой 11 мм и с расстоянием между выводами 2 мм. Хорошо, выбираем библиотеку Capacitor_ThroughHole (конденсаторы для монтажа в отверстия) в первой колонке, конденсатор C1 во второй колонке и посадочное место C_Radial_D5_L11_P2 в третьей колонке. Двойным щелчком по выбранному посадочному месту связываем его с компонентом. Справа от конденсатора C1 появится выбранное посадочное место, как показано на рисунке выше.
Для проверки посмотрим на чертеж посадочного места, нажав кнопку с изображением микросхемы под лупой на верхней панели
Нажав в окне просмотрщика кнопку с изображением микросхемы, мы увидим 3D-модель компонента
Убеждаемся, что выбранное посадочное место соответствует фактической детали, имеющейся у нас. Таким же образом связываем и остальные компоненты. У меня вышел вот такой список
Надо сказать найти нужное посадочное место с непривычки довольно трудно. Но мне удалось обойтись стандартными библиотеками. В любом случае, проблема отсутствия нужной детали решается путем гугления или самостоятельного изготовления (но это выходит за рамки статьи).
Сохраняем полученный список, закрываем CvPcb и заново генерируем список цепей. Теперь всё готово чтобы приступить к непосредственной разводке платы.
3. Разводка печатной платы
Для этого из меню редактора схем Инструменты -> Layout Printer Circuit Board запускаем программу-трассировщик Pcbnew
Для настройки правил трассировки идем в меню «Правила проектирования» и в окне
задаем ширину дорожек, зазор между ними, диаметр отверстий, диаметр сверла в соответствии с имеющимися у Вас техническими возможностями. Мои настройки представлены на скриншоте.
Далее необходимо импортировать спроектированную схему. Для этого идем в меню Инструменты -> Список цепей. В появившемся окне выбираем файл списка цепей (наш rs232.net сформированный на предыдущем этапе) и жмем кнопку «Прочитать текущий список цепей»
Если мы не ошибались на предшествующих этапах, процесс пройдет без ошибок. Закрываем окно и видим, что компоненты разместились в окне чертежа платы
Разумеется они все слиплись в кучу. И их придется растащить на предназначенные для них места. Перемещение компонентов происходит теми же командами что и в редакторе схем — наводим курсор на элемент и жмем «M». Если мы хотим переместить компонент на другую сторону платы, то в режиме перемещения нажимаем клавишу «F». Так следует поступить с микросхемой U1, ибо она располагается со стороны дорожек, ввиду SMD-исполнения корпуса.
Попыхтев немного получаем что-то подобное
Стараемся размести компоненты так, чтобы получалось как можно меньше пересекающихся связей. Теперь можно приступать к трассировка. Автоматическая трассировка у меня не вышла, возможно я не до конца разобрался с её настройками. Для ручной трассировки перейдем в режим трассировки нажав на верхней панели кнопку «Режим дорожек: автотрассировка».
Правой кнопкой мыши щелкаем по пустому пространству рабочего окна и в выпавшем меню выбираем «Выбор рабочего слоя». В появившемся окне выбираем слой B.Cu (медь с обратной стороны платы)
Наводим курсор на какой-либо пин и жмем «X». Появится дорожка, идущая от выбранного пина до текущего положения курсора. Тянем эту дорожку, фиксируя её промежуточные точки однократными щелчками мыши. По завершении, на последнем пине делаем двойной щелчок. Если нам не нравится результат, жмем Esc отменяя проведенную дорожку. Другие полезные команды и их горячие клавиши доступны в контекстном меню, вызываемом правой кнопкой в момент трассировки.
Надо сказать что процесс трассировки интуитивно понятен и довольно скоро мы получаем результат
Желтой линией на скрине показан контур платы. Чтобы нарисовать его переходим в слой Edge.Cuts (список слоев расположен в окне программы справа) и инструментом «Линия или полигон» (кнопка с изображением пунктирной линии на правой панели инструментов) рисуем контур платы.
Теперь всё готово. Сохраняем результат. Можно просмотреть получившуюся плату в режиме 3D (в меню Просмотр -> Просмотрщик 3D)
Результат выглядит довольно симпатично, правда монтаж можно сделать и поплотней.
Чтобы получить, например, шаблон для ЛУТ, идем в меню Файл -> Печать. В появившемся окне
Задаем печатаемый слой (B.Cu — медь с задней стороны платы), обязательно выставляем галочку «Зеркально», проверяем что выставлен масштаб 1:1 и убираем галку «Печать рамки листа». Жмем печать. Если у нас нет принтера, то печатаем в PDF
Получая на выходе искомый шаблон
Заключение
Надо сказать, что я довольно бегло пробежался по возможностям KiCAD, обращая внимание лишь на ключевые моменты его использования. Эта статья некоторый вводный мануал, обобщающий весьма разрозненную информацию, имеющуюся в сети. Тем не менее он может служить хорошим стартом.
Можно сделать вывод, что программа вполне пригодна для проектирования печатных плат, учитывая что описание всех её возможностей выкатится не в один десяток подобных статей. Её несомненным преимуществом является бесплатность и открытый формат всех конфигурационных файлов и библиотек, дающих бескрайний простор для расширения компонентной базы.
Надеюсь было интересно. Спасибо за внимание!
KiCad: руководство пользователя
- Программы комплекса
- Справка
Вводный миниурок KiCad[править]
Этот миниурок ознакомит вас с основами использования системы KiCad. Он содержит информацию о всех шагах создания простой печатной платы: от рисования электрической схемы до печати готового рисунка платы. В ходе урока вам будут представлены различные возможности KiCad и предложены эффективные пути решения различных задач.
Руководство пользователя, поставляемое вместе с KiCad, содержит значительно больше информации, чем этот урок. Ознакомтесь с ним, чтобы узнать больше об использовании программы.
В качестве примера взята несложная плата сопряжения для порта RS-232. Поясняющие изображения (скриншоты) для этого урока делались под различными платформами (Windows, Linux). Основой платы является 16-контактная микросхема Maxim Max232A в DIP-корпусе, технические характеристики которой можно посмотреть здесь.
Создание проекта[править]
Лучше всего для каждого проекта использовать раздельные папки; в противном случае система может сбиться с толку, если файлы из разных проектов будут лежать в одной папке.
Проделайте следующие шаги:
- Создайте папку «RS232»
- Запустите программу KiCad
- Создайте проект (project)
- На панели инструментов KiCad выберите левую иконку с подсказкой «Создать новый проект» («Create new project descriptor») или используйте команду меню «Проект>Новый проект» («Projects>New Project Descr»).
- В диалоге «Создать файлы проекта» («Create Project files») введите имя проекта RS232 и, используя опцию «Обзор других папок» («Browse for other folders»), выберите только что созданную папку RS232.
- Сохраните проект кнопкой «Сохранить» («Save»). В папке появится файл RS232.pro, содержащий установки вашего проекта.
В правой части панели имеются четыре большие кнопки запуска компонентов KiCad. Слева направо, это:
- EeSchema — Редактор принципиальных схем (Schematic Editor)
- Cvpcb — Программа сопоставления компонентам модулей (Components to modules)
- Pcbnew — Редактор печатных плат (Board editor)
- GerbView — Программа просмотра фотошаблонов (Gerber viewer)
Каждая кнопка запускает соответствующую программу. Мы будем использовать эти программы по мере изучения (за исключением GerbView).
Создание принципиальной схемы в EeSchema[править]
- Запустите редактор принципиальных схем, нажав на панели KiCad большую кнопку EeSchema.
- При первом запуске EeSchema стартует с новым проектом и показывает предупреждение, что файла схемы еще нет. Просто нажмите ОК.
На правом краю окна редактора схем есть вертикальная панель инструментов, которые мы и будем использовать для рисования схемы. Этими инструментами можно выбирать объекты, размещать компоненты, вводить связи и т.д.
Завершение работы инструмента: вы можете выбрать другой инструмент из правой инструментальной панели или же указать Отложить инструмент по правому клику мышки.
Инструмент Добавить компоненты[править]
- На правой панели нажмите кнопку Добавить компоненты (Add components) (она выглядит как логический элемент «И»). Курсор изменится со стрелки на карандаш. Кликните в поле схемы чтобы начать размещение компонента. Появится диалог Выбор компонента (Component Selection). Вы можете выбрать компонент несколькими путями:
-
- Если вы знаете точное имя копонента, введите его в поле Имя (Name), а затем нажмите Ввод или OK.
- Если вы знаете имя только приблизительно, в поле Имя (Name) введите образец для поиска, например, *C*, затем нажмите Ввод или OK. Вы увидите окно Выбор (Selection) со списком найденных компонентов.
- Вы можете искать компонент по ключевому слову, введя его в поле Имя (Name), затем кликнув Искать ключевое слово (Search Keyword). Однако на данный момент немногие компоненты имеют ключевые слова, поэтому эта возможность полезна косвенно.
- Можно выбрать недавно использованные компоненты из Списка истории (History list).
- Кнопка Весь перечень (ListAll) вызывает диалог, в котором можно выбрать сначала библиотеку, а затем ее компонент.
- Кнопка Используя Обозреватель библиотек (By Lib Browser) вызывает Обозреватель библиотек (Library Browser), позволяя просмотреть библиотеки и находящиеся в них условные графические изображения.
Когда вы выбрали нужный компонент, используйте кнопку Экспортировать в схему (Export to Schematic) на правой стороне обозревателя библиотек. Вы также можете вызвать обозреватель библиотек кнопкой Перейти к Обозревателю библиотек (Go To Library Browser) в редакторе EeSchema — в горизонтальном меню, но в этом случае кнопки Экспортировать в схему (Export to Schematic) нету.
- Для начала нажмите Используя Обозреватель библиотек (By Lib Browser). Выберите библиотеку CONN (разъемы). В соседней панели прокрутите вниз и выберите разъем DB9. Условное графическое изображение разъема будет видно в правой панели. В инструменте нажмите Экспортировать в схему (Export to Schematic) справа.
Файл:Add Components Tool.PNG
- Левой кнопкой мышки вставьте символ в нужное место схемы. Позже вы сможете переместить его если нужно. Зеркальное отражение компонента можно произвести следующим образом:
- Поместите курсор на компоненте.
- По правому клику выберите Ориентация Компонента>Зеркальное отражение (Orient Component > Mirror || (X). После чего выводы компонента должны расположиться на требуемой стороне. («X» отображает по вертикали, «Y» — по горизонтали)
- Вставьте в схему электролитический конденсатор (инструмент Добавить компоненты (Add components) все еще активен) левым кликом в рабочем окне. Это вернет диалог выбора компонентов. На этот раз попробуйте кнопку Весь перечень (ListAll). В диалоге Выбрать библиотеку (Select Lib) выберите библиотеку Устройство (Device) (двойной клик или кнопка OK).
- В диалоге выбора элемента выберите CP (двойной клик или кнопка OK’). Разместите компонент левым кликом в рабочем окне.
- Вставьте остальные пять конденсаторов как показано на рисунке. Это сделать легко если использовать двойной клик в Списке истории (History list) диалога Выбор компонента (Component Selection).
Файл:Add Components Tool 2.PNG
-
- Вставьте другие компоненты из списка ниже используя методику этого урока.
2x 3-выводных разъема (CONN_3 в библиотеке "conn") 1x 4-выводный разъем (CONN_4 в бмблиотеке "conn") 1x MAX232 микросхему (MAX232 в библиотеке "interface") (имеется идентичная копия в библиотеке "special")
Панорамирование и Масштаб[править]
Во время работы со схемой вы можете перемещаться по схеме (pan) и изменять масштаб (zoom), следующими способами:
- Полосами прокрутки снизу и справа.
- Имеется кнопка масштаба на верхней инструментальной панели.
- Правый клик дает контекстное меню с функциями увеличения/уменьшения, а также центрирования.
- И наконец, наиболее удобно использовать колесо мышки, вращая которое можно изменить масштаб в точке курсора мышки. Также, если просто кликнуть на колесо, дисплей сцентрируется в точке курсора мышки.
Инструмент Добавить питание[править]
Для подключения питания и земли к компонентам схемы в EeSchema предназначены специальные псевдокомпоненты. Они не похожи на обычные компоненты, так как им не соответствуют реальные корпуса с контактными площадками. Это символы из библиотеки «power». Их можно ставить в схему инструментом «Add Components», но есть способ проще.
Активируйте инструмент «Add Powers» из правой панели инструментов. Он выглядит как символ земли. Этот инструмент работает как «Add components», но ограничен только библиотекой «power».
Добавьте символы питания из списка ниже.
1x +5V 2x GND 2x PWR_FLAG
Инструмент Выбор (Selection)[править]
Активируйте инструмент «Selection» — это кнопка со стрелкой на правой панели инструментов. Это инструмент по умолчанию, который становится активным при окончании других инструментов клавишей Esc или по правому клику — «End Tool». При выборе «Selection» курсор имеет форму стрелки.
В режиме селекции вы можете выполнять различные операции с компонентами: сдвиг, дать новую ориентацию, копировать и т.д. — кликнув правой клавишей мыши на компоненте. В сущности это можно делать в режиме «Add component» по правому клику. Но главное отличие режима селекции от режимов «add» состоит в реакции на левый клик. Левый клик в режиме «add» добавляет соответствующую тему (компонент, связь и т.д.), тогда как в режиме селекции левый клик дает возможность выделить множество объектов в прямоугольном регионе и перетащить их.
Освобождение левой клавиши мышки в конце операции drag-select засвечивает выбранные компоненты. Если затем сдвинуть мышь, вместе с ней потянется и селектирование. Чтобы сделать нечто еще с селекцией, сделайте правый клик. Всплывающее меню имеет несколько опций, включая Zoom, Place, Save, Copy, Drag, и Delete.
«Place» — это тоже самое, что и сдвиг селеции и снова левый клик, но уже без правого клика.
«Save» копирует выборку в буфер из которого позже можно вставить инструментом «Paste». «Copy» делает копию всей выборки и можно сдвигать ее, а не оригинал.
«Drag» похож на сдвиг, но при таком сдвиге концы связей, выходящие за пределы области селекции останутся подсоединенными.
Как альтернатива операции селекции правым кликом при перетаскивании селекции, можно использовать клавиши Ctrl и Shift. Их назначение можно увидеть в всплывающем меню доступном по правому щелчку. Важный момент, клавиши Ctrl и Shift должны быть нажаты до того как будет нажата левая кнопка мышки для выделения.
Вы можете отменить выделение нажав Esc.
Расставьте компоненты как показано на рисунке ниже, используя технику, описанную выше. На рисунке показаны все расставленные компоненты, но еще не соединенные связями.
Файл:Parts schematic.png
Теперь назначьте емкости конденсаторов «0.1 uF» в соответствии со спецификацией MAXIM.
Чтобы сделать это, сделайте правый клик на каждом конденсаторе, выберите «Edit Component > Value» и измените «CP» на «0.1 uF».
Если у вас много конденсаторов с одним номиналом, вы можете ускорить работу, копируя конденсатор с нужным номиналом контекстной командой «Copy Component» — копия будет иметь тот же номинал. Также можно назначить номинал сразу же после добавления компонента в схему — меню по правому клику доступно и в режиме «Add Component».
В нашей схеме только конденсаторам нужно ставить номинал. Для других компонентов поле номинала содержит номер компонента (the part number). Номинал может иметь значения сопротивления, емкости, частоты, скорости и т.д.
Команда «Edit Component > Edit» выдает свойство листа схемы, посредством чего можно изменить много аспектов компонента. Но в рамках этого руководства это пока нам не нужно.
Assign reference designators (Присвоить схемный номер). Вы можете нумеровать компоненты вручную — правым кликом «Edit Component > Reference«. Но EeSchema может сделать это автоматически. Для этого нажмите кнопку «Schematic Annotation» на верхней инструментальной панели (ближе к правой части). Всплывет диалог, в котором выберите пределы (extent) нумерации (annotation) (этот лист или все листы, только ненумерованные компоненты или все подряд). При нумерации символ «?» в схемном номере меняется на целое число, уникальное для каждого префикса, например, C1, C2, C3, U1, U2 и т.д.
Нумеровать компоненты, как видите, несложно. Это можно сделать и после соединения всех связей. Но это нужно обязательно сделать до запуска контроля схемы (Electrical Rules Check) или генерации списка связей (Netlist Generation).
Инструмент Добавить соединения[править]
Активируйте инструмент «Add wires» из правой панели инструментов.
Чтобы соединить два пина связью, кликните мышкой на первом пине и потащите мышь, растягивая связь. Каждый левый клик завершает сегмент связи и вы можете тянуть новый сегмент. Кликая на другом пине, он подсодинится к связи и закончит проведение связи. Если вы продолжаете тянуть сегмент после клика на пине, он не подсоединится к связи. (Это может случиться если символ находится не в сетке или если вам нужно сделать более одного изгиба чтобы попасть на пин.) Вы можете тянуть связь под любым углом, отличным от 90 градусов — кликнув на кнопке «Draw lines at any direction» внизу левой вертикальной инструментальной панели.
При прокладке связи ее можно завершить в любой момент (т.е. без завершения соединения на пин) по правому клику. Также связь можно оборвать клавишей Esc. Поэкспериментируйте с различными опциями правого клика. Конец висящей связи маркируется маленьким квадратом. Контролируйте такие маркеры чтобы убедиться что связь действительно подсоединена.
Когда связи пересекаются крестом или буквой Т, если они в самом деле соединены, точка соединения маркируется символом пайки — закрашенным квадратом. Если же маркера пайки нет, значит связи не соединены. EeSchema обычно добавляет значок пайки, но если EeSchema сделает ошибку, вы можете исправить ее. Правый клик добавит точку пайки если курсор находится на связи; или удалит точку пайки если курсор находится на точке пайки. Это иллюстрирует важный момент: правый клик предлагает контекстно-зависимых операций над объектами под мышкой.
отдельный, обособленный; изолированный, отделенный; стоящий особняком; разрозненный
Соедините компонент связью — как показано на рисунке ниже. Пока что оставьте PWR_FLAG изолированным.
Zoomed in finished wire connections:
Файл:Zoomed schematic.png
«Electrical Rule Check» — проверка схем[править]
Задача Electrical Rule Check (ERC) — проверка корректности соединений схемы.
В верхней инструментальной панели нажмите кнопку «Schematic Electrical Rules Check» (вторая справа).
Всплывет диалоговый бокс. Вы могли бы настроить в «Options» реакцию ERC на различные виды проблем, но для нашей простой схемы мы будем использовать настройки по умолчанию.
Нажмите кнопку «Test Erc«.
Примечание. Иногда при запуске ERC вы можете получить сообщение вроде «Item not annotated: #FLG?» (or #PWR?. Это означает, что вы забыли присвоить схемные номера (reference designators) некоторым компонентам. Используйте команду «Schematic Annotation» для автоматической нумерации компонентов как это было описано выше. Вы могли пронумеровать компоненты и вручную, но есть сложности с поиском элементов. Дело в том, что поиск «Find Components and Texts» (он выглядит как бинокль) трактует символ «?» как шаблон одного символа, и поиск «#PWR?» найдет компонент «#PWR5», «#PWR6» и т.д. Сейчас пока что нет возможности отключить «?».
Другая проблема поиска состоит в том, что он не подсвечивает найденный компонент. Но это можно попробовать обойти таким образом: увеличьте схемы и сделайте поиск. Он обычно центрирует экран рядом с найденным компонентом.
Проверка ERC проверяет на различные электрические правила согласно настройкам в Options. Например, одно правило должно требовать, чтобы к цепи должен быть подключен хотя бы один выход. Вы можете сконфигурировать реакцию ERC на такие ошибки: игнорировать, показать как ошибку или выдать предупреждение.
Примечание. Совсем необязательно получать чистый протокол ошибок ERC. Редактор будет работать даже если ERC будет жаловаться на нарушения правил. Но все же будет лучше взглянуть на протокол, т.к. он может показать потерянную связь, т.е без пинов.
ERC маркирует проблемное место маленькой стрелкой (вы можете записать список проблем в файл). Увидеть что это за нарушение можно, кликнув на стрелочке и взглянув на статусную строку. Если разыскать некоторые стрелки затруднительно, попробуйте отыскать «Find components and texts».
Инструмент Добавить метку неподключенного вывода[править]
ERC обычно сообщает в протоколе пины, никуда не подсодиненные. В некоторых случаях это реальная проблема — пропущенный контакт; в других же случаях может быть пин никуда не соединен намеренно. Вы можете объяснить контролеру ERC о намеренном неподсоединении пина, ставя на него маркер «noconn«.
Активируйте инструмент «Add noconnect flag» — в середине правой инструментальной панели; значок курсора станет «Х». Кликайте на пинах, отмечая его маркером «noconn».
Вы можете удалить маркер «noconn» правым кликом — «Delete noconn»
Проставьте маркер «noconn» на всех неподсоединенных пинах, которые ERC обнаружил (кроме пинов с флагом PWR_FLAG) и перезапустите контролер ERC. Результат должен выглядеть что-то вроде картинки ниже, показывающей только 4 ошибки.
Ошибки на выводах питания — PWR_FLAG[править]
Кликните на маркере ошибки (маленькая стрелка) на одном из симолов питания (GND or +5V) и посмотрите на статусную строку внизу слева окна. Вы увидите сообщение вроде такого:
ERC << Warning Pin power_in not driven (Net 15).
Это сообщение говорит, что пин (и все такие же пины компонентов питания) предполагал иметь источник питания, но оказался пустым. (VCC, GND, 3V3 и другие символы питания интерпретируются идентично). Источник питания мог быть таким, как регулятор напряжения 78хх.
В этой связи питание будет подано от внешнего источника через разъем. Чтобы устранить такое сообщение, вы можете объяснить ERC, что все нормально, подключив к связи флаг PWR_FLAG. PWR_FLAG — это специальный «виртуальный» компонент, которому не сопоставлен физический корпус. Он существует только для «успокаивания» ERC. Пин с флагом PWR_FLAG объявлен типом «power_out», растолковывая ERC, что пин с такой связью присоединен к питанию. Вам нужны разные PWR_FLAG для каждой связи питания. В нашем случае имеется питание +5V и GND, но более сложные схемы часто имеют много питаний, например, -12V, 3V3, и AGND.
Компоненты питания, как +5V и GND, также «виртуальны», не означая физического устройства. Они имеют особые свойства — все связи, соединенные к символу питания с данным именем — одна и та же цепь по всем листам иерархической схемы.
Подсоедините флаг PWR_FLAG к связи +5V и другой — к GND и перезапустите ERC. Это должно избавить от оставшихся ошибок. На рисунке ниже показано отсутствие ошибок когда все соединения сделаны верно.
Файл:Complete ERC.png
Редактирование параметров компонента[править]
Перед продолжением проведите визуальную проверку того, что верные значения даны всем
конденсаторами («1 uF» вместо «CP»). В дополнение к уже упоминавшемуся способу
правого щелчка мыши «Редактировать Компонент>Значение» («Edit Component>Value») имеется другая методика редактирования
определенного поля компонента. Если вы поместите курсор мыши непосредственно
над нужным полем, то правый щелчок мыши откроет дополнительные пункты «Переместить поле» («Move Field»),
«Вращать поле» («Rotate Field»), «Редактировать поле» («Edit Field»).
Перемещение и вращение позволяют изменить положение поля относительно графического обозначения компонента
(что делает схему более опрятной). «Редактировать значение» («Edit Value») позволяет изменить значение поля
без необходимости производить выбор посредством многоуровневых контекстных меню.
В дополнение к Полю значения (Value field) это также работает для Поля ссылки (Reference field) .
Окончательная схема должна выглядеть примерно так
Файл:Complete schematic.png
Генератор списка соединений[править]
Создать список соединений — щелкните по кнопке «Создание списка соединений»
(«Netlist generation») на верхней панели инструментов.
Появившийся диалог будет содержать закладки для различных форматов списка соединений;
мы будем использовать родной формат «Pcbnew». Щелкните кнопку «Список соединений» («Netlist»),
далее щелкните кнопку «Сохранить» («Save») соглашаясь с именем файла по умолчанию,
которое получается из названия проекта.
Определение типов корпусов с помощью Cvpcb[править]
Для правильной разводки физического слоя печатной платы (printed circuit board, PCB)
для электрической принципиальной схемы каждое условное графическое обозначение («компонент» в терминологии KiCad)
должно быть связано с типом материального корпуса («модуль» в терминологии KiCad).
Материальные корпуса/модули — это элементы, подобные 16-выводным DIP, 44-выводным «кроваткам»,
1206 SMT компонентам и т.д. При работе со слоями печатной платы понятие «модуль»
в принципе заключает в себе «отпечаток» корпуса на печатной плате.
Некоторые САПР связывают компоненты с типами корпусов непосредственно в своих библиотеках.
В KiCad связь не встроена в библиотеку. (Преимущество подхода KiCad проявляется в том,
что отдельный компонент схемы, например, конденсатор, может использоваться со множеством различных
типов корпусов, например, с осевыми, радиальными или для поверхностного монтажа корпусами разных размеров.)
Данное преимущество не столь ценно для современных БИС (VLSI) компонентов,
у которых номера выводов часто совершенно отличаются между их вариантами в различных корпусах.
Программа Cvpcb пакета KiCad снабжает примечаниями список соединений, который создает EeSchema,
добавляя в него информацию о типе корпуса (о «модуле»), которая необходима для программы обработки слоев.
Некоторые из связей могут быть сделаны полуавтоматически, путем использования файла, описывающего связывание по умолчанию, иные же должны быть сделаны вручную.
Запустите Cvpcb используя одну из четырех больших кнопок в окне управления проектами KiCad
либо нажав на кнопку «Запустить Cvpcb» («Run Cvpcb») на панели инструментов EeSchema.
В большинстве случаев Cvpcb загрузит файл списка соединений для текущего проекта автоматически.
Левая панель Cvpcb содержит список компонентов в текущем списке соединений —
ссылочное обозначение, значение и связанный модуль, если какой-либо был с ним связан.
Правая панель содержит список доступных модулей. (Содержание списка доступных модулей
зависит от сконфигурированного набора библиотечных файлов. Вы можете добавлять дополнительные
библиотечные файлы в настройки с помощью пункта меню Cvpcb «Свойства>Настройка» («Preferences>Configuration»).)
Чтобы определить для компонента конкретный модуль сначала выберите компонент в левой панели
(щелкните по линии или используйте кнопки стрелок на панели инструментов).
Затем выберите нужный модуль в правой панели. Двойной щелчок по названию модуля (в правой панели)
свяжет его с выбранным компонентом (в левой панели). Если вы желаете осмотреть материальный отпечаток
модуля, выберите его щелкнув один раз по модулю и нажмите кнопку
«Просмотр выбранной детали» («View selected part») на панели инструментов.
Это вызовет появление окна, в котором будет находится материальное изображение модуля.
Выберите модули для всех компонентов согласно рисунку:
Рисунок, демонстрирующий законченный список:
Файл:Complete cvpcb.png
Теперь сохраните список соединений нажатием на кнопку «Сохранить список соединений и список компонентов»
(«Save Netlist and Cmp list») на панели инструментов. Лучше всего сохранять его с именем по умолчанию,
которым будет тот же файл списка соединений, с которым вы начали.
Cvpcb добавит новую информацию в этот файл.
В Cvpcb имеется возможность произвести «Автоматическое связывание» («Automatic associations»)
(оно доступно из панели инструментов), что позволит вам автоматизировать часть процесса связывания
компонент/модуль. Для этого вы сначала создаете внешний файл, который определяет модуль по умолчанию, используемый
для некоторых типов компонентов, и таким образом отпадает надобность в указании модуля каждому компоненту вручную.
Это может быть полезным для больших проектов.
Cvpcb также может создать файл «списка материалов» («stuffing list») (путем нажатия на кнопку
«Создать файл материалов» («Create stuff file»)), который будет содержать ссылочные обозначения компонентов
и связанные с ними модули/типы корпусов. Такой файл полезен при сборке печатной платы, когда последняя уже будет изготовлена.
Разводка печатной платы в Pcbnew[править]
Запустите Pcbnew(«Start Pcbnew») — редактор схем используя, либо одну из крупных кнопку в окне управления проектами KiCad, либо запустите Pcbnew(«Run Pcbnew») через редактор принципиальных схем EeSchema, кнопка запуска находится на верхней панели инструментов.
English:
Start Pcbnew either from the large button in the KiCad project window
or from the «Run Pcbnew» button in EeSchema’s top toolbar.
Чтение списка соединений (Reading in the netlist)[править]
Считать список цепей(соединений) — «Read in the netlist file». Если диалог выбора списка цепей (netlist) не начинается автоматически, нажмите на кнопку «Считать список цепей»(«Read netlist») находящуюся на верхней панели инструментов. В окне диалога, нажмите кнопку «Пролистать»(«Browse»), чтобы запустить диалог выбора файла, а затем выберите файла списка цепей(netlist), который вы недавно создали для своего проекта. Вернувшись в диалог считывания соединений, нажмите кнопку «Считать загруженный список цепей» («Read Current Netlist») в Pcbnew, после этого запустите проверку печатной платы(«Footprint Test») на возможные ошибки в расположении посадочных мест(модулей) под компоненты.
Некоторые распространенные ошибки:
-модуль имеет меньшее количество выводов, чем связанный с ним компонент
-обозначения выводов модуля не соответствуют обозначениям выводов компонента (например, выводы компонента могут быть пронумерованы, в то время как выводы модуля могут быть обозначены буквам)
Чтобы исправить такие ошибки, вам придется: или выбрать другой модуль, соответствующий компоненту, или изменить компонент, или изменить модуль — но так чтобы они совпадали.
Замечание: например, если вы сделали схематические изменения, то вы можете частично пересчитать список соединений в проектируемой плате. Подробности этого процесса не будут описаны в данном руководстве.
English:
Read in the netlist file. If
the netlist selection dialog doesn’t start automatically, click the
«Read netlist» button in the top toolbar. In the Netlist dialog,
click Select to get a file selector dialog, then choose the netlist
file that you have just created for our project. Back in the Netlist
dialog, click Read to load the netlist file into Pcbnew, then Module
Test to check for possible errors in the assignment of modules to
components.
Some common errors:
— a module with fewer pins than its associated component
— a module’s pin designators don’t correspond to the component’s
pin designators (for example the component pins might be numbered,
while the module’s pins might be identified by letters)
To correct such errors, you would need to either select a different
module that matches the component, or to modify either the component
or the module so that they match.
Note that you can reread the netlist into a partially designed board,
for example if you make a change to the schematic. The details of
this process are not be covered in this tutorial.
Расстановка модулей (Spreading out the modules)[править]
Редактор схем Pcbnew при загрузке нового списка соединений добавляет все его модули в чертеж. Это ставит их всех в одном месте, друг поверх друга, где их порой трудно найти.Если чертёж не имеет контур(очертания) платы, то недавно добавленные модули находятся на пересечении с двумя синими линиями сверху и слева от листа с рамкой. Если чертеж имеет контур платы, то в дальнейшем новые модули размещаются на обозначенной плате.
Отдельными модулями очень легко управлять. Сначала нажмите на кнопку «Режим работы Модуля: ручное и автоматическое перемещение или место расположения модулей» («Mode Module: Manual and Automatic Move or Place for modules»), на верхней панели (вторая справа). Необходимо чтобы кнопка была во «вжатом» положении. Затем щелкните правой кнопкой мыши в пустом пространстве чертежа, и выберите пункт «Перемещение и размещение Glob»> «Переместить все модули» («Glob Move and Place>Move All Modules»). Это расставит модули.
Переместите группу модулей в центр листа следующим образом: выделите все содержащиеся модули рамочкой (т.е. удерживая левую кнопку мыши до тех пор, пока не переместите курсор мыши в расположенный напротив край рамочки). Отпустите кнопку мыши, переметите мышь, таким образом что бы рамочка была около цента красного наброска листа. Левая кнопка закрепить в новом положении, и нажмите кнопку ОК в диалоговом окне.
Если вы в конце операции закрепления, вместо левой кнопки используете правую, вы увидите всплывающее меню, с помощью которого вы можете выбирать такие операции как как копирование, перетаскивание, отражение(переворот), удаление. «Отражение» это то как вы повернёте верхнюю «часть» модулей в сторону низа, перевернуть другой стороной «монету», и наоборот.
На данном этапе можно сделать набросок контура вашей платы. Это было бы особенно уместно, если вы уже знаете характеристики платы. В этом учебнике, мы будем выбирать размер платы позже и отложим оформление контура. Если контур платы был определен, редактор схем Pcbnew умеет автоматически разместить компоненты, но мы будем делать размещение вручную.
English:
When you load a new netlist, Pcbnew adds all of its modules to the
drawing. It places them all in one place, on top of one another,
where they are sometimes difficult to find. If the drawing does not
yet have a board outline, newly-added modules are placed at the
intersection of the two blue lines above and left of the sheet frame.
If the drawing does have a board outline, new modules are placed below
the outline.
Separate the modules so they are easy to manipulate. First click on
the «Mode Module …» button in the top toolbar (second from right).
You want that button to be in the «down» position. Then right-click
in an open area of the drawing, and select «Glob Move and Place>Move
All Modules». That will spread out the modules.
Move the group of modules to the center of the sheet as follows:
Drag-select a rectangle containing all the modules (i.e. hold down the
left mouse button while moving the mouse to the opposite corner
of the rectangle). Release the mouse button, the move the mouse
so the rectangle is near the center of the red sheet outline.
Left-click to place the block in the new position, and click
Ok on the dialog.
If you end a block operation with right-click instead of left-click,
you’ll get a popup menu that lets you can choose operations like Copy,
Drag, Mirror, and Delete. «Mirror» is is how you move modules from
the top «component» side to the bottom «copper» side of the board, and
vice versa.
At this point you could draw the outline of your circuit board. That
would be especially appropriate if you already know the board form factor.
In this tutorial, we’ll decide on the board size later and wait to
draw in the outline. When a board outline has been defined, Pcbnew can
place components automatically, but we’re going to do a manual placement.
Вспомогательное размещение — Placement aids[править]
Прежде чем мы продолжим с размещением, давайте взглянем на некоторые особенности Pcbnew, которые могут нам помочь с этой задачей. Наиболее важными из них являются ratsnests и airwires(соединения по воздуху).
English:
Before we continue with placement, let’s look at some of Pcbnew’s
features that can help us with that task. The most important are
ratsnests and airwires.
Ratsnests и Airwires[править]
При перемещении модулей, Pcbnew будет показывать «airwires», представляющие собой белые линии соединений каждого из контактов модулей до ближайшей точки (контакта или дорожки) в той же цепи. Airwires(соединения по воздуху, воздушные нити) динамически меняются когда вы двигаете компонент, «как резинка» и временами «обхватывают» остальные близлежащие конечные точки. Эта функция поможет вам найти места с предельно короткой протяженностью связи. Вы можете включать функцию airwire одновременно с «Модулем Ratsnest»(«Module Ratsnest»), кнопка на левой панели инструментов.
Так как модуль airwires предназначен для просмотра, Pcbnew умеет показывать общий ratsnest(«general ratsnest»), с указанием всех несвязанные цепей на всем чертеже. Это полезно для просмотра плохо различимых точек на чертеже — в районах пересечений вспомогательной сетки. В более поздних стадиях процесса трассировки, это полезно для обнаружения цепей, которые еще не были разведены. Вы можете включать эту функцию одновременно с «Общим ratsnest»(«General ratsnest»), кнопка на левой панели инструментов. Если ratsnests отображается неправильно, то команда «Обновить» (кнопка в правой части меню, или средняя кнопкой мыши), зачастую, исправит картину.
Если вы хотите не использовать «Общий ratnests» — отключить для удобства просмотра, но все еще хотите видеть ratsnest для определенного контакта или компонента, используйте «Местное отображение Ratsnest»(«Display Local Ratsnest», в русской версии этот инструмент называется «Добавить модули» — согласно справочным данным «KiCad»), расположенный на правой панели. Когда этот инструмент активен, нажав на контакт или модуль — будет показывать его ratsnest. Вы можете добавить дополнительные отображения ratsnests, нажав на нескольких модулях, или очистки показ, нажав в пустой области. (Вы можете увидеть модуль ratsnest, переместив его, но возможен риск разорвать какую-нибудь связь, которая уже подключена к нему. Если вы нарушите связи таким образом, вам придется удалить связи или их сегменты и восстановить их.)
English:
When you are moving a module Pcbnew will show «airwires», which are
white lines connecting each of the modules pins to the nearest other
place (pin or track) on the same net. The airwires dynamically
change as you move the component, «rubberbanding» and sometimes
«snapping» to other nearer endpoints. This feature helps you find
placements with short overall connection lengths. You can turn the
airwire feature on and off with the «Module Ratsnest» button in
the left toobar.
In addition to the per-module animated airwires, Pcbnew can display
a «general ratsnest», showing all the unconnected nets for the whole
drawing. That’s useful for seeing «hotspots» in the drawing — areas
where many nets cross. In later stages of the layout process, it’s
helpful for locating nets that have not yet been routed. You can
turn this feature on and off with the «General ratsnest» button in
the left toolbar. If the ratsnests seem to display incorrectly,
the «Redraw» command (in the right-click menu, or middle mouse button)
will often fix the display.
If you want to leave «general ratnests» turned off for tidiness, but
you still want to see the ratsnest for a specific pin or component,
use the «Display Local Ratsnest» tool in the right toolbar. When that
tool is active, clicking on a pin or module will display its ratsnest.
You can add additional ratsnests to the display by clicking on more
modules, or clear the display by clicking in an empty region. (You
could see a module’s ratsnest by moving it, but that would risk breaking
any tracks that are already connected to it. If you break tracks in
this way, you would have to delete the tracks or some segments thereof
and reconnect them.)
Подсветка цепи — Net highlighting[править]
«Подсветка цепи» инструмент (на правой панели) предусматривающий другой метод просмотра соединений для конкретной цепи. С активацией этой инструмента, при нажатии на ножку(площадку) или на дорожку, все ножки(площадки) и дорожки в этой цепи станут подсвечены. При нажатии на другую ножку(площадку) изменится подсветка новой цепи, при нажатии на свободное место погасится вся подсветка.
English:
The «Net highlight» tool (right toolbar) provides another way to see
the connections for a particular net. With that tool active, if you
click on a pad or a track, all of the pads and tracks on that net
will be highlighted. Clicking on a different pad will change the
highlight to the new net, and clicking in an empty are will clear
all the highlighting.
Правила контроля чертежа — Design Rules Check[править]
«Правила контроля чертежа» («DRC») — функция контроля новых трасс(соединений), чтобы они не слишком близко располагались друг к другу. Эти разрешающие правила настраиваются в пункте меню — «Размеры»> «Дорожки и переходные отверстия»(«Dimensions»>«Tracks and Vias»). С включенными Правилами контроля чертежа(«DRC On»; по умолчанию), Pcbnew не позволит вам разместить отрезок трассы(дорожки), который нарушает правила. При проведении отрезка трассы, «охраняемое пространство» вокруг него отображается узким линиями. Если это «охраняемое пространство» совпадает с имеющимся объектом, Pcbnew не размещает отрезок трассы при нажатии кнопки. Правила контроля чертежа могут быть отключены «Выключить Правила контроля чертежа»(«DRC Off»), в верхней части левой панели.
Теперь вернемся к нашей задаче. Расположить элементы, как показано на следующем рисунке(которого нет). Нажимая правой кнопкой мыши на модуле, вы можете выбрать различные способы его перемещения и его переориентации.
English:
The «Design Rule Check» (DRC) feature checks new tracks to ensure that
things don’t get too close together. (The clearance rules are configured
by the «Dimensions>Tracks and Vias» menubar item.) With «DRC on» (the
default), Pcbnew will not allow you to place a track segment that violates
the rules. While you are drawing a track segment, the «keepout area»
around it is shown by narrow lines. If that keepout area overlaps an
existing object, Pcbnew won’t place the segment when you click.
DRC can be turned off with the «DRC Off» button at the top of the left toolbar.
Now let’s return to the task at hand. Place the components as shown in the
following figure. You can right-click over a module to select various
ways to move and reorient it.
<figure>
Автоматическая разводка(трассировка) — Auto-routing[править]
Разместив все модули, давайте попробуем авто-трассировку. Команды автоматической трассировки доступны в меню нажатием правой кнопкой мыши, но сначала вам надо сделать их доступными — нажатием кнопки «Режим Трассировки и Авто-трассировки»(«Mode Track and Autorouting» ), кнопка на верхней панели инструментов.
Нам хотелось бы сделать одностороннюю плату для этой простой схемы, поэтому мы расскажем об использовании Авто-трассировки только для одной стороны. Щелкните правой кнопкой мыши в пустую область и выберите пункт «Глобальная Авто-трассировка»> «Выбор пары слоев»(«Global Autoroute»>»Select layer pair»). В диалоговом окне выберите «Медь»(«Copper») как верхний и нижний слои(Top Layer & Bottom Layer), и нажмите кнопку ОК. (Некоторые люди называют его «припаянная сторона» вместо «сторона меди».)
Теперь щёлкните правой кнопкой мыши в пустую область и выберите пункт «Глобальная Авто-трассировка»> «Авто-развести все модули»(«Global Autoroute» > «Autoroute All Modules»). Поскольку речь идет о небольшой цепи, вы скоро должны увидеть разводку похожую один в один на приведённую на рисунке ниже(которого нет). (Для сложных схем или на медленных машинах процесс разводки может занять несколько минут.)
Дополнительно вы можете указать Pcbnew: авто-развести всё за один раз, авто-развести один модуль, цепи или контакты. Щелкните правой кнопкой мыши «Авто-трассировка» над модулем по маршруту всех цепей, связанных с этим модулем. Щелкните правой кнопкой мыши «Авто-трассировка цепи» над контактом по маршруту всей цепи, связанной с этим контактом. Щелкните правой кнопкой мыши «Авто-трассировка контакта» над контактом по маршруту кусочка цепи, ближайшего соседнего с этим контактом. Вы можете использовать это, чтобы помочь авто-трассировщику выполнять лучше разводку, выбирая порядок следования по разводящейся цепи.
English:
Having placed all the modules, let’s try the auto-router. The auto-routing
commands are accessed with the right-click menu, but you first have to
enable them by clicking the «Mode Track and Autorouting» button in the
top toolbar.
We wish to make a single-sided board for this simple circuit, so we’ll
tell the auto-router to use only one side. Right-click in an empty area
and select «Global Autoroute>Select layer pair». In the dialog, select
«Copper» for both Top Layer and Bottom Layer, and click OK. (Some people
call it the «solder side» instead of the «copper side».)
Now right-click in an empty area and select «Global Autoroute >
Autoroute All Modules». Since this is a small circuit, you should
soon see a routing similar to the one in the figure below. (For
complex circuits or slow machines the routing process can take
several minutes.)
<figure>
In addition to autorouting everything at once, you can tell Pcbnew to autoroute
a single module, net or pad. Right-click «Autoroute» over a module to route
all the nets connected to that module. Right-click «Autoroute net» over a pad
to route the entire net connected to that pad. Right-click «Autoroute pad» over a
pad to route a portion of the net, from that pad to a nearby neighbor. You
can use these to help the autorouter to do a good job by choosing the order
in which nets are routed.
Ручная правка[править]
Для завершения проекта обычно требуется ручное вмешательство. Автоматическая система трассировки часто не может найти способа провести некоторые соединения; такие соединения отображаются как перемычки. Иногда разработчик предпочитает другой путь для некоторых соединений, чем тот, который определился системой автоматической трассировки.
Для устранения таких проблем можно удалить некоторые соединения (особенно те, что препятствуют разводке в важных зонах соединений) и либо повторить автоматическую трассировку, либо определить маршрут для соелинений вручную, либо сделать и то и другое.
Следующая иллюстрация показывает проект, исправленный вручную. Для того, чтобы уменьшить риск короткого замыкания при последующем производстве, старайтесь не располагать соединения между выводами интегральных микросхем.
<figure>
Следующая техника ручной правки поможет вам завершить разработку платы.
English version of above:
Manual layout
Manual intervention is usually necessary to complete the layout.
Often the autorouter does not find a way to route some of the nets —
those unrouted nets are displayed with ratsnest lines. For some of
the routed nets, the user will often prefer a different routing than
the one the autorouter chose.
To fix such problems, you might have to delete some of the routed
tracks (particularly ones that «block» important routing zones) and
either re-run the autorouter, route some of the tracks manually, or
some combination of the two.
The following figure shows a layout that was redone manually. In
order to reduce the risk of short circuits during later fabrication
steps, the manual layout avoids having tracks pass between pairs
of IC pins.
<figure>
The following manual-layout techniques will help you complete
the layout:
Удаление соединений[править]
Используя правую кнопку мыши можно удалить одиночное соединение. Если вам нужно удалить подряд несколько соединений лучше использовать инструмент «Удаление элементов» («Delete items»), расположенный на правой стороне (пиктограмма выглядит как ластик на конце карандаша). Заметьте, что на время активации данного инструмента курсор принимает особую форму. Не забудьте выключить данный инструмент по окончании удаления (нажмите правой кнопкой мыши на «Положить инструмент» («End Tool»), выберите другой инструмент из правого набора инструментов или просто нажмите Esc) чтобы случайно не удалить что-нибудь нужное.
При использовании правой кнопки мыши для удаления соединений, можно указать, что нужно удалить Сегмент соединения, Соединение или Линию. «Сегмент» — это часть соединения между двумя «вершинами» («вершина» — место изгиба соединения). «Соединение» — это непррывная последовательность сегментов, соединяющая две контактных площадки для пайки элементов. «Линия» — это все соединения, относящиеся к одному участку схемы из непосредственно соединенных элементов.
English version of above:
Deleting tracks
From the right-mouse menu you can delete
single track pieces. If you want to delete several tracks in
succession, it’s faster to use the «Delete items» tool in the right
toolbar (the icon looks like a pencil eraser). Notice the special
cursor shape when Delete tool is active. Remember to turn off the
Delete tool when you’re done (right-click «End Tool», or choose a
different tool from the right toolbar, or just hit the Esc key), so
you don’t accidentally delete something later.
When using the right-mouse to delete tracks, you can choose to delete
either a Segment, a Track, or a Net. A «segment» is a piece of track
between two «nodes» (a node is a place where the track can change
direction). A «track» is a connected set of segments between two
module pads. A «net» is all of the tracks that are associated
with a given schematic net.
Рисование соединений[править]
Для того, чтобы нарисовать новые соединения, используйте инструмент «Добавить соединения и пути», расположенный справа. Начните соединение кликнув левой кнопкой мыши на контактной площадке. Передвиньте указатель мыши с тянущейся за ним линией к точке перегиба и еще раз нажмите левую кнопку мыши. (Если точка перегиба не зафиксировалась после этих действий, значит Контролер соблюдения правил разводки (Design Rule Checker) обнаружил проблему. Мешающий объект будет указан небольшой белой стрелкой.) Продолжайте соединение, добавляя в необходимых местах перегибы. По достижению точки назначения (обычно — другой контактной площадки), закончите соединение двойным щелчком мыши или из меню, вызываемого по правой кнопке мыши, — «Завершить соединение» («End Track»).
Во время рисования соединения, Pcbnew выделяет все элементы, которые должны быть соединены с данной Линией — это могут быть контактные площадки или уже проведенные соединения. Также отображается белая перемычка между начальной контактной площадкой и ближайшей контактной площадкой Линии и желтые перемычки до всех других контактных площадок данной Линии. Это помогает увидеть возможные направления проведения соединения.
Контролер соблюдения правил разводки (Design Rule Checker) не позволит вам соединить новую Линию с существующим элементом (соединением, линией или путем) из другой Линии. Также вы не сможете провести соединеие слишком близко к такого рода элементу. (Термин «слишком близко» определяется с помощью Меню->Настройки->Размеры->Зазоры контактной площадки ? («menubar > Dimensions > Track and Vias > Clearance»).) Это означает, что невозможно соединить элементы на печатной плате до тех пор, пока они не соединены на схеме!
Соединть оставшиеся Линии (Connect the remaining nets) — разъем DB9 прикрепляетя на сторону компонентов печатной платы. На реальной плате, которая предполагается односторонней, будет необходимо использовать провода или перемычки для того, чтобы сделать необходимые соединения. Однако, мы можем использовать Pcbnew для того, чтобы отобразить эти проаодв так, как будто они были бы соединениями второго (со стороны компонентов) слоя печатной платы. Это также даст нам также возможность проиллюстрировать возможности Pcbnew по проектированию многослойных печатных плат.
Смотри также Manual Routing Notes — Примечания к ручной разводке соединений
English version of above:
Drawing tracks
To draw a new tracks, use the «Add tracks and vias» tool from the right
toolbar. To start a track, left-click on a pad. Extend the track
line to the next corner and left-click again to place the corner node.
(If the corner does not «stick» when you try to place it, the Design Rule
Checker found a problem. A small white arrow shows the interfering
object.) Continue extending the track and placing corners as
necessary. When you reach the destination point (typically a pad),
finish the track by either double-clicking on the destination point,
or with right-click «End Track».
While you are drawing a track, Pcbnew hightlights all of the items
that are supposed to be attached to that net — both pads and
already-placed tracks. It also displays a white ratsnest line from
the starting pad to the nearest pad on the net, and yellow airwires to
all of the other pads on that net. That helps you see possible
destinations for your new track.
The Design Rule Checker will prevent you from connecting a new track
to an existing item (track, pad, or via) on a different net from the
one you’re routing. It won’t even let you get too close to such an
item. («Too close» is defined by «menubar > Dimensions > Track
and Vias > Clearance».) This means you cannot connect things on the
board unless they are connected on the schematic!
Connect the remaining nets — the DB9 connector pins on
the component side of the board. On the real circuit board, which is
intended to be single-sided, we’ll need to use wires or jumpers for
those connections, but we can use Pcbnew to represent those wires as
if they were component-side PCB tracks. This will also give us an
opportunity to illustrate Pcbnew’s multiple-layer capabilities.
See Also: Manual Routing Notes
Двусторонние печатные платы[править]
Earlier, we told the autorouter to use only the copper side, and we’ve
been using that side for our manual routing too. Now we want to start
using the component side too. There are several different ways to
control the layer selection, depending on which tool is active.
- With the «Add tracks and vias» tool active, right-click «Select Working Layer» chooses the electrical layer for new tracks.
- With the «Add tracks and vias» tool active, right-click «Select layer pair for vias» gives you a dialog similar to the global autorouter layer dialog, so you can select top and bottom layers for new vias.
- With the Selection tool active, right-click «Global Autoroute > Select Layer Pair» controls the layers the autorouter uses.
- With the Selection tool and most of the other tools, right-click «Select Working Layer» controls the layer for subsequent drawing commands (in addition to electrical layers like copper and component, you can also draw on auxiliary layers like silkscreens and solder masks).
Activate the «Add tracks and vias» tool —
right-click «Select Layer Pair» and choose Top Layer = Component ,
Bottom Layer = Copper.
Connect the DB9 pins. Start drawing a track from one of the MAX232 pins that is supposed
to be connected to the DB9 connector. That track should start out
on the copper layer. Extend the track toward the DB9 as shown in
the figure below.
<figure>
When you get near the DB9, right-click «Place Via» and then extend the
track over to the DB9 connector pin. Notice that the track switched
to the component side after the via. (The board could still be fabricated
as single sided, using jumper wires instead of the component side tracks.)
Repeat the process for the 2 remaining unconnected nets as shown in the
figure below. Now that you are drawing on the component side of the
board, you have two options for connecting the remaining tracks:
a) You could start the track at the DB9 connector and move toward
the MAX232 part, switching automatically to the copper side when
you place a via, or
b) You could manually switch back to the copper side, then start the
track at the MAX232 end. To switch manually, either right-click
«Select Working Layer», or choose «copper» from the drop-down list
near the right end of the top toolbar.
<figure>
If you need to move a module to the other side of the board,
use right-click «Invert Module». The pads will change color,
showing you that they are on the other layer, and the drawing
will change to its mirror image, consistent with the flip that
must occur to put the device «upside down».
Многослойные печатные платы[править]
Мы рассмотрели работу только с двумя слоями, но Pcbnew позволяет использовать больше.
The menu item «Preferences > General Options» lets you choose anywhere from
1 to 16 copper layers.
ddd
Контур платы — Board outline[править]
Нарисовать Контур Платы. В KiCad для этих целей существует специальный слой под названием «Edges PCB» (контур платы).
Вы можете выбрать его из выпадающего меню слоев или нажатием правой кнопки мыши, выбрав пункт «Select Working Layer» (Данный способ не сработает, если активен инструмент «Add tracks and vias»(Добавить дорожки и переходные отверстия)).
Для того, чтобы вам было проще рисовать контур платы, вы можете выбрать полноразмерный курсор. Это позволит вам гораздо удобнее чертить прямоугольники и другие объекты с прямыми углами. Для того, чтобы изменить вид вашего курсора нажмите кнопку «Change Cursor Shape»(Изменить форму курсора) на левой панели.
После выбора слоя «Edges PCB» и включения полноразмерного курсора,
нажмите кнопку «Add graphic line or polygon» (Добавить графическую линию или полигон) на правой панели.
Нарисуйте контур платы как показано ниже, и завершите построение двойным нажатием на левую клавишу мыши или выбором пункта «End Drawing» (Закончить черчение) правой кнопки мыши. Помните, что в статусной строке отображаются все координаты вашего курсора, что может помочь вам при рисовании.
<figure>
Так же существуют инструменты для рисования окружностей, закруглений, текста и прочее. Они полезны не только для рисования контура платы, но и так же для рисования по слою шелкографии и паяльной маски. В данном руководстве это будет рассмотрено лишь поверхностно.
Zone Fills[править]
At this point, we could fabricate the design, but instead we’ll do one
last optimization. We’ll fill the open areas on the copper side with
a copper zone. In addition to the extra electrical grounding, it reduces
waste because less corrosive liquid («etchant») is needed to dissolve
away the copper. (It also make mechanical etching or PCB milling
feasible.)
Select the Net to Connect to the Zone
If you want the zone to be connected to a net (for example GND), select
that net using the Net Highlight tool.
You must first wire up the net with traces before filling in the zone, or
you will get DRC errors. If you do not want the zone to be connected to a net,
make sure that no net is currently hightlighted (also look in the status bar
at the bottom of the window).
Activate the «Add zones» tool — click on the «Add zones» tool in the right toolbar.
Use the left mouse button to draw a zone boundary, double-clicking to complete
the polygon.
Then, in an empty area, right-click «Select Working Layer» and
choose the copper layer. In an empty area inside the board
outline, right-click «Fill zone». You’ll get a dialog with several
options controlling the filling process. Experiment to see how they
work. If you don’t like the result of a fill, right-click «Delete Zone»
and try again. If there are unfilled «islands», you can fill them
too by doing the fill operation with the mouse over those zones.
Two fill results are shown below, with different settings for «Grid»
(0.010 and 0.005).
Figure below demonstrates a completed board
Файл:Complete board.png
The «Zone Limit» boundary cannot be edited; you have to delete it and start over.
This can be tedious if you want to revise your layout. One workaround is to
draw a boundary with a track that is not associated with any net. You can draw
such a track by turning DRC off. The zone fill will stop at that track (assuming
that it is not highlighted when you perform the fill), and you can later reposition
the track with the usual track editing commands.
Просмотр 3D-модели платы в 3D Viewer[править]
You can look at a 3D representation of the board by selecting
«3D Display > 3D Display» from the menubar. The 3D Viewer lets
you rotate the image to see it from any angle. The 3D view
doesn’t show filled zones, because they would obscure everything
else.
The 3D view always shows tracks and vias; it shows the part packages
too if the necessary library files are present. The 3D view of this
design can be more elaborate if you copy some 3D components from
the author’s web site (address at end).
To change it so you see a socket instead of the MAX232 device,
bring up it’s Module Properties dialog (either by double-clicking
in an free area over the module with the Selection tool active,
or with right-click «Edit Module»). Select the «3D settings» tab.
Browse to find the file «soquete_16.wrl». (It will be easier to
find your additional 3D shape files if you place them in the project
directory or a subdirectory.)
The 3D view of a device can consist of several different pieces,
so you could display both the socket and also the part in the
socket. To do that, go into the «3D Settings» dialog as before
and this time click on «Add 3D Shape». Browse to select the
shape «dil_16.wrl», and set the Y Offset to 0.1500. That will lift
the part picture off the board so it appears to be in the socket.
You could have done this in the other order too — instead of
first changing the dil_16 to a socket, you could have just
change the dil_16’s offset to 0.1500 and then added the socket
as the second shape.
You could also use the new capacitor models (c_vert_c1v5.wrl) from the
author’s web site. It’s not a good idea to change the models in the
original KiCad libraries. Instead, put the new models in a separate
directory and edit the module properties to refer to the file in the
new directory. The result should look like the following figures.
Figure shows an axonometric view of board from component side
Файл:Complete 3D.png
Создание файлов для промышленного изготовления платы[править]
Если вы используете сторонний продукт для изготовления печатных плат, то вам необходимо сгенерировать Gerber-файлы, описывающие слои плат. Сначала вам возможно необходимо будет нанести fiducial маркеры на ваш рисунок с помощью сервиса «Add Mires» справа на панели инструментов. Также существует сервис «Adjust Offset», который позволяет контролировать the origin for drill and placement files. Для создания Gerber-файлов используйте команду «Начертить» («Plot») (кнопка вверху панели инструментов либо пункт меню «Файлы>Начертить» («Files>Plot»)). Выберите формат вывода Gerber и установите другие опции согласно вашим fab shop’s требованиям.
Если вы планируете изготавливать платы самостоятельно, используя термический либо фотографический методы, вам следует напечатать проверочные чертежи (plots) на обычной бумаге перед тем как наносить конечный чертеж на реальный носитель. Проверочный чертеж может помочь вам получить действительный масштаб, компенсируя различия принтеров. Для принтера автора нужно было устанавливать масштабный коэффициент равным 1.03480 чтобы сделать печать точной по размерам.
Для определения правильного масштабного коэффициента измерьте размер компонента с известными длиной и шириной на проверочном чертеже или сравните его с соответствующим размером в самой Pcbnew. Для этой цели может быть использован сервис «Добавить cotation» («Add cotation») справа на панели инструментов, также чтобы узнать точную позицию курсора вы можете посмотреть на панель состояния внизу.
В свою очередь удостоверьтесь, что ваши компоненты точно нанесены на проверочном чертеже. Будет очень досадно, когда выяснится что вы использовали неверный отпечаток для детали уже после того как плата будет изготовлена.
После уточнения масштаба можете печатать окончательный чертеж. Удостовертесь, что сделали выбор правильных слоев перед печатью!
Ограничения миниурока[править]
There are many aspects of KiCad that this tutorial does not address. Information about
them may be found in the on-line help. Here is a partial list of such things:
- Preferences
- Library Editing
- DRC Configuration
- Labels
- Multi-section devices
- Hidden pins
- Polar Coordinates
- Buses
- Hierarchical (multi-page) drawings
- Bill of Materials
- Communication between EeSchema and Pcbnew
- Revising designs
- Silkscreens and other layers
- Changing the sizes of various items
- Grid and unit issues
- Rescuing board designs
- Device documentation features
Благодарности[править]
Этот миниурок изначально был написан на португальском языке, реквизиты автора:
Автор: Рене С. Маркет (Renie S. Marquet) 16/09/2005 Analyst of Systems Niterói -RIO DE JANEIRO - Brazil Hobbysta of electronics: сайт: http://www.reniemarquet.cjb.net email: reniemarquet@uol.com.br (проверьте официальный сайт KiCad и узнайте о новых трюках и компонентах)
Оригинальная португальская версия доступна на указанном сайте.
Данный урок был сконвертирован в формат HTML и текст несколькими добровольцами и программно переведен с португальского на английский.
Мич Брэдли (Mitch Bradley) перефразировал его в доступный английский, добавив Wiki-форматирование и дополнительные объяснения.
Краткий обзор
О Руководство по Kicad, Руководство пригодится новичкам, которые хотят использовать Kicad. Как и с Eagle, это будет непросто. Но как только привыкнете к нему, Вам понравится использовать его для разработки макета печатной платы. В этом обучении Вы узнаете, как использовать руководство Kicad для создания, редактирования и связывания библиотек печатных плат. Всё это будет происходить перед их экспортом в Gerbers для изготовления.
Шаг 1: Скачивание руководства Kicad
Первое, что Вам нужно сделать, чтобы начать работу, — это загрузить KiCad. Важно, чтобы у Вас была последняя версия программного обеспечения, в зависимости от вашей программы.
После установки программы необходимо создать окно навигации, которое позволит открывать периферийные программы, такие как макет печатной платы и ввод схем.
Шаг 2: Настройка проекта
Вам нужно будет загрузить проект для KiCad и распаковать файлы в Вашем локальном каталоге. Для этого могут понадобиться следующие файлы:
Pro — помогает отслеживать структуру
CMP: определяет контуры, которые будут использоваться с компонентами схемы.
Схема платы Kicad: они определяют схему печатной платы
Sch- относится к схеме
Это основные файлы, которые необходимо совместно использовать в проекте KiCad. Кроме того, Вам может потребоваться предоставить общий доступ к файлу контура.
Обратите внимание, что KiCad работает иначе, нежели Eagle, и требует, чтобы Вы определяли контур, по которому должен идти каждый компонент.
Шаг 3: Настройка библиотеки компонентов
Вам нужно дважды щелкнуть Kicard Eechema. Если Вы получили сообщение об ошибке, игнорируйте его. Если схема загружается со знаком вопроса, это означает, что в KiCad отсутствует ссылка. Поэтому может потребоваться связать ее с устройствами, содержащими схему.
Связывание Ваших компонентов с библиотеками
Щелкните библиотеки компонентов и разрешите создать открытое окно. В файле проекта содержится информация о том, где находится файл библиотеки компонентов.
Шаг 4: Добавление компонентов в Вашу схему
Если Вы хотите добавить устройство в схему, всё, что вам нужно сделать, это нажать кнопку «Добавить». Она открывает окно компонента и позволяет выбрать компонент среди сотен доступных. Следующее, что нужно сделать, это выбрать устройство и нажать Enter. Затем поместите его в следующую схему.
Как только конденсатор будет установлен, Вы заметите, что он все ещё находится в режиме размещения. Здесь Вам нужно нажать Esc, чтобы вернуться в обычный режим указателя.
Копировать компонент очень просто. Для этогго поместите мышь на 3,3В и нажмите С, чтобы скопировать устройство и поместить его в нужное положение.
Шаг 5: Подключение компонентов
Затем Вы должны попытаться соединить компоненты, наведя указатель мыши на кружки и нажав W.
Шаг 6: Аннотирование компонентов схемы
KiCad помогает добавлять аннотации к Вашей схеме автоматически. Для этого нажмите кнопку аннотировать компоненты схемы и использовать настройку по умолчанию, а затем нажать кнопку, чтобы подтвердить это. Kicad запросит у вас подтверждение аннотации. Как только Вы подтвердите это, компоненты будут добавлены.
Привет, я Хоммер, основатель WellPCB. На сегодняшний день у нас более 4000 клиентов по всему миру. Если у вас возникнут какие-либо вопросы, вы можете связаться со мной. Заранее спасибо.
РадиоКот >Обучалка >Программные пакеты >KiCad >
Изучаем KiCad. Часть первая.
Наверное каждый радиолюбитель знает такую замечательную программу для разводки печатных плат, как Sprint Layout. Она настолько проста и интуитивно понятна, что разберётся каждый школьник. Плюс ко всему — русифицирована. Именно поэтому она завоевала такую популярность, что некоторые продолжают в ней разводить довольно сложные проекты, убивая не один день (а то и недели) драгоценного времени. Этим людям я советую взглянуть на более сложные EDA , которые потребуют некоторого времени на их изучение, зато потом оно с лихвой окупится быстротой и качеством разводки плат под новые проекты.
Таких систем проектирования не очень много, и они все на слуху: P-CAD, OrCAD, DipTrace, Proteus, Eagle и другие. Но всех их объединяет одно — они платные, если и есть бесплатные версии, то они сильно урезаны, хотя нашего брата этим не испугать…
Open source же проекты, как часто бывает, были настолько сырыми, что их использование без словаря русского мата было невозможным. Но один из этих проектов оказался не просто пригодным к использованию, а отлично работающим, и гораздо удобнее некоторых проприетарных аналогов.
Это программный комплекс, предназначенный для разработки схем и проектирования печатных плат. Состоит из нескольких частей:
- Eeschema — редактор схем
- CvPcb — сопоставление УГО компонентов и посадочных мест
- Pcbnew — трассировщик печатных плат
- GerbView — просмотр и редактирование gerber-файлов
- Bitmap2Component — утилита для добавления изображений
- pcb_calculator — удобный калькулятор
- KiCad — менеджер проекта и всего этого безобразия.
Интерфейс всех частей полностью русифицирован, а самое главное — имеет полную и грамотную русскую справку.
Я не буду расписывать процесс установки, он стандартен и описан в справке. Итак, запускаем:
Это окно управления проектом. Нажимаем «начать новый проект» — сохраняем файл проекта.
Файл проекта — текстовый файл с расширением .pro, в котором хранятся все настройки текущего проекта: нестандартные пути к библиотекам, пути к файлам схем и плат, и другие вещи, относящиеся к текущей рабочей сессии.
Под него нужно выделить отдельный каталог и все файлы, что там лежат, отображаются на дереве слева. Кроме непосредственно рабочих файлов туда можно сложить что-нибудь относящееся к текущему проекту, например даташиты, книги, просто текстовые файлы с любым вашим творчеством. Всё, что находится в этом каталоге можно заархивировать одним щелчком мыши (пиктограмма с изображением архиватора) — удобно, например, для пересылки по e-mail.
Всё, можно приступать к созданию схемы.
Запускается кнопкой на правой панели. Сначала будет страшное сообщение, что файл схемы не найден. Это происходит потому, что KiCad запустил Eeschema и дал ей команду открыть файл <имя_проекта.sch>, которого пока не существует. Не пугаемся, просто нажимаем «сохранить» в редакторе схем. Теперь в дереве проекта создался файл схемы (пока пустой), и если закрыть и открыть заново редактор — сообщения не будет.
Файл схемы — текстовый файл с расширением .sch, в нём и хранится принципиальная схема.
Осваиваемся. Инструментов там не много по сравнению с другими системами. Левая панель отвечает за настройки отображения, на правой находятся все инструменты. Попробуем создать простейшую схему — транзистор, два резистора и светодиод. Выбираем справа инструмент «Разместить компонент» и тыкаем в любом месте листа, в диалоге жмём «выбор просмотром»
Это окно выбора компонентов из библиотек. Выбираем либу «Power», компонент GND, справа вверху кнопку «разместить компонент» — он появится на листе. Аналогично транзистор из «transistors» и LED из «device». Двигать компоненты можно через контекстное меню (вообще все действия там есть) или клавишей «M», вращать «R», копировать «C», удалять «Delete». Соединяем как надо, должно получиться что-то типа этого:
Но что это? Разве это красивая схема? Что это за земля, а резистор? Убожество! Не подходят нам буржуйские УГО, ну никак! Не, если вам нравится — можете пользоваться, а я лучше нарисую свои, благо все средства для этого есть. Да в любом случае столкнётесь с тем, что какого-нибудь компонента не хватает, придётся либо усердно гуглить, либо рисовать. Зачастую второе быстрее.
Находится в меню «Инструменты» либо на аналогичной кнопке на панели инструментов. Он очень похож на редактор схем, но убраны ненужные инструменты, оставлена панель рисования. Самое главное, нужно не запутаться с последовательностью действий при создании нового компонента. Для этого вначале нажимаем «Создать новый компонент» вверху:
Поле «имя компонента» задаёт его название, и должно быть уникально внутри библиотеки. «Обозначение» — это его обозначение на схеме, например «R» — резистор, «C» — конденсатор, и т.д. «Количество элементов корпусе» указывается для логики, ОУ и других микросхем, состоящих из физически одинаковых блоков, которые можно заменить на плате для более удобной разводки. Это поле необходимо как для автотрассировщика, так и для ручной трассировки. Но у нас пока таких элементов нет, оставим 1. Остальные поля пока оставим по умолчанию.
На листе появятся имя компонента и его обозначение. Пока рисовать не начинаем, если что — имя и обозначение можно поправить прямо на листе.
Теперь самое важное: нужно создать новую библиотеку с нашим компонентом, чтобы не испортить стандартные (они еще пригодятся). Нажимаем кнопку вверху «Сохранить текущий компонент в новой библиотеке», и сохраняем файл по удобному пути. В этом месте создастся файл библиотеки с текущим компонентом внутри.
Файл библиотеки — текстовый файл с расширением .lib, содержит в себе УГО компонентов, их характеристики и описание.
Увидим такое сообщение. Это означает, что вновь созданная библиотека не подключена к проекту, и мы работаем с ней просто как с отдельным файлом. Но подключить её можно прямо сейчас, в редакторе компонентов, в меню «Настройки» — «Библиотека». Нажимаем «Добавить» и добавляем в список свой файл. Двигаем его вверх списка, так как порядок библиотек имеет значение, если в разных библиотеках встретятся компоненты с одинаковым именем. Например наш резистор называется «R» и у нас, и в библиотеке «device». В редакторе схем будет отображаться тот, чья библиотека выше в списке.
Библиотеку подключили, теперь надо её выбрать, как рабочую для редактора компонентов. Это кнопка «Выбор рабочей библиотеки». Откроется окно со списком, и там уже должна быть наша. Я обозвал её «R»
После выбора, в заголовке окна редактора компонентов должно появиться название текущей библиотеки. Отлично.
Данный компонент уже сохранён в библиотеке, но если внести некоторые изменения, его нужно пересохранить. Это кнопки «Обновить текущий компонент в текущей библиотеке» и «Сохранить текущую библиотеку на диск». Можно просто нажать последнюю, она спросит сохранять ли при этом компонент или нет.
Итак, повторим немного основные вещи работы с библиотеками, чтобы не путаться в дальнейшем:
- Создать библиотеку можно кнопкой «Сохранить текущий компонент в новой библиотеке»
- Подключить созданную (или любую другую) библиотеку можно в меню «Настройки» — «Библиотека» редактора компонентов или редактора схем. Она остаётся подключенной именно в этом проекте.
- Выбирается текущая (рабочая) библиотека редактора компонент одноимённой кнопкой
- Сохранить/загрузить компонент в текущей библиотеке так же можно одноимённой кнопкой
- Записать все изменения в файл библиотеки можно кнопкой «Сохранить текущую библиотеку на диск»
Рисуются они очень просто, из набора примитивов. Доступна окружность, прямоугольник, дуга и линия. Этого вполне достаточно. Устанавливаем сетку как удобнее, и рисуем компонент по центру листа:
В контекстном меню можно установить толщину линии и другие параметры. Теперь осталось добавить выводы. Там-же, на панели, есть кнопка «добавить вывод». Тыкаем её, и тут начинается самое интересное.
- Имя вывода — отображается около вывода, обычно используется для маркировки выводов микросхем. Если хотите указать, что это инверсный сигнал, можно поставить перед именем знак «~», при этом имя будет отображаться с верхним подчёркиванием. Если оставить только знак «~», значит вывод будет без имени (он подставляется автоматически, если поле пустое)
- Номер вывода — проставляется обязательно. Отображение можно включить/отключить в настройках компонент. Нумеровать надо с единицы, т.к. эти номера привязываются к номерам контактных площадок.
- Ориентация — направление. Можно не ставить, а вертеть его потом как угодно клавишей «R». Там, где кружочек, будет подводиться соединение.
- Обозначение — маркер на месте соединения вывода и корпуса. Обычно обозначают инверсные, и другие типы входов/выходов, но обозначения буржуйские и смотрятся некрасиво. Лучше свои нарисовать при необходимости.
- Электрический тип — самое важное поле. Ошибившись тут при создании компонента получим кучу ошибок при проверке схемы. Разберём их:
- вход/выход используется у логики, ОУ, других деталей, где ножка имеет чёткое состояние: высокое входное сопротивление (вход), либо низкое выходное (выход)
- двунаправленный используется там, где вывод может быть как входом, так и выходом. Например I/O-порт микроконтроллера.
- трёхстабильный — выход с тремя состояниями (высокий, низкий, высокоимпедансное состояние)
- пассивный — думаю, понятно. Сейчас он нам и будет нужен (для резистора).
- не определено — контроля ERC этой цепи не будет. Лучше не использовать, но можно выбрать там, где не знаете, что поставить.
- вход/выход питания — очень важный тип вывода, но об этом позже.
- открытый коллектор/эмиттер — соответственно выходы с ОК/ОЭ. Тоже не забываем про них.
- не подсоединён ставится у некоторых деталей (в основном микросхем), где на стандартном корпусе больше выводов, чем нужно. В даташитах обычно обозначаются «NC», т.е. никуда не подключены. Если поставить этот тип сразу, отпадёт необходимость ставить знак «не подсоединено» каждый раз на схеме.
Теперь ясно, что выбирать. Ставим тип вывода «пассивный», длину покороче, и ставим на лист. То же самое со вторым, только не забываем поставить другой номер.
Ну вот, этот резистор более похож на настоящий, русский резистор!
Теперь двойным щелчком на свободном месте листа (или кнопке сверху) открываем свойства компонента. На первой вкладке («Параметры») выключаем отображение номеров и названий выводов (резистору они не нужны), на второй добавляем описание и ключевые слова. Последние очень советую добавить, так как по ним быстрее найти компонент при рисовании схемы (помните то маленькое окошко при добавлении компонента на лист?). Можно так же указать путь к даташиту на диске, потом его можно будет посмотреть в контекстном меню компонента на схеме.
Ну и фильтр посадочных мест тоже очень советую заполнить, т.к. это очень упростит привязку в будущем. Заполняется он просто: если включен фильтр, будут отображаться только те посадочные места, имена которых подходят под маску. Например задаём маску «R*» — отфильтруется всё, начинающееся на «R». А вот «R??» отфильтрует все названия их трёх букв, начинающиеся на «R», например «R01», «Rsh» и т.д.
Теперь проверим, что получилось. Нажимаем кнопку проверки (с красным жуком).
Да, это означает, что выводы компонентов не находятся в узлах стандартной сетки. Чтобы подвести к ним проводник, нужно будет уменьшать сетку редактора.
Смысл в том, что стандартная сетка предназначена для размещения более крупных компонентов, которые легко вывести на печать для оформления документации. Лучше, конечно, следовать этому правилу, но мне стандартная сетка показалась крупновата, и я все свои компоненты подогнал под сетку в 10mils (0.254мм). Я всё-таки радиолюбитель, и ГОСТы мне не указ. Как вам поступить — решайте сами.
Как только все компоненты готовы, можно сохранять библиотеку и закрывать редактор. Библиотеки, которые были подключены, останутся подключены в редакторе схем, это можно увидеть в аналогичном меню «Настройка» — «Библиотеки». Ну что, посмотрим, что получилось?
Уже лучше, правда? Да, это потребовало немного труда, но это разовая работа, дальше просто используйте эти библиотеки где удобно.
Теперь нажимаем кнопку «Обозначить схему», подтверждаем, и получаем автоматически расставленные позиционные обозначения. Разумеется их можно поправить вручную при необходимости.
Теперь нужно проверить схему, не допущены ли там явные ошибки. Это делается с помощью инструмента контроля электрических цепей — ERC. Нажимаем кнопку с жуком сверху, и видим такой текст:
А так же маркеры на схеме. Но как же так? Вроде всё правильно, но почему ошибки?
Всё очень просто: мы забыли указать, какие цепи относятся к шинам питания.
Дело в том, что на схемах принято обозначать части логических микросхем, ОУ, и других (так же независимые контакты реле), содержащих в себе логически независимые и идентичные блоки, отдельно. При этом у них не указываются выводы питания, хотя на самом деле они есть, и должны быть разведены на плате.
Тут можно видеть, как такие элементы отображаются на схеме и в редакторе. Если в свойствах компонента задать количество элементов больше единицы (4 для этой микросхемы), то на верхней панели активируются два выпадающих списка:
Выбирая отдельные элементы, можно настроить распиновку выводов у каждого отдельно, при этом электрические функции выводов остаются идентичными.
Но если надо настроить функции выводов у разных блоков по-своему, это тоже возможно!
Нужно нажать кнопку рядом с выпадающими списками: — при этом выводы каждого элемента будут настраиваться отдельно.
Далее помещаются выводы питания. Их лучше сделать нулевой длины и обязательно невидимыми. При этом в свойствах вывода ставится признак «общий для всех частей компонента», и самое главное — тип вывода поставить «Вход питания»
Так как после подобных манипуляций выводы питания становятся не видны на схеме, единственной привязкой их к физическим цепям остаётся только их имя. Так что тут внимательней: если вы назвали вывод VCC, и этим же именем цепь питания на схеме, на которую по задумке должно подаваться, например, +12В, то трассировщик вам и вбахает на микросхему эти 12В… По традиции названием VCC называют питание для всей логики (+5В или +3.3В), так что стандартные компоненты в библиотеках имеют выводы питания именно с такими именами. Но никто не мешает вам обозвать их по-своему.
Обозначение земли и цепей питания маркируются аналогично: невидимый вывод с нужным именем и свойством «вход питания». Но при этом надо сделать так, чтобы можно было подвести к нему цепь, т.е. пририсовать к невидимому выводу видимую часть, как показано на рисунке:
Справа — невидимая надпись имени компонента в библиотеке, слева — позиционное обозначение компонента, по центру — невидимый вывод нулевой длины, и пририсованная к нему ножка.
Есть один нюанс: позиционное обозначение нельзя сделать невидимым для нового (только что созданного) компонента библиотеки, хотя можно отключить его отображение на схеме. Видимо недоработка интерфейса, но это поправимо: импортируем похожий компонент из стандартной библиотеки и перерисовываем по своему, оставив обозначение как было (особо продвинутые могут поправить файл библиотеки в текстовом редакторе).
Все символы питания находятся в стандартной библиотеке «power». Она немного особая: кнопка «разместить порт питания» в редакторе схем работает только с ней. Хотя можно не использовать этот инструмент, а добавлять эти элементы как обычные компоненты. Если хотите использовать свою библиотеку, проще удалить стандартную из списка (физически она останется, можно подключить заново) и добавить свою с тем же именем. Тогда программа просто не заметит подлога.
Итак, теперь понятно, откуда у нас ошибки на схеме — есть одни входы питания, но нет ни одного выхода. Нет — добавим! В библиотеке «power» есть специальный символ для этого — «PWR_FLAG». Он специально создан для того, чтобы на схеме можно было добавить хотя-бы один выход питания. Соответственно имеет один вывод с таким статусом. Я его тоже перерисовал, т.к. Стандартный мне не понравился.
Прогоняем проверку — вуаля! Ни одной ошибки!
Так же свойством выхода питания могут обладать и выводы реальных источников питания, например выводы батарей, интегральных стабилизаторов (посмотрите в редакторе на всеми любимую LM317), и т.д., при этом специальный флаг питания будет не нужен.
Любая цепь на схеме имеет своё имя. Оно задаётся автоматически при прокладке любого проводника, и имеет вид числа («N-000000», вместо нулей порядковый номер). Для удобства некоторые цепи можно назвать осмысленными именами, с помощью инструмента «Разместить имя цепи».
Так как KiCad кроссплатформенный продукт, он без проблем понимает все идентификаторы на любом языке. То есть вы легко можете назвать вывод, цепь, деталь, да что угодно русскими буквами. Хотя я не советовал бы этого делать.
Eeschema имеет очень много возможностей, все их рассматривать не имеет смысла, так как есть справка. Этого достаточно будет для старта. А вот продолжение будет гораздо интереснее — будем учиться рисовать посадочные места, разводить платы на автомате и вручную, и даже создавать 3D-модели!
Все вопросы в
Форум.
Как вам эта статья? |
Заработало ли это устройство у вас? |
Так исторически сложилось, что в качестве ПО для построения принципиальных схем и проектирования печатных плат долгое время я использовал EAGLE. Эта программа мне очень нравится низким порогом вхождения, наличием freeware версии, и, конечно же, поддержкой Linux. Столкнувшись в какой-то момент с ограничениями бесплатной версии (принципиальные схемы ограничены двумя листами, можно делать платы размером примерно до 10x10 см, число слоев в плате ограничено двумя) я решил купить EAGLE. И тогда я узнал, что компания-разработчик не продает его гражданам России. Вообще. Почему — не знаю. Тогда я впервые серьезно задумался о переходе на бесплатный и открытый KiCad.
А недавно, в силу некоторых нерелевантных причин, мне понадобилась небольшая платка — понижающий регулятор напряжения на 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 5.0 был добавлен SPICE-симулятор, основанный на ngspice. Пример его использования вы найдете в статье Базовые аналоговые фильтры: теория и практика.
Дополнение: Как оказалось, кастомные футпринты создаются довольно просто. Компонент нужно отсканировать на сканере (обычном, для бумаги), импортировать растровое изображение в Inkscape, обвести пады и прочие интересующие части, и сохранить результат в формате DXF. Или компонент можно обвести карандашом на листе бумаги и отсканировать этот лист. Затем DXF импортируется в Footprint Editor, в котором по имеющемуся рисунку располагаются пады, отверстия и шелкография. Главное — это при экспорте и импорте DXF указать «mm» в качестве base unit, иначе поползет масштаб. Последним шагом нужно удалить слой Dwgs.User, что делается прямым редактированием .kicad_mod файла футпринта в текстовом редакторе. Что же до кастомных символов, то они просто рисуются в Symbol Editor’е. Сделанные мной символы и футпринты можно посмотреть здесь.
Метки: Электроника.