banco didactico basado en un manipulador scara para

118
BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA TRANSPORTE Y CLASIFICACION DE PIEZAS CON FIN DE DAR APOYO EN ASIGNATURAS DE ROBOTICA Y AUTOMATIZACION. JUAN SEBASTIAN TRASLAVIÑA DAVILA UNIVERSIDAD AUTÓNOMA DE BUCARAMANGA FACULTAD DE INGENIERÍAS PROGRAMA DE INGENIERÍA MECATRÓNICA BUCARAMANGA 2019

Upload: others

Post on 20-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TRANSPORTE Y CLASIFICACION DE PIEZAS CON FIN DE DAR APOYO EN

ASIGNATURAS DE ROBOTICA Y AUTOMATIZACION.

JUAN SEBASTIAN TRASLAVIÑA DAVILA

UNIVERSIDAD AUTÓNOMA DE BUCARAMANGA

FACULTAD DE INGENIERÍAS

PROGRAMA DE INGENIERÍA MECATRÓNICA

BUCARAMANGA

2019

Page 2: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TRANSPORTE Y CLASIFICACION DE PIEZAS CON FIN DE DAR APOYO EN

ASIGNATURAS DE ROBOTICA Y AUTOMATIZACION.

Autor:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

TESIS DE GRADO PARA OPTAR A TITULO DE INGENIERO MECATRONICO

Director:

VICTOR ARDILA, MSc

UNIVERSIDAD AUTÓNOMA DE BUCARAMANGA

FACULTAD DE INGENIERÍAS

PROGRAMA DE INGENIERÍA MECATRÓNICA

BUCARAMANGA

2019

Page 3: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

3

Page 4: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

AGRADECIMIENTOS

Agradezco primero a Dios por darme la oportunidad de estudiar, por darme salud y

sabiduría para afrontar los retos que en la vida que se me han presentado. A mi

familia por creer en mí y apoyarme en los momentos donde más los necesite. A los

profesores de la carrera porque me aportaron parte de su conocimiento, experiencia

y sabiduría.

A mi director de proyecto de grado por todo el apoyo, motivación y atención brindada

durante el transcurso de los semestres, porque a pesar de que el proyecto se

dificultara siempre me apoyo. A nuestros auxiliares académicos de laboratorio de

electrónica porque con su colaboración hizo más ameno este proceso y por la

paciencia brindada. A los señores evaluadores de proyecto por las observaciones y

asesorías realizadas ayudando a mejorar de forma considerable el proyecto.

4

Page 5: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TABLA DE CONTENIDO

Página

1. OBJETIVOS ................................................................................................... 10

OBJETIVO GENERAL ....................................................................................... 10

OBJETIVOS ESPECIFICOS .............................................................................. 10

2. INTRODUCCION ........................................................................................... 11

3. ROBOT SCARA DE CUATRO GDL ............................................................... 12

3.1 CINEMÁTICA DIRECTA ......................................................................... 13

3.2 CINEMÁTICA INVERSA .............................................................................. 14

CODO ARRIBA .............................................................................................. 15

CODO ABAJO: ............................................................................................... 15

3.3 MODELO DINÁMICO................................................................................... 16

3.4 DISEÑO MECANICO ................................................................................... 17

DIMENSIONAMIENTO ................................................................................... 17

3.5 MATERIALES .............................................................................................. 20

3.6 CALCULO DE MOTORES ........................................................................... 22

3.5 DISEÑO DE ELEMETOS DE MAQUINAS ................................................... 23

ESLABÓN 1 .................................................................................................... 23

ESLABÓN 2 .................................................................................................... 24

4. DISEÑO ELECTRICO Y ELECTRÓNICO ...................................................... 25

4.1 DISEÑO ELÉCTRICO .................................................................................. 25

4.2 DISEÑO ELECTRÓNICO ............................................................................ 25

4.2.1 ACTUADORES ..................................................................................... 25

4.2.2 TARJETA DE MANDO O CONTROL .................................................... 28

4.2.3 SENSORES .......................................................................................... 28

4.2.4 PANEL DE CONTROL .......................................................................... 32

5. ENSAMBLE .................................................................................................... 34

6. CONTROL DEL ROBOT ................................................................................ 38

7. PROTOCOLO DE COMUNICACIÓN ............................................................. 39

8. INTERFAZ HMI .............................................................................................. 40

9. RESULTADOS ............................................................................................... 41 5

CONTROL ROBOT SCARA ............................................................................... 41

Page 6: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

CONTROL DE MPS FESTO .............................................................................. 41

10. CONCLUSIONES ....................................................................................... 42

MECÁNICO: ....................................................................................................... 42

ELECTRÓNICO: ................................................................................................ 42

COMUNICACIÓN ............................................................................................... 43

INTERFAZ HMI .................................................................................................. 43

11. BIBLIOGRAFIA ........................................................................................... 44

ANEXOS ................................................................................................................ 46

6

Page 7: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

IMÁGENES

Página

Imagen 1. Diagrama de cuerpo libre de un robot SCARA. ..................................... 12

Imagen 2. Diseño banco didáctico ......................................................................... 12

Imagen 3. Sistemas de referencia DH del robot scara aplicando el algoritmo de D.H

...............................................................................................................................13

Imagen 4. Cinemática inversa del robot SCARA.................................................... 15

Imagen 5. Eslabón prismático ................................................................................ 16

Imagen 6. Vista isométrica robot SCARA 4gdl ....................................................... 17

Imagen 7. Diseño1 grado de libertad ..................................................................... 18

Imagen 8. Diseño 2 grado de libertad .................................................................... 19

Imagen 9. Diseño 3 grado de libertad .................................................................... 20

Imagen 10. Diseño 4 grado de libertad .................................................................. 20

Imagen 11. Características físicas del acero al carbono dadas por solidworks. .... 21

Imagen 12. Características físicas del aluminio dadas por solidworks. .................. 21

Imagen 13. Análisis estático de eslabón 1 ............................................................. 23

Imagen 14. Análisis estático segundo eslabón ...................................................... 24

Imagen 15. Motor paso a paso de 18 [kg ∗ (𝑚2/𝑠2)] ........................................................... 26

Imagen 16. Tarjeta de control TB6600 ................................................................... 27

Imagen 17. Puente H de referencia LD298N. ........................................................ 27

Imagen 18. Servomotor del gripper ........................................................................ 28

Imagen 19. Tarjeta ARDUINO mega ...................................................................... 28

Imagen 20. Grafica de palabra digital vs ángulo del potenciómetro del 1 gdl. ....... 29

Imagen 21. Grafica de palabra digital vs ángulo del potenciómetro del 2 gdl. ....... 30

Imagen 22.Grafica de palabra digital vs altura del potenciómetro del 3 gdl. .......... 32

Imagen 23. Panel de control. ................................................................................. 33

Imagen 24. Ensamble del primer grado de libertad ................................................ 34

Imagen 25. Ensamble del 2 gdl. ............................................................................. 35

Imagen 26. Ensamble del 3 gdl. ............................................................................. 35

Imagen 27. Ensamble del gripper. ......................................................................... 36

Imagen 28. Robot SCARA con estructura terminada ............................................. 36

Imagen 29. Robot SCARA con carcazas y mangueras puestas. ........................... 37

Imagen 30. Prototipo del robot SCARA terminado ................................................. 37

Imagen 31. Control ON-OFF en un sistema ........................................................... 38

Imagen 32. Interfaz HMI del robot SCARA. ........................................................... 40

Imagen 33. Eje macizo rediseñado ........................................................................ 42

7

Page 8: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TABLAS

Página

Tabla 1. Variables del algoritmo de Denavint Hartenberg ...................................... 13

Tabla 2. Parámetros del robot SCARA. ................................................................. 22

Tabla 3. Medición de palabra digital vs Angulo 1GDL ............................................ 29

Tabla 4. Medición de palabra digital vs Angulo 2GDL ............................................ 30

Tabla 5. Medición de palabra digital vs Angulo 2GDL ............................................ 31

8

Page 9: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

LISTA DE ANEXOS

ANEXO A: CIRCUITOS ELECTRICOS Y DIAGRAMA DE ESTADOS ROBOT

SCARA.

ANEXO B: PLANOS MECANICOS

ANEXO C: MANUAL DE FUNCIONAMIENTO ROBOT SCARA

ANEXO D: CODIGO ARDUINO ROBOT SCARA

9

Page 10: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

1. OBJETIVOS

OBJETIVO GENERAL

Desarrollar un banco didáctico basado en un robot SCARA (Selective Compliant Assembly Robot Arm) que permita realizar el transporte de piezas desde un punto fijo o variable, para su posterior clasificación mediante la MPS (Modular Production System o Sistema de Producción Modular) de FESTO.

OBJETIVOS ESPECIFICOS

• Determinar el modelo cinemático y dinámico de un robot SCARA de 4 GDL.

• Desarrollar arquitectura física del manipulador SCARA acoplado a la MPS.

• Simular técnicas de control para el posicionamiento del sistema de manipulación de cada grado de libertad.

• Seleccionar instrumentación y elementos finales de control.

• Construir el manipulador SCARA con acoplamiento a la MPS.

• Implementar una interfaz hombre-máquina para manipular y supervisar insitu (Simulación en tiempo real) de la estación de manipulación y clasificación de piezas.

• Validar experimentalmente los subsistemas conforme prototipo hardware, software y protocolo de comunicación.

• Plantear guías de laboratorio para dar apoyo a asignaturas de robótica y automatización.

10

Page 11: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

2. INTRODUCCION

El robot SCARA (Selective Compliant Assembly Robot Arm) es un brazo robótico

bastante utilizado en diferentes campos industriales donde se requiera cumplir con

tareas de alta precisión o repetitividad. Un robot SCARA convencional posee cuatro

grados de libertad, con tres articulaciones rotatorias y una prismática. Este robot es

capaz de ubicar un objeto en un espacio de tres dimensiones. Un enfoque de este

robot es servir como manipulador.

Los robots manipuladores por su característicos por optimizar procesos industriales

aplicados a la soldadura, manipulación de objetos o piezas, corte y acabado,

montaje o pintura. Entran a la necesidad de la industria otorgando a los productos

un menor tiempo de desarrollo o fabricación, una mayor eficiencia o una mayor

calidad además de un bajo costo de producción. Desde hace varios años que se

inventaron los robots industriales como el robot SCARA (Selective Compliant

Assembly Robot Arm) y otros más han sido los impulsores del gran desarrollo de la

manufactura actual, de ahí la importancia de que las universidades empezaran a

adquirir robots como bancos de pruebas y formar a los estudiantes en estas

máquinas.

El banco didáctico del robot SCARA propone el estudio, diseño y construcción de

un robot SCARA acoplado a una MPS (Modular Production System o Sistema de

Producción Modular) de FESTO, que permita reforzar los conceptos de las

asignaturas de robótica y la automatización industrial. El banco cuenta con tomas

eléctricas de alimentación al banco, fuente de voltaje DC, robot SCARA de 4 gdl

compuesto por motores paso a paso, sensores que miden la posición y tarjetas de

control capaz de contralar el giro de los motores, una mesa didáctica, una MPS de

FESTO y una interfaz hombre máquina que permite a los estudiantes controlar los

movimientos del robot.

11

Page 12: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

3. ROBOT SCARA DE CUATRO GDL

Un robot SCARA es un robot industrial que posee movimiento rotacional y

longitudinal, este robot se caracteriza por ser eficiente en realizar trabajos repetitivos

como transporte de piezas, pintura y muchas más actividades industriales. Un robot

SCARA de 4 grados de libertad se puede ver en la imagen 1, este robot se compone

de una base que soporta la estructura del robot, pivotes. rodamientos, eslabones, y

un elemento final de control.

Imagen 1. Diagrama de cuerpo libre de un robot SCARA.

El diseño del robot SCARA fue hecho con base al robot YK-XG que comercializa la

empresa Yamaha, debido a esta razón se facilitó el diseño mecánico. La imagen 2

corresponde a un dibujo en una vista isométrica del robot SCARA acoplado a la

MPS, este dibujo se realizó en el entorno de desarrollo grafico Solidworks. Se

establece un diseño de un robot SCARA que tuviera la posibilidad de desplazarse

fácilmente y tuviera un brazo de acción de 76 [cm] y un recorrido prismático de

32[cm] de altura.

Imagen 2. Diseño banco didáctico.

12

Page 13: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

3.1 CINEMÁTICA DIRECTA

Luego de tener definido el diseño mecánico del robot, se pasa a determinar su

cinemática directa para poder calcular la posición de elemento final de control

(gripper). En este caso se aplicará el algoritmo de Denavit Hartenberg (DH). Para

realizar este algoritmo solo se utilizarán 3 GDL del robot SCARA contemplando que

el gripper solo podrá abrir o cerrar por lo tanto solo hace parte del segundo grado

de libertad.

Imagen 3. Sistemas de referencia DH del robot scara aplicando el algoritmo de D.H

En la tabla 1 se describe los grados de libertad y las variables requeridas para aplicar

el algoritmo de D.H.

Tabla 1. Variables del algoritmo de Denavint Hartenberg.

Articulación θ d a

q

1 1 Lc L1 0 𝜃1

2 0 L2 180 𝜃

3 0 0 0 𝑑

COS(𝜃) = C𝜃 Y SEN(𝜃) = S𝜃 COS(𝛼) = C𝛼 Y SEN(𝛼) = S𝛼

Luego de aplicar el algoritmo se obtiene la forma de la matriz homogénea y se

reemplaza para cada articulación desde la 1 a la 3.

C𝜃 −C𝛼S𝜃 S𝛼 𝑎C𝜃 𝑖−1𝐴𝑖 = [S𝜃 C𝛼C𝜃 −S𝛼C𝜃 𝑎S𝜃] Ecuación (1)

0 0

Se reemplaza eslabón 1

S𝛼 0

C𝛼 𝑑 0 1

C1 −S1 0 𝐿1𝐶1 𝐴0= [S1 C1 0 𝐿1𝑆1 ] Ecuación (2)

1 0 0 0 0

1 𝐿𝑐 0 1

13

Page 14: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Se reemplaza eslabón 2 C2 S2 0 𝐿2𝐶2

𝐴1= [S2 −C2 0 𝐿2𝑆2 ] Ecuación (3)

Se reemplaza eslabón 3

0 0 1 0 0 0 0 1

1 0 0 0 𝐴 = [0 1 0 0 ] Ecuación (4)

0 0 1 𝑑 0 0 0 1

Calculadas las matrices de rotación de cada grado de libertad del robot

(representadas en la Ecuación 2,3 y 4) se realiza la multiplicación matricial para

obtener la matriz homogénea o la matriz de rotación del robot SCARA de 4 GDL,

dicha matriz se obtiene al multiplicar la matriz de cada eslabón, ver ecuación 5 y

como resultado de esta operación de matrices se obtiene la matriz de

transformación que permite determinar la posición final del gripper, ver ecuación 6. T = 𝐴0 * 𝐴1 * 𝐴 Ecuación (5)

1

C1C2 − 𝑆1𝑆2 𝐶1S2 + S1C2 0 𝐿𝑏(𝐶1𝐶2 − 𝑆1𝑆2) + 𝐿𝑎𝐶1

T = [S1C2 + C1S2 S1S2 − C1C2 0 𝐿𝑏(𝑆1𝐶2 − 𝐶1𝑆2) + 𝐿𝑎𝑆1 ] 0 0 −1 0 0 0

𝐿𝑐 − 𝑑3 1

Ecuación (6)

3.2 CINEMÁTICA INVERSA:

Con la cinemática directa se obtiene la posición final del manipulador, pero ocurre

la necesidad de identificar los ángulos de cada grado de libertad para lograr una

posición XYZ y así coger las piezas. Se obtuvo la cinemática inversa de manera

desacoplada para el robot SCARA, se contempló que el primer y segundo grado de

libertad se podría obtener la cinemática inversa a partir de una forma trigonométrica,

aplicando el teorema de Pitágoras y también la ley de senos y cosenos. Para la

parte prismática vasta con la diferencia entre el valor z y la posición que tenga el

gripper en ese instante.

14

Page 15: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 4. Cinemática inversa del robot SCARA.

Para determinar la cinemática inversa:

Se determina el ángulo 𝛽 con la posición xy del gripper.

𝛽 = atan2(𝑝𝑥, 𝑝𝑦) Ecuación (7)

Se calcula la hipotenusa hasta el punto XY

C = √𝑝𝑋 + 𝑝𝑌 Ecuación (8)

Ahora se calcula el ángulo 𝜑 por medio de la ley de senos y cosenos

𝜑 = 𝐶𝑂𝑆−1 𝑎2

2−𝑎12−𝑐2

( − ∗𝑎1∗𝑐

) Ecuación (9)

Nuevamente se aplica la ley de senos y cosenos para hallar el ángulo n.

n = 𝐶𝑂𝑆−1 𝑐2

2−𝑎22−𝑎2

2 (

− ∗𝑎1∗𝑎2 ) Ecuación (10)

cuando se calcula la cinemática inversa de un robot como el SCARA que consta de

dos articulaciones se puede llegar a un mismo punto de dos maneras posibles, una

es codo arriba y la otra es codo abajo.

CODO ARRIBA:

El cálculo de la cinemática inversa de codo arriba es el siguiente:

𝜃1 = 𝛽 + 𝜑 Ecuación (11)

𝜃 = 𝑛 + 180 Ecuación (12)

CODO ABAJO:

El codo abajo se calcula de la siguiente forma:

𝜃1 = 𝛽 − 𝜑 Ecuación (13)

𝜃 = 180 − 𝑛 Ecuación (14)

Y para el cálculo del movimiento prismático:

𝑍 = 𝑇1 − 𝐿 Ecuación (15)

15

Page 16: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

3.3 MODELO DINÁMICO

Imagen 5. Eslabón prismático.

Ya diseñado el robot, se continua con la ejecución del diseño y para ello se deben

calcular los torques de los motores y esto se logra por medio de un modelo dinámico

que se obtuvo del paper “Mechatronic System Desing of a Cake Decoration Robotic

Module Using a SCARA Manipulator”.

Para la realización del modelo se aplicó el algoritmo de Euler-lagrange, este

algoritmo pide identificar los grados de libertad que presente el sistema; para este

robot son 2 grados rotacionales y 2 prismáticos. Seguido se identifica un sistema de

coordenadas, lo cual en conceptos dinámicos se habla de un sistema en coordenas

generalizadas. A continuación, se tienen aspectos técnicos como identificar las

fuerzas no conservativas o las fuerzas que generen trabajo como es el torque

producido por el motor. Luego de que se obtenga el lagrangiano se busca

representar el sistema.

Con el método de LaGrange-Euler se obtiene la forma matricial descrita como:

𝑀( ) + 𝐶( , ) + 𝑁( ) = 𝑄 Ecuación (16)

𝑀( ) es la matriz de inercias, 𝐶( , ) representa la aceleración de coriolis o

aceleraciones centrípetas, 𝑁( ) representa el término producido de la gravedad y 𝑄 los torques de los motores.

𝛼 + 2𝛾 cos 𝜃 𝛽 + 𝛾 cos 𝜃

𝑀(𝜃) = [ 𝛽 + 𝛾 cos 𝜃 𝛽 0 0 0 0

0 0 𝛿 0 0 𝑚 0 0

] Ecuación (17)

−𝛾 cos 𝜃 𝜃 −𝛾 cos 𝜃 (𝜃 + 𝜃1 ) 0 0

𝐶(𝜃, ) = [ 𝛾 sin 𝜃 𝜃1 0 0 0] Ecuación (18)

0 0 0 0 0 0 0 0

Page 17: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

16

Page 18: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

1

𝑁(𝜃, ) = [

0 0

𝑚4𝑔 0

] Ecuación (19)

𝑇1 𝑄 = [𝑇2] Ecuación (19)

𝑇3 0

Donde: 𝛼 = 𝐼𝑧1 + 𝐼𝑧 + 𝑟 𝑚1 + 𝑚 ∗(𝑙1^2+𝑟 ^2) Ecuación (19)

𝛽 = 𝑚 𝑙1𝑟 Ecuación (20)

𝛾 = 𝐼𝑧 + 𝑚 Ecuación (21)

𝑟 = 𝑙1/2 Ecuación (22)

3.4 DISEÑO MECANICO

El diseño mecánico del robot SCARA de 4 gdl como ya fue mencionado previamente

en este libro, fue con base al robot YK-XG que comercializa la empresa Yamaha,

se destaca que el diseño tuvo muchos cambios debido a que se debía hacer este

robot optimizando recursos de acuerdo a esto el diseño tiene su originalidad. La

imagen 6 corresponde a un dibujo en una vista isométrica del robot SCARA.

DIMENSIONAMIENTO:

Imagen 6. Vista isométrica robot SCARA 4gdl.

Como criterios fundamentales del diseño se destaca que el robot tenía que tener 4

grados de libertad además a esto debía ser un robot robusto, por ende, se diseñó el

brazo con una longitud de 76 [cm]. Para la estructura del robot se diseñó una base

que se hizo de un perfil en L de 2” por cara y de ancho de 1/8”. El primer grado de

libertad corresponde a un movimiento rotacional, cuando se diseñó este grado

17

Page 19: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

de libertad fue importante contemplar que los demás componentes del robot se ven

apoyados en este grado de libertad por ende el pivote que iba adherido a la base

del robot debía ser grueso; inicialmente se propuso uso de rodamientos de esferas,

pero con la construcción del prototipo se dañaron los rodamientos de esferas, una

hipótesis sobre este suceso es el hecho de que el eje se apoyó con cierta inclinación

lo que genero su desembocadura, la solución fue utilizar rodamientos de agujas. El

primer grado de libertad se diseñó con un eslabón de 34 [Cm] de longitud y un ancho

de 8 [Cm] y para completar se debía hacer la medición del ángulo, esto se hizo con

engranajes rectos del mismo tamaño adheridos al eje del primer eslabón y al eje del

potenciómetro (el potenciómetro quedo soportado en un hueco de la medida del

exterior del potenciómetro. Todas las especificaciones a detalle serán encontradas

en los anexos de planos mecánicos).

Imagen 7. Diseño1 grado de libertad.

El segundo grado de libertad también era un movimiento rotacional, se destaca que

se utilizó una columna que le diera altura y soporte al segundo grado, luego se

realizó un pivote más delgado que iba adherido por tornillos a la viga y se realizó un

eslabón de 38[Cm] de largo y al igual que el primer grado de libertad se usaron

engranajes en la medición del ángulo adheridos al eje del potenciómetro (el

potenciómetro quedo soportado en un hueco de la medida del exterior del

potenciómetro) y del eje del grado del segundo grado de libertad.

18

Page 20: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 8. Diseño 2 grado de libertad.

El tercer grado de libertad es un grado de libertad prismático, para este diseño se

contempló el uso de una transmisión de movimiento por medio de un piñón

cremallera, pero para lograr esto se requería algún objeto que permitiera soportar el

movimiento de la cremallera por ende se propuso el uso de una corredera lineal;

Este tipo de corredera es usada en los cajones de los hogares o en diferentes usos

que se requiera realizar un movimiento lineal y evitar roces entre cuerpos. Ya se

tenía donde posicionar la cremallera ahora faltaba poner el piñón que se encargaría

de darle movimiento a la cremallera. A este mecanismo le faltaba un detalle y este

detalle era que como el motor transmitiría el movimiento al engranaje y para esto se

usó un sistema de tornillo sin fin a piñón. Se usó este mecanismo debido a que si

se ubicaba un motor debía ser de forma axial al eslabón 2 entonces se necesitaba

que el engranaje quedara soportado de forma transversal y así poder transmitir el

movimiento, este tipo de transmisión requiere que los ejes entre los componentes

que rotan se encuentren a 90°. Lo último que se diseño fue la lectura de la altura del

elemento final de control, para ello se usó un engranaje que se acoplaba el eje del

potenciómetro para el potenciómetro se le hizo un soporte en u que le permitiera estar

adherido al eslabón 2.

19

Page 21: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 9. Diseño 3 grado de libertad.

El cuarto grado de libertad también corresponde a un grado de libertad prismático,

para su diseño se contempló una pieza que se pudiera adherir a la corredera lineal

y que sujetara al elemento final de control. Se encontró comercialmente un elemento

final de control que en este caso fue un gripper y se implemento.

3.5 MATERIALES:

Imagen 10. Diseño 4 grado de libertad.

Terminado el diseño mecánico se empezó a buscar los materiales con que realizar

las piezas y se concluyó que los factores a tener en cuenta era que los materiales

debían ser de bajo costo, pero de un buen rendimiento. Los materiales que cumplían

estos requerimientos eran acero al carbono y aluminio.

Para este banco se usaron acero al carbono (HR) para todas las piezas mecánicas

como ejes, soportes y pivotes

20

Page 22: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 11. Características físicas del acero al carbono dadas por solidworks.

Para los eslabones 1 y 2 como la columna que soporta al eslabón 2 se usó aluminio

por ser un material liviano, posee baja densidad comparado con otros metales

estructurales y con un esfuerzo a la deformación alto. Se usó también plásticos en

los engranajes y en el gripper pero estas piezas ya las vendían hechas.

Imagen 12. Características físicas del aluminio dadas por solidworks.

21

Page 23: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

3.6 CALCULO DE MOTORES:

Ya teniendo el diseño del robot y el modelo dinámico con las dimensiones y especificaciones mecánicas como masas, dimensiones y momentos de inercia de los cuerpos se procede a realizar el cálculo de los torques reemplazando los parámetros en la ecuación 16:

Tabla 2. Parámetros del robot SCARA.

PARAMETROS VALOR UNIDADES

𝐼𝑧1 0.010085924;

𝑘𝑔*𝑚

𝐼𝑧 0.010373875 𝑘𝑔*𝑚 𝐼𝑧 0.07325 𝑘𝑔*𝑚

m1 0,8 𝑘𝑔

m2 0,65 𝑘𝑔

l1 0,34 m

l2 0,41 m

Luego de realizar el cálculo de los torques se obtiene un valor en [ 𝑚2

y se pasó

a [ 𝑚2

kg ∗ ( 𝑠2 )]

que son las características que se encuentran comercialmente.

kg ∗ ( 𝑠2 )]

𝑇1

𝑚2 17,2 [kg ∗ ( )]

𝑠2

[𝑇2] = 𝑇3

𝑚2

10,456 [kg ∗ ( 𝑠2 )]

𝑚2

[ 4,86 [kg ∗ ( 𝑠2 )] ]

Los valores de torque que se obtuvieron no se encuentran comercialmente en

motores paso a paso, pero se realizó una aproximación por arriba al valor que si se

encuentra en la industria. El fin de aumentar el valor del torque calculado es por si

en las ecuaciones diferenciales no se contempló alguna fuerza opuesta al

movimiento o alguna perdida por fricción que afectara el funcionamiento.

𝑚2

𝑇1

18 [kg ∗ ( 𝑠2

)]

[𝑇2] = 𝑇3

𝑚2

12 [kg ∗ ( 𝑠2 )]

𝑚2

[ 5 [kg ∗ ( 𝑠2 )] ]

Para el 4 grado de libertad se utilizó un servomotor de 2[

𝑚2

que era el torque

kg ∗ ( 𝑠2 )

que recomendaba el proveedor para no generar daños en el gripper.

Page 24: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

22

Page 25: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

𝑚2

𝑇4 = 2[kg ∗ ( 𝑠2 )]

3.5 DISEÑO DE ELEMETOS DE MAQUINAS

Cuando se obtuvo el cálculo de los motores que generarían el movimiento del robot SCARA se realiza el análisis estático de cargas para determinar si el diseño planteado tenía alguna falla mecánica, las piezas que se analizaron eran las que podían fallar por su gran dimensión y las cargas que soportarían, como era el caso del eslabón 1 y 2.

ESLABÓN 1:

Para realizar el análisis estático de esta pieza se contempla que es una viga está totalmente horizontal y se establece una carga estática distribuida de 3[kg] donde se contempla el peso del segundo eslabón y el torque del motor que es equivalente a 0.18 [N ∗ m)]. Todo esto se realiza por medio de Solidworks Simulation y sus librerías.

Imagen 13. Análisis estático de eslabón 1.

Como se puede notar en la parte derecha de la imagen 13 se encuentra una barra de calor que representa el valor del esfuerzo de von mises, estos colores se ven reflejados en la parte izquierda en la pieza y se puede notar colores azules o verdosos lo que significa que no hay puntos críticos donde se deforme el eslabón. Con este estudio se aprueba el material y las dimensiones contempladas en el diseño para esta pieza.

23

Page 26: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

ESLABÓN 2

Al igual que el eslabón 2 se establecen las mismas condiciones, la pieza está completamente horizontal. Ahora se le agrega una carga estática distribuida de 1kg donde se contempla el peso del eslabón 3, el torque del motor que es equivalente a 0.12[N ∗ m)].

Imagen 14. Análisis estático segundo eslabón.

Como se puede notar en el análisis del esfuerzo de von mises no se presentan puntos rojos. Con este estudio se aprueba el material y las dimensiones contempladas en el diseño para el eslabón 2.

24

Page 27: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4. DISEÑO ELECTRICO Y ELECTRÓNICO

4.1 DISEÑO ELÉCTRICO

El banco contará con una distribución eléctrica donde se alimentará de dos tomas

industriales monopolares de 110[v], una toma de ellas será la encargada de distribuir

energía regulada por medio de una toma convencional de dos salidas que serán

tomadas por el PLC FESTO y otra para cargar un portátil. La toma dos distribuirá

energía a la fuente DC.

4.2 DISEÑO ELECTRÓNICO

Para realizar el control de los grados de libertad se utilizarán los motores paso a paso de 18[ 𝑚2

que tiene una corriente nominal de 3 [A] y un voltaje

kg ∗ ( 𝑠2 )]

nominal de 24[v], otro motor de 12[

𝑚2

de una corriente 2.5 [A] el cuales

kg ∗ ( 𝑠2 )]

funcionan a 24[V] y un motor paso a paso de 5[

𝑚2

que funciona a 2.8[v]

y 1.68 [A] un servomotor de 2[

𝑚2

kg ∗ ( 𝑠2 )]

y una corriente de 200[mA]. Para el

kg ∗ ( 𝑠2 )]

control de los motores de 12 y 18 [

𝑚2

se usó una tarjeta de control

kg ∗ ( 𝑠2 )]

llamada TB6600 y para el motor de 5 [ 𝑚2

se implementó un puente H

kg ∗ ( 𝑠2 )]

LN298D. Además de los motores había una caja de control que permitía

iniciar o parar la máquina y leds indicadores (estos circuitos serán

encontrados en los anexos planos eléctricos). Ahora ya conociendo cual es

el voltaje de operación de los motores, el siguiente paso es encontrar una

fuente de voltaje que supla la suma de corrientes de todos los dispositivos

electrónicos. 𝐴𝑓𝑢𝑒𝑛𝑡𝑒 = 𝐴𝑀.18𝑘𝑔 + 𝐴𝑀.1 𝑘𝑔 + 𝐴𝑀.5𝑔 + 𝐴𝑇𝐶 + 𝐴𝑠𝑒𝑟𝑣𝑜𝑚𝑜𝑡𝑜𝑟 Ecuación (23)

𝑨𝒇𝒖𝒆𝒏𝒕𝒆 = 3 + 2.5 + 1.68 + 0.8 + 0.2

𝐴𝑓𝑢𝑒𝑛𝑡𝑒 = 8,18

Con el valor calculado de corriente se decidió comprar una fuente de 24 [V] dc y una

corriente de 10 [A] contemplando que algún motor puede aumentar el consumo de

corriente por una carga. Se adhirió al circuito eléctrico la protección de dos

interruptores. Uno aguas abajo de la fuente de 10 [A] y otras aguas arriba de 2 [A].

Ya definida las características de la fuente DC se decidió que tipo de motor usar, el

tipo de tarjeta para su control, que tipo de sensor usar y su calibración, además que

tipo de tarjeta de mando usar para programarla.

4.2.1 ACTUADORES

4.2.1.1 MOTOR PASO A PASO

Se usaron de tipo bipolares, con un avance por paso de 1. 8º grados y un torque de 12 [[ 𝑚2

y de 5 [ 𝑚2

, esto debido a dos razones, primero estos motores

kg ∗ ( 𝑠2 )] kg ∗ (

𝑠2 )]

tienen alta precisión en su rotación, tienen un avance en su eje que depende de la

Page 28: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

25

Page 29: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

secuencia en que se energice sus bobinas y gracias a esta característica resulta

muy útil controlar la posición que frente a un motor de corriente continua que

requieren de un sensor para retroalimentar. La segunda razón que se tuvo en cuenta

fue que estos motores son usados industrialmente para robots manipuladores

puesto que en los robots de YAMAHA y KUKA usan de estos motores paso a paso

de alta precisión.

Imagen 15. Motor paso a paso de 18 [ 𝑚2

kg ∗ (

𝑠2 )] Un puente H que permitía el control del motor paso a paso de 18 [

𝑚2

y el de

12[

𝑚2

kg ∗ ( 𝑠2 )]

era la tarjeta TB6600 que soporta corrientes de hasta 4 A nominales y

kg ∗ ( 𝑠2 )]

5 A pico.

26

Page 30: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

.

Para el motor de 5 [

𝑚2

Imagen 16. Tarjeta de control TB6600.

se usó una tarjeta que soportara hasta 2 Amperios. Se

kg ∗ ( 𝑠2 )]

escogió a el puente H de referencia LD298N este puente H funciona con un rango

de voltajes de 6-12V y en su salida entrega voltajes de 3-9 V por ende permitía el

control de este tipo de motor, lo cual obligo a introducir un regulador de voltaje de

referencia MT3608 ajustado para funcionar a una entrada de 24[v] a una salida de

12[v].

Imagen 17. Puente H de referencia LD298N.

4.2.1.2 SERVOMOTOR

Este motor fue usado para controlar el gripper, se escogió este tipo de motor debido

a que resulta útil para controlar la posición.

27

Page 31: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 18. Servomotor del gripper

4.2.2 TARJETA DE MANDO O CONTROL.

Como tarjeta de mando se escogió la tarjeta ARDUINO mega porque esta tarjeta

tiene los pines analógicos y digitales suficientes para las señales de entrada y salida.

Además, cumple con el procesamiento necesario para la ejecución de actividades

programadas.

4.2.3 SENSORES

Imagen 19. Tarjeta ARDUINO mega.

Los sensores que se usaron fueron potenciómetros lineales, se usaron por la

facilidad que permite este sensor para determinar un ángulo en relación al cambio

en resistencia, tienen practicidad para acoplarse a una estructura mecánica y son

económicos. Para la construcción de este proyecto se usaron 3 potenciómetros

lineales, uno para cada grado de libertad. Dos potenciómetros fueron comprados de

una (1) vuelta con una ventaja de trabajo de 270° y un valor máximo de resistencia

de 10K[Ω] estos eran los potenciómetros de los primeros grados de libertad y el

tercer potenciómetro también fue comprado de 10K[Ω]pero de (20) veinte vueltas

porque el diseño de la estructura prismática fue un diseño de cremallera corredera

y se mide las vueltas que ejerce el motor a al piñón.

28

Page 32: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4.2.3.1 CARACTERIZACIÓN SENSORES

Para realizar la caracterización de los sensores se procede a tomar la lectura

análoga para tres muestras en este caso 3 grados o más y obtener la curva del

sensor respecto a la palabra digital que lee el convertidor análogo digital de la tarjeta

ARDUINO. Un ejemplo de cómo obtener la curva del potenciómetro es tomar tres

muestras (-90,0,90) con los tres valores obtenidos de lectura análoga, se procede a

generar la gráfica correspondiente a ángulo vs valor digital con el fin de encontrar la

ecuación característica del sensor que permita obtener una salida de lectura en

grados.

CARACTERIZACIÓN SENSOR DE 1 GRADO DE LIBERTAD.

Para el primer grado de libertad la lectura del sensor se tomó respecto a una hoja

milimetrada de coordenas polares alineada al eje de rotación y fija en la mesa. Los

valores tomados se observan en la tabla 3.

Tabla 3. Medición de palabra digital vs Angulo 1GDL.

PALABRA DIGITAL VS ANGULO

805 -90

500 0

120 90

De esta tabla se obtuvo la gráfica y la ecuación de la recta para obtener el valor del

ángulo del primer grado de libertad en el ARDUINO.

Imagen 20. Grafica de palabra digital vs ángulo del potenciómetro del 1 gdl.

29

-50 y = -0,2617x + 124,32 R² = 0,996

-100

1000 800 600 400 200 0

150

100

50

0

PALABRA DIGITAL VS ANGULO 1GDL

Page 33: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

𝐴1𝑔𝑑𝑙 = −0.2617 ∗ 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿1 + 124,32 Ecuación (23)

Donde 𝐴1𝑔𝑑𝑙 es el valor del ángulo del primer eslabón y 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿1 es el valor digital que

lee el ARDUINO.

CARACTERIZACIÓN SENSOR DE 2 GRADO DE LIBERTAD.

Para el segundo grado de liberta la lectura del sensor se tomó respecto a un

transportador que estaba alineado al eje del segundo eslabón y fijo al primer grado

de libertad, por tanto, esta medida esta referenciada al primer grado de libertad. Los

valores tomados están en la tabla 4, esta tabla respecto a la del primer grado de

libertad difiere en que requería de más puntos de muestra para obtener la curva con

mayor exactitud.

Tabla 4. Medición de palabra digital vs Angulo 2GDL.

PALABRA DIGITAL VS ÁNGULO

421 110

459 40

266 0

107 -45

34 -70

De esta tabla se obtuvo la gráfica y la ecuación de la recta para obtener el valor del

ángulo del segundo grado de libertad en el ARDUINO para el segundo

potenciómetro.

Imagen 21. Grafica de palabra digital vs ángulo del potenciómetro del 2 gdl.

𝐴 𝑔𝑑𝑙 = 0.2469 ∗ 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿 − 95,607 Ecuación (24)

30

-50

-100

100 200 300 400 500 600 700 800 0

50

0

y = 0,2469x - 95,607

100

PALABRA DIGITAL VS ANGULO 2GDL

Page 34: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Donde 𝐴 𝑔𝑑𝑙 es el valor del ángulo del segundo eslabón y 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿 es el valor digital

que lee el ARDUINO para el segundo potenciómetro.

Caracterización sensor de 3 grado de libertad.

Para el tercer grado de libertad la lectura del sensor se tomó respecto a un metro

que tomara la distancia desde el suelo a la parte de abajo del gripper. Los valores

tomados están en la tabla 5, este grado de libertad requería tomar más muestras

que los anteriores debido a que el sensor tiene una ventana de trabajo muy amplia

y al tomar más datos se garantiza una mayor exactitud en la ventana de operación.

Tabla 5. Medición de palabra digital vs Angulo 2GDL.

PALABRA DIGITAL VS ALTURA

992 12

981 13

972 14

960 15

950 16

939 17

928 18

920 19

897 20

886 21

882 22

872 23

861 24

850 25

840 26

829 27

821 28

820 29

795 30

De esta tabla se obtuvo la gráfica y la ecuación de la recta necesarias para obtener

el valor del ángulo del tercer grado de libertad en el ARDUINO para el tercer

potenciómetro.

31

Page 35: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

PALABRA DIGITAL VS ALTURA 3GDL

40

30

20

10 2

0

0 500 1000 1500

y = -0,09

7x + 103,88

Imagen 22.Grafica de palabra digital vs altura del potenciómetro del 3 gdl.

𝐴 𝑔𝑑𝑙 = −0.0927 ∗ 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿 + 103,88 Ecuación (24)

Donde 𝐴 𝑔𝑑𝑙 es el valor de la altura del tercer eslabón y 𝑃𝐷𝐼𝐺𝐼𝑇𝐴𝐿 es el valor digital que

lee el ARDUINO para el tercer potenciómetro.

4.2.4 PANEL DE CONTROL

El panel de control se hizo con 3 pulsadores, 1 selector y 3 indicadores. Todos estos

dispositivos trabajaban a 24[v] por ende a los dispositivos de entrada y salida se les

diseño un circuito para que pudieran ser controlados desde ARDUINO.

ENTRADAS:

Para las señales de entrada se aplicó un divisor de voltaje buscando que cuando un

dispositivo de entrada fuese accionado dicha acción pudiera ser detectada por el

ARDUINO, por ende, se aplicó un divisor de voltaje que hiciera una caída de

potencial de 24[v] a 5[v]. El divisor de voltaje es la ecuación 25 y su finalidad era

encontrar el juego de resistencias que permitieran leer las señales de entrada.

𝑉𝐴𝑅𝐷 = 𝑉𝑓𝑢𝑒𝑛𝑡𝑒∗ 𝑅2

𝑅1+𝑅 Ecuación (25)

Con la ecuación 25 se hizo un despeje matemático para llegar a la ecuación 26.

𝑅2 = 𝑅1∗ 𝑉𝐴𝑅𝐷

𝑉𝑓𝑢𝑒𝑛𝑡𝑒−𝑉𝐴𝑅𝐷 Ecuación (26)

Entonces para obtener el valor de 𝑅2 fue necesario suponer que 𝑅1 tendria un valor

de 100K[Ω], 𝑉𝐴𝑅𝐷 es el voltaje que soporta ARDUINO en sus entradas tiene un valor

igual a 5[v] y 𝑉𝑓𝑢𝑒𝑛𝑡𝑒 es el voltaje de la fuente y corresponde a 24[v] y por último se

despeja 𝑅2.

𝑅2 = 26315,785[Ω]

Este valor no fue encontrado comercialmente y tuvo que cambiar a 24K[Ω]. Este

valor se reemplazó en la ecuación 25 y se obtuvo que el voltaje era inferior a 5[v].

Por ende, se compró este valor de resistencia.

32

Page 36: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

SALIDAS:

Para las salidas se aplicó un circuito integrado que fue el optocoplador de referencia

4N25 y se le aplicó una resistencia de pull down de 1K[Ω] en la entrada y para la

salida se realizó el circuito para 24[v]. El valor de la resistencia era indicado ya que

el ARDUINO mega soporta 0.3[A] de corriente en la salida. La comprobación quedo

hecha en la ecuación 27.

𝐼𝐴𝑅𝐷 = 𝑣

𝑅 Ecuación (27)

Se reemplaza el valor de v que es 5 y R que es 1000 y se obtiene 𝐼𝐴𝑅𝐷.

𝐼𝐴𝑅𝐷 = 0,005 [𝐴]

El valor de 𝐼𝐴𝑅𝐷 es menor que 0.3, por ende se comprueba que era factible usar este

valor de resistencia.

Imagen 23. Panel de control.

33

Page 37: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

5. ENSAMBLE

Para desarrollar el ensamble del prototipo se realizó el maquinado de las distintas

piezas mecánicas y luego se realizó las distintas sujeciones con tornillería esto con

fin de que fuera desarmable en caso de que presentara errores. El armado del robot

partió de hacer primero la perforación a la mesa para fijar la base del robot, seguido

se instaló el pivote, a continuación, se introdujo el eje del primer grado de libertad y

se fijó al pivote con pasadores, a continuación, se puso el engranaje y después se

puso los rodamientos de agujas estos dos últimos al primer eje y luego se puso el

eslabón 1, se puso el motor y la tarjeta de control y por último se pega el

potenciómetro al eslabón 2 y este potenciómetro se le introduce en su eje un

engranaje.

Imagen 24. Ensamble del primer grado de libertad.

A continuación, se puso la columna y luego el pivote del segundo grado de libertad,

luego se puso el eje y se fijó con prisioneros al segundo pivote, seguido de esto se

introdujo el engranaje y el rodamiento de aguja al segundo eje, luego el eslabón 2,

después el motor paso a paso y el potenciómetro del segundo grado de libertad se

pega a un hueco del segundo eslabón.

34

Page 38: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 25. Ensamble del 2 gdl.

Ya para el tercer grado de libertad se ponen las chumaceras de esferas y el eje que soportara al engranaje, luego se pone el soporte del tercer motor paso a paso y se pone el motor, seguido de esto se pone el tornillo sin fin y se alinea con el engranaje, después se pone la corredera lineal a la cual previamente se le pego la cremallera dentada, la corredera será fijada al eslabón 2 por medio de una platina en L y luego se pone el potenciómetro y en su eje el engranaje de la lectura.

Imagen 26. Ensamble del 3 gdl.

Por último, se pone una pieza que funciona de intermediario entre la corredera lineal

y el gripper, entonces el gripper es fijado a esta pieza por medio de un tornillo.

35

Page 39: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 27. Ensamble del gripper.

Ya la estructura del robot está completamente armada solo falta hacerle el

recubrimiento y poner la tubería de los cables para darle protección y

embellecimiento al prototipo.

Imagen 28. Robot SCARA con estructura terminada.

Cuando el robot fue llevado a las instalaciones de la UNAB se acoplo el robot a la

MPS de FESTO, se les puso las tapas a los dos eslabones, las mangueras de los

cables y la cámara, en este instante el robot funcionaba con una fuente de voltaje

externa.

36

Page 40: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 29. Robot SCARA con carcazas y mangueras puestas.

Ya por último se puso un recubrimiento en la mesa, se quitó la fuente externa y se

le puso las clavijas industriales para la alimentación de la fuente interna.

Imagen 30. Prototipo del robot SCARA terminado

37

Page 41: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

6. CONTROL DEL ROBOT

Ya teniendo construido y conectado el robot se realizó un lazo de control cerrado

para cada grado de libertad y se comprobó su funcionamiento. La técnica de control

aplicada fue lazo cerrado con un control on/off de una histéresis de ± 1° (grado) se

aplicó este tipo de control porque el sistema es completamente digital ya que los

motores eran de paso. Para el tercer grado de libertad se aplicó una histéresis de

±1 cm.

Imagen 31. Control ON-OFF en un sistema.

Para el gripper solo se dieron ángulos al servomotor y se memorizo cuáles eran los

ángulos para determinar el grado de apertura y así tomar las piezas.

38

Page 42: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

7. PROTOCOLO DE COMUNICACIÓN

Luego de tener el control se requería tener una comunicación entre el ARDUINO y

la interfaz y también entre el ARDUINO y el plc de FESTO. Para comunicar los

dispositivos en este proyecto se usaron dos tipos de comunicación, la Serial y una

red Ethernet. La comunicación SERIAL, específicamente puerto USB SERIAL

trabajo para el mando del robot SCARA, ella se encargó de comunicar la interfaz

HMI y el ARDUINO, esta comunicación trabajo a una velocidad de trasmisión de

9600 baudios. También se trabajó una red ethernet para comunicar el PLC de

FESTO y el computador esta red se entablo para cargar la lógica ladder desarrollado

en CODESYS para controlar el funcionamiento de la MPS.

Para comunicar en tiempo real al ARDUINO y a la MPS se realizó una conexión que

incluía dos señales de 24 [v], estas señales se consiguieron por medio de

optocopladores que permitían realizar el switcheo de la señal de color o la señal de

parado de emergencia.

39

Page 43: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

8. INTERFAZ HMI

Luego de conseguir la comunicación entre el ARDUINO y la HMI se prosiguió a

realizar el diseño final de la interfaz HMI en LABVIEW. El resultado final de la interfaz

ofrece a los usuarios la posibilidad de interactuar diferentes modos de operación al

robot. La interfaz cuenta con un Tap control que permite tener múltiples opciones de

mando. De esta interfaz destaca la programación de estados esto gracias a un shift

register (dentro del ciclo While que siempre es necesario en este programa para

tener un ciclo infinito) y a un enum constant esta opción permite crear una base

discreta de opciones donde quedan organizados unos ítems y dependiendo la

cantidad de estados del programa así serán la cantidad de ítems del enum constant.

Ademas de esto destaca la transmisión de datos por el puerto serie, esto se realizó

por medio de la librería de LABVIEW SERIAL la cual pedía el puerto donde iba a

estar la información la velocidad de transmisión y la cantidad de bits que soportaría

el canal, en el programa se definía donde se debía leer el puerto o donde se debía

escribir en el puerto.

Por ultimo sobresale la clasificación de colores donde también se recurrió a la

utilización de una librería de visión artificial llamada VISION AND MOSION de

LABVIEW y dentro de esta una sublibrería NI-IMAQ que clasifica colores en tiempo

real por medio de una cámara, la cámara usada fue la FACECAM 1000X. Para

realizar la clasificación en tiempo real se utilizó el módulo Vision adquisition el cual

permitía configurar la cámara para la adquisición de la imagen en tiempo real,

también se usó el módulo de Vision assitant, este módulo era la parte inteligente ya

que ahí se debía cargar la base de datos de los colores a clasificar y además era

donde se podía configurar el método de clasificación que el programa fuera a

ejecutar.

Imagen 32. Interfaz HMI del robot SCARA.

40

Page 44: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

9. RESULTADOS

Los resultados obtenidos fueron segmentados por etapas:

CONTROL ROBOT SCARA

Se realiza el ensamble del robot y se realizan pruebas de cada grado de libertad

desacoplado y se consiguió controlar el movimiento de los cuatro grados de libertad

de manera secuencial.

CONTROL DE MPS FESTO

Se realizó la identificación de las variables en la MPS HANDLING de FESTO y luego

se realizó el código en lógica ladder que permitía posicionar el color rojo y azul en

la primera canaleta y los demás colores en la segunda canaleta.

INTERFAZ HOMBRE MAQUINA ROBOT SCARA

Se desarrolló una interfaz que permitiera tener distintos modos de operación, esta

interfaz es explicada a detalle en los anexos manual de funcionamiento del robot

SCARA.

CLASIFICACIÓN DE COLOR

Por medio de Labview se consiguió realizar un clasificador de colores que permitía

dividir en dos grupos los colores rojo y azul y el otro grupo en negro, blanco y

plateado. Cuando se detectaba el primer grupo la interfaz enviaba una señal al

ARDUINO y este la identificaba para confirmarle a la MPS que posicionara el primer

grupo.

41

Page 45: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

10. CONCLUSIONES

Las conclusiones estarán dadas por especialidades:

MECÁNICO:

•Los ejes del robot SCARA deben ser macizos porque durante la construcción del robot ocurrió un error y fue que el robot doblo los dos primeros ejes ya que los eslabones estaban realizando una palanca por su peso lo que género que los ejes que soportaban los eslabones se doblaran y por ende se dejó de transmitir el movimiento del motor al eslabón, como solución se rediseño el eje y se hizo macizo ya que el anterior era una varilla hueca.

Imagen 33. Eje macizo rediseñado.

• Cuando se tienen ejes verticales es recomendable utilizar rodamientos de agujas. En la construcción del proyecto se dañó dos rodamientos de bolas por que el eje se apoyaba en ellos.

ELECTRÓNICO:

• Para el funcionamiento de los motores paso a paso se deben utilizar los enables. Durante las pruebas del robot se dañó una tarjeta TB6600 porque se saturo el motor en corriente y la tarjeta no pudo soportar este exceso de corriente, esto se dio por no deshabilitar el enables o deshabilitar la tarjeta.

• Se recomienda que al implementar motores paso a paso en un sistema se contemple un torque mucho más elevado al que se obtiene del cálculo del modelo dinámico, en la ejecución de este proyecto los motores tenían un desplazamiento muy lento debido a que el torque del motor era tan solo el suficiente para generar el movimiento.

• Para leer con ARDUINO entradas de voltaje mayores a 5[v] se debe realizar un divisor de voltaje o un regulador de voltaje que le permita a la tarjeta leer la señal de control generada.

42

Page 46: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

• Para activar luces piloto o señales desde el ARDUINO que requieran un voltaje mayor de 5[v] se recomienda utilizar optocopladores, estos integrados permiten obtener un swicheado rápido y efectivo.

• Para la lectura de los potenciómetros no es bueno usar engranajes, durante la ejecución del proyecto se pudo observar que el engranaje le quitaba precisión a cada grado de libertad, esto debido a que el engranaje tiene un avance que en algunas ocasiones cuando se daba un ángulo determinado el avance del engranaje no permitía lograr dicho ángulo entonces cuando el robot entraba en el lazo cerrado, ocurrían unas oscilaciones en el ángulo de set point por saltos en los dientes del engranaje.

COMUNICACIÓN

• Cuando se utiliza la comunicación serial se deben usar separadores, (en este proyecto se usó un separador (“,”) en los casos donde se transfieren más de una señal entre dispositivos. La comunicación serial es un solo canal de datos por donde se transportan datos que van o viene, si los datos que se transmiten se envían de una forma muy rápida y sin dejar espacios de tiempos suficientes como para que el puerto serie retome los valores en ese caso es muy útil utilizar un separador y almacenar las nuevas variables los valores que son enviados por el canal de comunicación.

INTERFAZ HMI

• LABVIEW permite clasificar colores en tiempo real con buena precisión, es recomendable darle una buena base de datos a los bloques de la librería de visión para facilitar la clasificación de un color. Se recomienda tomar la base de datos con buena luz y claridad.

• Utilizar una HMI en LABVIEW presenta dificultades en la comunicación, se pierden señales y se genera un tiempo de latencia fácil de notar.

43

Page 47: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

11. BIBLIOGRAFIA

[1].OLLERO, Aníbal. Robótica Manipuladores y robots móviles. Marcombo S.A,

2001. p.1-13. ISBN: 84-267-1313-0.

[2]. Antonio Barrientos. Fundamentos de Robotica. Editorila McGraw hill.1997.

[3].HERAS, Jackson Steeve: Diseño, DISEÑO Y CONSTRUCCIÓN DE UN ROBOT

SCARA DE TRES GRADOS DE LIBERTAD. Ecuador, 2015.

[4].Theory of applied robotics. (2010). Kinematics, Dynamics and Control (second

ed.). (Reza N. Jazar.) Melbourne, Victoria, Australia.

[5]. VACA, Santiago David: Diseño y simulación de un robot manipulador industrial

tipo puma capaz de levantar pesos de hasta 20 [kg].

[6].Los robots industriales SCARA. (24/06/2015) imagen robot SCARA. http://www.mekkam.com/robotica-industrial/robot-scara-pick-and-place/.

[7].CRAIG, Kevin. Improving mechatronic-system design. En: EDN Network. [en

línea]. (27 de ene., 2017). Disponible en: https://www.edn.com/electronics-

blogs/mechatronics-in-design/4368269/Improving-mechatronic-system-design.

[8].ROBOTS INDUSTRIALES COLOMBIA.( 10/07/2017)

http://www.metalmecanica.com/temas/En-Colombia-hay-menos-de-un-robot-

industrial-por-cada-10000-trabajadores+120347.

[9].Alassar, A.Z., Abuhadrous, I.M., Elaydi, H.A.,”Comparison between FLC and PID Controller for 5DOF robot arm”, Advanced Computer. Control (ICACC), 2010 2nd International Conference on, 2010.

[10]. R. Mantz, Introducción al control óptimo, Universidad Nacional de La Plata,

2003.

[11]. Página principal de ARDUINO (8/8/2018).http://ARDUINO.cl/que-es- ARDUINO.

[12]. Manual micro capacitación (5/10/2018). http://www.microautomacion.com/capacitacion/Manual061ControladorLgicoPro gramablePLC.pdf

[13]. Página oficial FESTO (31/07/2018). https://www.festo-didactic.com/es- es/productos/mps-sistema-de-produccion-modular/estaciones/estacion-de- clasificacion-final.htm?fbid=ZXMuZXMuNTQ3LjE0LjE4LjYwNi4zOTQ4

[14]. Introduccion a la programcion de controladores lógicos (PLC).

https://upload.wikimedia.org/wikipedia/commons/6/65/Programacion_de_contro

ladores_logicos_%28PLC%29.pdf

44

Page 48: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

[15]. J. T. Buitrago-Molina, J. S. Carvajal-Guerrero y C. A. Zapata-Castillo,

“Plataforma virtual para el mando local y remoto de un brazo robótico de apoyo

para la educación en ingeniería”, Tecno Lógicas, vol. 17, no. 32, pp. 67-74, 2014.

[16]. Recopilación venta de robots en colombia (10/7/2018)

http://www.directindustry.es/prod/yamaha-motor-co-ltd/product-25092-

1690440.html

[17]. Pagina oficial National instrumenst. (2/8/2018).

http://www.ni.com/es-mx/shop/labview.html

[18]. Pagina de Matworks(2//2018).

https://la.mathworks.com/products/matlab.html

[19]. R. N. Jazar, «Historical Development,» de Theory of Applied Robotics, Melbourne,Australia, Springer, 2010, pp. 2-8.

[20]. T. A. DIAZ CARRILLO, D. A. ROBLES NIETO y JHONATAN RUEDA MAYORCA, diseño, construccion y control de un brazo robotico tipo antropomorfico de 6 grados de libertad y de un brazo robotico tipo scara de 4 grados de libertad; Barranquilla, 2014.

[21]. HELIO SNEYDER ESTEBAN ANDRÉS FELIPE ALDANA AFANADOR ILLEGAS Mechatronic System Desing of a Cake DecorationRobotic Module Using a SCARA Manipulator

[22]. T. A. DIAZ CARRILLO, D. A. ROBLES NIETO y JHONATAN RUEDA MAYORCA, diseño, construccion y control de un brazo robotico tipo antropomorfico de 6 grados de libertad y de un brazo robotico tipo scara de 4 grados de libertad; Barranquilla, 2014.

45

Page 49: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

ANEXOS

46

Page 50: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TB6

60

0

A B F

120V AC, NO

1 N REGULADA

2

C D

INTERRUPTOR MANUAL 10A

IN+

E F

1

IN- 2

3

EN- EN+ DIR- DIR+

PUL- PUL+

4 B-

B+

A-

A+

GND

VCC

5

F N V+ V-

FUENTE 24V

M

REGULADOR DE 24V A 12V

OUT+ OUT-

M

3

L298N

4

M

5

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

6 INGENIERIA MECATRONICIA

PROYECTO DE GRADO

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

FECHA ELABORACION :

SEPTIEMBRE DE 2019

PLANO :

POTENCIA MOTORES

VERSION :

6 APROBO :

EN-

EN+ DIR- DIR+

PUL- PUL+

B- B+ A- A+

GND

VCC

TB6

60

0

12

V B

+ B

-

GN

D

5V

E

NA

IN1

IN2

A+

A-

IN3

IN4

EN

B

Page 51: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

Page 52: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B F

120V AC

1 N REGULADA

2

3

4

5

C D E F

1

2

3

4

5

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

6 INGENIERIA MECATRONICIA

PROYECTO DE GRADO

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

FECHA ELABORACION :

SEPTIEMBRE DE 2019

PLANO : ALIMENTACION COMPUTADOR Y PLC FESTO

VERSION :

6 APROBO :

PLC FESTO

PC PORTATIL

T T

Page 53: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

Page 54: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

0

TB6

60

0

A B C D E F

1 1

2 2

3 PRIMER GRADO DE LIBERTAD

EN- EN+

GND

SEGUNDO GRADO DE LIBERTAD

EN-

EN+

GND 3

TERCER GRADO DE LIBERTAD

DIR- DIR+

4 PUL- PUL+

B- B+ A- A+

GND

5 VCC

DIR- DIR+

PUL-

PUL+

B- B+ A- A+

GND

VCC

GND

12V

GND

5V ENA

IN1

IN2

IN3

IN4

ENB

B+ B-

4

A+ A-

5

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

6 INGENIERIA MECATRONICIA

PROYECTO DE GRADO

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

FECHA ELABORACION :

SEPTIEMBRE DE 2019

PLANO :

VERSION :

APROBO :

CONEXIÓN TARJETAS

CONTROLADORAS

6

L29

8N

PU

L+ D

51

DIR

+ D

50

EN+

D52

GN

D

TB6

60

0

GN

D

EN+

D9

DIR

+ D

10

PU

L+ D

11

EN

B D

7

IN4

D

6

IN3

D

5

IN2

D

4

IN1

D3

E

NA

D

2

Page 55: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

Page 56: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

0

A B C D E F

1

5V GND A0

PRIMER GRADO DE SEGUNDO GRADO DE PRIMER GRADO DE LIBERTAD LIBERTAD LIBERTAD

A2 A1

1 2 3 5V 5V 1 2 3 5V 5V 1 2 3

GND A2 A1 A0

GND GND

20 µF 20 µF 20 µF

1

2

2

3

3

4

4

5

5

6

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

PLANO :

CENEXION POTENCIOMETROS

6

INGENIERIA MECATRONICIA VERSION :

FECHA ELABORACION :

SEPTIEMBRE DE 2019 PROYECTO DE GRADO

APROBO :

A B C D E F

Page 57: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1

F

120V AC N

+24V GND

F N V+ V-

FUENTE INICIAR

PARAR PARAR MODO ROBOT TODO OPERACION 24V 5V

5V

100K [ ] 100K [ ] 100K [ ] 100K [ ]

GND D8 SEÑAL M 24K [ ] 24K [ ] 24K [ ] 24K [ ]

GND

MOTOR GRIPPER

GND

INICIAR D39 PARAR TODO D38

+24V PARAR ROBOT D37

GND

MODO OPERACIÓN D36 VERDE D35 ROJO D34 AMARILLO D33

AMARILLO COLOR D32

1K [ ] VERDE 1K [ ] ROJO 1K [ ] 220 [ ] 220 [ ] PARAR MPS D31

4N25 4N25 4N25 4N25 4N25 GND -

COLOR 1 4 1 4 1 4

1 4 1 4 S1 PLC FESTO 2 5 2 5 2 5

2 5 2 5 +24V PARAR MPS

S2 3 6 3 6 3 6

3 6 3 6

GND +24V

1

2

2

3

3

4

4

5

5

6

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

PLANO : CENEXION ENTRADAS Y SALIDAS DIGITALES

6

INGENIERIA MECATRONICIA VERSION :

FECHA ELABORACION :

SEPTIEMBRE DE 2019 PROYECTO DE GRADO

APROBO :

A B C D E F

Page 58: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1

COMUNICACIÓN SERIAL PUERTO USB

RED ETHERNET

1

2

2

3

3

4

4

5

5

6

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

PLANO : COMUNICACIÓN ARDUINO Y PC

6

INGENIERIA MECATRONICIA VERSION :

FECHA ELABORACION :

SEPTIEMBRE DE 2019 PROYECTO DE GRADO

APROBO :

A B C D E F

Page 59: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1 1

2 2

3 3

4 4

5 5

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

6 INGENIERIA MECATRONICIA

PROYECTO DE GRADO

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

FECHA ELABORACION :

SEPTIEMBRE DE 2019

PLANO : TABLA DE LA VERDAD ROBOT

SCARA 4GDL

VERSION :

6 APROBO :

A B C D E F

TABLA DE LA VERDAD ROBOT SCARA 4 GDL

VARIABLE

E

STAD

O

PULSADOR DE

INICIO

PARADO

ROBOT

PARADO

TOTAL MANUAL AUTOMATICO 1 GDL

ENVIAR

1GDL 2 GDL

ENVIAR 2

GDL 3GDL

ENVIAR 3

GDL GRIPPER

CINEMATICA

INVERSA

CODO

ARRIBA CODO ABAJO COLOR

GDL1

RESPONDE

GDL2

RESPONDE

GDL3

RESPONDE

GRIPPER

RESPONDE

COLOR

RESPONDE

STAN BY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

INICIO 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 GDL 1 0 0 1/0 1/0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 GDL 1 0 0 1/0 1/0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

3 GDL 1 0 0 1/0 1/0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0

4 GDL 1 0 0 1/0 1/0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

CINEMATICA INVERSA 1 0 0 1/0 1/0 0 0 0 0 0 0 0 1 1/0 1/0 0 0 0 0 0 0

COLOR 1 0 0 1/0 1/0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

PARAR ROBOT 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

PARAR TODO 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 60: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1

E / F D

A R

STAN BY INICIO H

G X CINEMATICA

INVERSA

PARAR C

ROBOT Ñ I K

J

N 1GDL

W

L V PARAR M TODO

B

2GDL

T Q

COLOR O 3GDL

P U GRIPPER

S

1

2

2

3

3

4

4

5

5

6

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

PLANO : CENEXION ENTRADAS Y SALIDAS DIGITALES

6

INGENIERIA MECATRONICIA VERSION :

FECHA ELABORACION :

SEPTIEMBRE DE 2019 PROYECTO DE GRADO

APROBO :

A B C D E F

Page 61: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1 1

2 2

3 3

4 4

5 5

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

6 INGENIERIA MECATRONICIA

PROYECTO DE GRADO

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

FECHA ELABORACION :

SEPTIEMBRE DE 2019

PLANO : CENEXION ENTRADAS Y SALIDAS DIGITALES

VERSION :

6 APROBO :

A B C D E F

PULSADOR DE

INICIO

PARADO

ROBOT

PARADO

TOTAL MANUAL AUTOMATICO 1 GDL

ENVIAR

1GDL 2 GDL

ENVIAR 2

GDL 3GDL

ENVIAR 3

GDL GRIPPER

CINEMATICA

INVERSA

A 0 0 0 0 0 0 0 0 0 0 0 0 0

B 0 1 0 0 0 0 0 0 0 0 0 0 0

C 0 0 1 0 0 0 0 0 0 0 0 0 0

D 1 0 0 0 0 0 0 0 0 0 0 0 0

E 1 0 0 1 0 0 0 0 0 0 0 0 0

F 0 0 0 0 0 0 0 0 0 0 0 0 0

G 1 0 0 1 0 0 0 0 0 0 0 0 1

H 1 0 0 0 1 0 0 0 0 0 0 0 1

I 1 0 0 0 1 0 0 0 0 0 0 0 0

J 1 0 0 0 1 0 0 0 0 0 0 0 0

K 1 0 0 1 0 1 0 0 0 0 0 0 0

L 1 0 0 1 0 0 0 1 0 0 0 0 0

M 1 0 0 1 0 0 0 0 0 1 0 0 0

N 1 0 0 1 0 0 0 0 0 0 0 1 0

Ñ 1 0 0 1 0 0 0 0 0 0 0 0 0

O 1 0 0 1 0 0 0 0 0 0 0 0 0

P 1 0 0 1 0 0 0 0 0 0 0 1 0

Q 1 0 0 1 0 0 0 0 0 1 0 0 0

R 1 0 0 0 1 0 0 0 0 0 0 0 0

S 1 0 0 0 1 0 0 0 0 0 0 0 0

T 1 0 0 0 1 0 0 0 0 0 0 0 0

U 1 0 0 0 1 0 0 0 0 0 0 0 0

V 1 0 0 0 1 0 0 0 0 0 0 0 0

W 1 0 0 1 1 0 0 1 0 0 0 0 0

X 1 0 0 1 1 0 0 0 1 0 0 0 0

Page 62: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

A B C D E F

1

Iniciar A

SUBIR MPS

NO MOVER If sensor DERECHA MPS

presencia == 1

MOVER MPS A

IF COLOR ==1

IZQUIERDA AND SENSOR

MITAD == 1

NO

SENSOR MOVER

IZQUIERDA == 1 DERECHA MPS

PARAR MPS NO IF COLOR == 0

BAJAR BRAZO SÍ ADD SENSOR

CERRAR GRIPPER

MPS DERECHA ==1

NO

SI CONTAR == 2 CONTAR DOS

SEGUNDOS

PARAR MPS

A INICIAR

1

2

2

3

3

4

4

5

5

6

UNIVERSIDAD AUTONOMA DE BUCARAMANGA

PROYECTO :

BANCO DIDACTICO BASADO EN UN MANIPULADOR

SCARA PARA TRASNPORTE Y CLASIFICACION DE PIEZAS

CON FIN DE DAR APOYO EN ASIGNATURAS DE

ROBOTICA Y AUTOMATIZACION.

DISEÑADOR:

JUAN SEBASTIAN TRASLAVIÑA DAVILA

PLANO :

DIAGRAMA DE FLUJO MPS FESTO

6

INGENIERIA MECATRONICIA VERSION :

FECHA ELABORACION :

SEPTIEMBRE DE 2019 PROYECTO DE GRADO

APROBO :

A B C D E F

Page 63: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

30,00

F 60,00

F

15,00 8,00 X2

E E

D D

15,00

30,00

15,00

15,00

5,00

65,00

C

30,00

30,00

C

8,00 X4

30,00

B

15,00

150,00

B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF. APROB.

APROB.

Victor Angel Ardila BAS E ROBOT

120,00

Page 64: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

ESCALA

1:50

24/10/

2019

H

O

J

A

1

D

E

1

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 65: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1 80,00

F F

5,00 X4

8,00 X2

E E

100,00

10,

D

00

6,00

D

12,00

C C

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

VERIF. Victor Angel Ardila

APROB.

A TÍTULO: FECHA

A4

BARRA PARA ESLABON 2 24/10/2019

APROB. UNIDAD: mm ESCALA 1:50 HOJA 1 DE 1

6,

00

Page 66: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

Page 67: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F 6,00

F

15,50

4,00

E

20,00

8,00

4,00 x 2

5,00

D

15,50

5,00

6,00

15,50

4,00

3,00

E

8,00

D

C

5,65

4,00 x 2 C

42,30

22,00 5,65

57,30

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

VERIF. Victor Angel Ardila

APROB.

A TÍTULO: FECHA

A4

Base motor para prismatico 24/10/2019

Page 68: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

APROB. UNIDAD: mm ESCALA 1:1 HOJA 1 DE 1

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

Page 69: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F F

430,00

E E

2,00

110,00

D D

25,40 R35,00

C C

80,00 84,00

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF.

APROB.

APROB.

Victor Angel Ardila TAPA 1

TÍTULO: mm

ESCALA 1: 5

24/10/2019

HOJA 1 DE 1

300,00

Page 70: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

Page 71: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F 102,00

F

384,00

E 37,00 E

,00

D

25,40 60,00

D

80,00

100,00

C 18,00

C

18,00

48,00

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF.

APROB.

APROB.

Victor Angel Ardila TAPA 2

UNIDAD: mm

ESCALA 1:5

24/10/2019

HOJA 1 DE 1

65,00

80

304,00

Page 72: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 73: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F F

20,00

E E

110,00

D D

C 6,35

C

20,00

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF.

APROB.

APROB.

Victor Angel Ardila EJE 1

UNIDADES : mm

ESCALA 1:1

24/10/2019

HOJA 1 DE 1

Page 74: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

Page 75: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F 12,00

440,00

F

E

23,50

22,43

D

20,00

40,00

23,50

23,50

22,43

120,00

16,00

94,60

5,20 x 4

380,00

300,00

5,00

E

6,00 x 2

D

80,00 23,50

60,00

40,00

25,40 x 16

28,00 5,00 x 2

C C

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF. APROB. APROB. Victor Angel Ardila

Page 76: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

E

s

l

a

b

o

n

1

UNIDA

DES:

mm

ESCAL

A 1:50

24/10/

2019

H

O

J

A

1

D

E

1

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

Page 77: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3 2 1

F F

40,00

60,00

25,40

4,00

5,00

55,00

23,85

E 22,43 5,00

94,60

8,00 42,00

8,00 45,70

10,00

12,00

E

20,00

22,43

D 40,00

60,00

0,10

52,41

3,50

40,00

8,00

8,00

30,00

8,00

65,00

42,00

4,00

23,85

10,00 80,00

D

C C

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

VERIF. APROB. APROB. Victor Angel Ardila

Page 78: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

E

S

L

A

B

O

N

2

UNIDAD

ES: mm

ESCALA 1: 5

24/10/2019

H

O

J

A

1

D

E

1

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 79: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

7,

4 3 2 1

F

8,00

E

30,00

30,00

30,00

15,00

15,00

F

600,00

E

400,00

220,00

25,40

130,00

700,00

60,00

70,00

70,00

67,50

D 60,00

20,00 4,00

120,00 9,00

0 120,00

67,50 D

100,00

154,82

C

50,00

20,00

8,68

80,00

97,36

80,00

37,50

50

145,00

40,00

C

80,00 640,00

5,00 90,00

575,00

B 22,50

530,00

5,00 B

A

D

I

B

U

J

. Juan Sebastian Traslaviña Davila

6

1

0 0, 7

Page 80: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

TÍTULO:

2

2

,

5

0

A FECHA

A4

VERIF.

APROB.

APROB.

Victor Angel Ardila MESA

ESCALA 1:50

24/10/2019

HOJA 1 DE 1

Producto SOLIDWOR4KS Educational. Solo para uso en 3la enseñanza. 2 1

630,00

Page 81: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

35,00

4 3 2 1

F 20,00 R17,50 F

21,00

E E

35,00

D

40,00

5,00

15,00

5,00 X2

8,00 X2

C

20,00 C

17,00

40,00

6,50

B B

A DIBUJ. Juan Sebastian Traslaviña Davila

A TÍTULO: FECHA

A4

D

Page 82: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

VERIF.

APROB.

APROB.

Victor Angel Ardila PIEZA PARA EJE 2

ESCALA 1:1

24/10/2019

HOJA 1 DE 1

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 83: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4

15,00

F

3

50,00

8,00

2 1

F

70,00

5,00

E E

30,00

25,00

10,00

D

25,00

D

5,00 X2

C C

R25,00

B B 19,66

A DIBUJ. Juan Sebastian Traslaviña Davila

TÍTULO:

30,88

A FECHA

A4

VERIF.

APROB.

APROB.

Victor Angel Ardila BUCHING EJE 1

ESCALA 1:50

24/10/2019

HOJA 1 DE 1

Page 84: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 85: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

15,

4 3 2 1

F F

30,00

E E

37,50

10,00 10,00

00 D D

15,00

C C

21,00

5,00

B 55,00 B

A DIBUJ. Juan Sebastian Traslaviña Davila

VERIF. Victor Angel Ardila

APROB.

A TÍTULO: FECHA

A4

SOPORTE DE CORREDERA 24/10/2019

APROB.

Page 86: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

VERIF.

4 U

N

I

D

A

D

E

S

:

m

m

3

ESCALA 1:1

2 HOJA 1 DE 1

1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 87: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

N.º DE

ELEMENTO N.º DE PIEZA CANTIDAD

1 MESA 1

2 b_primer_eslabon 1

3 Pieza_para_eslabon1 1

4 ejeESLA1 1

5 complemento_eslabo

n1 1

6 nema18kg_cm 1

7 HY-DIV268N-5A 2

8 BARRA-PARA-

ESLABON2-12MM 1

9 pieza para eje 2 1

10 ejeESLA2 1

11 Eslabon2 1

12 nema12kg_cm 1

13 L298N Stepper Motor

Driver (Red) 1

14 Nema 5.6 kg_cm 1

15 baseMotroPaso_5.6

kg_cm 1

16 Chumacera_P000_VIST

RONICA 2

17 EJE3 1

18 sin_fin 1

19 b3-055-25_02 1

20

ISO - Rack-spur -

rectangular 0.6M 20PA

5mmFW 10PH 300L---

SAll

1

21 b3-055-reemplaza 1

22 b3-055-25_01 1

23 L_PARA_DESLIZADOR 1

24 Ante gripper 1

25 gripper 1

26

PARA

POTENCIOMETRO

3GDL

1

27 potenciometro 1

28 POTENCIOMETRO 2

29

ISO - Spur gear 0.6M

50T 20PA 12FW ---

S50A75H50L8.0N

2

Page 88: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

30

ISO - Spur gear 2M 20T

20PA 12FW ---

S20A75H50L20.0N

1

31 carcasa1 1

32 carcasa2 1

33

ISO - Spur gear 2M 20T

20PA 12FW ---

S20A75H50L6.0N

1

34

ISO - Spur gear 1.25M

20T 20PA 12FW ---

S20A75H50L6.0N

1

35

ISO - Spur gear 1.25M

20T 20PA 12FW ---

S20A75H50L20.0N

1

36 ISO 1206-B - 492028 -

18,SI,NC,18 2

37 toma 1

38 Toma3P+N+T 2

39 RIEL 1 1

40 RIEL 2 1

41 Сборка1 1

42 caja de control 1

43 boton 1

44 botonperilla 1

45 botonrojo 2

46 led rojo 1

47 led amarillo 1

48 led verde 1

49 Banco_Festo 1

50 Rueda 4

51

Pieza3^DISEÑO FINAL

CONSTRUIDO ROBOT

SCARA

1

52

Pieza6^DISEÑO FINAL

CONSTRUIDO ROBOT

SCARA

1

Page 89: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

4 3

36 38 62

F 14

7

2

12 18 23

63 13 15 22

1

17

F

19 41

6

5

E 35

46

21 E

34

50

D 51

52

16

20 11

D

40

39

37

60

4

8

C 3 C

24

33 26

2 29

B 32 28 B

31

30 54

58 55

A

57 59

56 53

1 9

61 10

27

43 42

45

25 44 A

DIBUJ. Juan Sebastian Traslaviña Davila TÍTULO: FECHA

A4

Page 90: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

VERIF.

APROB.

APROB.

Victor Angel Ardila ROBOT SCARA 4GDL

ESCALA 1:50

24/10/2019

HOJA 1 DE 1

VERIF.

4 3 2 1

Producto SOLIDWORKS Educational. Solo para uso en la enseñanza.

Page 91: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Manual de funcionamiento robot SCARA

El objetivo de este manual es explicar cómo poner en funcionamiento el robot

SCARA de 4 gdl. Para ello se explicarán los componentes necesarios para

manipular el robot y los pasos para poner lo en funcionamiento.

1. Componentes Básicos:

1.1 Interfaz HMI

El robot SCARA de 4GDL tiene una interfaz hombre máquina que permite

controlar el funcionamiento del robot a un usuario de forma práctica e interactiva.

Para comprender su funcionamiento es importante entender que dentro de

cualquier sea la página de la interfaz hay un botón de STOP ubicada en la parte

superior (enmarcado dentro de un circulo imagen1, ítem 1), un indicador de texto

ESTADO( rodeado por un rectángulo verde imagen 1, ítem 2) su función es

indicar el estado en que se encuentra la maquina operando, también cuenta con

una paleta de controles (cubierto por un paralelogramo de color rojo ítem 3)

caracteriza porque controla las transiciones de un estado a otro, las múltiples

opciones con la que cuenta el robot. A continuación, se explicará cada

componente del panel de control.

1.1.1 PAGINA INICIO

Esta página está configurada para que por defecto sea el inicio del programa,

esta página se caracteriza por poseer un selector del puerto de comunicación

entre arduino y el pc( rodeado por un cuadro amarillo imagen 1, item4) un

indicador de texto que reescribe todos los datos que envía el arduino a la HMI

(enmarcado por un cuadro marrón imagen1,ítem 5) e indicadores que se

enciende dependiendo lo que se refleje en el panel de control ( rodeado por un

rectángulo de color naranja imagen1,ítem 6) .

Page 92: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 1. INTERFAZ HMI ROBO SCARA

1.1.2 PAGINA COLOR

Desde esta página se puede realizar la clasificación de colores. Esta pestaña

está conformada por un botón DETECTAR COLOR (ver en la imagen 2, item 1)

que permite tomar una fotografía (mirar la imagen 2, item 6) y realizar la

clasificación del color (observar en la imagen 2 dentro del margen del item 7).

Cuando un color es detectado se enciende un led de los 5 leds (detalle en la

imagen 2, ítem 4) y simultáneamente el indicador COLOR ES indicara el color

que fue detectado (revise la imagen 2, ítem 3), a continuación, si la interfaz

detecta un color azul o rojo le enviara al arduino un mensaje y el arduino le

responde, cuando el arduino responde se enciende el led RECIBIO COLOR (ver

imagen 2, ítem 7)

1 2

3

4

5

6

Page 93: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 2. INTERFAZ COLOR.

1.1.3 PAGINA CINEMATICA INVERSA

Desde esta opción se puede obtener la cinemática inversa del robot SCARA

donde se le ingresa la posición XYZ mediada desde la coordenada 0 y el

programa internamente calcula los ángulos requeridos para obtener la posición

deseada. En el encabezado de la interfaz se encuentra un botón CINEMATICA

INVERSA y un led cinematica inversa (ver imagen 3, ítem 1) este botón permite

ingresar al modo CINEMATICA INVERSA y el led se enciende cuando ya se

está en el estado CINEMATICA INVERSA. Como el principal objetivo de este

modo es por medio de una coordenada obtener ángulos, se deben ingresar los

valores XYZ (ver imagen 3, item 2) con el único propósito de obtener los ángulos

requeridos con los que el elemento final de control llegue a la coordenada dada

por el usuario. El modo en que el robot llegue a la posición sea codo arriba o

codo abajo es decisión del usuario (observar imagen 3, ítem 3 y 4). Luego de

seleccionar porque cinematica se decidió calculara los ángulo se podrán ver en

el indicar TETA 1 CA Y TETA2 CA además en el indicador teta 1 ca cdf y teta 2

ca cdf ( ver imagen 3, ítem 5) se visualizara la codificación del ángulo para enviar

al arduino cuando este en modo automático además se graficara la posición

deseada los dos primeros grados de libertad en la figura ca ( revisar imagen 3,

item 7) cuando fue seleccionado el modo CODO ARRIBA y cuando fue

seleccionado el modo CODO ABAJO se obtendrán los ángulos en los

indicadores TETA1CB Y TETA2CB y también en los indicadores teta1

3 1 2

4

6 7

5

Page 94: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

cb cdf y teta 2 cb cdf ( observar imagen 3, item 6) se visualizara la codificación

del ángulo para enviar al arduino cuando este en modo automático además se

graficara la posición deseada los dos primeros grados de libertad en la figura

cb ( revisar imagen 3, item 8).

Imagen 3. INTERFAZ CINEMATICA INVERSA

1.1.4 1 GDL

El modo 1 GDL permite controlar el primer grado de libertad del robot SCARA.En

el encabezado de la página se encuentra un botón 1 GDL, encargado de poner

a la maquina en el estado 1 GDL y un led i 1 GDL que indica que el robot está

en ese estado (ver imagen 4, ítem 1). Cuando la maquina se encuentre en el

estado 1 GDL se debe estipular el ángulo que se quiere implantar con la

orientación de dicho ángulo (observe la imagen 4 , ítem 3), luego de tener el

ángulo se debe enviar al arduino y el encargado de realizar esta función es el

botón enviar 1gdl ( véase imagen 4, item 4) lo que la interfaz le envía al

microcontrolador se podrá ver el dato enviado en el indicador 1GDL ENVIO A

ARDUINO y cuando el arduino responda se podrá ver en el indicador gdl1 res y

en el led RESPONDIO 1GDL (detalle la imagen 4, item 5).

1

2

3 4

5 6

7 8

Page 95: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 4. INTERFAZ GDL 1

1.1.5 PAGINA 2 GDL

La función 2 GDL permite controlar el segundo grado de libertad del robot

SCARA. En el encabezado de la página se encuentra un botón 2 GDL,

encargado de poner a la maquina en el estado 2 GDL y un led i 2 GDL que indica

que el robot está en ese estado (ver imagen 5, ítem 1). Cuando la maquina se

encuentre en el estado 2 GDL se debe estipular el ángulo que se quiere implantar

con la orientación de dicho ángulo (observe la imagen 5 , ítem 3), luego de tener

el ángulo se debe enviar al arduino y el encargado de realizar esta función es el

botón enviar 2gdl ( véase imagen 5, item 4) lo que la interfaz le envía al

microcontrolador se podrá ver el dato enviado en el indicador 2GDL ENVIO A

ARDUINO y cuando el arduino responda se podrá ver en el indicador gdl2 res y

el led RESPONDIO 2 GDL que se encendera. (detalle la imagen 5, item 5).

1

2 3

4

5

Page 96: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 5. INTERFAZ GDL 2

1.1.6 PAGINA 3 GDL

El modo 3 GDL permite controlar el segundo grado de libertad del robot SCARA.

En el encabezado de la página se encuentra un botón 3 GDL, encargado de

poner a la maquina en el estado 3 GDL y un led i 3 GDL que indica que el robot

está en ese estado (ver imagen 6, ítem 1). Cuando la maquina se encuentre en

el estado 3 GDL se debe estipular la altura que se quiere implantar con la

orientación de la altura que se le quiere dar al gripper, esta altura se digita en el

indicador ALTURA CM (observe la imagen 6, ítem 2), luego de tener la altura se

debe enviar al arduino y el encargado de realizar esta función es el botón 3 GDL

(véase imagen 6, ítem 1). El mensaje que la interfaz le envía al microcontrolador

se podrá ver el dato enviado en el indicador 3 GDL ENVIO A ARDUINO y cuando

el arduino responda se podrá ver en el indicador gdl3 res y en led RESPONDIO

3 GDL que se activara. (detalle la imagen 6, ítem 4).

1

2 3

4

5

Page 97: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 6. INTERFAZ GDL 3

1.1.7 PAGINA GRIPPER

El modo GRIPEER permite controlar el cuarto grado de libertad del robot SCARA.

En el encabezado de la página se encuentra un botón GIPPER, encargado de

poner a la maquina en el estado GRIPPER y un led i GRIPER que indica que el

robot está en ese estado (ver imagen 7, ítem 1). Cuando la maquina se encuentre

en el estado GRIPPER se debe estipular el porcentaje de apertura donde 0 es

totalmente abierto y 80 totalmente cerrado (observe la imagen 7, ítem 2), luego de

tener el porcentaje de apertura se debe enviar al arduino y el encargado de

realizar esta función es el botón GRIPPER (véase imagen 7, item 1). El mensaje

que la interfaz le envía al microcontrolador se podrá ver el dato enviado en el

indicador 4 GDL ENVIO A ARDUINO y cuando el arduino responda se podrá ver

en el indicador gdl3 res y en led RESPONDIO 4GDL que se activara. (detalle la

imagen 7, ítem 4).

1

2

3

4

Page 98: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

Imagen 7. INTERFAZ GRIPPER

1.1.8 PAGINA PARO

Esta función solo cumple una labor de indicar que se paro la interfaz y

solo cuenta con un led PARO I.

Imagen 8. INTERFAZ PARO

1

2

3

4

Page 99: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

1.2 PANEL DE CONTROL

El panel de control es una herramienta que permite dominar los modos de

operación de encendido, o pausado del robot o de todo el sistema MPS festo y

SCARA. Dentro de esta caja hay 3 botones, una perrilla y tres leds indicadores.

De funcionamiento, parado y stan by.

Imagen 9. PANEL DE CONTROL

1.3 INTERRUPTORES

El robot SCARA DE 4 GDL contara con 2 interruptores de protección, uno

aguas arriba de la fuente de alimentación, que soportara hasta 2 Amperios de

corrientes y otro interruptor aguas debajo de la fuente que soportara hasta 10

Amperios de corriente.

1.4 TOMAS CLAVIJA EMPOTRADAS DE ALIMENTACION REGULADA Y

NO REGULADA

El banco contara con dos tomas de alimentación de 110 v de 16 amperios con

tres puntas, se distribuye una toma para la alimentación regulada y otra para la

no regulada.

1.5 TOMA CONVENCIONAL

Esta toma es para alimentar el PLC de Festo y el PC portátil.

1.6 ROBOT

El robot está compuesto por 2 eslabones, una corredera lineal y un gripper.

1.7 MESA

La mesa tiene en su base 4 ruedas móviles de 2”, en la parte superior cuenta

con una tabla que contiene un sistema de medición en toda la superficie.

Page 100: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

2. PASOS PARA FUNCIONAMIENTO:

1. Para poner en funcionamiento la maquina antes debe contar con

alimentación de red eléctrica monofásica de 110V, se debe conectar las

clavijas y comprobar que los interruptores estén cerrados.

2. Para iniciar el robot es necesario entablar la comunicación entre la interfaz

y el arduino. (revise imagen 1, ítem 4) Se busca el puerto COM que el pc

habilito para el arduino y se selecciona. Establecida la comunicación se

correo el programa. El robot deberá encender el led naranja.

3. Ahora debe iniciar el robot desde el panel de control en el botón verde.

4. El robot contara con dos métodos de operación modo manual o modo

automático. El modo manual le permite interactuar de una página en otra

y el modo automático le pedirá al usuario una coordenada XYZ y hará una

secuencia. Se debe escoger el modo de operación desde el mando de

control con la perilla. Siendo automático (A) y manual (M) un movimiento

controlado por el usuario donde se controla por separado cada grado de

libertad desde la interfaz.

Page 101: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

CODIGO ARDUINO ROBOT SCARA 4 GDL

// COMUNICACION

String imp;

int dato1 = 0;

int GradoL;

int signo;

int grados;

float angulo;

// MPS FESTO

const int colorpin = 32;

const int pararmps = 31;

// Grado de libertad 1

const int analogPin1 = A0;

const int stepPin = 52; //CLK

const int dirPin = 50; //CW , DIRECCION

const int enPin = 51 ; // ENABLO

int tiempo1 = 5200;

int tiempo2 = 5200;

int valor1;

int ciclo1 ;

float error1 = 1;

float ang1a;

float ang1;

float ang1_1;

float ang1_2;

// Grado de libertad 2

const int analogPin2 = A1;

EL TEXTO CON UN COLOR DE

FUENTE ROJO SON LA DEFINICION

DE LAS VARIABLES UTILIZADAS EN

EL PROGRAMA.

Page 102: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

const int stepPin2 = 9; //CLK //recordar que es 9

const int dirPin2 = 10; //CW , DIRECCION // //recordar que es 10

const int enPin2 = 11; // ENABLO //recordar que es 11

int valor2;

int tiempo12 = 16200;

int tiempo22 = 16200;

int ciclo2;

float ang2;

float error2;

// Grado de libertad 3

const int analogPin3 = A2;

int valor3;

float ang3;

int ciclo3 ;

int value3;

int error3d;

int PinENA = 2; //recordar que es 2

int PinIN1 = 3; //recordar que es 3

int PinIN2 = 4; //recordar que es 4

int PinIN3 = 5; //recordar que es 5

int PinIN4 = 6; //recordar que es 6

int PinENB = 7; //recordar que es 7

float z;

int milis = 2;

float error3;

//Grado de ibertad 4

#include <Servo.h>

Page 103: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

void setup ()

Servo myservo; // create servo object to control a servo

int pinServo = 8; // debe ser 8

int grados4 = 0;

// Tablero de control

const int pulsadorinicio = 39;

const int paradototal = 38;

const int modo = 36;

const int paradoRobot = 37;

nst int verdee= 35;

const int rojoo= 34;

const int amarillo = 33;

const int color= 32;

const int paradoto= 31;

int pi,pim,pet,pet2,pet3, modod, parador,parador2,parador3, x, i;

Serial. Begin (9600);

// 1 gdl

pinMode(stepPin, OUTPUT);

pinMode(dirPin, OUTPUT);

pinMode(enPin, OUTPUT);

digitalWrite(enPin, HIGH);

// 2 gdl

pinMode(stepPin2, OUTPUT);

pinMode(dirPin2, OUTPUT);

pinMode(enPin2, OUTPUT);

digitalWrite(enPin2, HIGH);

SE DEFINE EL PUERTO DE COMUNICACIÓN

SERIAL Y LA VELOCIDAD DE TRANSMISION DE

DATOS

Page 104: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

// 3 gdl

pinMode(PinENA, OUTPUT);

pinMode(PinIN1, OUTPUT);

pinMode(PinIN2, OUTPUT);

pinMode(PinIN3, OUTPUT);

pinMode(PinIN4, OUTPUT);

pinMode(PinENB, OUTPUT);

digitalWrite(PinENA, LOW);

digitalWrite(PinENB, LOW);

// 4 gdl

myservo.attach(pinServo);

myservo.write(10);

// Tablero de control

pinMode(pulsadorinicio, INPUT);

pinMode(paradototal, INPUT);

pinMode(modo, INPUT);

pinMode(paradoRobot, INPUT);

pinMode(verdee, OUTPUT);

pinMode(rojoo, OUTPUT);

pinMode(amarillo, OUTPUT);

pinMode(color, OUTPUT);

pinMode(paradoto, OUTPUT);

Y (ENTRADAS PUERTOS DIGITALES SALIDAS)

SE REALIZA LA DEFINICION DE LOS

noInterrupts();

TCCR1A = 0;

TCCR1B = 0;

T= 0.028; // tiempo de muestreo

timer1_counter = 34286; // preload timer 65536-16MHz/256/100Hz ============>65536-

(16000000/(256*(1/T)))

Page 105: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

// interrupcion

ISR(TIMER1_OVF_vect) // interrupt service routine

TCNT1 = timer1_counter; // preload timer

// ang 1

valor1 = analogRead(analogPin1);

ang1 = -0.2382 * valor1 + 109.42;

//ang 2

valor2 = analogRead(analogPin2);

ang2 = 0.2605 * valor2 - 95,777;

// //ang 3

valor3 = analogRead(analogPin3);

ang3 = -0.0927* valor3 + 103.88;

// enable all interrupts interrupts();

TCNT1 = timer1_counter; // preload timer

TCCR1B |= (1 << CS12); // 256 prescaler

TIMSK1 |= (1 << TOIE1); // enable timer overflow interrupt

LA DEFINICION DE LA INTERRUPCION PARA EL

TIEMPO DE MUESTREO DE LA LECTURA DE LOS

POTENCIOMETROS Y LA INTERPOLACION DE LA

LECTURA DE LOS PUERTOS ANALOGICOS

void loop()

if (Serial.available() > 0) //Comprobamos si en el buffer hay datos

delay(50);

String datosrecibidos1 = Serial.readStringUntil(',') ;

String datosrecibidos2 = Serial.readStringUntil(',') ;

String datosrecibidos3 = Serial.readStringUntil(',') ;

String datosrecibidos4 = Serial.readStringUntil(',') ;

EL FRAGMENTO DE CODIGO EN

PURPURA ESTA ENCARGADO DE

REVISAR SI HAY INFORMACION EN

EL PUERTO SERIAL. CUANDO HAY

UNA PALABRA LAS VARIABLES

STRING SE ENCARGAN DE SEPARAR

LAS VARIABES DE “GradoL”,” signo”

Y “grados”. ESTAS VARIABLES

PERMITEN TENER CONTROL DE

TODOS LOS GRADOS DE LIBERTAD

DEL ROBOT SCARA.

Page 106: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

String datosrecibidos5 = Serial.readStringUntil(',') ;

GradoL = datosrecibidos1.toInt();

signo = datosrecibidos2.toInt();

grados = datosrecibidos3.toInt();

if (signo == 9)

angulo = -1 * (grados);

if (signo == 0)

angulo = grados;

if (GradoL == 01 )

delay(100);

Serial.println(1);

delay(100);

Serial.println(1);

digitalWrite(enPin2, HIGH);

error1 = angulo - ang1;

delay(100);

while (error1 > 1 || error1 < -1 )

Serial.println(error1);

digitalWrite(amarillo, LOW); // enciende el LED

if (error1 > 0)

ciclo1 = (error1 * 6400) / 360;

digitalWrite(enPin, HIGH);

digitalWrite(dirPin, HIGH); // anticlockwise direction

for (int x1 = 0; x1 <= ciclo1 ; x1++)

digitalWrite(stepPin, HIGH);

delayMicroseconds(tiempo1);

PRIMER GRADO DE LIBERTAD. CUANDO SE ENTRA A ESTA CONDICION SE

COMPARA EL VALOR DEL ANGULO QUE

ENVIAR LA INTERFAZ CON RESPECTO A LA

POSICION INSTANTEANEA DEL ESLABON

1 Y DEPENDIENDO SI EL ERROR ES

POSITIVO O NEGATIVO SE REALIZA LA

SECUENCIA DEL CONTROL DE MOTOR

PASO A PASO DE 18KG.

ENCARGADO DE

MOVIMIENTO DEL CONTROLAR EL

ESTA PARTE EL CODIGO SUBRAYADA EN

VERDE ESTA

Page 107: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

// ERROR NEGATIVO, GIRO ANTIHORARIO

if ( error1 < 0)

ciclo1 = (-error1 * 6400) / 360;

digitalWrite(enPin, HIGH);

digitalWrite(dirPin, LOW); // clockwise direction

for (int x1 = 0; x1 <= ciclo1 ; x1++)

digitalWrite(stepPin, HIGH);

delayMicroseconds(tiempo2);

digitalWrite(stepPin, LOW);

delayMicroseconds(tiempo2);

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

if(pet == 0 || parador == 0 )

x1 = ciclo1;

digitalWrite(stepPin, LOW);

delayMicroseconds(tiempo1);

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

if(pet == 0 || parador == 0 )

x1 = ciclo1;

error1 = 0.1;

GradoL = 0;

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(verdee, HIGH); // enciende el LED

DENTRO DEL CUADRO NARANJA SE

ENCUENTRA EL CONTROL DE GIRO DEL

MOTOR PASO A PASO DE 18KG, PRIMERO

SE COMPARA EL ERROR, LUEGO SE

CALCULA LA CANTIDAD DE PASOS O

PULSOS QUE SE DEBEN DAR PARA QUE EL

MOTOR LLEGUE A UNA REFERENCIA,

COMO SE UTILIZO UNA TARJETA DE

CONTOL PARA EL MOTOR PASO A PASO,

SE HABILITA LA SALIDA DE LA TARJETA Y

LA DIRECCION LUEGO DENTRO DE UN

FOR SE HACE LA CADENA DE PULSOS QUE

SON ENVIADOS A LA TARJETA.

Page 108: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

DESDE ESTE SEGMENTO SE CONTROLA EL

MOVIMIENTO DEL SEGUNDO GRADO DE

LIBERTAD. CUANDO SE ENTRA A ESTA

CONDICION SE COMPARA EL VALOR DEL

ANGULO QUE ENVIA LA INTERFAZ

RESPECTO A LA POSICION DEL SEGUNDO

ESLABON Y DEPENDIENDO SI EL ERROR

ES POSITIVO O NEGATIVO SE REALIZA LA

SECUENCIA DEL CONTROL DE MOTOR

PASO A PASO DE 12 KG, EL

FUNCIONAMIENTO DE ESTE GRADO DE

LINERTAD ES IGUAL AL DEL PRIMER

GRADO DE LIBERTAD PORQUE SE

CUENTA CON LA MISMA TARJETA DE

CONTROL.

if (GradoL == 02)

delay(100);

Serial.print(2);

delay(100);

Serial.print(2);

delay(100);

Serial.print(2);

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(enPin, HIGH);

error2 = angulo - ang2;

while (error2 > 1.0 || error2 < -1.0 )

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

error1 = 0;

GradoL = 0;

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(verdee, HIGH); // enciende el LED

GradoL = 0;

error1 = angulo - ang1;

if(pet == 0 || parador == 0 )

error1 = 0;

GradoL = 0;

Page 109: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

if ( error2 > 0)

digitalWrite(enPin2, HIGH);

digitalWrite(dirPin2, LOW); // anticlockwise direction

ciclo2 = (error2) / 0.45;

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

for (int x = 0; x <= ciclo2 ; x++)

digitalWrite(stepPin2, HIGH);

delayMicroseconds(tiempo12);

digitalWrite(stepPin2, LOW);

delayMicroseconds(tiempo12);

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

if(pet == 0 || parador == 0 )

x = ciclo2;

error2 = 0.1;

GradoL = 0;

if ( error2 < 0)

ciclo2 = (-error2) / 0.45;

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(enPin2, HIGH);

Page 110: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

digitalWrite(dirPin2, HIGH); // anticlockwise direction

for (int x = 0; x <= ciclo2 ; x++)

digitalWrite(stepPin2, HIGH);

delayMicroseconds(tiempo22);

digitalWrite(stepPin2, LOW);

delayMicroseconds(tiempo22);

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

if(pet == 0 || parador == 0 )

x = ciclo2;

error2 = 0.1;

GradoL = 0;

delay(3000);

error2 = angulo - ang2;

digitalWrite(enPin2, LOW);

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

if(pet == 0 || parador == 0 )

error2 = 0.1;

GradoL = 0;

GradoL = 0;

Page 111: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

EN ESTAS LINEAS DE CODIGO SE

CONTROLA EL MOVIMIENTO DEL TERCER

GRADO DE LIBERTAD O GRADO DE

LIBERTAD PRISMATICO. CUANDO SE

ENTRA A ESTA CONDICION SE COMPARA

EL VALOR DE LA ALTURA QUE ENVIA LA

INTERFAZ RESPECTO A LA ALTURA DEL

GRIPPER Y DEPENDIENDO SI EL ERROR ES

POSITIVO O NEGATIVO SE REALIZA LA

SECUENCIA DEL CONTROL DE MOTOR

PASO A PASO DE 5KG.

if (GradoL == 03)

delay(100);

Serial.println(3);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

z = angulo/111;

if (z > 30)

z = 30;

if ( z <15)

z = 13;

error3 = z - ang3;

// Retroalimentación3

while (error3 > 1 || error3 < -1 )

valor3 = analogRead(analogPin3);

ang3 = -0.0927* valor3 + 103.88;

error3 = z - ang3;

if (error3 > 0)

error3d = 1200 * error3;

ciclo3 = (error3d / 7.2);

digitalWrite (PinENA, HIGH);

digitalWrite (PinENB, HIGH);

// Baja

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

Page 112: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

EN EL CUADRO SEÑALADO EN AZUL SE

REALIZA LA SECUENCIA DE MOVIMIENTO

DEL GRADO DE LIBERTAD PRISMATICO.

LUEGO DE REALIZAR LA COMPARACION

DE LA ALTURA QUE ESTIPULA LA

INTERFAZ Y LA ACTUAL DEL ROBOT SE

DETERMINA SI SUBE O BAJA EL ROBOT,

PERO PARA HACER ESTAS ACCIONES SE

DEBE CALCULAR LA CANTIDAD DE

PULSOS REQUERIDOS PARA CUMPLETAR

ESTA ACTIVIDAD. EL CONTROL QUE TIENE

LA TARJETA LN298 ES UN CONTROL

REQUERIDO PARA MOTORES PASO A

PASO DE DOS BOBINAS, EXACTAMENTE

SE USO PASOS COMPLETOS DONDE SE

ACTIVARON DE FORMA SECUENCIALA

CADA PUNTA DE LA BOBINA DE FORMA

SINCRONA HASTA QUE CUMPLE LA

CANTIDAD DE IMPULSOS REQUERIDOS.

for (int i = 0; i <= ciclo3; i++)

//BOBINA A

digitalWrite (PinIN1, HIGH);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, LOW);

delay(milis);

//BOBINA B

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

delay(milis);

// BOBINA C

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, LOW);

delay(milis);

// BOBINA D

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, HIGH);

digitalWrite (PinIN4, LOW);

delay(milis);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

Page 113: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

digitalWrite(rojoo, LOW); // enciende el LED

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

if(pet == 0 || parador == 0 )

i = ciclo3;

error3 = 0.1;

GradoL = 0;

if (error3 < 0 )

digitalWrite (PinENA, HIGH);

digitalWrite (PinENB, HIGH);

error3d = 1200 * error3;

ciclo3 = (-error3d / 7.2);

// SUBE

for (int i = 0; i <= ciclo3; i++)

//BOBINA A

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, HIGH);

delay(milis);

//BOBINA B

digitalWrite (PinIN1, HIGH);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, LOW);

Page 114: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

delay(milis);

// BOBINA C

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, LOW);

digitalWrite (PinIN3, HIGH);

digitalWrite (PinIN4, LOW);

delay(milis);

// BOBINA D

digitalWrite (PinIN1, LOW);

digitalWrite (PinIN2, HIGH);

digitalWrite (PinIN3, LOW);

digitalWrite (PinIN4, LOW);

delay(milis);

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

if(pet == 0 || parador == 0 )

i = ciclo3;

error3 = 0.1;

GradoL = 0;

digitalWrite (PinENA, LOW);

digitalWrite (PinENB, LOW);

pet = digitalRead(paradototal); //lectura digital de pin

Page 115: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

parador = digitalRead(paradoRobot);

digitalWrite(verdee, HIGH); // enciende el LED

if(pet == 0 || parador == 0 )

i = ciclo3;

error3 = 0.1;

GradoL = 0;

digitalWrite(enPin, LOW);

GradoL = 0;

if (GradoL == 05)

myservo.write(angulo);

delay(15);

Serial.println("5");

GradoL = 0;

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

if(pet == 0 ||parador == 0 )

GradoL = 0;

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

delay(200);

EN LA CONDICION GradoL == 5 SE

CONTROLA EL PORCENTAJE DE

APERTURA DEL GRIPPER EL CUAL SE DA

POR LA HMI QUE ENVIA UN ANGULO

PARA MOVER EL SERMOTOR UNA

CANTIDAD DETERMINADA DE GRADOS.

Page 116: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

// color

if (GradoL == 06)

pet = digitalRead(paradototal); //lectura digital de pin

parador = digitalRead(paradoRobot);

digitalWrite(color, HIGH); // enciende el LED

Serial.print("6");

delay(100);

Serial.print("6");

delay(100);

Serial.print("6");

delay(100);

Serial.print("6");

delay(1000);

if(pet == 0 ||parador == 0 )

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

delay(200);

GradoL = 0;

EN LA CONDICION COLOR SE ENVIA AL

PLC DE FESTO SI SE DETECTO UN COLOR

AZUL O ROJO O NINGUNO DE ELLOS,

ESTA CLASIFICACION SE DA DESDE LA

CAMARA QUE POR MEDIO DE LA

INTERGAZ LE ENVIA ESTE DATO AL

ARDINO

pi = digitalRead(pulsadorinicio); //lectura digital de pin

pet = digitalRead(paradototal); //lectura digital de pin

modod= digitalRead(modo); //lectura digital de pin

parador = digitalRead(paradoRobot);

if (pi == 1 )

Page 117: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

pim = 1;

if ( pim == 1 && pet == 1 && parador==1 )

//Serial.println("Encendido");

digitalWrite(verdee, HIGH); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(amarillo, LOW); // enciende el LED

if (modod == 1) Serial.println(85); // AUTOMATICO

else Serial.println(86); // MANUAL

digitalWrite(color, HIGH); // color para festo

delay(100);

if (pim == 0 && pet == 1 && parador ==1)

// Serial.println("sin Encender");

Serial.println(80);

digitalWrite (PinENA, HIGH);

digitalWrite (PinENB, HIGH);

digitalWrite(verdee, LOW); // enciende el LED

digitalWrite(rojoo, LOW); // enciende el LED

digitalWrite(amarillo, HIGH); // enciende el LED

digitalWrite(color, LOW); // enciende el LED

digitalWrite(paradoto, LOW); // enciende el LED

delay(100);

if ( pet == 1 && parador ==0 )

// Serial.println("parado robot");

Serial.println(83);

digitalWrite(verdee, LOW); // enciende el LED

LA ENCUENTRA ESTADO SE

MAQUINA.

EN LA PARTE FINAL DEL CODIGO SE ENCUENTRA LA LECTURA DE LAS

VARIABLES DEL PANEL DE CONTROL,

EL ESTADO DE ELLAS Y DESDE ACA SE

ENVIA LA INFORMACION A INTERFAZ

PARA QUE TENGA PRESENTE EN QUE

Page 118: BANCO DIDACTICO BASADO EN UN MANIPULADOR SCARA PARA

pim = 0;

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, HIGH); // enciende el LED

digitalWrite(color, LOW); // enciende el LED

digitalWrite(paradoto, LOW); // enciende el LED

delay(100);

if ( pet == 0)

// Serial.println("parado total");

Serial.println(84);

digitalWrite(verdee, LOW); // enciende el LED

digitalWrite(pararmps, HIGH); // enciende el LED

pim = 0;

digitalWrite(amarillo, LOW); // enciende el LED

digitalWrite(rojoo, HIGH); // enciende el LED

digitalWrite(paradoto, HIGH); // enciende el LED

digitalWrite(color, LOW); // enciende el LED

delay(100);