Motores de Corriente continua

Objetivos

 

  • Presentar los motores de corriente contínua.
  • Comprender las bases de funcionamiento.
  • Montar un circuito típico de uso y control de los motores CC.
  • Montar un variador de velocidad del motor
  •  

    Material requerido.

     

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

     

    Los motores de corriente continua, o motor CC

     

    Es difícil moverse por nuestro mundo sin tropezarte con motores eléctricos de todos los tipos y tamaños. Desde los pequeños con los que arrancas el coche cada mañana a los muy pequeños que mueven tu reproductor de CDs o DVS, al que hace girar el microondas con el que te calientas el café al levantarte, estamos rodeados de motores eléctricos.

    Podemos comprar desde grandes motores trifásicos, de corriente alterna, de gran potencia para labores industriales hasta pequeños motores de corriente continua para mover las ruedas de un pequeño coche de control remoto.

    En sesiones previas, ya presentamos una introducción a como gobernar servos o pequeños motores de CC, pero ha llegado el momento de dedicarles un poco más de tiempo y detalle a ver lo que son y cómo usarlos en nuestro proyectos de Arduino.

    Y como siempre es preferible empezar por el principio vamos a comenzar con los motores de corriente continua y viendo cómo podemos controlarlos.

    Estoy seguro, de que todos estaréis familiarizados con el hecho de que los imanes tienen un polo positivo y otro negativo y que mientras que los polos opuestos se atraen, los iguales se repelen.

    Imanes

    Hay una relación muy estrecha entre la corriente eléctrica y los campos magnéticos que definen las ecuaciones de Maxwell (Ya estamos otra vez) y  resulta que cuando hacemos circular una corriente por un conductor que está inmerso en un campo magnético, este se ve sometido a una fuerza mecánica, que llamamos electromotriz y que podemos usar como principio básico de funcionamiento de un motor eléctrico

    Desde un punto de vista práctico, si hacemos circular una corriente por un hilo que está entre los polos de un imán, aparecerá una fuerza mecánica que se opondrá a los cambios de esta corriente e intentara hacer girar el conductor para compensarlos.

    La fuerza que aparezca será proporcional a la intensidad del campo magnético, y a el número de conductores que sean recorridos por la corriente, (por eso lo que hacemos es arrollar espiras de cobre o devanados alrededor de un núcleo, para que la fuerza aumente).

    Todos los motores eléctricos disponen de dos partes básicas:

    • El estator o parte inmóvil que por regla general incluye o bien imanes potentes fijos o generan un campo variable mediante corriente alterna (Lo que nos llevaría a construir un motor de corriente alterna claro)
    • El rotor, en el que disponemos espiras o arrollamientos de hilos de cobre alrededor de un núcleo, para que la fuerza que se ejerce sobre el rotor se multiplique proporcionalmente a este número

    La idea final es que podemos diseñar motores de corriente continua sencillos para que esta fuerza sea máxima.

    Claro que a medida que la fuerza electromotriz hace girar una fracción de vuelta el rotor, al final nos encontraríamos que, llegaríamos a una posición de equilibrio, lo que no nos conviene en absoluto porque se pararía el giro del motor.

    Por eso tenemos que complicar un poco más el asunto y asegurarnos de que disponemos de múltiples grupos de espiras en distintas posiciones, de forma que cuando un grupo alcance el equilibrio el otro tome el relevo y el motor siga girando.


    Ilustra el giro del motor

    Fijaros en los bloques negros marcados como + y – (Que llamamos escobillas) que se mantienen estáticos mientras alimentamos con corriente eléctrica una pareja de espiras con devanados opuestos. Cuando llegan al punto de equilibrio, desconectan ese juego de espiras y  las escobillas alimentan el siguiente juego de espiras durante una fracción de vuelta… y vuelta a empezar.

    De ese modo siempre hay un juego de espiras conductoras fuera de la posición de equilibrio que se ve sometido a la fuerza electromotriz y obliga al motor a girar buscando un equilibrio (Como en el caso de los imanes) al que nunca le permitimos llegar.

    Vista interior

    Esquema interior

    En esta imagen izquierda podéis apreciar los arrollamientos de hilo conductor, para un pequeño motor de corriente continua. En la animación de la derecha, podéis apreciar el conjunto girando, y donde Shaft, es el eje de giro. Brushes son las escobillas. Rotor coils son los devanados de hilo conductor y Magnets son imanes.

     

    Controlando un motor de CC con Arduino

     

    En la sesión transistores, vimos que era muy fácil hacer girar un pequeño motor mediante un transistor que regulase la intensidad de corriente que le entregamos.

    En aquella sesión nos centramos casi en exclusiva en el transistor, para presentar este componente, que vamos a utilizar una y otra vez, y prácticamente usamos el motor como excusa sin entrar en el tema. Pero en esta ocasión queremos poner el foco en el motorcito y como lo controlamos y por eso vamos a volver a este ejemplo, pero complicándolo un poco más (Que le vamos a hacer), añadiendo un potenciómetro que nos permita variar la velocidad de giro el motor.

    Para ello usaremos un motor de continua, de 5V, con rueda, que podéis encontrar por muy poco dinero y que nos viene de perlas para apreciar el de giro.

    Como cualquier motor, por pequeño que sea consume más de lo que uno de los pines de nuestros Duinos pueden proporcionar, necesitamos usar un transistor como el 2N2222 para alimentarlo. Y usaremos uno de los pines de Arduino para gobernar este transistor.

    Vamos a repetir el montaje que vimos en la sesión transistores con este motorcito. Os incluyo copia del esquema eléctrico que usamos allí y del diagrama de pines del transistor.

    Transistor gobernando un motor

     

     

    Detalle pines

    Aquí tenéis el esquema inicial sin potenciómetro para que comprobéis las conexiones del motor y que funciona correctamente, antes de seguir.

    Protoboard transistor motor

     

    Para comprobar que el motor funciona, podéis cargar este pequeño programa, que simplemente varia la tensión que ponemos en el pin 9 para modificar la velocidad de giro del motor:

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

    Que como veréis, simplemente pone un valor analógico en el pin 9. Podemos controlar la velocidad del motor variando la intensidad de tensión que ponemos en la base del transistor, ya que esta regula la resistencia que el transistor presenta entre emisor y colector.

    A 0V el transistor entra en corte (Resistencia infinita) y a 5V está en saturación, con lo que presenta resistencia nula.

    • No supongáis que podemos hacer que el motor gire de forma continua para todos los valores de tensión en la base. Por debajo de un cierto umbral se parará y solo girará cuando este se supere.
    • Al hacer crecer el valor de tensión que le damos al motor, la velocidad de giro, irá aumentando progresivamente.  

    Aquí os pongo un pequeño video con el resultado:

    Vamos a probar ahora a colocar un potenciómetro conectado a la puerta analógica A1, cuya lectura usaremos para variar la señal que ponemos en la base del transistor. Con ella variaremos la velocidad de giro.

    La idea es que a medida que aumentamos o disminuimos la tensión en la base del transistor, la caída de tensión en este varia de forma acorde haciendo que el motor reciba más o menos tensión y esto se traduce en una cambo de su velocidad de giro.

    Y un programa que lee el potenciómetro y varía la velocidad de giro en consonancia puede ser algo como ésto:

    const int control = 9 ;
    
    void setup()
      {    pinMode(control,  OUTPUT) ;
           Serial.begin(9600);  
      }
    
    void loop()
      {
           int n = analogRead(A1)/ 4;     // Las lecturas analogicas van hasta 1024 y no hasta 255
           Serial.println(n);
           analogWrite (control,  n) ;
           delay(200) ;
       }

    Aquí os pongo un video con el resultado:

    Así pues, controlar un pequeño motor de corriente continua es bastante fácil, pero… hasta ahora el motor siempre gira en la misma dirección. ¿Cómo podemos hacer para que invierta su sentido de giro?

    Esto queridos amigos será el motivo de la la próxima sesión, porque para eso necesitaremos sofisticar un poco más el circuito

     

    Resumen de la sesión

     

  • Hemos visto los principios basicos de los motores de corriente continua.
  • Revisamos un típico circuito de alimentación y control.
  • Vimos que la velocidad de giro es proporcional a la tensión que aplicamos en bornas del motor.
  • Vimos como variar la velocidad usando esta idea.
  •  

    Deja una respuesta