Как стать автором
Обновить

Комментарии 18

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

Да, в ближайшее время сделаю репозиторий и проект overleaf для русскоязычной документации. План по английской документации здесь: https://github.com/ra3xdh/qucs_s/issues/554

Вы делаете очень крутую работу! Но я сходу не смог разобраться, а вытались интегрироваться с kicad? или как раз из за невозможности это сделать приходится создавать графическую оболочку для решателя "заного" ?
Просто для меня, как не знакомого с внутренностями вашего проекта и кикада (да и вообще не программиста) кажется, что и там и там графический интерфейс схожий, проделано куча работы, а у кикада есть система плагинов, бери да встраивай!

Разработка Qucs ведётся с 2003 года. Изначально он задумывался авторами, которые в настоящее время ушли из open-source, как открытый аналог САПР AWR или ADS более с уклоном на моделирование СВЧ устройств. Даже интерфейс сделали похожий на ADS. Но потом область применения программы расширили. KiCAD стал делать свой модуль с симулятором много позже.

Объединить Qucs и KiCAD едва ли возможно в виду архитектурных различий и использования разных фреймворков (Qt и WX) для GUI. Также область назначения обеих программ несколько разная. Qucs по-прежнему имеет уклон в моделирование СВЧ.

А Вы не думали над возможностью импорта net-листов схем из KiCAD-а? Было бы круто.

Нет, реализация подобного не рассматривается. В 99% случаев из нетлиста KiCAD можно импортировать только RCL. Для остального в библиотеках KiCAD нет SPICE-моделей. Нужны какие-то костыли. Ну и если даже удастся импортировать схему целиком с моделями, то на чём-то подобном вот этому: https://raw.githubusercontent.com/ra3xdh/TRX_RA3XDH/master/TRX_RA3XDH.png симулятор зависнет. В данном примере кстати все модели есть. На мой взгляд лучше моделировать схему малыми частями. Существует брошенный проект для обратного преобразования qucs2kicad https://github.com/Valber/qucs2kicad Также начиная с версии 24.2.0 поддерживается интеграция с утилитой Qucs-RFLayout https://github.com/thomaslepoix/Qucs-RFlayout , которая генерирует топологию KiCAD из схемы с микрополосковыми линиями.

Спасибо за ссылки, а по импорту net-листов пожелание более скромное, просто импортировать принципиальную схему один к одному, с номиналами RCL, и наименованиями всех компонентов что экономит время, и позволяет избежать ошибок ручного копирования.

Касаемо, подгрузки SPICE-моделей к УГО(понятно, что при этом ограничения совместимости форматов SPICE-моделей учитываются в ручную), то хорошо бы современем, это упростить, до 1 клика, примерно как в KiCAD и LT-SPICE,

Если УГО типовое, например полный дифференциальный усилитель, просто открываем диалог подрузки SPICE-модели, в котором задаем соотвествие портов УГО, и SPICE-модели, и дополнительно по необходимости режим совмеcтимости SPICE-модели с NgSpice(т.е. по сути как в KiCAD).

Либо если типовое УГО не выбирали, то в один клик формируется УГО-прямоугольник в котором имена портов могут быть переименованы(т.е. по сути как в LT-SPICE, без предварительного выбора УГО), сейчас в один клик Qucs-S уже делает 95% этого, но вот порты УГО-прямоугольника при этом просто так не переименуешь, требуется целый ритуал с подсхемой(либо, что не очень хорошо, переименование портов в самой SPICE-модели).

импортировать принципиальную схему один к одному

Технически такое в принципе возможно. Но делать это некому, так как требуется написание большого объёма кода. Я точно за эту задачу не возьмусь. Вспоминаем, что KiCAD разрабатывают специалисты из CERN на зарплате. Ну и как я писал ранее, большие схемы просто зависнут при попытке симуляции, а маленькие схемы перерисовать вручную не составляет труда. Всё равно в физическую схему для корректной симуляции нужно что-то добавлять либо убирать. Но если кто-то сделает патч с подобной фичей "под ключ", то я его приму.

упростить, до 1 клика, примерно как в KiCAD и LT-SPICE

Существует компонент SpiceLibComp https://qucs-s-help.readthedocs.io/en/latest/SubLib.html#usage-of-unmodified-spice-libraries Там предполагается, что к этому компоненту можно просто подключить шаблон символа и указать файл с моделью SUBCKT. Но эта система имеет недоработки. Пока нет шаблонов символов и редактора таких шаблонов. Также нельзя задать соответствие портов символа и подсхемы. И иногда Ngspice показывает warning nested subcircuits. Поэтому я не включил информацию про данный способ в эту статью. Компонент SpiceLibComp нужно дорабатывать. Опять же помощь приветствуется.

В качестве примера два скриншота реверсивного усилителя от КВ трансивера в KiCAD и Qucs. В принципе импорт из KiCAD возможен, но чтобы запустить симуляцию схема потребовала доработки. Ну и если бы я импортировал схему трансивера целиком, то симуляция бы просто зависла, несмотря на то, что для всех компонентов есть модели. Да и разработка здесь была в обратном порядке. Сначала я отладил мелкие узлы в симуляторе, а потом перерисовал их в KiCAD, чтобы сделать разводку ПП.

Схема KiCAD
Схема KiCAD
Схема Qucs
Схема Qucs

Простая программа ВЧ моделирования Калифорнийского университета встретилась в интернете. DOS-стайл, но схема рисуется очень быстро. Модельки внутри непростые.

Офигенный софт, на самом деле. Пользуюсь давно, версия по-моему что-то типа 0.16 в официальных репозиториях убунты тогда была, не помню уже точно. Редактор схемы, кстати, я считаю намного удобнее, чем Altium Designer, например. Очень всё просто, но понятно и предсказуемо, поэтому вносить изменения получается быстрее.

Я не СВЧист. Изредка использую развёртку по АЧХ. Больше "Моделирование переходного процесса". Импульсные, триггерные, автогенераторные схемы - ван лав. Часто наталкиваюсь на то, что симуляция заходит в тупик на очередном переключении. Есть ли какие-то общие рекомендации для параметров симуляции, или для самой схемы при моделировании таких устройств?

Часто наталкиваюсь на то, что симуляция заходит в тупик на очередном переключении.

Во первых следует проверить, что точно Ngspice установлен и точно включен в настройках программы. Для Убунты существует библиотека ngspice-kicad, которая симулятором не является. Совместно с Qucs-S она работать не будет. Если используется KiCAD из PPA, то установить системный ngspice из репозитория нельзя, так как там идёт конфликт пакетов: https://github.com/ra3xdh/qucs_s/issues/333

Общего алгоритма отладки сходимости при моделировании переходных процессов нет. Сообщения об ошибках у Ngspice довольно невнятные. Следует проверять схему на наличие плавающих узлов и т.п. Также в последних версиях Ngspice появилась проблема с диодами: https://github.com/ra3xdh/qucs_s/discussions/710

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

Сейчас по вашим статьям добавил qucs в список реп. Версия 24.2.1. ngspice установлен, и судя по логам из qucs, работает.

В базовой библиотеке косяк встретил. "Источник напряжения прямоугольной формы", когда его параметры задаются из уравнения, а не руками, перестаёт генерировать. А я им пользуюсь и как пилообразный генератор, и для развёртки ВАХ, как на железе. Его модель в нетлист для ngspice, насколько я в итоге разобрался, неправильно выводится.

Последние версии не пробовал, но и в перечнях изменений не видел этого бага. Зарепортить кому-либо? Что приложить для этого? Или может я сам пришлю правки. Но дайте понять, в какой области исходников это всё искать.

Версия 24.2.1.

Новейшая версия 24.3.0

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

Это уже исправлено: https://github.com/ra3xdh/qucs_s/issues/819 Было связано с тем, что нужно обеспечивать совместимость SPICE и qucsator.

Огромное спасибо!

У меня не последняя версия, т.к. ставлю из репозиториев для убунты 20. Но раз проект развивается так стремительно, имеет смысл и из последних исходников попробовать собрать.

Добавил в статью информацию по импорту SPICE моделей в версии 24.3.0 и выше. В новейших версиях программы данная процедура значительно упростилась, и оборачивать модели в подсхемы более не требуется. Также можно импортировать модели дискретных компонентов через кнопку Fill from SPICE MODEL в диалоге свойств транзисторов и им подобных компонентов синего цвета.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории