Antonio López Cruzado. I.E.S. Alfonso VI. Olmedo. Valladolid.
Esta unidad se plantea como un proyecto técnico y se concibe para iniciar al alumno en la programación básica de robots en LLWin.
Una fabrica 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.
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.
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.
Teoría. Dar las instrucciones básicas de montaje. Sobre todo dejar bien claro el método de trabajo a seguir en el montaje basado en control y cuidado de cada una de las piezas.
Después de todo el resultado debería ser el de la figura siguiente:
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.
Describe en tu cuaderno la función de cada elemento dentro del conjunto del robot.
Teoría. Prueba de Hardware.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 cuenteo debe decrementarse en 1 (dirección de contaje -).
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.
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. Modificalo 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.
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.
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.
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.
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.
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?.
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:
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.
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.