Tengo un convertidor elevador alimentado por batería y estoy tratando de medir la caída máxima de voltaje de entrada (batería) en varias condiciones de carga de alto consumo de corriente (diferentes ciclos de trabajo/periodicidades) además de varios tipos de batería (varios voltajes/ resistencias internas). Dado que estoy simulando una cantidad tan grande (relativamente) de tiempo operativo, los archivos de simulación se están volviendo bastante sustanciales, sin mencionar que toman un tiempo. Me gustaría automatizar LTSpice para poder cambiar los valores de los componentes programáticamente y volver a ejecutar simulaciones y capturar datos (valores de cosas como voltaje o corriente). Yo sé eso:
Hasta ahora, mi mejor opción parece usar una combinación de estas dos opciones junto con mi propio código/script de una manera que logre mis objetivos, pero me pregunto si ya existe una mejor manera.
¿Alguien ha automatizado LTSpice o sabe si ha habido algún tipo de API de automatización escrita para él (ya sea por el fabricante o por terceros)?
Idealmente, me gustaría tener un solucionador, de modo que le diera los parámetros deseados y probara varios valores de componentes hasta que encontrara la solución "óptima" para mis limitaciones.
Ejecutar una simulación varias veces y cambiar los valores de varios componentes es un poco más complicado que simplemente cambiar uno (que no es tan malo)
Aquí está el concepto para cambiar un valor:
.param X=R
.step param X 100 500 50
para aumentar el valor entre 100 y 500 en incrementos de 50.Ejemplo:
Resultado:
Para valores múltiples, la única forma que encontré para trabajar fue usando una lista de valores para X y usando la declaración de la tabla. Esto probablemente se explique mejor con un ejemplo (leer la ayuda de los comandos utilizados probablemente sea útil aquí). Pero tenga en cuenta que la sintaxis del comando de tabla tiene el formato tabla (índice, x1, y1, x2, y2, .... xn, yn), toma el índice como entrada y devuelve un valor interpolado para x=índice basado en el x proporcionado ,y pares.
En una de mis simulaciones, necesitaba realizar 12 simulaciones mientras cambiaba 3 valores de componentes diferentes, aquí están los comandos:
.step param X list 1 2 3 4 5 6 7 8 9 10 11 12
.param Rin1 = table(X, 1, 1,1p, 2, 1p, 3, 1p, 4, 4478, 5, 4080, 6, 3400, 7, 2200, 8, 1p, 9, 1p, 10, 1p, 11, 1p, 12, 1p)
.param Rin2 = table(X, 1, 4997, 2, 4997, 3, 4997, 4, 499, 5, 897, 6, 1577, 7, 2777, 8, 4997, 9, 4997, 10, 4997, 11, 4997, 12, 4997)
.param Tval = table(X, 1, 56, 2, 56, 3, 27, 4, 1G, 5, 1G, 6, 1G, 7, 1G, 8, 1G, 9, 330, 10, 330, 11, 120, 12, 120)
.param Kval = table(X, 1, 316, 2, 147, 3, 147, 4, 6340, 5, 6340, 6, 6340, 7, 6340, 8, 6340, 9, 6340, 10, 825, 11, 825, 12, 316)
Resultado:
Esperemos que capte la idea, tal vez podría producir un script que produzca los comandos SPICE necesarios cuando complete los valores deseados. O simplemente cree una plantilla (por ejemplo, copié y pegué lo anterior en algunas simulaciones diferentes y cambié los valores)
Si lo anterior no hace lo que desea, entonces tal vez busque algo como el multisim de NI (creo que tiene algunas opciones de simulación por lotes, aunque no estoy seguro de cuán útiles son). También puede ser útil preguntar en LTSPice foro y ver si alguien sabe de una mejor manera de hacer las cosas.
Creo que en realidad es posible ejecutar LTSpice desde la línea de comando y hacer que ejecute una simulación transitoria:
En Windows:
cd <wherever LTSpice is installed on your computer>
scad3.exe -Run -b MyCircuit.asc
En Linux:
cd ~/.wine/drive_c/Program Files (x86)/LTC/LTspiceIV
wine ./scad3.exe -Run -b MyCircuit.asc
LTSpice se puede ejecutar en modo por lotes con el -b
interruptor de línea de comando.
Desde el archivo de ayuda de LTSpice:
-b: Ejecutar en modo por lotes. Por ejemplo, "scad3.exe -b deck.cir" dejará los datos en el archivo deck.raw
Cómo leer e interpretar la salida .raw se deja como ejercicio para el lector.
También tenga en cuenta, entre los modificadores de la línea de comandos:
-ascii: Usa archivos ASCII .raw. Degrada gravemente el rendimiento del programa.
¿Ya revisó en " LTSpice Queue Manager "? ( El enlace redirige a mi propio sitio web donde puede descargar el software pero no soy su autor, quien originalmente compartió el programa en un foro que hoy está cerrado. Compartirlo a través de mi sitio web es una forma de revivirlo ).
Esta herramienta me ha sido de mucha ayuda en el pasado. Puede preparar muchos archivos de simulación y ejecutarlos en cola.
Si solo tiene que ser LT Spice y no puede pasar la GUI, recomendaría el programa de script AutoIt. Lo he usado para automatizar algunas aplicaciones críticas de Windows que carecían de active-x-DDE-COM.dll-lo que sea. Puede configurarlo para esperar archivos, presionar botones de Windows, elementos de menú, llamar a programas con argumentos, etc.
Mira esto:
http://www.autoitscript.com/sitio/
http://www.autoitscript.com/forum/
Yo optaría por Winbatch si desea pagar por un programa de script.
brian carlton
Oli Glaser
joel b
Oli Glaser
dext0rb
leon heller
marcador de posición
marcador de posición
durazno_tropical