Howto Eigene Modelle mit Symbol erstellen

spicer

Forum-Chef
Teammitglied
Administrator
Moderator
Landesflagge
Habe eine Kurzanleitung geschrieben, welche anhand des CD4033 zeigt, wie man eigene Modelle mit Symbol erstellt. Sollte eigentlich für jede LTspice Version gelten.




1. Im lauffähigen Schaltplan Spannungsquellen und dergleichen entfernen. Auch den Simulationscommand (zBsp .tran 600m) entfernen. Labels als Input bzw Output definieren.
Auswahl_002.png
Ich habe hier nebst meinen eigenen Gattern & Verbindungen den bereits vorhandenen Baustein CD4017B verwendet. Diese Lib (und die benötigten "Sub-Libs") von diesem einfach in den Schaltplan rein kopieren.....wie im Screenshot oben.

2. View > Spice Netlist

3. Rechts Klick > Generate Expanded Listing

Auswahl_003.png

4. Speichern .sp.cir Datei

Auswahl_004.png

5. Diese sp.cir Datei mit Editor öffnen und subckt als zweite Zeile einfügen. Die erste(n) Zeile(n) sollte mindestens aus einem * bestehen. In meinem Fall:
Code:
Bitte, Anmelden oder Registrieren to view codes content!
Wobei hier vhigh1={vdd} dann erlaubt, in der SpiceLine des Bauteils VDD=xx einzutragen. Der Wert xx wird so in der Variable vhigh1 gespeichert.
Die Ein- und Ausgänge müssen in derselben Reihenfolge wie in der Symbol-Datei aufgezählt werden (wird unten bei Punkt 7 erklärt).
Weitere Anpassungen machen wie gewünscht. Speichern

6. Diese Dateiendung umbenennen in .sub (oder .lib)

Hinweis von Udo:
Wenn man im Schaltplan z.B. einen Puls mit einer Gleichung versieht, die z.B. eine Frequenz f enthält (also keinen Fixwert), dann ist diese Gleichung mit .....{f} zu hinterlegen.
Aus der Klammer {} wird aber bei der Übersetzung in ein .subckt jedoch eine Klammer der Form () erzeugt und es kommt eine Fehlermeldung "unknown Parameter.....".
Abhilfe: Nacheditieren des subcircuit Files und die Sache ist gegessen.

7. Symbol asy erstellen.
Bei Schaltplan auf Hierarchy > Open this sheet's Symbol
Auswahl_002.png
Hier Ja wählen.
Es wird automatisch ein Symbol kreiert.
Auswahl_004.png
Rechts Klick > Attributes > Edit Attributes. Oder wahlweise über Edit > Attributes > Edit Attributes oder direkt mit Strg-A .
Auswahl_002.png
Weiter bei Punkt 8.

Hier gibt's noch ein Tutorial: https://www.google.ch/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwikh8Dr35rzAhV7_rsIHYnqAZEQFnoECAQQAQ&url=http://dublin.zhaw.ch/~hhrt/LTspice/LTSpice%20Tutorial%202.pdf&usg=AOvVaw1dWntHTGvGbb-LOv3nYAuT
Dies habe ich auch als Anhang angefügt (LTspice Tutorial 2.pdf).

8. Attribute eintragen: Prefix: X , Value: CD4033 , SpiceLine: VDD=5
Erst jetzt "Symbol Type" auf Cell stellen und speichern.

9. Ab jetzt kann in jedem neuen Schaltplan das Symbol ausgesucht werden:
Auswahl_002.png
und die erstellte .sub mittels .inc cd4033.sub direktive eingefügt werden.
Es empfiehlt sich ja eh, für jeden Schaltplan ein eigenes Unterverzeichnis zu erstellen.
In dieses einfach nur die asy und sub rein kopieren (neben/parallel zur asc). So kann das selbst erstellte Modell überall gebraucht werden.




Bei Problemen mit Variablen Werten intern im Modell verweise ich auf Post #8 von Udo!

Im Anhang habe ich zusätzlich noch eine Anleitung von einem Will Kceg, welche ich im Netz gefunden habe (LTspiceIV_Tutorial_Subcircuit.pdf).

Hier noch weitere Infos: Howto - Importieren von Fremdmodellen in LTspice
 

Anhänge

  • LTspiceIV_Tutorial_Subcircuit.pdf
    258,4 KB · Aufrufe: 21
  • LTSpice Tutorial 2.pdf
    610,7 KB · Aufrufe: 18
Zuletzt bearbeitet:
Sieht ganz gut aus, vor allem wegen der Grafiken.
Bei 5. solltest Du noch erwähnen, daß hinter dem SUBCKT-Namen alle Ein- und Ausgänge in derselben Reihenfolge wie in der Symbol-Datei aufgezählt werden müssen.
zu 7. und 8. : Rechts Klick > Attributes > Edit Attributes. habe ich nicht hinbekommen. Statt dessen entweder Menü: Edit > Attributes > Edit Attributes oder Strg-A
Mein Vorschlag:
- Symbol Attribut Editor aufrufen mit Menü: Edit > Attributes > Edit Attributes (oder Strg-A) (hier noch einen Screenshot vom Symbol Attribut Editor hineinbringen)
- Symbol Type auf Cell stellen
- Attribute eintragen: Prefix: X, Value: CD4033, SpiceLine: VDD=5
- speichern

Gruß, Frank
 
Ok.
Kann es sein, dass LTspice IV da etwas anders aussieht?
Die Anleitung ist natürlich für das aktuelle LTspice.

Habe das Tut angepasst. Danke
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Udo
Jo, gerade habe ich das aktuelle LTspice installiert - Du hast vollkommen recht. Willst Du noch erwähnen, daß die Anleitung für LTspicexVII gilt?
das sollte aber drin stehen: - Symbol Type auf Cell stellen.

Gruß, Frank
 
Symbol Type auf Cell stellen erst am Schluss vor dem Speichern, weil das bei jedem Eintrag wieder auf Block gestellt wird!
So sollte das Tut ja nun auch für LTspice IV gelten ;)
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Udo
Symbol Type auf Cell stellen erst am Schluss vor dem Speichern, weil das bei jedem Eintrag wieder auf Block gestellt wird!
So sollte das Tut ja nun auch für LTspice IV gelten ;)
Der Symbol Attribut Editor ist bei beiden Version derselbe. Ich hatte ihn beim Nachvollziehen Deiner Anleitung nach dem Eintragen der Attribute direkt wieder geschlossen, weil nichts mit Cell zu sehen war.
Jetzt ist es ok.

Gruß, Frank
 
Ich bin noch die Antwort schuldig, wie ich die Anleitung finde, bzw. wie ich damit zurecht komme (gekommen bin).
Antwort: Ich habe inzwischen an einem Controller-Baustein geübt und bin letztlich gut zurechtgekommen.
Eine Schwierigkeit hatte ich noch, nämlich diese:
Wenn man im Schaltplan z.B. einen Puls mit einer Gleichung versieht, die z.B. eine Frequenz f enthält (also keinen Fixwert), dann ist diese Gleichung mit .....{f} zu hinterlegen. Aus der Klammer {} wird aber bei der Übersetzung in
ein .subckt jedoch eine Klammer der Form () erzeugt und es kommt eine Fehlermeldung "unknown Parameter.....". Abhilfe: Nacheditieren des subcircuit files und die Sache ist gegessen.
Meine Gleichung war in der Form pulse(0.6 3.8 0 {0.99*1/f} {0.01*1/f} 0 {1/f})
Für meine Begriffe ist die Anleitung gut.

Gruß, Udo
 
Oh, das war wohl auch bei mir das Problem bei den Bv Elementen.
Ich dachte dann, dass Bv Elemente wohl nicht konvertiert werden können.
 
Es werden wohl die einen oder anderen Miniprobleme auftreten, bis man ganz "syntaxkundig" ist. Aber wir sind doch schon sehr weit. Weitere Beispiele könnten noch weiterhelfen.
Ich bin dankbar, dass es "die Macht der vereinten Kräfte" gibt.

Gruß, Udo
 

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Zurück
Oben