# Unidad didáctica:

# ROBOT DE SOLDADURA

# CON BARRERA DE SEGURIDAD

Antonio López Cruzado. I.E.S. Alfonso VI. Olmedo. Valladolid.

- ### INTRODUCCIÓN

Esta unidad se plantea como un proyecto técnico y se concibe para iniciar al alumno en la programación básica de robots usando el lenguaje LLWin, versión 3.06.

- ### ENUNCIADO DEL PROYECTO

Una fábrica de arcos de acero quiere automatizar la fabricación mediante el uso de robots, y nos ha encargado la instalación de un robot se soldadura que cumpla las siguientes características:

> - El robot debe ser de un único grado de libertad.
> - El robot dará tres puntos de soldadura, uno en cada extremo del arco y otro en el centro.
> - Cada ciclo comienza en una posición de origen (Home) para permitir cargar en cada caso el puesto de soldadura.
> - La instalación se pondrá en marcha con un pulsador normalmente abierto, de manera que no arrancará hasta que no se presione y luego se suelte.
> - La instalación dispondrá de una barrera óptica de seguridad, de manera que el robot haga una parada de emergencia si detecta que una persona ha entrado dentro de la zona de trabajo.

- ### OBJETIVOS

  - Conocer el concepto de robot y los tipos de robots.
  - Conocer la estructura básica de un robot de un grado de libertad.
  - Conocer los elementos eléctricos y mecánicos que integran un robot.
  - Conocer y montar sensores que permiten al robot interactuar con el entorno.
  - Montar un robot sencillo.
  - Desarrollar un programa de control básico que permita gobernar al robot de forma autónoma.

###

- ### CONCEPTOS

  - Robots
  - Robot de un grado de libertad
  - El motor, la caja de engranajes, tornillo sinfín y rueda.
  - Final de carrera, fototransistor.
  - Instrucciones básicas de montaje de un robot.
  - Lenguaje LLWin: instrucciones básicas

- ### PROCEDIMIENTOS

  La parte teórica de los conceptos se desarrollarán con pequeñas explicaciones y estas se complementarán con las actividades de se presentan a continuación.

- ### Actividades de motivación.

  El profesor mostrará a los alumnos los diferentes tipos de robot de que disponga en el aula y pondrá al menos uno en funcionamiento con el programa de demostración.

  A continuación se realizará una exposición teórica - práctica con las ideas fundamentales de los cuatro primeros puntos desarrollados en los conceptos.

- ### Actividad 1. Montaje del robot.

  Teoría. Dar las instrucciones básicas de montaje. Ante todo, es preciso dejar bien claro el método de trabajo a seguir en el montaje basado en control y cuidado de cada una de las piezas.

  1. Realiza el montaje del Robot de soldadura del manual Computing starter de Fischertechnik (páginas 21, 22 y 23).
  2. Intercambia la bombilla lenticular por una normal.
  3. Toma dos piezas negras de 32881 y otras dos de 32882, forma dos columnas que contengan una pieza de cada tipo.
  4. Inserta cada columna en las esquinas opuestas a la controladora.
  5. Usa las piezas: Bombilla lenticular (37869), fototransistor (36134) y los dos protectores (36532), y móntalas sobre las columnas de acuerdo a la página 7 del citado manual.
  6. Conecta la bombilla con una cable de 30cm a la salida M3 y el fototransistor con un cable de 25cm a la entrada E3.

  Tras todo ello, el resultado debería ser el de la figura siguiente:

- ### Actividad 2. Identificación de elementos.

> 1. Identifica sobre el robot con pegatinas cada uno de los siguientes elementos del robot: Motor, caja reductora, tornillo sinfín, rueda dentada, pulsador, final de carrera, contador de impulsos, bombilla emisora, fototransistor.

> 2. Describe en tu cuaderno la función de cada elemento dentro del conjunto del robot.

- ### Actividad 3. Movimiento manual del robot.

  Teoría. Prueba de Hardware

> 1. Conecta el robot de soldadura a través del interfaz al PC. Ejecuta el diagnóstico de interfaz y ajústalo hasta que detecte que la conexión con el interfaz es correcta.

> 2. Presiona manualmente los pulsadores E1, E2 y E8 y comprueba que se encienden los testigos luminosos del panel. Gira el motor M1 a derecha y a izquierda y comprueba en que sentido avanza el robot y en que sentido retrocede hacia el final de carrera E1 (Origen). Actúa sobre M2 a derechas e izquierdas y comprueba el efecto.

- ### Actividad 4. Avance por tiempo.

  Teoría. Fundamentos

  Bloques: Arranque, Fin, Salida, Pitido, Esperar, Texto.

> Enunciado. Realiza un programa llamado ACTIVIDAD 4 que avance el robot durante 2 segundos y que se pare y emita un sonido durante medio segundo. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. Para que avance el robot es necesario que el motor M1 gire a derechas. Para ejecutarle es importante que el robot esté lo mas cerca posible de su posición origen.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 5. Ciclo por tiempo.

> Enunciado. Realiza un programa llamado ACTIVIDAD 5 que avance el robot durante 2 segundos y que vuelva a su posición inicial repitiendo el ciclo indefinidamente. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. Para que vuelva el robot es necesario que el motor M1 gire a izquierdas el mismo tiempo. Para ejecutarle es importante que el robot esté lo mas cerca posible de su posición origen.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 6. Procesos simultáneos.

> Enunciado. Realiza un programa llamado ACTIVIDAD 6 que avance el robot durante 2 segundos y que vuelva a su posición inicial repitiendo el ciclo indefinidamente, y que al mismo tiempo encienda y apague repetidamente la bombilla cada 0,5 segundos. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. El encendido y apagado de la bombilla (M2) se realiza con otro proceso simultaneo al anterior.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 7. Avance por pulsador.

  Teoría. Bloque: Entrada.

> Enunciado. Realiza un programa llamado ACTIVIDAD 7que permita avanzar el robot mientras se mantenga presionado el pulsador E8. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. Hay que preguntarse en todo momento si el pulsador E8 está presionado.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 8. Posición de origen.

> Teoría. Posición de origen

> Enunciado. Realiza un programa llamado ACTIVIDAD 8 que que dirija al robot desde cualquier posición a su posición de origen. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. Para que se dirija al origen es necesario que el motor gire a izquierdas hasta que el robot alcanza su posición, accione el final de carrera y se pare; mientras tanto es necesario que el sistema este constantemente comprobando si el final de carrera está accionado o no.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 9. Subprogramas.

> Si dentro de un programa necesito que el robot se dirija en varias ocasiones a la posición de reposo, tendríamos que copiar la misma estructura varias veces. Para evitar eso se crea un subprograma, que es como un pequeño programa que se va a llamar varias veces desde el programa principal.

> Teoría. Subprogramas

> Enunciado. Realiza un programa llamado ACTIVIDAD 9, que en primer lugar lleve el robot a su posición de origen, mediante un subprograma llamado HOME1, y que después permita avanzar al robot siempre que se mantenga presionado el pulsador E8. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. Parte del programa de la actividad 8, crea el subprograma, corta y pega parte del programa principal de la actividad anterior, en lugar de colocar de nuevo todos los bloques. Recuerda que el subprograma comienza y finaliza de forma distinta que el programa principal y que antes de insertarla en el programa principal hay que ir a Subprograma - Diseño. Finalmente guarda el programa como actividad 9.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 10. Avance hasta una posición.

  Teoría. Bloques: Posición

  Enunciado. Realiza un programa llamado ACTIVIDAD 10 que lleve el robot a su posición de origen (subprograma HOME1) y que después le avance hasta una posición distante 55 impulsos de contador desde el origen. Comprueba la solución y después ejecuta tu programa para ver el resultado.

  Ayuda. Parte del programa anterior y finalmente guárdalo como actividad 10 . El contador de impulsos se encuentra conectado a la entrada 2. Para realizar la cuenta de pasos utiliza la variable de cuenteo Z2. Fija el valor final del cuenteo (54 impulsos) directamente en el bloque posición.

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 11. Avance múltiple con subprograma.

  Con la finalidad de que cada avance se pueda realizar sin necesidad de repetir las órdenes, vamos a crear una subrutina de avance.

  Teoría. Bloques: Asignación

  Enunciado. Realiza un programa llamado ACTIVIDAD 11 que lleve el robot a su posición de origen (subprograma HOME1) y que después le avance hasta una posición 1 distante 55 impulsos de contador desde el origen, que espere 2 segundos y le avance de nuevo hasta una posición 2 distante 145 impulsos desde el origen. Realiza el avance mediante un subprograma (AVANZAR) que fije las posiciones (el número de impulsos) mediante la variable VAR11. Comprueba la solución y después ejecuta tu programa para ver el resultado.

  Ayuda. Parte del programa anterior y finalmente guárdalo como actividad 11. Crea el subprograma AVANZAR, corta y pega parte del programa principal de la actividad anterior, en lugar de colocar de nuevo todos los bloques. Fija la posición final del bloque posición mediante VAR11 y asigna a esta variable el valor correspondiente a cada posición antes de ejecutarse el bloque avanzar. Recuerda que el subprograma comienza y finaliza de forma distinta que el programa principal y que antes de insertarla en el programa principal hay que ir a Subprograma - Diseño.

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 12. Avance y retroceso.

  Enunciado. Realiza un programa llamado ACTIVIDAD 12 que lleve el robot al origen y que después avance el robot a la posición 2 que dista 145 impulsos, que espere 2 segundos y que retroceda hasta una posición 3 distante 95 impulsos desde el origen. El retroceso se puede hacer directamente sin subprograma. Las posiciones finales (número de impulsos) se fijarán usando la variable VAR11. Comprueba la solución y después ejecuta tu programa para ver el resultado.

  Ayuda. Parte del programa anterior y finalmente guárdalo como actividad 12. Utiliza los subprogramas HOME1 y AVANZAR, y el retroceso hazlo a continuación de los anteriores sin subprograma. Para realizar el retroceso piensa que ahora el motor debe gira en sentido contrario y que en el bloque posición la variable de recuento debe decrementarse en 1 (dirección de recuento -).

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 13. Avances y retrocesos con un mismo subprograma.

  Teoría. Bloques: Comparación

  Enunciado. Realiza un programa llamado ACTIVIDAD 13 que lleve el robot a su origen y desde allí avance el robot a la posición 1 distante 55 impulsos, espere 2 segundos, avance a la posición 2 distante 145 impulsos del origen, espere 2 segundos y retroceda a la posición 3 distante 95 impulsos del origen. Las 3 posiciones se deben alcanzar mediante un único subprograma (POSICIONAR) que detecte si una posición nueva (fijada por VAR11) es igual, mayor o menor que la anterior alcanzada ( guardada en Z2) en cuyo caso no se moverá, avanzará o retrocederá el robot hasta la posición indicada por VAR11. Comprueba la solución y después ejecuta tu programa para ver el resultado.

> Ayuda. Parte del programa anterior y finalmente guárdalo como actividad 13. Utiliza el subprograma HOME1. Cambia el nombre al subprograma AVANZAR por POSICIONAR. Modifícalo de manera que en primer lugar compruebe si la posición nueva VAR11 es igual que la posición anterior Z2, en ese caso no hace nada. A continuación que compruebe que la posición nueva es mayor que la anterior y en ese caso debe avanzar y en caso contrario retroceder.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 14. Ciclo repetitivo con soldadura.

  Teoría. Estructuras: Inicialización variable contador. Contadores.

  Enunciado. Sobre el programa anterior vamos realizar un programa que repita el ciclo completo desde el origen y vamos a sustituir el tiempo de espera se 2 segundos por un subprograma (SOLDAR) que durante los 2 segundos simule el efecto de soldar creando una intermitencia que encienda 0,1 segundos la lámpara (M2) y la apague otros 0,1 segundos. (Para el contador de soldadura utiliza la VAR 4). Guarda el programa como ACTIVIDAD 14. Comprueba la solución y después ejecuta tu programa para ver el resultado.

> Ayuda. En un ciclo después de cada HOME hay que poner a cero la variable contador de impulsos. El subprograma SOLDAR tiene que tener una estructura de contador con un bloque decisión que compruebe si la variable contador VAR 4 ha alcanzado los 20 destellos.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 15. Arranque por pulsador.

  Teoría. Bloques: Flanco

> Enunciado. Crea un programa de nombre ACTIVIDAD 15 que emita un pitido durante 1 segundo después de presionar y soltar un pulsador NA (E8). Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

> Ayuda. El programa puede hacerse con dos funciones Flanco o con dos funciones comparación de entrada por pulsador. Recuerda que el pulsador se encuentra conectado a la Entrada 8.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 16. Ciclo de completo de soldadura con arranque por pulsador.

  En este programa se pretende que el robot realice el ciclo completo de soldadura de la actividad 14 cuando nosotros lo iniciemos a voluntar presionando y soltando el pulsador de encendido.

  Enunciado. Abre el programa ACTIVIDAD 15 y crea un subprograma llamado ARRANQUE basado en el programa de la actividad 15 en el que eliminaras el pitido. A continuación inserta este subprograma al comienzo del programa principal para que el robot no se ponga en funcionamiento hasta que el pulsador no se haya presionado y soltado. Guárdalo con el nombre ACTIVIDAD 16.Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

  Ayuda. Para crear la subrutina copia y pega la ACTIVIDAD 152 y realiza los cambios necesarios y después recuerda que hay que hacer un diseño del subprograma..

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 17. Barrera de seguridad.

  Enunciado. Realiza un programa llamado ACTIVIDAD 17 que ponga en funcionamiento una barrera óptica formada por una lámpara conectada a la salida M3 y un fototransistor conectado a la entrada E3, y que cuando se interrumpa emita un pitido durante 3 segundos y haga una parada de seguridad. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

  Ayuda. Antes de que el fototransistor empiece a preguntarse si se ha interrumpido el haz o no, es necesario estabilizar el sistema encendiendo la lámpara 1 segundo antes. Cuando se interrumpa el haz hay que hacer una parada de seguridad con un bloque especial llamado parada de emergencia que se ejecutará al cumplir una condición (ejemplo VAR3 =1)

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

- ### Actividad 18. ROBOT DE SOLDADURA CON BARRERA DE SEGURIDAD.

  Teoría. Bloques: Parada de emergencia

  Enunciado. Este es el programa definitivo y engloba a todos ellos. Se trata de que el robot realice el ciclo de soldadura completo partiendo desde la posición de reposo, cuando se presione el pulsador y que lo realice hasta que alguien interrumpa la barrera óptica de seguridad, momento en el cual se para toda la instalación por motivos de seguridad. Una vez creado guárdalo como ROBOT DE SOLDADURA. Comprueba la solución y después ejecuta tu programa para comprobar el resultado.

  Ayuda. Abre el programa ACTIVIDAD 16 y copia dentro de él el programa ACTIVIDAD 17. El programa resultante ROBOT DE SOLDADURA tendrá dos inicios que se ejecutarán paralelamente.

  Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

  Programa. Arranca el programa correspondiente a la solución.

  ¿Habrías sabido hacer esta actividad sin necesidad de hacer las anteriores?.

- ### Actividad 19. Ciclo completo con programación orientada al estado.

  Teoría. Estructuras: Programación orientada al estado

  Enunciado. Vuelve a realizar el programa de ala actividad 14 mediante una programación orientada al estado. Es decir, los subprogramas HOME1, POSICIÓN y SOLDAR solo aparecerán una vez en el programa y se accederá a ellos en función de una variable (VAR1) que vaya marcando los distintos estados:

  - Estado 0.- Origen.
  - Estado 1.- posición 1
  - Estado 2.-soldar
  - Estado 3.- posición 2
  - Estado 4.- soldar
  - Estado 5.- posición 3
  - Estado 6.- soldar
  - y vuelta a empezar.

> Ayuda. Abre el programa ACTIVIDAD 14 que ya tiene creados los subprogramas y realiza el programa correspondiente. Utiliza la VAR1 como variable para fijar los estados.

> Solución. Si ya tienes una solución comprueba el resultado, si después de mucho intentarlo no logras dar con la solución pincha y trata de comprenderla, si aun sigues sin comprenderlo avisa a tu profesor/a.

> Programa. Arranca el programa correspondiente a la solución.

- ## ACTITUDES.

  - Interés por el mundo de la robótica.
  - Orden y precisión en los montajes.
  - Valorar la importancia que supone el dividir una gran tarea en pequeñas tareas.

- ## EVALUACIÓN.

Los procedimientos de evaluación consistirán en una auto evaluación en la que el alumno mediante una ficha vaya reflejando los fallos que encuentra e indicando las actividades que resuelve correctamente. Todo ello se completará con una pequeña prueba objetiva consistente en realizar un pequeño programa basado en alguna de las actividades presentadas durante la unidad.