Verifizierte SPICE-Netlists & Beispielschaltungen
Die folgenden Schaltungen sind vorgetestete Netlists für SPICE 2g6, mit kurzen Beschreibungen where nötig. (Siehe Kapitel 2 „Computer Simulation of Electric Circuits“ für mehr zu Netlists in SPICE.)
Fühlen Sie sich frei, beliebige Netlists in Ihre eigene SPICE-Quelldatei zu kopieren und für Analysen/Modifikationen zu nutzen. Ziel ist zweifach: praktische Beispiele für SPICE-Netlist-Design zur Vertiefung des Syntax-Verständnisses, und Demonstration, wie einfach und kompakt SPICE-Netlists bei der Analyse simpler Schaltungen sein können.
Alle Ausgabelistings dieser Beispiele wurden von Ballastinformationen „getrimmt“, für prägnanteste Darstellung. Daher wundern Sie sich nicht, wenn Ihre eigene Simulation nicht exakt so aussieht wie hier!
Beispiel: Mehrquellen-DC-Widerstandsnetzwerk, Teil 1
Ohne .dc-Card und .print/.plot zeigt die Ausgabe nur Knotenspannungen 1, 2, 3 (bezogen auf Knoten 0).
Netlist:
Multiple dc sources v1 1 0 dc 24 v2 3 0 dc 15 r1 1 2 10k r2 2 3 8.1k r3 2 0 4.7k .end
Output:
node voltage node voltage node voltage ( 1) 24.0000 ( 2) 9.7470 ( 3) 15.0000 voltage source currents name current v1 -1.425E-03 v2 -6.485E-04 total power dissipation 4.39E-02 watts
Beispiel: Mehrquellen-DC-Widerstandsnetzwerk, Teil 2
Durch Hinzufügen einer .dc-Analyse-Card und Spezifikation von V₁ von 24 V auf 24 V in 1 Schritt (also 24 V konstant) können wir mit .print Spannungen zwischen beliebigen Punkten ausgeben.
Interessanterweise verschwinden die Default-Knotenspannungs-Ausgaben (zu Ground) bei aktivierter .dc-Analyse, weshalb sie explizit in .print angegeben werden müssen.
Netlist:
Multiple dc sources v1 1 0 v2 3 0 15 r1 1 2 10k r2 2 3 8.1k r3 2 0 4.7k .dc v1 24 24 1 .print dc v(1) v(2) v(3) v(1,2) v(2,3) .end
Output:
v1 v(1) v(2) v(3) v(1,2) v(2,3) 2.400E+01 2.400E+01 9.747E+00 1.500E+01 1.425E+01 -5.253E+00
Beispiel: RC-Zeitkonstanten-Schaltung
Für DC-Analyse müssen Anfangsbedingungen reaktiver Bauelemente (C, L) spezifiziert werden (Spannung für Kondensatoren, Strom für Spulen). Dies erfolgt über das letzte Datenfeld der Kondensator-Card (ic=0).
Für DC-Analyse muss .tran (Transientenanalyse) spezifiziert werden: erstes Feld = Zeitinkrement (s), zweites = Gesamtanalysezeitraum (s), uic = „use initial conditions“.
Netlist:
RC time delay circuit v1 1 0 dc 10 c1 1 2 47u ic=0 c2 1 2 22u ic=0 r1 2 0 3.3k .tran .05 1 uic .print tran v(1,2) .end
Output (Auszug):
time v(1,2) 0.000E+00 7.701E-06 5.000E-02 1.967E+00 1.000E-01 3.551E+00 ... 1.000E+00 9.877E+00
Beispiel: Einfacher AC-Sinusspannungskreis (Plot & Fourier)
Zeigt korrektes Setup für Plot瞬时值 einer Sinusspannungsquelle mit .plot (Transientenanalyse). Fourier-Analyse erfordert ebenfalls .tran über geeigneten Zeitbereich. Mehr Perioden der Grundfrequenz → präzisere Fourier-Analyse (kein SPICE-Macke, physikalisches Prinzip).
Netlist:
v1 1 0 sin(0 15 60 0 0) rload 1 0 10k * für bessere Fourier-Präzision: * .tran 1m 30m .01m und .options itl5=30000 .tran 1m 30m .plot tran v(1) .four 60 v(1) .end
Output (Auszug):
fourier components of transient response v(1) dc component = -1.885E-03 harmonic frequency fourier normalized phase normalized no (hz) component component (deg) phase (deg) 1 6.000E+01 1.494E+01 1.000000 -71.998 0.000 2 1.200E+02 1.886E-02 0.001262 -50.162 21.836 ... total harmonic distortion = 0.186350 percent
Beispiel: Einfacher AC RC-Kreis
.ac spezifiziert AC-Analyse von 60 Hz bis 60 Hz an einem Punkt. Nützlicher für Mehrfrequenz-Analyse. .print gibt AC-Spannung zwischen Knoten 1-2 und Knoten 2-Ground aus.
Netlist:
Demo of a simple AC circuit v1 1 0 ac 12 sin r1 1 2 30 c1 2 0 100u .ac lin 1 60 60 .print ac v(1,2) v(2) .end
Output:
freq v(1,2) v(2) 6.000E+01 8.990E+00 7.949E+00
Beispiel: Tiefpassfilter
Dieser Tiefpass blockiert AC und lässt DC zum Rload durch. Typisch für Rippelunterdrückung nach Gleichrichtung; hat technisch eine Resonanzfrequenz (Bandpass-Charakter), funktioniert aber gut zum Blocken hochfrequenter Harmonischer. Gemessen mit AC-Sweep 500 Hz – 15 kHz.
Netlist:
Lowpass filter v1 2 1 ac 24 sin v2 1 0 dc 24 rload 4 0 1k l1 2 3 100m l2 3 4 250m c1 3 0 100u .ac lin 30 500 15k .print ac v(4) .plot ac v(4) .end
Output (Auszug):
freq v(4) 5.000E+02 1.935E-01 1.000E+03 3.275E-02 ... 1.500E+04 1.146E-05
Beispiel: Mehrquellen-AC-Netzwerk
SPICE-Eigenheit: Keine Schleife ausschließlich aus Spannungsquellen und Spulen erlaubt. Die Schleife V₁-L₁-L₂-V₂-V₁ ist unzulässig. Abhilfe: Niedrigohmigen Widerstand (rbogus) in die Schleife einfügen (1 pΩ zwischen Knoten 3 und 4, V₂ zwischen 4 und 0).
Netlist:
Multiple ac source v1 1 0 ac 55 0 sin v2 4 0 ac 43 25 sin l1 1 2 450m c1 2 0 330u l2 2 3 150m rbogus 3 4 1e-12 .ac lin 1 30 30 .print ac v(2) .end
Output:
freq v(2) 3.000E+01 1.413E+02
Beispiel: AC-Phasenschiebung-Demo
Ströme durch jedes Bein werden über Spannungsabfälle an Shunt-Widerständen (1 A = 1 V über 1 Ω) angezeigt: v(1,2), v(1,3). Phasen über vp(1,2), vp(1,3).
Netlist:
phase shift v1 1 0 ac 4 sin rshunt1 1 2 1 rshunt2 1 3 1 l1 2 0 1 r1 3 0 6.3k .ac lin 1 1000 1000 .print ac v(1,2) v(1,3) vp(1,2) vp(1,3) .end
Output:
freq v(1,2) v(1,3) vp(1,2) vp(1,3) 1.000E+03 6.366E-04 6.349E-04 -9.000E+01 0.000E+00
Beispiel: Transformatorschaltung
SPICE modelliert Transformatoren als gegenseitig gekoppelte Spulen. Primär- und Sekundärwicklung als separate Spulen definieren, dann mit k-Card koppeln (Kopplungskonstante). Ideal wäre 1, aber SPICE akzeptiert nur < 1 (z. B. 0.999). Alle Wicklungspaare benötigen eigene k-Cards. Zweispulentransformator: eine k-Card. Dreispulentransformator: drei k-Cards (L₁-L₂, L₂-L₃, L₁-L₃).
Induktivitätsverhältnis L₁/L₂ = 100:1 → 10:1 Spannungsübersetzung. 120 V Ein → 12 V Aus an L₂. L₁/L₃ = 100:25 (4:1) → 2:1 Übersetzung → 60 V an L₃.
Netlist:
transformer v1 1 0 ac 120 sin rbogus0 1 6 1e-3 l1 6 0 100 l2 2 4 1 l3 3 5 25 k1 l1 l2 0.999 k2 l2 l3 0.999 k3 l1 l3 0.999 r1 2 4 1000 r2 3 5 1000 rbogus1 5 0 1e10 rbogus2 4 0 1e10 .ac lin 1 60 60 .print ac v(1,0) v(2,0) v(3,0) .end
Output:
freq v(1) v(2) v(3) 6.000E+01 1.200E+02 1.199E+01 5.993E+01
rbogus0 bricht V₁/L₁-Schleife. rbogus1/2 (hochohmig) bieten DC-Pfade zu Masse für isolierte Sekundärkreise. Eine Primärseite ist direkt geerdet – ohne diese Massebezüge produziert SPICE Fehler!
Beispiel: Zweipunkt-Gleichrichter (Brückengleichrichter)
Dioden benötigen in SPICE Modelle. SPICE bringt generische Modelle; Diode ist das einfachste. .model mod1 d definiert generisches Diodenmodell für mod1. Für Wellenform-Plot: AC-Quellen-Parameter in einer Card, .tran für Ausgabe.
Netlist:
fullwave bridge rectifier v1 1 0 sin(0 15 60 0 0) rload 1 0 10k d1 1 2 mod1 d2 0 2 mod1 d3 3 1 mod1 d4 3 0 mod1 .model mod1 d .tran .5m 25m .plot tran v(1,0) v(2,3) .end
Beispiel: Common-Base BJT-Verstärker
DC-Sweep von Vin 0–5 V in 0,1 V Schritten, Ausgabe Kollektor-Emitter-Spannung v(2,3). Transistor Q1: NPN, β=50.
Netlist:
Common-base BJT amplifier vsupply 1 0 dc 24 vin 0 4 dc rc 1 2 800 re 3 4 100 q1 2 0 3 mod1 .model mod1 npn bf=50 .dc vin 0 5 0.1 .print dc v(2,3) .plot dc v(2,3) .end
Beispiel: Common-Source JFET-Verstärker mit Selbstvorspannung
Netlist:
common source jfet amplifier vin 1 0 sin(0 1 60 0 0) vdd 3 0 dc 20 rdrain 3 2 10k rsource 4 0 1k j1 2 1 4 mod1 .model mod1 njf .tran 1m 30m .plot tran v(2,0) v(1,0) .end
Beispiel: Invertierender Op-Amp
Idealer Op-Amp in SPICE: spannungsgesteuerte Spannungsquelle (e-Card) als Differenzverstärker mit extrem hoher Verstärkung. e 3 0 0 1 999k: Ausgabe Knoten 3/0, Eingabe 1/0. Keine Versorgungsspannung nötig. Verstärkung 999.000. V₁ sweep 0–3,5 V in 0,05 V Schritten.
Netlist:
Inverting opamp v1 2 0 dc e 3 0 0 1 999k r1 3 1 3.29k r2 1 2 1.18k .dc v1 0 3.5 0.05 .print dc v(3,0) .end
Beispiel: Nicht-invertierender Op-Amp
SPICE-Macke: e-Quelle lastet V₁ nicht → SPICE sieht V₁ als offen → Verweigerung. Fix: rbogus parallel zu V₁ als DC-Last (10 kΩ). Kein Sweep für einfache Ausgabe.
Netlist:
noninverting opamp v1 2 0 dc 5 rbogus 2 0 10k e 3 0 2 1 999k r1 3 1 20k r2 1 0 10k .end
Output:
node voltage node voltage node voltage ( 1) 5.0000 ( 2) 5.0000 ( 3) 15.0000
Beispiel: Messverstärker (Instrumentation Amplifier)
Sehr hochohmige rbogus1/2 (9e12 Ω) an jedem Eingang, damit SPICE V₁/V₂ nicht als offen sieht.
Netlist:
Instrumentation amplifier v1 1 0 rbogus1 1 0 9e12 v2 4 0 dc 5 rbogus2 4 0 9e12 e1 3 0 1 2 999k e2 6 0 4 5 999k e3 9 0 8 7 999k rload 9 0 10k r1 2 3 10k rgain 2 5 10k r2 5 6 10k r3 3 7 10k r4 7 9 10k r5 6 8 10k r6 8 0 10k .dc v1 0 10 1 .print dc v(9) v(3,6) .end
Beispiel: Op-Amp-Integrator mit Sinus-Eingang
Netlist:
Integrator with sinewave input vin 1 0 sin (0 15 60 0 0) r1 1 2 10k c1 2 3 150u ic=0 e 3 0 0 2 999k .tran 1m 30m uic .plot tran v(1,0) v(3,0) .end
Beispiel: Op-Amp-Integrator mit Rechteck-Eingang
Netlist:
Integrator with squarewave input vin 1 0 pulse (-1 1 0 0 0 10m 20m) r1 1 2 1k c1 2 3 150u ic=0 e 3 0 0 2 999k .tran 1m 50m uic .plot tran v(1,0) v(3,0) .end
Industrietechnik
- SPICE AC/DC/Transient-Analyse: Kurven, Punkte, Frequenz-Sweep & Optionen
- Freigabe- (Permissive) und Verriegelungsschaltungen (Interlock) in industriellen Steuerungssystemen
- Passiver Mittelwertbildner und Op‑Amp‑Summierschaltungen: Vom Mitteln zur Addition
- Differentiator‑ und Integrator‑Op‑Amp‑Schaltungen verstehen
- Kristall‑ und Transistorradio‑Schaltungen: Vom einfachen Detektor zum integrierten AM/FM‑Empfänger
- Steuerschaltungen: Grundlagen, Anwendungen und Best Practices
- Reihen- und Parallelschaltungen verstehen: Funktionsweise und Bedeutung
- Stromteiler-Schaltungen: Theorie, Formel und praktische Anwendungen
- Umfassender Leitfaden zur Analyse von Reihen-Parallel-Widerstandsnetzwerken
- Umfassende Strategien für PCB-Erdung und EMI-Minderung