Der Einstieg in LTSpice

Der Einstieg in die Simulation elektronischer Schaltungen mit LTSpice

LTSpice ist ein in seiner uneingeschränkten Vollversion auf Spice basierender Schaltungssimulator, welcher die Firma Linear Technology kostenlos zur Verfügung stellt. Das Programm erfreut sich unter Auszubildenden, Studenten und professionellen Schaltungsentwicklern wegen seiner vielfältigen Möglichkeiten immer größerer Beliebtheit. Es besitzt eine graphische Schaltplaneingabe und läuft sowohl unter Windows als auch unter Ubuntu in Wine. Das meiste, was für Spice und LTSpice gilt, ist auch für PSpice zutreffend, da PSpice eine kommerzielle Variante von Spice ist.

Das Simulieren elektronischer Schaltungen auf dem PC birgt viele Vorteile gegenüber einem realen Versuchsaufbau und bietet damit ungeahnte Einblicke in das Verständnis einer Schaltung. Änderungen an einer Schaltung lassen sich dank einer Schaltplaneingabe wesentlich schneller, bequemer und übersichtlicher vornehmen als auf einem Steckbrett oder einem anderen Laboraufbau. In Form von Modellen steht ein Vorrat an passiven und aktiven Bauteilen zur Verfügung, welcher den Etat jeder Hobbykasse sprengen würde. Schätzungsweise 20.000 bis 30.000 Halbleiter-Modelle stehen für Spice und damit LTSpice kostenlos im Internet zum Herunterladen bereit. Ganz abgesehen davon wäre die reale Entsprechung des Messgeräteparks eines Spice-Simulators selbst für professionelle Entwicklungslabore eine finanzielle Herausforderung. Zudem können bestimmte Verfahren wie zum Beispiel die Toleranzanalyse, bei der Spice alle Bauteilewerte automatisch im Rahmen ihrer Toleranzangabe verändert, nicht mit einem Laboraufbau in einem vernünftigen Zeitrahmen durchgeführt werden.

Über die Anfänge von Spice: Um Spice besser zu verstehen, ist ein kurzer Rückblick in die Anfänge von Spice angebracht. Die Abkürzung Spice steht für “Simulation Programm with Integrated Circuit Emphasis”. Spice wurde Ende der 70er Jahre an der kalifornischen Universität von Berkeley entwickelt, um, wie die Bezeichnung vermuten lässt, hauptsächlich integrierte Schaltungen zu entwickeln. Die Entwickler sahen es deshalb als einen Vorteil an, dass im Gegensatz zu einem Versuchsaufbau Einflüsse der Verdrahtung entfallen, alle Halbleiter keine oder kaum Exemplarstreuungen untereinander aufweisen und die gleiche Sperrschichttemperatur besitzen. Heutzutage ist Spice nicht mehr für die Entwicklung selbst einfacher Integrierter Schaltungen geeignet. Spice erfreute sich aber im Laufe der Jahre immer größerer Beliebtheit bei der Entwicklung analoger Schaltungen. Im Laufe der Zeit haben sich deshalb Methoden entwickelt, wie den verschiedenen Bauelementen unterschiedliche Toleranzen und Sperrschicht- oder Materialtemperaturen zugewiesen werden können. Für die Entwicklung Integrierter Schaltung betrachtete man dies ursprünglich als nebensächlich.

Netzlisten und Spice-Befehle: Spice selbst ist zudem kostenlos und steht heute im Quellcode 3f5 zur allgemeinen Verfügung. Dieser Quellcode dient vielen Anbietern als Grundlage für viele Spice-Programme mit unterschiedlich komfortablen Benutzeroberflächen. Meistens sind diese Programme dann kostenpflichtig. Dafür lässt sich die Simulation per Mausklick starten, ohne sich um Netzlisten und Spice-Befehle kümmern zu müssen. Trotzdem ist es sinnvoll sich damit zu beschäftigen, um die Bedienung von Spice besser zu verstehen. Besonders LTSpice verwendet eine teilweise gewöhnungsbedürftige Benutzerführung aus linken und rechten Mausklicks, Tastaturbefehlen und der Eingabe von einigen Spice-Befehlen. In der Anfangsphase von Spice waren alle Spice-Befehle umständlich über die Kommandozeilenebene einzutippen. Eine graphische Schaltplaneingabe gab es ebenfalls nicht. Die Schaltung musste als Netzliste eingegeben werden. Diese beschreibt auf der Textebene Zeile für Zeile, wie die Bauteile miteinander verknüpft sind. Die Parallelschaltung eines 1,5nF-Kondensators C1 mit einem 1k-Ohm-Widerstand R1 würde wie folgt aussehen:

C1 a b 1.5n
R1 a b  1k

Wobei „a“ und „b“ die Bezeichnungen der Knoten oder umgangssprachlich der Schaltdrähte darstellen. C1 ist also mit den "Drähten" "a" und "b" verbunden. R1 ist dies ebenfalls auch. Das Dezimaltrennungszeichen muss wie nach der amerikanischen Schreibweise üblich, immer ein Punkt sein. Mit einem Komma käme eine Fehlermeldung. Würden wir zu dieser Parallelschaltung noch eine Spuele L1 von 1mH in Serie schalten, sähe die Netzliste folgendenermaßen aus:

C1 a b 1.5n
R1 a b  1k
L1 b c 1m

Bei drei Bauteilen lässt sich die Schaltung sehr leicht rekonstruieren. Bei 90 Bauteilen mit 50 Knoten ist dies allerdings sehr aufwändig und verwirrend, weil die Information über die Position der Bauteile fehlt. Diese Lagebestimmungen der Bauteile benötigt der Simulator nicht. Der Mensch ist es aber gewohnt Schaltungen mit Hilfe von Stromlaufplänen zu begreifen. Deshalb wurden Schaltplaneingaben entwickelt, die aus einem Schaltplan automatisch eine Netzliste erzeugen. Dies geschieht bei LTSpice automatisch, wenn der Befehl zur Simulation gegeben wird. Simuliert wird immer die Netzliste und nicht der Stromlaufplan.

Diese Verbindungsnetzliste reicht aber noch nicht aus, um eine Simulation ausführen zu können. Wir müssen noch eine Strom- oder Spannungsquelle hinzufügen. Außerdem muss in einer weiteren Zeile ein mit einem Punkt eingeleiteter Spice-Befehl eingetragen werden, der die gewünschte Simulationsart festlegt. Ein Knoten muss noch als Bezugspunkt die Bezeichnung „0“ tragen. Ohne die „0“ kann Spice keine Simulation ausführen. Die vollständige Simulationsnetzliste würde dann so aussehen:

* fa1
C1 a b 1.5nF
R1 a b 1k
L1 b 0 1.8mH
V1 a 0 SINE(0 1Volt 100kHz)
.tran 0.1m
.end

Man beachte dabei, dass die erste Zeile eine mit einem „*“ eingeleitete Kommentarzeile sein muss. Ohne diese Kommentarzeile würde die Netzliste nicht simuliert werden können. Die Zeile „V1 a 0 SINE(0 1Volt 100kHz)“ beschreibt eine Sinusquelle mit einer Spitzenspannung von 1 Volt und einer Frequenz von 100 kHz, die zwischen den Knoten „a“ und „0“ angebracht ist. Der Befehl „.tran 0.1 m“ leitet eine Transientenanalyse ein, die nach 0,1 Mili-Sekunden endet. Mit der Transientenanalyse erhalten wir wie bei einem Oszilloskop Kurvenzüge im Zeitbereich. Alle PSpice-Befehle beginnen am Zeilenfang mit einem leicht zu übersehenden Punkt. Ebenso fängt der zwingend notwendige End-Befehl mit einem Punkt an.
 
Diese Netzliste können wir als einfaches Textdokument in Notepad kopieren und als fa1.net abspeichern, um diese dann zu simulieren. Dazu schieben wir die fa1.net mit der Maus in das geöffnete LTSpice-Programm und starten danach die Simulation, indem wir auf dem Knopf mit dem springenden Männchen in der oberen Menüleiste klicken. In der Praxis werden keine Netzlisten editiert sondern die Schaltung mit der Schaltplaneingabe gezeichnet und danach simuliert. Doch sind Kenntnisse über Netzlisten unverzichtbar, wenn man den Unterschied zwischen Modellen und Unternetzwerken verstehen will.

Unternetzwerke (Subcircuits): Integrierte Schaltungen wie zum Beispiel Operationsverstärker bestehen aus einer Vielzahl von elektronischen Bauteilen, also aus einer eigenen elektronischen Schaltung. Diese Schaltungen können ihrerseits als Netzwerke in Form von Netzlisten abgebildet werden. Wenn Bauteile durch Netzlisten beschrieben werden, spricht man von Unternetzwerken. Ein Unternetzwerk fängt in seiner ersten Zeile immer mit .SUBCKT an und hört mit .ENDS auf.

Modelle: Im Gegensatz zu Unternetzwerken werden Halbleiter wie Dioden und Transistoren als Spice-Modelle beschrieben, wobei Parameter verwendet werden, die aus der Halbleiterphysik und Halbleiterfertigung stammen und in den Datenbüchern nicht zu finden sind. Die Spice-Modellierung ist ein sehr umfangreiches Thema, über das es im Internet sehr viel Literatur gibt. Der Anwender braucht sich in der Regel nicht um die Modellierung kümmern und greift auf vorhandene Modelle zurück. Modelle werden immer mit .MODEL eingeleitet. Eine Anweisung für das Ende des Modells gibt es nicht.

Modell-Bibliotheken: Modelle und Unternetzwerke können zusammen in textbasierten Textdateien untergebracht werden, welche meistens die Endung LIB oder MOD tragen. In der Anfangszeit von Spice, als nur mit Netzlisten gearbeitet wurde, war es einfach solche Modell-Bibliotheken einzubinden. Dafür reichte es aus, wenn in der Netzliste der Befehl .INCLUDE Dateiname oder .LIB Dateiname vorkam.

Arbeitet man mit einer Schaltplaneingabe wird es undurchsichtiger, denn nun muss irgendwo die Information abgespeichert werden, welches Spice-Modell mit welchem Bauteile-Symbol der Schaltplaneingabe verknüpft wird. Dies geschieht aber nicht in der Netzliste, denn die Netzliste kennt keinen Schaltplan. Die Netzliste ist entweder von Hand erstellt oder wurde vom Schaltplan-Editor erstellt. Schaltbildsymbole kennt Spice ebenfalls nicht.


Simulation eines invertierenden Verstärkers mit LTSpice mit einem AC-Sweep für die Untersuchung des Frequenzgangs. Der Kondensator C1 (22 pF) wurde mit Hilfe der Simulation experimentell ermittelt, um die obere Grenzfrequenz nach oben zu verschieben. Mit einer Simulation lassen sich berechnete Schaltungen sehr gut optimieren.

Schaltplaneingabe: Die größte Hürde für den Anfänger ist die Schaltplaneingabe. Zum Beispiel müssen die Bauteilwerte so angegeben werden, das Spice die Anweisungen versteht. Mit "10 kOhm" kann Spice nichts anfangen, weil das Leerzeichen stört. Richtig würde es "10k" heißen. 10M" würde Spice als 10 Mili-Ohm begreifen. 10 Meg-Ohm sind in Spice 10Meg. Zwischen Groß- und Kleinschreibung unterscheidet Spice nicht.

Wie man Schaltpläne in LTSpice eingibt, lässt sich am besten mit Hilfe von Videos zeigen. Solche Videos habe ich unter http://elektronikbasteln.pl7.de/lernvideos-ltspice.html in mehreren Teilen abgelegt. Einmal klinge ich dort etwas außer Atem. Ich bitte darüber hinwegzusehen. Ich kam nämlich gerade vom Schneeräumen.

Simulationsarten: Nach der Schaltplaneingabe muss nun festgelegt werden, mit welchen "Messgeräten" wir die Schaltung untersuchen wollen. Wollen wir im Zeitbereich untersuchen, wählen wir Transientenanalyse und wir sehen Kurvenzüge, wie sie ein Oszilloskop darstellen würden. Mit AC-Sweep können wir uns Frequenz- und Phasenverläufe betrachten. Mit DC-Sweep können wir den Bauteil eines Wertes verändern, und sehen, wie sich der Arbeitspunkt in der Schaltung verschiebt.

Mit der paramatetrischen Simulation kann der Parameter eines Bauteils automatisch schrittweise verändert werden, um eine Kurvenschar zu erhalten. So können Sie zum Beispiel die Koppelkondensator eines Verstärkers "durchsteppen", um den optimalen Wert zu finden. Die parametrische Simulation kann sowohl beim AC-Swee als auch bei der Transientenanalyse eingesetzt werden.

Mit der FFT-Analyse können Sie sich aus den Kurvenzügen der Transientenanalyse die spektrale Darstellung errechnen lassen. Viele Funktionen, die das Simulationsergebnis durch Umrechnen anders darstellen, sind bereits von der Darstellung durch ein modernes, digitales Speicheroszilloskop vertraut.

Oszillatoren simulieren: Die Arbeitspunktberechnung wird immer vor einer Transientenanalyse ausgeführt. Bei Oszillatoren kann der von Spice vorgeschlagene Arbeitspunkt so ungünstig liegen, dass der Oszillator nicht anschwingt. Dann können Sie die Arbeitspunktbestimmung abschalten, wobei zur Arbeitspunktbestimmgung der gesamte Anschwingvorgang simuliert werden muss. Wenn Sie mit PSpice Oszillatoren simulieren, müssen Sie die Arbeitspunktberechnung immer abschalten. Bei LTSpice ist dies automatisiert, da LTSpice speziell für die Simulation von Schaltnetzteilen entwickelt wurde. Schaltnetzteile sind ja auch Oszillatoren. Achten Sie auch dabei, dass Sie eine Rechenschrittweite wählen, die so klein ist, das mindestens 10 Punkte für eine Periode berechnet werden. Eventuell müssen Sie die maximale Rechenschrittweite verkleinern. Zu große Rechenschchrittweiten lassen die Kurvenzüge nicht nur zu zackig aussehen, weil die einzelnen, von Spice berechneten Punkte durch Geradenstücke verbunden werden (lineare Interpolation). Sie vereiteln auch das Anschwingen eines Oszillators.

Konvergenzprobleme: Mathematisch betrachtet werden vom Spice-Simulator nichtlineare Gleichungssysteme im komplexen Bereich durch Iterationsverfahren gelöst. Wenn keine Lösung gefunden werden kann, bricht die Simulation ab. Dies kann zum Beispiel daran liegen, dass in der Schaltung besonders hohe und niedrige Ströme gleichzeitig vorkommen, oder die Anstiegszeiten von Rechtecksignalen sehr kurz sind. Durch Verändern der Konvergenzeinstellungen können Sie Konvergenzprobleme überwinden. Meistens wird dann die geforderte Genauigkeit des Ergebnisses verkleinert.

LTSpice-Simulation in der Praxis: Im Internet gibt es bereits hervorragende deutschsprachige Anleitungen, welche erklären, wie Sie Simulieren und Modelle einbinden. Die Kenntnisse über den grundsätzlichen Aufbau von Netzlisten, Modellen und Unternetzwerken helfen ihnen dabei die Orientierung zu behalten. Eine Linksammlung wurde von mir unter

http://elektronikbasteln.pl7.de/linkliste-zu-ltspice.html

zusammengestellt. Undbedingt empfehlenswert sind die Tutorials von Gunthard Kraus, welche unter

http://www.gunthard-kraus.de/LTSwitcherCAD/index_LTSwitcherCAD.html

zu finden sind.

LTSpice-Download: http://www.gunthard-kraus.d … LTSwitcherCAD/ oder http://www.linear.com … software/#LTspice

LTSpice Yahoo Groups: http://tech.dir.groups.yahoo.com/group/LTspice/ ist unbedingt empfehlenswert, da hier sehr viele Modelle und Anleitungen abgespeichert sind.

Forum: http://www.ltspiceusers.ch/

LTSpice und PSpice: Manche Spice-Modelle funktionieren auf LTSpice und PSpice gleichermaßen, doch liefern sie auf beiden Simulatoren unterschiedliche Ergebnisse, die durch sprachliche Missverständnisse wesentlich abweichen. Wer sich in einen der beiden Simulatoren eingearbeitet hat, wird den anderen schnell verstehen. Die Lite-Versionen von PSpice haben mehr Komfortfunktionen und die Schaltplaneingabe geht meiner Ansicht nach in PSpice mit seiner Schaltplaneingabe Capture schneller von der Hand. Dafür haben die kostenlosen Lite-Versionen eine Knotenbegrenzung, die in der Praxis Schaltungen mit maximal etwa 90 Bauteilen zulassen. PSpice kann digitale Bausteine sowohl im digitalen als auch analogen Bereich simulieren (Mixed-Mode-Simulation). PSpice hat mehr Bausteine als LTSpice, mit denen mathematische Funktionen nachgebildet werden können (ABM-Blöcke), was die Modell-Erstellung auf der Basis von Unternetzwerken vereinfacht.  Viele Entwickler arbeiten sowohl mit LTSpice als auch mit PSpice. Insbesondere funktioniert das Arbeiten mit Bauteiletoleranzen (Monte-Carlo-Analyse) in PSpice wesentlich bequemer. Unter

online-tutorial-schaltungssimulation-mit-pspice.html

gibt es eine umfangreiche Einführung in PSpice, welche fast keine Fragen offen lässt.