3rd Party Modelle für LTSpice

  • Thread starter ralf_bartling@yahoo.de
  • Start date
R

ralf_bartling@yahoo.de

Guest
Hallo,
ich nutze seit kurzem mit wachsender Begeisterung und Faszination das
freie Schaltungssimulationsprogramm LTSpice von Linear Technology. Ich
stehe nun vor dem Problem, dass Modell einer Suppressordiode (genaue
Bezeichung: P6KE200A) in meine Schaltung einzubinden. Dazu habe ich im
Internet ein Modell im Format "SPICE3" gefunden (siehe Text).


..SUBCKT p6ke200a 7 1
**************************************
* Model Generated by MODPEX *
*Copyright(c) Symmetry Design Systems*
* All Rights Reserved *
* UNPUBLISHED LICENSED SOFTWARE *
* Contains Proprietary Information *
* Which is The Property of *
* SYMMETRY OR ITS LICENSORS *
*Commercial Use or Resale Restricted *
* by Symmetry License Agreement *
**************************************
* Model generated on Dec 17, 01
* MODEL FORMAT: SPICE3
* anode cathode
*node: 7 1
* Forward Section
D1 2 1 MDD1 TEMP=25
..MODEL MDD1 D IS=1.17809e-12 N=1 XTI=1 RS=0.5
+ CJO=1e-11 TT=1e-08
* Leakage Current
R 1 2 1.71e+11 MDR
..MODEL MDR R TC1=0 TC2=0
* Breakdown
RZ 2 3 33.5912
D3 4 3 MDD3 TEMP=25
..MODEL MDD3 D IS=2.5e-15 N=0.5
EV1 1 4 6 8 1
IBV 0 6 0.001
RBV 6 0 200000 MDRBV
..MODEL MDRBV R TC1=0.00108
D4 8 0 MDD3 TEMP=25
L 7 2 1e-15
IT 0 8 0.001
..ENDS p6ke200a


Um dieses Modell zu verwenden, habe ich ein eigenes Schaltsymbol
definiert mit dem Prefix "X". Als "Value" konnte ich dann den Namen des
Bauteils angeben.
Dabei hat die Kathode der Diode die Netlist Order 1 und die Anode die
Netlist Order 2. Nach dem Start der Simulation bekam ich die
Fehlermeldung "Too many Parameters". Darauf habe ich in der ersten
Zeile des Modells die Zahlen 7 1 durch 1 2 ersetzt. Die Simulation lief
dann durch und brachte auch plausible Ergebnisse. Allerdings werden nun
am Ende der Simulation eine Reihe von Fehlermeldungen ausgegeben. Unten
ist ein Auszug der Meldungen dargestellt.


Error on line 1238 : r:u2: n003Ť:1ť n004Ť:2ť 1.71e+11 u2:mdr
Unknown parameter "u2:mdr"
Error on line 1245 : r:u2:bv u2:6 0Ť:0ť 200000 u2:mdrbv
Unknown parameter "u2:mdrbv"
Error on line 1238 : r:u3: n004Ť:1ť n005Ť:2ť 1.71e+11 u3:mdr
Unknown parameter "u3:mdr"
Error on line 1245 : r:u3:bv u3:6 0Ť:0ť 200000 u3:mdrbv
Unknown parameter "u3:mdrbv"
Error on line 1238 : r:u4: n005Ť:1ť n006Ť:2ť 1.71e+11 u4:mdr
Unknown parameter "u4:mdr"
Error on line 1245 : r:u4:bv u4:6 0Ť:0ť 200000 u4:mdrbv
Unknown parameter "u4:mdrbv"
Error on line 1238 : r:u5: n006Ť:1ť 0Ť:2ť 1.71e+11 u5:mdr
Unknown parameter "u5:mdr"
Error on line 1245 : r:u5:bv u5:6 0Ť:0ť 200000 u5:mdrbv
Unknown parameter "u5:mdrbv"
WARNING: Less than two connections to node U2:7. This node is used by
L:U2:.
WARNING: Less than two connections to node U3:7. This node is used by
L:U3:.
WARNING: Less than two connections to node U4:7. This node is used by
L:U4:.
WARNING: Less than two connections to node U5:7. This node is used by
L:U5:.
Direct Newton iteration failed to find .op point. (Use ".option
noopiter" to skip.)

Ich bin mir nun nicht sicher, ob ich den Ergebnissen trauen kann.

Mir ist im Augenblick die Vorgehensweise zum Einbinden neuer Bauteile
nicht klar. Nach meinem Verständis müsste es doch eine Zuordnung der
Pins vom Schalplansymbol hin zum Modell geben. Ich weiß aber leider
nicht, wie diese Zuordnung hergestellt werden kann.

Kennt sich jemand bei dieser Fragestellung aus ?

Welche Formate können generell von LTSpice verarbeitet werden ?



Vielen Dank

R. Bartling
 
----- Original Message -----
From: <ralf_bartling@yahoo.de>
Newsgroups: de.sci.electronics
Sent: Tuesday, November 15, 2005 2:02 PM
Subject: 3rd Party Modelle für LTSpice


Hallo,
ich nutze seit kurzem mit wachsender Begeisterung und Faszination das
freie Schaltungssimulationsprogramm LTSpice von Linear Technology. Ich
stehe nun vor dem Problem, dass Modell einer Suppressordiode (genaue
Bezeichung: P6KE200A) in meine Schaltung einzubinden. Dazu habe ich im
Internet ein Modell im Format "SPICE3" gefunden (siehe Text).

..SUBCKT p6ke200a 7 1
**************************************
* Model Generated by MODPEX *
*Copyright(c) Symmetry Design Systems*
* All Rights Reserved *
* UNPUBLISHED LICENSED SOFTWARE *
* Contains Proprietary Information *
* Which is The Property of *
* SYMMETRY OR ITS LICENSORS *
*Commercial Use or Resale Restricted *
* by Symmetry License Agreement *
**************************************
* Model generated on Dec 17, 01
* MODEL FORMAT: SPICE3
* anode cathode
*node: 7 1
* Forward Section
D1 2 1 MDD1 TEMP=25
..MODEL MDD1 D IS=1.17809e-12 N=1 XTI=1 RS=0.5
+ CJO=1e-11 TT=1e-08
* Leakage Current
R 1 2 1.71e+11 MDR
..MODEL MDR R TC1=0 TC2=0
* Breakdown
RZ 2 3 33.5912
D3 4 3 MDD3 TEMP=25
..MODEL MDD3 D IS=2.5e-15 N=0.5
EV1 1 4 6 8 1
IBV 0 6 0.001
RBV 6 0 200000 MDRBV
..MODEL MDRBV R TC1=0.00108
D4 8 0 MDD3 TEMP=25
L 7 2 1e-15
IT 0 8 0.001
..ENDS p6ke200a

Um dieses Modell zu verwenden, habe ich ein eigenes Schaltsymbol
definiert mit dem Prefix "X". Als "Value" konnte ich dann den Namen des
Bauteils angeben.
Dabei hat die Kathode der Diode die Netlist Order 1 und die Anode die
Netlist Order 2. Nach dem Start der Simulation bekam ich die
Fehlermeldung "Too many Parameters". Darauf habe ich in der ersten
Zeile des Modells die Zahlen 7 1 durch 1 2 ersetzt. Die Simulation lief
dann durch und brachte auch plausible Ergebnisse. Allerdings werden nun
am Ende der Simulation eine Reihe von Fehlermeldungen ausgegeben. Unten
ist ein Auszug der Meldungen dargestellt.


Hallo Ralf,

Hier gibt es hier zwei Probleme.

1. Netlist Order
----------------

* anode cathode
*node: 7 1
*
..SUBCKT p6ke200a 7 1

Der erste Paramter ist die Anode. Also muß die Anode
Netlist order 1 bekommen.
Die Kathode bekommt Netlist order 2. Ist ja das zweite Netz
in der .subckt Zeile.

Man kann übrigens auch das normal Diodensymbol oder Z-Dioden
Symbol verwenden. Da muß man im platzierten Symbol den Prefix
auf X ändern.
Ctrl+RightMouseClick auf das platzierte Teil.
Prefix:D zu Prefix:X ändern. Fertig
Jetzt ist dieses Teil ein Subcircuit und benötigt eine
..subckt Definition. Zuvor hat es übrigens eine .model
Definition benötigt.

2. SPICE3 <-> PSPICE
Die Reihenfolge der Parameter ist bei Widerständen
unterschiedlich wenn man PSPICE kompatibel sein will.
LTspice ist hier PSPICE kompatibel.

R 1 2 1.71e+11 MDR
->
R 1 2 MDR 1.71e+11

RBV 6 0 200000 MDRBV
->
RBV 6 0 MDRBV 200000

...

Mir ist im Augenblick die Vorgehensweise zum Einbinden neuer Bauteile
nicht klar. Nach meinem Verständis müsste es doch eine Zuordnung der
Pins vom Schalplansymbol hin zum Modell geben. Ich weiß aber leider
nicht, wie diese Zuordnung hergestellt werden kann.

Siehe oben.

Kennt sich jemand bei dieser Fragestellung aus ?
Ja


Welche Formate können generell von LTSpice verarbeitet werden ?
Besonders kompaibel zu PSPICE. SPICE3 geht auch, aber es
gibt eben kleine Unterschiede.

Vielen Dank
R. Bartling
Schau mal in deine email. Da ist ein fertiges Beispiel von mir.

Gruß
Helmut

Es gibt eine internationale(englisch please) User group.
http://groups.yahoo.com/group/LTspice
 
Hallo Helmut,
ich möchte mich zunächst sehr für die schnelle Unterstützung
bedanken. Versuchsschaltungen mit dieser Diode laufen jetzt ohne
Problem durch.
Es sind haben sich meinerseits nun doch noch zwei Fragen ergeben.

1. Bezieht sich die Angabe "7 1" in der ersten Zeile des Modells
".SUBCKT p6ke200a 7 1" gar nicht auf die Netlist Order ? Bislang bin
ich davon ausgegangen, dass sich diese beiden Zahlen in dem Symbol des
Bauteils wiederfinden müssen.

2. Ich habe die Diode in einer weiteren Simulationsschaltung
eingesetzt. Diese Schaltung beinhaltet neben der Diode auch einen
Varistor, dessen Modell ich von der Homepage des Herstellers (Fa.
EPCOS) heruntergeladen habe. In Verbindung mit der P6KE200A kommt nun
zu einer Fehlermeldung "Timestep too small", seltsamerweise aber nicht
an der P6KE200A, sondern am Varistor. Mit einer anderen Suppressordiode
(SMBJ188A von Vishay, dass Modell war LTSpice kompatibel) läuft die
Simulation durch. Ich glaube, dass meine Simulationsschaltung ein
grundsätzliches Problem aufweist, welches mit der SMBJ188A nur nicht
zu Tage tritt.

Falls es deine Zeit erlaubt, könntest du einmal über die Schaltung
schauen. (mit der Schaltung möchte ich das Verhalten eines
Frequenzumrichterzwischenkreises im Abschaltaugenblick aus einer
Kurzschlusssituation simulieren).
Ich habe die entsprechenden Dateien per Email versendet.

Nochmals vielen Dank

Ralf
 
"Ralf Bartling" <ralf_bartling@yahoo.de> schrieb im Newsbeitrag
news:1132138906.262062.168700@g49g2000cwa.googlegroups.com...
Hallo Helmut,
ich möchte mich zunächst sehr für die schnelle Unterstützung
bedanken. Versuchsschaltungen mit dieser Diode laufen jetzt ohne
Problem durch.
Es sind haben sich meinerseits nun doch noch zwei Fragen ergeben.

1. Bezieht sich die Angabe "7 1" in der ersten Zeile des Modells
".SUBCKT p6ke200a 7 1" gar nicht auf die Netlist Order ? Bislang bin
ich davon ausgegangen, dass sich diese beiden Zahlen in dem Symbol des
Bauteils wiederfinden müssen.
Hallo Ralf,

Ob da 1, 7 , an, katho oder sonstwas steht ist unwichtig für das Symbol.
Der pin im Symbol mit "netlist order" = 1 ist mit dem ersten
Netznamen "netz1" in der .subckt Zeile verbunden.
Der pin im Symbol mit "netlist order" = 2 ist mit dem zwiten
Netznamen "netz2" in der .subckt Zeile verbunden.
Netznamen können Zifferen, Buchstaben und einige Sonderzeichen
enthalten.

..subckt p6ke200a netz1 netz2

2. Ich habe die Diode in einer weiteren Simulationsschaltung
eingesetzt. Diese Schaltung beinhaltet neben der Diode auch einen
Varistor, dessen Modell ich von der Homepage des Herstellers (Fa.
EPCOS) heruntergeladen habe. In Verbindung mit der P6KE200A kommt nun
zu einer Fehlermeldung "Timestep too small", seltsamerweise aber nicht
an der P6KE200A, sondern am Varistor. Mit einer anderen Suppressordiode
(SMBJ188A von Vishay, dass Modell war LTSpice kompatibel) läuft die
Simulation durch. Ich glaube, dass meine Simulationsschaltung ein
grundsätzliches Problem aufweist, welches mit der SMBJ188A nur nicht
zu Tage tritt.

Vier Probleme in deiner Schaltung:

1.
Warum hast du den Punkt "." vor SUBCKT gelöscht.
So muß es sein:
..SUBCKT LS40K550QP 1 2 PARAMS: TOL=0


* Typenmodell für LS40K550QP :
* ----------------------------
SUBCKT LS40K550QP 1 2 PARAMS: TOL=0
X1 1 2 SIOV PARAMS: T={1+TOL/100} C=1400pF L=14.0nH B1=3.0332455
B2=0.0239408 B3=-0.0001258 B4=0.0035698
..ENDS
*



2. Die Schaltung hat Konvergenzprobleme. Sowas gibt es
in SPICE immer wieder.

Ich habe gleich mal zur stärksten "Medizin" gegriffen.
Das ist der "Alternate Solver".
Achtung, sowas kann auch mal deneben gehen.

Control Panel -> SPICE ->
Solver: Alternate
Integration method: Gear

Die letze Option war nicht unbedingt notwendig, aber
die Simulation war dann deutschlich schneller fertig.


Falls es deine Zeit erlaubt, könntest du einmal über die Schaltung
schauen. (mit der Schaltung möchte ich das Verhalten eines
Frequenzumrichterzwischenkreises im Abschaltaugenblick aus einer
Kurzschlusssituation simulieren).
Ich habe die entsprechenden Dateien per Email versendet.
Nochmals vielen Dank
Ralf

3.
Gaaanz wichtig!
Bitte nie Default-Netznamen referenzieren. Wenn man die
Schaltung weiter editiert, dann sind die u.U. an einem
anderen Netz.

..ic V(N002)=560

Richtig wäre es diesem Netz einen Namen zu geben, z.B. vc1.

..ic V(vc1)=560


4.
Reale Bauteilmodelle verwenden.

Eine 20mH Spule hat mindestens 10pF Parallelkapazität.
Mach die mal dazu und vergleiche die Spannung an L1.
Rechte Maustaste auf Spule, dann
Parallel Capacitance: 10p


Meine neuen Files sind unterwegs.

Gruß
Helmut
 
Hallo Helmut,
vielen Dank für deine Mühe. Die Simulation läuft mit dem neuen
Solver nun einwandfrei.

Gibt es eine Art Faustregel, ab der ein Einsatz des "Alternate" Solvers
zu empfehlen ist ?

Kann es auch den Fall geben, dass verschiedene Solver in der gleichen
Simulation unterschiedliche Ergebnisse liefern ?

Bezüglich des Punktes vor der SUBCKT Anweisung habe ich keine
Änderungen an der Datei vorgenommen. Ich habe sowohl die Originaldatei
von EPCOS als auch meine Arbeitsversion auf der Festplatte geprüft. In
beiden Fällen war der noch Punkt vorhanden. Insofern habe ich keine
Erklärung für den fehlenden Punkt.

Gruß

Ralf
 
"Ralf Bartling" <ralf_bartling@yahoo.de> schrieb im Newsbeitrag
news:1132237536.602066.248020@g47g2000cwa.googlegroups.com...
Hallo Helmut,
vielen Dank für deine Mühe. Die Simulation läuft mit dem neuen
Solver nun einwandfrei.
Hallo Ralf,
dann hat sich ja wenigstens meine Mühe gelohnt.

Gibt es eine Art Faustregel, ab der ein Einsatz des "Alternate" Solvers
zu empfehlen ist ?
Ich probiere es damit wenn ein paar andere Dinge wie Gmin ,
max. Timestep, reltol usw nicht helfen.
Man kann natürlich auch prinzipiell sofort zum Alternate-
solver greifen wenn es der Normale nicht schafft.
Der Alternate-solver hat einfach eine höhere numerische
Auflösung und kann damit viele Iterationen weiter
machen bevor die Auflösung nicht mehr ausreicht.

Kann es auch den Fall geben, dass verschiedene Solver in der gleichen
Simulation unterschiedliche Ergebnisse liefern ?
Man muß zwei Fälle unterscheiden.

1. Die Schaltung besitzt mehr als einen stabilen Arbeitspunkt.
Dann ist es einfach Zufall in welchem Arbeitspunkt man "landet".

2. Es gibt nur ein Lösung
Bei der Lösung von nichtlinearen Gleichungen werden
wahrscheinlich beide Solver nicht immer genau mit den gleichen
Zahlen das Abbruchkriterium für die Iteration errreichen.
Deshalb vermute ich daß kleine Unterschiede im ppm-Bereich
möglich sind. Wirklich untersucht habe ich das aber nicht.


Bezüglich des Punktes vor der SUBCKT Anweisung habe ich keine
Änderungen an der Datei vorgenommen. Ich habe sowohl die Originaldatei
von EPCOS als auch meine Arbeitsversion auf der Festplatte geprüft. In
beiden Fällen war der noch Punkt vorhanden. Insofern habe ich keine
Erklärung für den fehlenden Punkt.
Gruß
Ralf
Hauptsache es läuft jetzt.

Gruß
Helmut
 

Welcome to EDABoard.com

Sponsor

Back
Top