lunes, 25 de marzo de 2013

CONTROL DE LA VELOCIDAD DE UN MOTOR A TRAVÉS DE ARDUINO Y XBEE (1º parte)

En este proyecto gobernaremos la velocidad de un motor simple DC a distancia utlizando la versatilidad de los módulos inalámbricos XBee. En una primera parte explicaré como configurar apropiadamente los dós módulos mediante el software X-CTU que podemos descargar gratuitamente de http://www.digi.com/support/productdetail?pid=3352&type=utilities. Una vez descargado, lo ejecutamos y nos va a pedir su actualización en linea. Aceptamos, y tras un cierto tiempo que tarda en descargar dicha actualización, ya está preparado para trabajar con él.

Primero cogemos una placa arduino uno y le quitamos el micocontrolador con cuidado.



Le insertamos la shield con el módulo XBee colocada y configuramos los dos jumpers de la shield en posición USB tal y como se muestra en la figura 2.

Conectamos el arduino con la shield XBee montada al PC y  ejecutamos el software X-CTU. Debería aparecer una pantalla como la figura 3 en la que elegimos establecer comunicació serie con la placa arduino situada en el COM determinado por nuestro  PC.


figura 2

Ahora presionamos el botón "Test/Query" y apuntamos el número de serie (direcciónes) de éste módulo para utilizarlo más adelante. 

Ahora sacamos el 1º módulo XBee e insertamos
el segundo realizando los mismos pasos para leer su número de serie que. lógicamente, al venir de fábrica será diferente.

En mi caso los dos números de serie son los siguientes:

Xbee 1 : 13A20040331966 (dirección 1)
Xbee 2 : 13A200403353b8 (direccion 2)

figura 3
figura 4
                   
En este último paso haremos que ambos módulos "se vean", es decir se puedan encontrar en la red inalámbrica y se puedan comunicar punto a punto. Para ello presionamos la opcion "modem configuración" y despúes "read" (figura 4).

Ahora sobre la pantalla (figura 5) tenemos que modificar tres cosas: Primero, debemos elegir un identificador de la red, para ello optamos por un ID cualquiera con la obligatoriedad que sea el mismo en los dos módulos XBee (yo he elegido "1234").

Despúes debemos escribir en cada módulo la dirección destino del otro módulo XBee. Es decir en la configuración del módulo XBee 1 le ponemos la dirección destino del módulo Xbee 2 y vicerversa. Obsérvese que la dirección esta compuesta de dos campos; uno es la parte alta de la dirección (es la misma en las dos XBee) y otra es la parte baja de dicha dirección completa ( aqui es donde es diferente para cada uno de los módulos).

Por último debemos elegir cúal de los módulos va a ser el coordinador de la red y cúal va a ser router/end de la misma. Ello se hace como se muestra en la figura 6 teniendo en cuenta que se debe elegir la opción AT. Es decir, en la configuración de un módulo pondremos "coordinator AT" y en el otro "router/end AT"


figura 5
 Como consejo para no confundirse es conveniente pegar una etiqueta en cada módulo con su direccioón particular y su la función de coordinador o de router.

Ahora ya tenemos los dos módulos XBee conectados interna e inalámbricamente. A nivel, por asi decirlo "software" todo los que uno de los módulos envie con la fución serialprint(), lo recibirá el otro de forma serial.
 
A continuación volvemos a insertar el microcontrolador en la placa arduino.

Como resumen tendremos dos placas arduino uno con dos "shields" XBee y sobre ellas sus dos módulos. Uno de los dos Arduinos estará fisicamente conectado al motor DC, como veremos más tarde, y el otro Arduino poseerá el gobierno del motor inalámbricamente a través de un potenciometro que variará la velocidad de éste.


figura 6




 En la segunda parte de este proyecto examinarenos el cableado y el hardware tanto del arduino "emisor" del valor del potenciometro como del arduino "receptor" de ese valor para trasmitirlo al motor DC.























No hay comentarios:

Publicar un comentario