19 votos

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

Puede que este no sea el foro ideal para la pregunta; por favor, migre si un foro es más adecuado para la pregunta.

Estoy buscando un componente para el que mis intentos de localizar un modelo SPICE en línea fueron infructuosos. Sin embargo, hay hojas de datos del componente disponibles para su consulta en línea. El modelo SPICE de un componente probablemente se basa en el contenido de la hoja de datos del mismo...

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

9voto

SandeepJ Puntos 1339

Dependiendo del componente, el método habitual es utilizar una tarjeta .MODEL para los elementos básicos (transistores, diodos) o para componentes más complejos (circuitos integrados como optoamplificadores, reguladores, etc.) puede utilizar un modelo de subcircuito (formado por elementos básicos) o un modelo de comportamiento (que utiliza fórmulas para aproximar el comportamiento).

La complejidad depende de la precisión con la que se simule el componente y requiere un conocimiento bastante detallado del tipo de componente para saber qué parámetros de la hoja de datos son importantes, cómo se traducen en parámetros SPICE, etc.

Para un ejemplo del tipo de parámetros que necesitas conocer (al menos algunos de ellos), en la ayuda de LTSpice busca en LTSpice->Elementos de circuito->Transistor bipolar y mira los parámetros Gummel-Poon.
Tan complejo como parece, puedes usar los valores por defecto para la mayoría y sólo alterar lo básico como el Bf (Beta), Vje(voltaje b-e), Cje (capacitancia del emisor base), Cjc, etc. Es útil mirar los diversos modelos que vienen con LTSpice para tener una idea de las cosas.

La ayuda proporciona mucha información útil, así que léela detenidamente. También "A guide to Circuit Simulation using PSPICE" es un libro medio decente con alguna discusión de los parámetros del modelo. También, google para obtener información sobre los modelos, usted debe encontrar un montón - por ejemplo, aquí es un documento excelente sobre el modelo Gummel-Poon y cómo utilizarlo.

6voto

py_man Puntos 18

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

Sólo para dar un poco más de información aquí: hay dos caminos para crear un modelo de componente. Uno utiliza un .subsckt y el otro utiliza una .model declaración.

Para componentes básicos como un MOSFET, es mejor utilizar un .model declaración. Un MOSFET puede modelarse con la sentencia de plantilla .model XXXX VDMOS(Rg= Rd=5 Rs=1 Vto= Kp= Cgdmax= Cgdmin= Cgs= Cjo= Is= Rb= ) donde los parámetros Rg , Rd , Rs etc. pueden determinarse 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 sentencia .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) .

5voto

Alec Gorge Puntos 152

Después de leer estas respuestas, hacer clic en un par de enlaces, y más enlaces en profundidad, toda una madriguera de conejos de clics, he encontrado un poco de información que voy a hojear como una respuesta actualizada (y para mis propios fines de documentación ;)

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


Para crear tus propios modelos en SPICE para un componente específico tendrás que averiguar lo siguiente:

  1. Cómo modela Spice un componente específico y los parámetros de que dispone
  2. Cómo influye cada parámetro en el comportamiento modelado
  3. Cómo correlacionar la información facilitada en la ficha técnica con el comportamiento modelado

Elementos definidos por el modelo Spice available

.MODEL -- Definir un modelo SPICE

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

Tipo ( Elemento de circuito asociado ) :

SW ( Interruptor controlado por tensión ) , CSW ( Interruptor controlado por corriente ) , URC ( Línea RC uniforme distribuida ) , 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 vertical de doble difusión )

RES ( Resistencia ), CAP ( Condensador ), IND ( Inductor )

nota:esta lista puede no estar completa


Pasivos básicos (R,L,C)

  1. Resistor : Puede definir/ajustar un dependencia de la temperatura
  2. Condensador : Puede definir/ajustar un dependencia de la temperatura , dependencia del voltaje
  3. Inductor : Puede definir/ajustar un dependencia de la 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 a un multiplicador del Factor de Temperatura de la siguiente manera:

Temperature Factor Calculation

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

Resistencia Modelado de temperatura ampliado

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

Extended Resistance Temperature Factor Equation

(TempFactor_{R} = TempFactor \cdot 1,01^{Tce \cdot\Delta T})

T_amb \= es la temperatura global, por defecto 27ºC Puede definirse en TEMP corre

.TEMP 10 20

o barriendo el temp en un análisis de barrido de CC, por ejemplo.

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

Passives Temperature Factor Applied


Dependencia de la tensión (C)

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

Capacitor Voltage coefficient equation

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

Dependencia de la corriente (L)

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

Inductor current coefficient formula

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

Valores iniciales

Esto sólo causará un efecto en la simulación si la 'UIC' (omitir la solución del punto de funcionamiento inicial) en el análisis .tran.

Dentro del modelo también se puede especificar el valor inicial con el parámetro ic donde su valor definirá la corriente inicial en un inductor o la tensión inicial en un condensador. No se aplica a las resistencias.

Los Valores Iniciales también pueden establecerse en un contexto general en Nodos específicos con la función .ic directiva de especias.

Elementos parásitos

Resistencias En este caso, defina un subcircuito como el que se presenta en esta pregunta/respuesta Circuito equivalente de una resistencia no ideal modelando los elementos parásitos.

R parasitics subcircuit 1 R parasitics subcircuit 2

Usted puede elegir el modelo que mejor se adapte a la construcción y aplicación específicas de su resistencia.

En esta nota de aplicación de Vishay sobre resistencias de chip de película fina proporcionan coeficientes de modelo para la variación de los parámetros parásitos en función del tamaño de la caja del coponente smd un tipo de terminaciones terminales.

Condensadores LTSpice tiene el siguiente modelo de elemento parásito.

C parasitics equivalent spice model

En LTSpice, haciendo clic con el botón derecho del ratón sobre el dispositivo se pueden especificar los siguientes componentes parásitos:

Rser, Lser, Rpar, Cpar

Para especificar RLShunt tendrá que (cntrl+clic derecho) y desplazarse hasta SpiceLine o SpiceLine2 y escribirlo manualmente allí. p. ej. RLShunt=0,01

Inductores LTSpice tiene el siguiente modelo de elemento parásito.

L parasitics equivalent circuit spice

En LTSpice, haciendo clic con el botón derecho del ratón sobre el dispositivo se pueden especificar los siguientes componentes parásitos:

Rser, Lser, Rpar, Cpar

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

Definición del modelo

Para definir el modelo cree una directiva spice y colóquela en la hoja:

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

a continuación, introduzca el modelo en su "SpiceModel" (haciendo clic con el botón derecho del ratón) en la resistencia. El mismo procedimiento se aplica a todos los componentes


Definición de comportamientos no lineales

Estas declaraciones son no compatible con definiciones modelo de los pasivos. Se introducen 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

Seguir leyendo aquí

Inductores

Hay dos formas de inductores no lineales disponibles en LTspice. La básica es la siguiente:

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 bucle 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               -
====== ========================= ===============

L core hysteretical model

Seguir leyendo aquí


Paso 2 :

Ahora que ya tienes una idea de cómo puedes modelar un par de componentes, ahora tienes que mirar la hoja de datos y ver qué puedes utilizar para modelar mejor el componente según tus necesidades.

He aquí una lectura agradable seleccionar y calcular el circuito equivalente para el comportamiento de los pasivos cuando se proporciona un gráfico.

Paso 3 :

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


Añado una sección sobre los MOSFET porque era el componente que intentabas modelar inicialmente y el que yo también.

MOSFETs

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

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

Parámetros mínimos requeridos del modelo

=========== ===========================================
 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á extensa y muy bien modelada en los múltiples trabajos publicados por Ian Hegglun. Hay configuraciones de prueba para ajustar las curvas también en archivos zip para descargar.

MOSFET : VDMOS Extracción de parámetros a partir de curvas y hojas de datos


Recursos para trazar curvas a partir de hojas de datos


Fuentes:

2voto

user13107 Puntos 313

Debe tener claro qué entiende por componente. Spice modela de forma nativa los elementos del circuito de transistores, se puede conectar para poner tus propios modelos "C" (no todas las versiones pueden hacer esto), pero entonces tienes que entender cómo funciona SPICE para hacer los modelos correctamente. Para dispositivos más grandes y complejos puedes usar macro-modelos o la tendencia más moderna es usar Verilog-A.

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