1 votos

LTspice error "could not open Library file" al intentar utilizar el modelo TL431 de TI

He descargado el modelo LTspice del TL431 de la página web de Texas Instruments, pero no soy capaz de simular el circuito dado a continuación debido a este error:

"No se ha podido abrir el archivo Library"

https://www.ti.com/product/TL431 el segundo modelo en la pestaña Diseño y simulaciones

Ayuda, por favor

3voto

AitorTheRed Puntos 241

He descargado el archivo ZIP enlazado. El que se describe así en la página que enlazaste en tu pregunta:

MODELOS DE SIMULACIÓN

Transitorios y CA PSpice sin cifrar de la familia TL431 (Rev. B)

SLVM071B.ZIP (130 KB) - Modelo PSpice

Dentro de ese archivo ZIP, rebuscando en las carpetas, hay un archivo TL431.LIB. Ese es el que quieres agarrar y colocar en algún lugar que sea "conveniente" para LTspice. En ese archivo, encontrarás esta "tarjeta":

.SUBCKT TL431 7 6 11

Eso te dice algunas cosas. La primera es que el modelo se llama "TL431" y que debe asegurarse de utilizar exactamente ese nombre al intentar acceder a este modelo. La segunda es que hay tres clavijas. El valor absoluto de los números mostrados no importa mucho. Son sólo "números de nodo" que luego se utilizan dentro del modelo. También podrían ser palabras, no números. Así que realmente no importa mucho, hoy en día. (Es posible que las versiones antiguas de Spice sigan queriendo números. Pero no lo he visto forzado, yo mismo). Así que tienes tres pines expuestos por este modelo.

Además, ayudaría a buen trato si también diseñaras un bonito símbolo para el dispositivo. LTspice tiene un editor de símbolos semi-utilizable, pero lleva tiempo aprenderlo bien. Si estás seriamente interesado en aprender cómo empezar a usarlo, escribí algo hace un tiempo. Se encuentra en este enlace . Se puede aprender mucho de ella. Pero también es detallado y los conceptos pueden ser una lucha, al principio. Para su información.

El dibujo de los símbolos esquemáticos

Tengo este símbolo:

Version 4
SymbolType CELL
LINE Normal 0 20 -4 16
LINE Normal 32 20 36 24
LINE Normal 0 20 32 20
LINE Normal 0 44 32 44
LINE Normal 32 44 16 20
LINE Normal 0 44 16 20
LINE Normal 16 64 16 44
LINE Normal 16 20 16 0
LINE Normal -16 32 8 32
WINDOW 0 32 0 Left 2
WINDOW 38 32 58 Left 2
SYMATTR SpiceModel TL431-Macro
SYMATTR Description TL431A 2.5V shunt regulator
SYMATTR ModelFile TL431.LIB
SYMATTR Prefix X
PIN 16 0 NONE 0
PINATTR PinName K
PINATTR SpiceOrder 1
PIN 16 64 NONE 0
PINATTR PinName A
PINATTR SpiceOrder 2
PIN -16 32 NONE 0
PINATTR PinName R
PINATTR SpiceOrder 3

Lo que tienes que hacer para utilizarlo es abrir un editor y pegar en él el texto anterior. A continuación, guarda el archivo de texto con la extensión ".ASY". Así, por ejemplo, probablemente debería utilizar "TL431.ASY" y colocarlo en el LTspiceVII's sym carpeta. En mi caso, se encuentra en la carpeta Documentos, en ". \LTspiceXVII\lib\sym ". La razón por la que necesitas hacer esto es para que LTspice pueda encontrarlo.

(Como nota al margen, LTspice no encontrarlo hasta que cierres LTspice y lo vuelvas a abrir. Aparentemente, LTspice almacena en caché lo que encuentra, en el arranque. Así que necesitas reiniciar LTspice si quieres que reconozca un nuevo símbolo que acabas de hacer. De nuevo, para tu información).

Además, tenga en cuenta que hay una línea en el texto anterior que acabo de mencionar:

SYMATTR ModelFile TL431.LIB

Así es como LTspice sabe dónde encontrar el modelo para el símbolo anterior. Sin un modelo, el símbolo es sólo un símbolo y completamente inútil para la simulación. Así que debe asegúrese de que hay un ArchivoModelo que nombra el archivo de biblioteca que contiene un modelo. La extensión no importa. Por convención, es ".LIB" o ".MOD", pero no tiene por qué ser ninguno de los dos. Pero debes ponerle el nombre correcto.

¿Nota que no he puesto un nombre de directorio? Eso es porque normalmente coloco estos archivos en el directorio por defecto que LTspice utiliza para encontrar modelos. Sin embargo, puede colocar el archivo de modelo en cualquier lugar. Pero si lo hace, debe especificar completamente la ubicación en la tarjeta anterior o bien debe utilizar la configuración en LTspice para añadir un nuevo directorio para buscar. Usted puede hacer eso. Y el primer enlace que he proporcionado al principio de esta respuesta discute cómo hacer eso, si quieres.

También puede colocar una tarjeta .INCLUDE en su esquema. Lo entiendo. Pero es MUCHO mejor enterrar un ArchivoModelo en el propio símbolo. Entonces usted no tiene que molestarse con todo esto escribir extra, etc.

Es posible que sólo tengas un símbolo ".ASY" pero que tengas muchos modelos para él. LTspice encontrará automáticamente todos los modelos y los pondrá a tu disposición en una lista desplegable. Así que si quieres probar varios modelos para el TL431, puedes hacerlo fácilmente. Para obtener más información sobre este tema, consulte aquí donde hablo un poco de ello. Pero la idea básica es simplemente meter un montón de modelos .SUBCKT en un único archivo ".MOD" o ".LIB" al que se hace referencia mediante el símbolo ArchivoModelo tarjeta. LTspice observará todos esos modelos por ti cuando cargue el símbolo. Entonces podrás acceder a ellos utilizando el menú desplegable. Sin embargo, necesitarás dar diferentes nombres en la tarjeta .SUBCKT para que LTspice sepa cuál de ellos quieres cuando selecciones uno. Esto es bastante importante.

El dibujo del símbolo anterior utiliza esta técnica. Se nota porque utiliza esta carta:

SYMATTR SpiceModel TL431-Macro

Esto indica que el archivo del modelo puede contener más de un modelo.

Una nota final es que examines cuidadosamente el SpiceOrder y el PinName del PINATTR. Tenga en cuenta que pedir ¡¡!! Aquí, encontrar que K es el primero, A es la segunda, y la referencia R es el último. Así que este es el orden de los pines del modelo Spice en la tarjeta X que llama al código. Usted verá esto, muy pronto.

El modelo de Spice coincide con el dibujo del símbolo

Lo que tienes es esto:

* PSpice Model Editor - Version 16.0.0
*$
* TL431
*****************************************************************************
* (C) Copyright 2009 Texas Instruments Incorporated. All rights reserved.                                            
*****************************************************************************
** This model is designed as an aid for customers of Texas Instruments.                                             
** TI and its licensors and suppliers make no warranties, either expressed                                           
** or implied, with respect to this model, including the warranties of                                                    
** merchantability or fitness for a particular purpose. The model is                                                      
** provided solely on an "as is" basis. The entire risk as to its quality                                                    
** and performance is with the customer                                                                                              
*****************************************************************************
*
* This model was developed for Texas Instruments Incorporated by:
*   AEi Systems, LLC
*   5777 W. Century Blvd., Suite 876
*   Los Angeles, California  90045
*
* This model is subject to change without notice. Neither Texas Instruments Incorporated 
* nor AEi Systems is responsible for updating this model.
* For more information regarding modeling services, model libraries and simulation 
* products, please call AEi Systems at (310) 216-1144, or contact AEi Systems by email: 
* info@AENG.com. Or visit AEi Systems on the web at http://www.AENG.com.
*
*****************************************************************************
*
** Released by: Analog eLab Design Center, Texas Instruments Inc.
* Part: TL431
* Date: 29NOV2017
* Model Type: Transient and AC  
* Simulator: PSPICE  
* Simulator Version: 16.0.0.p001
* Datasheet: SLVS543J - AUGUST 2004 - REVISED DECEMBER 2005 
*
*****************************************************************************
*
* Updates:
*
* Final 2.10
* Modified the clamping diode parameters( Rs & N).
* Replaced the dc volatage source of 2.495 V with ABM E27.
* Modified internal feedback and reference implementation.
* Implemented internal resistors using VCVS.
* Validated the comparator open loop mode in PSpice 16.2 after model modification.
*
* Final 2.00
* Changed encrypted model to unencrypted.
*
* Final 1.00
* Release to Web.
*
*****************************************************************************
.SUBCKT TL431 7 6 11 
*             K A FDBK 
R_R18         0 N16955548  1 TC=0,0 
C_C17         N16955362 0  1n  
C_C18         2 6  0.5u  
D_D11         N16976181 N16975344 DCLAMP 
C_C19         3 4  0.08u  
E_E23         2 N16955404 VALUE { {I(V_V16)*15.6} }
C_C22         N16955548 0  1n  
R_R13         N16955401 N16955404  1 TC=0,0 
E_E27         VREF 0 VALUE { IF(V(11,0)<2.495,V(11,0),2.495) }
V_V16         N16955401 6 0Vdc
R_R14         0 N16955362  1 TC=0,0 
X_H8    7 N169559021 IKA 6 TL431_H8 
E_E24         4 N16955473 VALUE { {I(V_V17)*10} }
E_E28         N16955936 0 11 6 1
V_V7         N16976181 6 2
G_ABM2I2         6 N16975344 VALUE { IF((V(3)-V(6))< 0 , 1.73*(V(3)-V(6)) -1U ,
+  -1U)    }
R_R15         N16955470 N16955473  1 TC=0,0 
V_V17         N16955470 6 0Vdc
G_G4         6 2 VREF N16955936 0.11
R_R16         0 N16955493  1 TC=0,0 
D_D12         N169559021 N16975344 DCLAMP 
R_R17         N16955529 N16955532  1 TC=0,0 
C_C21         N16955493 0  1n  
E_E25         3 N16955532 VALUE { {I(V_V18)*100} }
V_V18         N16955529 2 0Vdc
V_V19         N16985445 0 0Vdc
.ENDS
*$
.subckt TL431_H8 1 2 3 4  
H_H8         3 4 VH_H8 1
VH_H8         1 2 0V
.ends TL431_H8
*$
.model DCLAMP d
+ is=1.35e-011
+ rs=0.005
+ n=0.001
+ cjo=4.5e-011
+ vj=0.75
+ m=0.302
+ tt=5.04e-008
+ bv=100
+ ibv=0.001
*$

Si se desplaza un poco hacia abajo, encontrará estas líneas:

.SUBCKT TL431 7 6 11 
*             K A FDBK 

La primera es la tarjeta .SUBCKT real. Pero la segunda es un comentario. El comentario te dice que este modelo fue diseñado con la idea donde el primer parámetro pin es el cátodo, el segundo parámetro pin es el ánodo, y el último parámetro pin es el pin de referencia para el modelo. Es muy, muy importante que compruebes este orden y lo compares con cualquier símbolo que crees o utilices. En el caso de mi símbolo, es K, luego A, luego R. Esto parece coincidir con el comentario del modelo. Así que todo debería ir bien.

Ahora bien, el modelo anterior tiene algunos problemas. Uno de ellos es la referencia directa a un nodo llamado 0 . Esto siempre significa "tierra" para LTspice (y cualquier otro programa Spice.) Pero el dispositivo no necesariamente tiene acceso a tierra. Así que el modelo es, ya, no es bueno para su uso. Se supone que el ánodo está conectado a tierra. Pero este no es necesariamente el caso en cualquier circuito real. Así que tendrás que editar el modelo para solucionar ese problema. Necesitas saber cómo hacerlo.

Además, el modelo utiliza tarjetas "E". Esto funciona muy bien en PSpice. Pero quizás no tanto en LTspice. De la ayuda de LTSpice sobre la fuente E, encontrar: "Es mejor utilizar una fuente G derivada con una resistencia para aproximarse a una fuente E que utilizar una fuente E". Una fuente de corriente controlada por tensión derivada con una resistencia calculará más rápido y causará menos problemas de convergencia que una fuente de tensión controlada por tensión. Además, la impedancia de salida no nula resultante es más representativa de un circuito práctico."

Por lo tanto, es posible que desee seguir esas instrucciones. O no. Usted decide. El principal problema, sin embargo, será el uso de 0 donde no debe utilizarse en el modelo. Así que realmente debería arreglar eso, al menos.

Aquí está mi archivo TL431.LIB:

*============================================================================
*                                   TL431
*============================================================================
*
* Calling convention:
*
*              CATHODE
*              |  ANODE
*              |  |  REFERENCE
*              |  |  |
*.SUBCKT TL431 K  A  R
*
* The above calling convention must match up with the pin order of any symbol
* made for the device. Please double-check this if you decide to create a
* symbol in LTspice for this device.
*
*
*
*----------------------------------------------------------------------------
* TL431-Macro            TI Macromodel for the TL431                     1992
*----------------------------------------------------------------------------
* (Modified ordering of the pins per the above calling convention.)
*
.SUBCKT TL431-Macro 3 2 1
V1  6  7  DC  1.4V
I1  2  4  1E-3
R1  1  2  1.2E6
R2  4  2  RMOD 2.495E3
R3  5  7  .2
D1  3  6  DMOD1
D2  2  3  DMOD1
D3  2  7  DMOD2
E1  5  2  POLY(2)  (4,2)  (1,2)  0  710  -710
.MODEL RMOD RES (TC1=1.4E-5 TC2=-1E-6)
.MODEL DMOD1 D (RS=.3)
.MODEL DMOD2 D (RS=1E-6)
.ENDS
*
*
*----------------------------------------------------------------------------
* TL431-Basso            Chris Basso's model for the TL431               2005
*----------------------------------------------------------------------------
*
.SUBCKT TL431-Basso k a ref
G1 a 2 5 ref -250u
Q1 k 2 1 QN3904
R1 1 7 240
R2 7 a 6.6k
Q2 k 7 a QN3904 50
D1 ref k DN4148
C2 7 a 1n
D2 a k D2_mod
C1 k 2 43p
V1 5 a DC=2.49
D3 a 2 D3_mod
.MODEL QN3904 NPN AF=1.0 BF=300 BR=7.5 CJC=3.5PF CJE=4.5PF
+ IKF=.025 IS=1.4E-14 ISE=3E-13 KF=9E-16 NE=1.5 RC=2.4
+ TF=4E-10 TR=21E-9 VAF=100 XTB=1.5
.MODEL DN4148 D BV=100V CJO=4PF IS=7E-09 M=.45 N=2 RS=.8
+ TT=6E-09 VJ=.6V
.MODEL D2_mod D BV=36 CJO=4PF IS=7E-09 M=.45 N=1.3 RS=.8
+ TT=6E-09 VJ=.6V
.MODEL D3_mod D N=0.01
.ENDS
*
*
*----------------------------------------------------------------------------
* TL431-RevB            TI's PSpice/AC model for the TL431, Rev B.       2009
*----------------------------------------------------------------------------
* (Modified to place sub-models and sub-circuits within the main .SUBCKT.)
* (Also modified to remove references to node 0, changing them to node 6.)
*
.SUBCKT TL431-RevB 7 6 11
R_R18         6 N16955548  1 TC=0,0 
C_C17         N16955362 6  1n  
C_C18         2 6  0.5u  
D_D11         N16976181 N16975344 DCLAMP 
C_C19         3 4  0.08u  
E_E23         2 N16955404 VALUE={{I(V_V16)*15.6}}
C_C22         N16955548 6  1n  
R_R13         N16955401 N16955404  1 TC=0,0 
E_E27         VREF 6 VALUE={ IF(V(11,6)<2.495,V(11,6),2.495) }
V_V16         N16955401 6 0Vdc
R_R14         6 N16955362  1 TC=0,0 
X_H8          7 N169559021 IKA 6 TL431_H8 
E_E24         4 N16955473 VALUE={{I(V_V17)*10}}
E_E28         N16955936 6 11 6 1
V_V7          N16976181 6 2
G_ABM2I2      6 N16975344 VALUE={ IF((V(3,0)-V(6,0))< 0 , 1.73*(V(3,0)-V(6,0)) -1u,-1u) }
R_R15         N16955470 N16955473  1 TC=0,0 
V_V17         N16955470 6 0Vdc
G_G4          6 2 VREF N16955936 0.11
R_R16         6 N16955493  1 TC=0,0 
D_D12         N169559021 N16975344 DCLAMP 
R_R17         N16955529 N16955532  1 TC=0,0 
C_C21         N16955493 6  1n  
E_E25         3 N16955532 VALUE={{I(V_V18)*100}}
V_V18         N16955529 2 0Vdc
V_V19         N16985445 6 0Vdc
 .subckt TL431_H8 1 2 3 4  
H_H8         3 4 VH_H8 1
VH_H8         1 2 0V
.ends TL431_H8
 .model DCLAMP d(
+ is=1.35e-011
+ rs=0.005
+ n=0.001
+ cjo=4.5e-011
+ vj=0.75
+ m=0.302
+ tt=5.04e-008
+ bv=100
+ ibv=0.001)
.ENDS

Tenga en cuenta que hay más de un modelo en este archivo. Es decir no un problema para el símbolo que proporcioné al principio, más arriba. (Como había señalado, si se utiliza la tarjeta "SYMATTR" de SpiceModel para nombrar el dispositivo, entonces se puede hacer sin problemas). Tampoco es un problema si sólo utiliza la línea de valor para el símbolo. Pero entonces LTspice no te ayudará con una lista desplegable si tienes más de un modelo en el fichero modelo.

De todos modos, si haces una copia de ese texto inmediatamente por encima de aquí y lo guardas, correctamente, entonces creo que puedes conseguir que las cosas funcionen bien y puedes probar algunos modelos diferentes, también.

En lo anterior, tengo no corregí las tarjetas "E" según las sugerencias de la ayuda en LTspice. Las dejé "tal cual". Sin embargo, arreglé el 0 pines donde los encontré -- para que se refieran, en cambio, al ánodo.

Entradas relacionadas

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X