Forum: Analoge Elektronik und Schaltungstechnik Anfängerproblem: LTSpice mit IRF Transistor


von Karsten W. (lsmod)


Lesenswert?

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?

1
.SUBCKT irf4905 1 2 3
2
**************************************
3
*      Model Generated by MODPEX     *
4
*Copyright(c) Symmetry Design Systems*
5
*         All Rights Reserved        *
6
*    UNPUBLISHED LICENSED SOFTWARE   *
7
*   Contains Proprietary Information *
8
*      Which is The Property of      *
9
*     SYMMETRY OR ITS LICENSORS      *
10
*Commercial Use or Resale Restricted *
11
*   by Symmetry License Agreement    *
12
**************************************
13
* Model generated on Jun 19, 96
14
* Model format: SPICE3
15
* Symmetry POWER MOS Model (Version 1.0)
16
* External Node Designations
17
* Node 1 -> Drain
18
* Node 2 -> Gate
19
* Node 3 -> Source
20
M1 9 7 8 8 MM L=100u W=100u
21
* Default values used in MM:
22
* The voltage-dependent capacitances are
23
* not included. Other default values are:
24
*   RS=0 RD=0 LD=0 CBD=0 CBS=0 CGBO=0
25
.MODEL MM PMOS LEVEL=1 IS=1e-32
26
27
...
28
29
.ENDS

: Bearbeitet durch User
von Karsten W. (lsmod)


Lesenswert?

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!
1
PIN 48 0 NONE 0
2
PINATTR PinName D
3
PINATTR SpiceOrder 1
4
PIN 0 80 NONE 0
5
PINATTR PinName G
6
PINATTR SpiceOrder 2
7
PIN 48 96 NONE 0
8
PINATTR PinName S
9
PINATTR SpiceOrder 3

von Karsten W. (lsmod)


Lesenswert?

Gefunden!
Es muss unter value irf4905 stehen damit es funktioniert.

Kaum macht man es richtig ...
... immer diese Feinheiten.

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

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.

von Karsten W. (lsmod)


Lesenswert?

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

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

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

von Karsten W. (lsmod)


Lesenswert?

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?

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> 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

: Bearbeitet durch User
von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

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.

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

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

von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

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.

: Bearbeitet durch User
von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Rechtklick auf UniversalModel2.
Dadurch kommt ein Dialogfenster.
Dort siehst du die Attribute unter anderem

SpiceModel level 2

Dort Doppelklich auf level 2

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> 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

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> LTSpice 4.22m

Update auf die aktuelle version 4.23b

LTspice als Administrator öffnen.

Tools -> Sync Release

von Karsten W. (lsmod)


Angehängte Dateien:

Lesenswert?

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

von Helmut S. (helmuts)


Lesenswert?

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

von Karsten W. (lsmod)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.