Sie sind auf Seite 1von 27

Laboratorio de mecatrnica

BRAZO ROBTICO
Dr. Alfonso Gmez Espinosa

Alejandro Meja Cabrera A01203877


Jorge Aurelio Barqun Bravo A00908308
Jos Luis Cruz Valencia A01204423
Luis Carlos Meja Vzquez A01200477
Sergio Alejandro Roldn Vega A01203852

06 de Abril de 2015
Resumen

La mecatrnica se especializa en la automatizacin de procesos industriales, as


como en la construccin y diseo de mecanismos inteligentes. Como parte de nuestro
desarrollo estudiantil en este proyecto disearemos y construiremos un brazo robtico
manipulable utilizando los conocimientos adquiridos en el transcurso de nuestros estudios,
con el fin de integrar diferentes disciplinas en un mismo proyecto. Estas disciplinas
engloban el diseo mecnico, elctrico, y electrnico, as como la programacin del brazo
robtico a construir.
ndice

1.0 Objetivo ................................................................................................................... 1


2.0 Marco Terico........................................................................................................... 1
3.0 Especificaciones de Electrnica ................................................................................. 4
3.1 Resumen de especificaciones de servomotor: ............................................................. 4
4.0 Programacin ............................................................................................................ 5
5.0 Diseo mecnico del sistema ............................................................................................ 6
6.0 Diseo elctrico del sistema ........................................................................................... 12
7.0 Pruebas de Aceptacin................................................................................................... 14
8.0 Conclusiones ................................................................................................................ 20
9.0 Referencias .................................................................................................................. 20
10.0 Anexos ...................................................................................................................... 21
1.0 Objetivo

El objetivo de este proyecto es el diseo e implementacin de un brazo robtico, cuyos


movimientos sern manipulados por otro. Para esto, se deben construir dos brazos
robticos: un brazo maestro y uno esclavo. Ambos brazos deben tener la misma estructura
y geometra (con diferentes escalas de tamao), de manera que al manipular el brazo
maestro manualmente, el esclavo imite sus movimientos de forma automtica en un tiempo
reaccin reducido.

2.0 Marco Terico

Los robots dentro de la industria tienen un papel fundamental para la realizacin de


tareas difciles y peligrosas para el ser humano, adems de ahorrar tiempo y satisfacer las
necesidades de la industria optimizando procesos. Podemos decir que un robot es una
mquina programable para el movimiento de piezas, manejo de materiales o para la
implementacin de procesos como soldadura y pintura.

Existen diversas clasificaciones para cada uno de los robots utilizados en la industria,
sin embargo todas las configuraciones existentes se deben a la tarea que el robot va a
desarrollar. Algunos de los componentes bsicos de un robot industrial son los siguientes:

Estructura mecnica
Actuadores
Sensores
Control

La mayora de los robots industriales imitan el movimiento y articulaciones de un ser


humano ya que nos permite tener cierto nmero de grados de libertad.

1
Figura 1.1 Partes que constituyen un robot industrial

Algo que resulta de vital importancia para la construccin de un robot industrial son
los eslabones, los cuales son estructuras rgidas que se conectan entre s para permitir el
movimiento de cada uno de los eslabones consecutivos. Los eslabones cuentan con
articulaciones las cuales pueden se lineales o rotacionales que en conjunto con los
eslabones se les denomina cadena cinemtica. Al final de cada cadena cinemtica tenemos
los elementos que estarn en contacto directo con las piezas a manipular y estos pueden ser:

Pinzas, mejor conocido como Grippers, las cuales son utilizadas comnmente
para tomar objetos.
Herramientas, son utilizadas para aplicaciones en las cuales el robot tenga como
objetivo realizar alguna operacin de trabajo.

En la construccin del brazo robtico se utilizaron servomotores con el fin de dar


movimiento a cada uno de los eslabones. Un servomotor es un actuador mecnico
constituido por elementos de control para el monitoreo de su actuacin mecnica como es
la posicin.

2
Los servomotores, a diferencia de un motor convencional, tienen integrado un detector
que permite conocer la posicin, a estos detectores se les conoce comnmente como
encoders.

Cabe mencionar que para este proyecto se utilizaron servomotores sin encoders ya
que cada uno de los servomotores est siendo controlado con potenciometros los cuales
mandan una seal analgica al microcontrolador la cual es interpretada por el controlador
proporcional de cada uno de los servomotores.

Figura 1.2 Diagrama de cables de un servo estndar.

Para controlar los servomotores es necesario un pulso con una frecuencia y duracin
especifica que determinara la posicin del actuador. Dependiendo del ancho de pulso es la
posicin en la que se mover el eje del servomotor logrando hasta 180 de movimiento.

Figura 1.3 Posicionamiento de los servos utilizados

3
3.0 Especificaciones de Electrnica

3.1 Resumen de especificaciones de servomotor:

Modelo 1501MG
Dimensiones 40,7 x 20,5 x 39,5 mm
Peso 60 g
Velocidad a 6V 0.14 sec/60
Torque a 6V 17 kg cm
Corriente nominal 2.5 A
Velocidad a 4.8V 0.16 sec/60
Torque a 4.8V 15,5 kg cm
Corriente de carga a 6V 2.5 A
Corriente de carga a 4.8V 2.3
Longitud del cable: 11 cm
Costo 445 MXN
Proveedor Inteligencia Artificial
Referencia http://www.inteligenciaartificialyr
obotica.com/esp/index/item/60/ser
vomotor-de-alto-torque
Imagen

Conexiones de ensamblaje

Tabla 3.1: Especificaciones tcnicas del Servomotor para definir su funcionamiento

En la tabla 3.1 se muestra el resumen de especificaciones en las cuales se basa el


funcionamiento del mismo, al observar la corriente nominal con la que trabaja el
servomotor, es importante tomar en consideracin la fuente que se va a utilizar para
alimentarlo, a partir de los valores dados, se define una fuente de alimentacin externa que
ofrezca esta corriente demandada.

4
En el proyecto fueron asignados cada uno de los servomotores, sin embargo es
importante tomar en cuenta que para la seleccin de un servomotor apropiado es necesario
tomar en cuenta algunos factores como son:
Tamao
Potencia
Inercia de la carga
Torque requerido
Frenado
Tipo de encoder
Velocidad

4.0 Programacin

La programacin se realiz sobre un arduino con microcontrolador ATmega328p. La


lgica de programacin utilizada se inicia con la lectura de las entradas analgicas
conectadas a los potencimetros, esto nos da variables en un rango de 0 a 1024 bits. El
arduino en particular divide el rango de voltaje (0 a 5) en 1024 diferentes niveles de voltaje
o intervalos de voltaje; 0 es el intervalo 0 y 5 en el intervalo 1024. Los servomotores
utilizan como entrada un voltaje digital de frecuencia y es necesario utilizar la librera con
la que cuenta el arduino, llamada Servo.h, la cual realiza la conversin de voltaje analgico
a digital, adems es posible tomar ventaja de herramientas como el mapeo para obtener el
valor de ngulo en grados al que queremos que vaya el motor.

El cdigo comentado se encuentra en la seccin de Anexo A.

5
5.0 Diseo mecnico del sistema

En esta seccin se explica el diseo CAD del brazo robtico, sus especificaciones y
caractersticas.
El diseo se realiz siguiendo las medidas que obtuvimos previamente con respecto
al robot modelo que se nos fue proporcionado. En general el brazo robtico, el cual
llamaremos esclavo, consiste de una base cuadrada en la cual se monta la base giratoria.
Sobre dicha base giratoria, se dise una segunda base rectangular, la cual da soporte a los
motores que propulsaran los eslabones. El diseo general se puede ver en la figura 1.4.

Figura 5.0. Diseo General del brazo robtico.

Este diseo contempla 4 eslabones. Dos de ellos son del mismo tamao, uno ms
conecta un motor a otro eslabn, y el ltimo eslabn, el ms largo de todos, es el que
conecta los dos eslabones iguales, y adems, tiene en un extremo, el gripper con su
respectivo motor.
Las paredes laterales de la base rectangular, sirven de soporte para los motores.
Estas paredes, con sus respectivos barrenos para el atornillado, dejan en su lugar, alineados
y bien sujetos los motores. En las figuras 5.1 y 5.2, se pueden apreciar dichas paredes, los
motores y el atornillado.

6
Figura 5.1. Arreglo del soporte de los motores y conexin a eslabones.

En la figura 5.1 se puede ver tambin el montaje de los eslabones con las mariposas
de sujecin a los motores. Se dise de forma que la separacin entre ambos eslabones
fuera mnima. En la figura 5.2 se aprecia la separacin de dichos eslabones.

Figura 5.2. Vista frontal del arreglo de los motores y eslabones.

7
La parte inferior de la base del brazo robtico, contempla una barra transversal que
cruza de lado a lado como se puede observar en la figura 5.3. Esto adems de dar soporte
estructural a la base, sirve de soporte para el motor central, el cual est encargado de hacer
girar todo el cuerpo del robot con ayuda de los cojinetes de rodamientos que se encuentran
en la base giratoria redonda. De igual manera que las paredes de los motores. Este soporte
del motor central cuenta con barrenos para soportar el motor a la placa.

Figura 5.3: Vista isomtrica inferior.

Para el ensamble de los baleros primero se hicieron pruebas de montaje en


diferentes orificios cortados a laser en una tabla de pvc espumado. Los orificios tenan
diferentes dimetros para poder comprobar cul de todos sera el indicado para montar los
baleros, ya que este deba permitir que estos fueran ajustados y desmontados fcilmente.
Los dimetros estaban dimensionados en milmetros y fueron elegidos de manera aleatoria
tomando en cuenta el dimetro exterior de los baleros (12.7 mm) y respetando un rango
entre 11,90 y 12,75. Al final se concluy que el dimetro del orificio deba ser de 12.65 mm
(un dimetro menor al del balero) puesto que este evitaba que los baleros resbalaran y no
hubo necesidad de introducirlos con tanto esfuerzo.
Este procedimiento fue indispensable para las siguientes etapas de corte y ensamble.

8
Figura 5.4: Archivo de inventor utilizado para la impresora lser

Para la base utilizamos un balero, el cual dar movimiento a todo el mecanismo. Sin
embargo, tuvimos que realizar unas modificaciones para que funcionara correctamente de
acuerdo a los requerimientos del mecanismo. Se necesit fijar una parte del balero a la base
cuidando que la parte superior del mismo tuviera una libertad de movimiento de 360,
fijando el anillo a la parte inferior del balero. La flecha del servomotor se conect
directamente a la parte superior del balero, la cual sirve de base y permite el movimiento
del robot.
Para evitar que la parte inferior del balero se moviera, colocamos un anillo de
acrlico para generar friccin entre la base del robot y la parte inferior del balero.

El brazo maestro, el cual est hecho con los potencimetros en lugar de motores,
est hecho a una escala de 1/ 2, las piezas son casi idnticas. En la figura 5.4 se puede
observar desde una vista isomtrica, el diseo del robot maestro. De igual forma que el
robot esclavo, este cuenta con una base grande, una base pequea y 4 eslabones.

9
Figura 5.5. Vista isomtrica robot maestro.

En la figura 5.5 se puede ver el arreglo de los eslabones, de igual forma que el robot
esclavo, estos estn arreglados de tal forma que se encuentren prcticamente pegados, para
que no exista flexin en ellos. Estos eslabones no van conectados por medio de mariposas
como en el robot esclavo, estos van directamente a los potencimetros.

Figura 5.6. Ensamble central del robot maestro.

10
La parte inferior del robot maestro (figura 5.6) tiene un potencimetro simulando al
motor del robot esclavo. Este se encuentra en el centro de la base y conecta con la base
giratoria pequea.

Figura 5.7 Pared lateral (sujecin de potencimetros).

En esta vista de la pared lateral de la base, se puede apreciar ms fcilmente como


se realiz la sujecin de los potencimetros a la estructura del robot, utilizando un pequeo
orificio rectangular para fijar a presin la muesca de los potencimetros. De esta manera
nos aseguramos que los potencimetros no estn volando y no se desplacen por el
movimiento.

11
6.0 Diseo elctrico del sistema

Figura 6.0: Esquemtico del circuito de control.

12
Figura 6.1: Diagrama de dselo del PCB para conexiones.

Como parte del proyecto se dise un PCB para realizar las conexiones entre los
servomotores el microcontrolador y los potenciometros que seran utilizados para
manipular cada uno de los servomotores que controlan los eslabones. En el diagrama
podemos ver las entradas y salidas utilizando pin-blocks de 2 y 4 pines, tambin se
agregaron dos capacitores entre tierra y voltaje para minimizar las perturbaciones y ruido
que pudieran llegar a existir.

13
7.0 Pruebas de Aceptacin

Tener 3 grados de libertad y contar con una pinza para sujetar los objetos.

Figura 7.1: Gripper, eslabones.

14
El diseo debe permitir que se desmonten los motores y articulaciones sin ocasionar
daos a los elementos del robot.
Cada uno de los eslabones se puede desmontar utilizando un desarmador plano al
igual que el pequeo servomotor que controla el gripper.

Figura 7.2: Imgenes de cada una de las uniones

15
Tener un alcance mnimo de 30 cm, medidos desde el eje de los motores del brazo
Para esta prueba utilizamos un flexmetro logrando un alcance de 43 cm medido
desde el eje de los motores.

Figura 7.3: Mximo alcance del brazo robtico (Esclavo)

Contar con una capacidad de carga del 10% del peso total del prototipo excluyendo
las fuentes de alimentacin.
Peso del Robot Esclavo 582 gramos
Peso del Robot Maestro 90 gramos
Cartera (10% del peso) 58 gramos

Figura 7.4: Peso de la cartera

16
Figura 7.5: Robot esclavo cargando el 10% de su peso

17
Figura 7.6: Gripper sosteniendo el 10% de su peso

Prueba de velocidad
El robot tarda 0.4 segundos en moverse de un lugar a otro. De esta manera estamos
seguros que la velocidad de operacin no ser un problema con nuestro mecanismo.

Capacidad de ser programable y completar una secuencia de 10 posiciones


(Repetividad)
Para realizar esta prueba establecimos 10 puntos representados por pequeos cables
dispersos en una tabla. El objetivo de esta prueba fue validar la repetitividad que nos puede
dar nuestro brazo robtico repitiendo la trayectoria de 10 puntos 30 veces. Nos percatamos
que cuando los motores laterales de los eslabones y del gripper operan sin verse
influenciados por una rotacin de la base, la precisin de los movimientos es bastante
buena, dndonos un movimiento con una precisin de +/- 1.5mm. Sin embargo, cuando
existe una rotacin de la base, se genera un pandeo en nuestro brazo que disminuye la
precisin a movimientos con +/- 5mm de repetitividad.

18
Figura 7.7: Repetitividad +/-5 mm (giro de base)

Figura 7.8: Repetitividad +/-1.5 mm (sin giro de base) / Mesa de experimentacin

19
8.0 Conclusiones

Durante el desarrollo del proyecto nos percatamos de la importancia que tienen cada
uno de los componentes del robot ya que cada uno de ellos debe de funcionar en su
totalidad para la integracin del mecanismo, la parte mecnica elctrica y la programacin
son de vital importancia y no deben pasar desapercibidos cada uno de los detallas que
surgen durante el proyecto ya que esto implica doble trabajo y un mal funcionamiento del
mismo.

Es importante tambin realizar pruebas de validacin pertinentes que puedan


evaluar correcta y objetivamente el desempeo de nuestro robot.

9.0 Referencias

[1] Tecnologas de la Informacin y de la Comunicacin. Captulo 6, Programacin y


control de procesos. Juan A. Alonso, Santiago Blanco A., Santiago Blanco S.,
Roberto escribano, Vctor R. Gonzlez, Santiago Pascual, Amor Rodrguez.
Editorial Ra-Ma 2004.

[2] Control y Robtica. Tema: Fundamentos de robtica. Curso provincial. CFIE


Valladolid II. Vctor R. Gonzlez. Asesora de Tecnologa y FP.

[3] Universidad de guadalajara. Mexico . (2013). Robots industriales. 5 de abril del


2015, de Federacion internacional de robotica. Industrial Robots Sitio web:
http://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.4.htm

[4] Alfonso Romero . (2013). Estructura de un robot industrial . 4 de abril del 2015, de
Junta de anda lucia Sitio web:
http://www.juntadeandalucia.es/averroes/iesalfonso_romero_barcojo/departamentos
/tecnologia/unidades_didacticas/ud_controlroboticav1/morfologia%20de%20un%20
robot.pdf

[5] Raul Cobo. (2013). El ABC de la automatizacion . 4 de abril del 2015, de AIE Sitio
web: http://www.aie.cl/files/file/comites/ca/abc/Servomotores.pdf

[6] (2003). Servomotores. 4 de abril del 2015, de UTFSM Sitio web:


http://www2.elo.utfsm.cl/~mineducagv/docs/ListaDetalladadeModulos/servos.pdf

20
10.0 Anexos

#include <Servo.h> //Libreria de servo-motores

Servo SERVO_base;
Servo SERVO_derecho;
Servo SERVO_izquierdo;
Servo SERVO_gripper;

char sequencia [1];

int PIN_pot_base = 0;
int PIN_pot_derecho = 1;
int PIN_pot_izquierdo = 3;
int PIN_pot_gripper = 5;

int base_angle;
int derecho_angle;
int izquierdo_angle;
int gripper_angle;

void setup()
{
//Inicio de la comunicacion serial
Serial.begin(9600);

//Declaracion de pines de seales de entrada (Potenciometros)


pinMode(PIN_pot_base, INPUT);
pinMode(PIN_pot_derecho, INPUT);
pinMode(PIN_pot_izquierdo, INPUT);
pinMode(PIN_pot_gripper, INPUT);

//Declaracion de pines de seales de salida (Servos)


SERVO_base.attach(9);
SERVO_izquierdo.attach(6);
SERVO_derecho.attach(5);
SERVO_gripper.attach(3);
}

void loop()
{
//Verifica si hay datos en el puerto
if (Serial.available() > 0) {
Serial.readBytes(sequencia, 1);

while (sequencia [0] == '0') { //Secuencia de repetitividad


SERVO_base.write(95);

21
SERVO_derecho.write(98);
SERVO_izquierdo.write(27);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(98);
SERVO_derecho.write(75);
SERVO_izquierdo.write(4);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(109);
SERVO_derecho.write(78);
SERVO_izquierdo.write(35);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(110);
SERVO_derecho.write(70);
SERVO_izquierdo.write(49);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(112);
SERVO_derecho.write(52);
SERVO_izquierdo.write(65);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(100);
SERVO_derecho.write(57);
SERVO_izquierdo.write(66);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(86);
SERVO_derecho.write(54);
SERVO_izquierdo.write(69);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(86);
SERVO_derecho.write(73);
SERVO_izquierdo.write(48);
SERVO_gripper.write(170);
delay(1000);

22
SERVO_base.write(85);
SERVO_derecho.write(79);
SERVO_izquierdo.write(35);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(98);
SERVO_derecho.write(72);
SERVO_izquierdo.write(50);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(100);
SERVO_derecho.write(78);
SERVO_izquierdo.write(35);
SERVO_gripper.write(170);
delay(1000);

SERVO_base.write(95);
SERVO_derecho.write(98);
SERVO_izquierdo.write(27);
SERVO_gripper.write(170);
delay(1000);
}

while (sequencia [0] =='1') { //Secuencia esclavo-maestro


//Lectura de la posicion de los potenciometros
base_angle = analogRead(PIN_pot_base);
izquierdo_angle = analogRead(PIN_pot_izquierdo);
derecho_angle = analogRead(PIN_pot_derecho);
gripper_angle = analogRead(PIN_pot_gripper);

// Serial.print ("BASE:");
// Serial.print (base_angle);
// Serial.print (" DER:");
// Serial.print (derecho_angle);
// Serial.print (" IZQ:");
// Serial.print (izquierdo_angle);
// Serial.print (" GRP:");
// Serial.println (gripper_angle);

//Mapeo de las seales


base_angle = map(base_angle, 0, 740, 180, 0);
izquierdo_angle = map(izquierdo_angle, 0, 775, 180, 0);
derecho_angle = map(derecho_angle, 58, 835, 180, 0);
gripper_angle = map(gripper_angle, 0, 618, 0, 180);

23
//Seal PWM de los servos
SERVO_base.write(base_angle);
SERVO_derecho.write(derecho_angle);
SERVO_izquierdo.write(izquierdo_angle);
SERVO_gripper.write(gripper_angle);

Serial.print ("BASE:");
Serial.print (base_angle);
Serial.print (" DER:");
Serial.print (derecho_angle);
Serial.print (" IZQ:");
Serial.print (izquierdo_angle);
Serial.print (" GRP:");
Serial.println (gripper_angle);

delay(15); //Retraso para permitir al servo llegar a la posicion deseada


}
}
else {
SERVO_base.write(95);
SERVO_derecho.write(98);
SERVO_izquierdo.write(27);
SERVO_gripper.write(170);
}
}

24

Das könnte Ihnen auch gefallen