Як використовувати .step парам з більш ніж двома параметрами в LTSpiceIV


13

Мені потрібно зробити три перехідні симуляції з різними значеннями певних резисторів (зручно називати R1 і R2) у кожному. Що я маю на увазі робити саме так:

  • Сім. 1: R1 = 1 к , R2 = 10 кΩΩΩ
  • Сім. 2: R1 = 1 М , R2 = 10 МΩΩΩ
  • Сім. 3: R1 = 1 к , R2 = 1 МΩΩΩ

Якби був лише один резистор, чий опір змінювався, я би просто встановив його опір "{r1}" (я використовую малі літери, щоб зробити його іншою змінною / параметром, ніж R1) і використовував таку команду, як:

.step param r1 list 1k 1meg 1k

Однак, оскільки мені доводиться змінювати два параметри (разом) два рази кожен, я тут прочитав, що (принаймні, на LTSpiceIV), що для вирішення моєї проблеми могло б бути щось подібне:

.step param X list 1 2 3

.param r1 = table(X, 1k, 1meg, 1k)

.param r2 = table(X, 10k, 1meg, 10meg)

Роблячи моделювання, я отримую такі попередження:

WARNING: Can´t resolve .param r2 = table(X, 10k, 1meg, 10meg)
Select OK to continue the simulation with the default model or Cancel to quit now.

Те саме стосується r1.

Чомусь симуляція не "ламається", якщо я додаю в таблицю один додатковий елемент. У цьому випадку моделювання триває занадто довго, просуваючись повільніше з кожним разом, як це ніколи не закінчиться. Я спробував встановити X на 0 1 2 замість 1 2 3, але це також не працює.

Ось кілька фотографій:

Схема + команди

Повідомлення про помилку

Ваша допомога буде дуже вдячна.


Я розгублений, ви хочете імітувати 3 ситуації чи більше? Якщо ви просто хочете імітувати 3 сценарії, я б не заважав робити це зі спеціями.
ACD

А яким ви хочете бути віссю X?
ACD

Я хотів би змоделювати ці три ситуації та скласти їх разом. Я знаю, що я міг би просто експортувати файл CSV і побудувати їх за допомогою Octave або Excel, але це було б набагато корисніше зробити це безпосередньо на LTSpice. У цій публікації ( electronics.stackexchange.com/questions/20811/… ) хтось сказав, як це зробити, але це не працює для мене. У цьому прикладі я поклав три сценарії, але мені може знадобитися поставити більше.
sebascarra

Що стосується вашого другого питання, то X мають різні показники, які дозволяють мені отримати доступ до значень таблиці. Оскільки (мабуть) LT дозволить мені переглядати лише одну змінну за один раз, я прогортаю X і потім намагаюся отримати доступ до значень таблиці відповідно до значення, яке X прийняло на цьому кроці. Я сподіваюся, що я зрозумів. Дякую.
sebascarra

Ну для одного команда таблиці хоче індекс, який є X, а потім набір пар xy. Кожен парам повинен мати в ньому 3 пари, а не три значення.
ACD

Відповіді:


17

У LTSpice команда table справді створює своєрідний словник, де потрібно вказати пари ключових значень. Відповідною директивою для вашого випадку буде:

.step param Rx list 1 2 3
.param R1 table(Rx,1,1k,2,1Meg,3,1k)
.param R2 table(Rx,1,10k,2,1Meg,3,10Meg)

і встановити значення резисторів на {R1}та {R2}відповідно.

Якщо ви хочете, щоб значення резистора були поруч, ви також можете ввести (замість значення, клацнувши правою кнопкою миші на ньому)

R=table(Rx,1,10k,2,1Meg,3,10Meg)

в поле значення резистора. Це працює так само для всіх типів компонентів і за допомогою зовнішнього скрипту для створення .asc-файлів, він може бути використаний як милиця для LTspices зниклих функцій monte carlo.


4

Один параметр розгортки / кроку може керувати кількома значеннями компонентів через вирази.

Ваша контрольна змінна, яку ви переходите, може бути кутом фази або затримкою часу або подібним, що ви вводите в одній або декількох формулах / виразах, щоб отримати отримані в результаті значення компоненти або параметри, застосовані в дизайні як {параметр}

Це корисно, якщо ви хочете підтримувати відношення або керувати деякими непрямими фізичними властивостями конструкції, такими як поточна властивість або властивість фільтра.

У редакторі команд "op" ви можете ввести щось подібне:

.STEP param Imax 0.1 0.3 0.1 
.PARAM Uin= 5
.PARAM R = (Uin-0.84954605)/Imax

Він крокує Imax від 0,1 до 0,3 з кроком 0,1 і обчислює значення резистора R, використовуючи параметр Imax, Uin, деякий припущений спад напруги 0,85 .. діода.

Параметр RAM R може посилатися на позначення значення компонента usng {R}. Помітьте, що Uin може використовуватися як {Uin} у джерелі напруги чи подібному тощо.

Для декількох рядків у вікні редактора "op" використовуйте CTRL + M, щоб зберегти всі параметри в одному текстовому полі.


2

Це працює для моєї схеми

.step param n список 2 3 4

.param Rf = таблиця (n, 1,1,3k, 2,1,1k, 3,1,2k, 4,1k)

.param Cf = таблиця (n, 1,54p, 1,64p, 2,64pF, 4,64pF)

Таким чином, Rf отримує значення поточного індексу (визначеного в директиві .step). Отже, таблиця значень починається з ідентифікатора індексу (тут n), а потім слід з індексу пар, значення. Якщо я не використовую індекс у таблицях, я отримую ту саму помилку, що вказана в першому дописі

Робоче рішення було знайдено після прочитання функції таблиці LTspice

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.