Cómo usar .step param con más de dos parámetros en LTSpiceIV

12

Necesito hacer tres simulaciones transitorias con diferentes valores de ciertas resistencias (convenientemente llamadas R1 y R2) en cada una. Lo que quiero hacer exactamente es esto:

  • Sim. 1: R1 = 1 k , R2 = 10 kΩΩ
  • Sim. 2: R1 = 1 M , R2 = 10 MΩΩ
  • Sim. 3: R1 = 1 k , R2 = 1 MΩΩ

Si hubiera una sola resistencia cuya resistencia variara, simplemente establecería su resistencia en "{r1}" (uso letras minúsculas para convertirla en una variable / parámetro diferente a R1) y usaría un comando como:

.step param r1 list 1k 1meg 1k

Sin embargo, dado que tengo que cambiar dos parámetros (juntos) dos veces cada uno, he leído aquí que (al menos en LTSpiceIV) que una solución a mi problema podría estar usando algo como esto:

.step param X list 1 2 3

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

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

Al hacer la simulación, recibo las siguientes advertencias:

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.

Lo mismo se aplica para r1.

Por alguna razón, la simulación no se "rompe" si agrego un elemento adicional a la tabla. En ese caso, la simulación lleva demasiado tiempo, avanzando más lentamente cada vez, ya que nunca terminaría. He intentado configurar X en 0 1 2 en lugar de 1 2 3, pero eso tampoco funciona.

Aquí hay algunas fotos:

Circuito + comandos

Mensaje de error

Su ayuda sería muy apreciada.

sebascarra
fuente
Estoy confundido, ¿quieres simular 3 situaciones o más? Si solo quieres simular los 3 escenarios, no me molestaría en hacerlo con especias.
ACD
¿Y qué quieres que sea el eje X?
ACD
Me gustaría simular esas tres situaciones y trazarlas juntas. Sé que podría exportar un archivo CSV y trazarlos con Octave o Excel, pero sería mucho más útil hacerlo directamente en LTSpice. En esta publicación ( electronics.stackexchange.com/questions/20811/… ) alguien dijo cómo hacerlo, pero no me funciona. En este ejemplo, pongo tres escenarios, pero podría necesitar poner más.
sebascarra
En cuanto a su segunda pregunta, X serían los diferentes índices que me permiten acceder a los valores de la tabla. Dado que (aparentemente) LT solo me permitirá barrer a través de una variable a la vez, barro a través de X y luego trato de acceder a los valores de la tabla de acuerdo con el valor que X ha tomado en ese paso. Espero ser claro. Gracias.
sebascarra
Bueno, para uno, el comando de tabla quiere un índice, que es X, luego un conjunto de pares xy. Cada parámetro debe tener 3 pares, no tres valores.
ACD

Respuestas:

17

En LTSpice, el comando de tabla realmente crea un tipo de diccionario donde debe especificar pares de valores clave. La directiva adecuada para su caso sería:

.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)

y establecer el valor de las resistencias en {R1}y {R2}respectivamente.

Si desea tener los valores de una resistencia cerca de él, también puede ingresar (en lugar de valor, al hacer clic derecho sobre él)

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

en el campo de valor de resistencia. Esto funciona de la misma manera para todo tipo de componentes y con un script externo para crear archivos .asc, puede usarse como una muleta para LTspices que carecen de la funcionalidad de Monte Carlo.

PlasmaHH
fuente
4

Un barrido / paso de parámetros puede controlar múltiples valores de componentes a través de expresiones.

La variable de control que está subiendo podría ser un ángulo de fase o un retraso de tiempo o similar que ingrese en una o más fórmulas / expresiones para obtener los valores o parámetros de componentes resultantes que se aplicarán en el diseño como {parámetro}

Esto es útil si desea mantener una relación o controlar alguna propiedad física indirecta del diseño, como una propiedad actual o de filtro.

En el editor de comandos "op" puede ingresar algo como esto:

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

Pone a Imax de 0.1 a 0.3 en pasos de 0.1 y calcula un valor de resistencia R usando el parámetro Imax, Uin, alguna caída de voltaje supuesta 0.85 .. de un diodo.

Se puede hacer referencia al PARAM R en una notación de valor de componente utilizando {R}. Observe que Uin podría usarse como {Uin} en una fuente de voltaje o similar, y así sucesivamente.

Para varias líneas en la ventana del editor "op", use CTRL + M para mantener todos los parámetros en el mismo cuadro de texto.

tofo
fuente