Hinweise zum Schalter in LTspice

RudiS

Absoluter Profi
Member
Landesflagge
Vorbemerkung
Nach verschiedenen Untersuchungen, an denen auch der Schalter beteiligt war, schien es mir angebracht,
noch einmal über den Schalter zu sprechen.
Das Wichtigste habe ich in meinen drei Beiträgen dazu schon vorgestellt, dort hineinzuschauen ist sicherlich nicht schlecht.
Diesen heutigen Beitrag in meine vorigen einzuarbeiten oder anzuhängen schien mir nicht sinnvoll, dafür ist zu viel Neues dabei,
dass dann eher verwirrt als Klarheit schafft.
Und noch eins: mein alter Lehrer an der Uni hat immer gesagt: nichts im Kopf, was nicht auch auf dem Papier ist.
Vieles, was einem selbstverständlich ist, übergeht man leicht bei einer Erklärung,
und mitunter sind es dann gerade diese übergangenen Sachverhalte, die dem Leser das Verständnis erschweren.
Daher sind meine Beiträge im allgemeinen sehr ausführlich. Wer aus was-weiss-ich für welchen Gründen alles lieber nur
kurz und bündig hätte, dem könnte es schwer fallen, meinen Ausführungen mit Ausdauer - 根気よく,
wie man im Japanischen sagt - bis zum Ende zu folgen.

_____


Die von mir benutzte Version von LTspice ist LTspiceXVII, 17.0.36.0 vom Dezember 2022.
Unter den mitgelieferten Beispielen befindet sich auch eins zum Schalter: Vswitch.asc.
Das wollen wir uns zuerst einmal anschauen.

Der Schaltplan ist ganz einfach gehalten: der Schalter schaltet über einen Widerstand eine Gleichspannung nach Masse.
Sehr sinnreich scheint das auf den ersten Blick nicht zu sein, wahrscheinlich sollte es mehr der Demonstration
der im Schalter eingesetzten Parameter dienen:

01__Vswitch_schema.png

Der Plot der Kontroll- (Eingangs-) und Ausgangsspannung zeigt das besondere Verhalten dieses Schalters:
die Ausgangsspannung wird durch die negative Hysterese (Vh = -0.4V) sanft ein- und wieder ausgeschaltet:

02__Vswitch_TRAN_Plot-1.png

Das ist eigentlich nicht das Verhalten eines mechanischen Lichtschalters: zack! . . . ist das Licht an, und ebenso zack! ist es wieder aus.
Es gibt zwar eine kleine Zeitverzögerung von vielleicht 2-3ms, da ja der Schaltkontakt einen kleinen Weg vom Aus-Kontakt
zum Ein-Kontakt zurücklegen muss.
Dieses sanfte Einschalten ist eher eine Domäne der elektronischen Schalter, um z.B. einen Einschaltstromstoss zu verhindern.

Viel interessanter als nur die Ausgangsspannung V(out) ist es allerdings, diese im Zusammenhang mit dem fliessenden Strom zu sehen,
die Division der Ausgangsspannung durch den Strom gibt uns den Widerstandsverlauf unseres Schalters: V(out) / I(S1).

Dazu fügen wir ein neues Plotfenster ein (im Plotfenster Rechtsklick / Add Plot Plane) und in diesem wiederum Add Traces,
und nun im Eingabefenster Linksklick auf V(out), Mouse-Cursor unten in der Eingabezeile hinter V(out) positionieren,
Divisionszeichen (Schrägstrich) einfügen und dann wieder oben I(S1) anklicken.
Damit erhalten wir den Widerstandsverlauf unseres Schalters:

03__Vswitch_TRAN_Plot-Rswitch.png

Wir wollen nun versuchen, den höchsten und den niedrigsten Widerstand des Schalters zu messen.
Zwar könnten wir zu diesem Zweck auch den Waveviewer-Cursor benutzen, für dieses Mal wählen wir jedoch den rechnerischen Weg.

Wie gehen wir am besten vor? Beim Maximum der Kontrollspannung (im folgenden KS abgekürzt) ist der Widerstand am geringsten,
und umgekehrt beim Minimum der KS ist er am höchsten. Also messen wir zuerst die zwei Zeitpunkte Maximum und Minimum
der Kontrollspannung.
Umgangssprachlich formuliert: finde den Zeitpunkt, zu dem die KS gleich der maximalen KS ist, und zwar beim ersten Anstieg,
und finde den Zeitpunkt, wenn die KS gleich der minimalen KS ist beim ersten Abfall:

.meas t1 find time when v(in)=vi.max rise=1
.meas t2 find time when v(in)=vi.min fall=1


In gleicher Weise formulieren wir die Messanweisung für den Widerstand :
messe R_on (R_off) und finde (dafür) V(out)/I(S1) zum Zeitpunkt t1 (t2):

.meas R_on find v(out)/i(s1) at t1
.meas R_off find v(out)/i(s1) at t2


Das Ergebnis aus der Log-Datei:
t1: time=0.0005 at 0.0005
t2: time=0.001 at 0.001
r_on: v(out)/i(s1)=1 at 0.0005
r_off: v(out)/i(s1)=999999 at 0.001


Somit hat sich LTspice tatsächlich an die Vorgabe gehalten: Ron 1Ohm und Roff (fast) 1Megohm.
Zur Übung empfehle ich, die Vorgaben in der Modelldeklaration zu ändern, z.B. Ron=120 und Roff=2Meg2
und nochmals die Simulation mit diesen Werten zu checken.

Ein mir vorliegendes Datenblatt eines mechanischen Kippschalters nennt einen Kontaktwiderstand von max. 10 milliOhm
und einen Isolationswiderstand von mindestens 1000 MegOhm.
Wenn man also den Schalter als gewöhnlichen Schalter benutzen möchte, sollte man sich nach meinem Dafürhalten an diesen Werten orientieren.

Ausserdem die default-Werte des LTspice-Schalters studieren!
Beispiel: Roff hat den Defaultwert 1/Gmin. Leider steht der Betrag von Gmin nicht dabei. Man findet den Wert im Control Panel
auf dem Tab "SPICE" rechts oben: Gmin=1e-12.
Das bedeutet, Roff beträgt als default 1/1e–12 Ohm, das sind 1000 Gigaohm!!!
Wenn die Leute dann Roff im eigenen Modell noch extra als 1Meg deklarieren, ist das nur verschlimmbessern.
Mehr kann ich dazu nicht sagen . . .

In SPICE-Simulatoren wird der Schalter auch in Makromodellen verwendet, im LME49710 von TI z.B. so:
.subckt Zout_Uz_S2 1 2 3 4
S_Uz_S2   3 4 1 2  _Uz_S2
RS_Uz_S2  1 2 1G

.MODEL _Uz_S2 VSWITCH Roff=10e6 Ron=1.0 Voff=0.1V Von=-0.1V
.ends Zout_Uz_S2


Es gibt beim Schalter in LTspice aber auch zwei Dinge, die mir nicht gefallen. Ob das nur eine Eigenart des Schalters in LTspice ist
oder auf SPICE-Simulatoren allgemein zutrifft, kann ich nicht beurteilen, da ich nur LTspice benutze.
Diese Hickups treten eher dann auf, wenn man den Schalter in eigenen Schaltungen benutzt und sich wundert, was da so alles passiert.
Zu diesem Zweck habe ich die folgende Schaltung konzipiert:

04__LTspice-switch_schema.png

Zwei Schalter, einer am Ausgang mit einem Widerstand abgeschlossen, der andere mit offenem Ausgang (floating).
Ein Signalgenerator, der zwei Signale von jeweils 1 Volt bereitstellt, ein Sinussignal für Schalter 1 und ein Dreiecksignal für Schalter 2.
Zwei Spannungsquellen, die die Steuerspannung für die Schalter liefern, eine Pulsspannung, die andere eine Gleichspannung.
Die Pulsspannung ermöglicht eine dynamische Kontrolle, die Gleichspannung eine statische per Parameter.
Die Parameter "on" und "off" signalisieren nicht nur den Schaltzustand, sie dienen gleichzeitig als
Wert der Steuerspannung: on=1 entspricht 1 Volt, off=0 somit null Volt.
Die Variable p.sX bezeichnet die Schalterstellung, in der im Schaltplan gezeichneten Position sind beide Schalter aus (off).

Das Symbol des Schalters, sinnbildlich interpretiert, sieht so aus, dass im eingeschalteten Zustand die linke Seite (Eingang)
wie mit einem Drahtstück mit der rechten Seite (Ausgang) verbunden ist.
Bis hierhin ok? -- Gut, dann starten wir mal. . .

05__LTspice-switch_TRAN_Plot-1_all off.png

Die erste Sache, die mir nicht gefällt: trotz Stellung in Postion "aus" erscheint eine Spannung am Ausgang!
Beim belasteten Ausgang von Schalter No. 2 ist sie immerhin auf einen winzigen Betrag von 20nV reduziert (Skala der y-Achse beachten!),
da kann man bei gutem Willen denken: der Schalter ist aus. Allerdings irritiert es mich, da eine originale Wellenform zu sehen, da hätte ich mir
eine gerade Linie bei null Volt gewünscht
.
Bei Schalter No. 1 ist es noch schlimmer: hier erscheint die volle Spannung am Ausgang, obwohl der Schalter ausgeschaltet (in Position off) ist!!
Das ist der zweite Punkt, der mir nicht gefällt, aber selbst schuld. Warum? Was sagt die Log-Datei?

WARNING: Less than two connections to node OUT1. This node is used by S1.
WARNING: Less than two connections to node NC_01 of instance R2: Node and device optimized out.


LTspice beklagt sich, dass der Schalter einen offenen Ausgang hat. SPICE-Simulatoren mögen prinzipiell keine "floating" Knoten,
irgendwelche Enden, die in der Luft baumeln! Und der Widerstand R2, der eigentlich dort ist, um mit dem Ausgang verbunden zu werden,
wird von LTspice - weil unnütz - aus der Netzliste entfernt: optimized out!!
Noch eine Sache, die zu denken gibt. Der Eingang zu Schalter 1 ist mit "s1.in " bezeichnet, der Ausgang von Schalter 1 mit "out1".
Würde der Schalter im eingeschalteten Zustand wirklich wie ein Stück Draht funktionieren, so wäre ein und derselbe Knoten mit zwei Labeln versehen,
worüber sich LTspice normalerweise moniert oder sich zumindest darüber hinwegsetzt. Es sind jedoch beide in der Add-Traces-Liste enthalten,
was bedeutet: der Schalter ist definitiv keine Drahtbrücke!
Das lässt sich mit einem ganz einfachen Experiment beweisen. Dazu verbinden wir R2 mit dem Eingang des Schalters
und starten die Simulation neu. Wäre der Schalter in der Tat eine Drahtbrücke, so wäre damit auch der Ausgang nicht mehr in der Luft.

06__LTspice-switch_TRAN_Plot-2_all off_R2-an-Eingang.png

Wie man sieht, hat die Verschiebung an den Eingang nichts gebracht: trotz Schalter auf "aus" liegt die volle Spannung am Ausgang!
Aber wie gesagt: selbst schuld!
Für den nächsten Test verbinden wir R2 diesmal richtig mit dem Ausgang und starten erneut.
Das Ergebnis:

07__LTspice-switch_TRAN_Plot-3_all off_R2-an-Ausgang.png

Diesmal sind beide Spannungen auf 20nV reduziert. Aber halt! Hatten wir nicht für Schalter 1 eine Pulsspannung zum Steuern eingesetzt?
- - Ja, das ist richtig. Doch die kommt bei Von=0 (entsprechend Schalterstellung "off") nicht zum Tragen. Setzen wir daher Schalter 1 auf "on".

08__LTspice-switch_TRAN_Plot-4_S1 on_R2-an-Ausgang.png

Nun ist auch die Pulsspannung aktiv. Sie schaltet die Sinusspannung kontinuierlich für genau eine Periode ein und eine Periode aus.

Fassen wir das bis hierhin Untersuchte kurz zusammen:
- Der Schalter in SPICE ist weniger als ein mechanischer Kippschalter (Ein-Aus-Schalter) konzipiert,
 sondern eher für vielfältige elektronische Anwendungen auch in Makromodellen.
- In der LTspice - Beispielschaltung für den Schalter sind die Parameterwerte des Modells nicht
 unbedingt ideal für eine reine Ein-Aus-Funktion. Daher: die Schalterparameter demVerwendungszweck anpassen!
- SPICE-Schaltungen lieben keine offenen (floating) Ausgänge (Knoten).
 Warnungen in der Log-Datei nicht einfach ignorieren, sondern ein wenig über ihren Sinn nachdenken.
- Auch im Aus-Zustand erscheint das statisch gesteuerte Wechselspannungssignal als äusserst geringe Spannung sichtbar am Ausgang,
 sofern nicht wie bei einer dynamischen Ansteuerung des Schalters das wesentlich höhere Ein-Signal das Aus-Signal
 (zumindest in der grafischen Darstellung) unterdrückt.
- Der SPICE-Schalter ist im Ein-Zustand keinesfalls mit einer Drahtbrücke gleichzusetzen.
 Eingang und Ausgang sind netzlistenmässig von einander getrennt.

RudiS

_____

Der kleine Schalter--Test (Quiz)

1.) Muss man, um den Schalter zu benutzen, unbedingt ein Schaltermodell deklarieren?

2.) Welcher Widerstand für den Ausschaltzustand ist höher, der Defaultwert oder ein selbst
 deklarierter Roff=10MegOhm?

3.) Deklariere ein Schaltermodell einzig mit Defaultwerten, nenne es Def_Schalter und zeichne
 einen Schaltplan nur mit einem einzigen Schalter, der nach diesem Modell arbeitet.

4.) Wie schaltet ein Schalter gemäss dem Defaultmodell?
 a) Er schaltet überhaupt nicht, bleibt ausgeschaltet
 b) Er schaltet kurz ein und sofort wieder aus
 c) Er schaltet ein und bleibt eingeschaltet

5.) Eine Gleichspannung von 6V soll mit einer Kontrollspannung (Puls) von 1.2V ein- und
 ausgeschaltet werden. Gib einen Wertebereich für Vt an.

6.) Gemäss Aufgabe 5 soll die Gleichspannung mit einer Verzögerung von 1 Sekunde für 1 Sekunde
 eingeschaltet, dann für 2 Sekunden ausgeschaltet werden. Das Ganze soll sich dreimal wiederholen.
 Zeichne den Schaltplan nebst Modelldeklaration und mache ein Screenshot vom Schaltplan und
 Plotfenster. Simuliere für 10 Sekunden.
  ​
[Wer Hilfe braucht: die Antworten finden sich in der PDF-Datei . . . ;-) ]
 

Anhänge

  • 05__LTspice-switch_TRAN_Plot-1_all off.png
    05__LTspice-switch_TRAN_Plot-1_all off.png
    10,6 KB · Aufrufe: 1
  • Hinweise Schalter.zip
    534,8 KB · Aufrufe: 0
  • Hinweise Schalter.pdf
    335,3 KB · Aufrufe: 0
Zuletzt bearbeitet:

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 2)

Wer hat diesen Thread gelesen

Zurück
Oben