Paso / tabla de parámetros en LT spice

2

Estoy simulando fuentes de comportamiento algo complejas en LTspice, y tengo dificultades para que se acepte un conjunto de parámetros. Vea el esquema de abajo de un convertidor bidireccional buck / boost. Creo que está rechazando mi línea ".param D = ..." porque contiene los parámetros de la tabla. ¿Alguien puede darme una sugerencia sobre cómo resolver esto? Necesito "pre-calcular" el parámetro D basado en los valores de paso de V1 y V2. Si acabo de definir V1 y V2 sin pasos / tabla, la simulación funciona bien.

Gracias por cualquier sugerencia!

    
pregunta rhampo

1 respuesta

1

En LTspice, y no solo, las expresiones condicionales como if() tienden a introducir discontinuidades que van en contra del solucionador debido a la derivada en ese punto. Se pueden evitar algunas discontinuidades simples, pero, por lo general, se deben evitar.

Una solución sería tratar de suavizar la discontinuidad agregando un pequeño condensador (fF ~ pF) a través de la fuente que tiene los condicionales, lo que obligaría a la forma de onda a seguir una ruta más fluida, permitiendo así que el solucionador " vea "todos los puntos y pase por delante, mientras que, al mismo tiempo, no influya en el circuito introduciendo polos no deseados que podrían causar resultados erróneos.

Otra solución sería simplemente usar el A-devices que viene con LTspice, o, con el LTspice XVII más reciente, el comando .machine . Digo esto mirando su esquema, donde veo, en su mayoría, casos de if(cond, <one_voltage>, <another_voltage>) , que pueden resolverse fácilmente con puertas lógicas.

Mientras estamos en ello, también puede evitar la histéresis positiva para el interruptor, que es conocido por causar problemas, y elegir un valor negativo, lo que haría que las transiciones fueran más fáciles de on a off y viceversa, en lugar de cambios bruscos.

Otra nota menor sería no basarse en los diodos predeterminados, que son ideales, y forzar un diodo "normal" especificando uno de los otros parámetros, como Is=1f , por ejemplo. O bien, podría mantener el diodo ideal más rápido, pero no le hará daño agregar epsilon=<fraction of Vfwd> y revepsilon=<fraction of Vfwd> ; agregan una región cuadrática simple a las rodillas de la función de transferencia.

Y, finalmente, los parásitos en C sy L s pueden hacer mucho para evitar grandes cantidades conmutadas (corrientes, en su mayoría) y para hacer que el circuito se comporte de forma más real.

    
respondido por el a concerned citizen

Lea otras preguntas en las etiquetas