LTSpice, MAC97A8 TRIAC-Modell, Vgs-Fehler

Ich habe einige Schwierigkeiten, LTSpice dazu zu bringen, ein TRIAC-Modell zu mögen.

Der spezifische Fehler, den es auslöst, ist „Fehlende Modelldefinition für VGT-0.65“. Das Problem besteht darin, dass VGT ein Unterschaltungsparameter und kein Modell ist.

Die Thyristorbibliothek habe ich beim Googeln nach einem SPICE-Modell für den MAC97 (speziell MAC97A8) gefunden. Es befindet sich hier und sieht aus wie eine anständige, gut gebaute Thyristorbibliothek. Es abstrahiert einen einzelnen SCR und einen einzelnen Triac-Unterschaltkreis und listet dann Dutzende von Modellen verschiedener Thyristoren auf, die eines dieser beiden Modelle aufrufen.

Die Subcircuit-Leitung, die den Fehler auslöst, ist diese:

Rseries  gate    gate1   {(Vgt-0.65)/Igt}

Jetzt habe ich versucht, Vgt ganz allein in Klammern zu setzen (um zu versuchen, "-0,65" von "Vgt" zu trennen), aber dann sagt der LTSpice-Fehler nur, dass es ein fehlendes Modell für VGT gibt.

Das spezifische Modell für den MAC97A8 sieht auch gut aus und definiert Vgt:

.subckt MAC97A8         MT2 gate MT1
* Min and Max parameters
X1 MT2 gate MT1 Triac params:
+ Vdrm=600v  Idrm=10u     Ih=10ma      dVdt=25e6   Ton=2u
+ Igt=5ma    Vgt=2.0v     Vtm=1.9v     Itm=.85
* 90-5-18    Motorola     DL137, Rev 2, 3/89
.ends
*$

Ich habe ein paar andere TRIAC-Modelle ausprobiert, um zu sehen, ob an diesem Modell etwas besonders Dummes war, aber das scheint nicht der Fall zu sein. An diesem Punkt fange ich an, mich zu fragen, ob LTSpices Umgang mit der Triac-Teilschaltung etwas Seltsames hat, aber LTSpice ist ein ziemlich anständiges SPICE-Programm, daher zögere ich, es zu beschuldigen, insbesondere bei einer Thyristorbibliothek, die zufällig herausgefunden wurde. Netz.

Hat jemand schon einmal TRIAC-Schaltungen mit LTSpice simuliert? Gibt es etwas Bestimmtes, das ich vermisse?

Antworten (1)

Aus dem LTSPice IV-Handbuch :

X. Subcircuit 
Syntax: Xxxx n1 n2 n3... <subckt name> 
[<parameter>=<expression>] 
Subcircuits allow circuitry to be defined and stored in a 
library for later retrieval by name. Below is an example of 
defining and calling a voltage divider and invoking it in a 
circuit. 
* calling a subcircuit 
* 
* This is the circuit 
X1 in out 0 divider top=9K bot=1K 
V1 in 0 pulse(0 1 0 .5m .5m 0 1m) 
* This is the subcircuit 
.subckt divider A B C 
R1 A B {top} 
R2 B C {bot} 
.ends divider 
.tran 3m 
.end 

Beachten Sie, dass params:in der LTSpice-Syntax für einen Subcircuit-Aufruf nie auftaucht.

Ich vermute, dass die Aufnahme dieses Tokens in Ihre X-Karte LTSpice darüber verwirrt hat, wie der Subcircuit aufgerufen werden sollte.

Manchmal starrt Ihnen die Lösung direkt ins Gesicht, aber Sie können sie nicht sehen. Genau das war das Problem. Das Entfernen der "params:" aus der Bibliothek war alles, was es brauchte. Vielen Dank, ausgezeichnete Antwort und hoffentlich hilft es anderen in der Zukunft.
Um fair zu sein, habe ich beim Googeln nach dieser Antwort ein Dokument für einen anderen Simulator gefunden, das behauptet, dass LTSpice hier verwendet . params:
Entschuldigen Sie die Verzögerung bei der Zuweisung des Kopfgeldes. Ich dachte, dass das Akzeptieren der Antwort automatisch dazu führt.
Keine Sorge ... Ich denke, es wäre irgendwann von selbst passiert.