Automatización de un Brazo Robot de Tres Grados de Libertad
Transcripción
Automatización de un Brazo Robot de Tres Grados de Libertad
15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO Automatización de un Brazo Robot de Tres Grados de Libertad utilizando un Microcontrolador PIC16F84A. J. Z. García Cortés más alta, con la pinza abierta exactamente encima de la banda transportadora. Un operario humano carga manualmente un objeto sobre la banda transportadora y después presiona un botón de inicio. Por motivos de seguridad, conviene que mientras el operador mantiene presionado el botón de inicio, la banda transportadora avanza hasta colocar el objeto debajo de la pinza abierta del brazo robot. A partir de este instante inicia un proceso automático que consiste en lo siguiente: La banda transportadora se detiene hasta que inicie un nuevo ciclo. En el momento que el sistema detecta un objeto en posición correcta sobre la banda transportadora, el brazo baja y cierra la pinza tomando el objeto, luego el brazo sube y gira en el sentido de las manecillas del reloj 180°. Al llegar a ese punto el brazo baja y la pinza abre soltando el objeto en un depósito. Finalmente el brazo vuelve a subir y regresa a la “Posición de reposo” girando en sentido contrario a las manecillas del reloj. Resumen— En este trabajo se presenta una solución para automatizar un proceso con un brazo robot de diseño propio. La secuencia de movimientos del brazo robot se programó en un PIC16F84A. El programa y los circuitos funcionaron de forma adecuada. Palabras Clave— Microcontrolador. Automatización, Brazo Robot, Abstract— In this paper a solution is presented to automate a process with own design a robot arm. The sequence of movements of the robot arm it was programmed on a PIC16F84A. The program and the circuit worked properly. Keywords— Automation, Robot Arm, Microcontroller. I. INTRODUCCIÓN E n el presente trabajo se propone una solución para automatizar un brazo robot de forma que realice una tarea simple y repetitiva. En el Laboratorio de la Carrera de Ingeniería Electromecánica del Instituto Tecnológico Superior Zacatecas Norte, se cuenta para fines didácticos con un brazo robot de diseño propio el cual posee tres grados de libertad: a) Giro del brazo de 360 grados, b) Movimiento alternativo del brazo (sube-baja), y c) Movimiento de pinza (abre-cierra). Cuenta además con una banda transportadora capaz de acercar objetos al alcance del brazo robot. Una especificación general de un brazo robótico comprende: sus grados de libertad, su configuración y su cinemática directa e inversa. [1]. Tomando en cuenta que la mayoría del equipo robótico dentro de un área académica y de investigación son de tipo industrial o comercial. [2]. En la Figura 1 se muestra una fotografía del sistema. El proceso que se desea automatizar es el siguiente: Al inicio el brazo se encuentra en una llamada “posición de reposo”, cuyas condiciones son: el brazo robot arriba en su posición Figura 1.- Fotografía del brazo robot En la Figura 2 se muestra una fotografía de la pinza. Julio Z. García C. Pertenece al Departamento de Ingeniería Electromecánica del Instituto Tecnológico Superior Zacatecas Norte. Zacatecas, MEX (e-mail: [email protected]). El Autor agradece al Instituto Tecnológico Superior Zacatecas Norte el apoyo para realizar este trabajo. México D.F., 19 al 23 de octubre 2015 Figura 2.- Fotografía de la pinza 1 15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO Para realizar sus movimientos el brazo robot cuenta con cuatro motores de 12 V de corriente directa, obtenidos de partes de automóviles, por lo que su consumo de amperaje varía de un motor a otro. Uno de los principales problemas a resolver fue encontrar una forma de suavizar los movimientos bruscos de gran velocidad y potencia que se generan al energizar los motores, sobre todo en el movimiento de giro del brazo y la velocidad excesiva de la banda transportadora. En ambos casos, la dificultad consiste en que cuando el sensor detecta la posición deseada, el movimiento continúa a causa de la inercia, impidiendo que exista la precisión necesaria para establecer la secuencia de pasos requerida para automatizar el proceso. Para resolver los problemas y lograr la automatización del brazo robot, se pensó en utilizar temporizadores monoestables, temporizadores astables y un conjunto de sensores, en combinación con un microcontrolador PIC16F84A, para enviar señales de control a una placa de potencia que energice los motores. B. Sensores Se utilizó un interruptor momentáneo, normalmente abierto para que el operador proporcione manualmente la señal de inicio de cada ciclo. En la Figura 8 se indica como S1. Para detectar cuando el objeto llega a la posición correcta debajo de la pinza del brazo robot, se utilizó un sensor final de carrera de bajo esfuerzo. En la Figura 8 se indica como FC1. Un sensor final de carrera con rodaja se utiliza para detectar si el brazo robot está arriba (sube) o si está abajo (baja). En la Figura 9 se señala como FC2. Un sensor final de carrera se instaló en la pinza para detectar si está abierta o cerrada. En la Figura 9 se indica como FC3. Finalmente, dos sensores reflectivos QRD1114 se utilizan para detectar la posición de giro del brazo robot. Dichos sensores se instalaron fijos debajo de un disco con un área negra y otra blanca, acoplado al plato giratorio del brazo robot. En la Figura 9 se indican como SR1 Y SR2. C. Descripción del PIC16F84A Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea [3]. El PIC16F84A pertenece a la gama media, posee una arquitectura tipo Harvard y es de tipo RISC; tiene un juego de 35 instrucciones con palabras de 14 bits. Tiene una memoria de programa de 1024 palabras, 68 bytes de RAM y 64 bytes de EEPROM. En la Figura 5 se muestra el diagrama de conexión estándar para este microcontrolador. II. MATERIALES Y MÉTODOS A. Circuitos Temporizadores Se utilizaron dos configuraciones de circuitos temporizadores implementados con el circuito integrado NE555. En la Figura 3 se muestra la configuración de oscilador monoestable y en la Figura 4 se muestra la configuración de oscilador astable. Figura 3.- C.I. NE555 configurado como oscilador monoestable Figura 5. Diagrama de conexión característico para el PIC16F84A. Figura 4.- C.I. NE555 configurado como oscilador Astable México D.F., 19 al 23 de octubre 2015 2 15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO III. DESARROLLO B. Etapa de potencia Cada motor se energiza mediante una etapa de potencia como la mostrada en la Figura 6. A. Simbología utilizada En la Tabla 1 se proporciona una definición de los símbolos utilizados en el desarrollo de este trabajo. Tabla 1.- Simbología utilizada. Símbolo SW1 VCC1 VCC2 FC1 FC2 FC3 SR1 SR2 S1 RA0 RA1 RA2 RA3 RA4 RB0 RB1 RB2 RB3 RB4 Definición/Significado Interruptor de encendido. Salida de fuente regulada de 5 V para alimentación general. Salida de fuente regulada de 5 V exclusiva para el PIC16F84A. Interruptor final de carrera de bajo esfuerzo, detecta cuando un objeto llega al final de la banda transportadora. (Cero – No hay objeto; Uno – Si hay objeto) Interruptor final de Carrera en el brazo, detecta cuando está arriba o abajo. (Cero – Arriba; Uno – Abajo) Interruptor final de Carrera en la pinza, detecta cuando está abierta o cerrada. (Cero – Abierta; Uno – Cerrada) Sensor reflectivo QRD1114 detecta cuando el brazo está en la posición de giro 1. (Cero – Área negra; Uno – Área blanca) Sensor reflectivo QRD1114 detecta cuando el brazo está en la posición de giro 2. (Cero – Área negra; Uno – Área blanca) Botón pulsador que activa el encendido la banda transportadora. Entrada al PIC16F84A del sensor FC1 Entrada al PIC16F84A del sensor FC2 Entrada al PIC16F84A del sensor FC3 Entrada al PIC16F84A del sensor SR1 Entrada al PIC16F84A del sensor SR2 Salida del PIC16F84A que activa el movimiento sube – baja del brazo Salida del PIC16F84A que activa el movimiento en reversa de la pinza (abre) Salida del PIC16F84A que activa el encendido de la pinza (cierra) Salida del PIC16F84A que activa el movimiento en reversa de giro del brazo. (Contrario a las manecillas del reloj) Salida del PIC16F84A que activa el encendido de giro del brazo. (En dirección de las manecillas del reloj) México D.F., 19 al 23 de octubre 2015 Figura 6. Diagrama del circuito de una etapa de potencia. Como puede observarse, cada etapa de potencia está conformada por dos relevadores y dos transistores. Para activar el encendido del motor, así como para activar el giro en reversa, se requiere de señales digitales, por lo que este diseño es compatible con cualquier dispositivo capaz de proporcionárselas. La ventaja de utilizar relevadores es que su precio es prácticamente el mismo que cualquier otro dispositivo para manejar potencia; para este caso, se eligió uno con capacidad de 10 amperes, por lo que puede operar cualquier motor que no supere este parámetro. De igual forma, el relevador de dos polos y dos tiros empleado para hacer funcionar el motor en reversa también tiene capacidad para 10 amperes. C. Fuentes de Alimentación Se diseñaron dos fuentes de alimentación independientes. Una para energizar el PIC16F84A (VCC2) y la otra para energizar el resto de los circuitos (VCC1). En la Figura 7 se muestra el diagrama. Figura 7. Fuentes de alimentación. Las fuentes de alimentación cuentan con un interruptor general (SW1) y un fusible. El voltaje de salida está regulado mediante el componente LM7805. El voltaje de 12 V proviene de una fuente diseñada aparte y está integrada a la bancada que sostiene el brazo robot. 3 15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO D. Circuito de inicio El circuito de inicio se muestra en la Figura 8. El operador debe mantener presionado el botón S1 hasta que la banda transportadora coloque el objeto en la posición correcta. Al llegar a dicha posición, el propio objeto acciona el interruptor final de carrera de bajo esfuerzo FC1, de forma que al mismo tiempo que desactiva el temporizador astable que mueve la banda, envía una señal digital verdadera a la terminal 17 del PIC16F84A (Entrada RA0) indicándole que debe iniciar un ciclo de trabajo. Figura 10.- Diagrama del PIC16F84A y sus salidas Por otra parte, los movimientos de la pinza y el giro del brazo robot si requieren de activarse en reversa. Las salidas del PIC16F84A proporcionan las señales de control para los cinco posibles movimientos diferentes del brazo. Ahora bien, nótese que en las salidas que gobiernan el encendido de los motores que accionan la pinza y el giro del brazo, se dispuso un oscilador astable que envía un tren de pulsos para suavizar los movimientos y dar tiempo a los sensores de detectar la posición antes que la inercia impida establecer el estado preciso del brazo. Para que esto fuera posible, se utilizaron dos compuertas lógicas inversoras a manera de buffer para que la corriente que energiza los osciladores astables no la proporcione el propio PIC16F84A, sino las fuentes que alimentan a las compuertas inversoras. Los periodos y los ciclos de trabajo de los osciladores astables de esta etapa fueron optimizados a través de pruebas experimentales en sitio. Esto fue particularmente importante en el caso del giro del brazo ya que energizándolo en lazo abierto tiene una velocidad desmesurada. En cuanto a la programación del PIC16F84A, se realizó mediante una tabla de verdad binaria, programada mediante la función retlw misma que sirve para llamar la palabra binaria grabada en la memoria ROM que corresponde a la palabra binaria que esté activa en la entrada en cada ciclo de programa. Una tabla de datos en la memoria ROM de programa es una lista de constantes que el programa puede recoger mediante la instrucción retlw [4]. Los valores de las constantes están grabados y no se pueden alterar. La única manera de alterar una tabla ROM es volver a grabar el microcontrolador [4]. A cada uno de los 32 posibles estados de entrada le corresponde uno de salida. En la Figura 11 se muestra el programa donde viene incluida la tabla de verdad utilizada. Figura 8.- Diagrama del circuito de inicio Nótese que a la salida del temporizador astable se obtiene un tren de pulsos diseñado para que la velocidad de la banda transportadora sea óptima, lo cual se determinó mediante una serie de pruebas experimentales. Asimismo, cabe señalar que aunque por descuido el operador mantenga el botón S1 presionado, no existe ningún riesgo pues la banda transportadora permanecerá detenida por lo menos hasta que el brazo robot retire el objeto regresando FC1 a su estado normal. E. Sensores para los tres grados de libertad En la Figura 9 se muestra el diagrama de los circuitos para detectar el estado de los tres grados de libertad que tiene el brazo robot. Figura 9. Diagrama de los sensores para el brazo robot. F. Circuito y Programa para el PIC16F84A En la Figura 10 se muestra el diagrama del PIC16F84A con las salidas que activan los movimientos del brazo. Es preciso señalar que el movimiento sube-baja del brazo robot no requiere de reversa, ya que el motor esta acoplado a un mecanismo manivela-balancín que al girar en un solo sentido hace subir y bajar el brazo robot. México D.F., 19 al 23 de octubre 2015 4 15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO Figura 12.- Diagrama de tiempos de la automatización del brazo. V. CONCLUSIONES Este trabajo representa un primer intento para automatizar un proceso didáctico con el brazo robot del que dispone la carrera de Ingeniería Electromecánica del ITSZN. El brazo robot es un diseño propio construido prácticamente con materiales de desecho. En este caso particular, los motores tienen diferentes consumos de corriente por lo que representó una ventaja la etapa de potencia diseñada para proporcionarles la energía requerida. La constitución física de la mayor parte de estos manipuladores guarda cierta similitud con la anatomía de las extremidades superiores del cuerpo humano, por lo que, en ocasiones, para hacer referencia a los distintos elementos que componen al robot, se usan términos como: cintura, hombro, brazo, codo, muñeca, etc. [5]. Por ello, otra ventaja de la automatización realizada para el brazo robot, es el desarrollo tecnológico alcanzado con la intención didáctica de interesar e involucrar a más personas en el desarrollo de soluciones integrales similares. Los circuitos electrónicos diseñados, así como la programación del PIC16F84A tienen un desempeño aceptable. Con este trabajo se abre en el ITSZN un abanico de nuevas ideas y posibilidades para continuar trabajando en la automatización del brazo robot utilizando diferentes dispositivos y componentes de forma que se mejore el desempeño de la solución aquí propuesta. Figura 11.- Programa para el PIC16F84A IV. RESULTADOS Se realizaron pruebas en sitio al sistema automatizado, las cuales resultaron satisfactorias. Una gran ventaja de la solución propuesta es que el movimiento de la banda transportadora no depende de las señales de control del PIC16F84A, sino que únicamente se puede operar manualmente por un operario humano, esto lo obliga a permanecer atento al avance del objeto hasta que éste llega a la posición donde el brazo inicia el proceso de traslado de forma automática, lo anterior ayuda a evitar accidentes y aumenta la seguridad durante su operación, ya que el objeto al accionar el interruptor FC1 desconecta el paso de corriente al circuito que envía la señal para que la banda transportadora se mueva. Para todos los circuitos diseñados se fabricaron placas de circuito impreso para soldar los componentes y evitar falsos contactos, muy comunes en las implementaciones de circuitos electrónicos en tablillas de experimentación protoboard. En la Figura 12 se muestra el diagrama de tiempos del funcionamiento del brazo robot. México D.F., 19 al 23 de octubre 2015 VI. AGRADECIMIENTOS El autor agradece al Instituto Tecnológico Superior Zacatecas Norte, por el apoyo brindado. VII. REFERENCIAS [1] Schilling, R. J., Fundamentals of Robotics: Analisys and Control. Englewood Cliffs, N.J., Prentice-Hall, 1990. [2] Parra, J. C., Cid, K. P., Implementación de Robot Scorbot er-vplus, para docencia, en realidad virtual, Revista Digital Universitaria UNAM, Vol. 8, Núm. 5, ISSN: 10676079, 2007. [3] Angulo, J. M. y Angulo, I., Microcontroladores «PIC». Diseño práctico de aplicaciones. Primera parte: El PIC16F84. Lenguajes PBASIC y Ensamblador, Ed. Mc Graw Hill, 3ª ed., España, 2003, Pág. 1. 5 15vo CONGRESO NACIONAL DE INGENIERÍA ELECTROMECÁNICA Y DE SISTEMAS (CNIES 2015) ARTÍCULO No. IE-12 ARTÍCULO ACEPTADO POR REFEREO [4] Palacios, E., Remiro, F. y López, L. J., Microcontrolador PIC16F84, Desarrollo de Proyectos, Ed. Alfaomega, 2ª ed., México, 2006, Pág 157-160. [5] Martínez, A., Gloria, M., Jáquez, O., Sonia, A., Rivera, M. J., and Sandoval, R., Diseño Propio y Construcción de un Brazo Robótico de 5 GDL, Revista de Ingeniería Eléctrica, Electrónica y Computación, Vol. 4, Núm. 1, México, ISSN 1870- 9532, pp. 9-15, 2008. VIII. BIOGRAFÍA Julio Zenón García Cortés. Nació en la Ciudad de México, México, el 23 de Junio de 1969. Tiene 46 años. Sexo Masculino, Nacionalidad Mexicana. En Enero de 2000, se gradúo como Ingeniero Electromecánico en el Instituto Tecnológico Superior Zacatecas Norte. En Diciembre de 2002 obtuvo el Grado de Maestro en Ciencias en Ingeniería Eléctrica en el Instituto Tecnológico de Cd. Madero. Desde Agosto de 2004 trabaja como Profesor en el Instituto Tecnológico Superior Zacatecas Norte. Sus áreas de interés son el Control Automático y la Robótica. e-mail: [email protected] México D.F., 19 al 23 de octubre 2015 6