Лучшие программы для симуляции электросхем. Программа для разработки и тестирования схем

В настоящее время существует не так уж и много open-source САПР. Тем не менее, среди САПР для электроники (EDA) есть весьма достойные продукты. Этот пост будет посвящён моделировщику электронных схем с открытым исходным кодом . Qucs написан на С++ с использованием фреймворка Qt4. Qucs является кроссплатформенным и выпущен для ОС Linux, Windows и MacOS.

Разработку данной САПР начали в 2004 году немцы Michael Margraf и Stefan Jahn (в настоящее время не активны). Сейчас Qucs разрабатывается интернациональной командой, в которую вхожу и я. Руководителями проекта являются Frans Schreuder и Guilherme Torri. Под катом будет рассказано о ключевых возможностях нашего моделировщика схем, его преимуществах и недостатках по сравнению с аналогами.

Главное окно программы показано на скриншоте. Там смоделирован резонансный усилитель на полевом транзисторе и получены осциллограммы напряжения на входе и выходе и также АЧХ.

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

Формат схемного файла Qucs основан на XML и к нему поставляется документация. Поэтому схема Qucs может быть легко сгенерирована сторонними программами. Это позволяет создавать ПО для синтеза схем, которое является расширением Qucs. Проприетарное ПО как правило использует бинарные форматы.

Перечислим основные компоненты, имеющиеся в Qucs:

  1. Пассивные RCL-компоненты
  2. Диоды
  3. Биполярные транзисторы
  4. Полевые транзисторы (JFET, MOSFET, MESFET и СВЧ-транзисторы)
  5. Идеальные ОУ
  6. Коаксиальные и микрополосковые линии
  7. Библиотечные компоненты: транзисторы, диоды и микросхемы
  8. Файловые компоненты: подсхемы, spice-подсхемы, компоненты Verilog

Библиотека компонентов использует собственный формат, основанный на XML. Но можно импортировать существующие библиотеки компонентов, основанные на Spice (приводятся в даташитах на электронные компоненты).

Поддерживаются следующие виды моделирования:

  1. Моделирование рабочей точки на постоянном токе
  2. Моделирование в частотной области на переменном токе
  3. Моделирование переходного процесса во временной области
  4. Моделирование S-параметров
  5. Параметрический анализ

Результаты моделирования можно экспортировать в Octave/Matlab и выполнить там постобработку данных.

Qucs основан на вновь разработанном движке схемотехнического моделирования. Отличительной особенностью этого движка является встроенная возможность моделирования S-параметров и КСВ, что важно для анализа ВЧ-схем. Qucs может пересчитывать S-параметры в Y- и Z-параметры.

На скриншотах показан пример моделирования S-параметров широкополосного усилителя высокой частоты.

Итак, отличительной особенностью Qucs является возможность анализа комплексных частотных характеристик (КЧХ), построение графиков на комплексной плоскости и диаграмм Смита, анализ комплексных сопротивлений и S-параметров. Эти возможности отсутствуют в проприетарных системах MicroCAP и MultiSim, и здесь Qucs даже превосходит коммерческое ПО и позволяет получить недостижимые для симуляторов электронных схем, основанных на Spice результаты.

Недостатком Qucs является малое количество библиотечных компонентов. Но этот недостаток не является препятствием к использованию, так как Qucs совместим с форматом Spice в котором приводятся модели электронных компонентов в даташитах. Также моделировщик работает медленнее, чем аналогичные Spice-совместимые моделировщики (например MicroCAP (проприетарный) или Ngspice (open-source)).

В настоящее время мы работаем над возможностью предоставления пользователю выбора движка для моделирования схемы. Можно будет использовать встроенный движок Qucs, Ngspice (spice-совместимый консольный моделировщик, похожий на PSpice) или Xyce (моделировщик с поддержкой параллельных вычислений через OpenMPI)

Теперь рассмотрим перечень нововведений в недавнем релизе Qucs 0.0.18 перспективных направлений в разработке Qucs:

  1. Улучшена совместимость с Verilog
  2. Продолжается портирование интерфейса на Qt4
  3. Реализован список недавних открытых документов в главном меню.
  4. Реализован экспорт графиков, схем в растровые и векторные форматы: PNG, JPEG, PDF, EPS, SVG, PDF+LaTeX. Эта функция полезна при подготовке статей и отчётов, содержащих результаты моделирования
  5. Возможность открытия документа схемы из будущей версии программы.
  6. Исправлены баги, связанные с зависанием моделировщика при определённых условиях.
  7. Ведётся разработка системы синтеза активных фильтров для Qucs (ожидается в версии 0.0.19)
  8. Ведётся разработка сопряжения с прочими open-source движками для моделирования электронных схем (

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

sPlan

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

TyniCad


Eagle

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

Target 3001

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

DipTrace

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

KiKad

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

TyniCad

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

Fritzing

Эта программа имеет довольно узкую направленность – Arduino-проекты. Ее можно использовать как для создания наброска, так и для создания полноценной платы. Программа Fritzing включает в себя набор готовых элементов, которые позволяют упростить создание платы.

123D Cirtuits

Данный онлайн сервис позволяет проектировать электронные схемы и печатные платы и поддерживает платформу Arduino. Он включает в себя набор готовых схем, но его главная особенность – возможность имитировать платформу Arduino. Также эта программа поддерживает импорт данных из Eagle


XCirtuit

Эта программа классифицируется как художественно-дизайнерская, а не редактор электронных схем. В базе данных XCircuit содержатся готовые элементы схемы, что позволяет ускорить процесс создания электронной схемы. Наличие опыта позволяет создавать средние по сложности чертежи.

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



Основными требованиями, предъявляемыми большинством людей (особенно новичками в электронике) к симуляторам электронных схем, являются простота в использовании и как можно меньшая цена, в идеале вообще за бесплатно. Также очень важна функциональность.


Хотя легко получить пробную версию чего-то вроде OrCAD PSpice, это программное обеспечение не имеет всех доступных функций, если вы не хотите, конечно, раскошелиться с целью их приобретения. К счастью, есть абсолютно бесплатное полнофункциональное программное обеспечение для моделирования электронных схем, называемое Qucs (Quite Universal Circuit Simulator), выпущенное под лицензией GPL. Qucs предлагает достойную альтернативу другим платным симуляторам схем. Qucs запускает собственное программное обеспечение отдельно от SPICE, поскольку SPICE не лицензируется для повторного использования.


Qucs имеет большинство компонентов, которые вам понадобятся для моделирования на уровне близком профессиональному, а также это программное обеспечение имеет огромное количество различных моделей транзисторов. Саму программу можно найти на http://qucs.sourceforge.net/. Для более подробной информации на странице Qucs Wikipedia (https://en.wikipedia.org/wiki/Quite_Universal_Circuit_Simulator) перечислены все доступные функции, также имеется страница часто задаваемых вопросов.


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





Симулятор электронных схем на русском — это обыкновенный SPICE-симулятор под названием TINA-TI с легкой для понимания графической оболочкой. Данная программа работает без всякого лимита на количество применяемых приборов, легко обрабатывает всесторонние работы. Прекрасно соответствует имитированию поведенческой реакции разнообразных аналоговых схем, а также импульсных блоков питания. Используя TINA-TI можно легко сконструировать схему какой угодно степени сложности, соединить раннее созданные фрагменты, исследовать и распознать показатели схемы по качеству.

Все представленные элементы, которыми располагает симулятор электронных схем на русском TINA-TI , рассредоточены распределены на шесть типов: компоненты пассивного действия, ключи переключения, полу-проводниковые приборы, устройства измерения, миниатюрные модели устройств повышенной сложности. Дополнительно данный софт имеет в своем составе множество показательных образцов.

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

Далее идет исследование промежуточных процессов, шумовых искажений. Обусловленность от категории исследования, учебная программа формирует окончательный итог в форме графических изображений или таблиц. Прежде чем начать симуляцию, TINA-TI производит проверку схемы на наличие или отсутствие ошибок. Когда обнаруживаются какие либо отклонения, то все изъяны будут показаны в отдельном окошке в форме списка. Если кликнуть мышью на надписи с ошибкой не распознанной симулятором, то деталь или часть чертежа обозначится маркеровочными знаками.

Дополнительно TINA-TI может выполнять измерение различных сигналов и их испытание. Чтобы реализовать данный вид исследования, для этого имеются виртуальные устройства: цифровой мультиметр, осциллограф, контрольно-измерительный прибор сигналов, источник периодических сигналов и устройство записи. Все имеющиеся в программе приборы симуляции предельно возможно соответствуют по использованию фактическим измерительным устройствам. Виртуально подключать их можно в любом участке исследуемой схемы. Все полученные условными приборами информационные данные сохраняются в памяти компьютера.

Tina-TI направлена для функционирования в среде операционных системах Windows 7, Vista, между тем программа эффективно справляется с работой в ОС Linux если использовать виртуальную машины Wine. Определяющим условием должно быть согласованность языка ОС с устанавливаемой программой.

EDA (Electronic Design Automation) — программное обеспечение для разработки и тестирования электронной аппаратуры. В самом общем смысле к EDA можно отнести столь распространенный в русскоязычной среде Sprint Layout. Из более известных (и более полноценных продуктов) сюда относятся Eagle, DipTrace и Proteus. Но у всех у них есть один маленький недостаток — они платные. Кто-нибудь может возразить: тот же Eagle, мол, имеет и бесплатную версию, хоть и несколько ограниченную. Однако эти ограничения иногда становятся не столько мешающими, сколько раздражающими, как, например, невозможность расположить элементы вне платы, что затрудняет перераспределение уже расположенных деталей. Поэтому поговорим о KiCad — еще недавно малоизвестной, а теперь набирающей популярность софтине, несколько обремененной кроссплатформенностью, но при этом активно развивающейся (последняя на данный момент стабильная версия вышла в октябре 2014 года). В паре статей я постараюсь рассказать об основных приемах и подводных камнях работы с KiСad. В качестве примера возьмем простенькую схему Step-Up преобразователя на .

Обзор программы KiCad

Главное окно KiCad условно делится на несколько блоков

  1. Главное меню, где можно создать или открыть проект, заархивировать его в zip или распаковать, указать текстовый редактор для просмотра файлов (например, списка элементов) и приложение для просмотра PDF, выбрать язык (на данный момент в списке 19 языков, включая русский), прочитать справку и копировать в буфер обмена полную информацию об установленной версии.
  2. Во втором блоке располагаются (слева-направо): создание нового проекта; создание проекта из шаблона (шаблонов пока, правда, не имеется, но их можно создавать самостоятельно; такие шаблоны будут складываться в список «Пользовательские»); открытие уже имеющегося проекта; сохранение всех файлов, будь то принципиальная схема или печатная плата; архивация текущего проекта в zip; обновление списка файлов проекта.
  3. Третий блок содержит собственно список файлов — здесь отображается все, что имеет название, соответствующее названию проекта.
  4. Кнопки четвертого блока позволяют перемещаться между следующими редакторами: Eeschema — редактор электрических схем устройства; CvPcb — сопоставление посадочных мест компонентов (иными словами, выбор корпуса той или иной детали); Pcbnew — редактор печатных плат; Gerbview — просмотрщик файлов Gerber; Bitmap2Component — служит для создания изображений логотипов либо для создания компонентов из имеющихся изображений. Калькулятор — содержит полезности типа калькулятора стабилизаторов, таблиц рекомендуемой толщины дорожек для печатных плат, таблицы цветовой маркировки резисторов и т. п.
  5. Наконец, в последнем блоке отображаются действия, проделываемые нами с текущим проектом (что открывали, что сохраняли и т.д.).

Создание любого устройства начинается с создания нового проекта. Поэтому жмем на кнопку «Начать новый проект ».

Выбираем папку будущего проекта, пишем его имя, жмем «Сохранить », не обращая внимания на стиль моих окон, в Windows они будут знакомыми и привычными.

Название проекта появится в левой колонке, и мы наконец можем нажать на кнопку Eeschema . Откроется вот такой редактор...

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

Но мы отвлеклись, жмем OK . В открывшемся окне видим лист, на котором будет располагаться наша будущая схема. Вообще-то, располагаться она может и за пределами этого листа, но эти части попросту не выведутся на печать. Вокруг рабочего пространства видим кучу разных кнопочек, объяснять назначение каждой из них нет смысла, ибо на каждой из них при наведении всплывает подсказка (естественно, на русском языке). Стоит обозначить лишь основные из них:

Не пугайтесь, все не так сложно, как кажется поначалу. В качестве схемы, как было сказано выше, я выбрал преобразователь на MCP34063, она же MC34063. Схема взята из даташита:

В первую очередь заглянем в пункт меню «Настройки », где помимо установок цветов, параметров внешнего вида (шаг сетки, толщина соединений и т. п.) нас интересует пункт «Библиотека ». Библиотеки в KiCad, как и в Eagle, содержат компоненты, используемые при построении схемы. Убедимся, что поставляемые с KiCad файлы подключены и присутствуют в списке.

Другие библиотеки легко гуглятся и добавляются через кнопку «Добавить » (что вполне логично). Советую также скачать конвертированные с Eagle библиотеки компонентов. Однако не стоит подключать все файлы разом — это может привести не только к замедлению загрузки проекта, но и к надоедливым сообщениям о дублировании компонентов в библиотеках. Разобравшись с мелочами, жмем на кнопку «Разместить компонент » на правой панели (или пункт «Компонент » в меню «Разместить ») и щелкаем в произвольном месте на листе.

В появившемся окошке пишем в поле «Имя»: 34063 — здесь, в отличие от Eagle, не нужно знать точное название компонента, достаточно лишь его части.

Также можно выбрать компонент из списка (кнопка «Список всех ») или подобрав подходящий символ («Выбор просмотром »). Нажимаем OK. Если введенное обозначение встречается в нескольких компонентах, нам предлагают выбрать нужный.

Размещаем символ на листе.

Внимание, грабли ! KiCad унаследовал от Unix-систем добрую традицию горячих клавиш. Чтобы переместить расположенный компонент, недостаточно просто кликнуть по нему. Следует навести курсор на компонент и нажать на клавиатуре латинскую [M] (от англ. Move), либо нажать на компоненте правой кнопкой и выбрать в контекстном меню соответствующий пункт. Точно так же поворачиваем клавишей [R] и перетаскиваем (т. е. перемещаем без отрыва от цепей) клавишей [G]. Через сочетание добавляем компонент, а через — проводник. Все то же самое можно проделать и через контекстное меню. Горячие клавиши могут показаться неудобными, но на самом деле большинство из них интуитивно понятно пользователю, знакомому с английскими словами. Кроме того, запомнив пару десятков сочетаний, можно значительно ускорить работу. Так что не ленимся и читаем справку, благо она полностью переведена на русский язык.

Следом за микросхемой добавляем на лист остальные компоненты. Для добавления пассивных элементов достаточно в поле «Имя» написать их более-менее общепринятые обозначения (R, C, CP и т. д.). Выбранные однажды компоненты остаются в поле «Список истории» для быстрого добавления.

Чтобы завершить добавление компонентов, нажимаем клавишу либо выбираем в контекстном меню пункт «Отложить инструмент ». Для соединения цепей используем «Разместить проводник ».

Получается что-то вроде этого:

В случае, если соединение проводников представляется неудобным (или если схема разбита на отдельные блоки), то имеет смысл применить метки. Они связывают отдельные участки цепи, совсем как имена в Eagle. В KiCad несколько типов меток (локальные, глобальные и иерархические). Глобальные и иерархические используются в том случае, когда блоки схемы располагаются на нескольких листах и их надо связать между собой. Нам достаточно самой примитивной, так что выбираем «Разместить имя цепи (локальная метка)».

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

Внимание, грабли! KiCad не привязывает метку к соединению наглухо, как это делает Eagle. После создания метку можно двигать, как и любой другой компонент, однако чтобы она «подхватилась» цепью, ее соединительная точка должна совпасть с соединением на цепи или компоненте.

Расставив необходимые метки, получаем такую картину:

Теперь добавим землю и цепи питания. Они относятся к инструменту «Разместить порт питания »

Пишем в строке поиска «GND ».

Или выбираем нужный компонент через кнопку «Список всех »

Разместив землю, проделываем то же самое с Vin, выбрав соответствующий компонент. Его придется подсоединять к отдельному проводнику. Для этого берем инструмент «Разместить проводник », кликаем на нужном участке цепи и тянем проводник в сторону. Для того, чтобы закончить его не в точке соединения, а в произвольном месте на листе, дважды кликаем мышкой.

Размещаем питание нашей схемы. На выходе достаточно просто разместить метку типа «Vout ».

Теперь обозначим компоненты и укажем их номиналы. Делается это достаточно просто: нужно навести курсор на компонент и нажать клавишу [V ] для присвоения номинала и клавишу [U ] для указания порядкового номера. Впрочем, номера могут быть присвоены и автоматически. Для этого нажимаем кнопку «Обозначить компоненты на схеме »

В появившемся окошке настраиваем параметры обозначений (можно оставить как есть). Если части компонентов уже были назначены порядковые номера, то можно либо продолжить текущую нумерацию, либо начать ее заново, нажав предварительно на кнопку «Сбросить обозначения ».

Покончив с подготовкой, нажимаем «Обозначить компоненты» и соглашаемся с предложением дать всему порядковые номера. Расставим номиналы. Наводим курсор, жмем [V ]. Если в фокусе оказывается несколько компонентов, KiCad выводит маленькую менюшку с просьбой уточнить, какой именно компонент мы хотим редактировать.

Напоследок проверим правильность схемы, нажав кнопку «Выполнить проверку..

В появившемся окошке можно настроить параметры проверки — правила соединений между выводами (что считать ошибкой, что предупреждением) на вкладке «Параметры».

На вкладке «ERC» нажимаем «Тест ERC »... и видим сообщения об ошибках.

При этом на схеме рядом с проблемными местами появятся зеленые стрелочки-маркеры. Выбор строки из списка ошибок в окошке ERC будет переносить нас к соответствующему маркеру. Итак, в чем же у нас проблема? А вот в чем: KiCad недостаточно просто поставить порт питания на схему, надо еще и указать, что порт питания, добавленный через порт питания, — это именно порт питания, а не что-то иное. Апофеоз костылей, на мой взгляд, но вполне решаемый. Нужно всего лишь снова взять инструмент «Разместить порт питания » и выбрать в списке портов компонент PWR_FLAG .

На схеме появится вот такой символ:

PWR_FLAG отображается только на схеме и нужен исключительно для успешной проверки ее правильности. Цепляем его в плюсу питания и цепи GND. Снова запускаем тест ERC — ошибок больше нет.

Внимание, грабли! Когда используются микросхемы с никуда не подключенными выводами, тест ERC будет ругаться в их сторону. Чтобы этого не происходило, на все неиспользуемые выводы следует ставить флаг «Не соединено».

В итоге у нас получилась вот такая схема:

Чтобы распечатать ее, нажимаем на верхней панели кнопку «Печать схемы », либо выбираем этот пункт в меню «Файл ».

Внимание, грабли! Пользователи Linux могут столкнуться с проблемой, когда вместо схемы распечатывается чистый лист. Это происходит из-за некорректной работы wxWidgets с принтерами.

  • а) обновить wxWidgets до версии 3.0;
  • б) воспользоваться экспортом схемы в доступный графический формат либо в файл PDF, а затем распечатать ее.

Не совсем понятно, что двигало разработчиками KiCad, но всем привычный экспорт находится в пункте «Чертить ».

Здесь выбираем формат, настраиваем цветовой режим и качество изображения (толщина линии по умолчанию), выбираем, нужно ли нам экспортировать вместе со схемой рамку листа. Вот, пожалуй, и все, что достаточно знать для начала работы в EESchema. А в следующий раз мы поговорим о тонкостях и создании новых компонентов для библиотек. Автор обзора - Витинари .

Обсудить статью ПРОГРАММА ДЛЯ РАЗРАБОТКИ И ТЕСТИРОВАНИЯ СХЕМ



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: