Arduino – Capítulo 11 – Molinillo de papel motorizado

Molinillo

Por varios motivos, controlar motores con Arduino es más complicado que controlar leds. En primer lugar, un motor requiere más corriente de la que los pins de salida de Arduino pueden proporcionar. En segundo lugar, un motor puede generar su propia corriente mediante un proceso llamado inducción, el cual, puede dañar nuestro circuito si no lo hemos tenido en cuenta. De todas formas, los motores nos permiten mover objetos físicos, haciendo que nuestros proyectos sean más excitantes. ¡Las complicaciones valen la pena!

Mover objetos consume mucha energía. Normalmente los motores precisan más corriente de la que Arduino les puede proporcionar. Además, algunos motores requieren un voltaje elevado. Para poder empezar a moverse y teniendo un objeto pesado adherido, un motor consume toda la corriente que le es posible. Nuestro Arduino tan solo puede suministrar 40 miliamperios (mA) de sus pines digitales, muchísimo menos de lo que los motores necesitan.

Los transistores son componentes que nos permiten controlar elementos de alto voltaje e intensidad desde las salidas de baja corriente de nuestro Arduino. Existen diferentes maneras, pero todas se basan en el mismo principio. Debemos pensar en los transistores como interruptores digitales. Cuando suministramos tensión a uno de los pins del transistor, llamado base (gate en inglés), se cierra el circuito entre los otros dos pins, llamados emisor y colector (en inglés, drain y source respectivamente). De esta manera, podemos activar o desactivar un motor de tensión y corriente elevadas con nuestro Arduino.

Tipos de transistoresDiferentes tipos de transistores

 

Simbolo del transistorSímbolo eléctrico del transistor

 

Los motores son un tipo de dispositivo de inducción. La inducción es un proceso por el cual, una corriente eléctrica variable que pasa por un cable, puede generar un campo magnético también variable alrededor de dicho cable. Cuando a un motor se le suministra electricidad, una bobina de cobre firmemente enrollada dentro de un armazón crea un campo magnético. Este campo provoca que el eje (la varilla que sale del armazón) comience a girar.

Motor DCEjemplo de motor de corriente continua

 

Al contrario también funciona: un motor puede generar electricidad cuando el eje está girando. Probemos de conectar un led a los dos terminales del motor, a continuación, giremos el eje con nuestra mano. Si no ocurre nada, giraremos dicho eje en sentido contrario. El led se encenderá. Acabamos de crear un pequeño generador a partir de nuestro motor.

Cuando dejamos de suministrar energía a nuestro motor, este continuará girando debido a la inercia. Mientras siga girando, dicho motor generará un voltaje en dirección opuesta a la corriente que le estábamos suministrando inicialmente. Hemos podido ver este efecto al usar nuestro motor para iluminar un led. Esta tensión inversa, a veces denominada tensión de retorno, puede dañar nuestro transistor. Por esta razón, pondremos un diodo en paralelo al motor, y que de esta manera dicha tensión de retorno pase por el diodo y no por nuestro transistor. El diodo solo permite el paso de la corriente en un sentido, protegiendo de esta manera al resto del circuito.

DiodoUn diodo y su símbolo eléctrico

 

Montando el circuito

Para montar el circuito de este proyecto necesitamos los siguientes componentes:

– 1 Transistor MOSFET.

– 1 Resistencia de 10KΩ.

– 1 Diodo 1N4007.

– 1 Motor de corriente continua.

– 1 Batería de 9V.

– 1 Conector que nos permita enlazar la batería a la protoboard.

– 1 Pulsador.

Una vez tenemos los componentes necesarios, debemos seguir los pasos siguientes:

1 – Conectar la alimentación del Arduino a la protoboard.

2 – Añadimos un pulsador, conectando la patilla de entrada a la alimentación y la de salida al pin digital 2 del Arduino. Añadiremos también la resistencia de 10KΩ entre la patilla de salida del pulsador y tierra.

3 – Cuando utilicemos circuitos con diferentes voltajes, debemos conectar sus tierras de forma conjunta, para de esta manera conseguir una tierra común. Seguidamente conectamos la batería de 9V a la protoboard. Unimos mediante un cable, la tierra de la batería con la del Arduino en la protoboard. Finalmente, conectamos la otra patilla del motor a la alimentación de 9V.

4 – A continuación, colocaremos el transistor en la protoboard. Hay que tener en cuenta que la cara metálica de dicho transistor no debe de quedar mirando hacia nosotros. El siguiente paso será conectar el pin digital 9 al pin izquierdo del transistor. A este pin se le denomina base. Un cambio de voltaje en la base provoca la conexión entre los otros dos pines del transistor. Seguidamente conectaremos uno de los terminales del motor al pin central del transistor. A dicho pin se le llama colector. Cuando Arduino activa el transistor suministrándole tensión a la base, el colector se conectará con la tercera patilla, llamada emisor. Finalmente conectamos el emisor a tierra.

5 – Seguidamente, conectaremos la fuente de 9V al motor y a la protoboard. El último componente que nos queda es el diodo. Dicho elemento es un componente polarizado, esto quiere decir que solo permite el paso de la corriente en un sentido. Si nos fijamos en dicho diodo, veremos que en uno de sus extremos tiene pintada una línea blanca, dicha línea nos indica el polo negativo del diodo o cátodo. El otro extremo es el positivo o ánodo. Conectaremos el ánodo del diodo a la tierra del motor y el cátodo al positivo del mismo. De esta manera, nuestro diodo protegerá al circuito de la tensión de retorno producida por el motor, impidiendo que entre en el circuito. Recordemos que dicha tensión de retorno fluye en dirección opuesta a la de la tensión que le suministramos al motor.

 

Terminado de montar el circuito, deberíamos de tener algo parecido al mostrado en la siguiente figura.

Diseño de protoboard

 

El esquema eléctrico correspondiente sería:

Esquema de conexiones

El código

Comencemos por comentar paso a paso el código fuente con el que vamos a programar nuestro Arduino.

El código es notablemente similar al utilizado por primera vez para encender un led. Lo primero de todo es establecer unas constantes para los pines del motor y del pulsador y una variable de nombre switchState para almacenar el valor del pulsador.

const int switchPin = 2;
const int motorPin = 9;
int switchState = 0;

En la función setup(), declararemos el pin del motor como salida (OUTPUT) y el del switch como entrada (INPUT).

void setup() {

    pinMode(motorPin, OUTPUT);
    pinMode(switchPin, INPUT);

}//Fin de la funcion setup.

Seguidamente, en la función loop(), nos centraremos en comprobar el estado de switchPin mediante digitalRead().

Si el pulsador ha sido presionado, le mandaremos un valor HIGH a motorPin. Si no ha sido presionado, le mandaremos un valor LOW. Cuando el valor de motorPin es HIGH, el transistor se activará, cerrando el circuito del motor. Por contra, cuando es un valor LOW, el motor no girará.

void loop() {

    switchState = digitalRead(switchPin);

    if (switchState == HIGH) {
        digitalWrite(motorPin, HIGH);

    }
    else {
        digitalWrite(motorPin, LOW);

    }

}//Fin de la funcion loop.

 

Puesta en marcha

Para este proyecto podemos utilizar como molinillo un cd, el cual, pintaremos con los colores que más nos gusten, como por ejemplo, una espiral en blanco y negro a modo de hipnotizador. A continuación miraremos la forma más adecuada de encajarlo al eje del motor, ya sea mediante un pequeño trozo de madera o cualquier otro sistema que se nos ocurra. Seguidamente, conectaremos la batería de 9V a la protoboard y alimentamos nuestro Arduino con el cable usb tal y como hemos hecho en proyectos anteriores. Tras esto, cuando accionemos el pulsador de la protoboard, el motor comenzará a girar rápidamente.

 

Conclusión

En este proyecto hemos aprendido que es un transistor, un motor de corriente continua y un diodo que no es un led. De igual modo, ahora sabemos que si queremos conectar motores a nuestro Arduino que requieren una tensión relativamente elevada (en comparación a la que usa Arduino), debemos proteger al resto del circuito de las tensión de retorno. Pero…, ¿y si añadimos algún que otro led para indicar si el motor esta encendido o no?

 

Espero que os haya gustado.

Un saludo y muchas gracias por leer este artículo.  ^_^

 

Referencias

– Artículo basado en el capítulo “Project 09 – Motorized Pinwheel” del libro “Arduino Projects Book” distribuido por Arduino.cc junto con su “The Arduino Starter Kit“.

– Más información acerca de los diodos: https://es.wikipedia.org/wiki/Diodo

– Más información acerca de que es un transistor: https://es.wikipedia.org/wiki/Transistor

– La Universidad de Granada nos ofrece un vídeo muy ilustrativo de que es y como funciona un transistor MOSFET.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s