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

Documentos relacionados