МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего образования «Южно-Уральский государственный университет (национальный исследовательский университет)» филиал в г. Миассе факультет электротехнический кафедра автоматики направление подготовки «Управление в технических системах» Научно-исследовательская работа На тему: Qucs Работу проверил: Работу выполнил: ст. преподаватель Носиков М.В. студент группы МиЭт-_222 К защите______________________ (допущен /не допущен) _______________ / Николаев Н. А. ____________________________________________ (подпись преподавателя) « ____ » ______________ 2021 г. « ____ » ______________ 2021 г. Работу защитил с оценкой оценка_________________________ Преподаватели: _______________ / ________________ (подпись) (ФИО) _______________ / ________________ (подпись) (ФИО) _______________ / ________________ (подпись) (ФИО) « ____ » ______________ 2021 г. Миасс 2021 СОДЕРЖАНИЕ стр. ВВЕДЕНИЕ .............................................................................................................. 3 2. Функционал и основные свойства .................................................................. 5 3. Библиотеки ........................................................................................................ 7 4. Моделирование на постоянном токе .............................................................. 8 5. Моделирование переходного процесса ........................................................ 11 6. Моделирование на переменном токе ............................................................ 13 7. Концепция уравнений..................................................................................... 15 8. Развертка параметров ..................................................................................... 16 ЗАКЛЮЧЕНИЕ ..................................................................................................... 19 СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ ................................................. 20 2 ВВЕДЕНИЕ В настоящее время существует не так уж и много open-source САПР. Тем не менее, среди САПР для электроники (EDA) есть весьма достойные продукты. Этот отчет будет посвящѐн моделировщику электронных схем с открытым исходным кодом Qucs. Qucs написан на С++ с использованием фреймворка Qt4. Qucs является кроссплатформенным и выпущен для ОС Linux, Windows и MacOS. 3 1. О программе Если сравнивать Qucs с другими симуляторами, то его ближайшим аналогом будет LTSpice. Обе программы бесплатны. Однако, Qucs не только бесплатен, но и свободен - распространяется под лицензией GPL. Формат схемного файла Qucs основан на XML и к нему поставляется документация. Поэтому схема Qucs может быть легко сгенерирована сторонними программами. Это позволяет создавать ПО для синтеза схем, которое является расширением Qucs. Проприетарное ПО как правило использует бинарные форматы. Рис. 1.Qucs 4 2. Функционал и основные свойства Как видно, интерфейс интуитивно понятен. Сверху панель действий, а так же инструменты мыши такие как масштаб, поворот и прочее. Слева боковая панель с браузером проекта, с компонентами и библиотеками. Почти все, что может быть нарисовано на схеме здесь есть. Разработчики за морочились и сделали два варианта резисторов - американский и по ГОСТу, что очень приятно. В стандартных библиотеках изначально имеем неплохой список реальных компонентов - диодов, транзисторов, операционников и так далее. Причем детали известные, массовые, а не продукция одного производителя. Рис. 2.1 Панель управления Рис. 2.2 Содержание 5 Рис. 2.3 Компоненты Рис. 2.4 Библиотеки 6 3. Библиотеки Библиотека компонентов использует собственный формат, основанный на XML. Но можно импортировать существующие библиотеки компонентов, основанные на Spice (приводятся в даташитах на электронные компоненты). Поддерживаются многие виды моделирования. Результаты моделирования можно экспортировать в Octave/Matlab и выполнить там постобработку данных. Qucs основан на вновь разработанном движке схемотехнического моделирования. Отличительной особенностью этого движка является встроенная возможность моделирования S-параметров и КСВ, что важно для анализа ВЧ-схем. Qucs может пересчитывать S-параметры в Y- и Zпараметры. Рис. 3 Библиотеки 7 4. Моделирование на постоянном токе Соберем несложную схему для примера. Редактор здесь достаточно удобный, но кнопки все равно надо подучить. Например, переворот компонента перед установкой делается правой кнопкой мыши, а не клавишей R. После установки переворот уже делается по Ctrl+R. Программа понимает обычную, научную и инженерную запись чисел. Например, если дописать маленькую "k", то можно сделать килоомы. Не забываем добавлять символ земли. Для симулятора это важный момент. Рис. 4.1 Схема Дальше надо моделировать. Здесь нет режима реального времени, а следовательно, нет виртуального осциллографа, вольтметра или других привычных вещей из жизни. 8 В подобных симуляторах пользователь сначала дает задание, потом программа считает, и уже потом мы смотрим на результат. Разместим на схеме блок моделирования на постоянном токе и нажмем "моделировать". Потом открывается новая вкладка - окно просмотра данных. Способ отображения результа задается пользователем явно. Положим сюда табличную диаграмму, и в свойствах слева снизу у нас будут варианты токов и напряжений, которые мы можем отобразить. Все, что нам предложили посмотреть - это ток через источник напряжения V1. Рис. 4.2 Моделирование Поэтому на подходе следующая вещь, которую надо задавать явно имена цепей. Выбираем инструмент "метка проводника", и назовем цепь между резисторов “TOK1”. Диаграммы можно ставить рядом со схемой. После того, как мы повторим моделирование, в списке появится напряжение в цепи “TOK1”. 9 Рис. 4.2 Моделирование ТОК1 Поставим параллельно еще один резистор. Теперь предлагаю разобраться, как смотреть ток в конкретной ветке. Добавляем токовый пробник, он же измеритель. Рис. 4.4 Измеритель тока 10 5. Моделирование переходного процесса Часто нас интересует, как протекают процессы во времени, всякие фронты и колебания и так далее. Для удовлетворения такого интереса нам понадобится моделирование переходного процесса. Изобразим элементарный фильтр нижних частот и добавим источник напряжения прямоугольной формы. Не забываем метку. А еще поменяем номиналы. Рис. 5.1 Схема Теперь выберем блок моделирования переходного процесса. Его можно настроить, как и другие компоненты. После моделирования можно вывести результат в виде привычного графика в декартовой системе координат. Не похоже на килогерц. Вообще не похоже на колебания, если честно. 11 Рис. 5.2 Моделирование А все почему? Потому что мы оставили количество точек по умолчанию, а их было всего 11. Если мы увеличим этот параметр, то картина станет более похожей на правду. Рис. 5.3 Моделирование 12 6. Моделирование на переменном токе Раз уж эта схема является фильтром, есть нужно посмотреть на ее АЧХ. Значит, пора прыгать в частотную область. Заменим прошлый источник питания источником переменного напряжения и поставим блок моделирования на переменном токе. В настройках моделирования можно поменять тип на логарифмический. Это не обязательно, на самом деле, это лишь влияет на интервалы, через которые программа делает замеры. Не забываем выбрать разумные пределы начальной и конечной частоты. Рис 6.1 Схема Делаем моделирование, ставим график и добавляем выходное напряжение out.v. Такие графики обычно более наглядны с логарифмической осью X. 13 Рис. 6.2 Моделирование В принципе, результат уже есть, но иногда бывает нужен график с децибелами. Поэтому пришло время познакомиться с концепцией уравнений. 14 7. Qucs Концепция уравнений позволяет совершать над величинами кучу разных математических операций. Сейчас нам надо преобразовать напряжение на выходе в децибелы, и для этого есть встроенная функция. Зададим имя новой величине, на месте формулы напишем ту самую функцию, выходное напряжение послужит ее аргументом. Ставим рядом еще один график, выберем в списке нашу новую величину. Потом сделаем логарифмическую ось и можно будет наслаждаться результатом. Рис. 7 Математические функции 15 8. Развертка параметров Иногда бывает нужно узнать как номинал у определенного элемента влияет на работу схемы. В реальной жизни это оборачивается многократным впаиванием, выпаиванием. При моделировании менять номиналы руками проще. Вот тут нас и спасет развертка параметра, потому что она позволяет автоматизировать этот процесс. Одно и то же моделирование с одним изменяющимся параметром будет проводиться несколько раз. Перейдем к примеру. Испытывать новый трюк будем снова на делителе напряжения. Добавляем таблицу и смотрим на результат. Видим напряжение на выходе, все как ожидалось. Рис 8.1 Схема Допустим, мы хотим повторить этот эксперимент несколько раз при разных номиналах нижнего резистора. Верхний при этом не трогаем. Для этого на схему добавляем блок развертки параметра, затем нам нужно его настроить. Во-первых, нужно указать какое именно моделировании мы будем делать несколько раз, затем указываем начальное и конечное значение сопротивления, а также шаг. А теперь самый важный момент - параметр для 16 разведки, это как раз то, что будет меняться в заданном диапазоне. По умолчанию программа написала R1. Значение в этом поле нечто вроде имени переменной напишем здесь что угодно к примеру Rdown и свойствах резистора вместо сопротивления тоже напишем Rdown. Выполняем моделировании и видим что таблица у нас подросла и столбец с номером строки превратился в список номиналов нижнего резистора. Но вообще таблица не очень удобный способ представления результата, особенно при большом количестве строк. К счастью Qucs может спокойно отобразить все то же самое в графики. Рис. 8.2 Моделирование Но что делать когда нужно моделировать схему с потенциометром, да еще при разных углах поворота ручки? Получается нам нужен делитель напряжение сумма сопротивлений плеч которого всегда одна и та же (R=R1+R2=const). Значит, когда нижнее сопротивление увеличивается, верхнее уменьшается. 17 Можем описать это уравнением. Назовем переменную Rup. Предположим у нас потенциометр на 1 кОм. Значит для верхнего резистора будем из одного килоома вычитает сопротивление нижнего резистора. Не забываем поменять свойства резистора R1. После моделирования график изменился, и мы видим, что у нас получился линейный потенциометр. Рис. 8.3 Графики Этот трюк можно проворачивать не только для сопротивления, можно менять все что меняется, например напряжение питания или температуру отдельных компонентов. 18 ЗАКЛЮЧЕНИЕ Итак, отличительной особенностью Qucs является возможность анализа комплексных частотных характеристик (КЧХ), построение графиков на комплексной плоскости и диаграмм Смита, анализ комплексных сопротивлений и S-параметров. Эти возможности отсутствуют в проприетарных системах MicroCAP и MultiSim, и здесь Qucs даже превосходит коммерческое ПО и позволяет получить недостижимые для симуляторов электронных схем, основанных на Spice результаты. Недостатком компонентов. Но Qucs является малое этот недостаток не количество является библиотечных препятствием к использованию, так как Qucs совместим с форматом Spice в котором приводятся модели электронных компонентов в даташитах. Также моделировщик работает медленнее, чем аналогичные Spice-совместимые моделировщики (например MicroCAP (проприетарный) или Ngspice (opensource)). В настоящее время идет работа над возможностью предоставления пользователю выбора движка для моделирования схемы. Можно будет использовать встроенный движок Qucs, Ngspice (spice-совместимый консольный моделировщик, похожий на PSpice) или Xyce (моделировщик с поддержкой параллельных вычислений через OpenMPI). Можно заключить, что несмотря на свои недостатки Qucs представляет собой весьма достойную альтернативу моделирования электронных схем. 19 проприетарным САПР для СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 1. Quite Universal Circuit Simulator [Электронный ресурс] // URL: https://ru.wikipedia.org/wiki/Qucs 20