Sie sind auf Seite 1von 9

Universidad Militar Nueva Granada.

wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 1

Brazo robótico
David santiago Wilches Olarte - Jonatan Alejandro Velasquez Salinas
{1803224, 1803223}@unimilitar.edu.co

I.I. OBJETIVO GENERAL


Resumen—En el presente informe se dio a conocer la
manera en que se realizó el proyecto final del curso de Integrar los conocimientos adquiridos en la
programación III. Este, en nuestro caso, consistió en un brazo asignatura de programación con otros conocimientos
robótico. Durante la realización se tuvieron en cuenta los de mecánica y electrónica para la realización de un
temas tratados en todo el semestre tanto en la parte práctica brazo robótico que permita al usuario desplazar
como en la teórica del curso. objetos de poco peso, controlándolo por medio de
una interfaz gráfica sencilla en Java y permitiendo
Acceder a programas como Neatbeans, Arduino y que se observe de forma virtual el movimiento
SolidWorks dio la posibilidad para la realización y simultaneo de este.
funcionamiento completo del proyecto, cumpliendo así, todos
los objetivos planteados por la guía del laboratorio 5C, que I.II OBJETIVOS ESPECIFICOS
establecía la creación de un prototipo robótico.
• Diseñar una estructura mecánica que nos permita
El brazo esta hecho en acrilicro. Consta de 4 movimientos, observar el desplazamiento del brazo y el
el primero que le da la libertad de moverse en el eje z con movimiento del mecanismo .
libertad, el segundo en el eje x, y uno que le permite rotar
paralelo al eje x, de esta manera poder alcanzar cualquier • Utilizar el programa SolidWorks para plasmar cada
punto ubicado en el plano xyz que se encuentre en el rango de una de las partes del brazo y su ensamble final.
movimiento de nuestro brazo, el movimiento final depende del
cuarto motor que esta ubicado en el exttramo del brazo que • Crear un código en Java junto con la plataforma
nos permitira realizar el agarre, haceindo de este brazo algo Arduino que permita el movimiento del brazo.
funcional para transportar obejetos. El brazo tiene cuatro
motores, un modulo de ardunio, tornillos para su ensamble • Lograr visualizar en el escenario grafico de Java 3D
entre otros componentes. una proyección clara del proyecto y su
funcionamiento simultáneamente con la realidad.
Así, finalmente, se implementó el diseño, la construcción y
el control del brazo. Esto, se llevó a cabo con la ayuda de tres • Dar a conocer cada uno de los factores que influyeron
motores sg90 , y un motor reductor, los cuales fueron en el proceso que se llevó a cabo para la realización
controlados enviando órdenes y procesos orientados desde del proyecto.
Java hacia Arduino, la cual es una plataforma electrónica de
prototipos de código abierto. De esta manera se consiguió el II. INTRODUCCIÓN
movimiento y la realización de las acciones solicitadas por el
usuario logrando un dispositivo sencillo y práctico de Con este proyecto se procuró comprender principalmente la
manipular. utilización correcta del programa Java, junto con los
programas SolidWorks y Arduino, todo esto enfocado a la
Fue diseñado para ser controlado por el usuario por medio creación de un brazo.
de un panel de visualización de ambiente 3D que simule el
proyecto que se está presentando de forma física y real. El brazo se compone de varias partes de suma importancia
para su realización, y el cumplimiento de todos los objetivos
planteados. Estas partes son:
Índice de términos— Actuadores, Arduino, Circuitos,
Diseño, Herencia, Java, Motores, Secuencia, Solidworks, • Una proyección en SolidWorks de cada una de las
brazo. piezas que componen el mecanismo y el ensamble
final.
• Un mecanismo físico hecho con materiales
resistentes y no muy pesados para facilidad del
I. OBJETIVOS desplazamiento del brazo y movimientos para
transportar obejtos, además debe ser impecable no
solo en su aspecto físico sino en su funcionamiento.
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 2

• Un entorno programado por medio de Neatbeans para III.II. PRACTICA LIBRERIA RXTX
la visualización total del proyecto, que además pueda
manejar el carro por medio de botones los cuales se III.II.I. COMUNICACION ENTRE ARDUINO Y
encargan de enviar señales al Arduino y permitir la JAVA
funcionalidad de este.
Arduino y Java son dos avanzadas tecnologías que se
Con base en esto, este informe cuenta con una descripción pueden utilizar para proyectos pequeños como encender
clara del proceso de elaboración utilizado para el diseño
un led u otros grandes como un complejo sistema de
del brazo, el cual debe operar cuatro motores; tres
motores sg90 y uno paso paso. El usuario podrá Domótica. Estos dos entes son independientes, cada uno
manipular su funcionamiento por medio del teclado y de tiene su propio lenguaje de programación. Java necesita
la interfaz gráfica de usuario la cual fue creada en Java. El su JVM para su ejecución la cual aún no puede ser
mecanismo está en la capacidad de realizar cuatro ejecutada desde Arduino.
desplazamientos, la parte brazo realiza movimientos en Hay personas que han dedicado su tiempo a crear
los ejes X y Z, la parte final emplea un motor para rotar máquinas virtuales especiales para microcontroladores.
paralelamnete al eje x pudiendo asi alcanzar objetos Uno de estos proyectos es HaikuVM, el cual permite
ubicados en el eje Y. Finalmente el brazo permite al efectivamente programar Arduino en lenguaje Java. Sin
usuario levantar pequeños objetos por medio la pinza y embargo, el espacio de memoria con el que contamos
transportarlos de un lugar a otro si así lo desea.
para programar se ve drásticamente reducido y según la
III. MARCO TEORICO opinión de algunos usuarios, el performance no es muy
bueno que digamos. Programar Arduino en lenguaje
III.I BRAZO ROBOTICO. Java sí es posible, pero no es eficiente.
Un brazo robótico es un tipo de brazo mecánico, Sin embargo, esto no significa que no podamos crear
normalmente programable, con funciones parecidas a las programas en Java que le envíen instrucciones a Arduino
de un brazo humano; este puede ser la suma total del entregándonos el control de circuitos electrónicos desde
mecanismo o puede ser parte de un robot más complejo. una interfaz en la computadora.
Las partes de estos manipuladores o brazos son
interconectadas a través de articulaciones que permiten III.II.II. COMUNICACIÓN ENTRE ARDUINO Y EL
tanto un movimiento rotacional (tales como los de COMPUTADOR
un robot articulado), como un movimiento traslacional o
desplazamiento lineal. Arduino es una plataforma de prototipos electrónica de
código abierto basada en hardware y software flexibles y
Existen diferentes tipos de brazo robótico, y para fáciles de usar. Este se comunica con la computadora por
este proyecto se decidio realizer un brazo cartesiano, el medio de comunicación serial. Esta es la forma más
cual es Usado para trabajos de “pick and place” (tomar y sencilla que existe entre la computadora y Arduino, ya
colocar), aplicación de impermeabilizantes, operaciones que aprovecha en puerto USB por medio de un
de ensamblado, manipulación de máquinas herramientas convertidor USB-serie.
y soldadura por arco. Es un robot cuyo brazo tiene tres Para la implementacion del proyecto se uso el arduino
articulaciones prismáticas, cuyos ejes son coincidentes uno.
con los ejes cartesianos.

La siguente es una imagen de nuestro propotipo.

figura 2 arduino uno


III.II.III. LIBRERIAS NECESARIAS

Para poder comunicar las aplicaciones creadas en Java


con Arduino se debe utilizar la comunicación serial, lo
cual es muy fácil utilizando las librerías adecuadas.
Figura 1. Brazo.
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 3

Para permitirle a Java establecer comunicación con el III.III JAVA 3D


Puerto Serie se requiere instalar los drivers de la librería
RXTX. Esta librería es una compilación de código que le El API Java 3D es una interface para escribir programas que
permite a los programadores en Java establecer una muestran e interactúan con gráficos tridimensionales. Java 3D
conexión con el puerto serie. Otra librería necesaria es es una extensión estándar del JDK 2 de Java. El API Java 3D
PanamaHitek, la cual fue diseñada especialmente para proporciona una colección de constructores de alto-nivel para
facilitar la comunicación de Arduino y Java a través del crear y manipular geometrías 3D y estructuras para dibujar
esta geometría. Java 3D proporciona las funciones para
puerto serie.
creación de imágenes, visualizaciones, animaciones y
programas de aplicaciones gráficas 3D interactivas.
III.II. IV. DATOS ENVIADOS DESDE ARDUINO A
JAVA El API 3D de Java es un árbol de clases Java que sirven como
interface para sistemas de renderizado de gráficos
Para cada tipo de comunicación existen métodos tridimensionales y un sistema de sonido. El programador
especiales trabaja con constructores de alto nivel para crear y manipular
Se pueden dar tres tipos de situaciones: objetos geométricos en 3D. Estos objetos geométricos residen
1. Cuando se necesita transmitir datos de Java a Arduino en un universo virtual, que luego es renderizado. El API está
2. Cuando se necesita transmitir datos de Arduino a Java diseñado con flexibilidad para crear universos virtuales
precisos de una amplia variedad de tamaños.
3. Cuando se necesita enviar y recibir datos entre
A pesar de toda esta funcionalidad, el API es sencillo de usar.
Arduino y Java Un programa Java 3D crea ejemplares de objetos Java 3D y
Para esto, la librería Arduino para Java posee tres tipos los sitúa en una estructura de datos de escenario gráfico. Este
de conexiones: ArduinoRX(), solamente para recibir escenario gráfico es una composición de objetos 3D en una
datos en Java. ArduinoTX(), solamente para transmitir estructura de árbol que especifica completamente el contenido
datos en Java ArtuinoRXTX(), para transmitir y recibir de un universo virtual, y cómo va a ser renderizado.
datos en Java Los programas Java 3D pueden escribirse para ser ejecutados
Los tres métodos tienen parámetros que se deben como aplicaciones solitarias o como applets en navegadores
establecer a la hora de utilizarlos. En todos hay que que hayan sido extendidos para soportar Java 3D.
establecer el puerto COM al que está conectado Arduino
(ejemplo: “COM6”), el baudRate (que debe ser igual al III.IV GRÁFICO DE ESCENA
establecido en el Serial.begin() en Arduino), un timeOut
(tiempo de espera entre el inicio de la conexión y el Un universo virtual de Java3D es definido por un grafo, que se
envío/recepción de datos) y en algunos casos un conoce como Scene Graph. El Scene Graph es un
SerialPortEventListener para detectar cuando se han ordenamiento de objetos 3D en una estructura de árbol, que se
enviado datos de Arduino a Java. crea instanciando objetos de las clases de Java3D. Con este
Cuando es necesario enviar datos de Arduino a Java, se grafo se define la geometría, sonido, luz, ubicación,
orientación y apariencia de objetos visuales y de sonido.
utiliza un SerialPortEventListener, el cual requiere de la
Los nodos, generalmente se relacionan de la forma 'padre-
implementación de un método abstracto, SerialEvent(). hijo', pero también existe otro tipo de relación, las
El SerialEvent() se ejecuta cada vez que se recibe un 'referencias'. Esta relación asocia un Nodo Componente con un
dato en el Puerto Serie. Los datos en el Puerto Serie se nodo del Scene Graph. Un Nodo Componente define la
reciben carácter por carácter, lo que significaría un geometría y la apariencia usada para mostrar los objetos
problema ya que, si enviamos un mensaje de texto, visuales.
recibiremos el mensaje letra a letra. Usando el método El camino de cada Scene Graph define completamente la
ReceiveData() obtenemos estos caracteres. Sin embargo, información del estado de la hoja, es decir, la ubicación,
también existe el método MessageAvailable() que orientación y tamaño del objeto.
devuelve un valor true cuando se haya finalizado la La representación gráfica de un Scene Graph sirve como
herramienta de diseño y/o como documentación para
recepción de cualquier mensaje enviado desde Arduino
programas Java3D.
con el método Serial.println().
Cuando el método MessageAvailable() devuelve un Los símbolos son:
valor true, entonces se recibe el mensaje con
PrintMessage(). El mensaje será recibido como un String
y podrá ser usado como desee el usuario dentro de Java.
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 4

El servomotor es un motor eléctrico lleva incorporado un


sistema de regulación que puede ser controlado tanto en
velocidad como en posición.
Es posible modificar un servomotor para obtener un
motor de corriente continua que, si bien ya no tiene la
capacidad de control del servo, conserva la fuerza,
velocidad y baja inercia que caracteriza a estos
dispositivos.

Usamos el mg 90, que gracias a su piñoneria metalica


Imagen 3. Scene Graph nos ofrce mas torque fortaleciendo los movimientos del
https://www.google.com.co/search?q=simbolos+grafico+java+3D&source=ln brazo.
ms&tbm=isch&sa=X&ved=0ahUKEwjcyaXvqtLXAhVJ52MKHdLsDZkQ_
AUICigB#imgrc=Jr8UTbCohQUGXM
.
III.V MOTORES

III.V.I MOTORES PASO A PASO

Los motores paso a paso tienen un comportamiento del todo


diferente al de los motores de corriente continua. En primer
lugar, no giran libremente por sí mismos. Los motores paso a
paso, como lo indica su nombre, avanzan girando por
pequeños pasos. También difieren de los motores de CC en la
relación entre velocidad y torque (un parámetro que también
es llamado "par motor" y "par de giro"). Los motores de CC
no son buenos para ofrecer un buen torque a baja velocidad sin
la ayuda de un mecanismo de reducción. Los motores paso a figura 5 motro mg90
paso, en cambio, trabajan de manera opuesta: su mayor
capacidad de torque se produce a baja velocidad.
La conmutación se debe manejar de manera externa con un DESARROLLO
controlador electrónico y, típicamente, los motores y sus El proyecto mecatrónica consistió en la construcción y control
controladores se diseñan de manera que el motor se pueda de un vehículo con ruedas. Para la realización de este se
mantener en una posición fija y también para que se lo pueda tuvieron en cuenta los siguientes aspectos:
hacer girar en un sentido y en el otro. 1. Proceso mecánico
2. Proceso electrónico
3. Proceso computacional
A continuación, se explicarán cada uno de los procesos y el
resultado final.
1. Proceso mecánico

Como primera instancia se realizaron las piezas


necesarias para la creación del brazo, en el programa
SolidWorks. A continuación, se muestran algunas de
estas piezas con sus respectivas medidas. (Figuras 1,
Imagen 4. Motores paso a paso 2, 3, 4,5)
http://robots-argentina.com.ar/img/MotorPP.jpg

III.V.I MOTORES mg90


Un servomotor (también llamado servo) es un
dispositivo similar a un motor de corriente continua que
tiene la capacidad de ubicarse en cualquier posición
dentro de su rango de operación, y mantenerse estable en
dicha posición.
Figura 6. Brazo prototipo
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 5

Figura 7. Piezas SolidWorks

Figura 11. Piezas planos SolidWorks

Luego, se ensamblaron las piezas junto con los


motores en sus posiciones correspondientes. Las
siguientes imágenes muestran el resultado final en el
ensamble en SolidWorks y en la vida real. (Figura
12)

Figura 8. Piezas SolidWorks

Figura 12. Ensamble

2. Proceso electrónico
Figura 9. Piezas SolidWorks
Para el control de los dispositivos electrónicos
requeridos (motore paso a paso y servo motores) se
implement con ayuda de un cargador de celular
reciclado se alimenta con 5V, y que por último se
conectó a un Arduino UNO.

Figura 10. Piezas SolidWorks

De esta manera quedaron organizados los planos para


ser cortados con láser en acrílico de 5mm de grosor.
(Figura 11)
Figura 13. Arduino usado
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 6

3. Proceso computacional

Programación en Arduino

Programación en java

figura 14, interfaz


Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 7

con esto damos fin a nuestra progamacion, la cual se baso en


la comunicación entre arduino y java, de esta manera se pudo
mover los motores, controlando asi nuestro artefacto.
Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 8

Figura 14 diagrama uml


Universidad Militar Nueva Granada. wilches, velasquez Laboratorio 5C- Proyecto Mecatrónico 9

• Utilizamos el programa SolidWorks para plasmar


cada una de las partes brazo, de esta manera
obtuvimos un prototipo virtual del mismo.

• Creamos un código en Java junto con la plataforma


Arduino que nos permitió realizar los diferentes
desplazamientos y movimientos del brazo y el
mecanismo respectivamente.

• Logramos visualizar en el escenario grafico de Java


3D la representación del brazo y los desplazamientos
capaces de realizar.

• Observamos el correcto funcionamiento de cada uno


de los procedimientos requeridos para los
desplazamientos del vehículo y movimientos del
mástil.

VI. MEJORAS FUTURAS


Buscar la manera en la cual el cableado no se vea afectado por
los desplazamientos y secuencias del brazo teniendo tambien
una mejor estetica.

Reemplazar el material de las pinzas por uno que proporciones


mayor agarre al momento de ejecutar secuencias y
movimientos.

IV. COSTOS VII. REFERENCIAS

A continuación, se presenta una lista de los materiales de


mayor importancia para la elaboración del proyecto y sus [1]. https://www.youtube.com/watch?v=0qwrnUeSpYQ
respectivos costos. Al final se presenta el total de dinero [2]. https://www.youtube.com/watch?v=EV4LAljXZLk [3].
invertido para la construcción de este. Platea.pntic.mec.es. Morfologia. Disponible en:
http://platea.pntic.mec.es/vgonzale/cyr_0204/ctrl_rob/robotica
/sistema/morfologia.htm
COSTOS [4]. http://www.electronicoscaldas.com/shields-escudos-
arduino/511-shield-de-motores-para-arduino-shd-
mstepper.html
CANTIDAD ELEMENTO PRECIO ($)
[5].
1 baquela 3.000
https://www.youtube.com/results?search_query=motor+shield
3 Motor paso a paso 45.000
+paso+a+paso
(con driver)
1 Servo motor 15.000
1 Acrílico y corte 20.000
1 Placa de Arduino uno 27.000
1 cargador 10.000
20 Jumper Macho - 5.000
Hembra
TOTAL 115.000

Tabla 1. Dinero invertido en la construcción del proyecto


mecatrónico, brazo robotico.

V. CONCLUSIONES

• Diseñamos una estructura mecánica que cuenta con el


desplazamiento del brazo y el movimiento del mismo
el cual permite transportar objetos.

Das könnte Ihnen auch gefallen