ROBOT MANIPULADOR SERVOCONTROLADO VERSION 1.0

Anuncio
ROBOT MANIPULADOR SERVOCONTROLADO
VERSION 1.0
ANUBIS ORESTE ARANDA MARRUGO
ARIEL MAURICIO CAICEDO LINARES
Universitaria de Santander (UDES)
Lagos del Cacique
[email protected]
[email protected]
Bucaramanga
Abstract: Este proyecto es realizado con el fin de iniciar la investigación formal en el área
de la robótica aplicada a la automatización de procesos; para tal cometido se creará un
robot manipulador servocontrolado, el cual le dará las posibilidades a la comunidad de
estudiantes del UDES de realizar prácticas de laboratorio con el fin de establecer
conceptos básicos y avanzados en los temas de cinemática inversa y cinemática directa,
conocimientos técnicos sobre servomotores y además la familiarización de la
programación de microcontroladores (PIC), entre otros temas anexos.
Keywords: Automatización, Control, Microprocesadores, Diseño de los automatismos de
sistemas mecatrónicos, Mantenimiento electrónico e instrumentación industrial.
1.
INTRODUCCIÓN
A medida que se ha ido mejorando la tecnología, se
han desarrollado máquinas especializadas para tareas
como poner tapones a las botellas o verter caucho
líquido en moldes para neumáticos. Sin embargo,
ninguna de estas máquinas tenía la versatilidad del
brazo humano, y no podía alcanzar objetos alejados y
colocarlos en la posición deseada. La mayoría de los
robots existentes en nuestros días son aquellos
utilizados en la industria, llamados robots
industriales,
los
cuales
están
constituidos
generalmente por uno o dos brazos.
La palabra robot se define como una máquina
controlada por un ordenador y programada para
moverse, manipular objetos y realizar trabajos a la
vez que interacciona con su entorno. Los robots son
capaces de realizar tareas repetitivas de forma más
rápida, barata y precisa que los seres humanos. El
término procede de la palabra checa robota, que
significa 'trabajo obligatorio'. Desde entonces se ha
empleado la palabra robot para referirse a una
máquina que realiza trabajos para ayudar a las
personas a efectuar tareas difíciles o de riesgo para
los humanos. Mientras tanto la robótica se define
como la rama de la inteligencia artificial que estudia
los sistemas automáticos capaces de establecer una
interacción directa con el mundo físico.
El presente proyecto consistirá en crear un robot
manipulador servocontrolado, con la capacidad de
ubicar la pinza en cualquier punto de un eje de
coordenadas preestablecido, basado en el estudio y
desarrollo de la Cinemática Directa y la Cinemática
Inversa, además este podrá seleccionar objetos
cilíndricos de dos colores (blanco y negro) y
depositarlos en un contenedor previamente
especificado, sumándole a esto la posibilidad de que
el usuario por medio de una interfaz grafica (GUI),
podrá saber en todo momento la posición del efector
final (Pinza), en el sistema de coordenadas
previamente definido, cuya finalidad es contribuir
como herramienta de laboratorio y material de apoyo
al estudio de la Robótica
2.
JUSTIFICACION DEL PROYECTO
El proyecto de diseño, construcción y control de un
brazo robot manipulador servocontrolado, en el cual
se contempla el fortalecimiento de las áreas de mayor
cobertura y desarrollo tecnológico, donde están
incluidas las estructuras curriculares: Diseño de los
automatismos
de
sistemas
mecatrónicos,
Mantenimiento electrónico e instrumentación
industrial, soldadura y máquinas herramientas, dado
que se hace necesario adelantar una transformación
en los ambientes educativos que faciliten la
formación y certificación por competencias laborales.
Además con este proyecto se busca impulsar nuevos
proyectos de investigación sobre esta área y
semilleros de investigación.
Fig. 1 Señal de PWM
Existen muchas maneras para generar una señal de
PWM, pero en este proyecto se genero mediante un
microcontrolador utilizando dos temporizadores y un
comparador, los cuales trabajan en conjunto; para el
envió y recepción de datos, se usaron las
interrupciones a cargo de esta tarea, y dedicando el
microcontrolador únicamente a esta operación.
Para la generación de la señal de PWM, se diseño
un esquema que consiste en insertar el ciclo activo
de todos los servomotores seguido uno tras otro; de
tal forma que los ciclos activos quedarán dentro del
periodo de la señal de PWM; dicho periodo fue
para este caso de 20 ms y cuya frecuencia es
correspondiente a 50Hz frecuencia en la cual se
deben trabajar los servomotores (Ver figura 2).
Fig. 2 Señal de Control de los Servomotores
Descrita la forma en que se deben generar las
señales de PWM, se procedió a diseñar el software
del microcontrolador, para esta tarea se utilizaron 2
timer y el CCP1 o modulo de comparación del
microcontrolador.
3. CONTROL
El control del robot se realiza mediante un
microcontrolador PIC 16F877, el cual estará
programado para generar la señal de PWM (Pulse
Width Modulation) que es lo mismo "Modulación
por Anchura de Pulso", dicha señal es necesaria
para el control de los servomotores (Ver figura 1).
Este sistema consiste en generar una onda cuadrada,
donde se varia el tiempo que el pulso esta a nivel
alto, manteniendo el mismo periodo, con el objetivo
de modificar la posición del servo según se desee.
Antes se debe dar una breve descripción tanto de
los timers como del modulo comparador; primero
se escogió el timer2, el cual es un contador de 8 bits
que puede operar tanto como contador como
temporizador para esta aplicación se opto por el
segundo modo descrito anteriormente, este será el
encargado de llevar la temporización del periodo
del PWM que es de 20 ms; ahora para llevar la
cuentas del ciclo activo se usa un modulo
comparador CCP1, el cual consiste en programarle
unos valores deseados a unos registros especiales
de dicho modulo, una vez realizada esta tarea, se
inicializa el timer1, es cual es otro contadortemporizador, pero de una resolución de 16 bits,
esto lo hizo ideal para el control de los
servomotores puesto que influye en gran escala en
la precisión de los mismos, este timer1 tiene ligado
su funcionamiento al comparador CCP1, porque
cuando el valor de la temporizacion se haga igual al
valor almacenado previamente en los registros del
comparador CCP1, este generara una señalización o
una interrupción si es necesario, valiéndose de esta
propiedad se obtiene un control preciso sobre el
ciclo activo del PWM.
Cuando son recibidos los datos procedentes del
computador, estos son pasados a la memoria RAM
del microcontrolador, estos datos que no son mas
que valores hexadecimales y contienen los valores
que deben ser asignados al modulo comparador
CCP1, para llevar las cuentas del ciclo activo de
cada uno de los servomotores.
Se inicia la generación del PWM, con el ciclo
activo del servomotor de la base, una vez este
termina se inicia el ciclo activo del hombro luego el
del codo y así sucesivamente hasta terminar con el
de la pinza; cuando todos han terminado su ciclo
activo se espera a que se genere la interrupción del
timer2, una vez generada la interrupción un periodo
ha terminado y comienza de nuevo el proceso, cabe
aclarar que la rutinas de generación de PWM,
aparte de lo explicado anteriormente poseen unas
subrutinas de regulación de velocidad del
movimiento de cada servomotor, cuya misión es
incrementar o decrementar el ciclo activo de cada
uno de los servomotores, valiéndose de un estado
anterior y desplazandolo a una nueva posición
(nuevo estado) (Ver Anexo Diagrama de Control
del Microcontrolador).
4. ALCANCE
Este
proyecto
denominado
Manipulador
servocontrolado fue creado inicialmente con fines
didácticos para el aprendizaje de la robótica, rama de
gran importancia hoy en día en el área de la
automatización, además este se podría trabajar en la
parte de instrumentación, sistemas virtuales de
control por computador y para la parte clínica
quirúrgica, ya que este robot manipulador cuenta con
una alta resolución y torqué en cada movimiento y su
sistema de control puede ser llevado a cabo mediante
vía inalámbrica cable directo o vía ethernet o
cualquier medio de comunicación eléctrica existente.
En el área de la informática la elaboración del
software para la formación virtual se fundamentará
en software de última generación. El desarrollo y
simulación de sistemas se soporta en matlab con
simulink, proteus, pic c compiler, labview y visual
Basic entre otros.
Además con este proyecto se dará un enfoque
concreto en las herramientas matemáticas para el
estudio de la robótica, herramientas tales como
Cinemática Inversa y Cinemática Directa.
Como aportes subsecuentes se tienen el diseño y
creación del circuito impreso en un software
especializado en diseño asistido por computador
(CAD), también habrá un enfoque en lenguajes de
alto nivel (Visual Basic), y lenguajes de
programación a bajo nivel (Assembler).
El trabajo debe contener los siguientes elementos:
Introducción. Para explicar el trabajo, las
aplicaciones, naturaleza y propósito del artículo.
Cuerpo. Contiene el mensaje primario, la validación
de las técnicas descritas.
Conclusiones.
Reconocimientos (opcional).
Referencias. Se ordenan alfabéticamente por el
primer autor.
Apéndices (opcional).
X. CONCLUSIONES
Este proyecto se diseño con el fin de
implementar semilleros de investigación en esta
área, además de impulsar a los estudiantes al
estudio de la robótica ya que este es un área
poco trabajada por lo que no se cuentan con
prototipos en el cual practicar.
Una de las cosas mas interesantes del proyecto fue
poder generar las señales de PWM por software y
así facilitar el control y abaratar el costo del
proyecto, así como almacenar los datos en la
memoria EEPROM y no ocupar una memoria
externa, también facilito el control y abarato costos.
REFERENCIAS
BARRIENTOS, Antonio. PEÑIN, Luis Felipe.
BALAGUER, Carlos. Edit. Mc Graw Hill
Interamericana Editores S.A de C.V. 1997.
http://www.datasheetarchive.com
http://www.microchip.com
http://www. Linxmotion.com
ANEXOS
Diagrama de bloques del Sistema
INICIO
Posición neutra
Generar PWM
No
Datos a
Recibir
Recepción de valores
Cinemáticas
Iniciar Cinemáticas
Demo
Recepción de valores
Iniciar Cinemáticas
Sensor
Transmite Color
Iniciar Cinemáticas
Setear Valores
Generar PWM
Regulado
Retorna
Leer Color
Iniciar Demo
Blanco o
Negro
Setear Valores pinza arriba
abierta
Generar PWM
Regulado
Setear Valores
contenedor derecho
Setear Valores
contenedor izquierdo
Setear Valores pinza arriba
Cerrada
Terminó
Setear Valores pinza abajo
abierta
Generar PWM
Regulado
Generar PWM
Regulado
Terminó
Setear Valores pinza abajo
cerrada
Generar PWM
Regulado
Terminó
Setear Valores pinza abajo
Cerrada
Generar PWM
Regulado
Terminó
Setear Valores pinza abajo
abierta
Generar PWM
Regulado
Terminó
Terminó
Setear Valores pinza arriba
abierta
Setear Valores pinza arriba
cerrada
Generar PWM
Regulado
Terminó
Retornar
Descargar