LTSpice hilft mir immer wieder Schaltungsprobleme unter die Lupe zu
nehmen.
Allerdings scheitere ich immer wieder daran Modelle von neuen
Bauelementen einzubinden.
Gerade versuche ich einen IRF4905 zum Leben zu erwecken.
Das Modell gibt es hier http://www.irf.com/models
In spice.zip findet man ein irf4905.spi, welches ich in irf4905.sub
umbenannt habe und im Unterverzeichnis lib\sub abgelegt habe.
Dieses habe ich dann mit der Direktive ".lib irf4905.sub" eingebunden.
Danach habe ich einen pmos Transistor plaziert und mit Rechtklick den
Prefix X
InstName M1
SpiceModel irf4905
gesetzt.
Es kommt aber leider nur der Fehler:
"Unknown subcircuit called in: xm1 ref n02 n001 irf4905 pmos"
Mit Sicherheit sind die Pinne nicht richtig zugeordnet, aber ich habe
keine Ahnung wie dies für einen NMOS oder PMOS definiert wird?
Gibt es hier irgendeinen generellen Kniff oder muss man jedes Mal von
neuem Rätseln?
Eigentlich sieht doch alles so aus wie es für LTspice vorgeschlagen
wird:
http://www.linear.com/solutions/5360
Ich sehe einfach den Unterschied nicht, ausser das es hier um einen NMOS
geht!
Ist die Pin-Reihenfolge für einen PMOS anders?
Wenn ich in pmos.asy reinschaue sollte diese identisch sein!
Hallo K(C)arsten,
lass den Filenamen wie er war. LTspice kann jeden Filenamen lesen.
Anleitung "inside".
Vermutlich hast du den Filenamen "vergeigt". Schau genug hin ob da nicht
zusäztzlich ein ".txt" am Ende steht.
Gruß
Helmut
1. Add a "pmos" device to the schematic.
2. Replace the value PMOS with IRF4905
on your pmos-transistor in the schematic.
3. Ctrl-right-mouse-click on the transistor
in your schematic. A dialog window with all
the attributes will be shown.
4. Replace the value MP with X.
This X tells LTspice that this symbol is for a subciruit.
OK
5. Add the SPICE-directive into your schematic
.include irf4905.spi
6.
I recommend to keep the model file in the same
folder as the schematic. This makes a complete
backup of a circuit easier than having this file
in the installation lib\sub folder.
Hint, this file may contain many models.
Wie schon gesagt funktioniert es ja jetzt.
Der Dateiname ist wirklich nicht wichtig, aber ein ".sub" passt nun Mal
am besten zu einem Subcircuit oder?
Entscheidend war das unter "Value" der "irf4905" eingetragen ist.
Interessanterweise scheint "SpiceModel" hier nicht entscheidend zu
sein!?
Das war bei einer Diode bei mir anders. Hier durfte bei "Value" auch
einfach nur "D" stehen und es hat funktioniert als unter "SpiceModel"
der richtige Name des sub eingetragen war.
Merkwürdiges Ding das LTSpice ...
> Merkwürdiges Ding das LTSpice ...
Nein das ist nicht merkwürdig. Es gibt mindestens vier Arten von
Symbolen für Subcircuits. LTspice erkennt die an der Belegung von
SpiceModel, Value und Value2.
Sag ich doch. :-)
Wie soll man da einen Überblick bekommen?
Mann kann die Zusammenhänge immer erst dann verstehen wenn man sie
verstanden hat. Intuitive Zusammenhänge scheint es da nicht wirklich zu
geben.
Was ich damit sagen will - wozu gibt es ein Feld "SpiceModel" wenn der
Inhalt nicht verbindlich das verwendete Spice-Modell festlegt?
Erschwerend kommt noch hinzu das es auch noch unterschiedliche Wege gibt
etwas zu realisieren.
Wie soll man da einfach dahinter kommen wie man was richtig einfädelt?
Konkret: Was hat es mit der Belegung von SpiceModel, Value und Value2
auf sich?
> Wie soll man da einen Überblick bekommen?
Hallo Karsten,
Man kann 3 Grundtypen von Subcircuit-Modellen direkt in LTspice finden.
Bei den drei unten angegebenen Beispielen enfach mal anschauen welche
Attribute gesetzt sind.
C:\Program Files (x86)\LTC\LTspiceIV\lib\sym\Opamps
LT1012.asy
Eigenschaften: Man kann das Symbol nicht vom Schaltplan aus aufrufen und
ändern. Man kann keine Parameter übergeben. Die sind sozusagen
"unkaputtbar".
opamp.asy
Man kann im Schaltplan mit Rechtsklick Parameter ändern.
Eine 4. Variante wäre anstatt dem .inc filename oder .lib filename im
Schaltplan den Filenamen in "Modelfile" einzutragen.
UniversalOpamp2.asy
Man kann mit "drop-down" das Modell wählen und Parameter übergeben.
Dazu Rechtsklick im Schalplan zum Ändern von Parametern und der
Modellauswahl mittels Doppelklich auf "level 2". Dort kann man ein
anderes Subcircuit wählen das sich in der gleichen Modelldatei befindet.
Gruß
Helmut
Karsten M. schrieb:> Konkret: Was hat es mit der Belegung von SpiceModel, Value und Value2> auf sich?
Garnix. Zumindest wenn ich mich richtig erinnere. LTSpice hängt die dort
eingegebenen Werte einfach hintereinander an den entsprechenden
Bauelemente-Eintrag in der Netliste an. Es sieht sich die Werte nicht
mal an.
Lässt du einen Werte aus, wird er nicht in die Netlist geschrieben und
die nachfolgenden Werte rücken auf.
Beispiel, ob du
1
SpiceModel: bla.sub
2
Value:
3
Value2:
oder
1
SpiceModel:
2
Value:
3
Value2: bla.sub
schreibst macht keinen Unterschied. Das Ergebnis ist jedesmal
1
X... ... bla.sub
in der Netlist.
Beispiel 2: Alle folgenden Kombinationen ergeben den selben Eintrag in
der Netlist, nämlich
1
X... ... bla.sub wert
1
SpiceModel: bla.sub
2
Value: wert
3
Value2:
1
SpiceModel: bla.sub
2
Value:
3
Value2: wert
1
SpiceModel:
2
Value: bla.sub
3
Value2: wert
Sogar
1
SpiceModel:
2
Value: bla.sub wert
3
Value2:
Man hätte die Einträge auch durch einen einzigen Eintrag im GUI ersetzen
können, der einfach "Parameter" heißt, aber so ist das bei LTSpice, es
hat nun mal ein schlecht durchdachtes GUI.
Hallo,
Hier nochmal das Ganze mit einer erweiterten Erklärung.
Man kann 3 Grundtypen von Subcircuit-Modellen direkt in LTspice finden.
Bei den drei unten angegebenen Beispielen enfach mal anschauen welche
Attribute gesetzt sind.
C:\Program Files (x86)\LTC\LTspiceIV\lib\sym\Opamps
LT1012.asy
Eigenschaften: Man kann das Symbol nicht vom Schaltplan aus aufrufen und
ändern. Man kann keine Parameter übergeben aber man kann zwei Namen
eingeben. Einen für den Schaltplan(Value) und den Modellnamen(Value2)
des Subcircuits. Das ist in der Tat manchmal hilfreich.
Dieses Symbol ist praktisch "unkaputtbar" im Schaltplaneditor, weil das
klicken auf das Symbol keine Dialoge öffnet.
opamp.asy
Man kann im Schaltplan mit Rechtsklick Parameter ändern.
Eine 4. Variante wäre anstatt dem .inc filename oder .lib filename im
Schaltplan den Filenamen in "Modelfile" einzutragen.
UniversalOpamp2.asy
Man kann mit "drop-down" das Modell wählen und Parameter übergeben.
Dazu Rechtsklick im Schaltplan zum Ändern von Parametern und der
Modellauswahl mittels Doppelklich auf "level 2". Dort kann man ein
anderes Subcircuit wählen das sich in der gleichen Modelldatei befindet.
Wie man sieht machen die unterschiedlichen Attribute-Felder wirklich
Sinn auch wenn manche das nicht wahrhaben wollen. Vielleicht ist denen
das zu kompliziert. Die können sich dann ja auf eine der Methoden
konzentrieren.
Gruß
Helmut
Danke für die Erläuterungen.
Ich habe versucht diese nachzuvollziehen.
LT1012.asy ist klar soweit.
opamp.asy Hier gibt es als Parameter nur "SpiceLine" und "SpiceLine2".
"Modelfile" taucht bei mir nicht auf (LTSpice 4.22m).
UniversalOpamp2.asy hier kann ich leider nicht per Drop-Down ein Modell
auswählen. Es gibt nur einen Button "Open symbol"
Platziere ich allerdings eine Diode, dann kann ich mit "Pick New Diode"
ein Modell auswählen.
Das sind so die Kleinigkeiten die einem bei diesem Programm in den
Wahnsinn treiben können ... :-)
Ich glaube schon das es für die ganzen Funktionen und Möglichkeiten
einen Sinn gibt.
Der will sich aber leider nicht so einfach offenbaren.
Die Gestaltung der Software ist hier einfach nicht einfach.
Rechtklick auf UniversalModel2.
Dadurch kommt ein Dialogfenster.
Dort siehst du die Attribute unter anderem
SpiceModel level 2
Dort Doppelklich auf level 2
> opamp.asy Hier gibt es als Parameter nur "SpiceLine" und "SpiceLine2".
"Modelfile" taucht bei mir nicht auf (LTSpice 4.22m).
Um alle Attribute zu sehen mußt du das Symbol im Symboleditor öffnen.
Dort dann
Edit -> Attributes -> Edit Attributes
Ja - jetzt hat es funktioniert - Danke!
Ich hatte schon Befürchtungen das es daran liegt das ich es unter Linux
mit Wine laufen lasse.
Danke auch für die Hinweise von Hannes Jäger.
Das die einzelnen Felder nur zur Veranschaulichung vorhanden sind ist
mir jetzt klar geworden.
Einige Dinge sind wirklich sehr gewohnheitsbedürftig in LTSpice.
Da das Programm kostenlos zur Verfügung gestellt wird darf man sich aber
trotzdem nicht beschweren. :-)
Wäre es allerdings Opensource, dann hätte bestimmt schon jemand die
Oberfläche verbessert ...
> Wäre es allerdings Opensource, dann hätte bestimmt schon jemand die
Oberfläche verbessert ...
Das war jetzt aber Spaß oder?
Schau dir mal an wie die Linux-Jünger sich bekriegen.
Altes Gnome, neues Gnome, KDE, Ubuntu, Openoffice, Libreoffice, Weyland,
X-Windows, jeder glaubt es besser zu wissen und bastelt sich für die
gleiche Anwendung eine neues GUI. Durch dieses Verhalten wird es Linux
nicht schaffen eine signifikante Verbreitung zu finden.
Wenn ich mir die Programme unter Linux so anschaue, dann sticht LTspice
als wahre Perle hervor.
> Das war jetzt aber Spaß oder?
Nein. :-)
> Schau dir mal an wie die Linux-Jünger sich bekriegen.
Das ist die Sichtweise eines Dosianers. ;-)
Konkurrenzgedanken gehören natürlich dazu - sonst würde es ja auch keine
Motivation, Innovation und Fortschritt geben - so wie bei Winblöd.
> Altes Gnome, neues Gnome, KDE, Ubuntu, Openoffice, Libreoffice, Weyland,> X-Windows, jeder glaubt es besser zu wissen und bastelt sich für die> gleiche Anwendung eine neues GUI.
Das nennt man Vielfalt und keine Konkurrenz.
Etwas was es bei Kleinweich nicht gibt.
Vielleicht sind zu viele Benutzer auch damit überfordert sich Gedanken
machen zu müssen, welche Oberfläche ihre Anforderungen am besten
erfüllt.
Deshalb wurde wohl auch Windows 8 in die Welt gesetzt. :-)
Ich persönlich benutze sogar je nach Anforderung unterschiedliche
Oberflächen.
> Durch dieses Verhalten wird es Linux> nicht schaffen eine signifikante Verbreitung zu finden.
Ich denke der Anteil der Linux-User spiegelt den Anteil reifer Benutzer
wieder.
Damit möchte ich Dir und anderen aber nicht zu Nahe treten.
Ich wollte nur Paroli bieten. ;-)
> Wenn ich mir die Programme unter Linux so anschaue, dann sticht LTspice> als wahre Perle hervor.
Naja - als Perle hinsichtlich der Oberfläche würde ich es nun wirklich
nicht bezeichnen. Es ist minimalistisch und funktional gehalten.
Auf jeden Fall arbeitet die Software gut und erfüllt ihren Zweck.
Ich weiss auch zu schätzen das man den Benutzern nicht ein OS aufzwingt,
auch wenn man nicht explizit verschiedene Plattformen unterstützt.
Das mit der Gestaltung der Oberfläche gilt natürlich auch für viele
Opensource Programme.
Generell gibt es nicht viele Programme mit intuitiv gestalteten
Oberflächen wenn ich so Recht darüber nachdenke.
Vielleicht liegt es daran das ab einer bestimmten Komplexität der
Software eine intuitive visuelle Darstellung der Funktionen extrem
schwierig ist.