Está en la página 1de 16

PROYECTO INTEGRADOR BRAZO CLASIFICADOR

Integración De Sistemas Mecatrónicos

INTEGRANTES:

LÓPEZ DIAZ ALONSO

LUNA RITO ITZEL

OLVERA VALENCIA PAULINA

GRUPO: M-132
Índice

DESCRIPCIÓN GENERAL DEL PROYECTO .......................................................................... 3

JUSTIFICACIÓN ....................................................................................................................... 3

OBJETIVO GENERAL DEL PROYECTO ................................................................................. 3

OBJETIVOS ESPECÍFICOS ..................................................................................................... 3

ALCANCES DEL PROYECTO .................................................................................................. 4

LIMITACIONES DEL PROYECTO ............................................................................................ 4

DISEÑO DEL BRAZO ............................................................................................................... 5

ANALISIS DE VIGAS PARA SEGUNDO ESLABON ................................................................ 7

Cálculos ................................................................................................................................. 7
ELECTRÓNICA ......................................................................................................................... 8

PROGRAMACIÓN .................................................................................................................. 10

RESULTADOS ........................................................................................................................ 14

CONCLUSIÓN ........................................................................................................................ 16
DESCRIPCIÓN GENERAL DEL PROYECTO
En la actualidad existen en el sector industrial distintas formas de clasificar material, como
puede ser una persona, un brazo robótico; el cual es manipulado por un operador, esto
significa mucha pérdida de tiempo que es igual a dinero perdido en cuestiones de segundos
por estas actividades. Por todo lo anterior el objetivo del proyecto es el desarrollo y
construcción de un brazo clasificador; el cual se encargará de recolectar material y
clasificarlo. El prototipo brazo clasificador el cual será implementado en el área de almacenes
para clasificar por colores algunos materiales.
El brazo será programado para recolectar material clasificando por colores.
La principal ventaja de nuestro prototipo es que se podrán realizar actividades en menor
tiempo, sin la necesidad de tener más de un operador designado a una actividad.

JUSTIFICACIÓN
En la actualidad se puede observar en el sector industrial que las distintas actividades como
clasificar material son realizados por medio de robots; maquinas hechas por el hombre que
se encargan de facilitar o incluso realizar completamente las tareas humanas de mayor
riesgo, peligro y esfuerzo.

El prototipo ayudará a clasificar material por colores, ahorrando tiempo y personal, también
será acoplado alguna área en específico, esto con el fin de adaptarse las
necesidades del usuario. Como estudiantes de nivel
universitario se considera que es necesario presentar alternativas que puedan satisfacer las
necesidades antes planteadas, es por lo que surge la idea de crear este tipo de brazo
robótico, aplicando los conocimientos adquiridos para solucionar algunas de las necesidades
por el hombre.

OBJETIVO GENERAL DEL PROYECTO


Diseñar y construir brazo robótico clasificador de productos.

OBJETIVOS ESPECÍFICOS

1- Selección de componentes de la estructura. 2- Diseño mecánico.


3- Diseño electrónico de la estructura.
4- Modelar la dinámica del brazo cartesiano
ALCANCES DEL PROYECTO
Clasificar productos en tres colores distintos y que el brazo sea capaz de tomarlos y
colocarlos en una línea diferente.

LIMITACIONES DEL PROYECTO


Tendrá un área de trabajo reducida limitada a las 4 líneas con las que trabajará estará
limitada a la detección de 3 colores y soportará máximos 0.5kg.
4 3 2 1

DISEÑO DEL BRAZO


F F
80.00

36.59 0 0
.
0

0
0
.

E 8 22.00 E

D D
72.00
3.20 0.0

43.00
23

80.00

C C
0
0
2
9

6.00 8.00
0
R4. 0
0010.

B B
144.00
SI NO SE INDICA LO CONTRARIO: ACABADO:
REBARBA NO CAMBIE LA ESCALA REVISIÓN
RY
LAS COTAS SE EXPRESAN EN MM ROMPER
ARISTAS
ACABADO SUPERFICIAL: VIVAS
TOLERANCIAS: LINEAL: ANGULAR:

NOMBRE FIRMA FECHA TÍTULO:


VERIF. ENSAMBLAJE

ESLABÓN 1
DIBUJ.

A
APROB.
A
FAB

CALID. MATERIAL: DESCRIPCIÓN


R.
A4
Ensamble del eslabón 1 del brazo robótico
4 PESO: ESCALA:1:5 HOJA 1 DE 1
4 3 2 1

F Diseño del brazo F

0022.
802.

E B E

B SECCIÓN B-B
3.00

DETALLE D ESCALA 1 : 3
D ESCALA 2 : 3 D

00
3.
4
5
6

5
.

A
.
0

0 33.10 20.00 C

008.
19.40 R
5.
0

0
008.

C 8.00 80.00
24.00
2.40 0
8
8.00

0
2

.
5
.

0
0

R
3.60
0
0
2
0

SI NO SE INDICA LO CONTRARIO: ACABADO: REBARBAR Y


LAS COTAS SE EXPRESAN EN MM ROMPER ARISTAS
VIVAS
B B
ACABADO SUPERFICIAL:
TOLERANCIAS:
LINEAL:
DETALLE A
ANGULAR:
ESCALA 1 : 2 9.00
REVISIÓN
NO CAMBIE LA ESCALA

NOMBRE FIRMA FECHA TÍTULO:

DIBUJ.
ENSAMBLAJE

A
VERIF.
FABR.
ESLABÓN 2 A

APROB.
ANALISIS DE VIGAS PARA SEGUNDO ESLABON
Cálculos
P = 0.750 kg. Ya que este soportara una carga de 0.5 kg y se agrega el peso del
efector final
L = 34.5 mm = 0.345 m. Esta posición fue tomada para el análisis ya que es la longitud
máxima que alcanzara el brazo, por lo que es donde tendrá una mayor reacción.

𝐹 = 𝑃 ∗ 𝑔 = 7.3549 𝑁
𝑀𝑏 = 𝐹 ∗ 𝐿 = (7.354987 𝑁) ∗ (0.345) = 2.5374 𝑁 ∗ 𝑚
M=RZ
M= Momento de flexión
R= Resistencia a la tracción

Z= Área de sección
𝑘𝑁
𝑅 = 686465.5 𝑝𝑎𝑟𝑎 𝐴𝑐𝑒𝑟𝑜 𝑔𝑎𝑙𝑣𝑎𝑛𝑖𝑧𝑎𝑑𝑜
𝑚2
M=PL

RZ=PL

𝐹𝐿 2.5374
𝑍= = = 3.7 ∗ 10−6 𝑚2
𝑅 𝑅

Área mínima del soporte 3.7𝑋10−6𝑚2

Área de sección de eslabones:

𝐷 = 0.008 𝑚
𝐴1 = 𝜋𝑟 2
𝐴1 = 50.26 ∗ 10−6 𝑚2
𝐴 𝑇 = 2(𝐴1 ) = 100.53 ∗ 10−6 𝑚2

AT = 100.53 𝑥10−6 m2 Por lo que el elemento soportará el peso sin problema alguno.

ELECTRÓNICA

En esta sección se realizó la parte del diseño electrónico del circuito que el proyecto
necesita para que nuestro prototipo funcione, se realizó primeramente una simulación en
Proteus y respecto a su funcionamiento se mandó a imprimir la placa en la cual
conectamos todos los componentes.

Para el diseño de la parte electrónica el material principal a usar es el siguiente:

• PIC 18F4550
• A4988
• Regulador de tensión
• TIP 41
• Sensor TCS3200
En la imagen anterior se muestran las simulaciones realizadas en Proteus. En este caso,
se hizo uso de leds para observar el funcionamiento del proyecto debido a que se
utilizaron los módulos A4988 para el control de los motores a pasos.

De igual manera, se mostró el circuito que será utilizado para el sensor de color. A
continuación, se muestra una foto del circuito acompañado de la evidencia del
funcionamiento del mismo. Como se puede observar, las lecturas del sensor se pueden
ver a través de la pantalla LCD en las cuales, al momento de acercar un objeto color
azul, el valor de este color incrementa.
Se hace notar que las pruebas se realizan en una placa de pruebas para después de
tener un funcionamiento correcto, una vez asegurado pasamos a la impresión y
soldadura del PCB, dado que pueden realizar algunos cambios en los pines a utilizar
para mayor comodidad.

Placa PCB. El diseño de la PCB fue realizado con Proteus.

PROGRAMACIÓN
Dentro del proyecto tenemos dos partes importantes para la programación:
1. Secuencias del brazo para recolección del producto cuando el sensor mande la señal
de que el color está dentro del rango marcado.
2. Señal del sensor para mandar movimiento del brazo y realice secuencias, y es parte
esencial para el movimiento de la banda transportadora.

Como primer paso se realizan pruebas con el sensor para conocer cómo trabaja y cuál
es su funcionamiento ideal, de esta manera pasamos a hacer las pruebas, el código es
el siguiente:
Sensor: TCS3200
Elementos electrónicos:
*Sensor
*Pic18f4550
*LCD
Para el desarrollo del proyecto se implementó el uso de un pic18f4550, el cual fue
programado usando el software PIC C Compiler. El código se expone a continuación:

Como primera parte, es necesario incluir librerías, establecer las configuraciones del pic
y sus puertos, y también la declaración de las variables universales utilizadas en el
código:

#include <18f4550.h>
#FUSES XT, NOWDT, NOPUT, NOPROTECT, BROWNOUT, NOLVP, NOCPD
#use delay(crystal=20M)
//CONFIGURA LA FRECUENCIA DEL OSCILADOR
#use rs232(baud=19200)
#include <flex_lcd.c>
#use fast_io(C)
#byte trisb = 0x00
#byte trisa = 0xff
#byte porta=0xff
#byte portb=0x00
int tiempo =0;

int1 flagToggleFlanco=0; // Flag para cambiar de flanco


int16 t1=0x00,t2=0x00,tt=0x00; // Variables para guardar estados de ...
float st=0.0; // TMR1 en cada flanco y hacer la resta
int1 flagHayDatos=0; // Flag para indicar que ya hay datos de ..

Float Lectura();

Una vez terminada la configuración del pic, se creó una interrupción que ayudará a la
captura de datos del sensor de color. Ya que el sensor entrega frecuencia, se optó por
usar una interrupción externa en donde se utiliza el timer 1 para medir el tiempo entre un
pulso y otro, y de esta forma obtener la frecuencia de salida.

#int_ext
void handle_ext_int(){

if(flagToggleFlanco==0){ // He recibido flag de Subida

t1=get_timer1(); // Guardo en t1 el valor de TMR1 al flag de Subida


ext_int_edge(0,H_TO_L); // Configuro para capturar siguiente flag de Bajada
flagToggleFlanco=1; // Indico que el siguiente flag será de Bajada

} else { // He recibido flag de Bajada


t2=get_timer1(); // Guardo en t2 el valor de TMR1 al flag de Bajada
ext_int_edge(0,L_TO_H); // Configuro para capturar siguiente flag de subida
flagToggleFlanco=0; // Indico que el siguiente flag será de Subida
set_timer1(0); // Reinicio TMR1
if(flagHayDatos==0){ // Si los datos anteriores han sido procesados ...
flagHayDatos=1; // Indico que ya hay nuevos datos de flags para calcular
}
}
}
También se guardó el proceso de captura de datos en una función, en esta si hay flag
con datos y se hacen los cálculos necesarios para obtener el tiempo en microsegundos.

float Lectura()
{
if(flagHayDatos==1){ // Detecto que ya hay datos de flags ...
if(t2 > t1){ // Prueba de estar en la misma vuelta de TMR1
tt = t2 - t1; // Calculo en Tick's de TMR1 el tiempo entre flags
st = uSxTick * tt; // Tiempo en microsegundos.

}
flagHayDatos=0; // Ya han sido procesados los datos.
}
return(st);
}

Para el comienzo del ciclo main() se inicializan las variables, los puertos y se realizan las
configuraciones necesarias para habilitar las interrupciones externas.

void main()
{

portb=0x00;//puerto B puesto en 0
porta=0x00;//puerto B puesto en 0

float Rojo=0.0;
float Verde=0.0;
float Azul=0.0;
lcd_init();
set_tris_c(0b000000001);

ext_int_edge(0,L_TO_H); // Configuro captura de 1er flanco de subida


flagToggleFlanco = 0; // inicializo el Flag para cambiar de flanco
enable_interrupts(int_ext);
enable_interrupts(global);

En el ciclo infinito se colocó el código que permite obtener la lectura de los diferentes
colores provenientes del sensor, ya que, al tener solo una salida, este debe estar
cambiando su configuración para medir un color u otro.

//LECTURA SENSOR DE COLOR------------------


//Config Rojo
output_c(0b00000000);
Rojo = Lectura();
delay_ms(50);

//Config Verde
output_c(0b00000110);
Verde = Lectura();
delay_ms(50);

//Config Rojo
output_c(0b00000100);
Azul = Lectura();
delay_ms(50);
De igual manera se colocaron los comandos y acciones que controlarán los motores a
pasos que le dan movimiento al brazo. Como se puede observar, este cuenta con 4
movimientos principales: en el primero el brazo sale hacia al frente, en el segundo, el
brazo gira a la izquierda, luego regresa hacia atrás y finaliza retornando a la derecha.

while(true){

if((!input(pin_a3))||(!input(pin_a2) )){
output_low (pin_b6);
if(!input(pin_a3)){tiempo = 50;}
if(!input(pin_a1)){tiempo = 70;}
if(!input(pin_a2)){tiempo = 90;}

// frente-------------------------------

output_high(pin_b4);
output_low(pin_b2);
for(int i=0; i<tiempo; i++){
output_toggle(PIN_B5);
output_toggle(PIN_B3);
delay_ms(50);
}
delay_ms(500);

//giro izquierda-------------------------
output_high (pin_b0);
for(int i=0; i<50; i++){
output_toggle(PIN_B1); // cambia el estado del pin RB1
delay_ms(50);
}

//giro atras--------------------------------
output_low(pin_b4);
output_high(pin_b2);
for(int i=0; i<tiempo; i++){
output_toggle(PIN_B5);
output_toggle(PIN_B3);
delay_ms(50);
}
delay_ms(50);

//giro derecha-----------------------------

output_low (pin_b0);
for(int i=0; i<50; i++){
output_toggle(PIN_B1); // cambia el estado del pin RB1
delay_ms(50);
RESULTADOS

En la parte de la programación todos los objetivos se cumplen en un 100%, cada una de


las partes del proyecto realiza de forma autónoma sus funciones. Para la electrónica se
tuvo una variedad de inconvenientes. Debido a la falta de presupuesto y de tiempo, se
optó por cambiar el diseño de la PCB y montar el circuito en una placa perforada,
mostrada a continuación.
Una vez que se realizó el circuito, se procedió a probar la placa, donde se encontró que
el circuito tenía fugas de corriente, lo que provocaba que los motores se accionaran
cuando no debían. Se buscó la corrección de este problema revisando repetidas veces
las conexiones realizadas en la placa. Sin embargo no fue posible dar solución a este
fallo, por lo que al final se terminó por tomar el último recurso, el cual vendría siendo
montar el circuito en protoboards:

Se continuó con el montaje de las otras partes del proyecto. En la siguiente imagen, se
puede observar de forma cercana la banda transportadora realizada. Esta es accionada
por un motorreductor con la velocidad regulada por medio de una división de tensión.
Esta banda es accionada por el PIC mientras no capte el color que se busca separar del
resto para su clasificado. Una vez detectado el objeto de ese color, la banda se detiene
hasta que el objeto ya no sea detectado.
Al detenerse la banda, el brazo se acciona y comienza a avanzar en dirección al objeto,
una vez que llega, lo toma, lo levanta y lo recoloca en un lugar asignado. A continuación,
se muestra el brazo ensamblado y fijo en una base de madera, misma donde se
encuentra la banda transportadora.

Sin embargo, en el último montaje de circuito, donde se realizaría un video para el envío
de evidencia del funcionamiento del proyecto, se realizó una conexión indebida
provocando un corto, lo que resultó quemando los drivers de los motores dejando nuestro
brazo sin movimientos.

CONCLUSIÓN

Lamentablemente, este proyecto no pudo ser concluido en un 100%. Sin embargo, se


considera que se consiguieron al menos un 70% de los objetivos al realizar la
identificación de colores, el control y construcción de la banda transportadora y concluir
con el diseño y construcción del brazo robótico.

Esto nos deja un área de oportunidad bastante amplio, en el que se buscará una mejor
optimización de recursos materiales como el cuidado del equipo utilizado y un mejor
diseño e implementación del mismo, además de los recursos humanos, en los que se
buscará identificar puntos fuertes de cada integrante del equipo y asignar tareas en
donde se puedan realizar aportaciones más significativas y de mayor peso.

También podría gustarte