Ich habe einen batteriebetriebenen Hochsetzsteller und versuche, den maximalen Spannungsabfall der Eingangsspannung (Batterie) unter verschiedenen Lastbedingungen mit hohem Stromverbrauch (verschiedene Arbeitszyklen / Periodizitäten) zu messen, zusätzlich zu mehreren Batterietypen (verschiedene Spannungen / Innenwiderstände). Da ich eine so (relativ) große Betriebszeit simuliere, werden die Simulationsdateien ziemlich umfangreich, ganz zu schweigen davon, dass sie eine Weile dauern. Ich möchte LTSpice automatisieren, damit ich Komponentenwerte programmgesteuert ändern und Simulationen und Daten (Werte von Dingen wie Spannung oder Strom) erneut ausführen kann. Ich weiß das:
- WAV-Dateien können zur Eingabe / Ausgabe von Daten aus dem Programm verwendet werden
- Das Programm kann über die Befehlszeile ausgeführt werden
Bisher scheint meine beste Option eine Kombination dieser beiden Optionen zusammen mit meinem eigenen Code / Skript zu verwenden, um meine Ziele zu erreichen, aber ich frage mich nur, ob es da draußen schon einen besseren Weg gibt.
Hat jemand LTSpice automatisiert oder weiß, ob eine Automatisierungs-API dafür geschrieben wurde (entweder vom Hersteller oder von Dritten)?
Im Idealfall hätte ich gerne einen Löser, so dass ich ihm die gewünschten Parameter gab und er verschiedene Komponentenwerte ausprobierte, bis er die "optimale" Lösung für meine Einschränkungen fand.
Antworten:
Eine Simulation mehrmals auszuführen und mehrere Komponentenwerte zu ändern, ist ein bisschen komplizierter als nur eine zu ändern (was nicht so schlimm ist).
Hier ist das Konzept zum Ändern eines Wertes:
.param X=R
.step param X 100 500 50
den Wert zwischen 100 und 500 in Schritten von 50 schrittweise eingeben .Beispiel:
Ergebnis:
Bei mehreren Werten war die einzige Möglichkeit, die ich gefunden habe, die Verwendung einer Werteliste für X und die Verwendung der table-Anweisung. Dies wird wahrscheinlich am besten anhand eines Beispiels erklärt (das Lesen der Hilfe zu den verwendeten Befehlen wird wahrscheinlich hier hilfreich sein). Beachten Sie jedoch, dass die Tabellenbefehlssyntax in der Formtabelle (index, x1, y1, x2, y2, .... xn, yn) vorliegt, index als Eingabe verwendet und einen interpolierten Wert für x = index basierend auf dem bereitgestellten x zurückgibt y Paare.
In einer meiner Simulationen musste ich 12 Simulationen durchführen und dabei 3 verschiedene Komponentenwerte ändern. Hier sind die Befehle:
Ergebnis:
Hoffentlich haben Sie die Idee, dass Sie vielleicht ein Skript erstellen könnten, das die erforderlichen SPICE-Befehle erzeugt, wenn Sie die gewünschten Werte eingeben. Oder erstellen Sie einfach eine Vorlage (z. B. habe ich die obigen Informationen kopiert und in verschiedene Simulationen eingefügt und die Werte geändert).
Wenn das oben Genannte nicht das macht, was Sie wollen, dann schauen Sie sich vielleicht etwas wie NIs Multisim an (ich denke, es hat einige Batch-Simulationsoptionen, obwohl ich nicht sicher bin, wie nützlich sie sind). Es kann auch hilfreich sein, nach dem LTSPice zu fragen Forum und sehen, ob jemand eine bessere Möglichkeit kennt, Dinge zu tun.
quelle
Ich denke, es ist tatsächlich möglich, LTSpice über die Befehlszeile auszuführen und eine vorübergehende Simulation auszuführen:
Auf windoze:
Unter Linux:
quelle
LTSpice kann mit dem
-b
Befehlszeilenschalter im Batch-Modus ausgeführt werden.Aus der LTSpice-Hilfedatei:
Das Lesen und Interpretieren der .raw-Ausgabe ist eine Übung für den Leser.
Beachten Sie auch unter den Befehlszeilenoptionen:
quelle
Haben Sie schon bei " LTSpice Queue Manager " nachgesehen ? ( Der Link leitet zu meiner eigenen Website weiter, auf der Sie die Software herunterladen können. Ich bin jedoch nicht der Autor, der das Programm ursprünglich in einem heute geschlossenen Forum geteilt hat. Durch das Teilen über meine Website kann es wiederbelebt werden. )
Dieses Tool hat mir in der Vergangenheit sehr geholfen. Sie können viele Simulationsdateien vorbereiten und in einer Warteschlange ausführen.
quelle
Wenn es nur LT Spice sein muss und Sie nicht über die GUI kommen, würde ich das Skriptprogramm AutoIt empfehlen. Ich habe es verwendet, um einige wichtige Windows-Anwendungen zu automatisieren, denen die Datei active-x-DDE-COM.dll-whatever fehlte. Sie können es so einstellen, dass es auf Dateien wartet, Windows-Schaltflächen drückt, Menüs aufruft, Programme mit Argumenten aufruft usw.
Schauen Sie sich an:
http://www.autoitscript.com/site/
http://www.autoitscript.com/forum/
Ich würde mich für Winbatch entscheiden, wenn Sie für ein Skriptprogramm bezahlen möchten.
quelle