Está en la página 1de 10

Implementacin de un brazo manipulador de cinco grados de libertad operado va Zigbee Camilo Andrs Gmez R

Politecnico Colombiano Jaime isaza Cadavid Cra. 48 #7-51, Medelln, Colombia, caangor@yahoo.com, tel. (+574) 2684904 ext 21.

Resumen: Este trabajo muestra la implementacin de un brazo robot con 5 grados de libertad operado remotamente mediante una conexin Zig bee; inicialmente se desarrolla la construccin de la estructura mecnica analizando los materiales ms adecuados para soportar el peso de las articulaciones, luego se procede al ensamble de los eslabones del brazo y a la seleccin de los actuadores para el movimiento de las articulaciones con un torque apropiado para el desplazamiento de la estructura mecnica. Las seales de control de modulacin de ancho de pulso requeridas para el movimiento de las articulaciones es realizada de forma digital mediante el uso de un microcontrolador, el cual recibe de manera inalmbrica por medio de un mdulo Zigbee las seales de control procedentes desde una interfaz grfica diseada en Matlab.

Abstract: This work shows the implementation of an arm robot with operated remotely mediating 5 grades of freedom a connection Zig bee, initially the construction of the mechanical structure is developed analyzing the most appropriate materials to support the weight of the articulations, then you proceeds to the one it assembles of the links of the arm and to the selection of the Motors for the movement of the articulations with an appropriate torque for the displacement of the mechanical structure. Copyright PCJIC(2012) Keywords: Arm robot, Zibbee, articuations, Torque, Grades of freedom

1. INTRODUCCIN La filosofa de la robtica desde sus comienzos ha sido la de liberar al hombre de trabajos forzosos y repetitivos; en la actualidad los robots son utilizados por una diversidad de procesos industriales que involucran la aplicacin de diferentes ramas del conocimiento, llegando inclusive a desarrollarse en la bioingeniera sistemas robticos acoplados al cuerpo humano. Este trabajo fue motivado para desarrollar y probar los conocimientos adquiridos en las ramas de la electrnica, mecnica y diseo de

software obtenidos en el proceso de formacin universitaria. En la seccin 2 se analiza la constitucin de las partes que componen un brazo, para construir una estructura mecnica liviana y flexible, en la 3 se analizan los torques en las articulaciones para seleccionar los actuadores, en la siguiente se disea el sistema de potencia (pwm) para control, en la 5 se trata el diseo finalmente se disea el sistema de comunicacin inalmbrica con interfaz grafica en Matlab para operar el brazo manipulador.

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

2. CONSTRUCCIN DE LA ESTRUCTURA MECNICA 2.1. Requerimientos Tomando en cuenta que la mayora del equipo robtico dentro de un rea acadmica y de investigacin son de tipo Industrial con dimensiones ya definidas, se realiz el anlisis para un brazo robtico de diseo propio a pequea escala para fines acadmicos, capaz de realizar tareas de manipulacin de objetos con una pinza de manera teleoperada, para este caso se tienen los siguientes requerimientos: a) Grados de libertad: Cinco b) Clasificacin: Robot Acadmico / trayectoria teleoperada-continua c) Dimensiones: El alcance del brazo viene determinado para un prototipo acadmico el cual es diseado basado en las dimensiones de servomotores de modelismo tipo estndar. d) Pesos a soportar: El adecuado para el modelo aproximadamente de 75gr a 100gr. 2.2. Mecanismo propuesto Tomando en cuenta los requerimientos, se requiere que el mecanismo posea cinco grados de libertad, se propone un robot antropomrfico, Tipo 5R, las piezas del prototipo se dimensionaron de acuerdo a los torques soportados en las articulaciones del robot. Es destacar que se seleccion esta configuracin frente a otras debido a que permite un mejor acceso de su efector final en la mayora de los puntos comprendidos en su espacio de trabajo. 2.3. Diseo y ensamble de piezas De manera sencilla se muestra el diseo y el ensamble de las piezas con Google Skechup15 , en donde se dimensionan los eslabones y se proyectan los elementos que se deben utilizar para unir las piezas ver fig. 1.

a)

b)

Fig. 1.

d) c) Ensamble y piezas utilizadas a) base con dos Grados de Libertad (GDL), b) primer eslabn con tercer (GDL), c) eslabones 2 y 3 con articulaciones, d) elemento final.

2.4. Construccin del robot diseado Despus del diseo se procedi a la construccin del robot manipulador de cinco grados de libertad el material utilizado fue el acrlico, por su bajo peso, resistencia y fcil manipulacin; para el ensamble de los diferentes materiales se utilizaron herramientas como taladro, bistur para corte de acrlico y cierra de mano, con los cuales se llev a cabo la construccin de acuerdo al diseo propuesto,en la fig. 2 se observa el prototipo virtual comparado con el ensamblado.

Fig. 2.

a) Ensamble virtual Ensamble de piezas diseadas

15

Herramienta para la construccin y simulacin de piezas de ensamble desarrollada por google. Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

Fig. 3.

Torque para un brazo de un grado de libertad

Aplicando el concepto mostrado para el brazo de un grado de libertad, se plantearon las ecuaciones para el brazo de 5 grados de libertad ver fig.4. y se calculo el torque mximo a soportar por la primera articulacin.

b) Prototipo ensamblado 3. SELECCIN DE ACTUADORES 3.1 Clculo de torques en las articulaciones Para la seleccin de los actuadores se analizaron los torques que deban soportar las articulaciones del robot, en una posicin extendida. Para un brazo Manipulador de 1 GDL como el mostrado en la fig. 3. se obtiene la siguiente ecuacin: T= W*L + WS* L/2 (1) 3.2 Comparacin y seleccin de actuadores En este trabajo se analizaron los diferentes modelos de motores que podran cubrir el requerimiento de torque para el brazo los cuales se muestran a continuacin: Motores DC con caja reductora. Se evalu la posibilidad del ensamble de estos motores, apartir de la articulacin 3, ya que tienen un buen torque. En la tabla 1 se puede observar las caractersticas de este motor. Tabla 1. Caractersticas Motor DC Al revisar la bibliografa se encontr que requeran los siguientes accesorios para realizar el control de posicin a) Sensor de posicin: Este puede constar de un encoder constituido por un sensor ptico y un disco ranurado el cual cuenta el nmero de pulsos al girar el eje del motor. b) Etapa de potencia. Generalmente se utiliza un encapsulado en puente H dependiendo de la
Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

Fig. 4.

Torque brazo de 5 grados de libertad

Donde: W es el Peso del eslabn, WS es el peso VOLTAJE VELOCIDAD DIMETRO TORQUE PESO LONGITUD Y DIMETRO DEL EJE: a soportar y L/2 es la distancia dividido 2 debido a que es el centro de gravedad para un cuerpo uniforme. 12VDC: 30 R.P.M 37mm 6.0Kg/cm 100gr 15mm, mm

corriente a soportar, se encarga de suministrar la corriente necesaria y generar la inversin de giro del motor dependiendo de la activacin de control Motores paso a paso (PAP). Los PAP son muy utilizados en tareas en las que se requiere un posicionamiento exacto, un primer prototipo para este trabajo fue ensamblado con motores paso a paso, obtenidos de impresoras de puntos por esta razn no se contaba con las especificaciones de torque, por lo cual se realizaron pruebas para determinar su eficiencia. El procedimiento para poner en funcionamiento de estos motores se describe a continuacin: a) Identificacin del motor tipo unipolar o bipolar b) identificacin de secuencias a pasos para rotar el motor c) determinar nmero de grados por paso Etapa de potencia para los PAP. Generalmente los (PAP) son controlados por un microcontrolador que se encarga de enviar una secuencia de pulsos para conmutar las bobinas internas del PAP, ya que el microcontrolador no genera la corriente necesaria para alimentar el motor se debe disear un driver de potencia. En las pruebas de funcionamiento se utiliz el Integrado ULN 2003, el cual consiste en un arreglo Darlington de transistores para amplificar la potencia Servomotores. Para controlar un servo se utiliza el PWM (Pulse Width Modulation), el cual consiste en generar una onda cuadrada en la que se vara el tiempo que el pulso est a nivel alto, manteniendo el mismo perodo (normalmente), con el objetivo de modificar la posicin del servo segn se desee El servo espera ver un pulso cada 20 milisegundos (.02 segundos). En la fig. 5. se observa la frecuencia para el posicionamiento en los extremos del servo.
Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

Fig. 5

Pulsos para posiciones del servomotor

Etapa de potencia para los Servomotores. Como el servomotor dispone de un pequeo circuito que gobierna el sistema, al recibir la informacin de un potencimetro instalado en el eje, no requiere driver de potencia, solo requiere una buena fuente de alimentacin y la seal PWM proveniente del Microcontrolador. Comparacin y seleccin de actuadores. Despus de definir los actuadores analizados para este proyecto se realiz una tabla comparativa para seleccionar la mejor opcin en costo-operacionalidad en la tabla 2 se observan los parmetros de evaluacin de actuadores. Tabla 2. Comparacin de Actuadores para el brazo robtico

Al analizar la tabla anterior se seleccionaron los servomotores, ya que estos no necesitaban etapa de potencia, poseen un lazo de control interno que realiza la ubicacin del eje en un ngulo deseado al especificar el valor de PWM, poseen un rango de torques altos necesarios para mover la estructura mecnica construida, y poseen un precio asequible

4. DISEO DE SISTEMA DE POTENCIA PWM

Teniendo el rango de operaciones para los servomotores elegidos se revisa la bibliografa para el manejo de canales el PWM por medio del microcontrolador MCF51JM12816. 4.1 Mdulo TPM1. Para las generacin de las seales PWM se emplea el modulo TPM1, mediante el canal 0 al 5 (TPM1CH1) se genera la seal PWM para el primer motor. Para iniciar los registros del TPM1 y generar la seal PWM requerida para la aplicacin se configura el registro para trabajar con el reloj interno y con un preescaler de 16 de la siguiente forma: TPM1SC=0x0C 4.2 Clculo de la frecuencia (periodo de la seal) Se calcula mediante la expression = + 1 (2)

= 26. 748.225 Hz = 1/16 = 50 =


.. /

1 ; = 33434

Se codifica en C como: TPM2MOD= 33434;//frecuencia pwm de 50 Hz 4.3 Clculo del duty cycle de la seal pwm Los registros TPMxCnVH, TPMxCnVL, permiten establecer el Duty Cycle (DC) de la seal. Para determinar el DC se emplea la expresin: = = (6)

: Valor Duty Cycle, corresponde al valor a cargar en los registros TPMxCnVH, TPMxCnVL (7)

Se calcula entonces de acuerdo a los requerimientos del servo para la posicin mnima y maxima: % = % =
, ,

T periodo de la seal, Bt base de tiempo de la seal PWM (frecuencia de bus), M valor a cargar en los registros del modulo TPMxMOD Para Bt: = 1 (3)

100% = 2.5% 100% = 12.5%

Aplicando luego en con M= 33434 = 33434* 0,025% = 836. Posicion minima 0 = 33434* 0,125% = 4179. Posicion Maxima 180

preescaler, luego el periodo es: =

(4)

Remplazando 2 en 3 y 4 se obtiene para M: =


La codificacion en C para los extremos del motor queda: TPM1C0V=4179; // Posicion maxima del motor en 2.5 ms TPM1C0V=836; // posicion minima del servomotor en 0.5 ms

(5)

Para una seal de 50 Hz se tiene


16

Reference Manual MCF51JM128

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

5. DISEO DEL SISTEMA DE COMUNICACIN ZIGBEE Para cumplir la aplicacin tcnica de comunicacin remota entre el brazo robtico y un computador porttil se seleccionaron los dos mdulos XBee2 Conexin Punto a Punto. Es la conexin ideal para reemplazar comunicacin serial por un cable. Slo se debe configurar la direccin. Para ello se utilizan los comandos MY y el DL. La idea, es que se define arbitrariamente una direccin para un mdulo, usando el comando MY, el cual se va a comunicar con otro que tiene la direccin DL. Diagramas de conexiones y especificaciones de alimentacin. Para trabajar las comunicaciones seriales con el mdulo XBEE este tiene una conexin a 3.3V tal como se muestra en la fig.6

#include <hidef.h> /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ void init_clock(void); void dly_short(void); int k,delt; Luego se deshabilitan las interrupciones y se configuran los canales PWM de los mdulos TPM del microcontrolador a una frecuencia de 50 Hz, con un factor de escala de 16 y activacin High True pulses: void main(void) { init_clock(); DisableInterrupts TPM1SC=0x0C; //Frecuencia de bus (reloj interno), preescaler 1/16 TPM1C0SC=0x28; // PWM alineado por flanco, High true pulses. TPM1MOD=33434; //frecuencia pwm de 50 Hz con Fe= 1/16 Se desarrollan varias funciones para recibir los datos serialmente del puerto COM, y con una rutina Swich Case se seleccionan los valores del PWM para un servomotor seleccionado. if (UART1_Data_Ready() ==1) { // si se ha recibido un dato x = UART1_Read(); // leerlo switch (x){ case 1: //-- Posicionar servos 1 y 2 en los extremos pos[0]=10; pos[1]=10; pausa(); // break; case 2: //-- Posicionar servos 1 y 2 en los extremos contrarios pos[0]=90; pos[1]=90; pausa(); break;

Fig. 6

Conexin del modulo Xbee y el Microcontrolador MCF51JM128

6. PROGRAMA EN LENGUAJE C PARA MOVER LAS ARTICULACIONES DEL BRAZO ROBTICO En la primera parte del programa se llaman las libreras principales, se inicializa el reloj interno del microcontrolador MCF51JM128, a una frecuencia de 26. Hz se inicializan las funciones encargadas del retardo:

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

case 3: //-- Posicionar servos 1 y 2 en los extremos pos[0]=130; pos[1]=130; pausa(); break;

6. DESARROLLO DE LA INTERFAZ GRFICA Utilizando la herramienta GUIDE de Matlab se desarroll una interfaz grfica en Matlab para operar el brazo robtico, la cual consta de cinco paneles de control cada uno con un rango de ngulos determinado que el operario selecciona, esta interfaz cuenta con una unidad de visualizacin de los grados seleccionados por el operario, posee la informacin de la disposicin fsica de las articulaciones y adems posee un panel de control para abrir y cerrar las pinzas del manipulador. Fig. 7 Interfaz grfica para operar brazo manipulador

set(handles.SerPIC,'BaudRate',2400);%Velocida d 2400 baudios set(handles.SerPIC,'DataBits',8);%8 bits de datos set(handles.SerPIC,'Parity','none');%Sin control de paridad set(handles.SerPIC,'StopBits',1);%Un bit de parada set(handles.SerPIC,'FlowControl','none');%Sin control de flujo %--Abrir el fopen(handles.SerPIC); puerto serial 7. ANALISIS Y RESULTADOS DEL PROTOTIPO ENSAMBLADO Despues de realizar el diseo y ensamble de los elementos que componen el brazo manipulador se realizaron las pruebas de funcionamiento del hardware y el software diseado. 7.1 Anlisis de funcionamiento configuracin del pwm Inicialmente se comprob el funcionamiento de los servomotores con el microcontrolador MCf51jm128 en las posiciones 0, 45, 90,135 y 180 grados configuracin PWM, modificando el registro TPM1CxV. Los valores del registro para las posiciones seleccionadas fueron los siguientes: TPM1CxV =836 TPM1CxV =1671; TPM1CxV =2508; TPM1CxV =3343; TPM1CxV =4179; // Posicion de 0 grados // Posicion de 45 grados // Posicion de 90 grados // Posicion de 135 grados // Posicion de 180 grados

Para poder manipular inalmbricamente el brazo robtico desde el entorno de Matlab se configur el puerto del mdulo Zigbee en modo de transmisin serial transparente, a continuacin se muestra el cdigo utilizado para configurar el puerto, la velocidad en Baudios y la paridad %*-*-Configuracin del puerto serial*-*-*-*-**-*-* handles.SerPIC = serial('COM1');%Seleccionar puerto COM1

Al enviar el valor PWM se observo que el servomotor provocaba choques bruscos en la estructura mecnica por la velocidad de operacin del servomotor, por lo cual se desarrollo una rutina encargada de modificar el PWM progresivamente. Rutina para Reduccin de velocidad en las articulaciones del Robot. Para lograr movimientos lentos y suaves en las articulaciones se diseo una funcin en C para

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

disminuir las velocidades en los servomotores, esta funcin se ejecuta cuando es seleccionado un ngulo desde Matlab, esta funcin se muestra a continuacin: case '0': valor_canal_0=TPM1C0V; //tome el valor del canal new_PWM=1300; delta= valor_canal_0- new_PWM; while (delta>0) { //mientras el nuevo pwm sea menor valor_canal_0 --; //decremente el DC TPM1C0V= valor_canal_0 ; dly_short(); delta= valor_canal_0- new_PWM; //recalcular delta } while (delta < 0){ // mientras el nuevo pwm se mayor valor_canal_0 ++; // Incremente el DC TPM1C0V= valor_canal_0 ; dly_short(); delta= valor_canal_0- new_PWM; } break; Al programar el microcontrolador con la funcin de reduccin de velocidad se obtuvieron muy buenos resultados disminuyendo los esfuerzos generados por la velocidad del servomotor.

Movimientos de la base: al realizar los movimientos el robot respondi adecuadamente.

Movimiento de la articulacin 2. Al realizar el movimiento de la articulacin 2 el robot respondi adecuadamente.

7.2 Pruebas de funcionamiento de la comunicacin entre la interfaz grafica y el brazo robotico mediante el modulo xbee Despus de programar el software para el microcontrolador y configurar los modulos Xbee se realizo la conexin de los componentes electrnicos con la estructura mecnica; se realizaron varias pruebas de funcionamiento, que consistieron en aplicar ngulos determinados a las articulaciones desde la interfaz.

Movimiento del Roll. Al hacer el movimiento del Roll el robot respondi adecuadamente

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

El brazo robtico se alimenta a 5 VDC, cada articulacin tiene un rango de movimientos de 180 grados, al iniciar la interfaz se debe seleccionar el puerto COM al cual est conectado el mdulo Xbee, ( este se identifica por el administrador de dispositivos de Windows), luego se debe dar iniciar en la interfaz de Inicio, este botn carga la interfaz de operacin del brazo en donde se tienen los paneles para orientar cada articulacin en un ngulo deseado dentro del panel de opciones; el paso inicial es encender el Robot seleccionando el check list Encender de la ventana servo_grados, cuando esta encendido este toma una posicin inicial que indica la orientacin inicial de cada articulacin y la direccin de movimiento al seleccionar un angulo determinado en las articulaciones, en la figura 8 se muestra la orientcion del robot. Fig. 8 Despus de realizar las pruebas de funcionamiento se observo que tanto la estructura mecnica ensamblada como el software diseado e implementado tuvieron un excelente desempeo como lo que se esperaba con lo cual se cumple el objetivo de operar un brazo robtico de 5GDL operado via Zigbee, 7.3 Descripcin de funcionamiento brazo manipulador de 5gdl operado va zigbee. A continuacin se describen las caractersticas de funcionamiento del brazo robtico. Tabla 3 Caractersticas de operacin del Brazo robtico
Rango de operacin inalmbrica Articulacion Bas es e Amplitud 180 () Rango de 0Trabajo () 180 Alimentaci 5 n VD C Resolucin 36 Angular () Ext: 100mt lnea de vista Int:30mt Art Art Art Art5 Pinza 2 3 4 s 180 180 180 180 90 0180 5 VD C 36 0180 5 VD C 36 0180 5 VD C 36 0180 5 VD C 36 090 5 VDC 90

Orientacin y posicin inicial del robot manipulador

8. CONCLUSIONES El diseo de este robot fue sencillo y prctico con la herramienta de Google Sketchup la cual ayudo a tener un modelo esperado sin prdida de tiempo y material haciendo fcil la implementacin del mismo. Para lograr un buen desempeo de los actuadores de un brazo manipulador se construye una estructura mecnica con

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid

materiales livianos y resistentes tales como el acrlico o fibra de vidrio. En la construccin de un brazo robtico se analiza la carga mxima a levantar para la seleccin de los actuadores adecuados, pues de estos depende la operabilidad del brazo en un entorno de trabajo. El uso de los servomotores para la implementacin de este trabajo, fue una muy buena seleccin ya que estos poseen una caja reductora interna y un control retroalimentado para posicionar el actuador en un ngulo deseado, evitando asi el uso de sensores y reduciendo el costo de materiales. La aplicacin de comunicaciones inalambricas en este trabajo fue implementada de una manera sencilla con los mdulos Xbee, haciendo posible la operabilidad del manipulador desde un centro de mando remoto sin cableado.

disponible

en

www.info-

ab.uclm.es/inbelec/solar/electronica/.../servomot or.htm. consultado en 2012/08/10.

Ferraro et al (2008), Posicionamiento de un Manipulador Robtico de Tres Ejes. Argentina, Universidad nacional de Catamarca 2008. GONZLES, Juan; PRIETO M, Andrs. Curso de microcontroladores Pic, Universidad Autonoma de Madrid INSUNSA, juan, Curso de Fsica, Mecnica para las carreras de Ciencias Bsicas, Ingenieras, Ingenieras en Biotecnologa, Tecnologas, Pedagogas en Ciencias y otras reas afines. doc. En lnea, en http://www2.udec.cl/~jinzunza/fisica/cap6.p df Lpez (2007),. Modelacin y simulacin dinmica de un brazo robtico de 4 grados de libertad para tareas sobre un plano horizontal. Lima Per, Pontificia Universidad Catlica del Per 2009. Martnez et al (2008). Diseo propio y construccin de un brazorobtico de 5 gdl. Revista de ingeniera elctrica, electrnica y computacin, vol. 4 no. 1, julio 2008. MicroElektronika Copyright . C compiler for microchip Pic Microcontrollers MicroC

REFERENCIAS

ALCIATORE, David G HISTAND, Michael B.. Introduccin a la mecatrnica y los sistemas de medicin 86p ANGULO U, Jos M. Microcontoladores pic, Diseo practico de aplicaciones 53p Arvalo (2010), Construccin y control de un robot industral con arquitectura antropomorfica dotado con vision artificial. Ecuador, Escuela politecnica Nacional. 2010. BAENA, Jorge Andrs. Universidad de Antioquia Departamento de Ingeniera lectrnica curso de sistemas embebidos utilizacin de codewarrior v.2.0 con simulacin de pemicro Para proyectos en lenguaje c para microcontroladores:
Escuela Politcnica Superior de Albacete, Laboratorio de Electrnica. Doc En lnea,

for pic users Manual Versin : 1.0 (11/06/2002).

Ingieneria en instrumentacin y controlPolitecnico Colombiano Jaime isaza Cadavid