Buscar en este blog

martes, 25 de mayo de 2010

Curva característica $V_{DS}-I_{DS}$ de un transistor nMOS

Si se busca en la Wikipedia, se pueden obtener las siguientes curvas características $V_{DS}-I_{DS}$ para un transistor nMOS a distintos voltajes $V_{GS}$ (Gate-Source) constantes:

Curvas características $V_{DS}-I_{DS}$ de un transistor nMOS para distintos voltajes $V_{GS}$ fijos

En este post intento reproducir una de estas curvas usando el simulador NgSpice en GNU/Linux.

Circuito a utilizar

El circuito a utilizar tiene la siguiente forma:
Circuito utilizado

Lo que debemos hacer es crear un archivo de texto que lo describa. Para ello creamos un archivo de texto de nombre "nmos.net" (o cualquier otro nombre pero que termine en ".net") y en el mismo escribimos el siguiente texto (donde las líneas que comienzan con * representan comentarios):

****************************************
** Curva Vds-Ids de un transistor nMOS
****************************************

*Voltaje Vgs=4V que va entre los terminales "gate" y 0
Vgs gate 0 dc +4V

*Voltaje Vds que va entre los terminales "amp" y 0
Vds amp 0 dc +7V

*Coloco una fuente de voltaje de 0V para poder medir la corriente Drain-Source
Vamperimetro amp drain dc 0V

*Coloco el transitor NMOS: drain gate source body name largo ancho
M1 drain gate 0 0 nmos L=10u W=110u

*Modelo del transistor nmos
.model nmos nmos (kp=20u Vt0=1V lambda=0.01)

.END


Notar que al voltaje $V_{GS}$ le dí el valor de 4V y a $V_{DS}$ de 7V. Al primero de estos voltajes ($V_{GS}$) lo voy a mantener constante durante el análisis pero al segundo ($V_{DS}$) lo voy a hacer variar para obtener la curva característica del transistor.

La fuente de voltaje $V_{amperimetro}$ (de 0 Volts) sirve solamente para poder medir la corriente que circula por ella y por lo tanto para medir la corriente $I_{DS}$ que circula de Drain a Source en el transitor.

Otra opción para generar el archivo de texto ".net" que describe al circuito, es utilizar el programa "gschem", que permite "dibujar" el circuito en forma gráfica y luego exportarlo a un archivo ".net".

Simulación

Abrimos una línea de comandos (consola). Allí accedemos al programa ngspice mediante el comando:

$ngspice

Cargamos la netlist creada (el archivo ".net") mediante el comando:

>source Desktop/nmos.net

En mi caso estaba parado en "/home/nombre_usuario" al abrir el ngspice y tengo el archivo "nmos.net" en el escritorio (/home/nombre_usuario/Desktop) y por eso uso Desktop/ para indicarle al ngspice que, desde el directorio actual (/home/nombre_usuario/) debe moverse al directorio /home/nombre_usuario/Desktop y allí se encuentra el archivo "nmos.net". En general el comando a ingresar será:

>source ruta_al_archivo/nmos.net

Una vez que se tiene cargado el archivo que describe al circuito, podemos realizar el análisis que queramos. En este caso lo que hago es, para un voltaje $V_{GS}$ fijo (cuyo valor es de 4V y está dado en el archivo "nmos.net"), ir variando el valor del voltaje $V_{DS}$ y midiendo la corriente $I_{DS}$. Para esto utilizo el comando:

>dc vds 0 8V 0.001

Esto realiza un "barrido" de la fuente $V_{DS}$ desde 0 Volts hasta 8 Volts con pasos de 0.001 Volts.

Finalmente grafico los resultados para obtener la curva característica deseada:

>plot I(Vamperimetro).

Resultado

El resultado es el siguiente:

Curva obtenida mediante el simulador NgSpice en GNU/Linux

En el gráfico se pueden ver la zona del triodo a la izquierda y la zona de saturación a la derecha.

Para que la gráfica no tenga fondo negro y quede mejor para mostrarla en este blog, escribí lo siguiente en la línea de comandos:

>set color0=rgb:f/f/f
>set color1=rgb:0/0/0

Y luego graficar de nuevo.

Referencias

1 comentario:

  1. Slot machines are good for casino, but are they worth it? - Dr.
    The vast majority of slot machines were rigged, but when compared to 동해 출장마사지 the majority of 부천 출장안마 them, 서울특별 출장마사지 you get the 의정부 출장샵 thrill of 구미 출장마사지 casino playing

    ResponderEliminar