Программа для Расчета Электрических Схем Qucs-S Возродилась в Новом Облике
Время на прочтение
20K
Qucs-S я
Qucs-S представляет собой программу для моделирования электронных схем с открытым исходным кодом. Эта кроссплатформенная программа, поддерживаемая на Linux, Windows и FreeBSD, написана на языке С++ и использует библиотеки Qt. Важно отметить, что Qucs-S разрабатывается в частном порядке, в отличие, например, от KiCAD, который имеет спонсора в лице CERN.
История разработки
Qucs-S является форком проекта Qucs, который начали разрабатывать немцы Stefan Jahn и Michael Margraf в 2003 году. В настоящее время материнский проект практически неактивен и последний релиз был в 2017 году. Изначально Qucs поставлялся со своим собственным движком моделирования, нацеленным более на анализ ВЧ схем в частотной области. Этот движок имел серьёзные проблемы со сходимостью при моделировании во временной области и был несовместим со SPICE, что не позволяло напрямую применять модели электронных компонентов, распространяемые производителями.
В 2014 году я начал разработку набора патчей, который бы позволял подключать к Qucs в качестве движка открытый Ngspice. В итоге эта разработка привела к созданию форка Qucs-S (Qucs with SPICE). В 2017-2020 годах вышло три релиза Qucs-S, последние из которых были корректирующими, проект был скорее мёртв. В этом году я провёл ритуал некромантии, портировал Qucs-S на Qt5, и тем самым возвратил программу к жизни.
Про основы работы в Qucs и про Qucs-S рассказывают мои предыдущие статьи:
- Qucs — open-source САПР для моделирования электронных схем https://habr.com/ru/post/248005/
- Новый кандидат в релизы САПР Qucs-0.0.19S-RC6 https://habr.com/ru/post/302006/
Поддерживаемые движки моделирования
В настоящее время Qucs-S поддерживает четыре движка моделирования:
- Ngspice Это рекомендованный симулятор. Он совместим с большинством моделей, которые можно найти на разнообразных ресурсах. Сейчас проектом руководит Holger Vogt из университета Дуйсбург-Эссен.
- XYCE Это симулятор разработанный с нуля Сандийскими национальными лабораториями. Имеется возможность моделирования гармонического баланса (HB) и S-параметров.
- SpiceOpus
- Qucsator Это изначальный движок, применявшийся в Qucs. Имеет возможность моделированя S-параметров, но нестабилен во временной области.
Qucs-S поддерживает все виды моделирования реализованные в применяемом SPICE-движке, а именно моделирования во временной и частотной области, шумовой анализ, анализ нелинейных искажений, Фурье-анализ, моделирования гармонического баланса.
Установка
Для Linux имеются репозитории для Debian/Ubuntu, Fedora и OpenSUSE. Имеются также пакеты для Arch, которые можно установить через AUR, и порт для FreeBSD. Для нестандартных случаев можно собрать Qucs-S из исходников или воспользоваться AppImage. Поддержку своего дистрибутива Linux можно проверить здесь. Бинарные пакеты собираются автоматически при помощи OpenSUSE Build Service.
Сам Qucs-S не предоставляет движка моделирования. Рекомендуется использовать Ngspice, который для Debian/Ubuntu устанавливается по зависимостям, а в прочих случаях его нужно установить вручную.
Для Windows следует скачать zip-архив с portable версией Qucs-S со страницы релиза. Далее нужно распаковать архив и запустить файл qucs-s.exe из поддиректории bin. Ngspice следует скачать с официального сайта и установать в C:\Spice64, иначе не будут работать модели XSPICE. При первом запуске следует указать путь к файлу ngspice_con.exe в настройках программы. Последние версии Ngspice для Windows теперь поставляют два исполняемых файла ngspice.exe и ngspice_con.exe Для правильной работы Qucs-S нужен ngspice_con.exe, который может писать логи в консоль. Обычный ngspice.exe запускает графическое окно, и все текстовые сообщения остаются внутри этого окна.
Основы работы с программой
При первом запуске Qucs-S сообщит, что нужно выбрать движок моделирования и откроет диалоговое окно, показанное на скриншоте. В последствии настройки можно поменять в меню Simulation->Select default simulator. Под Linux Ngspice обычно расположен в /usr/bin/ngspice, а под Windows устанавливается по умолчанию в C:/Spice64/bin/ngspice_con.exe
После того как выбран симулятор, открывается окно редактора схемы. Теперь можно смоделировать какую-нибудь схему. Для примера соберём инвертирующий усилитель Нортона на операционном усилителе NE5532. Редактирование схемы в Qucs интуитивно понятно и те, кто работал с другими электрическими САПР, легко разберутся с редактором. Следует отметить несколько особенностей. Виды моделирования и диаграммы также являются компонентами и размещаются на схеме. Они находятся в группах Simulations и Diagrams и выбираются из панели компонентов в правой части окна, откуда их можно перетаскивать на поле схемы. Операционный усилитель является библиотечным компонентом и его следует взять со вкладки Libraries в правой части окна. Собираем схему и размещаем на ней виды моделирования. Требуется смоделировать переходный процесс (Transisent analysis) и АЧХ схемы (AC analysis) Должно получиться как показано на скриншоте. Вход и выход схемы нужно пометить при помощи Insert->Wire label.
Уравнение также является особым компонентом и вставляется через меню Insert→Equation или кнопкой на панели инструментов. Способ задания уравнений в Qucs-S отличается от того, что было в Qucs. Теперь в первом параметре нужно выбрать из списка к какому виду моделирования относится уравнение, так как для напряжений и токов используется нотация SPICE. Например v(out) это напряжение на узле out Диалоговое окно, открываемое при двойном клике по уравнению, показано на скриншоте. Данное уравнения рассчитывает коэффициент усиления схемы в децибелах.
После того, как схема собрана, выбираем в главном меню Simulation->Simulate или нажимаем на клавиатуре F2 и запускаем моделирование. Появляется окно в котором сообщается, что Ngspice промоделировал схему без ошибок.
Ознакомившись с отчётом симулятора, нажимаем Exit и переходим на страницу просмотра, где можно разместить диаграммы. Диаграммы также можно разместить и прямо на схеме как это сделано на КДПВ. Сигналы, которые нужно вывести на диаграмму можно выбрать в диалоговом окне свойств диаграммы. На следующих двух скриншотах показан диалог свойств диаграммы и окно просмотра с АЧХ и осциллограммами сигналов на входе и на выходе. Видно, что усилитель усиливает сигнал.
На диаграммах можно размещать маркеры, которые действуют аналогично курсорам на цифровом осциллографе. Начиная с версии Qucs-S 0.0.24 теперь можно задавать точную позицию маркера по оси X в диалоговом окне свойств. Например можно установить маркер точно на частоте 1 кГц на графике АЧХ.
Новые виды моделирования в Qucs-S
Ngspice начиная с версии 37, которая вышла в мае этого года, поддерживает моделирование S-параметров. В Qucs-S начиная с версии 0.0.24 также можно промоделировать S-параметры при помощи Ngspice и больше не требуется устанавливать и использовать для этой цели Qucsator. Пример схемы широкополосного усилителя высокой частоты для КВ трансивера показан на скриншоте.
До версии Qucs-S 0.0.24 требовалось прибегать к написанию скрипта постпроцессора Ngspice, чтобы выполнить анализ спектра (FFT). Начиная с версии 0.0.24 в приложении реализован специальный вид моделирования: анализ спектра (Spectrum ananlysis – FFT). Пример моделирования спектра на выходе диодного кольцевого смесителя показан на скриншоте. Параметрами данного моделирования являются полоса частот (BW), шаг по частоте (dF) и тип оконной функции.
Заключение
Симулятор Qucs-S восстал из мёртвых и теперь будет развиваться. В планах у меня синхронизировать релизы с новыми функциями, появляющимися в Ngspice. Например в Ngspice-38 разработчики планируют добавить поддержку цифровых компонентов, совместимых по синтаксису нетлиста и списка цепей с LTSpice. Как только они будут доступны в Ngspice, я добавлю их поддержку в Qucs-S. Также в следующем релизе планируются некоторые улучшения пользовательского интерфейса.
Помощь в разработке приветствуется. В профиле проекта на Гитхабе можно ознакомиться с багтрекером и планами дальнейшей разработки программы. Если планируете какое-то глобальное улучшение, то рекомендуется предварительно написать и изложить, что вы собираетесь делать. Также проекту можно помочь финансово через страницу на Boosty и тем самым тоже приблизить следующий релиз.
Ресурсы по Qucs-S
- Сайт проекта
- Сайт Ngspice
- Репозиторий исходных кодов
- Актуальный релиз
- Страница на Boosty, где можно поддержать проект финансово
- Видео-туториал на английском языке от Kasper Nielsen: https://www.youtube.com/watch?v=90RaVy38DB8
- Видео-туториал на русском языке от канала Deztronica: https://www.youtube.com/watch?v=2HyK5TZ3c2k
Где создавать модели для 3д принтера?
Существует множество программ для создания 3D моделей, которые можно использовать для подготовки модели для 3D принтера. Некоторые из них бесплатные, а другие стоят денег. Вот некоторые из наиболее популярных программ:
-
Tinkercad — это бесплатная веб-программа, которая обладает простым и интуитивно понятным интерфейсом. Она предназначена для начинающих и детей.
-
Blender — это бесплатная программа с открытым исходным кодом, которая обладает огромным количеством функций и возможностей. Она используется для создания 3D моделей, анимации, визуализации и многого другого.
-
SketchUp — это программа с бесплатной версией и версией за плату, которая позволяет создавать 3D модели для архитектуры, дизайна интерьеров и промышленного дизайна.
-
Autodesk Fusion 360 — это программа с бесплатной версией для некоммерческого использования. Она предназначена для создания 3D моделей для промышленного дизайна и инженерных расчетов.
-
SolidWorks — это программа для создания 3D моделей для промышленного дизайна и инженерных расчетов. Она стоит денег, но имеет бесплатную 30-дневную пробную версию.
-
AutoCAD — это программа, которая используется для создания 2D и 3D чертежей для архитектуры, инженерии и строительства. Она стоит денег, но имеет бесплатную 30-дневную пробную версию.
Это лишь некоторые из наиболее популярных программ для создания 3D моделей. Вам следует выбрать программу в зависимости от ваших потребностей и уровня опыта.