bclose

Transistores

Arduino y los Transistores.
tienda online prometec

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.

ArduinoUNOArduino Uno o similarEsta sesión acepta cualquier otro modelo.
Img_3_4Img_3_6Una Protoboard más cables.
componenteImg_3_5Un diodo LED y una resistencia de 330Ω.
2N2222Un transistor 2N2222. Comprobad que lleva rotulada esta referencia, porque el sensor de temperatura es similar.
Motor CC Un Motor de corriente continua.

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

Img_13_4
  • 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.

 
  • 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 como 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. Animo os lo dejo como ejercicio.  

Resumen de la sesión

 

 

    • 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.

 

 

(209) Comments

    • DCDAMIAN

    Hola e estado probando el circuito con el 2N2222A. Hay algo mal o el circuito que esta publicado aquí esta mal. El 2N2222A no amplifica conectado de esa forma.
    Si se conecta todo con 5v de arduino como en el circuito, aparenta amplificar. Pero si se le coloca una fuente externa 12v por ejemplo no amplifica.
    Si funciona bien colocando la carga (el motor) entre el colector y el positivo de la fuente.
    ¿Se entiende? ¿Han comprobado el funcionamiento con 12v?

    • Lo hemos conectado así porque es más fácil de explicar, y para esto nos sirve. Pero la manera más correcta sería como dices, entre la fuente y el colector.

    • Hola DCDAMIAN.
      Aquí, el transistor no se está usando en clase A, B o AB, o sea, no se está usando como amplificador, sino como interruptor o clase E. Dicho de otro modo, se está usando como un driver o circuito que perminte a un microcontrolador manejar cargas de mayor voltaje y potencia.
      Saludos.

    • Luis Matabuena

    Hola, buena publicación, muy clara, pero no acabo de entender de qué forma el led protege al transistor, ¿podría alguien explicármelo más claramente porfavor?

    • Hola Luis, La idea es que la bobina del motor pueda descargar la energia que almace a traves del diodo, pero tiene importancia en casos de mayor potencia (O cuando el transistor que proteges cuesta una pasta) pero puedes presciindir de el directamente

    • Miguel

    Hola. Podrias hacer un tutorial para controlar velocidad con 2 pulsadores???
    Gracias.
    PD: me salvaste la vida con este tutorial.

    • Hola Miguel, estamos un poco escasos de tiempo pero no deberías tener muchas dificultades para hacer eso. Puedes hacer una variable a la que le sumes o restes un número al pulsar y con ella controlar la salida analógica de la base del transistor. Un slaudo.

    • Sergio

    Hola buenas, tengo una duda con un circuito con transistor. Si tengo una alimentación de 9.6V y quiero bajarla a 6.2V. ¿Qué transistor debo usar para poder regularlo con el PWM del Arduino? Es que he probado con una alimentación de 12v y con el 2N2222A y poniendo un valor de 255 solo me llega a 4.65V.
    Gracias y un saludo.

Give a Reply

WordPress Anti-Spam by WP-SpamShield