Hallo zusammen, ich habe mir das Spice Modell des MOSFETs "IPBE65R050CFD7A" von Infineon heruntergeladen und wollte das Modell in einer einfachen Testschaltung testen. Probiert habe ich das Einfügen des Modells auf folgende zwei Arten: a) Über normales Modell von "NMOS" aus Bauteilbiliothek --> Im Component Attribute Editor habe ich den Prefix auf "X" geändert und außerdem den Namen des Subcircuits "IPBE65R050CFD7A_L1" unter Value eingetragen (siehe Screenshot). Zusätzlich habe ich die .lib Datei über das Spice Directive .include... eingebunden. Leider erscheint beim Starten der Simulation folgende Fehlermeldung: "M1: Can't find definition of model..." b) .lib Datei in LTspice öffnen --> Rechtsklick auf .SUBCKT IPBE65R050CFD7A_L1 und dann mit Autogenerator Symbol erstellt --> Anschließend Symbol über Bauteileditor in Schaltplan geholt. Leider erscheint beim Starten der Simulation die folgende Warnung: "WARNING: Can't resolve .param mos_kp_a=..." Mir scheint es so, als wäre das Problem des Ganzen, dass das Spice Modell aus mehreren Subcircuits besteht und auch der Subcircuit "IPBE65R050CFD7A_L1" auf die anderen Subcircuits zugreifen muss. Ich habe die beiden Simulationen inklusive Screenshots, das Symbol und das Spice Modell im Anhang angehängt. Kann mir jemand sagen, wie man das Problem lösen kann? Viele Grüße Hans
Ein bekanntes Problem, viele Modelle von Infineon sind nicht mit LTSpice kompatibel. Und weil die Modelle so komplex sind, ist ändern schlimmer als neu erstellen...
Infineon hat oft keine LTSpice-taugliche Modellen. Absichtlich so gemacht.
Hans schrieb: > a) Über normales Modell von "NMOS" aus Bauteilbiliothek --> Im Component > Attribute Editor habe ich den Prefix auf "X" geändert und außerdem den > Namen des Subcircuits "IPBE65R050CFD7A_L1" unter Value eingetragen > (siehe Screenshot). Zusätzlich habe ich die .lib Datei über das Spice > Directive .include... eingebunden. > > Leider erscheint beim Starten der Simulation folgende Fehlermeldung: > "M1: Can't find definition of model..." In deiner MOSFET_Test_NMOS.asc ist der Prefix trotzdem auf MN. Mit X ist die erste Hürde genommen. Dieses Vorgehen funktioniert bei den L0- und L1-Modellen mit drei Anschlüssen. L2 bzw. L3 benötigen ein Symbol mit fünf Pins. Es folgt:
1 | WARNING: Can't resolve .param fpar3=s(-0.0025,-0.002) |
Hier wir in der lib ein "||" anstelle von "|" als logische Oder-Verknüpfung verwendet. Korrektur:
1 | * LTspice PSPICE Syntax uses "|" for logical OR operator |
2 | *.FUNC s(w1, w3)={if(a==9.7248 || a==9.69,w1,w3)} |
3 | .FUNC s(w1, w3)={if(a==9.7248 | a==9.69,w1,w3)} |
Nächstes Problem:
1 | WARNING: bad call of user defined function in: "a*([s*](ig(da,t,fpar10*fpar40*t,g-vth+fpar2*(t-fpar42),fpar11)+1*exp(min(fpar14+(d-fpar15-fpar16*(t-fpar42))/fpar13,25))))" |
LTspce interpretiert anscheinend den Parameter s der Funktion J als zuvor definierte Funktion s. Lösung - umbenennen in sj:
1 | *LTspcie mistake parameter s for function s(...) |
2 | *Error msg "WARNING: bad call of user defined function..." |
3 | *replaced by parameter sj |
4 | *.FUNC J(d,g,T,da,s) |
5 | *+ {a*(s*(Ig(da,T,fpar10*fpar40*T,g-Vth+fpar2*(T-fpar42),fpar11)+1*exp(min(fpar14+(d-fpar15-fpar16*(T-fpar42))/fpar13,25))))} |
6 | .FUNC J(d,g,T,da,sj) |
7 | + {a*(sj*(Ig(da,T,fpar10*fpar40*T,g-Vth+fpar2*(T-fpar42),fpar11)+1*exp(min(fpar14+(d-fpar15-fpar16*(T-fpar42))/fpar13,25))))} |
Vielen Dank für die Unterstützung bei der Lösung des Problems. Ich bin echt beeindruckt. Auf diese Lösung muss man erst mal kommen. Viele Grüße Hans
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.