Wie binde ich Spice-Modelle in LTspice ein?

(Gast) Thomas Wetzel

10/27/2020

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.


Geschrieben von (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.


Weitere Beiträge

  • 29/01/2025
  • Allgemein, Hardware, Testen

EinleitungUm bei der EMV Prüfung für die Zulassung neuer medizintechnischer Geräte das Risiko zu reduzieren machen wir gerne Vortests mit den Geräten in der Prototypen Phase. Aktuell unterstützen wir ...

Weiterlesen
  • 12/11/2024
  • Allgemein, Software, Testen, Tools

In sicherheitskritischen Softwareprojekten steht die Qualität der Software an erster Stelle. Besonders bei Klasse-C-Software, die nach strengen Normen wie IEC 62304 (Medizintechnik) zertifiziert werden muss, ist es essenziell, dass ...

Weiterlesen
  • 12/09/2024
  • Allgemein, Fertigung, Hardware, Qualität

Die Schnellen fressen die Langsamen – die Bedeutung der schnellen Prototypenfertigung in der Elektronikentwicklung Unsere Bestückungsmaschine erlaubt uns kleinere Chargen manuell und wesentlich schneller zu bestücken. In der Elektronikbranche ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies