LTSpice, modelo TRIAC MAC97A8, error Vgs

Tengo algunas dificultades para que a LTSpice le guste un modelo TRIAC.

El error específico que arroja es "Falta definición de modelo para VGT-0.65". El problema es que VGT es un parámetro de subcircuito, no un modelo.

La biblioteca de tiristores es una que encontré mientras buscaba en Google un modelo SPICE para MAC97 (MAC97A8 específicamente). Está ubicado aquí y parece una biblioteca de tiristores decente y bien construida. Abstrae un solo SCR y un solo subcircuito Triac, y luego enumera docenas de modelos de varios tiristores que llaman a uno de estos dos modelos.

La línea del subcircuito que arroja el error es esta:

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

Ahora intenté poner Vgt entre paréntesis solo (para tratar de separar el "-0.65" del "Vgt", pero luego el error LTSpice simplemente dice que falta un modelo para VGT.

El modelo específico para el MAC97A8 también se ve bien y define 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
*$

Probé algunos otros modelos TRIAC para ver si había algo específicamente tonto en este, pero ese no parece ser el caso. En este punto, estoy empezando a preguntarme si hay algo extraño en el manejo del subcircuito Triac por parte de LTSpice, pero LTSpice es un programa SPICE bastante decente, así que dudo en culparlo, especialmente con una biblioteca de tiristores descubierta al azar. neto.

¿Alguien ha simulado circuitos TRIAC con LTSpice antes? ¿Hay algo específico que me estoy perdiendo?

Respuestas (1)

Del manual de LTSPice IV :

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 

Tenga en cuenta que params:nunca aparece en la sintaxis de LTSpice para una llamada de subcircuito.

Supongo que incluir este token en su tarjeta X ha confundido a LTSpice sobre cómo se debe llamar al subcircuito.

A veces, la solución te está mirando directamente a la cara, pero no puedes verla. Esto es exactamente cuál era el problema. Eliminar los "parámetros:" de la biblioteca fue todo lo que se necesitó. Muchas gracias, excelente respuesta y espero que ayude a otros en el futuro.
Para ser justos, mientras buscaba en Google para encontrar esta respuesta, encontré un documento para otro simulador que afirma que LTSpice usa params: aquí .
Perdón por el retraso en la asignación de la recompensa; Pensé que aceptar la respuesta automáticamente hacía eso.
No te preocupes... Creo que eventualmente habría sucedido por sí solo.