Cómo simular un mosfet a partir de una hoja de datos en ngspice

En primer lugar, soy bastante nuevo en el lado de la simulación de la ingeniería. Estoy usando gschem para dibujar circuitos simples y estoy usando ngspice desde la línea de comandos para ejecutar la simulación y trazar los resultados.

Hasta ahora he realizado con éxito una simulación con una fuente de voltaje simple y una resistencia. Solo para acostumbrarse al flujo de trabajo básico.

Ahora, lo siguiente que me gustaría lograr es usar un Mosfet en mi simulación.

ingrese la descripción de la imagen aquí

Esto genera la siguiente lista de conexiones:

* gnetlist -g spice-sdb -o sim1.ckt sim1.sch
*********************************************************
* Spice file generated by gnetlist                      *
* spice-sdb version 4.28.2007 by SDB --                 *
* provides advanced spice netlisting capability.        *
* Documentation at http://www.brorson.com/gEDA/SPICE/   *
*********************************************************
*==============  Begin SPICE netlist of main design ============
M1 drain 1 0 unconnected_pin-1 STN2NF10 
V1 Vcc 0 DC 12V
R1 drain Vcc 250  
.tran 1ms 100ms
V2 1 0 pulse(0 5 0s 2ns 2ns 1ms 10ms)
.end

Ahora, cuando intento ejecutar esto, aparece el siguiente error:

Error on line 9 : m1 drain 1 0 unconnected_pin-1 stn2nf10
  Unable to find definition of model stn2nf10 - default assumed 

Lo cual no es realmente una sorpresa, después de todo, ¿cómo debería ngspice conocer las características de todos los componentes en el catálogo de digikey?

Entonces entiendo que tengo que especificar las características de este mosfet. Aquí es donde me quedo atascado. He leído la parte del manual de ngspice (p. 127, lo siento, no tengo suficiente reputación para publicar 2 enlaces: ngspice.sourceforge.net/docs/ngspice-manual.pdf) sobre mosfets, dice la forma general para definir un mosfet es como sigue:

MXXXXXXX nd ng ns nb mname <m=val> <l=val> <w=val>
+ <ad=val> <as=val> <pd=val> <ps=val> <nrd=val>
+ <nrs=val> <off> <ic=vds,vgs,vbs> <temp=t>

El parámetro 'm' es para multiplicidad, entiendo este. Ahora los parámetros 'l' y 'w', estos son el largo y el ancho del canal. ¿Cómo diablos debería ser capaz de saber esto? No están en la hoja de datos con seguridad. Lo mismo para los parámetros 'ad' y 'as', estos son las 'difusiones' de drenaje y fuente.

¿Por qué no podemos simplemente ingresar las características como se indica en la hoja de datos: STN2NF10 ? Vdss, Idss, Igss, Vgs, Rds, etc.

Creo que hay una buena razón por la que es así, probablemente me esté perdiendo o malinterpretando algo.

La pregunta:

¿Cómo simulo un circuito que contiene un Mosfet y transformo los valores en la hoja de datos del mosfet en ngspice?

PD. La misma pregunta es, por supuesto, aplicable a otras partes que no sean mosfets, solo me gustaría quedarme con los mosfets por ahora, para mantener las cosas simples y prácticas.

Respuestas (1)

¿Cómo simulo un circuito que contiene un Mosfet y transformo los valores en la hoja de datos del mosfet en ngspice?

En primer lugar, elija un MOSFET dentro de su sim que ya esté presente y sea compatible. Pruebe esto para asegurarse de que todo parece funcionar.

En segundo lugar, haga doble clic (o cualquier mecanismo que sea necesario) para abrir esa parte MOSFET para que pueda inspeccionar los parámetros. ¿Puedes editarlos? Deberías poder hacer esto.

En tercer lugar, olvídese de tratar de convertir los valores de la hoja de datos en parámetros de especias: simplemente busque el modelo del dispositivo que desea usar y cambie los valores editándolos. A veces, los modelos se escriben en hojas de datos, pero la mayoría de las veces hay que buscar.

Algunos sims te permitirán pegar todo el texto del modelo ASCII en un área especial y esto sobrescribirá los parámetros del modelo contenidos en el dispositivo que elijas. No uso ngspice, así que solo puedo adivinar este bit y qué instalaciones tiene.

El modelo Spice para el STN2NF10 se encuentra en esta página: -

*****************************************************
*     Model Generated by STmicroelectronics         *
*             All Rights Reserved               *
*      Commercial Use or Resale Restricted          *
*****************************************************
* CREATION DATES: 21-04-2006                        *
*                                                   *
* POWER MOSFET Model (level 3)                      *
*                                                   *
* EXTERNAL PINS DESCRIPTION:                        *
*                                                   *
* PIN 1 -> Drain                                    *
* PIN 2 -> Gate                                     *
* PIN 3 -> Source                                   *
*                                                   *
*                    ****C****                      *
*            **********************                 *
*     ***************************************       *
*  PARAMETER MODELS EXTRACTED FROM MEASURED DATA    *
*              <<<<<<<<<<<>>>>>>>>>>>               *
*     ***************************************       *
*   THIS MODEL CAN BE USED AT TEMPERATURE: 25 °C    *
*                                                   *
*****************************************************

* MODELLING FOR STN2NF10

.SUBCKT STN2NF10 1 2 3
LG 2 4  7.5E-09
LS 12 3 7.5E-09
LD 6 1  4.5E-09
RG 4 5  4.001
RS 9 12 0.325E-02
RD 7 6  0.142
RJ 8 7  0.445E-03
CGS 5 9   0.419E-09
CGD 7 10  0.467E-09
CK  11 7  0.307E-10
DGD 11 7 DGD
DBS 12 6 DBS
DBD  9 7 DBD
MOS  13 5 9 9 MOS L=1u W=1u
E1  10 5 101 0 1
E2  11 5 102 0 1
E3  8 13 POLY(2) 6 8 6 12 0 0 0 0  0.321
G1  0 100 7 5 1u
D1  100 101  DID
D2  102 100  DID
R1  101 0  1MEG
R2  102 0  1MEG
.ENDS STN2NF10

.MODEL MOS NMOS
+ LEVEL = 3
+ VTO   = 4.184
+ PHI   = 0.827
+ IS    = 0.1E-12
+ JS    = 0
+ THETA = 0.995
+ KP    = 15.084
+ ETA   = 0.199E-02

.MODEL DGD D
+ IS    = 0.1E-12
+ CJO   = 0.171E-10
+ VJ    = 0.754
+ M     = 0.367
.MODEL DBD D
+ IS    = 0.1E-12
+ CJO   = 0.202E-10
+ VJ    = 0.755
+ M     = 0.335
.MODEL DBS D
+ IS    = 0.1E-12
+ BV    = 117
+ N     = 1
+ TT    = 0.699E-07
+ RS    = 0.505E-02
.MODEL DID D
+ IS    = 0.01E-12
+ RS    = 0
+ BV    = 127

* END OF MODELLING
Ok, gracias por tu rápida respuesta Andy!. ¿Entiendo correctamente que básicamente estamos pasando por alto el modelo MOSFET interno de ngspice con una acumulación de subcircuitos de elementos discretos?
No puedo decir con certeza que tu sim hará esto, pero mi sim lo hará.