Печать

Программы (Автор: dez)

Иногда при моделировании требуется не просто узнать, работает ли схема, а исследовать, как она чувствует себя в разных условиях. Например, как она работает на разных напряжениях питания или на что влияет номинал какого-нибудь элемента. Конечно, мы можем поменять нужные свойства руками, повторить моделирование и сравнить результат с угасающими воспоминаниями. Но если надо выполнять эти действия много раз - это уже скорее работа для компьютера. На него и спихнем. Qucs как раз имеет инструмент для этого - развертка параметра (parameter sweep).

Идея развертки проста как цикл FOR, и этот инструмент в Qucs даже почти выглядит интуитивно понятным. Но нет, здесь все же затаилась одна ловушка, поэтому добро пожаловать на инструктаж (также в форме видео RT/YT).

Рассмотрим пример. Пусть у нас будет "упражнение №1": источник постоянного напряжения и делитель из двух резисторов. Допустим, мы хотим несколько раз поменять сопротивление нижнего плеча R2. Для этого добавим на схему блок развертки параметра и зайдем в его свойства.

Свойства развертки / parameter sweep settings

Настройки развертки по сути указывают 3 вещи: какое моделирование выполнять, что при этом изменять и в каких пределах. В сложных случаях на схеме может быть сколь угодно много блоков моделирования, но в нашем примере будет только моделирование на постоянном токе, поэтому в поле "моделирование" укажем DC1. С пределами все должно быть сразу понятно: от какого до какого сопротивления будем проверять и с каким шагом.

А теперь гвоздь программы - параметр для развертки. Другими словами, "что изменять". Qucs заранее решил, что менять мы будем сопротивление (тут он угадал), и поэтому в поле ввода по умолчанию написано R1. Первая мысль нового пользователя: исправить на R2 и выполнить моделирование. Что ж, программа позволит это сделать и не выдаст ни одного предупреждения, и на выходе мы даже получим таблицу с кучей значений. Казалось бы, все круто, вот только почему-то результаты во всех строках одни и те же....

На самом деле, содержимое поля "параметр для развертки" - это имя переменной. Это имя нам следует подставлять вместо тех параметров, которые мы собираемся "разворачивать". То есть в нашем случае нужно зайти в свойства резистора R2 и заменить числовое значение сопротивления на такую же строку, как в параметре для развертки. После этого моделирование пойдет как надо.

Настройки развертки и компонента / param sweep and conponent's properties

Развертку параметра можно применять и похитрее. Например, поскольку параметр для развертки оказался именем переменной, его можно применять и в уравнениях. Это можно использовать для моделирования схем с потенциометрами, выразив сопротивление одного плеча через сопротивление другого. А еще следует обратить внимание на внушительное количество параметров у некоторых элементов. Можно менять любую мелочь вроде тока утечки или температуры отдельного элемента - и эти параметры тоже поддаются развертке. Климатические испытания внутри симулятора - шикарная возможность!

На этом можно считать очередной аспект работы в Qucs рассмотренным. Вообще, он нравится мне все больше, хотя подвохов у него в интерфейсе хватает. Это был не первый раз, когда Qucs меня подловил, и вряд ли последний. Так что вероятность сиквела существует :)

Статья опубликована 2019-06-13 17:49:46, её прочитали 2485 раз(а).