Forum: Analoge Elektronik und Schaltungstechnik PSpice .SUBCKT Modell in LTspice einbinden


von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich würde gerne ein PSpice-Modell für einen n-Kanal-MOSFET in LTspice 
einbinden.
Habe den Code des Modells von der Herstellerseite kopiert...: 
http://www.infineon.com/dgdl/CoolMOS_simplified_Spice_models_C6E6CFD2_?folderId=db3a304333b8a7ca0133c6bec0956188&fileId=db3a304335f1f4b601360cb04a4e1385

...und als Text in den 'Schematics' eingefügt. Im 'Component Attribute 
Editor' habe ich "Prefix: X" und "Value: IPW60R041C6_L0" (Name des 
MOSFETs) eingetragen. Dann habe ich in der Symbol-Datei (nmos.asy) die 
Label-Namen von 1, 2 und 3 zu drain, gate und source geändert.
Wenn ich die Simulation starte, spuckt er mir den 
Time-step-too-small-Error aus:
###
Analysis: Time step too small; time = 7.56836e-008, timestep = 
1.25e-019: trouble with node "m1:s1"
###

Muss ich irgendwas im Code, der Syntax, den Einstellungen ändern, damit 
das neue Bauteil-Modell richtig eingebunden wird? Danke für die Hilfe.

Hier der Code:
1
.SUBCKT IPW60R041C6_L0  drain  gate  source
2
3
Lg     gate  g1    5n
4
Ld     drain d1    3n
5
Ls     source s1   5n
6
Rs      s1    s2   2m
7
8
Rg     g1    g2     0.7
9
M1      d2    g2    s2    s2    DMOS    L=1u   W=1u
10
.MODEL DMOS NMOS ( KP= 74.617  VTO=3.85  THETA=0  VMAX=1.5e5  ETA=0  LEVEL=3)
11
Rd     d2    d1a    0.029 TC=15m
12
.MODEL MVDR NMOS (KP=224.44 VTO=-1   LAMBDA=0.2)
13
Mr d1 d2a d1a d1a MVDR W=1u L=1u
14
Rx d2a d1a 1m
15
Cds1 s2 d2 195.4p
16
Dbd     s2    d2    Dbt
17
.MODEL     Dbt    D(BV=600   M=0.9  CJO=77.58n  VJ=0.5V)
18
Dbody   s2   21    DBODY
19
.MODEL DBODY  D(IS=15p  N=1.08  RS=2u  EG=1.12  TT=400n)
20
Rdiode  d1  21    0.81m TC=6m
21
22
.MODEL   sw    NMOS(VTO=0  KP=10   LEVEL=1)
23
Maux      g2   c    a    a   sw
24
Maux2     b    d    g2    g2   sw
25
Eaux      c    a    d2    g2   1
26
Eaux2     d    g2   d2    g2   -1
27
Cox       b    d2   13.44n
28
.MODEL     DGD    D(M=0.88   CJO=13.44n   VJ=0.5)
29
Rpar      b    d2   1Meg
30
Dgd       a    d2   DGD
31
Rpar2     d2   a    10Meg
32
Cgs     g2    s2    6.51n
33
34
.ENDS  IPW60R041C6_L0

von Helmut S. (helmuts)


Lesenswert?

> Editor' habe ich "Prefix: X" und "Value: IPW60R041C6_L0"
> (Name des MOSFETs) eingetragen.

An der Stelle ist man schon fertig. In die Pins des Symbol wird da gar 
nichts geändert. Hau die Mosfets wieder weg.

1. Platziere ein NMOS.
2. Ändere Value zu IPW60R041C6_L0
3. Ctrl rechte Maustaste auf das platzierte Symbol und ändere den Prefix 
zu
Prefix:X
4. .include mein_modell_file

Wenn du den .asc-File anhängst, dann probiere ich mal die Konvergenz zu 
verbessern.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Danke für deine Hilfe

Helmut S. schrieb:
> 4. .include mein_modell_file

Kannst du mir nochmal genauer erklären was hinter diesem Schritt steckt?

Was ich jetzt (nachdem ich Schritte 1-3 befolgt habe) probiert habe:
- Die Textdatei mit dem Code als .lib und .inc gespeichert
- .include CoolMOS_simplified_Spice_models_C6E6CFD2_
-> "could not open include file"

von Helmut S. (helmuts)


Lesenswert?

> .include CoolMOS_simplified_Spice_models_C6E6CFD2_

Da fehlt das .lib oder .xyz das heißt du musst den kompletten Namen 
angeben.

.include CoolMOS_simplified_Spice_models_C6E6CFD2_.lib

Du solltest auch diese Datei anhängen, damit ich simulieren kann.

.inc, .include oder .lib fügen diese Datei in die SPICE Netzliste ein.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> .include CoolMOS_simplified_Spice_models_C6E6CFD2_.lib
aha,...
include erfolgreich; Simulation weiterhin nur bis 10us möglich, bis der 
Fehler wieder auftaucht:
"Time step too small"...
Ist das verwendete Infineon Modell vielleicht zu kompliziert für 
LTspice?

Helmut S. schrieb:
> Du solltest auch diese Datei anhängen, damit ich simulieren kann.
Siehe Anhang, oder Link hier:
http://www.infineon.com/dgdl/CoolMOS_simplified_Spice_models_C6E6CFD2_?folderId=db3a304333b8a7ca0133c6bec0956188&fileId=db3a304335f1f4b601360cb04a4e1385

von Helmut S. (helmuts)


Lesenswert?

Hallo Alex,
bei mir läuft die Simulation durch. Setze mal bitte die SPICE-Settings 
zurück.

Control Panel -> SPICE -> Reset to Default Values

Allerdings gibt es ungesunde Schwingungen bei Vgs wegen den 
Zuleitungsinduktivitäten im Modell. Wenn man die durch V-Quellen 
ersetzt, dann sind die weg. OK, vielleicht wäre das zu optimistisch, 
aber in den meisten Modellen sind die auch nicht drin.

VLg     gate  g1    5n
VLd     drain d1    3n
VLs     source s1   5n


Mit dem folgenden Kommando kannst du die Simulationsgeschwindigkeit 
verdoppeln.

.options gmin=1e-10 abstol=1e-10 reltol=0.003

Gruß
Helmut

von Alex (Gast)


Lesenswert?

Helmut S. schrieb:
> .options gmin=1e-10 abstol=1e-10 reltol=0.003

Das war der entscheidende Tip für eine erfolgreiche Simulation. Thanks!
(jetzt funktioniert auch der .SUBCKT Befehl)

Allerdings...
mit (V-Quellen):
Helmut S. schrieb:
> VLg     gate  g1    5n
> VLd     drain d1    3n
> VLs     source s1   5n
simuliert der mir eine Reverse-Recovery-Rückstromspitze von I_rrm=400A, 
was ich ja schon für sehr unwahrscheinlich halte.

Wenn die Zuleitungsinduktivitäten normal berücksichtigt werden:
> Lg     gate  g1    5n
> Ld     drain d1    3n
> Ls     source s1   5n
wird I_rrm "nur noch" zu 100A simuliert...

Wenn ich die Induktivitäten zu fast 0 verkleinere, erhalte ich die 
gleichen Ergebnisse, wie oben mit V-Quellen.



Also falls da noch jemand Ideen hat. Ich lasse mich gerne belehren.

von trafo (Gast)



Lesenswert?

Ich habe die Option abstol auf 100p gesetzt. Das ändert aber nix, außer 
das LTSpice sich nicht abmühen muß, die Konvergenz ins Extrem zu 
treiben.
Auch habe ich, was meiner Meinung nach das Verständnis fördert, die 
Ansteuerung durch eine Stromquelle ersetzt - 5A bei 3Ohm -> statisch 
15V.

Der Vergleich der internen V(m2:g2,m2:s2) zur externen V(l) 
Gate-Sourcespannung zeigt dann auch das Grundproblem deutlicher:
a) das Gate kann nicht schnell genug umgeladen werden um die durch
   die Millerkapazität verursachte Rückwirkung zu kompensieren und
b) die Reversdiode ist nicht schnell genug,
um ein gleichzeitiges Leiten beider Transistoren auszuschließen.

Nun kann man natürlich darüber diskutieren, ob das Modell die einzelnen 
Parameter richtig wiedergibt.
Meiner Meinung nach ist es jedoch recht realistisch ausgelegt. z.B 
erfolgt der Stromanstieg von 0->120A bei negativer Ugs innerhalb von 
~80ns, was deutlich unter der im DB angegebenen trr=950ns liegt.
Was spricht also dagegen, die Low-Side durch eine schnelle Diode zu 
ersetzen und auf die, in diesem Fall, eher kontraproduktive Ansteuerung 
zu verzichten?

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.