LTspice: Variieren Sie den Wert eines Widerstands im Laufe der Zeit

Ich möchte die Lastregelung eines Netzteils simulieren. Ich erinnere mich sicher, dass ich den Wert eines Widerstands im Laufe einer Simulation in LTspice variieren konnte, aber ich kann mich nicht erinnern, wie. Jeder?

Antworten (5)

Verwenden Sie die Komponente SpecialFunctions/Varistor.asy mit einer zeitvariablen Spannungsquelle

Bildschirmfoto

+1 Danke, es ist nicht so, wie ich mich erinnere, aber es sollte den Zweck erfüllen. Ich werde dies noch nicht als genehmigt markieren. Ich möchte sehen, ob jemand Alternativen hat. (obwohl es nicht wahrscheinlich aussieht ...)
Es gibt viele Alternativen - Sie können einen Transistor mit bekannter Rds-Charakteristik verwenden und die Gate-Spannung von 0 auf Sättigung ändern oder einfach eine Spannungs- oder Stromquelle anschließen und den Spannungs- oder Strombereich durchlaufen, den Sie festlegen möchten dein Widerstand. Der Varistor ist jedoch der von Ihnen gewünschte steuerbare Widerstand.
Sicher ... aber wenn mein Gedächtnis mich richtig bedient (was wahrscheinlich nicht der Fall ist), ist es möglich, dies mit einem normalen Widerstand + einem Simulationsbefehl zu tun, was intuitiver und direkter wäre. Trotzdem nochmal Danke für die Anregungen
Benutze die Quelle, Luke! Öffnen Sie die Definition des Varistormodells und die Teilschaltung und finden Sie heraus, was es tut - Die SPICE-Befehle sollten sich irgendwo darin befinden. Dieses Dokument: ltspice.linear.com/software/scad3.pdf sollte Ihnen helfen.
Punkt geholt! Es kam zu mir ... was ich vorher benutzt habe, war ein parametrischer Sweep
Diese Lösung scheint nicht den Widerstand einzustellen, sondern den Spannungsabfall darüber. Es scheint nicht anders zu sein, als nur eine Spannungsquelle anstelle des Varistors zu platzieren, außer dass der Varistor niemals mehr Spannung abfallen lässt als geliefert wird
@JolonB Nicht wahr: Es legt den Schwellenwert fest, wenn der Varistor zu leiten beginnt, und seine Leitung wird durch den Parameter angegeben Rclamp. Der Wirkwiderstand beträgt Rclamp + V(+,-)zB bei Default Rclamp=1und 3 V Steuerspannung 4 Ohm. Es ist einfach, eine Stromquelle mit 1 A über einen Varistor aufzubauen, und sagen wir eine Spannungsquelle als Steuerung mit SIN(1 1 1). Simulieren Sie mit .TRAN 1und Sie erhalten einen Sinus, der von 1 V bis 3 V variiert (2 Vpp + Standard-Rclamp).

Leider funktioniert die Verwendung eines Varistors nicht, da ein Varistor selbst von der Spannung an ihm abhängt. Viel einfacher ist es, mit der rechten Maustaste auf einen vorhandenen Widerstand zu klicken und eine Formel einzugeben. Z.B

R=11-100*time

reduziert den Widerstand linear von 11 Ohm auf 1 Ohm über die Zeit von 100 ms. Sie können fast alle Funktionen verwenden, die für die Spannungsquellen b (Spannungsquelle mit beliebigem Verhalten) verfügbar sind, sowie alle Arten von Messungen, z. B. von Spannungen anderer Knoten.

Es funktioniert nicht für R=0+100*time.
@ 71GA: Auch kein Konstrukt mit einem Widerstand von 0 Ω ... tun Sie es dann einfach nicht.
Ah! Das war also das Problem. Danke schön!

Es geht auch anders. Richten Sie eine Spannungsquelle ein und wählen Sie den gewünschten Ausgang. Beschriften Sie das Ausgangsnetz mit VResistance. Volt an der Quelle ist genau das, was der Widerstand ist. Dh 10KV sind gleich 10K Ohm. Verwenden Sie dann den Standardwiderstand mit der Zuordnung R=V(Vresistance). Wenn sich die Spannungsquelle ändert, ändert sich der Widerstand mit. Das Schöne daran ist, dass die PWL-Datei jetzt verwendet werden kann, um den Widerstand zu steuern. Besonders schön, wenn Dinge von Mathematica oder Matlab ausgeführt werden.

Netter Paul, genau das habe ich gesucht. Habe sogar "R=PWL(...)" als Wert versucht.
Ich musste "PWL-Datei" googeln , aber jetzt sehe ich den potenziellen Vorteil dieser Methode bei der Interaktion mit externen Programmen. Übrigens, ich denke, unter der Haube funktioniert dies auch als Verhalten (Ausdruck) für den Widerstand.
Das war meine Lieblingslösung. Vollständige Beschreibung hier: electronicpoint.com/resources/…
Ich glaube, ich habe das alles richtig gemacht, erhalte aber den Fehler „Definition des Modells „V“ kann nicht gefunden werden“. Ich habe eine PWL-Spannungsquelle erstellt und Masse und einen Knoten „Vres“ damit verbunden. Dann habe ich habe einen Widerstand R6, dem ich den Wert V (Vres) als Widerstand zugewiesen habe.@Frederick gibt es einen aktualisierten Link, den Sie zu dieser Elektronikpunktseite bereitstellen könnten?
@Frederick Nevermind, ich habe die Seite unter einer anderen URL gefunden. maker.pro/forums/resources/… Mein Problem war, dass ich im Widerstandsfeld des Widerstands versucht habe, "V (Vres)" zu verwenden, wenn Sie wirklich die gesamte Gleichheit benötigen, wie Paul erwähnte: "R = V (Vres) ". Das war mein Fehler. Danke an alle.
@AJbotic - ja .. Beachten Sie jedoch, dass die Quelle für Ihren Artikel genau diese StackExange-Convo ist ... sehr kreisförmig!

Unter Verwendung von McHale's Vorschlag habe ich einen Current Dummy xLoad erstellt, um Netzteile und Stromkreise zu testen. Basierend auf einer PWL-Sequenz saugt die Last Strom aus der Stromversorgung, unabhängig von der Spannung an der Versorgung.

Die PWL-Sequenz spezifiziert ein Ramp&Shake-Profil, das die Versorgung ausübt, sodass man das Verhalten einer solchen Versorgung analysieren könnte, wenn sie prellt, oszilliert, klingelt, die Spannungserholzeit usw.

Die xLoad .asy-Datei kann alles mit zwei Verbindungen sein, da sie sich wie ein dynamischer Widerstand verhält, der seinen Wert basierend auf den PWL-Werten UND der an den Lasteingängen angelegten Spannung ändert. Sie können 10 VDC mit einer Welligkeit von 9 V anlegen und die Last passt ihren dynamischen Widerstand so an, dass sie dem Stromprofil von der PWL folgt.

xLoad hat nur einen Parameter, "mult". Mit diesem Parameter kann der Benutzer den maximalen Strom aus dem PWL-Profil ändern, sodass bei mult=1 ein Profil verwendet wird, das maximal 1 A aus der Versorgung zieht, bei mult=4,2 maximal 4,2 A. Ihr xload.asy muss ein sichtbares Attribut "mult=1" haben, damit xLoad funktioniert und Sie das Attribut jederzeit ändern können.

Der xLoad verwendet einen kleinen Kondensator, um sehr scharfe Kanten abzurunden, die sehr hohe Frequenzen und Ringe simulieren können, was im wirklichen Leben nicht passiert, daher sind alle Ecken ein wenig abgerundet. Wenn Sie diese Funktion ändern oder eliminieren möchten, ändern Sie einfach den Wert von C1 von 10n oder eliminieren Sie sogar diese Zeile. Die Funktion ist nur ein RC-Filter, R2 und C1, eine andere Möglichkeit, den Filter zu ändern, ist das Ändern des Werts oder R2, löschen Sie einfach keine solche Zeile, xLoad funktioniert nicht ohne R2, Sie können seinen Wert auf null Ohm ändern, um ihn zu eliminieren vollständig den Filter, auch wenn ich nicht weiß, warum Sie MegaHertz scharfe Ecken haben wollen.

Erstellen Sie eine Textdatei mit dem Namen XLOAD.SUB in Ihrem LTSPICE/LIB/SUB-Verzeichnis mit folgendem Inhalt (die Zeile „v1“ ist lang und nicht unterbrochen):

    * xLOAD
    * PWL Current Profile
    * By Wagner Lipnharski Nov/2015
    *
    *              Positive (Input)
    *              |  Negative (Output)
    *              |  |
    .SUBCKT XLOAD  1  2

    V1 3 2 PWL(0 0 +100m 0 +0.1m 0.2 +5m 0.2 +.1m 0.5 +5m 0.5 +.1m 1 +5m 1 +.1m 1.5 +5m 1.5 +.1m 2 +5m 2 +.1m 2.5 +5m 2.5 +.1m 3 +5m 3 +.1m 3.5 +5m 3.5 +.1m 4 +10m 4 +1m 3.5 +8m 3.5 +1m 4 +10m 4 +2m 2.5 +8m 2.5 +2m 4 +10m 4 +2m 1.5 +8m 1.5 +2m 4 +3m 4 +2m 0.2 +3m 0.2 +2m 4 +10m 4 +3m 0.2 +8m 0)

    R1 1 2 R=V(1,2)*4/(mult*V(4,2)+1n)

    R2 3 4 1k

    C1 4 2 10n

    .ENDS XLOAD

Die einfache .asc-Simulation mit dem Symbol, das ich erstellt habe, und die Diagrammebenen, die den Strom und die Versorgungswelligkeit unten zeigen. Beachten Sie, dass xLoad basierend auf den PWL-Timings bei 100 ms beginnt und bei 235 ms endet. Sie können diese Timings bei den PWL-Werten im SUB ändern.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Wenn Sie Werte für Widerstandswerte schrittweise durchlaufen möchten (Beispiel R):

  1. Stellen Sie den Wert des Widerstands, den Sie variabel sein möchten, auf {R}(vergessen Sie nicht die geschweiften Klammern!)
  2. Klicken Sie auf .op(ganz rechts in der Symbolleiste)
  3. Typ: .step param R 1 10k 1k(Schritte von 1 bis 10K in 1k-Schritten)

Wenn Sie den Wert von R rechtzeitig verschieben möchten, ist dies nicht möglich, da die Simulatoren Konvergenzprobleme haben!

Ich glaube jedoch nicht, dass das OP danach sucht, und andere Antworten deuten darauf hin, dass dies möglich ist.