Erstellung eines Modells
Erklärt am Beispiel meines Relais-Modells. Alle hier erwähnten oder vermissten Downloads finden Sie dort.
Wie macht man nun aus einem Schaltplan eine Modell-Datei?
- Ein Modell enthält kein Simulationskommando! Dies muss im übergeordneten Plan angegeben werden.
- Es kann Spannungsquellen enthalten (z.B. zur Versorgung interner Bauteile oder als Offsetspannung), aber alle Spannungen, die zu Simulationszwecken eingespeist werden, existieren nur als Anschlüsse und müssen im übergeordneten Plan eingespeist werden. Andernfalls könnte man diese ja nicht mehr ändern!
Hier der Schaltplan meines Relais-Modells.
Ich habe ihn, wie wohl in den meisten Fällen, aus einer funktionsfähigen Schaltung herausdestilliert
.
Das soll heißen, es gab ursprünglich eine einzige, funktionsfähige Schaltung, die zusätzlich
noch Versorgungsspannungen, Lämpchen
an den Kontakten sowie eine Spannungsquelle als Signal-Eingang
und natürlich ein Simulationskommando enthielt.
Es war ursprünglich eine funktionsfähige Simulation, anhand derer ich die Schaltung ausprobieren und die korrekte Funktion verifizieren konnte.
Aber alles, was nicht direkt zum Modell gehört, muss nun weg.
Angefangen von Simulationskommando, bis nur noch zwei Anschlüsse für die Eingangsspannung
und die Anschlüsse der nackten
Kontakte übrig bleiben.
Alle Parameter, die nun in den Anweisungen oben definiert sind, können später beim Einsatz des Modells durch andere Werte überschrieben werden. Wenn nicht, bleiben sie mit den hier eingetragenen Werten erhalten.
Nun sind wir an dem Punkt, an dem wir die Modell-Datei erstellen können.
Lassen Sie sich in LTspice die Netzliste anzeigen (View->Update and View Spice Netlist) und
kopieren sie alles in den Texteditor ihrer Wahl.
Löschen Sie alle Kommentarzeilen (die mit * beginnen) und die Zeilen .backanno und .end.
Ich habe die Zeilen .param ... und .model ... nach oben verschoben, da mir das logischer erscheint.
Fügen Sie als erste Zeile ein .SUBCKT Relay_2A2B Coil+ Coil- NO11 NO12 NC11 NC12 NO21 NO22 NC21 NC22 ein.
Der erste Parameter ist der Name des Modells, die folgenden spezifizieren die Namen der Netze, die zum Einsatz des Modells erforderlich sind (hier die Spule und alle Kontakte).
Diese Netze wurden im Schaltplan entsprechend benannt. Das ist wichtig, da sie sich sonst nach jeder Modifikation des Schaltplans willkürlich ändern würden!
Fügen Sie als letzte Zeile ein .ends hinzu und speichern Sie es als modellname.sub, das war's.
Natürlich können (und sollten) Sie vorher noch Kommentarzeilen einfügen, die z.B. erklären, was das Modell macht, wass es nicht macht oder kann, und natürlich, von wann und von wem es ist, sowie eine Versionsnummer, Lizenzbedingungen etc.
Um das Modell letztlich benutzen zu können, benötigen wir natürlich auch ein
Symbol
Das Symbol lässt sich mit LTspice recht einfach zeichnen. Auch Pins lassen sich einfach hinzufügen. Achten Sie darauf, dass die Pin-Labels den Netznamen aus dem .SUBCKT ... entsprechen.
Unter Edit->Attributes->Edit Attributes müssen Sie noch ein paar Eintragungen vornehmen:
- Der Prefix muss
X
sein. Das sagt LTspice, dass es sich nicht um ein elementares Bauteil handelt (Widerstand, Kondensator etc.), sondern um eines, dass durch ein Modell beschrieben ist. - Das SpiceModel ist der Name wie in .SUBCKT ... angegeben.
- Unter Description können Sie das Modell beschreiben
- ModelFile ist schließlich der Dateiname des eben erstellten Modells.
Das Modellfile muss in einem Suchpfad für Modelle gespeichert werden, also entweder direkt im sym-Verzeichnis von LTspice oder besser in einem Verzeichnis, dass sie unter Settings->Search Paths zusätzlich angegeben haben.

