Мы уже знаем, как установить и настроить KiCad, из каких основных программных компонентов он состоит, как создать собственные компоненты и посадочные места, если их нет в готовых библиотеках. Я понимаю читателей, которые немного заскучали, так как им ненужно, или не интересно, создавать свои компоненты и посадочные места. Но рассказать об этом было необходимо.
И теперь мы можем перейти к изучению собственно использования KiCad в работе на вашими проектами. Как вы помните, в основе любого проекта KiCad лежит принципиальная схема. И печатная плата будет создаваться на основе этой схемы. А значит, нам просто необходимо научиться работать с редактором схем.
Это будет не сложно, так как мы уже знаем достаточно много. Кроме того, редактор описан в документации, поэтому не имеет смысла повторять описание его основных инструментов. Разговор пойдет о самом процессе работы со схемой.
Иерархические схемы и особенности работы с ними сегодня рассматриваться не будут. Это тема отдельной статьи которая, возможно (но необязательно) будет опубликована.
Предыдущие статьи цикла, которые сегодня будут полезны:
По прежнему, статья не является копированием документации или ее фрагментов. Она написана на основе собственного опыта, весьма немалого. И не заменяет документацию. Читать документацию обязательно!
Создание файла схемы
После создания нового проекта у нас нет ни принципиальной схемы, ни печатной платы. И при запуске редактора схем мы увидим диалоговое окно с подтверждением создания нового файла схемы. Однако, при этом будет создан не только файл схемы имя_проекта.sch, но и вспомогательная библиотека имя_проекта-cache.lib. Для чего нужна эта библиотека уже ранее говорилось.
В результате мы увидим на экране что то вроде такого
Принципиальная схема это документ, чертеж, который подчиняется определенным правилам и имеет определенный размер. В данном случае, размер чертежа "ограничен" размерами листа бумаги. Границы листа показаны рамкой серого цвета. Чертеж имеет рамку и основную надпись, которые отображаются кирпичным цветом.
Рамка и основная надпись являются неотъемлемой частью чертежа и отключить их отображение нельзя. Я понимаю, что любителям эти элементы не нужны. Но KiCad является универсальной EDA, которая ориентирована, в том числе, на использование профессионалами в серьезных больших проектах.
Вы можете не печатать рамку и надпись при печати чертежа, но рисовать схему вы должны с учетом расположения рамки и надписи. Если вас не устраивает такой "зарубежный" вид рамки и надписи, или не подходит размер листа А4, можно все изменить через настройки страницы "Файл -> Настройки страницы...". Причем размер листа и файл рамки можно выбрать независимо.
Можно создать и свой собственный формат рамки и надписи. Но мы не будем это рассматривать, это не тема "для начинающих". Сегодня в составе библиотек KiCad (в Шаблонах) есть и рамки соответствующие ГОСТ
Поля основной надписи заполняются в том же самом диалоге "Параметры страницы...".
Но почему я написал, что чертеж "ограничен" (в кавычках)? Все просто, границы листа показывают, что войдет на лист при печати, а что "останется за кадром". На самом деле, KiCad не ограничивает размещение элементов схемы за пределами листа или поверх основной надписи.
И можно в любой момент изменить и размер листа, и рамку. При этом непосредственно со схемой ничего не произойдет. И то, что ранее было за пределами листа, может оказаться в пределах листа. Или наоборот.
Если файл схемы уже существует, то он просто будет открыт при запуске редактора. Вряд ли имеет смысл описывать это более подробно. Восстановление схемы мы будем рассматривать отдельно позже.
Основные элементы схемы
Безусловно, одним из основных элементов схемы являются уже подробно рассмотренные нами компоненты. На схеме они отображаются в виде УГО (символы), а дополнительные параметры используются для включения компонента в схему.
На примере компонентов видно, что любой элемент схемы, на самом деле, состоит из двух составляющих. Первая составляющая, это визуальный образ, который отображается на чертеже. Вторая составляющая, это информация используемая для внутреннего представления схемы.
Мы уже сталкивались с этим, когда подробно изучали устройство компонентов. УГО, как визуальная составляющая, важна для человека, но совершенно неважна для внутреннего представления схемы. Для внутреннего представления важны имена и номера выводов, их электрические типы, и т.д. От того, что УГО, например, резистора, будет выглядеть по иному, соединения этого резистора в схеме не изменятся. И это важно!
Вторым, после компонентов, основным элементов схемы являются цепи. Цепь соединяет два или более выводов компонентов. Каждая цепь имеет имя, даже если оно не задано в явном виде. Более того, цепи пронумерованы (автоматически), но номер цепи, во всяком случае, в настоящее время, для пользователя значения не имеет.
Имя цепи, уже при создании печатной платы, можно использовать для задания класса цепи. Это позволяет легко установить для них общие технологические правила.
На визуальном уровне цепи отображаются в виде проводников и шин. Проводники могут иметь соединения, которые стандартно отображаются в виде точки. Обратите внимание, что и проводник, и шина, являются лишь визуальными способами отображения цепи! Это важно.
На внутреннем уровне цепь состоит из списка выводов, которые она соединяет. Еще глубже, можно говорить о таблице пар вывод-цепь. А это означает, что цепь, теоретически, может состоять и всего из одного вывода.
Этих двух основных элементов достаточно для полноценной работы со схемой. Но KiCad, уже скорее для удобства, поддерживает и дополнительные элементы.
Дополнительные (вспомогательные) элементы схемы
Прежде всего, нужно отметить выделение некоторых компонентов в отдельный подтип - цепи питания. С одной стороны, это выглядит не совсем логичным. Но с другой, эти компоненты, по сути, не соответствуют реальным устанавливаемым на печатную плату компонентам.
Эти компоненты собраны в специальной библиотеке "power" и используются, фактически, для присваивания цепям стандартных имен и их графического отображения. Одновременно они позволяют задать и некоторые дополнительные свойства "вход" и "выход" питания.
Вообще говоря, можно обойтись и без этих компонентов (поэтому они и дополнительные), достаточно просто явно задать имена цепей. Но параметры "вход" и "выход" питания используются при проверке электрических правил проектирования. Для этих же целей существует и специальный компонент PWR_FLAG, о котором многие читатели, без сомнения, слышали.
Вторым типом дополнительных компонентов являются чисто визуальные компоненты. Эти компоненты имеют УГО, но не имеют выводов.
Так как эти компоненты не имею выводов, они не могут быть подключены к цепям. Это виртуальные компоненты (об этом позже) со скрытыми (невидимыми) обозначениями.
Третьим типом, тоже чисто визуальным, являются даже не компоненты, а просто графические элементы: линии, текстовые надписи, растровые изображения.
Начинаем рисовать схему
Давайте теперь попробуем нарисовать простую схему. Например, симметричный мультивибратор на транзисторах. Он прост и все знаком, зато позволит понять основные принципы работы с редактором схем. Будем считать, что у вас уже есть тестовый проект и создан файл схемы.
Размещение (добавление) компонентов на схему
Начнем с добавления на схему компонентов. Нам нужны два транзистора, четыре резистора, два конденсатора. Начать размещение компонента на схеме можно двумя способами.
Первый, классический, через правую панель инструментов редактора схем. Это третий инструмент на панели, он обозначен УГО операционного усилителя. Если щелкнуть по нему мышкой, то он будет подсвечен, но ничего другого не произойдет... Это наследие, причем нелогичное, старых версий KiCad. Что бы появилось окно выбора компонента нужно еще раз щелкнуть мышкой, но уже на любом свободном месте схемы. Место щелчка значения не имеет.
Второй способ, использовать горячую клавишу A (обязательно на английской раскладке клавиатуры). При этом окно выбора компонента появится сразу. Управление с помощью горячих клавиш в целом более удобно и продуктивно, хоть и требует некоторого запоминания и привыкания.
В обоих случаях откроется одно и тоже окно. Обратите внимание, что в верхней части окна со списком библиотек и компонентов будет "--Недавно использованные--", но пока без каких либо компонентов. Этот список будет автоматически заполняться при добавлении компонентов на схему. Для удобства, если потребуется добавить еще раз ранее добавленный на схему компонент. Количество компонентов в списке ограничено и он очищается при завершении сеанса редактирования.
Я буду использовать свои библиотеки, вы можете использовать стандартные. Давайте найдем транзистор BC547B. Я знаю, в какой библиотеке он находится, поэтому все просто
Если вы не знаете, в какой библиотеке он находится, можете в строке поиска (Фильтр) набрать 547. Фильтр сработает автоматически. Остается просто выбрать один из компонентов, если их несколько.
Двойной щелчок по нужному компоненту, или его выделение и щелчок по кнопке ОК, или выделение и нажатие клавиши Enter, закроет окно выбора и вы увидите "прилипший" к курсору УГО компонента. Причем перекрестье будет соответствовать точке привязки компонента.
УГО будет следовать за курсором. Вы можете разместить его в нужном месте листа и по щелчку мыши он будет помещен на схему. Теперь понятно, что первый щелчок мышкой по схеме (при использовании панели инструментов) действительно не влияет на место расположения компонента, поэтому и его место не важно.
Кроме того, вы можете не просто разместить компонент на листе, но и выполнить с ним некоторые действия до размещения
При этом УГО компонента остается "приклеенным" к курсору. X, Y, R это горячие клавиши. По щелчку мыши компонент будет размещен на схеме уже в измененном виде.
Разумеется, мы можем в любой момент переместить размещенный компонент, повернуть его, отразить по координатным осям. Просто наведите на компонент курсор и нажмите соответствующую горячую клавишу. Мы к этому еще вернемся чуть позже.
Итак, первый транзистор у нас уже размещен. Что бы разместить второй транзистор мы можем выполнить те же самые действия. Но есть вариант и проще. Горячая клавиша Ins (Insert) выполнит повторное размещение последнего компонента без вывода окна выбора компонента. УГО снова окажется "приклеенным" к курсору и вы сможете поместить компонент в нужное место. И, разумеется, повернуть или отразить его.
Теперь самостоятельно добавьте на схему четыре резистора и два конденсатора. При этом пока не обращайте внимания на размещение позиционного обозначения и наименование компонентов. Должно получиться примерно так
Давайте немного поправим расположение компонентов. Передвинуть компонент можно двумя способами/командами:
- Переместить элемент, горячая клавиша М. При этом перемещается только сам компонент, все связи компонента (проводники) остаются на своих местах.
- Перетащить элемент, горячая клавиша G. При этом компонент перемещается вместе со всеми подключенными к его выводам проводниками.
Разница между этими командами может показаться не очевидной. Поэтому я проиллюстрирую ее, немного забежав вперед на иллюстрации
У нас пока нет связей (проводников), поэтому перемещение и перетаскивание будут эквивалентны. Наведите курсор на передвигаемый компонент и нажмите горячую клавишу. Компонент "прилипнет" к курсору. Передвиньте компонент в нужное место, по щелчку мыши он расположится в новом месте. Должно получиться примерно так
На расположение позиционных обозначений и наименований по прежнему внимания не обращаем.
Соединяем элементы схемы
Теперь давайте соединим компоненты схемы. Для этого будем использовать проводники, так как шину использовать нет смысла. Проложить проводник тоже можно двумя способами.
Первый, использовать правое меню инструментов. После выбора инструмента "Разместить проводник" нужно щелкнуть мышкой в начальной точке, провести проводник, щелкнуть мышкой в конечной точке. В точках перегиба проводника, если вас не устраивает автоматическое поведение, тоже потребуется щелчок мышкой.
Второй способ, использовать горячую клавишу W. При этом начальной точкой проводника станет текущее положение курсора. В остальном, нет разницы между этими двумя способами.
Если начальная или конечная точка проводника находится на выводе компонента или другом проводнике, выполняется автоматическое подключение связи к цепи. Для конечной точки одновременно заканчивается и размещение проводника. Если нужно закончить проводник в любом месте оставив конечную точку не подключенной, потребуется просто двойной щелчок мышки.
В результате у меня получилось так
Почти уверен, что у вас возникли затруднения с расположенными под углом соединениями базовых цепей. Дело в том, что по умолчанию проводники и шины можно проводить только параллельно координатным осям. Это можно отключить в настройках eeshema (не страницы!) или воспользовавшись левой панелью инструментов. Самый нижний инструмент на этой панели и выполняет нужное переключение.
Обозначаем компоненты
Как всегда, есть несколько способов. В данном случае это автоматический и ручной. Автоматический запускается через верхнюю панель инструментов. Инструмент "Обозначить компоненты схемы" изображен как лист бумаги с карандашом. При этом появится диалоговое окно, в котором можно немного управлять поведением автоматики.
Я не буду подробно рассматривать процесс автоматического обозначения, так как там все достаточно просто и очевидно. В результате получилось примерно так
При ручном способе обозначения мы действительно вручную задаем нумерацию всех компонентов. Впрочем, есть и смешанный вариант. Мы задаем вручную номера требуемых компонентов, после чего запускаем автоматику для обозначения оставшихся не обозначенными.
Ручное обозначение, по традиции, можно выполнить разными способами. Во первых, через редактирование текстовых полей. Для этого установите курсор на одно из позиционных наименований, например, "R?". Редактирование текстового поля запускается по двойному щелчку мышки или нажатию горячей клавиши Е.
В открывшемся диалоговом окне замените знак вопроса в позиционном обозначении на требуемое число. Нажмите ОК. Все, мы обозначили один компонент вручную.
Задать наименования компонентов, например, сопротивления резисторов и емкость конденсаторов, тоже можно через редактирование текстовых полей. У меня наименования резисторов заданы как R (при создании компонента), а емкость конденсаторов как С. У вас могут быть иные начальные наименования, это ничего не меняет.
Отредактируйте текстовые поля наименований точно так же, как задавили порядковые номера в позиционных обозначениях. Только теперь курсор нужно размещать над полем наименования компонента, а не над позиционным обозначением.
В качестве альтернативного способа можно редактировать свойства компонента, а не текстовые поля. Для этого поместите курсор на УГО компонента и сделайте двойной щелчок мышкой, или нажмите горячую клавишу Е. Вы увидите уже знакомое по предыдущим статьям окно свойств компонента. Только оно теперь относится компоненту в схеме, а не в библиотеке. Отредактируйте поля "Обозначение" и "Значение".
В результате получится примерно так
Номиналы резисторов и конденсаторов соответствуют частоте генерации примерно 1 кГц. Все правильно, но некрасиво... Давайте поправим!
Приводим схему к законченному виду
Текстовые поля позиционного обозначения и наименования компонентов можно не только редактировать отдельно, но и перемещать отдельно. Но использовать для этого можно только горячую клавишу М.
Обратите внимание, что от текстового поля к УГО компонента тянется синяя линия, которая показывает, к какому именно компоненту относится перемещаемое обозначение. Точно так же можно переместить и поле наименования.
После перемещения обозначений получится примерно так
Не идеал, но выглядит гораздо лучше. Чего еще не хватает? Совершенно непонятно, как на схему подается питание, и как снимается выходной сигнал. Давайте добавим популярный сегодня штыревой разъем PLS. У меня он есть в библиотеке, но вам, возможно, сначала придется создать свой компонент. Или выбрать какой то уже существующий в библиотеке разъем. Или просто разместить при контактные площадки.
Все, что для этого нужно, вы уже знаете. Поэтому я не буду подробно описывать. У меня получилось так
У вас, скорее всего, результат будет несколько иным, что вполне естественно.
Заключение
Сегодня мы познакомились с редактором схем. Узнали, из каких основных элементов состоит схема, и какие дополнительные элементы могут быть. Как размещать компоненты на схеме и как управлять их расположением.
Но самое главное, мы сделали первый практический шаг нарисовав пусть и очень простую, но законченную и реально работающую схему. Многое было непривычным и казалось нелогичным, даже неудобным. Но первый шаг всегда самый трудный.
В следующей статье мы продолжим знакомство с работой в редакторе схем. Впереди еще много интересного.