¿Cómo construyo un modelo SPICE a partir de una hoja de datos?

Este puede no ser el foro ideal para la pregunta; migre si un foro es más adecuado para la pregunta.

Estoy buscando un componente para el cual mis intentos de ubicar un modelo SPICE en línea fueron infructuosos. Sin embargo, hay hojas de datos del componente disponibles para referencia en línea. El modelo SPICE para un componente probablemente se basa en el contenido de la hoja de datos para él...

Entonces, ¿cómo se construye un modelo SPICE cuando la hoja de datos está disponible como referencia? Estoy mirando LTSpice

¿Puedes reducirlo un poco? ¿De qué tipo de componente estamos hablando?
Bueno, estoy viendo el 2SJ50 en este momento. Pero quise decir que esta pregunta abordaba una gama más amplia de componentes, desde resistencias, condensadores, diodos, hasta BJT/FET al menos.
Tengo el mismo problema que tu. Estos enlaces me ayudaron: h-renrew.de/h/spicelib/doc/index.html github.com/werner2101/spicelib

Respuestas (4)

Dependiendo del componente, el método común es usar una tarjeta .MODEL para elementos básicos (transistores, diodos) o para componentes más complejos (IC como amplificadores operacionales, reguladores, etc.) puede usar un modelo de subcircuito (compuesto por elementos) o un modelo de comportamiento (usando fórmulas para aproximar el comportamiento)

Esto puede volverse muy complicado muy rápidamente, cuán complejo depende de qué tan preciso necesite el componente para simular, y requiere un conocimiento bastante detallado del tipo de componente para que sepa qué parámetros de la hoja de datos son importantes, cómo se traducen en parámetros SPICE, etc.

Para ver un ejemplo del tipo de parámetros que necesita conocer (al menos algunos de ellos), en la ayuda de LTSpice busque en LTSpice->Circuit Elements->Bipolar Transistor y observe los parámetros de Gummel-Poon.
Tan complejo como parece, puede usar los valores predeterminados para la mayoría y simplemente modificar los conceptos básicos como Bf (Beta), Vje (be voltaje), Cje (capacitancia del emisor base), Cjc, etc. Es útil ver los diversos modelos que vienen con LTSpice para tener una idea de las cosas.

La ayuda proporciona mucha información útil, así que léala detenidamente. También "Una guía para la simulación de circuitos usando PSPICE" es un libro medio decente con una discusión de los parámetros del modelo. Además, busque en Google información sobre los modelos, debería encontrar muchos; por ejemplo, aquí hay un excelente documento sobre el modelo Gummel-Poon y cómo usarlo.

Me temo que puedo estar fuera de mi alcance tratando de construir un modelo... pero gracias (+:
MOSFET de potencia : Ian Hegglun tiene una guía muy completa, completa y actualizada paklaunchsite.jimdofree.com/spice-models/vdmos

Aquí hay un muy buen tutorial sobre cómo construir una declaración .model para un MOSFET: http://www.simonbramble.co.uk/lt_spice/ltspice_lt_spice_tutorial_6.htm

Solo para dar un poco más de información aquí: hay dos caminos para crear un modelo de componentes. Uno usa una .subscktdeclaración y el otro usa una .modeldeclaración.

Para componentes básicos como un MOSFET, es mejor usar una .modeldeclaración. Un MOSFET se puede modelar con la declaración de plantilla .model XXXX VDMOS(Rg= Rd=5 Rs=1 Vto= Kp= Cgdmax= Cgdmin= Cgs= Cjo= Is= Rb= ), donde los parámetros Rg, etc. Rdse Rspueden determinar a partir de la hoja de datos y otros archivos de especias.

Un ejemplo es el MOSFET Fairchild FDS6680A con un modelo definido por la declaración .model FDS6680A VDMOS(Rg=3 Rd=5m Rs=1m Vto=2.2 Kp=63 Cgdmax=2n Cgdmin=1n Cgs=1.9n Cjo=1n Is=2.3p Rb=6m mfg=Fairchild Vds=30 Ron=15m Qg=27n).

Las respuestas de solo enlace tienden a estar mal vistas ya que los enlaces pueden romperse y hacer que la respuesta sea inútil. Quizás podría resumir el enlace o ampliar un poco la respuesta.
@Tom: tienes razón y gracias por los comentarios. He agregado un poco más que, con suerte, hace que la respuesta sea más "independiente".

Después de leer estas respuestas, hacer clic en un par de enlaces y enlaces más detallados, una gran cantidad de clics, encontré bastante información que hojearé como una respuesta actualizada (y para mis propios propósitos de documentación; )

En primer lugar : debe saber que esto es mucho más complicado de lo que se puede responder como respuesta aquí. Además, su pregunta es demasiado genérica , como ya han comentado otros . Solo tocaré la superficie, enumeraré un par de los elementos pasivos básicos que no están muy documentados y luego proporcionaré enlaces para investigar más a fondo cómo modelar su componente de interés, ya que este es un tema ENORME , incluso para un solo elemento.


Para crear sus propios modelos en SPICE para un componente específico, deberá averiguar lo siguiente:

  1. Cómo Spice modela un componente específico y los parámetros disponibles para usted
  2. Cómo influye cada parámetro en el comportamiento modelado
  3. Cómo correlacionar la información proporcionada en la hoja de datos con el comportamiento modelado

Elementos definidos del modelo disponible Spice

.MODEL -- Definir un modelo SPICE

Syntax: .model <modname> <type>[(<parameter list>)]

Tipo ( elemento de circuito asociado ):

SW ( Interruptor controlado por voltaje ), CSW ( Interruptor controlado por corriente ), URC ( Línea RC distribuida uniforme ), LTRA ( Línea de transmisión con pérdidas ), D ( Diodo ), NPN ( Transistor bipolar NPN ), PNP ( Transistor bipolar PNP ), NJF ( Modelo JFET de canal N ), PJF ( modelo JFET de canal P ), NMOS ( MOSFET de canal N ), PMOS (MOSFET de canal P ), NMF ( MESFET de canal N ) , PMF ( MESFET de canal P ) , VDMOS ( MOSFET de potencia de doble difusión vertical )

RES ( resistencia ), CAP ( condensador ), IND ( inductor )

nota: esta lista puede no estar completa


Pasivos Básicos (R,L,C)

  1. Resistencia: puede definir/ajustar una dependencia de la temperatura
  2. Condensador: puede definir/ajustar una dependencia de temperatura, dependencia de voltaje
  3. Inductor: puede definir/modificar una dependencia de temperatura , dependencia actual

Dependencia de la temperatura (R,L,C)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
TC1          linear temperature coeff.      1/ºC     0.0 
TC2          quadratic temperature coeff.   1/ºC²    0.0 
T_MEASURED    override component temp.       ºC      27  
TNOM             (same as above)             ºC      27  
=========== ============================== ======= =======

Estos coeficientes se calculan con un multiplicador de factor de temperatura de la siguiente manera:

Cálculo del factor de temperatura

(\Delta T = \left(T_{amb} - T_{nom} \right ) \text{ , default } T_{amb}=27\ TempFactor = 1+T_{c1} \cdot\Delta T+T_{c2 }\cdot(\Delta T)^2)

Resistencia Modelado de temperatura extendida

======= ============================== ======= =======
 name    parameter                      units  default
======= ============================== ======= =======
 TCE    exponential temperature coeff.   %/ºC    0.0 
======= ============================== ======= =======

Ecuación del factor de temperatura de resistencia extendida

(Factor Temporal_{R} = Factor Temporal\cdot 1.01^{Tce\cdot\Delta T})

T_amb = es la temperatura global, por defecto 27ºC Esto se puede definir en las ejecuciones de .TEMP

.TEMP 10 20

o barrer el parámetro de temperatura en un análisis de barrido de CC, por ejemplo.

El valor de las resistencias, condensadores, inductores se calculará de la siguiente manera:

Factor de temperatura de los pasivos aplicado


Dependencia de voltaje (C)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
VC1          linear voltage coefficient      1/V     0.0 
VC2          quadratic voltage coefficient   1/V²    0.0 
=========== ============================== ======= =======

Ecuación del coeficiente de tensión del condensador

(C = C\cdot \left(1+Vc1\cdot V_C+Vc2\cdot V_C^2\right))

Dependencia actual (L)

=========== ============================== ======= =======
   name      parameter                      units  default
=========== ============================== ======= =======
IL1          linear current coefficient      1/A     0.0 
IL2          quadratic current coefficient   1/A²    0.0 
=========== ============================== ======= =======

Fórmula del coeficiente de corriente del inductor

(L = L\cdot \left(1+Il1\cdot I_L+Il2\cdot I_L^2\right))

Valores iniciales

Esto solo tendrá un efecto en la simulación si se especifica la opción 'UIC' (omitir solución de punto de operación inicial) en el análisis .tran.

Dentro del modelo también puede especificar el valor inicial con el parámetro ic donde su valor definirá la corriente inicial en un inductor o el voltaje inicial en un capacitor. No aplica para resistencias.

Los valores iniciales también se pueden establecer en un contexto general en nodos específicos con la directiva de especias .ic .

Elementos parásitos

Resistores En este caso, defina un subcircuito tal como se presenta en esta pregunta/respuesta Circuito equivalente de un resistor no ideal , modelando los elementos parásitos.

R parásitos subcircuito 1 R parásitos subcircuito 2

El modelo que se adapte a la construcción y aplicación específicas de su resistencia depende de usted.

En esta nota de aplicación de Vishay sobre resistencias de chip de película delgada , proporcionan coeficientes de modelo para la variación de parámetros parásitos según el tamaño de la caja del componente smd y el tipo de terminales.

Capacitores LTSpice tiene el siguiente modelo de elementos parásitos.

Modelo de especia equivalente de parásitos C

En LTSpice, hacer clic derecho en el dispositivo le permite especificar los siguientes componentes parásitos:

Rser, Lser, Rpar, Cpar

Para especificar RLShunt , deberá (ctrl+clic derecho) y desplazarse hacia abajo hasta SpiceLine o SpiceLine2 y escribirlo manualmente allí. por ejemplo , RLShunt=0.01

Inductors LTSpice tiene el siguiente modelo de elementos parásitos.

L parásitos circuito equivalente especia

En LTSpice, hacer clic derecho en el dispositivo le permite especificar los siguientes componentes parásitos:

Rser, Lser, Rpar, Cpar

*Rser tiene como valor predeterminado 1 mΩ a menos que se especifique estrictamente. Esto permite a LTspice integrar la inductancia como un circuito equivalente de Norton en lugar del equivalente de Thevenin para reducir el tamaño de la matriz linealizada del circuito.

Definición del modelo

Para definir el modelo, cree una directiva de especia y colóquela en la hoja:

.model myR res(Tnom=150 Tc2=-19u)

luego ingrese el modelo en su campo "SpiceModel" (mediante ctrl-clic derecho del mouse) en el Resistor. Se aplica el mismo procedimiento para todos los componentes.


Definición de comportamientos no lineales

Estas declaraciones no son compatibles con las definiciones modelo de los pasivos. Se ingresan en lugar del valor del componente ya que la expresión define el comportamiento de ese valor.

resistencias

R=<expression>                , defines resistance (R<>0 to avoid problems)
R=limit(1,100k,V(1,2)*I(V1))  , result is kept between 1Ω and 100kΩ

Condensadores

Q=<expression>      , defines capacitance ('x' is Capacitors voltage)
Q=1u*x              , defines a 1uF capacitor
Q=x*if(x>3,1n,400p) , a more complex relationship

Más información aquí

inductores

Hay dos formas de inductores no lineales disponibles en LTspice. El básico sigue:

Flux=<expression> , defines the inductance ('x' is Inductors current)
Flux=1m*x         , defines a 1mH inductor
Flux=1m*tanh(5*x) , a more complex relationship

El otro comportamiento no lineal intenta modelar un núcleo, definiendo un ciclo de histéresis utilizando los siguientes parámetros:

====== ========================= ===============
 Name      Description                Units
====== ========================= ===============
  Hc     Coercive force          Amp-turns/meter 
  Br     Remnant flux density        Tesla
  Bs     Saturation flux density     Tesla
------ ------------------------- ----------------
     Mechanical dimensions of the core
------ ------------------------- ----------------
  Lm    Magnetic Length(excl.gap)    meters
  Lg     Length of gap               meters
  A      Cross sectional area        meters²
  N      Number of turns               -
====== ========================= ===============

Modelo histérico de núcleo L

Más información aquí


Paso 2 :

Ahora que tiene una idea de cómo puede modelar un par de componentes, ahora debe mirar la hoja de datos y ver qué puede usar para modelar mejor el componente según sus necesidades.

Aquí hay una buena lectura para seleccionar y calcular el circuito equivalente para el comportamiento pasivo cuando se proporciona un gráfico.

Paso 3 :

Genere curvas con configuraciones de prueba en ejecuciones de simulación de especias y modifique los valores de los parámetros para que se ajusten a las curvas.


Estoy agregando una sección sobre MOSFET porque era el componente que intentabas modelar inicialmente y yo también.

MOSFET

Hay dos tipos fundamentalmente diferentes de MOSFET en LTspice, MOSFET monolíticos y un nuevo modelo de MOSFET de potencia de doble difusión vertical.

Los MOSFET de potencia son el área de interés actual y se modelan como MOSFET de potencia verticales de doble difusión: VDMOS

Parámetros de modelo mínimos requeridos

=========== ===========================================
 Parameter     Description 
=========== ===========================================
  Rg         Gate ohmic resistance 
  Rd         Drain ohmic resistance (this is NOT RDSon 
             but the resistance of the bond wire) 
  Rs         Source ohmic resistance. 
  Vto        Zero-bias threshold voltage. 
  Kp –       Transconductance coefficient 
  Lambda     Change in drain current with Vds 
  Cgdmax     Maximum gate to drain capacitance. 
  Cgdmin     Minimum gate to drain capacitance. 
  Cgs        Gate to source capacitance. 
  Cjo        Parasitic diode capacitance. 
  Is         Parasitic diode saturation current. 
  Rb         Body diode resistance. 
=========== ===========================================

La forma de correlacionar el modelo con la hoja de datos está detallada y muy bien modelada en los múltiples artículos publicados por Ian Hegglun. También hay configuraciones de prueba para ajustar las curvas en archivos zip para descargar.

MOSFET: Extracción de parámetros VDMOS de curvas y hoja de datos


Recursos para trazar curvas a partir de hojas de datos


Fuentes:

Debe tener claro lo que quiere decir con componente. Spice modela de forma nativa elementos de circuito de transistores, es conectable para colocar sus propios modelos "C" (no todas las versiones pueden hacer esto), pero luego debe comprender cómo funciona SPICE para hacer los modelos correctamente. Para dispositivos más grandes y complejos, puede usar modelos macro o la tendencia más moderna es usar Verilog-A.