Qucs как пользоваться пошаговая инструкция

от admin

Qucs как пользоваться пошаговая инструкция

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

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

В этой заметке хочется рассказать про Qucs. Он не так известен как Протеус или LTSpice, но вполне себе хорош. Кроме того, он относится к свободному ПО, что также дает ему бонусные очки. Правда, работа в Qucs имеет свои нюансы, которые сподвигли меня сделать небольшой видео-туториал (также на RT). Если вам нужен быстрый старт и «куда там тыкать» — рекомендую к просмотру. Здесь же я сфокусируюсь на впечатлениях, на сравнении Qucs и LTSpice, ну и попутно дам пару подсказок из упомянутого видео.

В самом начале работа в программе выглядит довольно простой. Создал проект и погнали рисовать. Библиотеки организованы вполне удобно, инструменты мыши тоже понятные. Единственное, что напрягало — это переворот компонентов при установке. Почему-то комбинация Ctrl+R работает только на установленном компоненте, а «в курсоре» элемент надо вращать правой кнопкой мыши. Впрочем, редактировать схему в Qucs мне все равно понравилось больше, чем в LTSpice.

Сложности для нового пользователя наступают тогда, когда дело доходит до моделирования. В принципе, основная идея такая же, как в LTSpice — на схеме размещается объект «блок моделирования», через который мы приказываем программе «копать от забора до обеда». Однако подход к пользователю у программ разный. Qucs требует ручного управления и полного понимания ситуации — блок моделирования ставим руками, имена цепей задаем явно, отображение результата также организуем вручную, добавляя нужную величину в свойствах таблицы или графика. LTSpice автоматизирует все эти вещи. Имена цепям давать не обязательно, достаточно тыкать в них «щупом», и график сам вылезет.

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

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

Вопрос с измерением тока рассмотрим поближе. В руководстве сказано, что названия величин в программе состоят из двух частей. Напряжение в узле node будет называться node.V, а ток через компонент name будет называться name.I. Все вроде бы понятно, но прикол в том, что мы можем наблюдать только величины из автоматически сгенерированного списка. В первом примере (делитель напряжения) список будет содержать только напряжения в узлах, которым мы явно задали метки, и ток через источник постоянного напряжения. Там нет токов через резисторы! При этом авторы руководства тонко пошутили над нами — в примере с транзистором измеряется ток через коллектор, да, но коллектор подключен напрямую к источнику напряжения. То есть ток коллектора равен току через источник питания, который в списке появится по-любому.

Как решается этот вопрос? Ставим в разрыв компонент «измеритель тока», как на картинке. Не особо элегантно, конечно, но в целом приемлемое решение.

В целом же работа в Qucs мне пока что понравилась. Эдакий «электротехнический MathCAD» — упор на гибкость в оформлении документа. Несмотря на пугающий номер версии с двумя нулями впереди, все выглядит цивилизованно 😀 В общем, попробуйте сами.

Быстрый старт в аналоговом моделировании¶

Qucs (произносится: kju:ks) — симулятор цепей с графическим пользовательским интерфейсом. Он способен выполнять различные виды моделирования (например, на постоянном токе, S-параметров и т.д.). Этот документ дает краткое описание того, как пользоваться Qucs.

При первом запуске Qucs создает папку ”.qucs” в Вашей домашней папке. Каждый файл сохраняется в этой папке или в одной из ее подпапок. После загрузки Qucs показывается главное окно, которое выглядит примерно как на рис.1. С правой стороны расположена рабочая область (6), в которой содержатся схемы, документы показа данных и т.д.. С помощью вкладок (5) над этой областью можно быстро переключиться на любой документ, открытый в данный момент. С левой стороны главного окна Qucs находится еще одна область (1), содержание которой зависит от состояния вкладок, расположенных над ней: “Проекты” (2), “Содержание” (3) и “Компоненты” (4). После запуска Qucs активируется вкладка “Проекты” (2). Так как Вы запустили программу в первый раз, эта область пустая, поскольку у Вас еще нет ни одного проекта. Нажмите кнопку “Создать” прямо над областью (1) и откроется диалоговое окно. Введите имя для Вашего первого проекта, например, “firstProject” и нажмите кнопку “Создать”. Qucs создает папку проекта в папке

/.qucs, для этого примера “firstProject_prj”. Каждый файл, принадлежащий этому новому проекту, будет сохранен в этой папке. Новый проект немедленно открывается (это можно прочитать в заголовке окна) и вкладки переключаются на “Содержание” (3), где показывается содержание открытого в данный момент проекта. У Вас еще нет ни одного документа, поэтому нажмите кнопку сохранения на панели инструментов (или используйте главное меню: Файл->Сохранить) чтобы сохранить документ без названия, который заполняет рабочую область (6). После этого появится диалоговое окно для ввода имени нового документа. Введите “firstSchematic” и нажмите кнопку “Сохранить”.

image0_RU

Рис. 1 — Главное окно Qucs

Теперь нам нужно сделать простое моделирование на постоянном токе, то есть мы хотим проанализировать схему на рис. 1. Выберите вкладку “Компоненты” ( (4) на рис. 1). Там Вы увидите выпадающий список, в котором можно выбрать группу компонентов и, ниже, компоненты выбранной группы. Выберите “дискретные компоненты” и нажмите на первый символ: “Резистор”. Перемещая курсор мыши в рабочую область (6), Вы переносите рисунок обозначения резистора. Нажатие правой кнопки мыши вращает обозначение, нажатие левой кнопки мыши помещает компонент на схему. Повторите этот процесс для всех компонентов, показанных на рис. 1. Источник напряжения может быть найден в классе компонентов “источники”, обозначение заземления может быть взято из класса “дискретные компоненты” или с панели инструментов, требуемое моделирование определяется с помощью больших блоков моделирования, находящихся в классе компонентов “виды моделирования”. Чтобы изменить параметры второго резистора, сделайте двойное нажатие левой кнопки мыши на нем. Откроется диалоговое окно, где можно изменить сопротивление. Введите “100 Ohm” в поле редактирования справа и нажмите Enter.

Чтобы соединить компоненты, нажмите кнопку с проводником на панели инструментов (или воспользуйтесь главным меню: Вставка->Проводник). Переместите курсор на незанятый вывод (помеченный маленьким красным кружком). Нажатие кнопки мыши на нем начинает проводник. Теперь передвиньте курсор к конечной точке и снова нажите кнопку мыши. Теперь компоненты соединены. Если Вы хотите изменить направление изгиба проводника, нажмите правую кнопку мыши, прежде чем делать конечную точку. Вы можете также закончить проводник, не нажимая ни на свободный вывод, ни на проводник: просто сделайте двойное нажатие левой кнопки мыши.

Наконец, очень важно пометить узел, в котором Вы хотите, чтобы Qucs рассчитал напряжение. Нажмите на панели инструментов кнопку для метки проводника (или воспользуйтесь меню: Вставка->Метка проводника). Теперь нажмите кнопку мыши на выбранном проводнике. Откроется диалоговое окно и можно ввести имя узла. Напишите “divide” и нажмите кнопку “Ok”. Теперь схема должна выглядеть как на рис. 1.

Для запуска моделирования нажмите кнопку моделирования на панели инструментов (или используйте меню: Моделирование->Моделировать). Откроется окно и покажет продвижение процесса. После успешного завершения моделирования открывается документ показа данных. Обычно все это происходит так быстро, что Вы увидите лишь быстрое мелькание. Теперь Вам нужно поместить диаграмму, чтобы увидеть результаты моделирования. Слева находится класс компонентов “диаграммы”, который выбирается автоматически. Нажмите на “Табличная”, перейдите в рабочую область и поместите ее, нажав левую кнопку мыши. Открывается диалоговое окно, где можно выбрать, что следует показать в новой диаграмме. В левой области видно имя узла, которое Вы задали: “divide”. Сделайте двойное нажатие кнопки мыши на нем, и оно будет перенесено в правую область. Выйдите из диалога нажатием кнопки “Ok”. Теперь виден результат моделирования: 0.666667 вольт. Замечательно, похлопайте себя по плечу!

Быстрый старт в
цифровом моделировании

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

Для цифрового моделирования Qucs использует программу FreeHDL (http://www.freehdl.seul.org). Поэтому пакет FreeHDL, а также компилятор GNU C++ должны быть установлены в компьютере.

Нет большой разницы в выполнении аналогового или цифрового моделирования. Поэтому после прочтения Быстрый старт в аналоговом моделировании легко добиться, чтобы работало цифровое моделирование. Давайте рассчитаем таблицу истинности простого логического элемента И. Выберите цифровые компоненты в выпадающем списке вкладки компонентов слева и постройте схему, изображенную на рис. 1. Блок цифрового моделирования можно найти среди других блоков моделирования.
Цифровые источники S1 и S2 подключены ко входам, узел с меткой Output является выходом. После выполнения моделирования открывается страница показа данных. Поместите на нее диаграмму Таблица истинности и вставьте переменную Output. Теперь показывается таблица истинности двух-входового элемента И. Поздравления, первое цифровое моделирование сделано!


Рис. 1 — Главное окно Qucs

Таблица истинности — не единственный вид моделирования, который может выполнить Qucs. Возможно также подать в схему случайный сигнал и посмотреть выходной сигнал во временной диаграмме. Чтобы это сделать, нужно изменить параметр Type блока моделирования на TimeList и в следующем параметре нужно ввести продолжительность моделирования. Теперь у цифровых источников другой смысл: они могут выдавать случайную последовательность битов, для чего им нужно задать первый бит (низкий или высокий) и список моментов времени следующей смены состояния. Обратите внимание, что этот список повторяется после конца. Поэтому, чтобы получить тактовые импульсы с частотой 1 ГГц и скважностью 1:1, в этом списке должно быть записано: 0.5ns; 0.5ns.
Для отображения результатов этого типа моделирования есть временнАя диаграмма. В ней результаты всех выходных сигналов могут быть изображены построчно в одной диаграмме. Так что успехов в этом деле.

Читать:
Когда был выпущен первый камаз

Файловый компонент VHDL

Более сложные и более универсальные виды моделирования могут быть выполнены с помощью компонента «файл VHDL». Этот компонент может быть взят из списка компонентов (раздел «цифровые компоненты»). Тем не менее, рекомендуется следующий способ: файл VHDL д олжен быть в составе проекта. Затем перейдите в просмотр содержимого проекта и нажмите на имя файла. Войдя в область построения схем, поместите компонент VHDL.
Последний объектный блок в файле VHDL определяет интерфейс, то есть здесь должны быть объявлены все входные и выходные выводы. Эти выводы показываются также на схемном обозначении и могут быть соединены с остальной схемой. Во время моделирования исходный код файла VHDL помещается в VHDL-файл верхнего уровня. Это следует учитывать, поскольку это приводит к некоторым ограничениям. Например, имена объектов в VHDL-файле должны отличаться от имен, уже данных подсхемам. (После моделирования полный исходный код можно увидеть, нажав F6. Пользуйтесь этим, чтобы прочувствовать процедуру.)

Моделирование высокочастотных схем при помощи Qucs-S и Ngspice

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О базовых принципах работы с Qucs-S рассказывает моя предыдущая статья. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 1.0.2.

В Ngspice начиная с версии 37 добавлена возможность моделирования матрицы рассеяния (иначе называемое моделирование S-параметров). Qucs-S также поддерживает данные вид моделирования начиная с версии 0.0.24. Моделирование S-параметров и анализ ВЧ схем всегда было ключевой возможностью симулятора Qucs, наследником которого является Qucs-S. Но для Qucs-S, имеются некоторые отличия, о которых будет рассказано далее. На КДПВ приведён пример моделирования полосового фильтра на диапазон 40 метров для любительского КВ трансивера.

Анализ схемы ДПФ для КВ трансивера в Qucs-S

Что такое S-параметры и для чего они нужны?

Кратко рассмотрим, что такое S-параметры четырёхполюсника. Четырёхполюсником является любая электронная схема, имеющая один вход и один выход. Если вход четырёхполюсника подключен к источнику переменного тока (генератору колебаний) с некоторым выходным сопротивлением Z1 , то часть энергии от источника передаётся на вход, а часть — отражается от входа. Такое же рассуждение справедливо и для выхода четырёхполюсника, к которому подключена нагрузка с сопротивлением Z2. Нормированные амплитуды падающей и отражённых волн можно связать через матрицу S-параметров.

Физический смысл S-параметров следующий:

S11 — коэффициент отражения Γ1 от входа четырёхполюсника. Показывает степень согласования между источником входного сигнала (генератором колебаний) и входными цепями четырёхполюсника. Если S11 = 0, то вся энергия от источника входного сигнала проходит на вход четырёхполюсника без отражения.

S12 — коэффициент обратной передачи. Показывает степень передачи энергии с выхода четырёхполюсника на вход.

S21 — коэффициент передачи. Равен коэффициенту усиления по мощности четырёхполюсника.

S22 — коэффициент отражения Γ2 от нагрузки. Показывает степень передачи энергии с выхода в нагрузку. Если S22 = 0, то вся энергия с выхода четырёхполюсника поглощается нагрузкой без отражения.

Матрицу S-параметров можно преобразовать в матрицы Y и Z-параметров. При этом Y-параметры представляют собой входную, выходную и проходную проводимость четырёхполюсника, а Z-параметры — сопротивления.

Объект моделирования

Прежде всего нужно убедиться, что Ngspice, используемый Qucs-S, имеет версию 37 или выше. Иначе моделирование S-параметров работать не будет.

Мы будем далее моделировать широкополосный усилитель высокой частоты (УВЧ) на биполярном транзисторе из книги Э. Реда «Высокочастотная схемотехника». Данный усилитель часто используется в схемах приёмников и трансиверов на любительские КВ диапазоны. Оригинальная схема из книги показана на рисунке.

Оригинал схемы широкополосного УВЧ

Коэффициент усиления данной схемы примерно равен:

С тем, чтобы собрать данную схему в Qucs-S проблем возникнуть не должно. Размещаем все необходимые компоненты на поле схемы и соединяем проводами. В качестве транзистора будем использовать 2N5109, который часто применяется в подобных схемах. Модель данного транзистора находится в библиотеке «BJT extended», где её можно найти при помощи функции поиска. Итоговая схема показана на следующем рисунке. Ко входу и выходу усилителя подключены 50-омные порты. Про них будет пояснение далее.

ВЧ трансформатор в цепи коллектора транзистора состоит из двух индуктивно связанных катушек L1 и L2. Связь между катушками задаётся через специальный компонент называемый «К coupling». Его параметрами являются обозначения на схеме двух катушек и коэффициент связи между ними.

Схема широкополосного УВЧ

Задание моделирования

После того, как схема собрана, нужно задать виды моделирования. Так же, как и было в Qucs, для Qucs-S предусмотрен специальный вид моделирования «S-parameter simulation», который задаёт параметры расчёта матрицы рассеяния многопортовой схемы. Найти данный вид моделирования можно в левой части окна в группе «Simulations». В качестве параметров моделирования требуется задать начальную (Start) и конечную частоты (Stop), а также количество точек расчёта (Points). Поддерживается линейная и логарифмическая развёртка частоты.

Компонент для задания симуляции S-параметров

ДиЧтобы произвести моделирование S-параметров, необходимо к каждому из портов схемы подключить специальный источник, называемый Power source. Данный компонент находится в группе «Sources». С обычным источником переменного напряжения (AC voltage source) моделирование S-параметров функционировать не будет. В нашем примере такие источники подключены к узлам in и out.

Компонент для 50-омных портов

В качестве параметров источника следует задать номер порта (Num), сопротивление порта (Z , должно быть действительным числом) в Ом, мощность синусоидального сигнала (P) в дБмВт и частоту (f) в Гц.

Теперь, когда схема собрана, можно запускать моделирование. Для этого в главном меню выбираем Simulation->Simulate или нажимаем клавишу F2. Перед моделированием можно также посмотреть рабочую точку схемы на постоянном токе, нажав клавишу F8.

Если в схеме не было ошибок, то Qucs-S известит нас о том, что моделирование прошло успешно. После этого можно будет построить графики частотной зависимости S-параметров, для чего размещаем на поле схемы декартовскую (Cartesian) диагрмму. Ngspice после моделирования создаёт набор переменных, которые представляют собой S, Y, Z параметры многополюсника. Применять функции преобразования подобные stoy(), которые использовались в Qucs больше не требуется. Окно задания свойств диаграммы, в котором виден перечень переменных показано на скриншоте. Из названия переменных понятно, что они представляют. Всего у нас доступно 12 переменных, по четыре для каждого типа параметров S, Y, Z. По сравнению с Qucs, синтаксис данных переменных поменялся. Теперь номера портов задаются следом за буквой через символ подчёркивания.

Диалоговое окно свойств диаграммы с переменные, созданные после моделирования

Мы построим два графика. На одном будут параметры S11 и S22 (коэффициенты отражения от входа и выхода соответственно), а на другом параметры S21 (прямой коэффициент передачи) и S12 (обратный коэффициент передачи). Схема с размещёнными на её поле графиками показана на следующем скриншоте.

Схема широкополосного УВЧ с результатами моделирования

Видно, что схема обеспечивает равномерное усиление в полосе частот от 1 МГц до 30 МГц, что перекрывает весь КВ диапазон.

Обработка результатов моделирования S-параметров

Раньше в Qucs cуществовали математические функции подобные rtoswr(), специально предназначенные для использования совместно с моделирование S-параметров. Для Qucs-S с движком Ngspice такие функции больше не действуют. Нужно писать свои уравнения. В качестве примера рассчитаем КСВ по входу и выходу схемы и переведём коэффициент усиления схемы S21 в децибелы.

Как известно, КСВ связан с коэффициентом отражения Г следующим соотношением:

Теперь нужно составить уравнения Nutmeg – постпроцессора Ngspice. Для этого нажимаем в главном меню Insert→Insert equation. На схеме появляется специальный компонент, в котором задаётся уравнение. В свойствах уравнения выставляем тип моделирования, к которому оно относится. Для нашего случая это SP – моделирование S-параметров. Там же вписываем собственно уравнения, которые переводят прямой коэффициент передачи в децибелы и рассчитывают КСВ. Мы рассчитываем КСВ по входу и по выходу, и поэтому в качестве коэффициента отражения берём S11 и S22.

Диалог задания уравнения

На схеме данный компонент выглядит следующим образом:

Теперь если запустить моделирование, то к списку переменных добавляется три новых переменных K, VSWRin и VSWRout, которые можно вывести на графики. Получаем следующие графики. На скриншоте они построены на отдельной вкладке.

Графики коэффициента усиления в децибелах и КСВ

Также имеется возможность получить вывод в децибелах без добавления уравнений на схему. Для этого нужно в свойствах диаграммы установить параметр «logarithmic left Axis Grid» и выбрать единицу измерений из выпадающего списка. В этом же окне на той же вкладке можно выбрать «Engineering notation» в списке «Number notation» и видеть по оси X отсчёт в мегагерцах, как на скриншоте выше. В том же диалоговом окне можно задать подписи по осям (Axis label).

Настройка осей диаграммы

Также в Qucs-S имеется возможность построить графики частотных зависимостей S-параметров на комплексной плоскости (Locus curve) или в виде диаграммы Смита (Smith chart). Пример такого графика для диапазонного полосового фильтра показан на скриншоте. Если поставить маркер на диаграмме Смита, то программа автоматически для S-параметра будет показывать значения соотвествующего Z-параметра. Например параметру S11 соответствует параметр Z11, который является входным сопротивлением схемы. Из диаграммы Смита видно, что в полосе пропускания фильтра оно равно около 50 Ом.

Моделирование ДПФ для КВ трансивера и пример использования диаграммы Смита

Дополнительные возможности для моделирования ВЧ схем

Старый Qucs поддерживал большое количество компонентов, представляющих различные микрополосковые линии и прочие СВЧ устройства. К сожалению, в Qucs-S эти компоненты пока не работают с движком Ngspice и поэтому спрятаны. Но работа по их возвращению запланирована https://github.com/ra3xdh/qucs_s/issues/94

Тем не менее в релизе 1.0.2 были добавлены два компонента INDQ и CAPQ, которые позволяют задавать катушку и конденсатор с добротностью, что удобно для анализа различных фильтров и усилителей. На скриншоте можно видеть пример реверсивного резонансного усилителя на полевых транзисторах конструкции В. Артёменко UT5UDJ, где используются такие катушки. Производится параметрическое моделирование зависимости коэффициента усиления от добротности катушки.

Похожие публикации