Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Brazo Robotico Labview Arduino PDF
Brazo Robotico Labview Arduino PDF
FACULTAD DE INGENIERA
Objetivo:
Realizar el control de un brazo mecnico con movimiento por servomotores mediante un
instrumento virtual con el software Labview de National Instruments mediante una interfaz con el
microncontrolador Arduino.
Este proyecto consta de la realizacin, el diseo, fabricacin e implementacin de un brazo
manipulador a pequea escala. El objetivo primordial de este proyecto es la realizacin de un
brazo mecnico para poder ser analizado, probado y estudiado en pequea escala para en un
futuro y con mejoras pueda ser implementado en la industria.
Introduccin
Un robot industrial es un manipulador multifuncional reprogramable, capaz de mover materias,
piezas, herramientas, o dispositivos especiales, segn trayectorias variables, programadas para
realizar tareas diversas.
Esta definicin, ligeramente modificada, ha sido adoptada por la Organizacin Internacional de
Estndares (ISO) que define al robot industrial como: Manipulador multifuncional reprogramable
con varios grados de libertad, capaz de manipular materias, piezas, herramientas o dispositivos
especiales segn trayectorias variables programadas para realizar tareas diversas.
Los manipuladores, conocidos tambin como brazos mecnicos son sistemas mecnicos
multifuncionales, con un sencillo sistema de control de los cuales existen 3 tipos:
a) Manual: cuando un operario controla directamente al manipulador
b) Secuencia fija: cuando se repite de forma invariable el proceso de trabajo preparado
previamente
c) Secuencia variable: se pueden modificar caractersticas del ciclo de trabajo Una particularidad
de estos robots es que mientras las funciones de trabajo sean sencillas y repetitivas son
ampliamente usados.
Robots de repeticin o aprendizaje
Estos manipuladores se limitan a repetir una secuencia de movimientos, previamente ejecutada
por un operador, haciendo uso de un controlador manual o un dispositivo auxiliar. En la fase de
enseanza el operador usa una pistola de programacin con diversos pulsadores, teclas, joysticks,
o bien utiliza un maniqu o desplaza directamente la mano del robot. Esta clase de robots son los
mas conocidos hoy en da en los ambientes industriales y su tipo de programacin que incorporan
se conoce como gestual.
LABVIEW + ARDUINO:
LA INTELIGENCIA DE ARDUINO RADICA EN SU LENGUAJE DE PROGRAMACIN
El NI LabVIEW Interface for Arduino Toolkit le ayuda a establecer interfaz fcilmente con el microcontrolador Arduino
usando LabVIEW.
Con este juego de herramientas y LabVIEW, usted puede controlar y adquirir datos desde el microcontrolador Arduino.
Una vez que la informacin est en LabVIEW, analcela usando los cientos de bibliotecas integradas de LabVIEW,
desarrolle algoritmos para controlar el hardware Arduino y presente sus conclusiones en un UI pulido.
Un boceto para el microcontrolador Arduino acta como un motor de E/S que se conecta con los VIs de LabVIEW a
travs de una conexin serial. Esto le ayuda a mover informacin rpidamente desde pines Arduino a LabVIEW sin
ajustar la comunicacin, la sincronizacin o incluso una sola lnea de cdigo C. Al usar Open, Read/Write, Close en
LabVIEW, usted puede tener acceso a las seales digitales, analgicas, moduladas por ancho de pulso, I2C y SPI del
microcontrolador Arduino. Para aprender cmo opera la funcionalidad para que pueda modificar o extenderla, busque
en los subVIs o abra el boceto Arduino.
Nota: El microcontrolador Arduino debe estar conectado a la PC con LabVIEW a travs de un enlace USB, serial,
Bluetooth o XBee. Este juego de herramientas no hace posible una operacin autnoma.
6) Posteriormente para que exista la conexin entre Labview y Arduino debemos de tener los
drivers NI-VISA en nuestra computadora, en caso de no tenerlos debemos descargarlos de
la siguiente direccin http://www.ni.com/visa/
7) Hecho esto debemos de verificar mediante el MAX de National Instruments en la seccin
Devices & Interfaces que tengamos al microcontrolador Arduino en algn puerto de
comunicaciones COM de la computadora, debiendo estar de la siguiente manera.
8) Ahora solo nos resta verificar que dentro de LabView tengas habilitados los VI de Arduino,
listos para ser programados y realizar nuestros instrumentos virtuales con la interfaz
Arduino.
** NOTA IMPORTANTE:
En algunas tarjetas de Arduino como en Arduino Duemilanove al ejecutar el vi nos manda un error
5003 que indica que no se localiza Arduino, esto se resuelve de la siguiente manera:
1) Configurar el mismo BAUDRATE en el Firmware de Arduino, en el administrador de
dispositivos de Windows y en Labview.
2) Cambiar la configuracin del vi Init de Arduino, como se muestra a continuacin
En el Case USB/Serial Debajo de la leyenda Wired, wait for Arduino to exit boot loader como
constante asignada al tiempo de espera, por default viene un valor de 1000, ste debe ser
sustituido por 2000 como en la figura anterior.
Fcil acceso para DIO Arduino, AI, PWM, I2C y SPI desde Labview
El boceto abierto Arduino y los VIs del juego de herramientas le ayudan a personalizar la funcionalidad
Para el diseo del brazo mecnico tom como base el siguiente dibujo:
Cmo podemos observar, el brazo tendr 2 articulaciones, una en el hombro y otra en el codo, as
como la capacidad de girar 180 sobre su propio eje, esto nos indica que nuestro brazo tendr dos
grados de libertad, un grado por cada articulacin.
El material para la construccin debe ser ligero, por lo que decid utilizar hojas de PVC echas
especialmente para su utilizacin en robtica, ya que es fcilmente manipulable para ser cortado y
de costo accesible.
Dimensiones:
-Base 25 cm de dimetro
-Primer eslabn (vertical) 25 cm de largo por 8 de ancho
-Segundo eslabn (del hombro al codo) 12.5 de largo por 8 de ancho.
-Tercer eslabn (terminal) 10 cm de largo por 8 de ancho.
despus de das de pruebas logr el funcionamiento del motor a pasos con una secuencia de
medio paso. Pero surgi otro problema en el laboratorio no se contaba con una fuente de
corriente variable, indispensable para el funcionamiento ya que el motor al momento de tener
carga demanda ms corriente y sta no poda ser suministrada por el arreglo de transistores
Darlington del circuito integrado ULN2003 y por tanto necesitaba de aumentar la corriente en la
fuente, cosa que fue imposible de realizar al no tenerla en el laboratorio.
Entre comillas este problema era fcil de solucionar, poner otro servomotor en lugar del motor a
pasos, pero no contaba con los recursos para poder adquirirlo, y despus de unos das logre
comprarlo y as todo problema se solucion.
Finalmente el brazo tiene tres servomotores para su movimiento uno por cada articulacin (2) y
uno para el giro sobre su propio eje (1).
A continuacin se muestra una imagen del brazo y sus articulaciones.
determinar los giros de motor. Un pulso de 1.5 ms., por ejemplo, har que el motor se torne a la
posicin de 90 grados (llamado la posicin neutra). Si el pulso es menor de 1.5 ms., entonces el
motor se acercar a los 0 grados. Si el pulso es mayor de 1.5ms, el eje se acercar a los 180
grados.
Para la alimentacin de los servos (5V) podemos utilizar la propia del microcontrolador, por lo
tanto el voltaje va al pin de 5V, la tierra el pin GND, y los cables de control de los servos a los pines
elegidos por el usuario, en mi caso utilice el 2, 3 y 4.
ste control permitir al brazo girar desde el origen a los grados y velocidad seleccionados por el
usuario y regresar al origen al llegar a los grados indicados.
Controles de las articulaciones.
Estos controles actan idnticamente para las articulaciones, el usuario ingresa el valor de los
grados que desee que gire en los controles numricos, mediante teclado o moviendo el KNOB
respectivo, as cada servomotor se mover de acuerdo a lo indicado por el usuario mediante stos
controles, entre 0 y 180 grados.
El panel frontal cuenta con un botn de paro para detener la ejecucin del programa.
DIAGRAMA DE BLOQUES
El primer paso para indicar a Labview que utilizaremos la interfaz con el microcontrolador Arduino
es el bloque Init, con el cul estaremos iniciando la comunicacin entre ambos, cabe mencionar
que debemos agregar una constante o control para indicar el puerto de comunicaciones utilizado
por Arduino, el cual se verifico previamente mediante MAX.
Bloque Init
El toolkit de Arduino para Labview nos da la posibilidad de trabajar directamente con
servomotores, mediante bloques que son sencillos de trabajar.
El siguiente bloque que se debe agregar para indicar el nmero de servos a utilizar, en mi caso son
tres, por lo que basta con agregar una constante para indicarlo.
Ahora debemos de incializar los servomotores, ponerles un nombre y decir en que pines de
Arduino estn conectados, para ello agregamos constantes en las terminales ServoNumber y
Pin respectivamente.
Todo esto lo hacemos fuera del ciclo while que nos permitir ejecutar de manera constante el
programa, como se muestra en la siguiente imagen.
Dentro del ciclo while el siguiente paso es agregar los bloques de escritura al servo y lectura al
servo, estos nos permitirn agregar los controles numricos para indicar los grados de giro al
servomotor y posteriormente para que el Arduino haga la lectura de dicho valor y se veo reflejado
directamente en el servo.
Escritura en el servo:
En el caso del servo que permite el giro del brazo sobre su propio eje no fue tan directa la solucin
para poder realizar su movimiento de forma automtica, para ello fue necesario realizar la
multiplicacin del valor de control numrico de velocidad de giro por el nmero i que contiene
la iteraciones del ciclo while y dividir ste resultado entre el valor de los grados que el usuario
desee que el brazo gire. Con ste resultado final podemos indicar el bloque escribir en el servo,
la velocidad y posicin del servo.
Todo esto se muestra en la siguiente imagen y cabe mencionar que como si estuviramos
utilizando una DAQ de National Instruments el clster de trabajo debe ser unido entre los bloques
del programa as como el clster de error, que nos indicar el posible error en caso de encontrar
algn fallo en la ejecucin del programa.
Finalmente debemos indicar que el trabajo de Arduino ha terminado mediante el bloque Close
. El cul debe colocarse fuera el ciclo while y agregar el bloque de error simple para que
Labview sea capaz de indicarnos de manera explcita el estado del clster de error.
CONCLUSIONES.
Al terminar el proyecto los objetivos se cumplieron plenamente, durante la realizacin se tuvieron
ciertos problemas como lo del motor a pasos, la configuracin del microcontrolador con Labview
al tener el error 5003, pero despus de investigar y a ensayo y error se pudieron solcuionar.
Decid llevar a cabo el control del brazo con el microcontrolador Arduino y Labview ya que me
pareci un excelente complemento para la clase de Instrumentacin Virtual de la cul obtuve
todos los conocimientos slidos de Labview para programar instrumentos virtuales, y no
quedarme solo con la DAQ utilizada en el laboratorio si no extender mis conocimientos a
situaciones de la vida profesional diaria como lo es en nuestro campo el uso de
microcontroladores. Adems fue una excelente opcin para poder trabajar desde mi hogar en el
proyecto al no tener la necesidad de la DAQ y solo poder trabajar en el laboratorio sujeto a ciertos
horarios.
La versatilidad de Arduino me permiti poder resolver los problemas de manera sencilla y eficaz,
adems de su tamao y costo.
Finalmente puedo concluir que es un proyecto muy completo ya que se lograron combinar
conocimientos de Instrumentacin Virtual, Automatizacin, Microcontroladores, Electrnica y
Robtica de manipuladores.
REFERENCIAS
http://sine.ni.com/nips/cds/view/p/lang/es/nid/209835
http://www.youtube.com/watch?v=k6pC1dq40W4
http://www.todorobot.com.ar/documentos/servomotor.pdf
http://www.superrobotica.com/motores.htm
http://www.electronicaestudio.com/
Robots Manipuladores Industriales, Iigo Madrigal Rafael, Ed. Alfaomega, Universidad Politnica
de Catalunya