Transistores

Objetivos

 

  • Conocer el Transistor.
  • El primer circuito con un transistor.
  • Primer encuentro con un motor de continua.
  • Como variar la velocidad del motor mediante PWM.
  •  

    Material requerido

     

    Kit Arduino Uno  Kit inicio UNO
    Kit Arduino MEGA Kit Inicio Mega

     

    Adaptándonos al mundo exterior

     

    En las sesiones previas hasta ahora, hemos influido en el mundo exterior poniendo una orden en los pines digitales de Arduino uno. Por ejemplo poniendo HIGH en un pin y confiando en que esto sea suficiente para gobernar lo que haya detrás, que hasta ahora han sido diodos LEDs.

    Pero la capacidad de Arduino para alimentar ese elemento externo es limitada, y con mucha frecuencia insuficiente para excitar un actuador exterior.Por eso necesitamos elementos externos que reciban la señal de control de nuestro Arduino y adapten este control a las necesidades del mundo exterior.

    Para ello vamos a tener que utilizar elementos como transistores, relés, servos y pequeños motores de diferentes tipos.

  • Los pines digitales de Arduino permiten un máximo de 40 mA o lo que es lo mismo 5V x 40mA = 0,2 Watt.
  • Esto es suficiente para iluminar LEDs o incluso mover un pequeño servo pero es insuficiente para mover un motorcito de corriente continua o de paso a paso.
  • Es importante asegurarnos de que lo que conectemos a los pines no sobrepasen las especificaciones de nuestros Arduinos, porque si los forzamos la cosa acabara oliendo a plástico quemado y un viaje a la tienda de Arduinos a por otro.
  • A lo largo de las sesiones anteriores hemos ido conociendo componentes electrónicos de distintos tipos: Diodos, LEDS, Resistencias, Potenciómetros… y ahora vamos a presentaros otro que es la base fundamental de toda la electrónica moderna, incluyendo la informática, se llama transistor.

    ¡Que no cunda el pánico!  Somos conscientes del terror reverencial que el transistor  inspira entre los aficionados novatos a la electrónica y los novicios de Arduino, pero tranquilos, es mucho más fácil de lo que parece y es un componente muy agradecido en casi cualquier proyecto que podáis imaginar.

    Así que por favor seguid leyendo. Y confio en que acabareis cogiéndole gusto a los transistores.
     

    El transistor

     

    Según la Wikipedia un transistor es un dispositivo electrónico semiconductor utilizado para entregar una señal de salida en respuesta a una señal de entrada, que cumple funciones de amplificador, oscilador, conmutador o rectificador.

    Guauuu, no me extraña el pánico. Vamos a traducir.

    Siguiendo con las analogías que vimos en la sesión 3, entre el flujo de corriente eléctrica y  flujo de agua, resulta que con el agua tenemos una cosa muy similar al transistor. Se llama grifo.

    Si, uno de esos grifos que abrimos y cerramos para ducharnos o lavarnos las manos y que cumplen básicamente dos funciones:

  • Permitir abrir o cortar el flujo de agua (digitalmente SI/NO).
  • Regular la intensidad de dicho flujo, abriendo más o menos el paso.
  • Pues básicamente un transistor es exactamente lo mismo pero construido de otro modo, con diferentes materiales y un poco más rápido de accionar. Un transistor puede trabajar de dos maneras:

  • Permitir o cortar el flujo de corriente.
  • Amplificando una señal de entrada (enseguida volvemos)
  • Cuando un transistor funciona de la primera manera, en modo pasa o no pasa, pero sin medias tintas, decimos que funciona al corte (no pasa) o a saturación (pasa sin restricciones). Y esto es el fundamento de toda tecnología digital moderna: Ordenadores, teléfonos, consolas, relojes digitales. De hecho un transistor en corte es un 0 y en saturación es un 1, (o TRUE / FALSE si preferís).

    Los grifos, tiene tres partes: entrada, salida y control. Los transistores igual, pero se llaman emisor, colector y base (E, C, B).

    Si hacemos funcionar un grifo y vamos moviendo sin parar el control en ambas direcciones, el flujo de salida de agua es proporcional al Angulo del mando en cada momento. Y si la tubería fuese lo bastante enorme estaríamos amplificando enormemente nuestro movimiento manual.

    Cuando hacemos eso con un transistor poniendo en la Base una señal eléctrica variable,  el flujo de corriente entre el Emisor y el Colector sigue la señal de la base pero amplificándola. Se pueden conseguir ganancias enormes con este sistema y es la base de todos los amplificadores electrónicos modernos.

    Cada vez que escuchas música, hay un transistor (o varios) amplificando una señal débil para que puedas escucharla.

  • Todos tenemos clara la idea de lo que es un conductor y un aislante. Los semiconductores son un tipo de materiales que podemos convertir en conductores o aislantes a voluntad, mediante una señal eléctrica. Y que presentan ciertas propiedades interesantes bajo las condiciones adecuadas.
  • Los semiconductores mas típicos y mas extendidos en la fabricación electrónica son el Silicio y el arseniuro de Galio, pero son muchos los materiales, que en mayor o menor medida, presenta un efecto semiconductor
  • La mayor parte de los componentes que conocemos en electrónica, como LEDs, transistores y diodos son semiconductores, y muchos otros menos conocidos como tiristores y hasta láseres de estado solido
  •  

    Nuestro primer circuito con un transistor

     

    Vamos a empezar con un transistor de uso general, que podemos encontrar con facilidad en cualquier sitio: P2N2222. Todos los circuitos que incluyen un transistor se suelen parecer a este:

    Transistor gobernando un motor

    • El transistor es Q1, y normalmente se suele representar inscrito en un círculo.
    • La flecha del emisor indica la dirección de la corriente y que es un transistor NPN, si la flecha tuviera la dirección contraria sería un transistor PNP, pero mejor lo dejamos de momento 
    • M1 es cualquier cosa que vayamos a controlar (como un motor de CC por ejemplo). 
    • Pin9 representa uno de los pines de control de nuestro Arduino cuy señal gobernara el circuito externo.
    •  

      Un circuito así nos permite que la resistencia entre Emisor y Colector sea proporcional a la señal de control que inyectamos en la Base. En este ejemplo un valor de 5V en la Base permite el paso de la corriente sin restricciones. Y para tensiones que vayan decreciendo en la Base (mediante PWM) la oposición al paso es cada vez mayor hasta que en 0V corta por completo el paso.
       

    • Transistor es una acrónimo que deriva del inglés Transfer Resistor
    • Vamos a alimentar nuestra carga con 5V porque no tenemos otra. Pero podríamos conectar 12V, 24V o lo que necesitásemos e ir usando motores más potentes sin preocuparnos de si Arduino puede alimentarlo o no. De hecho se venden transistores capaces de regular corriente alterna domestica a 220V.

      Una ventaja de usar un transistor es que aísla eficazmente el circuito de control de la base de la carga entre Emisor y Colector, haciendo casi imposible que queméis un Arduino con un circuito como este.

    • El número de transistores comerciales es ilimitado (y sus precios también) dependiendo de su función y de su capacidad para soportar diferentes tensiones, mayores cargas, disipar más calor o hacer poco ruido electrónico.
    • No es buena idea buscar transistores raros y caros diseñados para tareas específicas. Mientras no tengáis muy claro porque compráis un transistor caro, es mejor pegarse a los modelos baratos de toda la vida.
    • El P2N2222 lleva muchos años en el mercado por algo. Empezad con él y ya iremos hablando de otros.
    •  

      Circuito para protoboard

       

      Vamos a utilizar un transistor para gobernar la velocidad de rotación de un pequeño motor de corriente continua (CC)., pero este mismo circuito nos permitiría gobernar motores mayores sin más que asegurarnos de que el transistor que empleemos resista la carga.

      Img_13_2  

      Para saber que es cada pin, Sostened el transistor con las patas hacia abajo mirando a la cara plana, donde esta rotulado el nombre. De izquierda a derecha son Emisor, Base y Colector.Esquema de protoboard

    • Importante: Dado que el motor tiene carga inductiva conviene añadir un diodo que proteja el transistor.
    • No es imprescindible, pero un transistor suele ser más caro que un diodo (aunque no mucho) y más difícil de reemplazar.
    •  

      El programa de control del motor

       

      Vamos a empezar por lo sencillo, simplemente, arrancando y apagando el motor sin variar la velocidad.

      const int control = 9 ;
      
      void setup()
      {    
           pinMode(control,  OUTPUT) ;
      }
      
      void loop()
          { 
               digitalWrite(control, HIGH);
               delay(2000);
               digitalWrite(control, LOW);
               delay(1000);
          }

      Ya va siendo hora de que empecemos a coger buenas costumbres, y por eso en la primera línea definimos una constante de tipo entero llamada control, que usaremos en lugar el 9, cuando queramos referirnos al pin de control. [one-fourth]  [/one-fourth][three-fourth last][margin value=»5″ /][fancy-ul style=»rounded-tick»] [three-fourth last][margin value=»5″ /][fancy-ul style=»rounded-tick»]

    • A medida que el tamaño de los programas crecen, un error en un numero de pin puede ser muy difícil de detectar, pero en cambio dándole un nombre, no solo ayuda a que sea más fácil de leer, sino que además, si por cualquier motivo queremos cambiar el pin de control, basta con cambiarlo en un único sitio sin necesidad de recorrer el programa buscando un número concreto.
    •  

      Para ver cómo varía la velocidad podríamos hacer:

      const int control = 9 ;
      void setup()
      {    pinMode(control,  OUTPUT) ; }
      
      void loop()
          {
              for ( int n = 0 ; n < 255 ; n++)
                 {
                     analogWrite (control,  n) ;
                     delay(15) ;
                 }
          }

      Donde escucharemos como va aumentando la velocidad del motor hasta pararse y volver a empezar. La razón es que al variar la tensión en la base del transistor, este limita la corriente que lo atraviesa modificando así la velocidad del motor al que esta conectado. Sería bastante sencillo añadir al ejemplo un potenciómetro, de modo que usemos su valor para variar la velocidad del motor. Ánimo os lo dejo como ejercicio.

      Resumen de la sesión

       

      En este curso de arduino hemos aprendido lo siguiente: 

    • Confío en que los transistores den un poco menos de miedo ahora. La imagen del grifo es cómoda para imaginar la operación del transistor (aunque tiene sus limitaciones).
    • Hemos presentado el P2N2222 un transistor típico para aplicaciones en donde la intensidad de la corriente a regular no pasa de medio amperio y la tensión de emisor no es demasiado alta, hasta 40V.
    • Hemos usado un circuito típico con un transistor para arrancar y parar un motor DC. Pero que también os servirá para otras aplicaciones como manejar tiras de LED de 12V por ejemplo.
    • Cuidado: Una típica tira de LEDs suele moverse sobre 18 Watios con 12V de alimentación, o sea 18W / 12V =1,5 Amperios, más que de sobra para freír nuestro P2N2222. Para esto hace falta otro modelo de transistor (ya hablaremos).
    • Usamos las salidas PWM de Arduino para variar la velocidad de giro del motor.
    • Deja una respuesta