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
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.
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 .subsckt
declaración y el otro usa una .model
declaración.
Para componentes básicos como un MOSFET, es mejor usar una .model
declaració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. Rd
se Rs
pueden 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)
.
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:
.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
=========== ============================== ======= =======
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:
(\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
======= ============================== ======= =======
(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:
=========== ============================== ======= =======
name parameter units default
=========== ============================== ======= =======
VC1 linear voltage coefficient 1/V 0.0
VC2 quadratic voltage coefficient 1/V² 0.0
=========== ============================== ======= =======
(C = C\cdot \left(1+Vc1\cdot V_C+Vc2\cdot V_C^2\right))
=========== ============================== ======= =======
name parameter units default
=========== ============================== ======= =======
IL1 linear current coefficient 1/A 0.0
IL2 quadratic current coefficient 1/A² 0.0
=========== ============================== ======= =======
(L = L\cdot \left(1+Il1\cdot I_L+Il2\cdot I_L^2\right))
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 .
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.
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.
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.
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.
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.
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 -
====== ========================= ===============
Más información aquí
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.
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.
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
=========== ===========================================
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.
david tweed
Todo el mundo
Pushpak Dagade