Ich muss drei transiente Simulationen mit unterschiedlichen Werten bestimmter Widerstände (zweckmäßigerweise R1 und R2 genannt) durchführen. Was ich genau tun möchte, ist Folgendes:
- Sim. 1: R1 = 1 , R2 = 10 kΩ
- Sim. 2: R1 = 1 , R2 = 10 MΩ
- Sim. 3: R1 = 1 , R2 = 1 MΩ
Wenn es nur einen Widerstand gäbe, dessen Widerstand variieren könnte, würde ich seinen Widerstand einfach auf "{r1}" setzen (ich verwende Kleinbuchstaben, um ihn zu einer anderen Variablen / einem anderen Parameter als R1 zu machen) und einen Befehl wie den folgenden verwenden:
.step param r1 list 1k 1meg 1k
Da ich jedoch jeweils zwei Parameter (zusammen) zweimal ändern muss, habe ich hier gelesen , dass (zumindest bei LTSpiceIV) eine Problemumgehung für mein Problem Folgendes verwenden könnte:
.step param X list 1 2 3
.param r1 = table(X, 1k, 1meg, 1k)
.param r2 = table(X, 10k, 1meg, 10meg)
Bei der Simulation erhalte ich folgende Warnungen:
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.
Gleiches gilt für r1.
Aus irgendeinem Grund "bricht" die Simulation nicht, wenn ich der Tabelle ein zusätzliches Element hinzufüge. In diesem Fall dauert die Simulation zu lange und schreitet jedes Mal langsamer voran, da sie niemals enden würde. Ich habe versucht, X auf 0 1 2 anstelle von 1 2 3 zu setzen, aber das funktioniert auch nicht.
Hier sind einige Bilder:
Ihre Hilfe wäre sehr dankbar.
Antworten:
In LTSpice erstellt der Befehl table wirklich eine Art Wörterbuch, in dem Sie Schlüsselwertpaare angeben müssen. Die richtige Richtlinie für Ihren Fall wäre dann:
und den Wert der Widerstände einzustellen
{R1}
und{R2}
auf.Wenn Sie die Werte eines Widerstands in der Nähe haben möchten, können Sie auch eingeben (anstelle des Werts, wenn Sie mit der rechten Maustaste darauf klicken).
in das Widerstandswertfeld. Dies funktioniert für alle Arten von Komponenten auf die gleiche Weise und kann mit einem externen Skript zum Erstellen von .asc-Dateien als Krücke für LTspices verwendet werden, bei denen die Monte-Carlo-Funktionalität fehlt.
quelle
Ein Parameter Sweep / Step kann mehrere Komponentenwerte durch Ausdrücke steuern.
Ihre Steuervariable, auf die Sie treten, kann ein Phasenwinkel oder eine Zeitverzögerung oder ähnliches sein, die Sie in eine oder mehrere Formeln / Ausdrücke eingeben, um resultierende Komponentenwerte oder Parameter zu erhalten, die im Entwurf als {Parameter} angewendet werden sollen.
Dies ist nützlich, wenn Sie eine Beziehung beibehalten oder eine indirekte physikalische Eigenschaft des Entwurfs wie eine aktuelle oder eine Filtereigenschaft steuern möchten.
Im Befehlseditor "op" können Sie Folgendes eingeben:
Es erhöht Imax von 0,1 auf 0,3 in Schritten von 0,1 und berechnet einen Widerstandswert R unter Verwendung des Parameters Imax, Uin, eines angenommenen Spannungsabfalls von 0,85 .. einer Diode.
Das PARAM R kann in einem Komponentenwert unter Verwendung der {R} -Notation referenziert werden. Hinweis Uin kann als {Uin} in einer Spannungsquelle oder ähnlichem verwendet werden und so weiter.
Verwenden Sie für mehrere Zeilen im Editorfenster "op" STRG + M, um alle Parameter im selben Textfeld zu belassen.
quelle