В сентябре этого года вышел релиз свободного симулятора электронных схема Qucs-S 25.2.0. Данное программное средство, разрабатываемое автором и интернациональными коллективом разработчиков, позволяет моделировать различные электронные схемы с использованием свободного движка Ngspice (рекомендуется) или специализированного движка для анализа высокочастотных схем QucsatorRF. Qucs-S является примерным аналогом таких проприетарных программных продуктов, как MicroCAP и LTSpice. Об основах работы в Qucs-S рассказывают мои предыдущие статьи на Хабре.

Недавно вышедший релиз программы 25.2.0 содержит значительные изменения. К наиболее заметным стоит отнести добавление моделей ферромагнитных сердечников и реализацию моделирования микрополосковых линий при помощи Ngspice. Далее более подробно рассказывается о новшествах релиза 25.2.0.

Моделирование магнитных сердечников

Большинство ПО для схемотехнического моделирования использует модель Джильса-Атертона для представления ферромагнитного сердечника в виде компонента на схеме. Ngspice содержит XSPICE реализацию данной модели, но вменяемых результатов я от встроенной модели так и не добился. Видимо в ней остались какие-то недоработки. Поэтому для Qucs-S была разработана собственная макромодель сердечника. Для этого применена реализация модели Джильса-Атертона (J.-A.), описанная в этой статье: https://ieeexplore.ieee.org/document/8267734/ с незначительными изменениями, связанными с синтаксисом списка цепей Ngspice. Такая же модель применяется, например в MicroCAP, поэтому результаты моделирования в MicroCAP и Qucs-S+Ngspice совпадают. Также возможен импорт библиотек MicroCAP в Qucs-S. Но также имеются и глюки, унаследованные от избранной реализации модели J.-A. В частности наблюдается ложное насыщение сердечника при малом сигнале, как и в MicroCAP.

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

Подробнее о процессе разработки модели можно посмотреть здесь и найти скриншоты сравнения с MicroCAP: https://github.com/ra3xdh/qucs_s/issues/1284

В версии Qucs-S 25.2.0 была добавлена специальная группа компонентов «magnetic core», в которую входит два компонента:

  • Сердечник (Magnetic core). Можно ввести параметры сердечника вручную или выбрать из библиотеки. Вместе с программой поставляются библиотеки моделей ферритовых сердечников Amidon, Epcos и Ferroxcube.

  • Обмотка (Winding) — как следует из названия, компонент представляет собой обмотку трансформатора, которая намотана на сердечнике. Компонент имеет три свойства: CORE задаёт имя сердечника на схеме, N задаёт число витков, Rs задаёт паразитное последовательное сопротивление.

Компоненты, представляющие обмотку и сердечник
Компоненты, представляющие обмотку и сердечник

Используя комбинацию компонентов Winding и Magnetic Core можно собирать многообмоточные трансформаторы. Рассмотрим их применение. Сначала требуется разместить на схеме компонент, представляющий сердечник. Можно выбрать сердечник из библиотеки, как показано на скриншоте.

Библиотеки моделей ферритовых сердечников
Библиотеки моделей ферритовых сердечников

Если дважды щёлкнуть мышью на компоненте сердечника, то откроется диалоговое окно свойств. Для сердечника оно нестандартное. Помимо параметров модели J.-A. для ферромагнитного сердечника можно задать геометрические размеры и конфигурацию. При этом длина магнитного пути и площадь сечения расчитывается автоматически. Поддерживаются кольцевые (ring), Ш-образные (E-type) и П-образные (U-type) сердечники. В диалоговом окне отображается чертёж-подсказка. Также можно выбрать тип сердечника generic и ввести длину магнитного пути и площадь сечения вручную, если конфигурация не подходит под имеющиеся стандартные. На скриншоте показаны параметры для кольцевого сердечника из феррита N87 (имеется в библиотеке). В диалоге также можно задать немагнитный зазор в сердечнике (GAP).

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

Затем нужно задать параметры катушек, которые намотаны на сердечнике. Для этого на схеме размещается компонент Winding и первым параметром (CORE) указывается имя компонента, который представляет сердечник. Вторым и третьим параметром указывается число витков и паразитное сопротивление. К одному сердечнику можно присоединить сколько угодно катушек. Если активировать опцию «H and B probe pins», то для сердечника на схеме будет отображаться два терминала помеченных B и H, на которые выведено значение магнитной индукции B и напряженности магнитного поля H в сердечнике. В качестве примера на скриншоте показано моделирование трансформатора, состоящего из двух обмоток на ферритовом кольце.

Пример моделирования трансформатора
Пример моделирования трансформатора

Если нужный сердечник отсутствует в библиотеке, но имеются измерения параметров его петли гистререзиса, то можно произвести экстракцию параметров модели J.-A. Для этого нужно открыть файл примера схемы core_test_BH.sch, который поставляется в составе примеров для программы и находится в каталоге share/qucs_s/ngspice/MagneticCores На поле схемы размещена краткая инструкция. На графике по оси X — напряжённость магнитного поля H (А/м), а по оси Y — магнитная индукция B (Тл). Параметр MS следует вычислить по известной индукции насыщения MS=Bm*1e6, а остальные три параметра (A,K,C) подогнать так, чтобы измеренная петля гистерезиса совпадала с результатом моделирования.

Экстракция параметров модели сердечника и построение петли гистерезиса
Экстракция параметров модели сердечника и построение петли гистерезиса

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

Микрополосковые линии (МПЛ) являются частным случаем длинных линий и применяются в качестве резонансных цепей в СВЧ диапазоне. Большинство существующих SPICE-совместимых движков схемотехнического моделирования содержат только модели идеальных длинных линий, задаваемых волновым сопротивлением и длиной, либо RLCG модель, где задаётся погонная реактивность и сопротивление. Для моделирования МПЛ как-правило используется специализированное программное обеспечение. В Ngspice версии 45 автором были добавлены специальные XSPICE модели МПЛ https://sourceforge.net/p/ngspice/ngspice/merge-requests/33/. Математическая основа моделей такая же как и в Qucsator и ScikitRF. Используются модели дисперсии Хаммерштатда и Киршнинга. Теперь используя Qucs-S схемы с МПЛ можно моделировать и с движком Ngspice, не переключаясь на QucsatorRF.

Ngspice поддерживает следующие виды МПЛ:

  • Простая МПЛ (Microstrip line)

  • Связанные МПЛ (Coupled microstrips)

  • Модель конца разомкнутой МПЛ (Microstrip open end)

  • Идеальные связанные длинные линии (Coupled lines)

Использование МПЛ в режиме моделирования SPICE не имеет каких-либо особенностей по сравнению с Qucsator. Следует разместить на схеме, компоненты для полосковых линий и подложки и задать параметры. Ngspice поддерживает моделирование МПЛ в частотной (S-параметры и AC) и во временной (Transient) области. Модель переходного процесса можно включить установив параметра компонента TranModel в значение Full или отключить установив в данном параметре DC. По умолчанию моделирование переходного процесса включено. На схеме можно комбинировать любые активные и пассивные компоненты с МПЛ и моделировать например усилитель с резонансными цепями на МПЛ. Учитывается частотная зависимость волнового сопротивления и сопротивления потерь. Моделирование шума в полосковых линиях Ngspice не поддерживает.

На скриншоте приведён пример моделирования полосового фильтра на связанных МПЛ при помощи Ngspice и для сравнения результаты полученные при помощи QucsatorRF.

Моделирование микрополоскового фильтра при помощи Qucs-S
Моделирование микрополоскового фильтра при помощи Qucs-S

Обновление документации

Документация была полностью переписана и теперь соответствует актуальному состоянию программы. Документация написана при помощи инструмента Sphinx. Обновлённая документация доступна здесь: https://qucs-s-help.readthedocs.io/en/latest/ Вид стартовой страницы документации показан на скриншоте.

Стартовая страница документации
Стартовая страница документации

Ресурсы по Qucs-S

В заключении приведён список ресурсов по Qucs-S

Комментарии (0)