Howto Eigene Modelle mit Symbol erstellen

spicer

Administrator
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.

>>> HIDE entfernt. Es wäre aber toll, wenn Du dich erkenntlich zeigen würdest, und Dich registrierst. Wir freuen uns über jeden neuen User!



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

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.
Weitere Anpassungen machen wie gewünscht. Speichern

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

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
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 der 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).
 

Anhänge

Zuletzt bearbeitet:

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
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
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
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

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
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
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
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

Frank

Leidenschaftlicher LTspicer
Member
Landesflagge
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
 

Udo

Absoluter Profi
Member
Landesflagge
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
 

spicer

Administrator
Teammitglied
Administrator
Moderator
Landesflagge
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.
 

Udo

Absoluter Profi
Member
Landesflagge
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)

Wer hat diesen Thread gelesen

Oben