¿Qué es y cómo se utiliza un MOSFET?

13
15637
GARD Pro Not Registered
Un MOSFET es un dispositivo semiconductor utilizado para la conmutación y amplificación de señales. El nombre completo, Transistor de Efecto de Campo de Metal-Óxido-Semiconductor (Metal Oxide Semiconductor Field Effect Transistor, MOSFET) se debe a la constitución del propio transistor.

En Panama Hitek hemos publicado antes sobre transistores, específicamente sobre los BJT (Bipolar Jointed Transistor o Transistor de Juntura Bipolar):

Cuando hablábamos de los BJT, mencionamos que existen 2 tipos de transistores, los NPN y los PNP y que cuentan con 3 terminales: la base, el colector y el emisor.

trans

Los MOSFET poseen también 3 terminales: Gate, Drain y Source (compuerta, drenaje y fuente). A su vez, se subdividen en 2 tipos, los MOSFET canal N y los canal P.

MOSFET

Existen diferentes tipos de MOSFET, dependiendo de la forma cómo están construidos internamente. Así, tenemos MOSFET de enriquecimiento y MOSFET de empobrecimiento, cada uno con su símbolo característico. Sin embargo, para efectos de este artículo simplemente consideraremos que los MOSFET de los que vamos a hablar son de enriquecimiento, utilizando la simbología antes presentada.

GARD Pro Not Registered

Ahora que conocemos la simbología, tanto del BJT como del MOSFET podemos establecer lo siguiente:

  • Ambos dispositivos son transistores
  • Ambos dispositivos tienen 3 terminales
  • Ambos dispositivos pueden funcionar como interruptores (o conmutadores) y como amplificadores de señales
  • Físicamente, ambos dispositivos lucen iguales:BJT vs MOSFET
    Ambos dispositivos pueden ser físicamente idénticos si se consideran 2 modelos con el mismo encapsulado. Lo único que hace la diferencia entre ellos es el número de serie, a partir del cual podemos reconocer si se trata de un BJT o un MOSFET.

Entonces… ¿cuáles son las diferencias entre un MOSFET y un BJT?

Debemos empezar mencionando la composición interna de ambos. Un transistor está constituido por elementos semiconductores, normalmente Silicio. Es aquí donde se mencionan algunos conceptos como dopaje, impurezas, regiones n y p, entre otros. Profundizar en este tema merece un post dedicado a ello. Por ahora, simplemente presentaremos una representación gráfica de la estructura del MOSFET comparada a la del BJT.

BJT vs MOSFET

GARD Pro Not Registered

Como vemos, el MOSFET posee una composición un poco más complicada e incluye además de las regiones n y p, una capa de óxido metálico, de donde proviene su nombre. Sin embargo, la composición interna del MOSFET no es lo que nos interesa en este escrito. Nunca está de más mencionar los conceptos teóricos, por supuesto.

Los MOSFET son sumamente utilizados en electrónica digital, disciplina en la cual han desplazado a los BJT a través del tiempo. En un principio los transistores BJT causaron una revolución en el mundo de la electrónica, permitiendo lograr avances a pasos agigantados en comparación con los desarrollos que se daban en la época anterior al descubrimiento del transistor. El surgimiento del MOSFET fue posterior al del BJT, pero las ventajas que ofrece su uso, especialmente en la electrónica de microcontroladores, ha trazado una línea divisoria entre las aplicaciones donde se utiliza el BJT y aquellas donde es mejor utilizar un MOSFET. Pero, ¿qué es lo que hace la diferencia?

Hagamos una comparación entre una aplicación en la cual necesitamos conmutar una carga sencilla, en este caso un motor. Utilizando un simulador, vamos a crear un circuito que nos permite encender y apagar un Motor DC de 12 voltios y 1.5 amperios con un microcontrolador. Podemos pensar en un Arduino o en un RoboTX Controller de fischertechnik. Si se usa un RTC, la señal de control es de 9 voltios y entrega un máximo de 250 mA. Si es un Arduino, la señal de control es de 5 voltios y entrega un máximo de 40 mA.

Pensemos que el motor será controlado por un Arduino, osea que para encender el motor contamos con 5 voltios y 40 mA, lo cual es menos voltaje y menos corriente que la que necesita el motor (12 voltios y 1.5 A, donde 1A = 1000 mA, así que debemos entregar 5V y 1500 mA). Esto no significa que el Arduino no sea capaz de encender el motor que queremos utilizar.

Para ello podemos utilizar MOSFET o BJT. Veamos cómo sería el circuito con BJT:

Motor BJT

Para que el motor funcione debe estar conectado entre 12 Voltios y GND. Vemos que una de las terminales del motor está conectada a 12V pero la otra está conectada al transistor NPN (a través del colector). El otro extremo del transistor (emisor) está conectado a GND. Cuando se aplica una señal a la base del transistor, este se satura y se transforma en un circuito cerrado, el cual conecta un terminal del motor a GND. Esto permite que el motor empiece a funcionar, debido a que se cumple la condición donde un terminal está conectado a 12V y el otro a GND.

La señal aplicada a la base del transistor la proporciona el microcontrolador, representado como una fuente de 5 voltios con  un interruptor. El funcionamiento del circuito lo podemos apreciar en la siguiente animación:

GARD Pro Not Registered

Motor BJT

Hemos logrado con una señal de 5 voltios mover un motor de 12 voltios que consume 1.5 amperios. Sin embargo, esto no significa que lo hemos logrado de la mejor forma posible. Hagamos un análisis de los voltajes y los flujos de corriente en el circuito. Para ello utilizaremos instrumentos de medición, amperímetros y voltímetros.

Motor BJT

Se ha reemplazado la resistencia de base por una resistencia variable. Los medidores utilizados pretenden comprobar que se cumplan las condiciones esenciales para este circuito:

GARD Pro Not Registered
  • La corriente de base debe ser mínima, ya que esta corriente la proporcionará el controlador. La función de un microcontrolador es entregar señales de control (voltajes), no corriente. Entre menor sea la corriente de base, más eficiente será el circuito de control.
  • La corriente de colector debe ser cercana a los 1.5 amperios que consume el motor. El motor trabaja en condiciones óptimas cuando recibe 1.5 amperios, por lo cual se debe procurar que pueda recibir dicha cantidad de corriente.
  • El voltaje en los terminales del motor debe ser lo más próximo a 12 voltios
  • El voltaje colector-emisor debe ser lo más cercano a 0 voltios, para evitar caídas de voltaje que reduzcan el voltaje en los terminales del motor y para reducir el consumo de potencia del motor.

Dentro de lo posible, el circuito de control debe comportarse de la siguiente forma:

Untitled

Como vemos, un voltaje cercano a 12 voltios en las terminales del motor, una corriente cercana a 1.5 amperios, un voltaje cercano a 0 voltios en el conmutador (interruptor). 1.48 mV es 0.00148 voltios, es decir, casi cero. El transistor que utilicemos debe ser como el interruptor de la animación, con una caída de voltaje insignificante.

Veamos las corrientes y las caídas de voltaje cuando utilizamos un circuito con un transistor. Utilizaremos una resistencia de 1 KΩ como resistencia de base.

Motor BJT-01

De las 4 condiciones esenciales que se deben cumplir, solamente una es considerada como adecuada (la corriente de base). Este circuito no es adecuado para el control del motor. Podemos probar modificando el valor de la resistencia de base a un valor más alto o a un valor más bajo y comparar los resultados.

Motor BJT

 

Los resultados demuestran que el utilizar una resistencia de base de un valor bajo (en este caso 100Ω) mejora notablemente las condiciones del circuito de control con respecto a los resultados obtenidos con un valor de resistencia alto (sea 1KΩ o 2KΩ). Sin embargo, no podemos escoger un valor de resistencia al azar, ya que el valor de 100Ω que utilizamos provoca una corriente de base de 40mA, los cuales debe proporcionar el microcontrolador. En el caso de Arduino, la corriente máxima que podemos obtener de un pin digital, como ya dijimos, es de 40 mA, por lo que Arduino podría controlar perfectamente el motor (la corriente de base es 40,15 mA, lo cual es un valor tolerable).

Aún así, el Arduino como microcontrolador debe entregar señales de voltaje, no de corriente. Someter el microcontrolador a una corriente de 40mA (una corriente pequeña) durante un periodo de tiempo terminará estropeando nuestro dispositivo. Y ese es el problema con los BJT: requieren de una corriente de base para su funcionamiento. Esta corriente termina uniéndose a la corriente de colector para formar la corriente de emisor, la cual es la suma de ambas. Esto lo podemos observar en los diagramas presentados (por ejemplo, 1.42 +  0.04015 = 1.46).

Si deseamos conmutar cargas de corrientes pequeñas (menores a 2 amperios) podemos utilizar los BJT. A medida que aumente la corriente de carga del dispositivo que deseemos controlar, la corriente de base irá aumentando y llegará el momento donde el propio BJT terminará dañando el controlador al exigirle demasiada corriente.

Es aquí donde consideramos los MOSFET. A continuación veremos un circuito sencillo de conmutación con un MOSFET.

MOSFET Motor

Este circuito en teoría es correcto, sin embargo en la práctica se acostumbra utilizar una resistencia pull-down entre la compuerta y tierra. Esta resistencia debe ser de un valor alto, ya que a través de ella cruzará una corriente que se mantendrá constante. Entre mayor sea el valor de la resistencia pull-down, menor corriente de desperdiciará y más eficiente será el circuito. El circuito correcto para un conmutador a base de MOSFET es el siguiente:

MOSFET Motor

Este circuito, por supuesto, cumple con su función.

MOSFET

Pero, ¿qué tan eficiente es?. Después de todo, con un BJT se logró una simulación exitosa, pero que en la práctica comprometería la integridad del microcontrolador. Utilicemos nuevamente los medidores de voltaje y corriente para determinar si el circuito utilizado es eficiente o no.

MOSFET

Vemos que se cumplen todas las condiciones necesarias para considerar al MOSFET un buen conmutador. ¿A qué se debe esto? El MOSFET no requiere de una corriente en la compuerta, sino que se trata de un transistor conmutado por voltaje, a diferencia del BJT que es un transistor conmutado por corriente. Esto hace que este dispositivo sea el más utilizado actualmente en electrónica digital.

En cuanto a los microcontroladores, estos podrán controlar cargas de altos voltajes y corrientes significativas utilizando una señal de voltaje, sin tener que entregar una corriente. En el diagrama mostrado, hay una pequeña corriente de 500 microamperios saliendo de la fuente de 5 voltios, lo cual es insignificante. Esta corriente se va a través de la resistencia de 10K. Si aumentamos este valor, la corriente que entregará el microcontrolador será aún menor y el comportamiento del circuito no se verá afectado.

Los MOSFET tienen también la ventaja de ser capaces de conmutar señales de alta frecuencia, debido a un tiempo de conmutación en el rango de los nanosegundos . La desventaja es la incapacidad de manejar altos niveles de corriente. Para corrientes altas el BJT siempre será el mejor, aunque debemos recordar que entre mayor sea la corriente de carga, más aumenta la corriente de base. Para resolver este tipo de situaciones se ha diseñado un tipo especial de transistor conocido como IGBT (Insulated Gate Bipolar Transistor) el cual es una combinación de un MOSFET y un BJT, aprovechando las características de alta impedancia de entrada del MOSFET y el manejo de corriente del BJT.

IGBT

Los IGBT, sin embargo, merecen un post exclusivo para ellos, el cual planeamos compartir con ustedes en el futuro. Al final, podemos concluir lo siguiente:

  • ¿Qué es un MOSFET? Es un transistor, similar a un BJT en cuanto a funciones pero diferente en cuanto a estructura interna y modo de funcionamiento. Los BJT funcionan con señales de corriente, mientras que los MOSFET funcionan con señales de voltaje, lo cual hace de los últimos la herramienta por excelencia para el control digital.
  • ¿Para qué se utiliza un MOSFET? Estos dispositivos se utilizan en la conmutación de cargas de alta velocidad, dado su tiempo de respuesta mínimo. Se utilizan para el control digital de cargas de mayor corriente y mayor voltaje que los valores nominales que puede soportar un microcontrolador. Son muy buenos en la amplificación de señales analógicas, especialmente en aplicaciones de audio. Al igual que los BJT, poseen múltiples funciones en diferentes tipos de aplicaciones en el mundo de la electrónica, de las cuales solo hemos estudiado la conmutación y apenas mencionado la amplificación de señales.

Esperamos que la información mostrada sea de su comprensión. Cualquier duda, sugerencia o comentario es bienvenido en nuestra sección de comentarios. Saludos.

  • Lopez Juan

    Excelente post mil gracias pude entender bien las diferencias gracias

    • Antony García González

      Gracias

  • Mario Mendoza

    Muy buen post, una pregunta, si quisiera conmutar un voltaje de 2000v a 100mA , que Mosfet o IGBT me recomendarias? Muchas gracias de antemano.

  • Ariel Gonzales

    me gusto

    • Antony García González

      (Y)

      • Ariel Gonzales

        (Y)

  • B.D.U.

    Muy buen artículo, enhorabuena.

    Sin embargo me gustaría indicarle que sería conveniente añadir una nota en la parte en la que habla de la intensidad máxima que soporta cada pin de las placas arduino, puesto que es diferente según el modelo de placa Arduino.

    En el caso concreto de la placa Arduino Mega 2560, la intensidad máxima por pin es de 20 mA, siendo la recomendada de 10 mA. En este caso, hacer circular una corriente de 40 mA por un pin sería nefasto.

    Le dejo un enlace al pinout de la Arduino-Genuino Mega 2560:
    http://www.pighixxx.com/test/portfolio_category/mega2560/#prettyPhoto%5Bgallery282%5D/0/

    También un enlace a las características de la Arduino-Genuino Mega 2560:
    https://www.arduino.cc/en/Main/arduinoBoardMega2560

    Nota: Un rápido vistazo por las placas disponibles a día de hoy (09/ENE/2017), me lleva a confirmar la importancia de revisar las especificaciones de cada placa antes de conectar algo a ellas:
    – Arduino UNO (ATmega328P): 20 mA por pin.
    – Arduino 101 (Intel Curie): 20 mA por pin.
    – Arduino Micro (ATmega32U4): 20 mA por pin.
    – Arduino MEGA (ATmega2560): 20 mA por pin.
    – Arduino ZERO (ATSAMD21G18, 32-Bit ARM Cortex
    M0+): 7 mA por pin.
    – Arduino MKR1000 (SAMD21 Cortex-M0+ 32bit low power
    ARM MCU): 7 mA por pin.

    Un saludo.

    • Antony García González

      Gracias por el comentario. Casi siempre escribo pensando en Arduino UNO pero sí, si tiene razón

    • Antony García González

      Hola. Si es correcto. Cuando hablé de 40mA es para el Arduino UNO. Ptros modelos tienen corrientes máximas diferentes tal como usted resalta

  • Luis M Peña

    Que buen artículo. Saludos!

    • Antony García González

      Gracias amigo

    • Antony García González

      Gracias amigo