Spice-Modelle in LTspice einbinden

Wer gerne mit LTspice arbeitet, weiß die bereits vorhandenen Bauteilmodelle zu schätzen. Bei komplexeren Bauteilen beschränken diese sich jedoch größtenteils auf Bauteile aus dem Portfolio von Analog Devices. Aber auch einfachere Bauteile wie Transistoren oder Dioden sind manchmal nicht vorhanden, sollen aber simulativ genauer untersucht werden. Die meisten Hersteller bieten für Bauteile wie Transistoren oft eine ganze Reihe von Modellen an. Eine Internetsuche nach “SPICE Modell Transistor xyz” verspricht brauchbare Ergebnisse.

Für solche Fälle ist es notwendig, externe Bauteilmodelle zu suchen und diese dann in die Simulation einzubinden. Dafür gibt es in LTspice verschiedene Wege, die im folgenden Diagramm dargestellt sind.

Die Lösungen für Standardbauelemente

Modellplatzierung auf dem Schaltplan

Standardbauelemente sind Bauteile wie ein Transistor, eine Diode oder Widerstände. All diese sind bereits in LTspice mit Symbol hinterlegt. Möchte man zum Beispiel einen neuen Transistor einbauen, der noch nicht in LTspice vorhanden ist, geht man für eine schnelle Lösung folgendermaßen vor (als Beispiel ziehen wir hier den npn-Transistor BC817 von On Semiconductor heran).

(1) Herunterladen einer SPICE Datei, welche von vielen Herstellern auf deren Webseite hinterlegt ist. Diese SPICE Dateien haben im Normalfall die Endungen “.lib”, “.sub” oder “.mod”. In unserem Fall befindet sich die Datei unter: https://www.onsemi.com/pub/Collateral/SBC817-40L.LIB.LIB

Öffnet man diese Datei in einem Editor, sieht man eine lesbare Datei, beginnend mit einem “.MODEL” Befehl, gefolgt vom Namen des Modells (in unserem Fall “Qbc81740lt1g”) und der Bezeichnung des Basiselements (hier “npn”).

Die weiteren Zeilen bilden lediglich Parametersätze für das Basiselement des npn-Transistors.

(2) Wir erstellen eine Schaltung in LTspice, die einen oder mehrere npn Transistoren enthält. Jetzt kopieren wir zusätzlich den kompletten Inhalt der .lib-Datei des BC817 Transistors einfach in den Schaltplan neben die Schaltung als Spice directive. Dazu klicken wir in der Symbolleiste auf folgenden Button:

Anschließend kopieren wir den Inhalt der .lib-Datei in das Textfeld, klicken “OK” und platzieren unser Modell auf eine beliebige Stelle im Schaltplan. Zusätzlich benennen wir den Wert des Transistors in den Namen des Transistormodells um. Hier ist es die etwas sperrige Bezeichnung “Qbc81740lt1g”. Das Ergebnis sieht dann in etwa wie folgt aus:

Die Simulation kann nun gestartet werden.

Einbinden über Include-Anweisung

Nachteil der gerade genannten Methode ist eine wachsende Unübersichtlichkeit beim Einfügen von mehreren Modellen in den Schaltplan. Hier bietet sich ein ähnliches Vorgehen über die Include-Anweisung an. Hierbei muss nicht der komplette Modellcode auf den Schaltplan gelegt werden, sondern lediglich eine Anweisung mit Verweis auf die jeweilige Modelldatei.

Dabei ist es lediglich notwendig, dass die Modelldatei im gleichen Arbeitsverzeichnis liegt wie die Simulationsdatei selbst.

Auch jetzt kann die Simulation wieder erfolgreich gestartet werden.

Einbinden direkt in die Standardbibliothek

Möchte man sowohl das direkte Platzieren auf dem Schaltplan oder das Einbinden über den Include-Befehl umgehen, kann man das Bauteilmodell auch direkt in die Standardbibliothek von LTspice einbinden. Die Standardbibliothek erreicht man normalerweise, indem man mit Rechtsklick auf dem Schaltplan auf ein Standardbauteil klickt. Jetzt öffnet sich ein Fenster, bei dem man dann auf “Pick New Transistor” klickt.

Anschließend öffnet sich eine Liste der bereits in LTspice hinterlegten Modelle für das jeweilige Standardbauelement. Will man dieser Liste das Modell des Transistors BC817 hinzufügen, muss man die Datei “standard.bjt” (.bjt = bipolar junction transistor) im Verzeichnis “LTspiceXVII\lib\cmp” öffnen. (Das LTspiceXVII befindet sich mittlerweile standardmäßig unter Dokumente bei Windows)

Das Ergebnis nach Einfügen in die “standard.bjt” sieht folgendermaßen aus:

Öffnet man nun die Standardbibliothek, indem man per Rechtsklick auf einen npn-Transistor klickt und anschließend auf “Pick New Transistor” klickt, öffnet sich die Liste der Standardtransistoren. An erster Stelle steht nun unser BC817 mit seiner klobigen Bezeichnung “Qbc81740lt1g” (welche natürlich auch beliebig angepasst werden kann).

Durch Anwählen unseres Transistors kann die Simulation gestartet werden, ohne dass ein Include-Befehl oder eine direkte Modellplatzierung auf dem Schaltplan erfolgt. Praktisch, wenn man ein Bauteil in Zukunft oft verwenden will.

Komplexere Modelle als Subcircuit einbinden

Komplexere Spice-Modelle, welche (u.A.) aus mehreren Standardelementen aufgebaut sind, können ebenfalls einfach in LTspice integriert werden. Dazu ein Beispiel anhand des LED Drivers AP8803 von Diodes Inc.

Das Spice Modell dieses Bausteins lässt sich über die Diodes Inc. Webseite downloaden (https://www.diodes.com/assets/Spice-Models/Discrete-Prodcut-Groups/Medium-Voltage-DC-DC-LED-Drivers.txt). Diese Datei öffnen wir nun in LTspice, indem wir auf “File → Open” klicken und anschließend die Datei “Medium-Voltage-DC-DC-LED-Drivers.txt” öffnen. LTspice markiert die Datei automatisch farbig, was sehr praktisch ist. Das Ergebnis sieht wie folgt aus:

Markiert man nun die .subckt Zeile, welche in blauer Schrift dargestellt ist und klickt mit rechter Maustaste darauf, erscheint ein größeres Auswahlfenster, bei dem wir auf “Create Symbol” klicken.

Anschließend fragt uns LTspice “Do you wish to automatically create a symbol that will netlist against the subcircuit AL8803_SIMETRIX and her 5 ports?”, was wir mit Ja bestätigen. Jetzt gelangen wir in den Symboleditor in LTspice, bei dem wir uns bis auf ein paar Ausnahmen frei verkünsteln dürfen, und ein Symbol nach unserem Gusto erzeugen wollen. Zuerst erscheint jedoch folgendes einfache Symbol:

Die Zahlen neben den 5 Anschlusspins können wir anhand der Subcircuit Netlist den Anschlusspins aus dem Datenblatt zuordnen:

Nun können wir damit beginnen, unser Symbol beliebig zu gestalten. Beachten sollte man lediglich, dass das Unnn bestehen bleiben sollte. Dies ist ein Platzhalter für LTspice und wird später automatisch ersetzt durch eine fortlaufende Nummer im Schaltplan. Zusätzlich wird die Symbolmitte durch das Fadenkreuz festgelegt, auch hierauf ist zu achten.

Das Umrandungskästchen sowie die Pin Anschlüsse können jedoch beliebig versetzt und gestaltet werden. Nach ein paar Bearbeitungsschritten sieht unser Symbol nun folgendermaßen aus:

Wir speichern das Symbol und können nun bereits unseren LED Driver in einer Simulation verwenden. Dazu öffnen wir eine Simulation und platzieren ein neues Bauteil, wodurch das Dialogfenster “Select Component Symbol” erscheint. Hier finden wir jetzt einen neuen Ordner namens “[AutoGenerated]”, welcher das Bauelement “AL8803_SIMETRIX” enthält.

Wir fügen den Baustein in unseren Schaltplan und ergänzen ihn um ein paar Standardbauteile, um anschließend die Simulation starten zu können.

Heureka! Der LED Driver, eine Art Buck Wandler mit internem Schalt-MOSFET, regelt einen Strom von circa 200mA durch unsere LED.

Bei Fragen zur Einbindung von externen Modellen oder allgemein zu Simulationen in LTspice, zögern Sie nicht und melden sie sich bei uns. Wir helfen Ihnen gerne weiter.

Auch interessant:

Systems Engineering auf die Ohren – Podcast Empfehlung

Ich selbst sitze jeden Tag mindestens 30 Minuten im Auto. So kommen im Jahr leicht über 100 Stunden zusammen. Mit Hörbüchern und…

(Gast) Thomas Wetzel

Mein Name ist Thomas Wetzel und ich habe Elektrotechnik und Mechatronik in Erlangen, Deggendorf und Dresden studiert, komme ursprünglich aber aus Forchheim in Oberfranken. Während eines Auslandsaufenthaltes in Papua-Neuguinea im Jahre 2010 arbeitete ich in einem Krankenhaus im technischen Bereich und konnte dort mit Begeisterung meine ersten Erfahrungen im medizinischen Umfeld erlangen. Während meines Masterstudiums in Erlangen und dem anschließenden Berufsstart bei Siemens Healthineers konnte ich Erfahrungen im Bereich der Hardwareentwicklung sammeln.

Getagged mit: , , ,
One comment on “Spice-Modelle in LTspice einbinden
  1. Super geschriebener und informativer Artikel :-). In diesen Blog werde ich mich noch richtig einlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.