lunes, 13 de julio de 2015

La Garra que te agarra – Motores CC y Protocoder




Hoy publicamos una entrada en la que vamos a utilizar motores CC controlando su velocidad y sentido con nuestro móvil, a través de Bluetooth y gracias a Protocoder. Y todo ello implementando una Garra Robótica que seguro que podremos utilizar en más entradas.


Hacía tiempo que no me dejaba pasar por aquí y no es por falta de ganas, sino que, como diría todo “blogger” que se precie, las otras ocupaciones diarias (personales y laborales)  han hecho imposible publicar con la asiduidad que me gustaría. Pero os aseguro que no he estado parado, y hemos ido experimentando y preparando cositas que iremos compartiendo con todos vosotros.  




Motores CC (o DC)

 Hasta ahora, la parte motriz de nuestros robots y artilugios la habíamos hecho con  servomotores los cuales nos permiten tener un mayor control del movimiento (dirección y en otros casos posición), pero hoy vamos otro tipo de motor que podemos tener mas a mano ya que está presente en un montón de aparatos, juguetes, DVD, etc. y por lo tanto, podemos reciclarlos y utilizar en nuestros robots y “electrocacharros”.





Un motor CC (Corriente Continua) se basa en el principio electromagnético de que si hacemos circular una corriente eléctrica por un conductor, se crea un campo magnético y si este circuito lo ponemos dentro de otro campo magnético, gracias a las leyes del magnetismo, si hombre…, esas de que los polos iguales se repelen y los distintos se atraen, ¿te acuerdas? ¿si? ¡¡¡Pues esa!!!, pues gracias a dichas leyes obtenemos un motor. 






Sé que esta explicación es una kk, pero no es la finalidad de este blog el que aprendáis Física, así que si queréis una explicación mejor hay millones de páginas en internet donde podréis hacerlo. ¡¡Currároslo un poquito!!



Velocidad de giro


Bueno, una vez dicho esto, entonces, conectamos el motor a nuestra fuente de alimentación y ya está ¿no?, el motor se pone en marcha.


Esto es verdad, pero con eso, nuestra garra solo se abriría o cerraría, incluso podría romperse si no cortamos la corriente eléctrica a tiempo. Necesitamos controlar el sentido de giro del motor para poder cerrar o abrir nuestra garra a voluntad y además querremos controlar la velocidad a la que esto sucede ¿no?, pues entonces, vamos a necesitar algo mas que conectar el motor a la pila.


El control de la velocidad de giro del motor lo vamos hacer mediante PWM (madre mía, ya empezamos con las siglas y términos raros). No os asustéis, voy  a intentar explicar un poco que significa esto.


PWM – (Pulse Width Modulation) o sea, Modulador por anchura de pulsos. Los pines digitales de nuestro Arduino, generalmente los utilizamos para detectar o generar señales digitales (0-1, activo-desactivo, Alto-bajo, etc.). Sin embargo, es interesante saber que Arduino habilita determinados pines para que podamos utilizarlos como salidas “seudoanalógicas”, es decir, podamos enviar a través de ellos, valores distintos a 0 y 1, en concreto valores comprendidos entre 0 y 255.
Los pines PWM de una placa tipo Arduino Uno son: 3, 5, 6, 9, 10 y 11. Para una información más técnica y precisa sobre PWM ver los blogs diymakers o electroensaimada



Esta característica nos va a permitir controlar la velocidad a la que queremos que se abra o cierre nuestra Garra.



Sentido del Giro


Ahora que ya sabemos cómo controlar la velocidad, vamos a ocuparnos del sentido del giro. 


Para poder controlar el sentido en el que gira nuestro motor, necesitamos lo que en electrónica se denomina un “puente H”,  ¡¡¡Toma ya!!!


-      -- ¡¡Jefe!! Los estamos perdiendo. Lo lectores se van!!


Tranquilos no voy a entrar en más cosas sesudas, solo decir que para resolver este tema, hemos utilizado una plaquita que nos permite controlar dos motores y que utilizando dos entradas para cada motor podemos controlar fácilmente el sentido de giro del mismo.

Manos a la obra

Bueno, dejamos la teoría, nos ponemos manos a los cables. 

La idea es, tal y como hemos comentado al principio, realizar un montaje que nos permita controlar nuestra “Garra Robótica” y que acate nuestras ordenes ¡¡¡uahahahahahahahaha!!! 


Lo primero que se nos ocurre es controlarlo todo con un potenciómetro de forma que al girar para un lado u otro controlemos el sentido de giro y con la apertura la velocidad.






Pero… ¿Quién va por ahí con potenciómetros en el bolsillo a todos los lados?

Imagínate que vas un día por el campo y sientes una necesidad urgente de utilizar tu “Garra Robótica”. Seguro que no llevas un potenciómetro, pero seguro que si que llevas tu móvil,¡¡ es tan útil!!, sirve para todo, hay quien dice que incluso sirve para llamar y hablar con otras personas, increíble ¿verdad?

Pues eso, que vamos hacer una aplicación con Protocoder que nos permita controlar nuestra garra mediante bluetooth.

La aplicación es sencilla y lo que vamos hacer es simular un potenciómetro. Para ello, nuestra aplicación permitirá conectarnos a nuestra placa Arduino (en nuestro caso es una bqZum que ya tiene bluetooth incorporado). Y una vez conectados dispondremos de una “barra de deslizamiento” (Slicer) para simular el potenciómetro. 

Si la barra está posicionada en el centro, el motor estará parado y a medida que la desplacemos a la derecha, la Garra se abrirá y a la izquierda se cerrará. La distancia del centro a la que la posicionemos, nos dirá la velocidad de apertura o cierre. A mayor distancia del centro, mayor velocidad de apertura.




Lo único que nos queda, es enviar por bluetooth a nuestra placa, el valor que marque la posición de nuestra barra cada vez que la modifiquemos.


El programa que cargaremos en nuestra placa Arduino deberá estar escuchado por el puerto Serie para ver si le llegan datos y cuando los detecte, los lee y los adapta para enviarlos por los pines PWM que hayamos elegido para conectar a nuestra placa L9110S. En este caso, hemos creado una zona de seguridad que para el motor de la garra alrededor del valor central (128), o sea, que la garra parará de abrirse o cerrarse, si se recibe un valor comprendido entre el 120 y 140.

La conexión de todos los elementos es:





Como siempre, podéis encontrar los fuentes de este proyecto en el siguientes enlace:

GarraBt - Código fuente y diseños piezas.


Además del programa de Protocoder, he añadido otra versión realizada con App Inventor del MIT, la cual nos permite crear la aplicación instalable .apk, para utilizar en distintos dispositivos.

Podéis aprender a realizar vuestras propias aplicaciones, tanto con Protocoder como con App Inventor, siguiendo los fantásticos cursos gratuitos que están realizando los chic@s de bq y que podéis encontrar en su página para Makers:

Me han servido de inspiración y ayuda:
Solo me queda pedir perdón por los errores que haya podido cometer, os aseguro que todos son fruto de mi falta de conocimiento y por lo tanto no os cortéis en corregirme.

Una cosa más, no os olvidéis de contribuir al "Patrimonio Tecnológico de la Humanidad" compartiendo vuestro conocimiento.


No hay comentarios:

Publicar un comentario en la entrada