Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIRECTOR DE PROYECTO
DEDICATORIA
DEDICATORIA
CAPÍTULO 2 ............................................................................................................. 60
CONCLUSIONES.................................................................................................... 111
DATASHEET....................................................................................................... 121
ÍNDICE DE FIGURAS
Figura 1.1 Similitud brazo robótico con extremidades superiores del cuerpo humano 6
Figura 1.2 Imagen de los siete grados de libertad que tiene el brazo humano ........... 7
Figura 1.3 Control de un motor de CC en lazo cerrado ............................................. 10
Figura 1.4 Motor paso a paso con dos bobinas y un rotor formado por un imán ....... 12
Figura 1.5 Motor utilizando 4 bobinas que hace que gire el rotor en ángulos de 90º 13
Figura 1.6 Control de motores paso a paso con Circuito Integrado. ......................... 16
Figura 1.7 Señal de ancho de pulso modulado ......................................................... 18
Figura 1.8 Motor en sentido horario .......................................................................... 18
Figura 1.9 Motor neutral ............................................................................................ 19
Figura 1.10 Motor en sentido antihorario ................................................................... 19
Figura 1.11Motores de DC de varios tamaños .......................................................... 20
Figura 1.12 Funcionamiento de un motor DC............................................................ 21
Figura 1.13 Velocidades de transferencia de datos. ................................................. 25
Figura 1.14 Periféricos que pueden ser conectados a través de un puerto USB ...... 26
Figura 1.15 Estructura de capas del bus USB........................................................... 39
Figura 1.16 Relación existente entre el Software del cliente y las interfaces ............ 40
Figura 1.17 Diferencia entre dispositivos de velocidad media y de velocidad baja ... 48
Figura 1.18 Codificación de datos en USB ................................................................ 49
Figura 1.19 Patrón de señal Sync emitido ................................................................. 50
Figura 1.20 Conectores tipo serie A y serie B ........................................................... 51
Figura 1.21 Conector estándar USB ......................................................................... 52
Figura 1.22 Estándar y dimensiones de icono USB .................................................. 53
Figura 1.23 Distribución de pines con sus respectivos nombres del PIC 18F4550. .. 56
Figura 2.1 Brazo Robótico ......................................................................................... 60
Figura 2.2 Sistema de engranajes de motor PAP ..................................................... 62
Figura 2.3 Sistema de Rotación del Brazo ................................................................ 62
Figura 2.4 Sistemas de engranajes y motor PAP del movimiento vertical del brazo . 63
Figura 2.5 Sistema de engranajes conectados para el movimiento vertical .............. 63
Figura 2.6 Pinzas conectadas al sistema del movimiento de la muñeca ................... 64
Figura 2.7 Pinzas Sujetadoras .................................................................................. 65
Figura 2.8 Brazo conectado a las Pinzas .................................................................. 65
Figura 2.9 Grados de libertad del Brazo .................................................................... 66
Figura 2.10 Diagrama de Flujo Para el Control del Microcontrolador. ....................... 67
Figura 2.11 Diagrama de Flujo en Visual Basic......................................................... 68
Figura 2.12 Diagrama de Bloques ............................................................................. 69
Figura 2.13 Regulador de voltaje .............................................................................. 70
Figura 2.14 Diagrama PIC 18F4550. ......................................................................... 71
Figura 2.15 Driver L293D conectado al motor DC. .................................................... 72
Figura 2.16 Motor PAP Unipolar de la base del brazo. ............................................. 73
Figura 2.17 Motor PAP Unipolar para la rotación del brazo. ..................................... 74
Figura 2.18 conexión del Servo Motor. ...................................................................... 74
Figura 2.19 Diagrama del sistema............................................................................. 75
Figura 2.20 Ventana Principal de MicroCode Studio Plus (MCSP) ........................... 76
Figura 2.21 Herramienta EasyHIDWizard. ................................................................ 77
Figura 2.22 Ventana del programa MICROCODE STUDIO ...................................... 79
Figura 2.23 Herramienta EasyHIDWizard ................................................................. 86
Figura 2.24 Datos preestablecidos enEasyHIDWizard .............................................. 87
Figura 2.25 Finalización de la comunicación entre el PC y el PIC ............................ 87
Figura 2.26 Acceso a Visual Basic ............................................................................ 88
Figura 2.27 Ejecución del programa en Visual Basic. ............................................... 89
Figura 2.28 Proceso de elaboración de la interfaz en Visual Basic ........................... 99
Figura 3.1 Pantalla Principal de Control .................................................................. 101
Figura 3.2 Diseño inicial del brazo robótico. ............................................................ 102
Figura 3.3 Movimiento vertical de la Muñeca con motor Paso a Paso .................... 103
Figura 3.4 Movimiento Vertical del Brazo con sistema de engranajes inicial. ......... 104
Figura 3.5 Láminas de aluminio utilizadas en la estructura del brazo. .................... 105
Figura 3.6 Acercamiento del brazo al objeto ........................................................... 105
Figura 3.7 Pinzas sujetando al objeto ..................................................................... 106
Figura 3.8 Elevación del objeto ............................................................................... 106
Figura 3.9 Movimiento del objeto de un lugar a otro ............................................... 107
Figura 3.10 Bajando el objeto a la posición de destino ........................................... 107
Figura 3.11 Liberando el objeto de las pinzas ......................................................... 108
ÍNDICE DE TABLAS
Tabla 1.1 Señales que se deben aplicar al motor PAP unipolar y bipolar ................. 15
Tabla 1.2 Descripción cronológica y línea de tiempo del estándar USB. ................. 27
Tabla 1.3 Alcance del uso del USB respecto a la velocidad máxima establecida .... 30
Tabla 1.4 Alcance de la versión USB 2.0 incrementada respecto a sus predecesoras.
................................................................................................................. 32
Tabla 1.5 Aplicaciones posibles de la tecnología USB-On-The-Go .......................... 35
Tabla 1.6 Comparación de funcionamiento de determinado dispositivo en un puerto
USB. ......................................................................................................... 38
Tabla 1.7 Diferentes tipos de paquetes agrupados en función de su PID. ................ 45
Tabla 1.8 Señal que provee cada uno de los contactos y su color identificativo. ...... 53
Tabla 3.1 Movimiento del brazo mediante el teclado numérico ............................... 101
Tabla 3.2 Pesos máximos de los motores ............................................................... 108
Tabla 3.3 Componentes de Placa Electrónica......................................................... 109
Tabla 3.4 Componentes del Brazo .......................................................................... 110
1
INTRODUCCIÓN
El brazo humano es un diseño asombroso pues nos permite colocar la mano casi en
cualquier lugar donde la necesitemos, los brazos robóticos imitan la habilidad del
brazo humano de ser flexibles, precisos y de estar listos para realizar acciones en
una amplia variedad de tareas.
Este proyecto tiene como unidad de control el PIC 18F4550 el cual se comunica a
través del puerto USB del PC para enviar las ordenes a los motores PAP, motor DC y
el Servo motor los mismos que realizarán los diferentes movimientos del brazo
según sea la necesidad del usuario. El circuito se alimenta a través de un adaptador
de 12v seguido de un regulador de voltaje a 5V para habilitar el DRIVER L293D, el
mismo que se utilizó como etapa de potencia para el motor DC, tiene la característica
de que mediante entradas digitales, pueda activar o desactivar el motor que se tiene
conectado a la salida.
2
OBJETIVOS
OBJETIVO GENERAL
Implementar el prototipo de un sistema electrónico para control de manejo de objetos
mediante un brazo robótico controlado por un ordenador, a través de un
microcontrolador PIC18F4550.
OBJETIVOS ESPECIFICOS
CAPITULO 1.
A través del tiempo, el hombre ha buscado nuevas formas de mejorar sus procesos
productivos, a partir de la segunda mitad del siglo XX se desarrolla tecnología que
permite automatizar estos procesos. Surgen conceptos como robots e inteligencia
artificial. Pero, ¿qué significan estos términos? La primera impresión que se nos
viene a la mente es autómata, automatización, es decir robot, o bien palabras
asociadas a ésta como lo es robótica.
Los robots llevan más de 40 años de estar presentes en los procesos industriales del
ser humano; los primeros robots verdaderos se dieron a conocer a finales de los
años 50 y principios de los 60, esto gracias a un nuevo desarrollo de tecnología, es
decir la invención de los transistores y los circuitos integrados.
Sin embargo los diseños se van acercando cada vez más a aparentar la estructura
del ser humano, obteniendo así robots que pueden imitar con más exactitud los
movimientos y por consiguiente ser capaces de realizar las tareas en las que se
encuentra en riesgo el hombre o el acceso a ellas es difícil.
1
http://www.monografias.com/trabajos6/oti/oti.shtml
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.pdf
4
El brazo humano es un diseño asombroso pues permite poder colocar la mano casi
en cualquier lugar donde se necesita. Los brazos robóticos imitan la habilidad del
brazo humano de ser flexibles, precisos y de estar listos para realizar acciones es
una amplia variedad de tareas.
Como ya se mencionó los robots son útiles en las industrias por una gran variedad
de razones, en la economía de hoy los negocios necesitan ser más eficientes, la
instalación de robots es una manera en la cual los propietarios de los negocios
pueden ser más competitivos ya que los robots pueden hacer algunas tareas más
eficientes que la gente. Como por ejemplo los robots nunca se enferman ni
necesitan descansar así que pueden trabajar 24 horas al día los siete días de la
semana, pueden hacer trabajos en los que las tareas requeridas puedan ser
peligrosas para una persona, los robots nunca se aburren por lo que una tarea es
repetitiva no es problema para ellos.
Los robots tal y cómo se presentan en las películas, es decir aquellos similares a los
seres humanos, conocidos como Androides, se encuentran en un futuro muy lejano.
A pesar de eso los robots actuales son máquinas muy sofisticadas que realizan
labores productivas especializadas, revolucionando el ambiente laboral. La gran
mayoría de los robots actuales son manipuladores industriales es decir "brazos" y
2
http://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.1.htm
3
http://www.monografias.com/trabajos6/oti/oti.shtml
5
"manos" controlados por computadora siendo muy difíciles de asociar con la imagen
tradicional de un robot, pero no sólo existen estos dispositivos tipo robot; la robótica
incluye muchos otros productos como sensores, servos, sistemas de imagen, etc.
El noventa por ciento de los robots trabajan en fábricas, y más de la mitad hacen
automóviles; siendo las compañías automotrices altamente automatizadas gracias al
uso de los brazos robot, quedando la mayoría de los seres humanos en labores de
supervisión o mantenimiento de los robots y otras máquinas.
Otras de las labores realizadas por los brazos robots son labores en el campo de los
alimentos, donde por ejemplo un dispositivo de este tipo selecciona los chocolates
que corresponden para armar una caja. Esto lo logra mediante el uso de sensores
que identifican los diferentes elementos que conforman una caja del producto, luego
de ser identificados son tomados uno a uno y depositados en las cajas.
4
http://www.monografias.com/trabajos6/oti/oti.shtml
5
http://html.rincondelvago.com/robotica_1.html
6
Figura 1.1 Similitud brazo robótico con extremidades superiores del cuerpo humano 8
6
http://html.rincondelvago.com/robotica_1.html
7
http://antiguo.itson.mx/rieeandc/vol4p1_archivos/Art2Junio08.pdf
8
http://antiguo.itson.mx/rieeandc/vol4p1_archivos/Art2Junio08.pdf
7
La Figura 1.2 se muestra los grados de libertad que tiene un brazo humano. Este
puede ubicar perfectamente un objeto con 6 grados de libertad. Los tres primeros
corresponden al brazo y los tres siguientes corresponden a la muñeca.
Figura 1.2 Imagen de los siete grados de libertad que tiene el brazo humano10
Los robots utilizan sensores para así obtener información acerca de su entorno. En
general, un sensor mide una característica del ambiente o espacio en el que está y
proporciona señales eléctricas. Estos dispositivos tratan de emular los sentidos
humanos, es decir el olfato, la visión, el tacto, etc. Pero estas máquinas tienen la
ventaja de poder detectar información acerca de los campos magnéticos u onda
ultrasónicas.
9
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.pdf
10
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.pdf
11
http://www.monografias.com/trabajos6/oti/oti.shtml
8
La función de los sensores del robot se puede dividir en dos categorías principales:
· De estado interno.
· De estado externo.
· Alcance
· Proximidad
· Contacto
Los sensores externos se utilizan para guiado de robots, así como para la
identificación y manejo de objetos.
A todo esto no hay que olvidar, las tres leyes de la robótica propuestas por Isaac
Asimov en 1942; que son:12
· Un robot no debe dañar al ser humano, o permitir que con una acción el
mismo humano se dañe.
· Un robot debe obedecer las órdenes dadas por un humano, a menos que
estén en conflicto con la primera ley.
· Un robot debe proteger su propia existencia, mientras ésta no entre en
conflicto con la primera y segunda ley.
1.7.1 INTRODUCCIÓN.
Para el control de un motor común existen determinados problemas como controlar
el arranque y la dirección de giro de motores de corriente continua. El sistema de
control de giro utilizado no es muy preciso ya que todo motor se opone a un cambio
repentino de dirección debido al fenómeno de inercia.
12
http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.pdf
13
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
10
Los motores paso a paso o simplemente PAP, son un tipo especial de motores que
permiten el avance de su eje en ángulos muy precisos y por paso en las dos posibles
direcciones de movimiento, izquierda o derecha. Aplicando a ellos una determinada
secuencia de señales digitales, avanzan por pasos hacia un lado u otro y se detienen
exactamente en una determinada posición.
Cada paso tiene un ángulo muy preciso, determinado por la construcción del motor,
lo que permite realizar movimientos exactos sin necesidad de un sistema de control
por lazo cerrado. A un motor paso a paso se le puede ordenar, por medio del
14
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
15
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
11
control, que avance cinco o diez pasos hacia adelante, luego un determinado número
de pasos hacia atrás o simplemente que no gire. Este sistema ha simplificado
enormemente la implementación de automatismo y las aplicaciones de la robótica.16
Los motores paso a paso presentan grandes ventajas con respecto a la utilización de
servomotores:
1.7.4 APLICACIONES
Debido a sus ventajas, tienen una gran variedad de aplicaciones dentro de las cuales
se podrían mencionar las siguientes:
· Máquinas herramientas
· Robots,
· Impresoras para computadora
· Graficadoras (Plotters)
· Máquinas de coser,
· Unidades de disco
· Registradoras
· Telefax
16
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
12
· Manejo de válvulas
· Posicionamiento de mecanismos en general, etc.
1.7.5 FUNCIONAMIENTO
En la figura 1.4 se muestra la ilustración de un motor paso a paso imaginario con dos
bobinas y un rotor formado por un imán.
Figura 1.4 Motor paso a paso con dos bobinas y un rotor formado por un imán17
17
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
13
Figura 1.5 Motor utilizando 4 bobinas que hace que gire el rotor en ángulos de 90º 18
Para lograr un movimiento mucho más suave, los motores paso a paso se fabrican
aumentando el número de polos del estator - Parte fija de una máquina dentro de la
cual gira un rotor, parte giratoria de una máquina eléctrica o de una turbina- y se les
practican una serie de ranuras tanto en el rotor como en estator. Así se logran
movimientos que van hasta 1.89 por paso. Los grados de avance por paso son una
de las características más importantes en este tipo de motores y generalmente está
indicada en su carcasa o cuerpo.
De imán permanente
· De reluctancia variable
· Híbridos
18
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
14
El rotor está fabricado por un cilindro dentado de hierro y el estator está formado por
bobinas que crean los polos magnéticos. Como este tipo no tiene un imán
permanente, su rotor gira libremente cuando las bobinas no tienen corriente lo que
puede ser inconveniente en un momento dado si hay una carga que presione el eje.
Este tipo puede trabajar a mayor velocidad que el anterior.
1.7.6.3 Híbridos.
En cuanto a la forma de conexión y excitación de las bobinas del estator, los motores
PAP se dividen en dos tipos:
· Unipolares.
· Bipolares.
En los Unipolares hay dos bobinas y tienen toma media, es decir tienen seis
terminales.
Los Bipolares tienen dos bobinas sin toma media, es decir tienen cuatro terminales.
15
Los motores PAP, tanto unipolares como bipolares, pueden trabajar en dos modos
de operación, de paso completo y de medio paso.
Tabla 1.1 Señales que se deben aplicar al motor PAP unipolar y bipolar
16
Antes de ver como se programa la operación del motor, se debe conocer cómo se
implementa la interface adecuada para manejarlo. Esta interface debe tener la
capacidad de manejo de corriente y de velocidad para excitar las bobinas.
En la Figura 1.6 se puede observar el circuito integrado Philips SAA1027, uno de los
más utilizados para este propósito.
Este circuito se maneja solamente con tres señales llamadas T, S y R. Por la línea T
se aplican pulsos de reloj que determinan la velocidad del movimiento. Estos pulsos
se pueden obtener del microcomputador o de un circuito oscilador independiente. Por
19
http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
17
1.8 SERVOMOTOR20
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.
1.8.1 Características
Está conformado por un motor, una caja reductora y un circuito de control. También
potencia proporcional para cargas mecánicas. Un servo, por consiguiente, tiene un
consumo de energía reducido.
La corriente que requiere depende del tamaño del servo. Normalmente el fabricante
indica cual es la corriente que consume. La corriente depende principalmente del par,
y puede exceder un amperio si el servo está enclavado, pero no es muy alto si el
servo está libre moviéndose todo el tiempo.
20
http://es.wikipedia.org/wiki/Servomotor
18
1.8.2 Control
Los servomotores hacen uso de la modulación por ancho de pulsos (PWM) para
controlar la dirección o posición de los motores de corriente continua. La mayoría
trabaja en la frecuencia de los cincuenta hertzios, así las señales PWM de la Figura
1.7 tendrán un periodo de veinte milisegundos. La electrónica dentro del servomotor
responderá al ancho de la señal modulada. Si los circuitos dentro del servomotor
reciben una señal entre 0,5 a 1,4 milisegundos, este se moverá en sentido horario
(Figura 1.8); entre 1,6 a 2 milisegundos moverá el servomotor en sentido antihorario
(Figura 1.10); 1,5 milisegundos representa un estado neutro para los servomotores
estándares (Figura 1.9).
21
http://es.wikipedia.org/wiki/Servomotor
22
http://es.wikipedia.org/wiki/Servomotor
19
23
http://es.wikipedia.org/wiki/Servomotor
24
http://es.wikipedia.org/wiki/Servomotor
25
http://es.wikipedia.org/wiki/Motor_de_corriente_continua
20
Según la Ley de Lorentz, cuando un conductor por el que pasa una corriente
eléctrica se sumerge en un campo magnético, el conductor sufre una fuerza
perpendicular al plano formado por el campo magnético y la corriente, siguiendo
la regla de la mano derecha, con módulo
§ F: Fuerza en newtons
26
http://es.wikipedia.org/wiki/Motor_de_corriente_continua
21
El rotor tiene varios repartidos por la periferia. A medida que gira, la corriente se
activa en el conductor apropiado.
Normalmente se aplica una corriente con sentido contrario en el extremo opuesto del
rotor, para compensar la fuerza neta y aumentar el momento.
1, 2: Escobillas;
A, B: Delgas;
27
http://es.wikipedia.org/wiki/Motor_de_corriente_continua
22
Las fuertes puntas de corriente de un motor en el arranque son debidas a que con la
máquina parada no hay fuerza contraelectromotriz y el bobinado se comporta como
una resistencia pura del circuito.
Las escobillas deben poner en cortocircuito todas las bobinas situadas en la zona
neutral. Si la máquina tiene dos polos, se tiene también dos zonas neutras. En
consecuencia, el número total de escobillas ha de ser igual al número de polos de la
máquina.
En cuanto a su posición, será coincidente con las líneas neutras de los polos.
El sentido de giro se puede determinar con la regla de la mano derecha, la cual nos
va a mostrar el sentido de la fuerza. La regla de la mano derecha es de la siguiente
manera: el pulgar nos muestra hacia dónde va la corriente, el dedo índice apunta en
la dirección en la cual se dirige el flujo del campo magnético, y el dedo medio hacia
dónde va dirigida la fuerza resultante y por lo tanto el sentido de giro.
1.9.5 Reversibilidad
En ambos casos el inducido está sometido a la acción del campo inductor principal.
1.10.1 INTRODUCCIÓN.
El Universal Serial Bus (bus universal en serie) o mejor conocido como Conductor
Universal en Serie (CUS), abreviado comúnmente USB, es un puerto que sirve para
conectar periféricos a un ordenador. Fue creado en 1996 por siete empresas (que
actualmente forman el consejo directivo): IBM, Intel, Northern Telecom, Compaq,
Microsoft, Digital EquipmentCorporation y NEC.
28
USB - Hardware & Software; John Garney, Ed Solari, KosarJaff (Ed. Annabooks)
24
El USB puede conectar varios tipos de dispositivos como pueden ser: mouse,
teclados, escáneres, cámaras digitales, teléfonos móviles, reproductores multimedia,
impresoras, discos duros externos entre otros ejemplos, tarjetas de sonido, sistemas
de adquisición de datos y componentes de red. Para dispositivos multimedia como
escáneres y cámaras digitales, el USB se ha convertido en el método estándar de
conexión. Para impresoras, el USB ha crecido tanto en popularidad que ha
desplazado a un segundo plano a los puertos paralelos porque el USB hace mucho
más sencillo el poder agregar más de una impresora a un computador personal.
1.10.2 CONCEPTO.29
El USB o Universal Serial Bus es una interfaz para la transmisión serie de datos y
distribución de energía desarrollado por empresas líderes del sector de las
telecomunicaciones y de los ordenadores y que ha sido introducida en el mercado de
los PC´s y periféricos para mejorar las lentas interfaces serie (RS-232) y paralelo.
Provee una mayor velocidad de transferencia (de hasta 100 veces más rápido)
comparado con el puerto Paralelo de 25-pin y el Serial DB-9, DB-25, RS-232 que son
los puertos que se encuentran en la mayoría de los computadores.
29
http://usuarios.multimania.es/kurganz/introduccion.html
25
30
http://usuarios.multimania.es/kurganz/introduccion.html
26
Figura 1.14 Periféricos que pueden ser conectados a través de un puerto USB31
El éxito de la interfaz USB ha sido tal que, actualmente todos los PCs tienen
integrados al menos dos puertos USB para la conexión de dispositivos. Los PCs
modernos además de tener los dos traseros pueden tener más puertos en el frontal
para facilitar su conexión. A falta de puertos se pueden acoplar hubs USB para
ampliar el número de dispositivos siempre que no se sobrepase el límite soportado
de 127.
Como desventaja principal se señala que el ancho de banda debe repartirse entre
todos los dispositivos conectados a él. Lo que quizás no tendría repercusión si
intentáramos conectar varios ratones, pero sí que la tendría si queremos grabar CDs
en varias grabadoras en paralelo.32
1.10.3 ORIGEN.33
Uno de los grandes problemas que tienen los PCs (problemas que se han heredado
a través de los tiempos debido a un diseño deficiente en algunos aspectos) es la
escasez de determinados recursos, básicamente líneas de interrupción IRQs y
canales de acceso directo a memoria DMAs. En ambos casos las capacidades del
31
http://usuarios.multimania.es/kurganz/introduccion.html
32
USB - Hardware & Software por John Garney, Ed Solari, KosarJaff (Ed. Annabooks)
33
http://usuarios.multimania.es/kurganz/introduccion.html
27
diseño inicial tuvieron que ser dobladas en 1984, tres años después de su
lanzamiento, aprovechando la aparición de la gama AT.
34
http://www.usb.org
35
http://usuarios.multimania.es/kurganz/introduccion.html
28
La especificación del USB proporciona una serie de características que pueden ser
distribuidas en categorías. Estas características son comunes para todas las
versiones (desde la 1.0 hasta la 2.0)
Flexibilidad
36
http://usuarios.multimania.es/kurganz/caracteristicas.html
29
· Adecuando el ancho de banda desde unos pocos kbs hasta varios Mbs.
· Soporta tanto el tipo de transferencia isócrono como el asíncrono sobre el
mismo conjunto de cables.
· Conexiones múltiples, soportando operaciones concurrentes de varios
dispositivos.
· Soporta hasta 127 dispositivos físicos.
· Soporta la transferencia de múltiples datos y flujos de mensajes entre el host y
los dispositivos
Robustez
En los siguientes apartados se va a ver algunos de los detalles de cada una de las
versiones que es lo que las diferencia unas de otras. Estas diferencias serán más
bien escasas en cuanto a características generales.
Esta versión, publicada en Enero 1996, fue iniciada por el USB-IF cuyos integrantes
ya comentábamos antes (Compaq, Digital Equipment Corp., IBM, Intel Corp.,
Microsoft Corp., NEC y Northern Telecom). Esta es la primera versión oficial que
salió a la luz y que reúne todas las características arriba mencionadas, con un límite
máximo de velocidad de 12 Mbps. Inicialmente la especificación USB fue diseñada
para conectar eficientemente teléfonos a PCs. Sin embargo, este nuevo estándar de
conectividad tuvo tanto éxito que el Foro de implementadores decidió empujar al
USB como un estándar de PC, a pesar que el desarrollo de dispositivos USB para
telefonía aún no se ha realizado.
En la Tabla 1.3 se puede observar el alcance de aplicación del USB con respecto a
la velocidad máxima establecida por las características del bus. Esto es también
aplicable a las versiones 1.x del bus.
Tabla 1.3 Alcance del uso del USB respecto a la velocidad máxima establecida38
37
http://usuarios.multimania.es/kurganz/caracteristicas.html
38
http://usuarios.multimania.es/kurganz/caracteristicas.html
31
Tabla 1.3 Alcance del uso del USB respecto a la velocidad máxima establecida
El objetivo de esta segunda versión, que salió a la luz en Septiembre de 1998, era
solucionar problemas de ambigüedad en la especificación 1.0 para facilitar el trabajo
a los desarrolladores tanto de software como de hardware sin que hubiera que hacer
cambios en los dispositivos para hacerlos funcionar bajo esta versión. No se hicieron
cambios en los controladores de host para mantener esta compatibilidad.
Esta versión que salió al mercado a mitad del 2000, tras la unión al consorcio de
otras 3 compañías (Hewlett Packard, Philips y Lucent), con lo que volvían a ser siete
las integrantes del USB-IF.
39
http://usuarios.multimania.es/kurganz/caracteristicas.html
40
http://usuarios.multimania.es/kurganz/caracteristicas.html
32
41
http://usuarios.multimania.es/kurganz/caracteristicas.html
33
Tabla 1.4 Alcance de la versión USB 2.0 incrementada respecto a sus predecesoras.
Básicamente, USB 2.0 incluye todo lo que ofrece USB 1.1 y añade el modo de alta
velocidad. USB 2.0 también usa el mismo tipo de cables y conectores para conectar
los dispositivos de alta velocidad, sin embargo los hubs USB clásicos ralentizarán los
dispositivos USB 2.0. Otro requisito es que es necesario un controlador de host para
USB 2.0 si queremos tener disponibles la conexión de alta velocidad con un
dispositivo de este tipo.
Los hubs USB 2.0 tienen ahora mucho más trabajo que hacer que en el USB 1.1 ya
que necesitan manejar todo el tráfico de tres tipo de dispositivos con velocidades
distintas. Conectando un dispositivo USB 1.1 en uno USB 2.0 funcionaría bien, pero
no lo haría si lo hiciéramos al revés, además de retrasar a 12 Mbps, posiblemente, el
sistema operativo avisaría de su mal uso.
usar las empresas desarrolladas de hardware que hayan pasados los tests del USB-
IF
Cabe destacar que el USB 2.0 es simplemente una extensión y nunca llegará a
reemplazar completamente al 1.1 ya que hay productos como teclados genéricos,
ratones, joysticks o altavoces que no requieren la gran velocidad que ofrece la
tecnología USB 2.0. Sólo dispositivos de alta velocidad como webcams o sistemas
de alta capacidad necesitarán el máximo de velocidad, aunque los ordenadores los
fabriquen sólo con puertos USB 2.0.
42
http://usuarios.multimania.es/kurganz/caracteristicas.html
35
Esta tecnología es muy útil para dispositivos como el PDA, donde el enlace USB
puede conectarse a un PC como un dispositivo o conectarse como servidor a un
teclado o ratón.
43
http://usuarios.multimania.es/kurganz/caracteristicas.html
36
A diferencia del USB 2.0, esta nueva tecnología (USB 3.0 SuperSpeed), es casi diez
veces más rápida, ya que transfiere datos a 600 MB/s. También, se puede ver que
cuenta con soporte para dispositivos HD externos, lo que aumenta su performance.
44
http://www.usb.org
45
http://www.informaticamoderna.com/El_puerto_USB.htm#ver
37
La tercera versión de USB parece llegar justo a tiempo para seguir expandiéndose.
Desde su posición de dominio del mercado para dispositivos con velocidades de
transferencia de bajas a medias.
Ventajas
Desventajas
El puerto USB 3.0 es totalmente compatible con las tecnologías USB 1.X y USB 2.0,
esto es, reconocerá dispositivos con tales tecnologías (debido a que físicamente es
un puerto USB común con 5 conectores agregados); sin embargo un puerto USB 1.X
ó 2.0 no podrá reconocer el dispositivo de nueva generación, algo que no sucedió
entre las primeras versiones que permitían el uso de la nueva tecnología pero con
prestaciones reducidas.
38
1.10.6.1 La Topología48
El Universal Serial Bus conecta los dispositivos USB con el host USB. La interconexión
física USB es una topología de estrellas apiladas donde un hub es el centro de cada
estrella. Cada segmento de cable es una conexión punto-a-punto entre el host y los
hubs o función, o un hub conectado a otro hub o función.
El número máximo de dispositivos que puede conectar USB es de 127, pero debido a
las constantes de tiempo permitidas para los tiempos de propagación del hub y el
cable, el número máximo de capas permitido es de siete (incluida la capa raíz), con
un máximo de longitud de cable entre el hub y el dispositivo de 5 metros. Cabe
destacar que en siete capas, sólo se soportan cinco hubs que no sean raíz en una
ruta de comunicación entre el host y cualquier dispositivo. Un dispositivo compuesto
ocupa dos capas, por eso, no puede ser activado si está acoplado en la última capa
46
http://www.informaticamoderna.com/El_puerto_USB.htm#ver
47
http://usuarios.multimania.es/kurganz/datos_tecnicos.html
48
http://usuarios.multimania.es/kurganz/datos_tecnicos/topologia.html
39
de nivel siete. Sólo las funciones pueden ponerse en este nivel. En la Figura 1.15 se
indica la estructura de capas del bus USB.
La topología del bus USB se puede dividir en tres partes como se muestra en la
Figura 1.16:
49
http://usuarios.multimania.es/kurganz/datos_tecnicos.html
40
Figura 1.16 Relación existente entre el Software del cliente y las interfaces50
Un dispositivo USB desde un punto de vista lógico hay que entenderlo como una
serie de endpoints, a su vez los endpoints se agrupan en conjuntos que dan lugar a
interfaces, las cuales permiten controlar la función del dispositivo.
50
http://usuarios.multimania.es/kurganz/datos_tecnicos.html
51
http://usuarios.multimania.es/kurganz/datos_tecnicos/flujo.html
41
Existen dos endpoints especiales que todos los dispositivos deben tener, los
endpoints con número 0 de entrada y de salida, que deben de implementar un
método de control por defecto al que se le asocia la tubería de control por defecto.
Estos endpoints están siempre accesibles mientras que el resto no lo estarán hasta
que no hayan sido configurados por el host.
Tuberías
42
Una tubería USB es una asociación entre uno o dos endpoints en un dispositivo, y el
software en el host. Las tuberías permiten mover datos entre software en el host, a
través de un buffer, y un endpoint en un dispositivo. Hay dos tipos de tuberías:
Como ya se señaló, la tubería que está formada por dos endpoints con número cero
se denomina tubería de control por defecto. Esta tubería está siempre disponible
una vez se ha conectado el dispositivo y ha recibido un reseteo del bus. El resto de
tuberías aparecen después que se configure el dispositivo. La tubería de control por
defecto es utilizada por el software USB del sistema para obtener la identificación y
requisitos de configuración del dispositivo, y para configurar al dispositivo.
El software cliente normalmente realiza peticiones para transmitir datos a una tubería
vía IRPs (I/O Request Packets) y entonces, o bien espera, o bien es notificado de que
se ha completado la petición. El software cliente puede causar que una tubería
devuelva todas las IRPs pendientes. El cliente es notificado de que una IRP se ha
completado cuando todas las transacciones del bus que tiene asociadas se han
completado correctamente, o bien porque se han producido errores.
Una IRP puede necesitar de varias tandas para mover los datos del cliente al bus. La
cantidad de datos en cada tanda será el tamaño máximo de un paquete excepto el
último paquete de datos que contendrá los datos que faltan. De modo que un
43
paquete recibido por el cliente que no consiga llenar el buffer de datos de la IRP
puede interpretarse de diferentes modos en función de las expectativas del cliente, si
esperaba recibir una cantidad variable de datos considerará que se trata del último
paquete de datos, sirviendo pues como delimitador de final de datos, mientras que si
esperaba una cantidad específica de datos lo tomará como un error.
Streams
No necesita que los datos se transmitan con una cierta estructura. Las tuberías
stream son siempre unidireccionales y los datos se transmiten de forma secuencial:
"first in, firstout". Están pensadas para interactuar con un único cliente, por lo que no
se mantiene ninguna política de sincronización entre múltiples clientes en caso de
que así sea. Un stream siempre se asocia a un único endpoint en una determinada
orientación.
Mensajes
Frames y microframes
Tipos de transferencias52
· Transferencias de control
· Transferencias isócronas
· Transferencias de interrupción
· Transferencias de bultos ("Bulk")
54
http://usuarios.multimania.es/kurganz/datos_tecnicos/protocolo.html
46
55
http://usuarios.multimania.es/kurganz/datos_tecnicos/protocolo.html
47
1.10.6.4 La Eléctrica57
56
http://usuarios.multimania.es/kurganz/datos_tecnicos/protocolo.html
57
http://usuarios.multimania.es/kurganz/datos_tecnicos/electrica.html
48
Codificación de datos
58
http://usuarios.multimania.es/kurganz/datos_tecnicos/electrica.html
59
http://www.monografias.com/trabajos11/usbmem/usbmem.shtml
49
Relleno de bits
Debido a que cadenas de unos pueden producir largos periodos en los que la señal
no cambia dando lugar a problemas de sincronización, se introducen los bits de
relleno. Por cada 6 bits consecutivos a "1" se inserta un bit a "0" para forzar un
cambio, de esta forma el receptor puede volverse a sincronizar. El relleno bits
empieza con el patrón de señal Sync. El "1" que finaliza el patrón de señal Sync es el
primer uno en la posible primera secuencia de seis unos.
En las señales a velocidad media o baja, el relleno de bits se utiliza a lo largo de todo
el paquete sin excepción. De modo que un paquete con siete unos consecutivos será
considerado un error y por lo tanto ignorado.
En el caso de la velocidad alta se aplica el relleno de bits a lo largo del paquete, con
la excepción de los bits intencionados de error usados en EOP a velocidad alta.
Sync
60
http://usuarios.multimania.es/kurganz/datos_tecnicos/electrica.html
50
A todo paquete le sigue EOP, cuya finalidad es indicar el final del paquete.
En el caso de velocidad media y baja el EOP consiste en que, después del último bit
de datos en el cual la señal estará o bien en estado J, o bien en estado K, se pasa al
estado SE0 durante el periodo que se corresponde con el ocupado por dos bits,
finalmente se transita al estado J que se mantiene durante 1 bit. Esta última
transición indica el final del paquete.
1.10.6.5 La Mecánica62
61
http://usuarios.multimania.es/kurganz/datos_tecnicos/electrica.html
62
http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
51
El cable USB tiene cuatro conductores, dos conductores de potencia y dos de señal,
D+ y D-. Los cables de media y alta velocidad están compuestos por un par trenzado
de señal, además de GND (Tierra) y Vbus.
Existen tres tipos de cables USB: cable estándar de quita y pon, cable fijo de media y
alta velocidad, y cable fijo de baja velocidad.
63
http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
52
64
http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
53
Al igual que el cable fijo de alta y media velocidad tiene un conector macho de Serie
A en un extremo, mientras que el otro depende del fabricante. La diferencia es que
este tipo de cables sólo funciona con dispositivos de velocidad baja, la Tabla 1.8
hace referencia a la señal que provee cada uno de sus respectivos contactos.
Tabla 1.8 Señal que provee cada uno de los contactos y su color identificativo.65
El icono USB
65
http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
66
http://www.usb.org
67
http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
54
1.11 MICROCONTROLADOR68
Los PIC son una familia de microcontroladores tipo RISC, fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división
de microelectrónica de General Instrument.
68
http://es.wikipedia.org/wiki/Microcontrolador
55
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000,
siendo en general una buena CPU, ésta tenía malas prestaciones de entradas, y el
PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando
peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para
realizar estas tareas y aunque el término no se usaba por aquel entonces, se trata de
un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.
69
ttp://www.scribd.com/doc/2940003/PIC18F4550
56
Figura 1.23 Distribución de pines con sus respectivos nombres del PIC 18F4550.70
1.12.3 Organización de Memoria
El PIC usa un juego de instrucciones tipo RISC, cuyo número puede variar desde 35
para PIC’s de gama baja a 70 para los de gama alta. Las instrucciones se clasifican
entre las que realizan operaciones entre el acumulador y una constante, entre el
acumulador y una posición de memoria, instrucciones de condicionamiento y de
salto/retorno, implementación de interrupciones y una para pasar a modo de bajo
consumo llamada sleep
71
http://electronica-pic.blogspot.com/
58
· PICKit 3 (USB)
· Terusb1.0
· Eclipse (PICs y AVRs. USB.)
· MasterProg (USB)
· Proteus - ISIS
· ICE2000 (puerto paralelo, convertidor a USB disponible)
· ICE4000 (USB)
· PIC EMU
· PIC CDlite
60
CAPÍTULO 2
La idea principal del presente trabajo es que el sistema robótico pueda coger un
objeto situado en una posición de origen y que lo desplace a una posición de
destino.
Para este sistema se utiliza un motor PAP, como lo indica la Figura 2.2, lo más fuerte
posible pues debe encargarse de hacer rotar a todo el brazo robótico.
62
Permite el movimiento vertical de todo el brazo ya sea tanto para subir o bajar el
objeto. Este motor PAP debe de ser liviano pues no debe aportar significativamente
peso al sistema de soporte, también debe ser un motor capaz de realizar el
movimiento indicado anteriormente como también incluido el peso del objeto a
trasladar por lo que se adaptó un sistema de engranajes ganando así mayor fuerza
en el brazo como se muestra en la Figura 2.4.
63
Figura 2.4 Sistemas de engranajes y motor PAP del movimiento vertical del brazo
Para este movimiento se lo realiza con un motor DC, el cual permite un movimiento
vertical pero a diferencia del anterior, este simula el movimiento de la muñeca el cual
es un movimiento más corto, este movimiento facilita la manipulación de un objeto al
momento que se quiere sujetar al mismo. En la Figura 2.6 se muestra el motor DC.
Las pinzas sujetadoras como en la Figura 2.7 son de un material liviano como el
aluminio y cumplen con la función de cerrar y abrir las mismas con el fin de coger y
soltar un objeto.
Para este motor se debe tomar en cuenta que tiene que ser lo suficientemente liviano
para que el motor de soporte del brazo pueda rotar y se ejecute el movimiento
vertical y así poder elevar el objeto, pero a la vez tiene que ser lo suficientemente
fuerte para que pueda accionar a las pinzas sujetadoras, por lo que se utilizará un
motor Micro Servo. La utilización de este motor es con la finalidad de alivianar el
peso total del brazo para evitar motores PAP más fuertes en la base.
65
Teniendo en cuenta que el número de grados de libertad que presentan los brazos
robóticos, son el número de articulaciones de este, entonces al finalizar el diseño se
tiene tres grados de libertad en el brazo los cuales se indican a continuación en la
Figura 2.9
66
INICIO
DEFINICIÓN DE FRECUENCIA
DECLARACIÓN DE CONSTANTES
USBbufferSizeMax
DECLARACIÓN DE VARIABLES
USBBuffer
CONFIGURACIÓN DE PUERTOS
LEER DATOS
No
No
No
No
No
No
No
No
FIN
INICIO
DECLARACIÓN DE CONSTANTES
VendorID, ProductID,BufferIn, BufferOut
DECLARACIÓN DE VARIABLES
DatoSalida
ACTIVACIÓN TECLADO
No Si
NUMÉRICO
Command1_Click() Si Si Keyascii=53
DatoSalida=122
No No
Command2_Click() Si Si Keyascii=50
DatoSalida=123
No No
Command3_Click() Si Si Keyascii=49
No DatoSalida=120 No
Command4_Click() Si Si Keyascii=51
No DatoSalida=121 No
Command5_Click() Si Si Keyascii=54
No DatoSalida=127 No
Command6_Click() Si Si Keyascii=57
No DatoSalida=126 No
Command7_Click() Si Si Keyascii=56
No DatoSalida=124 No
Command8_Click() Si Si Keyascii=55
DatoSalida=125
Envia DatoSalida al Uc
FIN
El Micro recibe las ordenes desde el ordenador o PC atraves del puerto USB, el
micro procesa estas órdenes y la ejecuta enviando una señal hacia los motores para
realizar los movimientos del brazo.
Para el control de los motores unipolares se utiliza una etapa de potencia, la cual
está formada por transistores TIP122 conectados a cada una de la bobinas de los
motores unipolar.
2.2.3.1 FUENTE
72
http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
72
Para el control de los Motores PAP unipolares se lo realiza mediante los transistores
DARLINTONG TIP122 como se indica en la Figura 2.16, los cuales están conectados
a cada una de los extremos de los motores PAP para activar o desactivar cada una
de las bobinas y así producir el giro.
El Motor Unipolar tiene dos terminales comunes, los cuales se conectan a la fuente
de 12v, para activar las bobinas se necesita de un nivel bajo, es decir de 0L, pero a
la salida del microcontrolador se tiene nivel alto o 1L, por lo que se utilizo los
transistores TIP122, los cuales en la base están conectados a la salida del micro, el
emisor está conectado a tierra y el colector se conecta con el terminal de la bobina y
a 12V.
73
Para este motor se utiliza el mismo tipo de transistores que en el motor PAP de la
base del brazo, en la Figura 2.17 se muestra la conexión del motor PAP el cual nos
permite el movimiento de rotación del brazo.
74
El MicroCode Studio plus (MCSP) es una interface en el cual se edita el código del
programa para que el microcontrolador realice un trabajo determinado, el mismo que
corrige errores de sintaxis, ordena visualmente las subrutinas, como se indica en la
Figura 2.20
La segunda parte del programa consta del Programa Principal en la cual se definen
las instrucciones a ejecutar por parte del microcontrolador, también se define el
tiempo entre cada paso de los motores PAP, motor DC, y servo motor.
La tercera parte consta de la subrutina las cuales son instrucciones escritas por
separado del programa principal para realizar una función que pueda ser usada
repetidamente por el programa principal y que facilitan la estructuración del
programa.
La placa del circuito electrónico tiene como unidad de control al PIC 18F4550, el cual
se encarga de manejar correctamente el movimiento de cada uno de los motores
PAP, motor DC y el Servo Motor; ubicados en las diferentes partes del brazo.
Para el control de los motores PAP unipolares se lo realiza mediante los transistores
DARLINGTON TIP122 que están conectados a cada uno de los extremos de las
bobinas.
Para el control del Servo Motor se lo realiza a través de un capacitor para estabilizar
el voltaje a la entrada del motor.
X VAR BYTE
Y VAR BYTE
****************************CONFIGURACION DE PUERTOS***************************
' ************************************************************
' * main program loop - remember, you must keep the USB *
' ************************************************************
81
*********************************PROGRAMA PRINCIPAL**********************************
PORTB=%00000010
USBSERVICE
PAUSE 30
PORTB=%00001000
USBSERVICE
PAUSE 30
PORTB=%00000001
USBSERVICE
PAUSE 30
USBSERVICE
PORTB=%00001000
USBSERVICE
PAUSE 30
PORTB=%00000010
USBSERVICE
PAUSE 30
PORTB=%00000100
USBSERVICE
PAUSE 30
USBSERVICE
PORTB=%10000000
USBSERVICE
PAUSE 10
PORTB=%00100000
USBSERVICE
PAUSE 10
PORTB=%01000000
USBSERVICE
PAUSE 10
PORTB=%00100000
USBSERVICE
PAUSE 10
PORTB=%10000000
USBSERVICE
PAUSE 10
84
PORTB=%00010000
USBSERVICE
PAUSE 10
' ************************************************************
' ************************************************************
86
***************************************SUBRUTINA****************************************
return
2.3.3.1 Características.
· Permite usar con facilidad la plataforma de los sistemas Windows, dado que
tiene acceso prácticamente total a la API de Windows, incluidas librerías
actuales
· Es uno de los lenguajes de uso más extendido, por lo que resulta fácil
encontrar información, documentación y fuentes para los proyectos.
· Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros
lenguajes.
· Automatizar funcionalidades en documentos, hojas de cálculo, bases de datos
(access).
· Si bien permite desarrollar grandes y complejas aplicaciones, también provee
un entorno adecuado para realizar pequeños prototipos rápidos.
En la Figura 2.27 se muestra la ventana del Visual Basic en la cual iniciamos nuestra
programación.
89
****************************DECLARACION DE VARIABLES****************************
Option Explicit
****************************DECLARACION DE CONSTANTES****************************
Private ConstBufferOutSize = 8
DatoSalida = 122
DatoSalida = 123
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 120
BufferOut(1) = DatoSalida
End Sub
91
DatoSalida = 121
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 127
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 126
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 124
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 125
BufferOut(1) = DatoSalida
End Sub
DatoSalida = 120
DatoSalida = 121
BufferOut(1) = DatoSalida
End If
DatoSalida = 122
BufferOut(1) = DatoSalida
End If
DatoSalida = 123
BufferOut(1) = DatoSalida
End If
DatoSalida = 124
BufferOut(1) = DatoSalida
End If
DatoSalida = 125
BufferOut(1) = DatoSalida
End If
DatoSalida = 126
BufferOut(1) = DatoSalida
End If
DatoSalida = 127
95
BufferOut(1) = DatoSalida
End If
End Sub
' ****************************************************************
' when the form loads, connect to the HID controller - pass
' the form window handle so that you can receive notification
' events...
'*****************************************************************
End Sub
'*****************************************************************
'*****************************************************************
BufferOut(8) = 0
DisconnectFromHID
End Sub
'*****************************************************************
'*****************************************************************
End If
End Sub
'*****************************************************************
'*****************************************************************
End If
97
End Sub
'*****************************************************************
'*****************************************************************
' get the handle of the device we are interested in, then set
' its read notify flag to true - this ensures you get a read
hidSetReadNotifyDeviceHandle, True
End Sub
'*****************************************************************
'*****************************************************************
' read the data (don't forget, pass the whole array)...
98
' the other bytes are the data from the microcontrolller...
End If
End Sub
'*****************************************************************
'*****************************************************************
' write the data (don't forget, pass the whole array)...
End Sub
99
CAPÍTULO 3
Para la utilización del brazo robótico se ha diseñado una pantalla de dialogo para que
el usuario interactué con el PC y el Brazo, los movimientos que realiza el
manipulador se lo puede realizar de dos formas.
La primera mediante la utilización del Mouse, haciendo click en cada uno de los
botones de la ventana de la aplicación.
La segunda forma puede ser mediante la digitalización del teclado numérico del PC.
Para facilitar el acceso del usuario a la ventana de control del brazo se creó un
archivo ejecutable con ayuda del Programa Visual Basic para el acceso directo con
nombre de CONTROLBRAZOUSB.exe. Este ejecutable se lo puede crear con la
opción Archivo que se encuentra en la barra de Menu del Visual Basic.
Las teclas numéricas del computador que se relaciona con cada uno de los
movimientos del brazo se detallan a continuación en la Tabla 3.1
Para proceder a realizar las pruebas se debe tener en cuenta cierto aspecto para su
funcionamiento; una fuente de alimentación de DC de 12v y 2 A para la alimentación
del circuito.
El diseño inicial de brazo se muestra en la Figura 3.2, el cuál al realizar las primeras
pruebas presento algunos inconvenientes que se detalla a continuación.
Al realizar el cambio del Motor Paso a Paso por el Motor DC nos surgió otro
problema, se gano mayor peso en la estructura total del brazo afectando al
movimiento vertical del mismo, el cuál al desactivarse las bobinas de este motor,
toda la estructura se viene abajo, por lo que se debía tener activadas las boinas en
todo momento y este motor se recalentaba corriendo el riesgo de fundirse. Para
solucionar este problema se opto por cambiar por otro sistema de engranajes más
grandes y en el cual exista un cambio de giro permitiendo ganar mayor fuerza en el
sistema permitiendo activar y desactivar las bobinas de este motor únicamente
cuando sea necesario. En La Figura 3.4 se muestra al Motor paso a paso con el
sistema de engranajes utilizado inicialmente.
104
Figura 3.4 Movimiento Vertical del Brazo con sistema de engranajes inicial.
En la Figura 3.8 se muestra al brazo con el objeto elevado listo para trasladarlo.
Luego de realizar varias pruebas con diferentes objetos de distintos pesos, se puede
determinar que el brazo robótico diseñado puede levantar los pesos máximos que se
detallan en la Tabla 3.2
En la tabla 3.2 se detalla los motores que realizan un mayor trabajo ya que estos
son los que soportan gran parte del peso de los objetos a levantar.
109
3.3 COSTOS
En la Tabla 3.3 se detalla la lista de materiales y el precio de cada uno de ellos
utilizados en la Placa Electrónica.
En la Tabla 3.4 se detallan los componentes y sus precios del brazo robótico.
Tabla 3.4 Componentes del Brazo
LISTA DE COMPONENTES DEL BRAZO
P. P.
CANTIDAD MATERIAL UNITARIO TOTAL
2 Motores PAP 16.00 32.00
1 Motor DC 32.00 32.00
1 servo motor 13.00 13.00
juegos de engranajes 15.00 15.00
placas de aluminio, otros 20.00 20.00
1 Ventilador 2.90 2.90
1 caja base de acero 15.00 15.00
1 Pinzas 19.80 19.80
1 extensión para el servo 2.00 2.00
1 cable USB 2.50 2.50
1 fuente de 12 V y 2 A 12.00 12.00
TOTAL 166.20
Los materiales y elementos utilizados en este proyecto se los puede conseguir con
facilidad en el mercado local y los precios pueden variar de acuerdo al lugar de
compra.
111
CONCLUSIONES
· Para la programación del Microcontrolador se utilizó el programa de MicroCode
Studio Plus, por la ventaja de que este programa posee una herramienta llamada
EasyHIDWizard la cual genera automáticamente la comunicación USB.
· Para realizar la pantalla de interacción con el usuario se utilizó el Programa Visual
Basic por la facilidad que brinda para realizar la interfaz, y es mucho más
amigable para el programador.
· Inicialmente el proyecto está diseñado con el PIC 18F2550, posteriormente se
cambió con el PIC 18F4550, por lo que se necesita mayor número de puerto de
comunicación para el control de todos los motores.
· El trabajo final de tesis dio como resultado dos diseños; en el primer diseño para
la sección de la muñeca se utilizo un motor de PAP, sin embargo no se pudo
levantar pesos de mucha trascendencia, debido a esto el diseño del brazo
cambió únicamente en la sección de la muñeca donde se cambia el motor previo
por un motor DC con caja de reducción; el mismo que permite levantar objetos de
pesos de hasta 0.25Kg. Nuestro diseño final fue modificado pensando en mejorar
la calidad del producto final para que este sea útil al realizar demostraciones en
laboratorio con pesos de más relevancia experimental.
· Se implementó con éxito el nuevo prototipo de un sistema electrónico para control
de manejo de objetos mediante el sistema del brazo robótico controlado por un
ordenador, a través del microcontrolador PIC18F4550.
· Se analizó cada una de las ventajas de los motores utilizados para la
implementación adecuada de cada una de las articulaciones, motores PAP y DC
son mucho mas fuertes, livianos y de fácil control.
· El brazo robot resultó ser muy útil en el manejo de objetos, su manipulación es
bastante sencilla gracias a la ayuda del teclado numérico.
· Además al hacer este proyecto se aprendió a trabajar en equipo, y se adquirió
experiencia en la forma de trabajar en una idea y como llevarla a cabo.
112
RECOMENDACIONES
· Se debe tomar muy en cuenta el uso de materiales livianos para la
construcción del brazo, ya que todo peso adicional redundará en una
complejidad mecánica, debido a que obligará a utilizar motores de mayores
potencias. Un buen material es el aluminio, que es el que se ha utilizado en la
elaboración de este proyecto, este es fácil de conseguir, y extremadamente
liviano en comparación con su dureza.
· En la construcción de este prototipo es recomendable la utilización de un
servo motor para controlar la apertura y cierre del aprehensor de la mano, ya
que este es muy liviano y aporta al sistema un peso insignificativo.
· Se recomienda utilizar un sistema de engranajes en los motores PAP, para la
transmisión de movimientos y así poder ganar mayor fuerza en los motores;
ya que estos no tienen mucha fuerza en comparación a otro tipo de motores.
· Para la alimentación del circuito se debe utilizar una fuente no más de 12V y
con un amperaje promedio de 2A, debido a que si se utiliza una fuente de
menor amperaje se corre el riesgo de que la corriente no abastezca a todo el
sistema.
· El uso de este brazo robot se recomienda como medida de seguridad en
aquellas plantas industriales en la que la salud del operador se ponga en
riesgo al estar realizando una manipulación de sustancias y/u objetos
peligrosos.
113
BIBLIOGRAFÍA
Monografias.com
1. http://www.monografias.com/trabajos6/oti/oti.shtml
2. http://www.monografias.com/trabajos6/oti/oti.shtml
Archivo PDF
3. http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.
pdf
4. http://antiguo.itson.mx/rieeandc/vol4p1_archivos/Art2Junio08.pdf
5. http://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.1.htm
6. http://html.rincondelvago.com/robotica_1.html
7. http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/gutierrez_r_mg/capitulo0.
pdf
8. http://members.fortunecity.es/obiwankenobi2000/docs/ee444/ee444pap.htm
Servomotor, Wikipedia
9. http://es.wikipedia.org/wiki/Servomotor
10. http://es.wikipedia.org/wiki/Motor_de_corriente_continua
El Bus USB
11. http://usuarios.multimania.es/kurganz/introduccion.html
12. http://usuarios.multimania.es/kurganz/caracteristicas.html
114
13. http://usuarios.multimania.es/kurganz/datos_tecnicos.html
14. http://usuarios.multimania.es/kurganz/datos_tecnicos/protocolo.html
15. http://usuarios.multimania.es/kurganz/datos_tecnicos/electrica.html
16. http://usuarios.multimania.es/kurganz/datos_tecnicos/mecanica.html
17. http://www.informaticamoderna.com/El_puerto_USB.htm#ver
18. http://www.semiconductors.philips.com/buses/usb/products/otg/
USB, Monografias.com
19. http://www.monografias.com/trabajos11/usbmem/usbmem.shtml
20. http://www.usb.org
21. USB - Hardware & Software; John Garney, Ed Solari, KosarJaff (Ed.
Annabooks)
Microcontrolador, Wikipedia
22. http://es.wikipedia.org/wiki/Microcontrolador
Electrónica PIC
23. http://electronica-pic.blogspot.com/
24. http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
115
ANEXOS
MANUAL DE USUARIO
El circuito se debe conectar a una fuente de 12v con una corriente de 2A para
garantizar la operación óptima del sistema.
Para la comunicación del ordenador y el micro se conecta un cable USB entre los
equipos. Una vez que está hecha la comunicación física entre el ordenador y el micro
se procede a abrir el archivo ejecutable con el nombre de CONTROL BRAZO USB
que se provee en un CD.
La ventana de interacción entre el usuario y el brazo es la que se muestra a
continuación en la cual consta todos los movimientos a realizarse por el brazo.
Para que el Brazo realice un movimiento se debe hacer click en las pestañas de color
gris en el movimiento que se desea y este envía la orden al micro para ejecutar la
acción indicada con el mouse.
Otra forma para operar el Brazo es con la ayuda del teclado numérico del ordenador,
esta operación fue diseñada pensando en la comodidad del usuario, ya que si
deseamos realizar movimientos constantes en el brazo robótico se tendría que hacer
varias veces click en las pestañas, mientras que con el teclado numérico solamente
se debe tener presionado la tecla que corresponde al movimiento deseado, y este lo
realiza constantemente hasta que se deje de presionar la tecla.
Para la activación del teclado numérico se lo realiza señalado con e mouse en el
recuadro azul de la ventana de interacción.
A continuación se detalla cada uno de los movimientos que puede realizar el Brazo
Robótico con su respectiva Tecla Numérica.
MOVIMIENTOS TECLA NUMERICA
IZQUIERDA 1
BASE
DERECHA 3
ARRIBA 1 5
ANTEBRAZO
ABAJO 1 2
ARRIBA 2 8
MUÑECA
ABAJO 2 7
ABRIR 9
PINZAS
CERRAR 6
MANUAL DE MANTENIMIENTO
Uno de los elementos más susceptibles a percibir daños es el Integrado L293D que
se indica en la figura de la placa electrónica, debido a que éste está polarizado
directamente a la fuente de 12v a 2A, para realizar el cambio de este integrado es
muy sencillo ya que este está ubicado sobre un zócalo facilitándonos su reemplazo.
GLOSARIO
ADB (Apple Desktop Bus) Puerto serie de 4 hilos para enchufar el teclado en los
Macs también conocido como 4-pin Mini Din o S-Video connector.
Geoport - Puerto de serie para los ordenadores Apple que proporciona un interfaz
entre la línea telefónica y el ordenador.
HID (Human Interface Device) Dispositivos que son usados por el hombre para
operar con un sistema informático. Algunos ejemplos pueden ser: teclados, ratones,
trackballs, joysticks, guantes de datos, volantes y pedales. También son HIDs los
lectores de códigos de barras, medidores de temperatura o voltímetros.
IRPs (I/O Request Packets) en español Petición de paquetes de E/S. Los detalles
sobre los IRPs dependen del sistema operativo que se utilice. De modo que en este
documento el término hace referencia a una petición identificable por el software
cliente para mover datos entre el y un endpoint de un dispositivo en una dirección
apropiada.
ISDN (Integrated Services Digital Network) en español RDSI. Red que facilita
conexiones digitales extremo a extremo para proporcionar una amplia gama de
servicios, tanto de voz como de otros tipos, y a la que los usuarios acceden a través
de un conjunto de interfaces normalizados.
PBX (Private Branch eXchange) Red de teléfono privada usada dentro de una
empresa cuyos usuarios pueden compartir un cierto número de líneas externas para
hacer llamadas al exterior de la PBX.
PnP o Plug & Play Sistema de reconocimiento por el que el sistema operativo
detecta un nuevo hardware. Tras la detección, el sistema busca el software que lo
gestione, y que suele estar en los discos que el fabricante ofrece con el dispositivo.
POTS (plain old telephone service) Servicio telefónico estándar, también llamada red
telefónica pública conmutada o public switched telephone network (PSTN).
RS-232 Estándar de comunicación serie utilizado desde los primeros PCs hasta la
actualidad.
DATASHEET
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
Los HKT900 son uno de los más famosos servos de 9gr disponibles, con la mejor
relación precio/calidad.
Especificaciones
· Tamaño: 21x12x22mm
· Voltaje: 3 a 6 V
· Peso: 9gr
· Velocidad: 0.12 seg/60 (4.8V)
147
This high-quality metal gearmotor is a compact (1.16" x 0.61" x 0.61") motor with an
enclosed 115:1 metal gearbox. These units have a 0.365"-long, 3 mm-diameter D-
shaped output shaft.
Key specs at 6 V: 140 RPM and 60 mA free-run, 35 oz-in (2.5 kg-cm) and 0.8 A stall.
Gearmotor Dimensions:
This motor has a long (0.365" or 9.27 mm), 3 mm-diameter D-shaped metal output
shaft that matches our assortment of Pololu wheels and the Solarbotics RW2 rubber
wheel. Alternatively, our 3mm universal mounting hub can be used to mount custom
wheels and mechanisms to the gearmotor’s output shaft.
The face plate has two mounting holes threaded for M2 screws. We do not currently
offer any brackets that work with this motor.