Найти в Дзене
Разумный мир

KiCad для начинающих §11. Редактор печатных плат. Редактирование дорожек

В предыдущей статье цикла мы научились создавать печатную плату на основе принципиальной схемы. И схема, и плата, были очень простыми, но ведь это была первая плата. При этом мы не только узнали, как перенести компоненты из схемы на плату и разместить их, но и познакомились с тем, как работает интерактивный трассировщик. Он заметно облегчает трассировку платы. Однако, из-за большого объема статьи, мы не успели рассмотреть многие вопросы, например: И сегодня мы займемся редактированием уже проложенных дорожек. Такая необходимость постоянно встречается при трассировке сколь-нибудь сложных печатных плат. Анатомия дорожек печатной платы Прежде, чем перейти к изучению редактирования дорожек, нам понадобится разобраться, как устроены дорожки. Дорожка печатной платы ограничена двумя точками подключения к контактным площадкам. Или точками начала/конца, если оба, или один, конец дорожки не подключен к контактной площадке В данном случае, дорожка начинается на контактной площадке C2 и заканчива
Оглавление

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

Однако, из-за большого объема статьи, мы не успели рассмотреть многие вопросы, например:

  • Редактирование уже проложенных дорожек
  • Трассировку многослойных печатных плат
  • Использование полигонов

И сегодня мы займемся редактированием уже проложенных дорожек. Такая необходимость постоянно встречается при трассировке сколь-нибудь сложных печатных плат.

Анатомия дорожек печатной платы

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

Дорожка печатной платы ограничена двумя точками подключения к контактным площадкам. Или точками начала/конца, если оба, или один, конец дорожки не подключен к контактной площадке

В данном случае, дорожка начинается на контактной площадке C2 и заканчивается на контактной площадке R4. Не смотря на то, что она, с привычной точки зрения, продолжается до контактной площадки VT2 и далее. С точки зрения KiCad это разные дорожки.

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

Каждая дорожка печатной платы состоит из отдельных сегментов
Каждая дорожка печатной платы состоит из отдельных сегментов

Слева показана дорожка целиком. Мы ее проложили, с помощью интерактивного трассировщика, как единое целое. Правее показаны фрагменты, из которых на самом деле состоит эта дорожка. Обратите внимание, дорожка проходит и по контактной площадке, а не заканчивается на границе площадки! Несмотря на то, что и дорожка, и контактная площадка являются одним и тем же физическим слоем меди.

Причем на контактной площадке может быть даже отдельный сегмент дорожки

-3

Его не видно, когда он не выделен. Но он есть, в данном случае. И он является полноценным самостоятельным сегментом.

Слои редактора печатных плат и физические слои печатной платы это не одно и тоже! Дорожки и контактные площадки в слоях меди будут сведены при "черчении" платы, создании gerber-файлов. Мы познакомимся с этим позже.

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

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

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

-4

Редактирование дорожек печатной платы

Мы умеем прокладывать дорожки, причем не только сразу между контактными площадками, но и по частям, в полу-ручном режиме. И знаем, как интерактивный трассировщик может изменить ранее проложенные дорожки. Но ведь иногда (не так и редко!) возникает необходимость вручную изменить проложенную дорожку.

Удаление дорожки и сегмента дорожки

Удаление дорожки это самая простая операция редактирования платы. Что бы удалить дорожку целиком достаточно навести на нее курсор мыши и нажать клавишу Delete (Del). При этом не должно быть какого либо выделения, иначе будет удалено это выделение.

-5

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

Если выделен сегмент, или сегменты, дорожки, то будет удалена не вся дорожка, а только выделенный сегмент/сегменты

-6

На самом деле, так работает удаление любого выделения, а не только выделенного сегмента. Точно так же можно удалить и посадочное место, и выделенный блок.

Здесь нужно рассказать об одном интересном случае. Давайте наведем курсор мыши на левый вывод конденсатора C2, но ничего выделять не будем, а просто нажмем Del

-7

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

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

Перемещение сегмента дорожки

Мы умеем перемещать посадочные места (горячая клавиша M). Точно так же можно перемещать и сегмент, или сегменты, дорожки. Если нужно переместить дорожку целиком, нужно выделить все ее сегменты. Если ничего не выделено, то перемещаться будет сегмент дорожки, над которым располагается курсор мыши. При этом он автоматически, но временно, только на время перемещения, будет считаться выделенным

-8

Если возникает неоднозначность выбора, то, как и всегда, появляется диалоговое окно выбора одного из объектов. И точно так же, как мы чуть ранее видели, будет подсвечиваться один из сегментов дорожек. Но, в отличии от удаления, будет перемещаться только этот сегмент.

Что бы зафиксировать сегмент (сегменты) дорожки на новом месте нужно нажать левую кнопку мыши или клавишу Enter.

Следует помнить, что перемещение посадочного места не перемещает подключенные к контактным площадкам дорожки.

Перетаскивание фрагмента дорожки

Это, пожалуй, самая сложная и противоречивая из всех операций редактирования. Она всегда выполняется для двух смежных сегментов дорожки. Причем сегменты не должны быть выделенными. Иначе перетаскивание не выполняется.

Единственный сегмент может быть выделен. Это, что называется, "не считается". Такое выделение просто будет автоматически сброшено.

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

Нажатие клавиши G начинает процесс перетаскивания. При этом точка соединения смежных сегментов "прилипает" к курсору мыши и перемещается за ним. Вторые точки обоих сегментов остаются зафиксированными

-9

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

При нажатии на левую кнопку мыши новое положение сегментов дорожек будет зафиксировано. Однако, если не разрешено "Нарушение DRC", то новое положение будет зафиксировано только при его соответствии правилам проектирования. Иначе перетаскивание будет просто автоматически сброшено.

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

-10

Перетаскивание с сохранением углов кратных 45 градусам

Не так давно появилась еще одна интересная операция редактирования. Дело в том, что при трассировке дорожки прокладываются под углами кратными 45 градусам, а при перетаскивании это правило не соблюдается. Для исправления этого досадного недостатка и была введена команда перетаскивания с сохранением углов.

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

-11

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

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

-12

Перетаскиваемая дорожка получила дополнительный сегмент. Вертикальный сегмент разделился на два сегмента и новый сегмент вставлен между ними. Да, это соответствует режиму обхода препятствий. Но обратите внимание, что изменилась и дорожка-препятствие! А это соответствует режиму расталкивания.

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

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

-13

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

-14

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

Если дорожка состоит из единственного сегмента, то, как и при простом перетаскивании, она будет оторвана от контактной площадки. Я не буду этот случай иллюстрировать отдельно. Но углы кратные 45 градусам будут соблюдаться в любом случае.

Изменение ширины сегмента дорожки

Ширина дорожки определяется:

  • классом цепи
  • ручным выбором выбором из списка предварительно заданных значений ширины

Как мы уже знаем, это все работает в процессе прокладывания дорожки. Но имеется и возможность изменить ширину сегмента уже проложенной дорожки. Поведение редактора печатных плат KiCad при изменении ширины дорожки зависит от настроек. Точнее, от одной настройки

-15

Если этот пункт в настройках не отмечен (состояние по умолчанию), то двойной клик на сегменте дорожки или нажатие клавиши E открывают окно со свойствами сегмента дорожки

-16

В данном случае, нас интересуют параметры "Пред.установленные", "Ширина дорожки" и "Исп.значения из класса цепей".

Мы можем выбрать ширину дорожки из ранее нами же настроенных или задать нужную ширину вручную. Или указать, что используется ширина из класса цепи. Для примера, изменим ширину сегмента на 1 мм

-17

Обратите внимание, что при этом нарушается минимальная величина зазора между изменяемым сегментом и левым выводом конденсатора С1. Автоматическая проверка и соблюдение правил проектирования при изменении ширины дорожки не действуют. Эта ошибка будет выявлена лишь при ручной проверке правил во время подготовке платы к производству.

Если же задан режим "Операция редактирования изменяет ширину дорожки", то двойной клик по сегменту дорожки, как и нажатие клавиши E, просто сразу изменят ширину дорожки на одну из предустановленных ранее и выбранных в верхней панели инструментов.

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

-18

Заданная ширина повлияет на все выделенные сегменты, даже если они принадлежат разным дорожкам.

Изменение слоя меди, в котором располагается дорожка

В том же самом окне свойств сегмента дорожки можно увидеть параметр "Слой". Он позволяет изменить слой, в котором расположен сегмент дорожки. Но в списке присутствую только слои меди

-19

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

-20

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

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

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

-21

То есть, не только изменился слой дорожки, но и положение дорожки. А это совершенно не то, что нам нужно.

Вращение дорожки

Сразу скажу, что этот метод тоже непригодный на практике. Точно так же, как команда Flip, рассчитанная на посадочные места, влияет и на сегменты дорожек, оказывает влияние и команда Rotate (клавиша R). Она действительно выполняет вращение сегмента, или сегментов (при множественном выделении). В подавляющем большинстве случаев, результат применения команды оказывается непригодным. Я не буду иллюстрировать это отдельно.

Заключение

Сегодня мы рассмотрели, как устроены дорожки печатных плат, с точки зрения редактора печатных плат KiCad. И основные команды редактирования уже проложенных дорожек.

В следующий раз мы наконец доберемся до многослойных печатных плат.

До новых встреч!