mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Infineon Pspice Modelle funktionieren nicht?!


Autor: Emil (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits,

ich habe eben versuch die SiC Schottkey Modelle in meine Simulation zu 
integrieren und bekomme als Resultat verschiedenste Fehlermeldungen:

ERROR -- Argument list does not agree with previous instance
ERROR -- Missing or invalid expression
WARNING -- Too many arguments to function X_U4.XPND2.Td+ T,X),-1e6,1e6)}

Ich vermute mal es liegt an mir und nicht an Infineon, zur Sicherheit 
wäre schön wenn jemand es mal gegenprüft...

Die Modelle befinden sich im Anhang.

Danke

Autor: Emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: bei mir geht es um die 12S60 Modelle

Autor: Leonardo W. (krangel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit

unter LTspice laufen die Modelle ohne Fehlermeldung, allerdings extrem 
langsam.

Grüße Leo

Autor: Leonardo W. (krangel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mahlzeit,

unter LTspice laufen die Modelle ohne Fehlermeldung, aber extrem 
langsam.

Grüße Leo

Autor: Kai Klaas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>WARNING -- Too many arguments to function X_U4.XPND2.Td+ T,X),-1e6,1e6)}

Wie bei Mozart: "Zuviele Noten! Nehme er hier und da ein paar weg..."

Kai Klaas

Autor: Emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke schonmal für die Antworten... Kann ja wohl nicht sein, dass die 
Modelle bei der "Konkurrenz" laufen und unter Pspice nicht!

Vielleicht ist ja irgendjemand da der auch zugang zu Orcad hat? 
Studenten vielleicht? Ich benutze Version 16.3.

Das Modell umzuschreiben hat für mich wenig Sinn, da so Parameter 
verloren gehen würden :/

Autor: Leonardo W. (krangel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

 oder zu wenig, vielleicht ein Symbol mit nur 2 Pins verwendet. Die 
Infineon Modelle benötigen 4 Pins, Anode, Kathode, Gehäuse und 
Junctiontemperatur.

Grüße Leo

Autor: Guido C. (guidoanalog)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

unter PSpice (Orcad Family Release 9.2) funktioniert das Modell für die 
Diode vom Typ IDD12SG60C_L3 auch. Allerdings musste ich etwas 
nachhelfen. In der Datei "ThinQ3G.lib" war in dem Subcircuit 
"SCS_SCHOTTKY_3G_L3" die Zeile mit der Definition von "GSCHOTTKY" zu 
lang. In meiner Version darf die Zeilenlänge maximal 132 Zeichen 
betragen. Seitdem ich die zwei unnötigen Leerzeichen am Ende der Zeile 
gelöscht habe funktioniert das Modell.

Bitte beachten:
Ich habe die Simulation ohne Rücksicht auf die technischen Daten der 
Diode durchgeführt.

Mit freundlichen Grüßen
Guido

Autor: Emil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem mit den 132 Zeichen hatte ich auch, habs dann aber ebenfalls 
geändert.

Die Pins für Junction und Case habe ich genauso wie Guido gebrückt.

Ich vermute mal die Modelle wurden noch nicht für die neue Version 
optimiert und funktionieren deshalb nicht.

Die Simulation läuft jedenfalls mit anderen Modellen einwandfrei.

Vielleicht hilft ja noch die Netlist?
 
**** 06/17/10 09:05:52 ******* PSpice 16.3.0 (June 2009) ****** ID# 0 ********

 ** Profile: "SCHEMATIC1-BrueckenSim"


 ****     CIRCUIT DESCRIPTION


******************************************************************************




** Creating circuit file "try.cir" 
** WARNING: THIS AUTOMATICALLY GENERATED FILE MAY BE OVERWRITTEN BY SUBSEQUENT SIMULATIONS

*Libraries: 
* Profile Libraries :
* Local Libraries :
habs mal entfernt

*Analysis directives: 
.TRAN  0 100us 0 0.5us SKIPBP 
.OPTIONS RELTOL= 0.01
.PROBE V(alias(*)) I(alias(*)) W(alias(*)) D(alias(*)) NOISE(alias(*)) 
.INC "..\SCHEMATIC1.net" 



**** INCLUDING SCHEMATIC1.net ****
* source FINAL
.EXTERNAL INPUT Vpulse
.EXTERNAL INPUT 1quad
.EXTERNAL INPUT 4quad
.EXTERNAL OUTPUT 3quad
.EXTERNAL OUTPUT 2quad
R_R6         N38788 N38120  10 TC=0,0 
C_C6         N38124 N38920  1000pF  TC=0,0 
R_R2         N38638 N38682  4.7 TC=0,0 
V_V2         N38556 N38124  
+PULSE -5V 12V 0 {TR} {TF} {((1/6)*(1/fPWM))-(2*TZ)} {1/fPWM}
R_R1         N38556 N38920  4.7 TC=0,0 
V_V3         N38130 0 250V
C_C7         N38124 N38822  1n  TC=0,0 
V_V1         N38638 0  
+PULSE -5V 12V {(1/6)*(1/fPWM)} {TR} {TF} {((5/6)*(1/fPWM))-(2*TZ)} {1/fPWM}
C_C1         N38130 0  300u  
L_Spule1         N38604 N38124  5uH  
R_R7         N38822 N38130  10 TC=0,0 
M_FET2         N38120 N38682 0 0 IRFP360
C_C4         0 N38788  1n  TC=0,0 
C_C2         0 N38682  1000pf  TC=0,0 
L_Spule2         N38120 N38604  5uH  
M_FET3         N43268 N43882 N43086 N43086 IRFP360
R_R9         N43420 N43644  4.7 TC=0,0 
L_Spule3         N43566 N43086  5uH  
C_C11         N43216 N43750  1n  TC=0,0 
M_FET4         N43082 N43644 N43216 N43216 IRFP360
R_R3         N44624 N43882  4.7 TC=0,0 
C_C14         N43086 N43882  1000pF  TC=0,0 
C_C12         N43086 N43784  1n  TC=0,0 
C_C9         N43216 N43644  1000pf  TC=0,0 
R_R13         N43784 N43268  10 TC=0,0 
V_V4         N43420 N43216  
+PULSE -5V 12V {(3/6)*(1/fPWM)} {TR} {TF} {(1/6)*(1/fPWM)-(2*TZ)} {1/fPWM}
R_R12         N43750 N43082  10 TC=0,0 
L_Spule4         N43082 N43566  5uH  
L_FilterSpule1         N38604 N47563  6.5uH  
L_FilterSpule2         N47559 N43566  6.5uH  
C_C15         N47563 N47559  20.4u  TC=0,0 
R_R14         N47563 N47559  2 TC=0,0 
Z_FET11         N38130 N38920 N38124 APT40GF100BN
V_V5         N44624 N43086  
+PULSE -5V 17V {(4/6)*(1/fPWM)} {TR} {TF} {(5/6)*(1/fPWM)-(2*TZ)} {1/fPWM}
R_R15         N38130 N43268  0.001 TC=0,0 
R_R16         0 N43216  0.00001 TC=0,0 
L_Spule8         N102110 N101904  5uH  
M_FET7         N102100 N102164 0 0 IRFP360
V_V19         N115272 0  
+SIN 0 {Ampl} {sinfreq} 0 0 0
C_C3         N101942 0  300u  
C_C8         N101904 N103382  1n  TC=0,0 
X_Freilauf7         N102200 N102168 SDT12S60_L2 PARAMS: TJ=60
L_FilterSpule3         N102110 N102750  6.5uH  
C_C17         N102172 N102552  1n  TC=0,0 
C_C13         N102192 N102470  1000pf  TC=0,0 
X_Freilauf6         0 N101904 SDT12S60_L2 PARAMS: TJ=60
C_C10         N101904 N102024  1000pF  TC=0,0 
E_ABM18         N115444 0 VALUE { -V(N115272)    }
E_ABM20         4QUAD 0 VALUE { {IF(V(N115272)<V(VPULSE),vout,0)}    }
M_FET5         N102168 N102614 N102172 N102172 IRFP360
L_Spule7         N102100 N102110  5uH  
C_C18         N102172 N102614  1000pF  TC=0,0 
R_R20         N102552 N102168  10 TC=0,0 
I_I2         N102750 N102774 DC 65Adc  
C_C16         N102192 N102518  1n  TC=0,0 
C_C19         N102750 N102754  20.4u  TC=0,0 
R_R5         1QUAD N102024  4.7 TC=0,0 
V_V18         VPULSE 0  
+PULSE {-Ampl} {Ampl} 0 {0.5/freq} {0.5/freq} 0 {1/freq}
M_FET6         N102200 N102470 N102192 N102192 IRFP360
X_Freilauf5         N102100 N101942 SDT12S60_L2 PARAMS: TJ=60
M_FET8         N101942 N102024 N101904 N101904 IRFP360
C_C5         0 N102164  1000pf  TC=0,0 
R_R21         N102774 N102754  2 TC=0,0 
E_ABM19         1QUAD 0 VALUE { {IF(V(N115444)>V(VPULSE),vout,0)}    }
L_FilterSpule4         N102754 N102424  6.5uH  
L_Spule6         N102424 N102172  5uH  
L_Spule5         N102200 N102424  5uH  
R_R19         N102518 N102200  10 TC=0,0 
V_V10         N101942 0 250V
E_ABM22         3QUAD 0 VALUE { {IF(V(N115272)>V(VPULSE),vout,0)}    }
R_R4         3QUAD N102614  4.7 TC=0,0 
C_C20         0 N103352  1n  TC=0,0 
R_R18         0 N102192  0.00001 TC=0,0 
R_R17         N101942 N102168  0.001 TC=0,0 
E_ABM21         2QUAD 0 VALUE { {IF(V(N115444)<V(VPULSE),vout,0)}    }
R_R22         N103382 N101942  10 TC=0,0 
R_R11         N103352 N102100  10 TC=0,0 
X_Freilauf8         N102192 N102172 SDT12S60_L2 PARAMS: TJ=60
R_R8         2QUAD N102164  4.7 TC=0,0 
R_R10         4QUAD N102470  4.7 TC=0,0 
X_U1         N43082 N43268 N123275 N123275 IDD12SG60C_L3 PARAMS: T0=25
+  ratio=0.54
X_U2         N43216 N43086 N123279 N123279 IDD12SG60C_L3 PARAMS: T0=25
+  ratio=0.54
X_U3         0 N38124 N123267 N123267 IDD12SG60C_L3 PARAMS: T0=25 ratio=0.54
X_U4         N38120 N38130 N123271 N123271 IDD12SG60C_L3 PARAMS: T0=25
+  ratio=0.54
.PARAM  fpwm=60000 td={0.5*(1/fpwm)} tf=1ns tz={totzeit/2} sinfreq=1k freq=60k
+  ampl=5 totzeit=100n vout=10v vthreshold=10v tr=1ns

**** RESUMING try.cir ****
.END
+ WX1/Lspec)))}
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
+ }
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
+ - WX1**2)*arctan(WX1/Lspec)}
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
+ +WX1**2))}
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}
----------------------$
ERROR -- Argument list does not agree with previous instance
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,

WARNING -- Too many arguments to function X_U1.XPND.Td+ 1e6) }
--------$
ERROR -- Missing or invalid expression
+ WX1/Lspec)))}
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
+ }
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
+ - WX1**2)*arctan(WX1/Lspec)}
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
+ +WX1**2))}
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}
----------------------$
ERROR -- Argument list does not agree with previous instance
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,

WARNING -- Too many arguments to function X_U2.XPND.Td+ 1e6) }
--------$
ERROR -- Missing or invalid expression
+ WX1/Lspec)))}
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
+ }
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
+ - WX1**2)*arctan(WX1/Lspec)}
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
+ +WX1**2))}
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}
----------------------$
ERROR -- Argument list does not agree with previous instance
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,

WARNING -- Too many arguments to function X_U3.XPND.Td+ 1e6) }
--------$
ERROR -- Missing or invalid expression
+ WX1/Lspec)))}
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
+ }
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
+ - WX1**2)*arctan(WX1/Lspec)}
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
+ +WX1**2))}
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}
----------------------$
ERROR -- Argument list does not agree with previous instance
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,

WARNING -- Too many arguments to function X_U4.XPND.Td+ 1e6) }
--------$
ERROR -- Missing or invalid expression
 

Autor: Guido C. (guidoanalog)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Dein erster Fehler tritt in der folgenden Zeile auf.

.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}

PSpice (meine Version) schreibt die Fehlermeldung immer nach der 
betreffenden Zeile. Wie ich es sehe gibt es Probleme beim Aufruf von 
"LIMIT". Kann es sein, dass Dein Interpreter mit der 
<space><tab>-Kombination vor "LIMIT" nicht klar kommt (s. Anhang).
In einem ersten Schritt würde ich in der betreffenden Zeile alle 
Zwischenräume durch Leerzeichen ersetzen. Bringt dies nichts würde ich 
im nächsten Schritt die LIMIT-Anweisung vereinfachen z.B. 
...{LIMIT(a2(T),1p,1e6)}. Dies macht "simulationstechnisch" zwar keinen 
Sinn aber Du kannst den Fehler damit einkreisen.
Unter Umständen ist es für Deinen Interpreter ausreichend, wenn Du an 
einer definierten Stelle einen Zeilenumbruch einfügst ("+" nicht 
vergessen).

Mit freundlichen Grüßen
Guido

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.