Tengo un convertidor de refuerzo 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 altas corrientes de consumo (diferentes ciclos de trabajo / periodicidades) además de varios tipos de baterías (varios voltajes / resistencias internas). Como estoy simulando una cantidad de tiempo operativo (relativamente) tan grande, los archivos de simulación se están volviendo bastante importantes, sin mencionar que tardan un tiempo. Me gustaría automatizar LTSpice para poder cambiar los valores de los componentes mediante programación y volver a ejecutar simulaciones y capturar datos (valores de cosas como el voltaje o la corriente). Yo sé eso:
- Los archivos WAV se pueden usar para ingresar / sacar datos del programa
- El programa se puede ejecutar desde la línea de comando
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 cumpla mis objetivos, pero me pregunto si ya existe una mejor manera.
¿Alguien ha automatizado LTSpice o sabe si se ha escrito algún tipo de API de automatización (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.
Respuestas:
Ejecutar una simulación varias veces y cambiar los valores de varios componentes es un poco más complicado que simplemente cambiar uno (lo cual no es tan malo)
Aquí está el concepto para cambiar un valor:
.param X=R
.step param X 100 500 50
para escalonar el valor entre 100 y 500 en incrementos de 50.Ejemplo:
Resultado:
Para valores múltiples, la única forma en que encontré que funcionaba era usando una lista de valores para X, y usando la declaración de la tabla. Probablemente esto se explica mejor con un ejemplo (leer la ayuda para los comandos utilizados probablemente será útil aquí). Pero tenga en cuenta que la sintaxis del comando de tabla está en la tabla de formulario (í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, estos son los comandos:
Resultado:
Esperemos que tenga la idea, tal vez pueda producir un script que produzca los comandos SPICE necesarios cuando complete los valores deseados. O simplemente cree una plantilla (por ejemplo, simplemente copié y pegué lo anterior en algunas simulaciones diferentes y cambié los valores)
Si lo anterior no hace lo que quiere, entonces quizás mire algo como el multisim de NI (creo que tiene algunas opciones de simulación por lotes, aunque no estoy seguro de cuán útiles sean). También puede ser útil preguntar en el LTSPice foro y ver si alguien sabe de una mejor manera de hacer las cosas.
fuente
Creo que en realidad es posible ejecutar LTSpice desde la línea de comandos y ejecutar una simulación transitoria:
En ventanas:
En Linux:
fuente
LTSpice se puede ejecutar en modo por lotes con el
-b
interruptor de línea de comando.Del archivo de ayuda de LTSpice:
Cómo leer e interpretar la salida .raw se deja como ejercicio para el lector.
También tenga en cuenta, entre los modificadores de línea de comando:
fuente
¿Ya verificaste 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 forma de cola.
fuente
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 ventanas, elementos de menú, llamar a programas con argumentos, etc.
Mira esto:
http://www.autoitscript.com/site/
http://www.autoitscript.com/forum/
Me gustaría ir a Winbatch si quieres pagar por un programa de script.
fuente