Forum: Analoge Elektronik und Schaltungstechnik Problem mit eingefügtem Optokoppler LT Spice Modell


von Andi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe heute schon versucht das Spice Modell des Optokopplers 
PS2801C-1 ins LT Spice einzubinden.

Dazu habe ich zuerst das Modell von dieser Herstellerseite geladen:

http://www.cel.com/parts.do?command=load&idRootPart=959#spicem

Anschließend habe ich das Modell in eine neue SUB-Datei namens PS2801C-1 
kopiert. Als Symbol habe ich das Symbol vom PC817A kopiert und nur den 
Namen bzw. bei den Anschlüssen noch die Pin-Nummern angepasst. Die 
SUB-Datei und das Symbol habe ich in die entsprechenden Ordner im 
Installationsordner LTC kopiert.

Das ganze Bauteil wird nun im LT Spice erkannt, ich kann es auch ohne 
Fehlermeldung in Schaltungen verwenden. Nur ist es so, dass das ganze 
Bauteil noch nicht richtig. Habe mal eine kleine Testschaltung simuliert 
und mit den Daten im Datenblatt verglichen. Die Diodenseite funktioniert 
wie im Datenblatt, aber auf der Transistorseite wird bisher nicht 
richtig durchgeschaltet. Bei einem Diodenstrom von ca. 5mA beträgt der 
Kollektorstrom erst ca. 10µA. Laut Datenblatt sollte er bei etwa 12.5mA 
liegen.

Im Anhang habe ich jetzt mal die Modell-Datei, das Symbol und die 
Testschaltung angehängt.

Wäre nett, wenn jemand sich das mal anschauen könnte und mir sagen 
könnte, was ich falsch gemacht habe.

Gruß

von Andi (Gast)


Lesenswert?

Update: Wenn ich in meinem Symbol in der Netlist-Order die beiden 
Ziffern von Kollektor und Emitter vertausche, sie also genau umgekehrt 
wie im Modell belege, dann schaltet mein Transistor durch und es fließt 
auch ein Kollektorstrom. Ist das nun ein Fehler im Modell?

Was ich auch noch etwas eigenartig finde ist, dass der Vorwärtsstrom 
durch die Diode in der Simulation um Faktor 5 größer ist, als der Strom 
welcher im Datenblatt bei dieser Spannung angegeben ist.

Gruß

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

1. Filenamen von Modellen braucht man nicht ändern. Auch abc.xyz ist ein 
möglicher Name.

2. Die Netlist order der Pins muss mit der Reihenfolge in der 
.subckt-Zeile übereinstimmen.

3. Ich habe dein Symbol gerichtet und den Original-Filenamen des 
Herstellers belassen. Außerdem habe ich die Testschaltung erweitert.

Es läuft. Danke dass du gefragt hast. Ich helfe gerne.

Gruß
Helmut

von Andi (Gast)


Lesenswert?

Hallo Helmut erst mal vielen Dank für deine Hilfe. Jetzt funktioniert 
der Baustein wirklich richtig.

Helmut S. schrieb:
> Ich habe dein Symbol gerichtet

Kannst du das ein bischen genauer erläutern. Als einzigen Unterschied 
kann ich nämlich bisher nur nen geänderten Bauteilnamen erkennen.

Du hast doch sicher noch etwas anderes geändert, oder?

Gruß

Helmut S. schrieb:
> Die Netlist order der Pins muss mit der Reihenfolge in der
> .subckt-Zeile übereinstimmen.

Das hat doch bereits gestimmt, oder nicht?

Gruß

von Helmut S. (helmuts)


Lesenswert?

Ich habe an deinem Symbol die Attribute neu gesetzt und das Überflüssige 
Igain entfernt. Außerdem habe ich den .lib file vom Hersteller 
heruntergeladen und den dann verwendet. Vielleicht hast du ja an deinem 
".sub"-File herumgeschraubt.
Wenn man ein Symbol ändert, dann muss man es neu in den Schaltplan 
setzen, also Altes raus, Neues rein.

Ja die netlist order hat bereits gestimmt.

von Andi (Gast)


Lesenswert?

Also irgendwas anderes musst du noch geändert haben. Ich schaff es 
nämlich nicht nur durch das Abändern des Bauteilnamens bzw. Bauteilfiles 
mein Symbol/Modell zum Laufen zu bringen.

Wenn ich dagegen dein geschicktes Modell und Symbol bei mir ins 
Verzeichnis kopiere funktioniert alles problemlos.

Darum wärs nett, wenn du mir sagen könntest, was sonst noch falsch 
definiert war, damit ich in Zukunft auch ohne fremde Hilfe Modelle in LT 
Spice einbinden kann.

Gruß

von Helmut S. (helmuts)


Lesenswert?

1.
SpiceModel: PC817.sub   den File gibt es doch gar nicht. Trag den 
richtigen Filenamen ein.

2.
Value: PS2801C-1
Value2: PC817

Trag in beiden den Namen ein der in .subckt steht.

3.
"Igain=1" hat bei dem Modell nichts verloren.

4. Save drücken

Ich denke das waren die Änderungen im Symbol.

Jetzt muss das Symbol im Schaltplan gelöscht werden und neu eingesetzt 
werden. Noch sicherer ist löschen des Bauteils, save, Schaltplan 
schließen und dann wieder öffnen. Außerdem solltest du keine eigenen 
.asy oder Modell- Files(.lib,.sub) im LTspice-Verzeichnis herumliegen 
lassen. Ich kopiere da nie etwas in dieses Verzeichnis.

von Andi (Gast)


Lesenswert?

Helmut S. schrieb:
> 1.
> SpiceModel: PC817.sub   den File gibt es doch gar nicht. Trag den
> richtigen Filenamen ein.
>
> 2.
> Value: PS2801C-1
> Value2: PC817
>
> Trag in beiden den Namen ein der in .subckt steht.
>
> 3.
> "Igain=1" hat bei dem Modell nichts verloren.

Obwohl ich jetzt 10 Minuten in meinem Modell bzw. Symbol nach diesen 
Dingen gesucht habe, konnte ich kein einziges finden.

Darum wärs nett, wenn du mir ein wenig ausführlicher sagen könntest wo 
die fehlerhaften Sachen zu finden sind.

Wo habe ich zum Beispiel PC817.sub eingetragen?
Oder wo steht das Value: PS2801C-1 Value2: PC817?
Auch das Igain=1 kann ich nirgends finden.

Gruß

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Schau dir mal deine Datei an die du als erstes angehängt hast. Da stehen 
diese "komischen" Werte(Texte) drin.

PS2801C-1.asy


Es gibt drei Arten von Subcircuit-Symbolen plus eine Untervariante.

Spezifisches Symbol: LT1013

Universelles Symbol: opamp2
Eine Unterart des universellen Symbols hat zusätzlich den Filenamen des 
subcircuits im Attribute "Modelfile".

Drop-down-selection Symbol: UniversalOpamp2


Im Anhang ist meine Beschreibung die ich vor Jahren in die Yahoo group 
eingestellt habe.

von Andi (Gast)


Lesenswert?

Vielen Dank für deine Hilfe, jetzt hab ich es verstanden. Ich habe das 
Symbol immer nur mit LTSpice und nie mit dem Editor angeschaut. Deshalb 
konnte ich die von dir genannten Dinge nie sehen.

Ich denke jetzt hab ich die ganze Erstellung von neuen Modellen 
verstanden und werde jetzt mal zur Übung noch weitere hinzufügen.

Gruß

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

@Helmut: Jetzt hab ich mal noch zur Übung das Modell der Barrier-Diode 
BAT54C eingebunden und es mit einer kleinen Testschaltung getestet und 
dabei die Werte von Strom und Spannung an der Barrier Diode mit denen 
aus dem Datenblatt von NXP verglichen.
Beim Sperrverhalten kommt der simulierte Wert des Stromes sehr nahe an 
den Wert aus dem Datenblatt hin aber beim Durchlassverhalten ist mein 
simulierter Wert der Flussspannung um rund 50% kleiner ist als der Wert 
im Datenblatt.
Da ich mir jetzt nicht ganz sicher ist ob das davon kommt, dass das 
Modell evtl nicht für 25°C gemacht wurde bzw. der Wert aus dem 
Datenblatt ein Maximalwert ist wärs cool, wenn du dir mein Modell bzw. 
die Testschaltung kurz anschauen könntest.

Gruß Andi

von Helmut S. (helmuts)


Lesenswert?

Ja das Modell ist entweder für eher 80°C oder zu optimistisch. Ich habe 
dir mal eine Korrektur mit N=1.3 gemacht. Das sieht dann schon recht gut 
für 25°C aus. Siehe Subcircuit am Ende.


Kleine Korrekturen:

1. In BAT54C.sub fehlt am Ende das ".ENDS"
2. Das Attribute sollte so sein: Symboltype:Cell
(Der Wert "Block" ist für hierarchische Schaltpläne gedacht. Allerdings 
macht das meines Wissens nach kein Problem.)



*
.SUBCKT BAT54C 1 2 3
* The resistors do not reflect
* physical devices.  Instead they
* improve modeling in the reverse
* mode of operation.
*
R1 1 3 3.6E+07
D1 1 3 BAT54C
R2 2 3 3.6E+07
D2 2 3 BAT54C
*
.MODEL BAT54C D(
+    IS = 2.117E-07
+    N = 1.3
+    BV = 36
+    IBV = 1.196E-06
+    RS = 2.637
+    CJO = 1.114E-11
+    VJ = 0.2013
+    M = 0.3868
+    FC = 0
+    TT = 0
+    EG = 0.69
+    XTI = 2)
*
*
.ENDS

von Andi (Gast)


Lesenswert?

Helmut S. schrieb:
> Ja das Modell ist entweder für eher 80°C oder zu optimistisch. Ich habe
> dir mal eine Korrektur mit N=1.3 gemacht. Das sieht dann schon recht gut
> für 25°C aus. Siehe Subcircuit am Ende.

Ich habe bisher gar nicht gewusst, dass der Emissionskoeffizient 
temperaturabhängig ist. Aber gut zu wissen. Hab mich schon die letzten 
Tage immer gefragt, wo im Spice-Modell die Umgebungstemperatur eines 
Halbleiterbauelements drin steckt.


Den Wert aus dem Datenblatt erreich ich zwar immer noch nicht ganz aber 
jetzt liegt die Abweichung bei der Flussspannung nur noch bei 20%, von 
daher kann man glaub ich nun mit der Modellierung zufrieden sein.

Gruß

von Helmut S. (helmuts)


Lesenswert?

Hallo Andi,
vielleicht habe ich mich da etwas missverständlich ausgedrückt. Ich 
wollte nur sagen, dass man mit dem Originalmodell eher die Kennlinie für 
hohe Temperaturen trifft.

Mit dem Parameter N wir die Steilheit der Kennlinie Id(Ud)eingestellt. 
Mit IS verschiebt man die Kennlinie. Mir Rs modelliert man den Verlauf 
bei hohen Strömen.

Id = Is*e^(Ud'/(N*Ut)

Ud'= Ud-Id*Rs

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

@Helmut: Dank deiner Hilfe komm ich mittlerweile mit dem Einfügen der 
Modelle ganz gut klar. Heut hab ich zum Beispiel schon das Modell eines 
STB11NM80T4 MOSFET hinzugefügt.
Ich habe das Modell mit einer kleinen Testschaltung getestet, es scheint 
zu laufen.

Ich habe jetzt nur das Problem, dass wenn ich den MOSFET in einer 
Simulation eines Sperrwandlers verwende, dass dann die Simulation extrem 
langsam wird. Im Prinzip so langsam (50ns/s), dass das Simulieren keinen 
Sinn mehr macht. Wenn ich anstelle des STB11NM80T4 den MOSFET 
BSC42DN25NS3 nehme, läuft die Simulation dagegen richtig flüssig.

Da ich annehme, dass die extreme Verlangsamung vom recht ausführlichen 
Spice-Modell des STB11NM80T4 kommt, wollte ich fragen, ob man so ein 
Spice-Modell vereinfachen kann, also einzelne für die Anwendung 
unwichtige Effekte aus dem Modell entfernen kann?
Ich habe im Anhang mal das Modell und das Symbol des MOSFETs mit 
angehängt.

Ich habe auch schon nach alternativen MOSFETS geschaut. Da ich aber 
einen mit Vds,min= 650V oder besser noch größer benötige, konnte ich 
bisher keinen anderen MOSFET finden.

Gruß

von Helmut S. (helmuts)


Lesenswert?

Vermutlich läuft die Simultion so langsam, weil in dem Modell 
ausnahmsweise Induktivitäten drin sind. Ersetze die mal durch 0V 
Spannungsquellen.


LG 2 4  7.5n
LS 12 3 7.5n
LD 6 1  4.5n

-->

VLG 2 4  0 ;7.5n
VLS 12 3 0 ;7.5n
VLD 6 1  0 ,4.5n



Nachtrag: Die Namen von Modell-Dateien müssen nicht unbedingt mit ".sub" 
enden. Jeder beliebige Name ist erlaubt.

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

Helmut S. schrieb:
> Vermutlich läuft die Simultion so langsam, weil in dem Modell
> ausnahmsweise Induktivitäten drin sind. Ersetze die mal durch 0V
> Spannungsquellen.
>
>
> LG 2 4  7.5n
> LS 12 3 7.5n
> LD 6 1  4.5n
>
> -->
>
> VLG 2 4  0 ;7.5n
> VLS 12 3 0 ;7.5n
> VLD 6 1  0 ,4.5n
>
>
>
> Nachtrag: Die Namen von Modell-Dateien müssen nicht unbedingt mit ".sub"
> enden. Jeder beliebige Name ist erlaubt.

Ich habe das Modell jetzt mal so abgeändert wie du gesagt hast (siehe 
Anhang). Ist das Komma anstatt eines Semikolons in der VLD-Zeile 
erwünscht oder ein Tippfehler? Ich hab es auch einmal als Komma 
probiert, ändert aber auch nichts.

Die Simulation läuft jetzt schon mal ein wenig schneller, geschätzt in 
etwa doppelt so schnell wie vorher, aber halt immer noch viel zu 
langsam, als dass das Simulieren Sinn macht.

Die Simulation hab ich dir mal noch mit angehängt.
Vielleicht gibts ja noch eine andere Stelle im Modell wo man für meine 
Anwendung, in welcher der MOSFET ja nur als Schalter eingesetzt wird 
vernachlässigt werden kann.

Gruß

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

Update: Jetzt ist mir gerade aufgefallen, dass ich ja die falsche 
Simulation mitangehängt habe. In der Simulation habe ich noch einen 
anderen MOSFET verwendet, deshalb läuft sie auch flüssig.

Jetzt habe ich dir die richtige Simulation angehängt. Der Unterschied in 
der Simulationsgeschwindigkeit ist schon sehr krass.

Noch was anderes habe ich festgestellt. Und zwar bringt mir LTSpice ne 
Fehlermeldung, wenn ich das Komma anstatt dem Semikolon im Modell 
verwende.
Also scheint wohl doch das Semikolon richtig zu sein.

Gruß

von Andi (Gast)


Angehängte Dateien:

Lesenswert?

Ach noch was. Hab ich ganz vergessen. Das Modell des TL431 hab ich 
selbstständig erstellt, also noch nicht in diesem Thread hochgeladen. 
Hab es mal mit angehängt, damit du die Sperrwandler-Simulation mal 
testen kannst.

Gruß

von Andi (Gast)


Lesenswert?

Jetzt muss ich gerade ein wenig schmunzeln. Habe nämlich gerade 
festgestellt, dass in der Bauteilbibliothek vom LTSpice doch ein paar 
High Voltage MOSFETs sind, darunter auch der STW11NM80, welcher das 
selbe Datenblatt besitzt wie mein hinzugefügter MOSFET STB11NM80 :)

Und die gute Nachricht ist, dass mit dem MOSFET aus der Bibliothek auch 
die Simulation flüssig läuft.

Gruß

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Hallo Andi,
in deiner Schaltung sind zu viele Fehler im Regelpfad drin.
Du musst einfacher anfangen. Rechter Mausklick auf den LT3758. Dann 
"Open this macromodel's test fixture". Siehe auch Anhang.
Diesen Schaltplan "bohrst" du auf deine 370V auf; Mosfet, Dioden, 
Spannunsgteiler ändern.
Erst wenn das funktioniert, baust du den Optokoppler ein.

von Andi (Gast)


Lesenswert?

Helmut S. schrieb:
> Hallo Andi,
> in deiner Schaltung sind zu viele Fehler im Regelpfad drin.
> Du musst einfacher anfangen. Rechter Mausklick auf den LT3758. Dann
> "Open this macromodel's test fixture". Siehe auch Anhang.
> Diesen Schaltplan "bohrst" du auf deine 370V auf; Mosfet, Dioden,
> Spannunsgteiler ändern.
> Erst wenn das funktioniert, baust du den Optokoppler ein.

Hallo Helmut,

diesen Schaltplan kenne ich bereits. Der Unterschied von meiner 
Schaltung zu diesem ist aber, dass bei dieser Beispielschaltung keine 
galvanische Trennung zwischen Eingang und Ausgang besteht.

Aus diesem Grund habe ich für meinen Schaltungsentwurf die Schaltung vom 
Datenblatt des LT3758 Seite 30 genommen bzw. eher die Schaltung des 
Demoboards:

http://cds.linear.com/docs/Demo%20Board%20Schematic/1412asch.pdf

Aber das meine Schaltung bisher noch nicht korrekt arbeitet ist schon 
richtig.

Gruß

von Michael (Gast)


Lesenswert?

Hallo zusammen,

ich kämpfe mich gerade an LTSpice ab. Kann es sein, das in der oben 
angegebenen Anleitung "Symbol_types.txt" das Beispiel "Drop Down Symbol 
(Type-2)" kompletter Mumpitz ist. Ich kann das so gar nicht 
nachvollziehen.

Grüße, Michael

von Helmut S. (helmuts)


Lesenswert?

Hallo Michael,
hol dir mal den [Opamps] UniversalOpamp2 auf einen Schaltplan.
Zusätzlich öffnest du dessen Symbol mit dem Symboleditor.
Wenn du dann Unterschiede zu meiner Beschreibung findest, dann 
korrigiere ich die natürlich.
Gruß Helmut

von Helmut S. (helmuts)


Angehängte Dateien:

Lesenswert?

Nachtrag: So sieht der Dialog aus, wenn man mit Klick "rechte Maustaste" 
auf das Symbol im Schaltplan klickt. Dann zusätzlich Doppelklick linke 
Maustaste auf "level2".

von Michael (Gast)


Lesenswert?

Hallo Helmut,
ok, ich nehme alles zurück und behaupte das Gegenteil. Ich konnte das 
jetzt nachvollziehen.

Das Beispiel mit LTC1013 war aber ein bischen verwirrend gewählt. 
Einfacher wäre es wenn da direkt das Symbol stünde, an dem man es 
nachvollziehen kann.

Jedenfalls wird LTSpice an der Stelle etwas holperig.

Danke und Grüße, Michael

von Helmut S. (helmuts)


Lesenswert?

Ich habe damals das Symbol LT1013 zum Anschauen empfohlen, nicht 
LTC1013.

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.