Dirección General de Educación Superior Tecnológica
INSTITUTO TECNOLÓGICO DE LERMA
RESIDENCIAS PROFESIONAL
INSTITUTO TECNOLÓGICO DE LERMA
COORDINACION DE LA CARRERA DE INGENIERÍA
ELECTRÓNICA
“CONTROL DE MANDO PARA EL BRAZO ROBÓTICO,
YOUPI”
ASESORES:
ING. FERNANDO ABRAHAM ESCALANTE GUERRERO
ING. ROGER CAN ARANA
PRESENTA:
CARLO ROMAN GARCIA CASTILLA
061010074
INGENIERIA ELECTRONICA
OPCIÓN: COMUNICACIONES
LERMA, CAMP., DICIEMBRE 2010
ÍNDICE
Página
INTRODUCCIÓN 12
MARCO TEORICO
ANTECEDENTES DE LA ROBÓTICA 14
CONFIGURACIÓN DEL BRAZO ARTICULADO ESFÉRICO 19
OBJETIVOS
GENERAL 20
ESPECÍFICOS 21
PLANTEAMIENTO DEL PROBLEMA 23
JUSTIFICACIÓN 24
CAPITULOS
1. DESCRIPCIÓN DEL BRAZO ROBÓTICO YOUPI
1.1 Antecedentes del brazo robótico Youpi 26
1.2 Artes y componentes del brazo robótica Youpi 27
1.2.1 Componentes mecánicos 27
1.2.2 Componentes eléctricos y electrónicos 32
2. ANÁLISIS Y DIAGNÓSTICO DEL BRAZO ROBÓTICO YOUPI
2.1 Sistema mecánico 34
2.1.1 Motores 39
3. DISEÑO ACTUAL DEL BRAZO ROBÓTICO YOUPI
3.1 Diseño actual de etapa de potencia 43
3.1.1 Característica de motores 43
3.1.2 Drivers 44
4. DISEÑO DE LA ETAPA DE CONTROL DEL YOUPI
4.1 Etapa del microcontrolador 48
4.2 Etapa de sensores 50
5. PROGRAMACIÓN DEL MICROCONTROLADOR 16F886
5.1 Descripción y características del software 53
5.2 Características 54
5.3 Pruebas y resultados 56
6. DESCRIPCIÓN DEL JOYSTICK
6.1 Diagrama a bloques 58
6.2 Funcionamiento 59
6.3 Descripción física de botones y palanca 61
6.4 Proceso de fabricación 63
6.5 Fabricación del prototipo y evaluación de su funcionamiento 69
6.6 Desarmado de la palanca 78
6.6.1 Modificación 81
6.6.2 Instalación de indicadores en la base 89
6.6.2.1 Perforación y colocación de los sujetadores de
los LED indicadores 102
6.6.3 Colocación del Switch de encendido y apagado del
control de mando joystick 106
6.6.3.1 Configuración del circuito de conexión de
habilitación del control de mando 111
6.7 Armado de la placa de control 114
6.8 Armado del cableado conector 118
7. DESCRIPCIONES PERSONALES DE LOS MODULOS
7.1 Descripción de los módulos previamente construidos 125
7.2 Módulo principal 127
7.2.1 Área de alimentación eléctrico 129
7.2.2 Área de pines de entrada o dirección 130
7.2.3 Área de control de motores 132
7.3 Módulos de potencia 135
7.3.1 Módulos Drivers 135
8. CONEXIÓN DE LOS MODULOS DE RF “Cy2196R” 138
8.1 Contexto general del módulo 139
8.2 La programación del PIC para el funcionamiento de la radio
frecuencia.
141
8.2.1 Receptor 141
8.2.2 Selección de un canal 142
8.3 Recepcionar un dato 144
8.4 Envío de datos 145
CONCLUSIÓN 146
APÉNDICE
Programación usada en el modulo principal PIC # 1 149
Programación usada en el modulo principal PIC # 2 154
Principio de funcionamiento de un motor PaP 159
Descripción detallada de la programación 169
GLOSARIO 177
BIBLIOGRAFÍA 181
ÍNDICE DE FIGURAS
Figura Página
A Ejemplo De Brazo Robótico Escolar 14
B Robot Ensamblador 17
C Configuración Brazo Articulado 19
1.1 CPU Modelo 8086 26
1.2 Partes Del Brazo Robótico Youpi 27
1.3 Plataforma 27
1.4 Disposición De Motores En La Base 28
1.5 Brazo 28
1.6 Antebrazo Y Codo 29
1.7 Muñeca 29
1.8 Pinza 30
1.9 Engranes Limitadores De Movimiento 30
1.10 Engranes De Transmisión De Fuerza 31
1.11 Bandas De Movimientos Superior 31
1.12 Bandas De Transmisión De Fuerza 31
1.13 Motores Del Youpi. 32
1.14 Motor PaP De La Pinza 32
1.15 Sensores Originales Del Youpi 32
2.1 Componentes Mecánicos 34
2.2 Primera Recuperación Del Youpi 34
2.3 Posición De Desmantelamiento 35
2.4 Desarmado Lateral 35
2.5 Mecanismos Trabados 36
2.6 Mecanismo Destrabado 36
2.7 Desmantelamiento De Plataforma 37
2.8 Engrane De Torque De La Base 38
2.9 Engrane De Movimiento De La Base Del Youpi 38
2.10 Motor PaP Crouzet 39
2.11 Disposición De Bobinas En Un Motor Unipolar 39
2.12 Ejemplo De Un Driver Sencillo 40
3.1 Módulo De Potencia L298n 44
3.2 Disposición De Pines Del L298n 45
3.3 Diagrama Interno Del L298n 45
3.4 Diagrama De Conexión Del Driver 46
4.1 Diagrama Esquemático De Control "Módulo Principal" 48
4.2 Disposición De Componentes Del Tarjeta De Control 49
4.3 Sensores Originales 50
4.4 Diagrama Esquemático Para Sensores 51
4.5 Módulo De Sensores 51
5.1 Diagrama De Flujo De Control. 55
6.1 Diagrama A Bloques De Los Módulos 58
6.2 Joystick Original 59
6.3 Funciones Joystick 59
6.4 Palanca 61
6.5 Joystick Vista Superior 62
6.6 Joystick Vista Superior 2 62
6.7 Simulación Pic18f4550 64
6.8 Área De Control 65
6.9 Indicadores 67
6.10 Salidas 68
6.11 Proto Vista Superior 69
6.12 Vistas 70
6.13 Caso #1 71
6.14 Caso #1-2 72
6.15 Caso #2 73
6.16 Caso #3 74
6.17 Caso #4 75
6.18 Caso #5 76
6.19 Caso #6 77
6.20 Joystick 78
6.21 Desarmado De Palanca 78
6.22 Palanca Y Tornillos 79
6.23 Palanca Abierta 79
6.24 Mecanismos 79
6.25 Placa 1 80
6.26 Placa 2 80
6.27 Placa 3 80
6.28 Placa 4 80
6.29 Placa 5 80
6.30 Placa Modificada 81
6.31 Base Vista Inferior 82
6.32 Tornillos Base 82
6.33 Desarme De Base 1 83
6.34 Desarme De Base 2 83
6.35 Base Abierta 84
6.36 Cableado Base 84
6.37 Partes De La Base 85
6.38 Conector Original Joystick 1 85
6.39 Conector Original Joystick 2 85
6.40 Switch Apagador 86
6.41 Corte De Placa Apagador 86
6.42 Placa Cortada 86
6.43 Cable Serial Db25 87
6.44 Cable Cortado 87
6.45 Cable Adaptado Al Joystick 87
6.46 Vista Inferior De Adaptación Del Cable 88
6.47 LED 89
6.48 Resistencia 89
6.49 Cables De Colores 89
6.50 Pieza De Termofil 90
6.51 Encendedor 90
6.52 Equipo De Soldadura 90
6.53 Taladro Y Cautín 91
6.54 Soldando LED Y Resistencia 91
6.55 LED Soldados 92
6.56 Adecuación De LED 92
6.57 LED Con Resistencias 93
6.58 Estañando Cables 93
6.59 Soldando Cables Al LED 94
6.60 Cables De Tierra 95
6.61 Soldando Tierras Al LED 95
6.62 Colocando Termofil Al LED 96
6.63 Calentando Termofil 96
6.64 LED Terminado 97
6.65 Conectando Cable Común A Los LED 97
6.66 Soldando Cable Común A Los LED 98
6.67 Conexión De Cable Común 98
6.68 Conexión De Cable Común Listo 99
6.69 Recubrimiento De Resistencias Con Termofil 1 100
6.70 Recubrimiento De Resistencias Con Termofil 2 100
6.71 Recubrimiento De Resistencias Con Termofil 3 101
6.72 Recubrimiento De Resistencias Con Termofil 4 101
6.73 Base De LED Lista 102
6.74 LED Listos Y Base 103
6.75 Ajustando LED En Base 103
6.76 LED 1 Ajustado 103
6.77 Ajustando LED 2 104
6.78 LED 2 Ajustado 104
6.79 Indicadores Listos 105
6.80 Apagador 2 Estados 106
6.81 Perforación Del Apagador 106
6.82 Perforación Del Apagador 2 107
6.83 Perforación Del Apagador 3 107
6.84 Proceso De Perforación 108
6.85 Perforación Lista 108
6.86 Colocando Apagador 109
6.87 Vistas Del Apagador Colocado 109
6.88 Vistas Del Apagador Colocado 2 109
6.89 Vista Interna De La Base 110
6.90 Adecuando Tapa De La Base 110
6.91 Diagrama De Alimentación Eléctrica 111
6.92 Simulación De Alimentación Eléctrica 112
6.93 Piezas De Alimentación Eléctrica 113
6.94 Soldando PIC 114
6.95 Vista Superior Del PIC Del Joystick 114
6.96 Vista Superior Del PIC Del Joystick 2 117
6.97 Colocación Del PIC En El Joystick 117
6.98 Cable Y Conector DB15 118
6.99 Cableado Y Configuración Del Conector DB15 118
6.100 Vistas Del Código 119
6.101 Cable Y Conector Con Código 120
6.102 Cable Con Código Y Recubrimiento De Termofil 120
6.103 Chasis Protector Del Conector DB15 121
6.104 Armando El Chasis 121
6.105 Proceso De Armado De Chasis 122
6.106 Cable DB15 Terminado 122
6.107 Conectando El Cable DB15 Al Modulo Principal 123
6.108 Conexión DB15 Lista 123
7.1 Modulo Principal 125
7.2 Modulo De Sensores 126
7.3 Módulo Principal Completo 127
7.4 Cable Conector Del Modulo De Sensores 127
7.5 Área De Conexión Del Cable De Sensores 128
7.6 Fuentes Reguladas 129
7.7 Tablilla Botonera 130
7.8 Cable Plano De 16 Hilos 131
7.9 Botonera Original 131
7.10 Área De Conexión De Botonera 131
7.11 Área De PIC 132
7.12 Simulación De Modulo Principal 134
7.13 Driver L298 135
7.14 Driver L298N 136
7.15 Pin-Out De L298 137
7.16 Simulación Modulo De Driver 137
8.1 Modulo De Rf 139
8.2 Simulación De Conexión De Los Módulos 140
I Rotor De Un Motor PaP 160
II Un Estator De 4 Bobinas 160
III Motor Bipolar 160
IV Motor Unipolar 161
V Ejemplo Del Driver Uln2803 161
VI Diagrama Interno De Motores PaP Bipolar 167
VII Diagrama Interno De Motores PaP Unipolar 167
INDICE DE TABLAS
Tabla Página
2.1 Activación De Bobinas 40
2.2 Características De Los Motores 43
6.1 Movimientos Del Brazo Robótico Youpi 63
6.2 Combinación De Bit De Entrada 66
6.3 Configuración De Casos 68
6.4 Combinación De Colores De Indicadores 93
6.5 Salidas De Configuración De Cableado 115
6.6 Configuración De Cableado De Entrada 116
6.7 Configuración De Cableado De Potenciómetro 116
6.8 Código Del Termofil Del Conector 119
I Secuencia De Control 162
II Secuencia Normal De Activación 163
III Secuencia Wave Drive De Activación 164
IV Secuencia Medio Paso 165
V Como Activar Un Motor PaP 169
12
INTRODUCCIÓN.
En estas últimas cinco décadas de tantos adelantos tecnológicos, ¿Quién no ha
escuchado la palabra robot y sus variantes?, la robótica como la electrónica han crecido
a escalas inimaginables en países como: Japón, China, Alemania, Estados Unidos,
Francia, España, entre otros; debido a que en éstos, existe un gran desarrollo económico
y educativo que impulsa el avance de técnicas diversas en la automatización de sus
procesos industriales.
El ser humano en muchas ocasiones compromete su integridad física con el propósito de
realizar tareas, operaciones, aplicaciones o procesos que requieren de precisión y
exactitud y que por errores del mismo, terminan en tragedias humanas y/o grandes
pérdidas económicas, es por ello la creación de máquinas que puedan relevar al hombre
al realizar estas. Durante décadas se han desarrollado varios tipos de brazos
electromecánicos, la mayoría de estos para realizar tareas específicas en la producción
industrial.
Actualmente en México, las escuelas tecnológicas de nivel superior que ofrecen las
carreras de electrónica y mecatrónica adquieren para sus laboratorios herramientas y
equipos de automatización similares a los que se encontrarían en ciertas empresas que
cuentan con equipos de esta índole.
13
Este es el caso del Instituto Tecnológico de Lerma, el cual recibió un brazo robótico de
origen francés llamado “YOUPI” a mediados de los 90’s; este equipo debido a la
incompatibilidad de la red de energía eléctrica sufrió daños al ser utilizado en las
prácticas de los estudiantes, los cuales lo dejaron rezagado al grado de declararlo casi
obsoleto.
Hoy en día con los adelantos tecnológicos en partes electrónicas se pueden realizar
ciertas modificaciones o innovaciones a equipos de esta índole. Para el brazo robótico
YOUPI este es su momento de reaparecer como un equipo funcional, compatible y
capaz de aceptar la reingeniería en su diseño.
Se mencionan las descripciones y evaluaciones de los componentes tanto mecánicos
como electrónicos del robot.
Se hace mención de propuestas de rediseño en las etapas de potencia, de sensores y de
control lógico, además de la reconstrucción de componentes mecánicos de este brazo
robótico.
Cabe señalar que se realizará un microprograma de control para este brazo robótico a fin
de demostrar su funcionamiento, y reintegrarlo nuevamente al catálogo de herramientas
para el aprendizaje de estudiantes del Instituto Tecnológico de Lerma.
14
MARCO TEÓRICO.
ANTECEDENTES DE LA ROBÓTICA.
La palabra robot fue usada por primera vez en el año 1921, cuando el escritor checo
Karel Capek (1890 - 1938) estrena en el teatro nacional de Praga su obra Rossum's
Universal Robot (R.U.R.). Su origen es de la palabra eslava robota, que se refiere al
trabajo realizado de manera forzada.
“Figura A” EJEMPLO DE BRAZO ROBÓTICO ESCOLAR
Con el propósito de diseñar una máquina flexible, adaptable al entorno y de fácil
manejo, George Devol, pionero de la Robótica Industrial, patentó en 1948, un
manipulador programable que fue el germen del robot industrial.
En 1954, se usó la tecnología electrónica y del servocontrol sustituyendo la transmisión
mecánica por eléctrica y desarrollando así el primer telemanipulador con servocontrol
bilateral.
Otro de los pioneros de la telemanipulación fue Ralph Mosher, Ingeniero de la General
Electric que en 1958 desarrolló un dispositivo denominado Handy-Man, consistente en
dos brazos mecánicos teleoperados mediante un equipo denominado exoesqueleto.
15
Junto a la industria nuclear, a lo largo de los años sesenta la industria submarina
comenzó a interesarse por el uso de los telemanipuladores.
La evolución de los telemanipuladores a lo largo de los últimos años no ha sido tan
espectacular como la de los robots. Recluidos en un mercado selecto y limitado
(industria nuclear, militar, espacial, etc.) son en general desconocidos y
comparativamente poco atendidos por los investigadores y usuarios de robots. Por su
propia concepción, un telemanipulador precisa el mando continuo de un operador, y
salvo por las contribuciones incorporadas con el concepto del control supervisado y la
mejora de la telepresencia promovida hoy en día por la realidad virtual, sus capacidades
no han variado mucho respecto a las de sus orígenes.
La sustitución del operador por un programa de ordenador que controlase los
movimientos del manipulador dio paso al concepto de robot.
La primera patente de un dispositivo robótico fue solicitada en marzo de 1954 por el
inventor británico C.W. Kenward. Dicha patente fue emitida en el Reino Unido en 1957,
sin embargo fue Geoge C. Devol, Ingeniero norteamericano, inventor y autor de varias
patentes, fue el que estableció las bases del robot industrial moderno.
En 1954 Devol concibió la idea de un dispositivo de transferencia de artículos
programada que se patentó en Estados Unidos en 1961.
En 1956 Joseph F. Engelberger, director de ingeniería de la división aeroespacial de la
empresa Manning Maxwell y Moore en Stanford, Conneticut. Juntos Devol y
Engelberger, comenzaron a trabajar en la utilización industrial de sus máquinas,
16
fundando la Consolidated Controls Corporation, que más tarde se convierte en
Unimation(Universal Automation), e instalando su primera máquina Unimate (1960), en
la fábrica de General Motors de Trenton, Nueva Jersey, en una aplicación de fundición
por inyección.
Otras grandes empresas como AMF, emprendieron la construcción de máquinas
similares (Versatran- 1963).
En 1968 J.F. Engelberger visitó Japón y poco más tarde se firmaron acuerdos con
Kawasaki para la construcción de robots tipo Unimate. El crecimiento de la robótica en
Japón aventaja en breve a los Estados Unidos gracias a Nissan, que formo la primera
asociación robótica del mundo, la Asociación de Robótica industrial de Japón (JIRA) en
1972. Dos años más tarde se formó el Instituto de Robótica de América (RIA), que en
1984 cambio su nombre por el de Asociación de Industrias Robóticas, manteniendo las
mismas siglas (RIA).
Por su parte Europa tuvo un despertar más tardío. En 1973 la firma sueca ASEA
construyó el primer robot con accionamiento totalmente eléctrico, en 1980 se fundó la
Federación Internacional de Robótica con sede en Estocolmo Suecia.
La configuración de los primeros robots respondía a las denominadas configuraciones
esférica y antropomórfica, de uso especialmente válido para la manipulación. En 1982,
el profesor Makino de la Universidad Yamanashi de Japón, desarrolla el concepto de
robot SCARA (Selective Compliance Assembly Robot Arm) que busca un robot con un
17
número reducido en grados de libertad (3 o 4), un coste limitado y una configuración
orientada al ensamblado de piezas.
“Figura B” ROBOT ENSAMBLADOR
Muchos definen al robot industrial, como una máquina que puede efectuar un número
diverso de trabajos automáticamente, mediante la programación previa, pero no es
válida, porque existen bastantes máquinas de control numérico que cumplen esos
requisitos.
Una peculiaridad de los robots industriales es su estructura de brazo mecánico y otra su
adaptabilidad a diferentes aprehensores o herramientas.
Otra característica específica del robot, es la posibilidad de llevar a cabo trabajos
completamente diferentes e incluso, tomar decisiones según la información procedente
del mundo exterior, mediante el adecuado programa operativo en su sistema informático.
18
ROBÓTICA.
Según la UNSAAC de Perú; la robótica es una rama del árbol de la tecnología,
que estudia el diseño y construcción de máquinas capaces de desempeñar tareas
repetitivas.
Basados en la definición de RoboticSpot de España; la robótica es la ciencia
encaminada a diseñar y construir aparatos y sistemas capaces de realizar tareas
propias de un ser humano.
Se encarga de crear máquinas que reproducen operaciones manuales tediosas,
peligrosas, perjudiciales para el hombre.
La robótica es la rama de la ciencia que se ocupa del estudio, desarrollo y
aplicaciones de los robots.
A partir de las definiciones anteriores, aunque todas giran sobre la misma idea podemos
decir que la Robótica es la ciencia que aplicando todas las tecnologías disponibles se
ocupa del diseño, manufactura y aplicaciones de los robots .
La robótica combina diversas disciplinas como son: la mecánica, la electrónica, la
informática, la inteligencia artificial y la ingeniería de control . Otras áreas importantes
en la robótica son el álgebra y los autómatas programables.
19
CONFIGURACIÓN DE BRAZO ARTICULADO ESFÉRICO
CIRCULAR: utiliza únicamente articulaciones rotacionales para conseguir cualquier
posición, y es por esto, que es el más versátil. Generalmente el volumen de trabajo es
esférico. Este brazo se parece mucho al brazo humano, ya que cuenta con un hombro, un
codo, una muñeca.
Generalmente los materiales que se emplean en estos brazos robóticos son: aluminio,
cobre, acero, aleaciones de titanio, de fibra de carbono e incluso plástico, entre otros.
Un hecho factible es que, entre más liviana es la estructura del cuerpo del robot, se
obtiene cierta rapidez y exactitud en los movimientos del mismo, así como mayor fuerza
en los motores que lo mueven.
“Figura C” CONFIGURACIÓN BRAZO ARTICULADO
20
OBJETIVO GENERAL
Diseñar e implementar un control de mando alámbrico para el brazo robótico
“YOUPI”, utilizando la estructura de un joystick.
Diseñar e implementar un control de mando inalámbrico que se adapte al
joystick por medio de R.F.
21
OBJETIVO ESPECIFICO
Evaluar el estado actual del brazo robótico Youpi.
Investigar los antecedentes de los circuitos y equipos utilizados.
Identificar la configuración de los circuitos y los microcontroladores usados en
los módulos ya fabricados, con la intención de conocer que datos de entrada se
requieren para generar el movimiento de los motores.
Crear la configuración de datos de entrada y salida para poder controlar el
microcontrolador.
Desarrollar y simular el circuito de control de mando de manera física y digital
en el programa de simulación de circuitos “Proteus 7 Profesional versión 7.7
sp2”.
Desarrollar la programación que el microcontrolador “PIC18F4550” que usara
para funcionar con el joystick.
Adaptar y adecuar el joystick junto con sus circuitos internos, de acuerdo a la
simulación y la programación del microcontrolador (PIC18F4550).
Adecuar los conectores a utilizar.
Adaptar el cableado de salida de datos del joystick, para el envió de la
información.
Crear la tablilla base del PIC, y conectar sus cables de salida y entrada de datos.
Crear un circuito de encendido, ya sea, por una pila o por la fuente que alimenta
el “Youpi”.
Pruebar el control de mando.
22
Desarrollar de una interfaz de conexión inalámbrica para el control de mando,
capaz de enviar y recibir los datos requeridos para el funcionamiento del brazo.
Evaluar funcionamiento de la interfaz inalámbrica del control de mando.
23
PLANTEAMIENTO DEL PROBLEMA.
Es posible la creación de una interfaz entre el usuario y el “Brazo Robótico Youpi”, más
sencilla y rápida de usar, a través de un joystick de control, acoplando un modulo
inalámbrico, con la finalidad de tener una modalidad móvil del control para logar una
distancia hasta de 10 metros, entre el operador y la maquina.
24
JUSTIFICACIÓN.
Con este proyecto se intenta continuar con la labor de restauración y adecuación del brazo
robótico “Youpi”, el cual debido a su aplicación y funcionalidad tiene la capacidad de ser un
buen equipo para que los alumnos y maestros apliquen prácticas y proyectos, que les serán de
utilidad para la creación y desarrollo de diseños propios en un futuro próximo.
Específicamente en mi proyecto estoy dedicado, a la adecuación de los módulos ya desarrollados
con anterioridad y así mismo, la construcción de un control de mando alámbrico e inalámbrico
con características de joystick, es decir, botones de selección y una palanca de control que activa
la dirección, en que el brazo realizara el movimiento; para que los estudiantes y profesores de la
institución, puedan utilizar, manipular y modificar el YOUPI de acuerdo a sus necesidades y
tener, así mismo, un leve contacto con mecanismos con los cuales pudieran encontrarse en la
industria, generando que sean capaces de reconocer el funcionamiento de algún equipo con el
que tengan contacto.
26
1.1 ANTECEDENTES DEL BRAZO ROBÓTICO YOUPI.
El robot Youpi se comercializó en la década de los 80
diseñado para satisfacer las necesidades de
capacitación en robótica. Con el propósito de manejar
motores paso a paso y otros elementos electrónicos así
como el manejo de programación computacional. Se
comercializó con la PC, de ese entonces conocida como "Computadoras para Todos"
(IPT) programa del Gobierno Francés que iba a iniciar los 11 millones de estudiantes en
el país a la herramienta y apoyo a la industria. A mediados de los 90´s llega al Instituto
Tecnológico del Mar ahora Instituto Tecnológico de Lerma en donde los alumnos tenían
por primera vez la posibilidad de realizar prácticas con dicho robot en el cual aplicarían
conocimientos en electrónica, mecánica, programación, entre otros conocimientos.
Debido a que este robot es de origen europeo hubo muchas complicaciones de
instalación, así como de su uso y en consecuencia llevaron a este al deterioro de
componentes electrónicos como mecánicos. Actualmente este robot se ha recuperado del
laboratorio de electrónica de la escuela, con las siguientes características según el
manual de operación.
Carga máxima de 400g a toda velocidad.
Espesor máximo de objetos manipulados es de 8mm.
Velocidad máxima de .66 rpm.
6 motores paso a paso unipolares.
Interfaz de puerto paralelo “DB25”.
“Figura 1.1” CPU MODELO 8086
27
1.2 PARTES Y COMPONENTES DEL BRAZO ROBÓTICO YOUPI.
1.2.1 COMPONENTES MECÁNICOS.
“Figura 1.2” PARTES DEL BRAZO ROBÓTICO YOUPI
El material utilizado para la estructura física de este brazo robótico es a base de
aluminio. Distribuido de la siguiente manera:
Plataforma: Soporte elemental del brazo robótico; en el interior de esta se encuentran los
componentes electrónicos encargados de controlar motores y sensores del robot.
“Figura 1.3” PLATAFORMA
28
Base: En esta parte encontramos los 4 motores principales de este brazo y el juego de
engranes que proporcionan toda la tracción que se necesita para mover este; además se
encuentra el motor denominado “1” el cual acoplado por medio de una pequeña banda y
un juego de engranes nos permite girar este brazo.
“Figura 1.4” DISPOSICIÓN DE MOTORES EN LA BASE
Brazo: Complemento de la base ya que este mueve casi todo el peso del codo y
antebrazo así como la pinza.
“Figura 1.5” BRAZO
29
Antebrazo y codo: Permite “flexionar” parte del brazo.
“Figura 1.6” ANTEBRAZO Y CODO
Muñeca: Cuenta con un sistema de engranes que permite a la pinza girar de izquierda a
derecha y moverse de arriba hacia abajo igualando el movimiento de la muñeca de una
mano humana.
“Figura 1.7” MUÑECA
30
Pinza: Construida en plástico se abre y cierra por medio de un motor paso a paso
integrado en la misma estructura de la pinza.
“Figura 1.8” PINZA
1 Sistema de engranaje formado por 4 engranes codificados en blanco y negro que
limitan el movimiento excesivo de todo el sistema motriz del brazo robótico.
“Figura 1.9” ENGRANES LIMITADORES DE MOVIMIENTO
31
4 Engranes de menor diámetro para la transmisión de torque.
“Figura 1.10” ENGRANES DE TRANSMISIÓN DE FUERZA
5 Bandas dentadas para en movimiento de la parte superior de brazo y muñeca.
“Figura 1.11” BANDAS DE MOVIMIENTOS SUPERIOR
4 Bandas de menor longitud para el torque en el sistema de transmisión.
“Figura 1.12” BANDAS DE TRANSMISIÓN DE FUERZA
32
1.2.2 COMPONENTES ELÉCTRICOS Y ELECTRÓNICOS:
5 motores paso a paso de la marca Crouzet que requieren una alimentación de energía de
7 V para un consumo de 1.4 A por bobina activada.
“Figura 1.13” MOTORES DEL YOUPI
1 Motor PaP (pasó a paso) para el movimiento de apertura de la pinza.
“Figura 1.14” MOTOR PaP DE LA PINZA
6 Sensores reflectivos con salida a transistor.
“Figura 1.15” SENSORES ORIGINALES DEL YOUPI
34
2.1 SISTEMA MECÁNICO.
El sistema mecánico de este brazo robótico está formado una serie
de engranes, poleas y bandas con las cuales se mueve la gran
parte de este brazo robótico.
A simple vista se observó que los engranes presentan un desgaste
significativo y polvo acumulado por el paso en los años.
Aunque la documentación no recomienda que se use aceite en la
mecánica, a simple vista la lubricación de este no ha soportado el paso del tiempo. Ya
que cuando se rescató este brazo robótico tenía la dificultad de moverse manualmente.
“Figura 2.2” PRIMERA RECUPERACIÓN DEL YOUPI
La construcción del brazo del robot, para empezar por desmantelar el último elemento
del robot, que es la pinza, se deben retirar motores, base, brazo, antebrazo y muñeca,
porque cada parte se inscribe en la anterior. Por lo tanto, hay que respetar esta secuencia
para no perder el orden en que se encontraban cada una de las piezas.
“Figura 2.1”
COMPONENTES
MECÁNICOS
35
“Figura 2.3” POSICIÓN DE DESMANTELAMIENTO
A partir de la experiencia que se obtiene al desarmarlo varias veces, recomiendo el
desmantelamiento por un lado del brazo (izquierdo o derecho) y de toda su longitud.
Para que el otro costado sirva de referencia en el armado.
“Figura 2.4” DESARMADO LATERAL
Hay dos cosas que normalmente dificultan la circulación de bandas y engranes. Primero
que los motores principales están montados en la base del brazo evitando así la
sobrecarga de componentes y cada eje de movimiento debe pasar por una rueda dentada
y codificada.
36
“Figura 2.5” MECANISMOS TRABADOS
Estas ruedas se hallaron trabadas por la acumulación de grasa endurecida y polvo lo
cual impedía su movimiento libremente, su movimiento forzado también movía el eje
donde se encontraban colocadas lo cual no debe suceder, por lo tanto, estas ruedas
pueden ser removidas con ligeros golpes con un martillo de plástico para evitar romper
las piezas ya que son de gran vitalidad de este brazo robótico.
Una vez liberadas las ruedas se pueden limpiar con un paño suave y agua tibia jabonosa
ligeramente. Un poco de alcohol puede ser útil si el jabón no removió por completo la
grasa.
“Figura 2.6” MECANISMO DESTRABADO
37
Cuando queden completamente limpias todas las piezas se podrá lubricar de nuevo todo
adecuadamente; la manera de hacerlo es usar la grasa mecánica de espesor grueso, lo
ideal sería utilizar grasa o vaselina neutro para bebe ya que NO contiene sustancias
químicas que perjudique la lubricación de los engranes y ejes; cosa contraria, cuando se
utiliza el aceite "Máquina de coser o de alta velocidad" obtenemos dos defectos:
primero no van a tener siempre aceite los mecanismos y segundo cuando el aceite es
ácido, puede romper el plástico de las ruedas o en su caso desgastar con mayor facilidad
los ejes de este brazo.
Al desmantelar la parte de la plataforma se encontraron 2 engranes dañados por la parte
interna de la plataforma los cuales se acoplan entre sí para girar el brazo robótico, uno de
estos engranes se acopla a un motor paso a paso por medio de una banda por la parte
exterior.
“Figura 2.7” DESMANTELAMIENTO DE PLATAFORMA
38
“Figura 2.8” ENGRANE DE TORQUE DE LA BASE
“Figura 2.9” ENGRANE DE MOVIMIENTO DE LA BASE DEL YOUPI
39
2.1.1 MOTORES.
Los motores de este brazo robótico son motores conocidos como: motores paso a paso
unipolares.
Un motor unipolar es similar a un bipolar excepto que cada bobina tiene un terminal
central común que es accesible desde el exterior del motor.
Muchas veces nos enfrentamos a motores en los que sus terminales no están
identificadas. Conociendo como están construidos los motores paso a paso, podemos
determinar que cable está asociado con cada bobina, simplemente midiendo la
resistencia entre sus terminales. La resistencia entre terminales que pertenecen a bobinas
distintas será infinita.
Ejemplo: Si la resistencia medida entre A y C es 100 Ohm entonces, entre B y C será
también 100 Ohm y entre A y B 200 Ohm. En este caso, la resistencia de 200 Ohm se
denomina “Resistencia de Bobina”
“Figura 2.10” MOTOR
PaP CROUZET
“Figura 2.11” DISPOSICIÓN DE
BOBINAS EN UN MOTOR
UNIPOLAR
40
“Figura 2.12” EJEMPLO DE UN DRIVER SENCILLO
Esta figura muestra el circuito de “driver” o circuito manejador para un motor unipolar
de una fase.
Podemos ver que con S1 cerrado y S2 abierto, la corriente fluirá de derecha a izquierda a
través de la bobina. Con S1 abierto y S2 cerrado, la corriente fluirá de izquierda a
derecha.
Entonces, podemos cambiar la dirección del flujo de corriente usando solamente 2
interruptores.
La secuencia de la posición de los interruptores para un driver de motor unipolar se
muestra en la siguiente tabla.
“Tabla 2.1” ACTIVACIÓN DE BOBINAS
41
Los motores unipolares son simples de controlar. Sin embargo son mecánicamente más
complicados que los motores bipolares debidos a que tienen un terminal central común,
además son generalmente más caros que los bipolares.
Debido a que la corriente eléctrica fluye en una sola dirección a través de la mitad de las
bobinas que posee el motor, producen la mitad del campo eléctrico que los bipolares y
por ende generan menos fuerza que estos últimos.
Un motor con cuatro terminales es un motor bipolar de dos fases. Medir la continuidad
entre sus terminales para identificar los polos correspondientes a cada bobina. Un motor
con seis terminales puede ser un motor unipolar de dos fases o un motor bipolar de tres
fases.
Los motores de este brazo robótico están descontinuados, sin embargo aun funcionan al
100% ya que no sufrieron daño alguno. Estos motores tienen una resistencia en sus
bobinas de 5 ohms y una potencia de 10 W expresadas en una etiqueta visible a un
costado de dichos motores, aplicando las siguientes fórmulas se obtuvieron los datos de
alimentación y de amperaje de dichos motores.
43
3.1 DISEÑO ACTUAL DE ETAPA DE POTENCIA.
3.1.1 CARACTERÍSTICA DE MOTORES.
Los motores de este brazo robótico son motores paso a paso de la marca CROUZET ya
obsoletos pero aún funcionan con las siguientes características según el manual.
“Tabla 2.2” CARACTERÍSTICAS DE LOS MOTORES
Motor Relaciones de
la transmisión
Máximo en
grados
Resolución (no el
modo de ½) en grados Par (Nm)
Num. De pasos
(giros)
1 Base 25 340 0.04 400 200
2 Brazo 32 240 0.03 400 200
3 Codo 32 220 0.03 400 200
4 Muñeca 32 220 0.04 400 200
5 Giro Muñeca 25 Infinito 0.04 400 200
6 Pinza x x x 50 200
Los motores paso a paso son ideales para la construcción de mecanismos en donde se
requieren movimientos muy precisos. La característica principal de estos motores es el
hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso
puede variar desde 90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se
necesitarán 4 pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para
completar un giro completo de 360°.
Estos motores poseen la habilidad de poder quedar fijos (enclavados) en una posición o
bien totalmente libres. Si una o más de sus bobinas está(n) energizada(s), el motor estará
enclavado en la posición correspondiente y por el contrario quedará completamente libre
si no circula corriente por ninguna de sus bobinas.
44
3.1.2 DRIVERS.
El uso de dispositivos llamados Driver, los cuales son puentes H encapsulados de tal
manera que ocupan menos espacio que los puentes H tradicionales a base de transistores;
por las características eléctricas que los motores arrojan, el consumo de corriente es
aproximadamente 1.4 A. por motor, para lo cual, los drivers “ideales” para estos motores
son los L298N, que son económicos, fáciles de conseguir y son de la nueva generación
de controladores de potencia para motores paso a paso.
Quedando módulos de potencia alrededor de 30 cm2 aproximadamente para cada motor.
Estos módulos quedarían muy pequeños a comparación con la tarjeta original.
“Figura 3.1” MÓDULO DE POTENCIA L298N
Esta figura nos muestra como están predispuestos los componentes del Driver de
potencia, el cual será compatible con niveles de control TTL y CMOS generados en las
prácticas que involucren a este brazo robótico.
45
“Figura 3.2” DISPOSICIÓN DE PINES DEL L298N
“Figura 3.3” DIAGRAMA INTERNO DEL L298N
Este circuito integrado de potencia sirve para alimentar la pareja de bobinas del motor
paso a paso. Teniendo en cuenta que los motores utilizados utilizan 1.4 Amperes, hay
que utilizar disipadores de calor a base de aluminio, tales que logren eliminar las altas
temperaturas que se genera en este circuito.
46
Para el caso de los disipadores de calor se reutilizaran los disipadores originales del
YOUPI.
Este circuito es capaz de alimentar motores unipolares y bipolares ya que este puede
entregar una corriente máxima de 2 A.
“Figura 3.4” DIAGRAMA DE CONEXIÓN DEL DRIVER
IN15
IN27
ENA6
OUT12
OUT23
ENB11
OUT313
OUT414
IN310
IN412
SENSA1
SENSB15
GND
8
VS
4
VCC
9 L298N
L298
1
2
3
4
5
6
OUT TO MOTOR
CONN-SIL6
1
2
3
4
IN CONTROL
CONN-SIL4
R4330R
R3330R
R2330R
R1330R
1
2
3
7V GND 5V
TBLOCK-M3
48
4.1 ETAPA DEL MICROCONTROLADOR.
El control de este brazo robótico originalmente era mediante una PC. Conectada en
paralelo. Todos los movimientos eran bajo software.
En la actualidad se puede controlar este brazo de manera manual mediante un
Microcontrolador denominado PIC, el cual tendrá las instrucciones de movimientos
programadas de tal manera que se podrán mover tres motores con sus respectivos
sensores; por cada PIC.
“Figura 4.1” DIAGRAMA ESQUEMÁTICO DE CONTROL “MÓDULO
PRINCIPAL”
49
Ya que no todos los motores necesitan ser activados en esta propuesta menciono el uso
del PIC con sus respectivos sensores facilitando así el control y la programación de
dichos motores y sensores.
“Figura 4.2” DISPOSICIÓN DE COMPONENTES DEL TARJETA DE
CONTROL
50
4.2 ETAPA DE SENSORES.
Los sensores originales aún funcionan, así que la tarea es REDISEÑAR Y CONSTRUIR
la etapa de sensores que requieren de una conversión o amplificación de mV (milivolts)
obtenidos de los sensores a nivel TTL (5 Volts lógicos) para que un Microcontrolador
pueda funcionar con estos, por lo tanto se cambiarán los circuitos operacionales por unos
de nueva generación y más fáciles de adquirir.
En su momento los sensores originales pueden ser reemplazados por sensores QRD
1114 los cuales son de tipo reflexivo sin necesidad de rediseñar la tarjeta de sensores.
“Figura 4.3” SENSORES ORIGINALES.
53
5.1 DESCRIPCIONES Y CARACTERISTICAS DEL SOFTWARE
El lenguaje de programación para el Microcontrolador antes mencionado es el llamado
PIC C, es un lenguaje de alto nivel el cual cuenta con instrucciones fáciles de
comprender y aplicar a este Microcontrolador bajo un ambiente amigable y entendible.
EL software de programación es gratuito descargable en internet.
Al programar en este software se cuenta con un generador de archivo con extensión
(.hex) el cual es grabado en el integrado.
Además apoyado con el software ISIS PROTEUS se pueden simular las funciones
programadas al PIC antes de grabar el integrado.
54
5.2 SECUENCIA DE PROGRAMACIÓN.
1. Configurar puertos de entrada y salidas; para las entradas serán los sensores y los
pulsos de activación, las salidas serán las instrucciones hacia los drivers.
2. Declarar variables a utilizar.
3. Iniciar ciclo de control.
4. Checar si hay algún movimiento activado.
5. Si hay algún pulso de activación ir al proceso correspondiente de lo contrario
seguir testeando las activaciones y sensores.
6. ¿Hay algún sensor activado? Esperar que se active el movimiento
correspondiente para realizar movimiento inverso.
55
“Figura 5.1” DIAGRAMA DE FLUJO DE CONTROL
La programación completa del PIC #1 se encuentra en el “Apéndice # 1”, así mismo, la
Programación completa del PIC #2 está en el “Apéndice # 2.
En el Anexo se encuentra la descripción paso a paso de la programación.
56
5.3 PRUEBAS Y RESULTADOS.
Programación primaria: mover de izquierda a derecha o de arriba hacia abajo los
motores utilizados, cuidando la frecuencia de respuesta de estos, ya que si no hay una
programación adecuada los motores vibran ó no funcionan.
Programación secundaria: los sensores deben estar en constante chequeo de activación
para realizar los paros y giros correspondientes de los motores, ya que al no realizarse
esta acción se dañarían partes mecánicas como electrónicas.
Primeras pruebas demostraron el funcionamiento de los motores como los nuevos
componentes mecánicos satisfaciendo las necesidades de rehabilitación del brazo
robótico.
Segunda prueba actualización del microprograma controlador ya que cierto motores del
YOUPI requieren mayor fuerza de trabajo y no es igual la secuencia de movimiento con
respecto a los otros motores.
58
6.1 DIAGRAMA DE BLOQUES
FUNCIONAMIENTO DE LOS MODULOS A CREADOS Y SUS POSIBLES
COMBINACIONES DE FUNCIONAMIENTO.
“Figura 6.1” DIAGRAMA A BLOQUES DE LOS MÓDULOS
59
6.2 FUNCIONAMIENTO
El diagrama anterior muestra casi todas las posibles combinaciones que podremos
utilizar o con los módulos que crearemos.
El primer modulo que se desarrollo, es el
control de mando alámbrico e inalámbrico,
que consta de dos “apagadores” que sirven de
control para conocer en qué modo efectuará
sus funciones y de donde recibirá la energía
para funcionar, ya sea, de manera inalámbrica
a través de una pila cuadrada de 9 volts, que se
encuentra dentro del control mismo o bien, de manera alámbrica, es decir, cuando se
conecte directamente al modulo de control principal, del cual obtendrá la energía
necesaria para su funcionamiento.
El joystick estará formado por
tres botones y una palanca; el
primer botón denominado
“incremento” (debido a su forma
de funcionamiento), sirve para
seleccionar de menor a mayor la
parte del brazo robótico “Youpi”
que se moverá, el segundo botón
“Figura 6.2” JOYSTICK ORIGINAL
“Figura 6.3” FUNCIONES JOYSTICK
60
denominado “decremento”, tiene la función de seleccionar de mayor a menor la parte
del “Youpi” a mover, de manera lógica estos dos botones se complementan entre sí,
debido a que, si estamos incrementando para seleccionar una parte especifica del brazo
robótico a utilizar y por distracción o cualquier otro motivo nos excedemos del
movimiento deseado debemos presionar el botón “decremento” para volver a la
selección correcta. El tercer botón nombrado “reset” tiene como propósito, que al ser
presionado el PIC se restaure la selección de las partes a un estado neutral que es cero,
esto, como una manera de control.
Una vez seleccionada la parte que se desea usar, con los botones de “incremento” y
“decremento”, se continua con la selección del movimiento, es decir; dar sentido de
movimiento al brazo robótico con la palanca, ya sea, dirigiendo esta hacia adelante o
hacia atrás, lo cual producirá el movimiento en la parte deseada.
61
6.3 DESCRIPCIÓN FÍSICA DE BOTONES Y PALANCA
El joystick que utilizaremos y el cual adaptamos para tenerlo de control de mando, era
una palanca de simulación de vuelo para juegos en PC, podría simular juegos de vuelo y
combate por ello la importancia de que conste de los botones adecuados, esta palanca
fue diseñada para personas diestras debido a la posición y ajuste de la palanca en la
mano derecha, la posición de los botones de fácil acceso con el dedo pulgar, el cual nos
servirá para presionar el “decremento” y el “reset”, los cuales serán adaptados a la
palanca para su uso.
El botón de “Incremento”:
El diseño de este botón es rojo y
alargado, tipo gatillo, ya que, se
encuentra en la parte frontal de la
palanca simulando un gatillo
disparador como el que se encontraría
en un avión caza de ataque; este botón
se encuentra en una posición apta para
ser presionado por el “dedo índice”, sin
problema alguno, es sensible a la
presión, por lo que no requiere de fuerza para que realice su función.
“Figura 6.4” PALANCA
62
El botón de “Decremento”:
Es un botón en forma básica,
redondo y en color rojo, que
se encuentra colocado al
costado izquierdo de la
palanca, donde el dedo
pulgar puede alcanzarlo y
presionarlo con facilidad.
El botón de “Reset”:
Este es uno de los 2 botones azules
que se encuentra en la parte trasera de
la palanca, la forma de este botón es
triangular y se encuentra a la
izquierda de su igual y a un costado
del botón de “Decremento” que al
igual que este último es presionado y
activado por el dedo pulgar.
“Figura 6.5” JOYSTICK VISTA SUPERIOR
“Figura 6.6” JOYSTICK VISTA
SUPERIOR 2
63
6.4 PROCESO DE FABRICACIÓN
Antes de empezar el proceso de fabricación, debimos evaluar todos datos que vamos a
utilizar y los cuales determinaran las funciones y limitaciones que tendrá nuestro
joystick, una de las cuales o la más importante es la configuración de entrada del modulo
principal la cual nos indica que parte del “Brazo Robótico Youpi”.
“Tabla 6.1” MOVIMIENTOS DEL BRAZO ROBOTICO YOUPI
NUM. NOMBRE DEL
MOVIMIENTO DESCRIPCION
1. BASE D. BASE DEL BRAZO ROBOTICO GIRA A LA DERECHA
2. BASE I. BASE DEL BRAZO ROBOTICO GIRA A LA IZQUIERDA
3. BRAZO A. PARTE NOMBRADA “BRAZO” DEL YOUPY, SE ELEVA
4. BRAZO AB. PARTE NOMBRADA “BRAZO” DEL YOUPY, DESIENDE
5. CODO A. PARTE NOMBRADA “CODO” DEL YOUPY, SE ELEVA
6. CODO AB. PARTE NOMBRADA “CODO” DEL YOUPY, DESIENDE
7. MUÑECA A. PARTE NOMBRADA “MUÑECA” DEL YOUPY, SE ELEVA
8. MUÑECA AB. PARTE NOMBRADA “MUÑECA” DEL YOUPY, DESIENDE
9. G.D. MUÑECA LA MUÑECA DEL YOUPY, GIRA A LA DERECHA
10. G.I. MUÑECA LA MUÑECA DEL YOUPY, GIRA A LA IZQUIERDA
11. PINZA A. LA PINZA DEL YOUPY, SE ABRE
12. PINZA C. LA PINZA DEL YOUPY, SE CIERRA
Considerando la tabla que nos indica que nuestro Joystick debe tener como condición 12
pulsos de salida para indicar cuál es el movimiento a realizar.
64
El primer paso antes de armar es la creación de la simulación del circuito, a través del
software antes mencionado “ISIS PROTEUS”.
“Figura 6.7” SIMULACIÓN DEL PIC18F4550
Para la creación del circuito hemos considera utilizar un “PIC18F4550” que a nuestro
parecer es un microcontrolador muy potente y de fácil uso, así mismo, consideramos las
implicaciones futuras como son las adecuaciones para el joystick funcione de manera
inalámbrica, que con este PIC podremos satisfacer de manera muy rápida y fácil.
La simulación y así mismo la programación consta de 3 partes importantes como son,
los puertos de entrada, que es el área donde asigno que motor debe moverse y en qué
sentido debe girar.
65
Esta sección de encuentra en el
“Puerto A”, del cual solo
utilizamos los 3 primeros pines
del mismo, en el “PIN A0”, es
donde se encuentra instalado la
programación “ADC”, es decir,
la programación que funciona
para identificar las pequeñas variaciones de voltaje creadas a través de sensores u otros
dispositivos como en este caso el potenciómetro de 10 kohms, que utilizaremos para
indicar el giro del motor; dependiendo del sentido del giro del potenciómetro, es el
movimiento que indica el sentido del giro del motor.
Así mismo se encuentran los 3 botones de lección, “INCREMENTO”,
“DECREMENTO” y “RESET”; representados en este caso por nombres de “mov_mas”,
“mov_menos” y “reset”.
Con la cual obtuvimos una tabla de datos de entrada.
“Figura 6.8” ÁREA DE CONTROL
66
“Tabla 6.2” COMBINACIÓN DE BIT DE ENTRADA
PUERTO A
NUMEROS CASOS
POTENCIOMETRO
COMBINACION 1
POTENCIOMETRO
COMBINACION 2
NOMBRE DE
ESTADO
ACTIVO O
“CASOS”
A0
0 0 0 0 1 0 0 1 RESET
1 0 0 1 1 0 0 1 BASE
2 0 1 0 1 0 0 1 BRAZO
3 0 1 1 1 0 0 1 CODO
4 1 0 0 1 0 0 1 MUÑECA
5 1 0 1 1 0 0 1 GIRO DE
MUÑECA
6 1 1 0 1 0 0 1 PINZA
Como vemos en la tabla obtenemos los movimientos y las partes que mueven las
mismas.
67
La función de éstos es la de selección de las partes o el motor a mover, siendo solo 6
casos, como el control será para el uso de cualquier persona, es indispensable usar un
indicador para saber qué movimiento se está ejecutando o que caso se encuentra
seleccionado, por lo que utilizamos 3 pines del “Puerto C” como indicadores de casos.
Ideamos un sistema de identificación basado en numeración binaria para crear la cuenta
de 0 a 6 haciendo referencia a cada uno de los mismos.
Usando el “PIN C0” como el bit de menos significativo o el de menor valía, siendo el
“PIN C2” el bit mas significativo o de mayor valor.
Obtenemos una secuencia numérica como la que se muestra a continuación:
“Figura 6.9" INDICADORES
68
“Tabla 6.3” CONFIGURACIÓN DE CASOS.
CASO COMBINACIONES
MOVIMIENTOS A
REALIZAR
0.- NULO 000 |
1.-BASE 001 |
2.-BRAZO 010 ↑ | ↓
3.-CODO 011 ↑ | ↓
4.-MUÑECA 100 ↑ | ↓
5.-GIRO DE MUÑECA 101 |
6.-PINZAS 110 | ↔
Por último tenemos las salidas resultantes, en la simulación utilizamos los “Puertos D y
B”, para tener esta función de salida.
“Figura 6.10” SALIDAS
El “Puerto D” se uso en su totalidad, siendo este mismo donde inicia la secuencia de bits
que incrementa hasta el bit más significativo ubicado en el “Puerto B” en el “PIN B3”,
se usaron LED (diodo emisor de luz) para indicar la secuencia de bits obtenidos.
69
6.5 FABRICACIÓN DEL PROTOTIPO Y EVALUACIÓN DE SU
FUNCIONAMIENTO
Basándonos en la simulación anterior; usamos un protoboard para crear un prototipo del
“Control de Mando tipo Joystick”, empezando por la colocación de las piezas:
“Figura 6.11” PROTO VISTA SUPERIOR
En el centro de la imagen se muestra el microcontrolador “PIC18F4550”, 12 LED rojos,
que indican el bit de salida activado; 3 LED amarillos, los cuales sirven de indicadores,
mostrándonos en cual caso estamos activos; los cables que cumplen las funciones de
switch o contactos y por último el potenciómetro.
70
Mostraremos el circuito armado por
varios ángulos para darnos una
mejor idea de cómo están
conformados.
Toma lateral del circuito.
Toma trasera.
Toma frontal; en esta imagen se
muestra con claridad los 3 cables
que sirven de switch, para su
activación requieren que se les
conecta a voltaje positivo, en la
imagen se aprecia que están
conectados a tierra. “Figura 6.12” VISTAS
71
Continuaremos mostrando una secuencia de imágenes que muestran la activación de los
LED indicadores y las salidas.
“Figura 6.13” CASO #1
En las imágenes muestran que uno de los LED indicadores esta encendido, señalando
que esta activado el caso # 1, ya que, usando la numeración binaria “001” que equivale a
“1”;aun no se muestra ningún LED roja activo ya que el potenciómetro no a sido
activado para ninguno de los lados.
72
Se muestra como se debe activar o
mover el potenciómetro para su
funcionamiento.
Si vemos la imagen ahora notamos
que se ha encendido el primero de los
LED rojos, mostrándonos que el
programa del PIC está funcionando
bien.
La imagen de ahora nos muestra que se
ha encendido el segundo de los LED
rojos, del primer de los casos.
“Figura 6.14” CASO #1 -2
73
ACTIVACIÓN DEL CASO # 2
El segundo LED amarillo esta
encendido lo que indica en numeración
binaria que el número “010” o “2” y por
lo tanto estamos situados en el caso # 2
de la programación en espera de la
activación del potenciómetro.
Activación de la salida primera del caso
2.
Activación de la salida segunda del
caso 2.
“Figura 6.15” CASO #2
74
ACTIVACIÓN DEL CASO # 3
El segundo y el primer LED amarillo están
encendidos lo que indica en numeración
binaria que el número “110” o “3” y por lo
tanto estamos situados en el caso # 3 de la
programación en espera de la activación
del potenciómetro.
Activación de la salida primera del caso 3.
Activación de la salida segunda del caso 3.
“Figura 6.16” CASO #3
75
ACTIVACIÓN DEL CASO # 4
El tercer LED amarillo esta encendidos lo
que indica en numeración binaria que el
numero “001” o “4” y por lo tanto estamos
situados en el caso # 4 de la programación
en espera de la activación del
potenciómetro.
Activación de la salida primera del caso 4.
Activación de la salida segunda del caso 4.
“Figura 6.17” CASO #4
76
ACTIVACIÓN DEL CASO # 5
El tercer y el primer LED amarillo están
encendidos lo que indica en numeración
binaria que el número “101” o “5” y por lo
tanto estamos situados en el caso # 5 de la
programación en espera de la activación del
potenciómetro.
Activación de la salida primera del caso 5.
Activación de la salida segunda del caso 5.
“Figura 6.18” CASO #5
77
ACTIVACIÓN DEL CASO # 6
El tercer y segundo LED amarillo están
encendidos lo que indica en numeración
binaria que el número “011” o “6” y por lo
tanto estamos situados en el caso # 6 de la
programación en espera de la activación del
potenciómetro.
Activación de la salida primera del caso 6.
Activación de la salida segunda del caso 6.
“Figura 6.19” CASO #6
78
6.6 DESARMADO DE PALANCA
Considerando que todos los casos y salidas funcionaron de la manera esperada
procederemos a proceso de armado del Joystick.
Procediendo en primera instancia al desarme del joystick para observar su estructura
interna e iniciar la adecuación de sus partes a nuestro circuito.
“Figura 6.21” DESARMADO DE PALANCA
“Figura 6.20” JOYSTICK
79
Una vez retirados los dos tornillos que sujetan la
palanca, el procedimiento es mirar y adecuar el
circuito que contiene.
A simple vista se puede apreciar, el conducto por
donde pasan los cables de colores, asi mismo, la
placa y el modo se sujecion de los botones.
Desarmando, los botones de sus bases se
pude apreciar con mayor detalle la estructura
del control.
“Figura 6.23” PALANCA ABIERTA
“Figura 6.24” MECANISMOS
“Figura 6.22” PALANCA Y
TORNILLOS
80
Removidas la cubiertas estructurales de
la palancanos deja ver que la placa de
los swiches esta sujeta los botones por
3 tornillos.
Removiendo tornillo uno.
Removiendo tornillos 2 y 3 de la estructura.
Ya removidos los tornillos se puede separar la
placa y nos deja ver los push.
“Figura 6.25” PLACA 1
“Figura 6.26” PLACA 2
“Figura 6.27” PLACA 3
“Figura 6.28” PLACA 4
“Figura 6.29” PLACA 5
81
6.6.1 MODIFICACIÓN
Que se le hizo al circuito donde se encuentran los push, con la finalidad de dejarlo listo
para su funcionamiento en el PIC.
“Figura 6.30” PLACA MODIFICADA
Como se puede apreciar se le retiro uno de los push, y en su lugar fueron colocadas 3
resistencias de 1 kilo ohms, uno por cada push que enviara señales al microcontrolador,
siendo el que se observa en la imagen el “RESET”.
82
Para seguir con el desmantelamiento habrá que desarmar la base del Joystick.
“Figura 6.31” BASE VISTA INFERIOR
Como puede apreciarse en la imagen la base también está sujeta por tornillos, 6 de ellos
ubicados en toda la circunferencia del mismo.
“Figura 6.32” TORNILLOS BASE
83
Una vez que han sido removidos todos los tornillos podremos mirar en el interior de la
base. Donde nos daremos a la tarea de identificación de partes.
“Figura 6.33” DASARME DE BASE 1
Para el retiro de la base solo basta con
jalar de algunos de los chupones de
sujeción para que esta se separe de la
estructura.
“Figura 6.34” DESARME DE BASE 2
84
En esta imagen se muestra la tapa ya
completamente desprendida.
La siguiente imagen nos deja mirar por completo el centro de la estructura, aunque ya
han sido removidos algunas piezas y cables del interior de la base.
“Figura 6.36” CABLEADO BASE
“Figura 6.35” BASE ABIERTA
85
“Figura 6.37” PARTES DE LA BASE
He señalado el lugar de las partes importantes que conforman la base del Joystick, para
poderlas identificarlas de una manera sencilla.
El Joystick de fabrica consta con un cableado
“DB15” que fue removido debido a que en su
estructura interior solo tenía 9 pines los cuales son
insuficientes para cubrir las necesidades de salida del
control.
“Figura 6.38” CONECTOR
ORIGINAL JOYSTICK 1 “Figura 6.39” CONECTOR ORIGINAL
JOYSTICK 2
86
a placa que tenía el joystick en su interior era únicamente para la reconexión de los
cables que venían de la palanca, con la finalidad de volver eficiente y evitar la creación
de una placa nueva hemos optado por la reutilización de la placa, pero con algunas
modificaciones en la misma.
“Figura 6.40” SWITCH APAGADOR
En las imágenes se observan los agujeros donde iba
colocado el cableado
del control, el
apagador que se
observa, serbia como
encendido del control, el mismo que será reutilizado para
funcional como apagador de energía de alimentación del control en su nueva etapa como
control del Brazo Robótico Youpi.
“Figura 6.41” CORTE DE PLACA
APAGADOR “Figura 6.42” PLACA
CORTADA
87
El cableado fue sustituido por una cable
Paralelo de impresora “DB25” del cual
solo tomaremos el cable
deshaciéndonos por el momento de las
conexiones.
El cable es cortado en sus extremos.
“Figura 6.44” CABLE CORTADO
Y es colocado en la base.
“Figura 6.45” CABLE ADAPTADO AL JOYSTICK
“Figura 6.43” CABLE SERIAL DB25
88
El cable quedo ajustado a la base de esta manera:
“Figura 6.46” VISTA INFERIOR DE ADAPTACIÓN DEL CABLE
Mismo que fue empatado para que pueda tener más alcance dentro de la estructura, cada
empate fue recubierto por un poco de termofil, para evitar cualquier tipo de contacto
entre cables.
89
6.6.2 INSTALACIÓN DE INDICADORES EN LA BASE
Los indicadores son aquellos LED que nos muestran en que caso de la programación nos
encontramos, por lo que tienen que estar en un lugar visible para el usuario.
Para la instalación y fabricación de los LED necesitaremos:
3 LED rojos
3 resistencias de 1 kilo ohms
4 cables de colores
“Figura 6.49” CABLES DE COLORES
“Figura 6.47” LED
“Figura 6.48” RESISTENCIA
90
Termofil
“Figura 6.50” PIEZA DE TERMOFIL
Encendedor
“Figura 6.51” ENCENDEDOR
Cautín y estaño, el cual se utilizo el equipo de reparación de placas, por su excelente
funcionamiento y así mismo sus múltiples utilidades y aditamentos.
“Figura 6.52” EQUIPO DE SOLDADURA
91
Entre los que usaremos están el cautín y el talador del equipo y se aprecian en las
imágenes de a continuación.
“Figura 6.53” TALADRO Y CAUTIN
Iniciaremos por la parte más sencilla, que es
la soldadura de las resistencias en los LED,
una en cada LED considerando o teniendo
muy en cuenta que las resistencias se
colocaran es el polo positivo de la resistencia,
con la finalidad de que reduzca la corriente y
voltaje que le llegue al LED y así se extienda
su tiempo de vida del mismo.
“Figura 6.54” SOLDANDO LED Y
RESISTENCIA
92
Para poder hacer la soldadura de la
resistencia debemos tener en cuenta el
recortar el largo de las patas del LED,
para su mejor manejo, aprovechando
como extensión el largo de las patitas de
la resistencia.
Recortaremos de nuevo las patitas del los LED para conectarles uno de los cables que ira
conectados entre los 3 LED y que tendrá la función de tierra.
“Figura 6.56” ADECUACION DE LED
Hemos definido previamente la configuración del cableado que llevaran los LED
indicadores para que sea más entendible para los futuros usuarios hacerle modificaciones
al cableado, ya que, tendrán toda la información de las conexiones y sus
configuraciones.
“Figura 6.55” LED SOLDADOS
93
“Tabla 6.4” COMBINACIÓN DE COLORES DE INDICADORES
PUERTO COLOR
C0 AZUL
C1 VERDE
C2 BLANCO
TIERRRA NEGRO
Debido a que el lado positivo es el que
va conectado al microcontrolador y ese
es el de las resistencias debemos
recortar las patitas de las resistencias
un poco para que al soldarle el cable no
quede muy extenso.
Antes de soldar los cables de colores de acuerdo a la tabla anterior hemos estañado las
puntas para facilitar su soldadura.
Procediendo con la soldadura de cada uno de
los cables.
“Figura 6.57” LED CON RESISTENCIAS
“Figura 6.58” ESTAÑANDO CABLES
94
Otro detalle que hay que tener en cuenta es la colocación de los LED según el color el
puerto en que va a ser colocado y así mismo el orden en que se soldaran.
“Figura 6.59” SOLDANDO CABLES A LED
95
Una vez hecho la soldadura de todos los cables de
colores, ya tenemos todos los cables de salida del
PIC; ahora nos queda soldar los cables de tierra
entre cada uno de ellos.
Considerando la distancia que deben tener entre LED cortaremos 3 cables de color café
de largos similares y los soldaremos en la otra patita del LED.
“Figura 6.61” SOLDANDO TIERRAS AL LED
“Figura 6.60“CABLES DE TIERRA
96
Una vez soldado un extremo del cable, precedemos a colocarle su cubierta de termofil.
“Figura 6.62” COLOCANDO TERMOFIL AL LED
Una vez colocado, usaremos el encendedor para calentar la cubierta de termofil, ya que
se ajuste al cable.
“Figura 6.63” CALENTANDO TERMOFIL
97
Una vez terminada la aplicación de calor el termofil ya obtuvo su forma final.
“Figura 6.64” LED TERMINADO
Ahora procederemos a conectar cada uno de los LED en serie para que compartan la
tierra en común.
“Figura 6.65” CONECTANDO CABLE COMUN A LOS LED
98
“Figura 6.66” SOLDANDO CABLE COMUN
Antes de soldar el otro extremo del cable debemos introducir otro pedazo de cubierta de
termofil, para que luego pueda ser calentado y ajustado en su lugar.
“Figura 6.67” CONEXIÓN DE CABLE COMUN
100
Una vez terminado de soldar la parte de las tierras de los indicadores procederemos a la
colocación de la cubierta de la resistencia con termo fil.
“Figura 6.69” RECUBRIMIENTO DE RESISTENCIA CON TERMOFIL 1
Se toma como referencia el largo de la resistencia y se corta el termo fil considerando
que se cubra toda la extensión de la misma.
Ya medido, se procede a su colocación y su calentamiento para que ajuste de la mejor
manera.
“Figura 6.70” RECUBRIMIENTO DE RESISTENCIA CON TERMOFIL 2
101
Al finalizar este proceso, se relaiza con los
otros cables al colocarles la cuebierta.
Esta imagen muestra la terminación del trabajo de cobertura de los indicadores.
“Figura 6.72” RECUBRIMIENTO DE RESISTENCIA CON TERMOFIL 4
“Figura 6.71” RECUBRIMIENTO DE
RESISTENCIA CON TERMOFIL 3
102
6.6.2.1 PERFORACIÓN Y COLOCACIÓN DE LOS SUJETORES DE LOS
LED INDICADORES
Este es un trabajo casi artesanal por la manera en que se hizo, aprovechando el taladro
del equipo reparador de placas, y usando una punta de esmeril, perforamos a un costado
de la base donde consideramos a base de prueba y error que sería el lugar más idóneo
donde deberían estar los indicadores.
“Figura 6.73” BASES DE LED LISTAS
Una vez perforados y colocados los sujetadores procederemos a la colocación de los
LED.
103
“Figura 6.74” LED LISTOS Y BASE
El proceso de colocación de cada LED es muy tequioso y rudo debido a que este tiene
que entrar a presión, por lo cal hay que tener mucho cuidado ya que los LED son frágiles
a los golpes, pudiéndose cuartear o romper.
“Figura 6.75” AJUSTANDO LEDS EN BASES
En las imágenes se muestra la secuencia de colocación de cada uno de los LED
indicadores; en esta imagen se muestra el LED cuando ya está colocado.
“Figura 6.76” LED 1 AJUSTADO
104
Colocación del segundo indicador, se muestra el proceso de colocación, el cual fue
hecho con una pinza de punta, debido a lo estrecho del lugar.
“Figura 6.77” AJUSTANDO LED 2
Se ven los LED ya colocados
“Figura 6.78” LED 2 AJUSTADO
105
Los 3 indicadores han sido colocados de manera correcta y a continuación se aprecia en
las imágenes; pero aun no se han colocados los cables en su lugar final.
“Figura 6.79” INDICADORES LISTOS
106
6.6.3 COLOCACIÓN DEL SWITCH DE ENCENDIDO Y APAGADO DEL
CONTROL DE MANDO JOYSTICK
Mostraremos el proceso de adecuación de un contacto de encendido, a la estructura de la
base, que servirá de apagador del control, regulando el paso de la alimentación eléctrica.
“Figura 6.80” APAGADOR 2 ESTADOS
Es apagador es un apagador mono estado debido a que no se requiere que tenga otra
utilidad más que encender el joystick.
Las perforaciones se hicieron con el taladro del Equipo de Reparación de Placas de la
escuela.
“Figura 6.81” PERFORACIÓN DEL APAGADOR
107
Debido a que no contábamos con una herramienta de medida, de apagador, la
perforación fue hecha al tanteo, es decir, de manera comparativa a base de prueba y
error.
“Figura 6.82” PERFORACIÓN DEL APAGADOR 2
Muestra de cómo se hacia la comparación entre la perforación y el apagador.
“Figura 6.83” PERFORACIÓN DEL APAGADOR 3
108
En estas imágenes se muestran el proceso de perforación y el lugar donde se realizo y así
mismo el equipo que se uso.
“Figura 6.84” PROCESO DE PERFORACIÓN
Ya que llegamos a la medida justa en que el apagador es colocado, podemos pasar a
colocar el resto del circuito.
“Figura 6.85” PERFORACIÓN LISTA
109
Proceso de colocación pasó a paso.
“Figura 6.86” COLOCANDO APAGADOR
Vistas del apagador colocado.
“Figura 6.87” VISTAS DEL APAGADOR COLOCADO
Vista interna del apagador en la base Vista superior del apagador en la base
“Figura 6.88” VISTAS DEL APAGADOR COLOCADO 2
110
“Figura 6.89” VISTA INTERNA DE LA BASE
En esta imagen se muestran los LED indicadores ya colocados, así como, el apagador
del control también ya colocado.
Por último la tapa de la base del control tuvo que ser modificada de manera estructural
para que los aditamentos que instalaremos; entre ellos el PIC, el cableado y el circuito de
regulación de la corriente de alimentación.
“Figura 6.90” ADECUANDO TAPA DE LA BASE
111
6.6.3.1 CONFIGURACIÓN DEL CIRCUITO DE CONEXIÓN DE
HABILITACIÓN DEL CONTROL DE MANDO
Ahora miraremos una ilustración de la conexión del circuito de alimentación del
joystick; esto con la intención de hacer más sencillo el reconocimiento del circuito, en la
estructura real.
“Figura 6.91” DIAGRAMA DE ALIMENTACIÒN ELECTRICA
112
Este es el diagrama del circuito anterior.
“Figura 6.92” SIMULACIÓN DE ALIMENTACIÓN ELECTRICA
En el diagrama se muestra que se utiliza un regulador de voltaje “LN7805”, este tiene la
capacidad de regular el voltaje a 5 V y 1 A, el cual suministra el voltaje requerido al
“PIC18F4550” y así mismo, regula el voltaje de entrada que proviene de la pila de 9v y
del modulo de control, con el fin de mantener el voltaje constante a 5V.
El circuito de alimentación eléctrica del joystick, funciona de dos maneras dependiendo
de donde obtenga la energía, la primera de ella es directamente del “Modulo Principal” a
través de los pines 15 y 14 del cable de salida, y la segunda a través de la pila de 9v que
tenemos la intención que sea la fuente de energía del circuito cuando funcione de
manera inalámbrica.
113
Algunas de las piezas usadas para armar el circuito.
Conector de la pila de 9V.
Conector y pila.
Integrado regulador de voltaje a 5V
“LN7805”
“Figura 6.93” PIEZAS DE
ALIMENTACIÓN ELECTRICA
114
6.7 ARMADO DE LA PLACA DE CONTROL
Una vez terminadas las partes de los indicadores y
los push, procederemos a la colocación y
adecuación del cableado y del “PIC4550” en la
placa perforada.
El circuito fue armado en la placa perforada con
la finalidad de aprovechar las perforaciones para
la colocación del cableado ya que el pic en el
Control de Mando solo manejara entradas y salidas, por lo que no había necesidad de
armar una placa más compleja.
“Figura 6.95” VISTA SUPERIOR DEL PIC DEL JOYSTICK
En la imagen se logra apreciar que el “PIC4550” esta ya conectado en la placa
perforada, la cual fue modificada y adecuada para que ajuste en la estructura de la base
del control; se le hicieron dos hendiduras donde se sujeta a base.
También tiene ya instalado el cableado de alimentación del pic.
“Figura 6.94” SOLDANDO PIC
115
La configuración del cableado del PIC se estableció en la siguiente tabla.
“Tabla 6.5” SALIDAS DE CONFIGURACIÓN DE CABLEADO
NUM.
CABLEADO COLOR PUERTOS CARACTERISTICAS
NOMBRE DEL
MOVIMIENTO DESCRIPCION
1.- VERDE
D
D0 – PIN 19 BASE D. BASE DEL BRAZO ROBOTICO GIRA A
LA DERECHA
2.- BLANCO D1 – PIN 20 BASE I. BASE DEL BRAZO ROBOTICO GIRA A
LA IZQUIERDA
3.- NARANJA D2 – PIN 21 BRAZO A. PARTE NOMBRADA “BRAZO” DEL
YOUPY, SE ELEVA
4.- ROJO D3 – PIN 22 BRAZO AB. PARTE NOMBRADA “BRAZO” DEL
YOUPY, DESIENDE
5.- GRIS D4 – PIN 27 CODO A. PARTE NOMBRADA “CODO” DEL
YOUPY, SE ELEVA
6.- AMARILLO D5 – PIN 28 CODO AB. PARTE NOMBRADA “CODO” DEL
YOUPY, DESIENDE
7.- CAFÉ D6 – PIN 29 MUÑECA A. PARTE NOMBRADA “MUÑECA” DEL
YOUPY, SE ELEVA
8.- AZUL D7 – PIN 30 MUÑECA AB. PARTE NOMBRADA “MUÑECA” DEL
YOUPY, DESIENDE
9.- MORADO
B
B0 – PIN 33 G.D. MUÑECA LA MUÑECA DEL YOUPY, GIRA A LA
DERECHA
10.- ROSADO B1 – PIN 34 G.I. MUÑECA LA MUÑECA DEL YOUPY, GIRA A LA
IZQUIERDA
11.- NEGRO B2 – PIN 35 PINZA A. LA PINZA DEL YOUPY, SE ABRE
12.- VERDE PASTEL B3 – PIN 36 PINZA C. LA PINZA DEL YOUPY, SE CIERRA
13.- ROJO/BLANCO VOLTAJE 5 V
116
14.- NEGRO/BLANCO TIERRA GND
“Tabla 6.6” CONFIGURACIÓN DE CABLEADO DE ENTRADA
NUM.CABLEADO COLOR PUERTOS CARACTERISTICAS
1.- BLANCO
A
RESET
3.- ROJO POTENCIOMETRO
4.- CAFÉ INCREMENTO
5.- NARANJA DECREMENTO
6.- NEGRO VOLTAJE
2.- AZUL VOLTAJE
“Tabla 6.7” CONFIGURACIÓN DE CABLEADO DEL POTENCIOMETRO
COLOR PUERTO
ROJO A0
AZUL/BLANCO VOLTAJE
CAFÉ/TIERRA TIERRA
117
En esta imagen se aprecia con detalle la conexión con el switch de encendido que
habilita el PIC.
“Figura 6.96” VISTA SUPERIOR DEL PIC DEL JOYSTICK 2
Las fotos que se muestran a continuación nos muestran el proceso de colocación y
fijación del microcontrolador y el switch.
“Figura 6.97” COLOCACIÓN DEL PIC EN EL JOYSTICK
118
6.8 ARMADO DEL CABLEADO CONECTOR
Ya terminado el procedimiento, solo nos
queda cerrar la tapa de la base para empezar
a soldar el otro extremo del cable de salida
en un conector “DB15”, que es el que ira
conectada al “Modulo Principal”.
Se puede notar que de los 25 pines que
contenía el cable, solo se usaran 15 por lo que con el resto se opto por cubrirlos con
termo fil, con la idea de que si en algún futuro algún cable se daña o se le quiera añadir
nuevos aditamentos al control, tengan disponibilidad del mismo.
“Figura 6.99” CABLEADO Y CONFIGURACIÓN DEL CONECTOR DB15
“Figura 6.98” CABLE Y CONECTOR DB15
119
Para poder probar el Control de Mando con el “Modulo Principal”, tenemos que ponerle
una interface con un conector “DB15” al cable que proviene de modulo, ya que, ese
cable IDE de 16 no tiene manera de identificar cual es cual; nos vimos en la necesidad
de creer un código grafico en base a termofil para la identificación de los cables,
dándonos una gran ventaja, por que ahora se puede identificar de manera rápida, cual es
el cableado de habilitación para cada una de las funciones que activan el “Brazo
Robótico Youpi”.
“Tabla 6.8” CODIGO DE TERMOFIL DEL CONECTOR
NUM. DIRECCION DE LECTURA CONF. DE EL TERMOFIL PARTE DE CONTROL
1 BASE DE PINES BASE
2 BASE DE PINES BRAZO
3 BASE DE PINES APERTURA DE PINZA
4 BASE DE PINES MUÑECA
5 BASE DE PINES CODO
6 BASE DE PINES G. PINZA
V BASE DE PINES VOLTAJE
GND BASE DE PINES TIERRA
“Figura 6.100” VISTAS DEL CODIGO
120
Una vez que se ha codificado de manera correcta, pasaremos a armar y conectar el
conector.
En la imagen se aprecia el cable en
su totalidad ya marcado, pero sin su
conector “DB15”.
Por estética consideramos recubrir todo el cable con termo fil para que le sirva de
protección.
“Figura 6.102” CABLE CON CODIGO Y RECUBRIMIENTO DE TERMOFIL
“Figura 6.101” CABLE Y CONECTO CON CODIGO
121
Para poder colocar la cubierta o chasis del “DB15”, primero tenemos que colocar un
sujetador en base a unas lamitas y un par de torillos.
“Figura 6.103” CHASIS PROTECTOR DEL CONECTOR DB15
Este sujetador cumple con la función de protección contra arrancones brucos del cable,
que si no contaron con esta protección podrían causar un desprendimiento.
“Figura 6.104” ARMADO DE CHASIS
122
Continuamos con el proceso de armado del chasis.
“Figura 6.105” PROCESO DE ARMADO DE CHASIS
Ya terminado el proceso de armado, falta por hacer una conexión más.
“Figura 6.106” CABLE DB15
TERMINADO
123
Procedemos a conectar el extremo al modulo principal para poder hacer la prueba del
circuito de control.
“Figura 6.107” CONECTANDO EL CABLE DB15 AL MÓDULO PRINCIPAL
Con esto quedan terminadas las
modificaciones al “Modulo Principal” y
al “Control de Mando Tipo Joystick”.
“Figura 6.108” CONEXIÓN DB15 LISTA
125
7.1 DESCRIPCIÓN DE LOS MÓDULOS PREVIAMENTE CONSTRUIDOS
Este es un proyecto en el cual continuamos con el trabajo de rehabilitación del Brazo
Robótico “YOUPI”, tomando lo anterior, implica que debimos basarnos en un proyecto
previo y de ahí continuar el nuestro, aprovechando esta ventaja me di a la tarea de leer la
documentación dejada por mi antecesor, y así tener una base de donde retomar el
proyecto, pero para nuestra sorpresa la información contenida en su reporte final no fue
de gran ayuda, por lo que tuvimos que iniciar nuestro proyecto realizando una revisión,
he identificación de todas las partes con las que contaba el robot.
Iniciamos con el proceso de identificación de los módulos que controlan los motores, los
cuales permiten la movilidad del brazo robótico, el cual denominaremos “Mòdulo
Principal”.
“Figura 7.1” MÓDULO PRINCIPAL
126
El denominado “Modulo Principal”, contiene en su estructura física pines de entrada, los
cuales explicaremos más adelante y con detalle su funcionamiento, 2 PIC control;
cableado de salida, que está conectado a un conector DB25 o conector de puerto
paralelo; 3 pines conexión del “Modulo de los Sensores” para cada uno de los PIC´S y
por último la alimentación del circuito.
Otro de de los módulos que tiene el brazo robótico, es el nombrado “Modulo de los
Sensores”, llamado de esta manera debido a su función que es la de procesar los
sensores ópticos “QRD1114”.
“Figura 7.2” MÓDULO DE SENSORES
Más adelante describiremos los componentes importantes y el funcionamiento de este
circuito. Otras de las partes o módulos que conforman el robot, son los “Drivers” esta es
la parte que alimenta y envía la secuencia de control a los motores.
127
7.2 MÓDULO PRICIPAL
“Figura 7.3” MÓDULO PRINCIPAL COMPLETO
Esta es una imagen que nos muestra al modulo principal, junto con su cableado
exceptuando el cableado de bits de entrada que se conectan donde están los pines. De
esta manera se puede apreciar de manera clara los cables de salida de datos y el conector
DB25, así como la conexión del “Modulo de los Sensores”, siendo la que tiene el
conector “DB9” de color negro, el cual por cuestiones de mantenimiento tuvimos que
cambiar, por una cubierta nueva de color gris.
Vamos a empezar a identificar pieza por pieza, por
orden de importancia, empezaremos por la
conexión de “Modulo de los Sensores”. Este
conector consta de dos partes uno de ellos, el
“BD9” va conectado al “Modulo de los Sensores”,
el cual en su estructura interna está constituido por
un cable de 15 pines, del cual solo se usan 12 cables, esto porque solo se requieren seis
“Figura 7.4” CABLE CONECTOR
DEL MÓDULO DE SENSORES
128
pines del conector “DB9” de los cuales cada PIC utiliza 3 de ellos, en caso de que sean
programados en el PIC, del otro lado del cable tenemos los conectores que van la placa
del “Modulo Principal” donde ya están dividas en 2 conectores cada uno con 3 pares de
cables para hacer la conexión con el PIC; el resto de cables están en rollados para evitar
cortos, pero no tienen ninguna utilidad, ya que, no han sido conectados en algún extremo
del cable.
“Figura 7.5” ÁREA DE CONEXIÓN DEL CABLE DE SENSORES
En esta imagen se muestra donde están las bases para conectar el cable en cada PIC y la
cantidad de pines usados. Un detalle importante que hay que considerar es que los
sensores no fueron incluidos en la programación, por lo que, es un aspecto que quedo
pendiente por ajustar en la programación de nuestro antecesor, los sensores están
conectados en el puerto C del PIC, en los pines C4, C5 Y C6.
129
7.2.1 ÁREA DE ALIMENTACIÓN ELECTRICO
Un sección más que compone el “Modulo Principal” es el área de alimentación, es decir,
donde suministras la energía que requiere para funcionar el modulo y el joystick que
construiremos, el cual se alimenta con 5v, que es suministrado por las fuentes reguladas
de la escuela.
“Figura 7.6” FUENTES REGULADAS
Como parte de la actualización de nos dimos a la tarea de buscar una mejor manera de
alimentar el Youpi, por lo cual aprovechando una fuente conmutada de computadora, la
cual debido a su reducido tamaño y sus suficientes salidas eléctricas, es idónea para
usarcé dentro de la estructura de la base del Youpi.
Manteniendo la alimentación de los módulos Principal y de Sensores, así como, cada
uno de los Driver usados para alimentar los motores. Por lo que mantenemos una gran
ventaja sobre el modulo de alimentación eléctrica anterior.
130
7.2.2 ÁREA DE PINES DE ENTRADA O DIRECCIÓN
Por otra parte tenemos el área de control o pines de entrada de datos al PIC, en estos
pines estaba conectado el control o botonera que nuestro antecesor creo para indicar las
funciones del brazo o que sepa que motor debe mover.
“Figura 7.7” TABLILLA BOTONERA DE ENTRADA
En la figura se muestra que la botonera está formada por 12 push o botones de control,
donde cada uno tiene su función, por ejemplo: los dos primeros botones a la izquierda de
la imagen tienen señalado arriba de ellos la etiqueta “Muñeca” y un costado de cada uno
de ellos una flecha indicando el sentido en el que la muñeca del robot Youpi se
movería, uno hacia arriba y el otro en sentido opuesto (hacia abajo); lo mismo ocurre
con el “Codo”, “Brazo”, “Base”, “Giro de Muñeca” y por ultimo queda un par de
botones sin identificación los cuales son para la apertura y cerradura de la pinza del
brazo.
131
Esta placa es conectada al “Modulo Principal”
a través de un cable IDE de 16 pines adaptado
para que cumpla esta función, ya que se le ha
removido el pin # 16 para que
solo tenga 15 cables de conexión de los cuales
12 de ellos con para cada uno de los botones en
la placa, y el resto de ellos era para funcionar como alimentación.
Por lo que la placa quedo de esta manera:
La placa era funcional, pero poco practica y poco estética, como se puede apreciar, por
lo que se sugirió que será una de las primeras tareas a realizar modificar la estructura del
control por algo nuevo.
“Figura 7.8” CABLE PLANO DE 16
HILOS
“Figura 7.9” BOTONERA ORIGINAL
“Figura 7.10” ÁREA DE CONEXIÓN DE
BOTONERA
132
7.2.3 ÁREA DE CONTROL DE MOTORES
Esta al ser el area de mayor importancia, la he dejado de ultimo, debido aque es aquí
donde se controla la secuencia que se le envia a los “Driver´s” para el funcionamiento de
los motores paso a paso.
Esta conformada por dos PIC´s 16F886, los cuales contienen una programacion para
iniciar o detener el movimento de los motores paso a paso, energisando cada una de sus
bobinas en una secuencia con la finalidad de obtener el giro del eje del motor el cual da
impulso al mismo.
La programacion original, que contenian estos microcontroladores como tambien se les
llama a todos los PIC´s, no la pudimos conseguir para examinarla, debido a que nuestro
antesesor no la respaldo, y debido a una error nuestro la programacion que tenian se
perdio, por lo que tuvimos que hacer de nuevo la programacion, adaptandonos al circuito
ya construido. Ahora explicare como esta constituida la placa con referencia a la parte de
los microcontroladores, para poder darles una idea de cómo esta armada.
“Figura 7.11” ÁREA DE PIC
133
En la imagen anterior se muestra cual es el espacio que ocupan los PIC en el circuito, a
cada unos de los microcontroladores, le hemos asignado un numero con el cual vamos a
identificarlos, el primero de ellos es el denominado “#1”, porque está encargado de
controlar los primero tres motores o mas adecuadamente de enviar la secuencia de
correcta a los tres primeros “Drivers”, el segundo es el “#2” está encargado de los otros
3 “Drivers”, cada una del cableado ha sido identificado, para identificarlos de manera
rápida con los “Drivers” que igual las han identificado con la misma numeración,
empezando por “1A, 2A, 3A” del microcontrolador “#1” y “1B, 2B, 3B” del
microcontrolador “#2”.
A continuación mostrare el diagrama de cableado o conexión que obtuvimos de la placa,
desde un solo PIC ya que no tiene utilidad alguna hacer el de ambos PIC, ya que, es
idéntico uno al otro.
134
“Figura 7.12” SIMULACIÓN MÓDULO PRINCIPAL
En la simulación se detalla la ubicación de los pines de entrada, la conexión de los
sensores así como el puerto y pines que conforman las salidas a los “Drivers” que
controla cada uno de los 3 motores, que cada microcontrolador es capaz de manejar.
135
7.3 MÓDULOS DE POTENCIA
7.3.1 MÓDULOS “DRIVERS”
Estos módulos de control, son 6 cada uno de ellos controla y proporciona el voltaje y
corriente que cada motor necesita para realizar su función.
“Figura 7.13” DRIVER L298
Cada modulo “DRIVER” está conformado por un único integrado llamado “L298N”,
que es una de las versiones del “L298 Controlador Doble de Puentes Completos”, se
denomina así , debido a que es capaz de controlar 2 “MOTORES CD” a la vez, al decir,
controlar nos referimos al encendido, y la dirección de giro de cada uno de ellos.
136
“Figura 7.14” DRIVER L298N
Estos driver al tener la capacidad de controlar dos motores fueron utilizados de una
manera muy eficiente para poder controlar un “MOTOR PASO A PASO”, debido a que
este tipo de motores requiere de una secuencia de 4 bits para la activación en sus bobinas
internas para poder funcionar y lograr un giro de su eje.
Mostrare el diagrama esquemático del “L298N”, para poder ver la configuración de los
pines que tiene este integrado.
137
“Figura 7.15” PIN-OUT DE L298
El “L298N” funciona con una alimentación de 5V, para alimentación del integrado y
utiliza otro voltaje suplementario para el funcionamiento del motor, este último voltaje
puede variar de 0V a 46V dependiendo de las necesidades del motor utilizado.
El siguiente diagrama:
“Figura 7.16” SIMULACIÓN MÓDULO DE DRIVER
139
8.1 CONTEXTO GENERAL DEL MÓDULO
“Figura 8.1” MÓDULO DE RF
Cada uno de los módulos de RF (radio frecuencia), es capaz de ser receptor y emisor de
datos; eso dependiendo de las necesidades del usuario.
Cada uno de los módulos consta de 8 pines de control o configuración y envíos de datos.
Explicaremos cada uno de los pines.
1ro.- (VCC | +2.4V a +4.2) es el pin de voltaje con el que se alimentara el módulo.
2do.-gnd, la tierra del módulo.
3ro.-rx, es el receptor de datos del módulo.
4to.-tx, es el emisor de datos del módulo.
5to.-enable, el pin de habilitación o encendido del módulo, para que el modulo este
funcionando debe estar conectado a Gnd (ground o tierra).
6to.-busy, este pin depende de la funcionalidad que el usuario quiere darle al módulo, su
función es hacer una pausa al envió o recepción de los datos debido a que indica que el
modulo está realizando una actividad, se habilita con “cero lógico” o “Gnd”.
140
7mo.-pin de modulación de 433 MHz, este es un pin reservado, este es una puerto de
entrada de datos únicamente. Este pin es el que modula en que frecuencia trabajara el
modulo, dependiendo de que si se conecta a Gnd o no.
8vo.-es el pin de configuración de frecuencia de funcionamiento del módulo, se habilita
con “cero lógico”.
El diagrama que a continuación se muestra es la forma de configuración más sencilla, en
la que se puede conectar los módulos a un PIC, con la finalidad de usar uno como
emisor y otro como receptor. En caso de que tú requieras usarlos como emisor y receptor
a la vez solo es cuestión de hacer unas pequeñas modificaciones al circuito y a la
programación.
“Figura 8.2” SIMULACIÓN DE CONEXIÓN DE LOS MÒDULOS
141
8.2 LA PROGRAMACIÓN DEL PIC PARA EL FUNCIONAMIENTO DE LA
RADIO FRECUENCIA.
8.2.1 RECEPTOR
Independientemente del PIC y la programación de tu conveniencia, el receptor de radio
frecuencia requieren usar estas línea de código, ya que es indispensable que estén
trabajando bajo la misma frecuencia.
Usando unas variables para facilitar el reconocimiento.
#define enciende output_high
#define apaga output_low
#define parpadea output_toggle
#define entrada input
int8 caracter;
142
8.2.2 SELECCIÓN DE UN CANAL
apaga (A0); ///Para poder configurar el modulo se requiere que el puerto de envió o
configuración este en cero lógico o desactivado. La desactivación de este
Puerto, puede ser modificado por el Puerto de tu preferencia, considera
que este Puerto es el activador para la configuración del canal, solo se
activara una vez.
delay_ms(10); ///retardos de 10 milisegundos
put C(0xaf); ///la configuración del canal; depende del puerto donde se encuentre
ubicado los pines de transmisión serial (RX, TX); en el caso particular del
Pic18f4550 se encuentra en el puerto C.
put C(0x01); ///numero de canal en que trabajara, puede ser ajustado entre 1 a 63
siendo el mismo en el receptor y emisor; el numero del canal tiene que ser
escrito en hexadecimal.
if (kbhit()){ ///condicional referente a la llegada o respuesta del dato
if (get C ()== 0x01){ ///condicional que hace la comparación del bit de llegada, es decir,
hace la indicación de que se recibió el dato, y señala que el
receptor y emisor están en el mismo canal.
enciende (A1); ///LED de referencia o indicador de que el receptor y emisor están
listos para enviar y recibir datos.
}
}
143
delay_ms(100); ///retardo de 100 milisegundos, con el fin de hacer tiempo de que
se normalicé y ajusten los módulos.
enciende (A0); ///Una vez terminada la configuración el puerto pasa a 1 lógico,
para dejarlo listo para enviar o recibir datos.
144
8.3 RECEPCIONAR UN DATO
Para en la programación luego de haber configurado los módulos, en cualquier
compilador o software para programar, existe una sección donde se escribe el código de
ejecución del programa, es decir, todo programa se divide en declaración de variables y
el programa en si, donde se indican las acciones a realizar con las variables declaras; en
el caso de “PIC C” esta sección comienza después del “for(;;)”, siendo aquí donde se
ejecuta el programa.
for(;;){
if (kbhit()){ ///condicional de recepción de datos
caracter =get C(); ///asigna el valor recibido a través del Puerto RX, a la variable
“carácter”;a partir de este punto ya se puede utilizar el valor
recibido para aplicarlo según nuestra conveniencia. Un ejemplo de
cómo usar el valor se muestra a continuación.
switch (caracter){ ///se asigno el valor del “carácter” para que identifique un caso,
suponiendo que el dato enviado es un numero, que sirve de
referencia, podemos usar cualquier valor o dato, según nos
convenga.
caso 1:
secuencia;
caso2:
secuencia;
caso….
145
8.4 ENVÍO DE DATOS
Trabajar con la programación del emisor con el enviar datos es relativamente muy
simple ya que solo se requiere usar una función “put c()” cada que lo consideres
necesario; un ejemplo sencillo de su aplicación.
for(;;){
if (a=a){ ///condicional, que nos dice que si se cumple la condición que “a, sea
igual a, a” y si se cumple, envía un dato, en este caso es un 1 en
hexadecimal.
put C(0x01); ///función que envía el dato “1” en el Puerto C
}
else { ///en caso de que no se cumpla la condición envía otro dato.
put C(0x02);
}
Esta es la programación requerida para la comunicación entre módulos.
146
CONCLUSIÓN.
Uno de los objetivos de este trabajo fue el de diagnosticar la funcionalidad del brazo
robótico con el que cuenta el laboratorio de electrónica de este instituto, así como la
consideración de elaborar propuestas de rediseño en las etapas de control lógico y de
potencia de este, ya que al rediseñar estas etapas quedaría rehabilitado este equipo, el
cual será utilizado en prácticas escolares de los alumnos de Ingeniería Electrónica, por lo
tanto; tener una pauta en la innovación de nuevas técnicas de rediseño, rehabilitación y
por qué no de construcción de nuevos equipos en beneficio de la sociedad..
Este trabajo se hace mención de algunas características técnicas de dicho brazo robótico.
La propuesta de control de mando tipo joystick mencionada no quiere decir que sea la
solución única, ya que, existen otras maneras de controlar motores paso a paso y de
utilizar sensores de posición; al construirlo y probarlo, los resultados fueron
satisfactorios por la ventaja de comodidad y facilidad de uso que proporciona el joystick,
así como, como la sensación de control del YOUPI, el joystick es capaz de dirigir cada
movimiento del brazo con bastante precisión.
Por otra parte; la etapa de potencia está diseñada para ser compatible con otros
dispositivos de control.
El diseño y evaluación del modulo inalámbrico nos dejo muy satisfechos debido a que
supero las expectativas de acuerdo a la distancia a la que nos permite mantenernos
suficientemente alejados del Youpi sin perder el control del mismo, debido a que es
capar de enviar gran cantidad de datos sin problemas.
147
Una de las modificaciones importantes, fue la fuente de alimentación, ya que, logramos
que todos los módulos y la fuente queden incorporados en el interior de la base del
Youpi, a través de la adecuación de la fuente conmutada de una computadora,
mejorando así la estética y funcionalidad, así como, la movilidad del Brazo Robótico.
Además este trabajo de rediseño y construcción queda abierto a los alumnos que deseen
realiza innovaciones a este brazo robótico, ya que quedaría pendiente la construcción de
diferentes etapas de control, el desarrollo de software de control, etc.
149
Apéndice # 1
PROGRAMACIÓN USADA EN EL MODULO PRINCIPAL
PIC # 1
#include <16F886.h>
//#DEVICE ADC=10
#fuses XT,NOWDT,PUT,NOPROTECT,NOLVP,NOMCLR,NODEBUG,NOWRT
#use delay(clock=4000000)
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)
#define enciende output_high
#define apaga output_low
#define parpadea output_toggle
#define entrada input
#define PORTA input_a
#define PORTB input_b
#define PORTC input_c
#define A0 PIN_A0
#define A1 PIN_A1
#define A2 PIN_A2
#define A3 PIN_A3
#define A4 PIN_A4
#define A5 PIN_A5
#define A6 PIN_A6
#define A7 PIN_A7
#define B0 PIN_B0
#define B1 PIN_B1
#define B2 PIN_B2
#define B3 PIN_B3
#define B4 PIN_B4
#define B5 PIN_B5
#define B6 PIN_B6
#define B7 PIN_B7
#define C0 PIN_C0
#define C1 PIN_C1
#define C2 PIN_C2
#define C3 PIN_C3
150
#define C4 PIN_C4
#define C5 PIN_C5
#define C6 PIN_C6
#define C7 PIN_C7
///MODULO PRINCIPAL PIC # 1
int motor;
mov_motor(void){
switch(motor){
case 0: //motor 0
enciende(C0);
enciende(B0);
enciende(B4);
break;
///////// BASE \\\\\\\\\
case 1: //motor 1 ADELANTE
enciende(B3);
delay_ms(10);
apaga(B3);
enciende(B2);
delay_ms(10);
apaga(B2);
enciende(B1);
delay_ms(10);
apaga(B1);
enciende(B0);
delay_ms(10);
apaga(B0);
break;
case 2: //motor 1 ATRAS
enciende(B0);
delay_ms(10);
apaga(B0);
enciende(B1);
delay_ms(10);
apaga(B1);
enciende(B2);
delay_ms(10);
apaga(B2);
enciende(B3);
delay_ms(10);
151
apaga(B3);
break;
////////////////BRAZO\\\\\\\\\\\\\\\\\\
case 3: //motor2 ADELANTE
enciende(B4);
delay_ms(8);
apaga(B4);
enciende(B5);
delay_ms(8);
apaga(B5);
enciende(B6);
delay_ms(8);
apaga(B6);
enciende(B7);
delay_ms(8);
apaga(B7);
break;
case 4: //motor 2 ATRAS
enciende(B7);
delay_ms(8);
apaga(B7);
enciende(B6);
delay_ms(8);
apaga(B6);
enciende(B5);
delay_ms(8);
apaga(B5);
enciende(B4);
delay_ms(8);
apaga(B4);
break;
////////////APERTURA DE PINZA\\\\\\\\\\\\\\\\\
case 5: //motor 3 ADELANTE
enciende(C0);
delay_ms(9);
apaga(C0);
enciende(C1);
delay_ms(9);
apaga(C1);
enciende(C2);
delay_ms(9);
152
apaga(C2);
enciende(C3);
delay_ms(9);
apaga(C3);
break;
case 6: //motor 3 ATRAS
enciende(C3);
delay_ms(9);
apaga(C3);
enciende(C2);
delay_ms(9);
apaga(C2);
enciende(C1);
delay_ms(9);
apaga(C1);
enciende(C0);
delay_ms(9);
apaga(C0);
break;
}
}
void main() {
for(;;){
if (entrada(A0)&&1){
motor=1;}
else if (entrada(A1)&&1){
motor=2;}
else if (entrada(A2)&&1){
motor=3;}
else if (entrada(A3)&&1){
motor=4;}
else if (entrada(A4)&&1){
motor=5;}
else if (entrada(A5)&&1){
motor=6;}
else{
motor=0;
}
mov_motor();
153
}
/// Posible programación de sensores, revisar cableado y estructurar antes de activar
/*
if (entrada(A0)==0)
enciende(C0);
apaga (C1);
apaga (C2);
apaga (C3);
else(entrada (A1))
enciende (C1);
apaga (C2);
apaga (C3);
apaga (C0);
*/
}
154
Apéndice # 2
PROGRAMACIÓN USADA EN EL MODULO PRINCIPAL
PIC # 2
#include <16F886.h>
//#DEVICE ADC=10
#fuses XT,NOWDT,PUT,NOPROTECT,NOLVP,NOMCLR,NODEBUG,NOWRT
#use delay(clock=4000000)
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)
#define enciende output_high
#define apaga output_low
#define parpadea output_toggle
#define entrada input
#define PORTA input_a
#define PORTB input_b
#define PORTC input_c
#define A0 PIN_A0
#define A1 PIN_A1
#define A2 PIN_A2
#define A3 PIN_A3
#define A4 PIN_A4
#define A5 PIN_A5
#define A6 PIN_A6
#define A7 PIN_A7
#define B0 PIN_B0
#define B1 PIN_B1
#define B2 PIN_B2
#define B3 PIN_B3
#define B4 PIN_B4
#define B5 PIN_B5
#define B6 PIN_B6
#define B7 PIN_B7
#define C0 PIN_C0
#define C1 PIN_C1
#define C2 PIN_C2
#define C3 PIN_C3
#define C4 PIN_C4
155
#define C5 PIN_C5
#define C6 PIN_C6
#define C7 PIN_C7
////////MODULO PRINCIPAL PIC # 2\\\\\\\\\\
int motor;
mov_motor(void){
switch(motor){
case 0: //motor 0
enciende(C0);
enciende(B0);
enciende(B4);
break;
/////////////////////GIRO DE PINZA\\\\\\\\\\\\\\\\\\\
case 1: //motor 1 ADELANTE
enciende(B0);
delay_ms(5);
apaga(B0);
enciende(B1);
delay_ms(5);
apaga(B1);
enciende(B2);
delay_ms(5);
apaga(B2);
enciende(B3);
delay_ms(5);
apaga(B3);
break;
case 2: //motor 1 ATRAS
enciende(B3);
delay_ms(5);
apaga(B3);
enciende(B2);
delay_ms(5);
apaga(B2);
enciende(B1);
delay_ms(5);
apaga(B1);
enciende(B0);
delay_ms(5);
156
apaga(B0);
break;
//////////////////////////MUÑECA\\\\\\\\\\\\\\\\\\\\\\\\\
case 3: //motor2 ADELANTE
enciende(B4);
delay_ms(5);
apaga(B4);
enciende(B5);
delay_ms(5);
apaga(B5);
enciende(B6);
delay_ms(5);
apaga(B6);
enciende(B7);
delay_ms(5);
apaga(B7);
break;
case 4: //motor 2 ATRAS
enciende(B7);
delay_ms(5);
apaga(B7);
enciende(B6);
delay_ms(5);
apaga(B6);
enciende(B5);
delay_ms(5);
apaga(B5);
enciende(B4);
delay_ms(5);
apaga(B4);
break;
///////////////////CODO\\\\\\\\\\\\\\\\\\
case 5: //motor 3 ADELANTE
enciende(C0);
delay_ms(8);
apaga(C0);
enciende(C1);
delay_ms(8);
apaga(C1);
enciende(C2);
delay_ms(8);
apaga(C2);
enciende(C3);
157
delay_ms(8);
apaga(C3);
break;
case 6: //motor 3 ATRAS
enciende(C3);
delay_ms(8);
apaga(C3);
enciende(C2);
delay_ms(8);
apaga(C2);
enciende(C1);
delay_ms(8);
apaga(C1);
enciende(C0);
delay_ms(8);
apaga(C0);
break;
}
}
void main() {
for(;;){
if (entrada(A0)&&1){
motor=1;}
else if (entrada(A1)&&1){
motor=2;}
else if (entrada(A2)&&1){
motor=3;}
else if (entrada(A3)&&1){
motor=4;}
else if (entrada(A4)&&1){
motor=5;}
else if (entrada(A5)&&1){
motor=6;}
else{
motor=0;
}
mov_motor();
}
158
/// Posible programación de sensores, revisar cableado y estructura antes de activar
/*
if (entrada(A0)==0)
enciende(C0);
apaga (C1);
apaga (C2);
apaga (C3);
else(entrada (A1))
enciende (C1);
apaga (C2);
apaga (C3);
apaga (C0);
*/
}
159
Apéndice # 3
PRINCIPIO DE FUNCIONAMIENTO DE UN MOTOR PaP.
Básicamente estos motores están constituidos normalmente por un rotor sobre el que van
aplicados distintos imanes permanentes y por un cierto número de bobinas excitadoras
bobinadas en su estator. Las bobinas son parte del estator y el rotor es un imán
permanente. Toda la conmutación (o excitación de las bobinas) deber ser externamente
manejada por un controlador.
Existen dos tipos de motores paso a paso de imán permanente:
“Figura III” MOTOR BIPOLAR
Bipolar: Estos tiene generalmente cuatro cables de salida (ver figura 64). Necesitan
ciertos trucos para ser controlados, debido a que requieren del cambio de dirección del
“Figura I” ROTOR DE UN MOTOR PaP
“Figura II” ESTATOR
DE 4 BOBINAS
160
flujo de corriente a través de las bobinas en la secuencia apropiada para realizar un
movimiento.
“Figura IV” MOTOR UNIPOLAR
Unipolar: Estos motores suelen tener 6 o 5 cables de salida, dependiendo de su
conexionado interno (ver figura 23). Este tipo se caracteriza por ser más simple de
controlar. Un ejemplo de conexionado para controlar un motor paso a paso unipolar
mediante el uso de un ULN2803, el cual es una array de 8 transistores tipo
Darlington capaces de manejar cargas de hasta 500 mA. Las entradas de activación
(Activa A, B, C y D) pueden ser directamente activadas por un Microcontrolador.
“Figura V” EJEMPLO DEL DRIVER ULN2803
161
Secuencias para manejar motores paso a paso Bipolares.
Como se dijo anteriormente, estos motores necesitan la inversión de la corriente que
circula en sus bobinas en una secuencia determinada. Cada inversión de la polaridad
provoca el movimiento del eje en un paso, cuyo sentido de giro está determinado por la
secuencia seguida.
“Tabla I” SECUENCIA DE CONTROL
PASO TERMINALES
A B C D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
Secuencias para manejar motores paso a paso Unipolares.
Existen tres secuencias posibles para este tipo de motores, las cuales se detallan a
continuación. Todas las secuencias comienzan nuevamente por el paso 1 una vez
alcanzado el paso final (4 u 8). Para revertir el sentido de giro, simplemente se deben
ejecutar las secuencias en modo inverso.
162
Secuencia Normal: Esta es la secuencia más usada y la que generalmente recomienda el
fabricante. Con esta secuencia el motor avanza un paso por vez y debido a que siempre
hay al menos dos bobinas activadas, se obtiene un alto torque de paso y de retención.
“Tabla II” SECUENCIA NORMAL DE ACTIVACIÓN.
PASO Bobina A Bobina B Bobina C Bobina D
1 ON ON OFF OFF
2 OFF ON ON OFF
3 OFF OFF ON ON
4 ON OFF OFF ON
Secuencia del tipo wave drive: En esta secuencia se activa solo una bobina a la vez. En
algunos motores esto brinda un funcionamiento más suave. La contrapartida es que al
estar solo una bobina activada, el torque de paso y retención es menor.
163
“Tabla III” SECUENCIA WAVE DRIVE DE ACTIVACIÓN.
PASO Bobina A Bobina B Bobina C Bobina D
1 ON OFF OFF OFF
2 OFF ON OFF OFF
3 OFF OFF ON OFF
4 OFF OFF OFF ON
Secuencia del tipo medio paso: En esta secuencia se activan las bobinas de tal forma de
brindar un movimiento igual a la mitad del paso real. Para ello se activan primero 2
bobinas y luego solo 1 y así sucesivamente. Como vemos en la tabla la secuencia
completa consta de 8 movimientos en lugar de 4.
164
“Tabla IV” SECUENCIA MEDIO PASO
PASO Bobina A Bobina B Bobina C Bobina D
1 ON OFF OFF OFF
2 ON ON OFF OFF
3 OFF ON OFF OFF
4 OFF ON ON OFF
5 OFF OFF ON OFF
6 OFF OFF ON ON
165
7 OFF OFF OFF ON
8 ON OFF OFF ON
Cabe destacar que debido a que los motores paso a paso son dispositivos mecánicos y
como tal deben vencer ciertas inercias, el tiempo de duración y la frecuencia de los
pulsos aplicados es un punto muy importante a tener en cuenta. En tal sentido el motor
debe alcanzar el paso antes que la próxima secuencia de pulsos comience.
Si la frecuencia de pulsos es muy elevada, el motor puede reaccionar en alguna de las
siguientes formas:
Puede que no realice ningún movimiento en absoluto.
Puede comenzar a vibrar pero sin llegar a girar.
Puede girar erráticamente.
O puede llegar a girar en sentido opuesto.
166
Para obtener un arranque suave y preciso, es recomendable comenzar con una frecuencia
de pulso baja y gradualmente ir aumentándola hasta la velocidad deseada sin superar la
máxima tolerada. El giro en reversa debería también ser realizado previamente bajando
la velocidad de giro y luego cambiar el sentido de rotación.
Una referencia importante de un motor PaP nuevo:
Cuando se trabaja con motores P-P usados o bien nuevos, pero de los cuales no tenemos
hojas de datos. Es posible averiguar la distribución de los cables a los bobinados y el
cable común en un motor de paso unipolar de 5 o 6 cables siguiendo las instrucciones
que se detallan a continuación:
“Figura VI” DIAGRAMA INTERNO DE MOTORES PaP BIPOLAR.
“Figura VII” DIAGRAMA INTERNO DE MOTORES PaP UNIPOLAR.
167
1. Aislando el cable(s) común que va a la fuente de alimentación: Como se aprecia en las
figuras anteriores, en el caso de motores con 6 cables, estos poseen dos cables comunes,
pero generalmente poseen el mismo color, por lo que lo mejor es unirlos antes de
comenzar las pruebas.
Usando un tester para chequear la resistencia entre pares de cables, el cable común será
el único que tenga la mitad del valor de la resistencia entre ella y el resto de los cables.
Esto es debido a que el cable común tiene una bobina entre ella y cualquier otro cable,
mientras que cada uno de los otros cables tiene dos bobinas entre ellos. De ahí la mitad
de la resistencia medida en el cable común.
2. Identificando los cables de las bobinas (A, B, C y D): aplicar un voltaje al cable
común (generalmente 12 volts, pero puede ser más o menos) y manteniendo uno de los
otros cables a masa (GND) mientras vamos poniendo a masa cada uno de los demás
cables de forma alternada y observando los resultados.
168
El proceso se puede apreciar en el siguiente cuadro:
“Tabla V” COMO ACTIVAR UN MOTOR PaP
Seleccionar un cable y conectarlo a masa. Ese será
llamado cable A.
Manteniendo el cable A conectado a masa, probar
cuál de los tres cables restantes provoca un paso en
sentido antihorario al ser conectado también a masa.
Ese será el cable B.
Manteniendo el cable A conectado a masa, probar
cuál de los dos cables restantes provoca un paso en
sentido horario al ser conectado a masa. Ese será el
cable D.
El último cable debería ser el cable C. Para
comprobarlo, basta con conectarlo a masa, lo que no
debería generar movimiento alguno debido a que es
la bobina opuesta a la A.
Nota: La nomenclatura de los cables (A, B, C, D) es totalmente arbitraria.
Un motor de paso con 5 cables es casi seguro de 4 fases y unipolar.
Un motor de paso con 6 cables también puede ser de 4 fases y unipolar, pero con 2
cables comunes para alimentación. Pueden ser del mismo color.
Un motor de pasos con solo 4 cables es comúnmente bipolar.
169
Apéndice # 4
DESCRIPCIÓN DETALLADA DE LA PROGRAMACIÓN
Antes de entrar en detalles con la programación hay que aclarar, que la programación
entre los dos PIC es muy similar, la diferencia que tiene una de la otra es el tiempo de
respuesta o los “delays_ms”, el tiempo de espera entre pulso y pulso, esta variación se
debe a que cada motor tiene una función específica y requiere de una combinación
ligeramente diferente del tiempo de uno a otro, solo con la intención de obtener el mejor
rendimiento de cada uno de ellos.
INICIO DE LA PROGRAMACIÓN
#include <16F886.h>
//#DEVICE ADC=10
#fuses XT,NOWDT,PUT,NOPROTECT,NOLVP,NOMCLR,NODEBUG,NOWRT
#use delay(clock=4000000)
En esta parte indicamos que microcontrolador vamos a usar, así como que fusibles del
mismo debemos activar para poder usar las funciones que el PIC requiera para realizar la
programación, así mismo, se declara que cristal oscilador vamos a utilizar.
DECLARACIONES DE PUERTOS
#use standard_io(a)
#use standard_io(b)
#use standard_io(c)
Aquí declaramos que puertos del PIC vamos a utilizar y definimos si los usaremos de
puerto de entrada o salida, en este caso en la programación los definimos como estándar,
es decir, que pueden ser usados de ambas formas según el requerimiento de la
programación.
170
DEFINION DE VAREABLÉS A USAR EN SUSTITUCIÓN DEL LENGUAJE
ORIGINAL, ESTO CON LA FINALIDAD DE QUE AL USUARIO FINAL SE LE
HAGA MÁS SENCILLO LA COMPRENSÍON DEL PROGRAMA
#define enciende output_high
#define apaga output_low
#define parpadea output_toggle
#define entrada input
Se usaron como palabras claves enciende, apaga, parpadea, entrada, definidos como las
funciones: poner en uno lógico (5V), poner en cero lógico (0V), activación intermitente
y por último, en espera de entrada de datos. Estas palabras se usaran durante la
programación dependiendo de la necesidad del programa.
#define PORTA input_a
#define PORTB input_b
#define PORTC input_c
Se definieron todos los puertos como entradas.
#define A0 PIN_A0
#define A1 PIN_A1
#define A2 PIN_A2
#define A3 PIN_A3
#define A4 PIN_A4
#define A5 PIN_A5
#define A6 PIN_A6
#define A7 PIN_A7
#define B0 PIN_B0
#define B1 PIN_B1
#define B2 PIN_B2
#define B3 PIN_B3
#define B4 PIN_B4
#define B5 PIN_B5
#define B6 PIN_B6
#define B7 PIN_B7
171
#define C0 PIN_C0
#define C1 PIN_C1
#define C2 PIN_C2
#define C3 PIN_C3
#define C4 PIN_C4
#define C5 PIN_C5
#define C6 PIN_C6
#define C7 PIN_C7
Se renombraron cada uno de los pines de los puertos, para su rápida identificación.
INICIO DE LA PARTE PRINCIPAL DEL PROGRAMA
///MODULO PRICIPAL PIC # 1
int motor;
Declaración del variable motor
switch(motor){
Uso de la función “mov_motor” en la cual se contiene la vareable “mov” para entrar a
cada una de las secuencias.
case 0: //motor 0
enciende(C0);
enciende(B0);
enciende(B4);
break;
///////// BASE \\\\\\\\\
case 1: //motor 1 ADELANTE
enciende(B3);
delay_ms(10);
apaga(B3);
enciende(B2);
delay_ms(10);
apaga(B2);
enciende(B1);
delay_ms(10);
apaga(B1);
enciende(B0);
172
delay_ms(10);
apaga(B0);
break;
case 2: //motor 1 ATRAS
enciende(B0);
delay_ms(10);
apaga(B0);
enciende(B1);
delay_ms(10);
apaga(B1);
enciende(B2);
delay_ms(10);
apaga(B2);
enciende(B3);
delay_ms(10);
apaga(B3);
break;
////////////////BRAZO\\\\\\\\\\\\\\\\\\
case 3: //motor2 ADELANTE
enciende(B4);
delay_ms(8);
apaga(B4);
enciende(B5);
delay_ms(8);
apaga(B5);
enciende(B6);
delay_ms(8);
apaga(B6);
enciende(B7);
delay_ms(8);
apaga(B7);
break;
case 4: //motor 2 ATRAS
enciende(B7);
delay_ms(8);
apaga(B7);
enciende(B6);
delay_ms(8);
apaga(B6);
enciende(B5);
delay_ms(8);
apaga(B5);
173
enciende(B4);
delay_ms(8);
apaga(B4);
break;
////////////APERTURA DE PINZA\\\\\\\\\\\\\\\\\
case 5: //motor 3 ADELANTE
enciende(C0);
delay_ms(9);
apaga(C0);
enciende(C1);
delay_ms(9);
apaga(C1);
enciende(C2);
delay_ms(9);
apaga(C2);
enciende(C3);
delay_ms(9);
apaga(C3);
break;
case 6: //motor 3 ATRAS
enciende(C3);
delay_ms(9);
apaga(C3);
enciende(C2);
delay_ms(9);
apaga(C2);
enciende(C1);
delay_ms(9);
apaga(C1);
enciende(C0);
delay_ms(9);
apaga(C0);
break;
}
Cada caso, es la secuencia de movimientos y el motor que se activa y el sentido en el
que gira de pendiendo de la variable, cada caso equivale a una parte que se mueve del
robot.
174
Cada caso maneja un tiempo diferente de acuerdo a la parte que maneja cada moto;
“motor #1” = 10 milisegundos
“motor # 2” = 8 milisegundos
“motor # 3” = 9 milisegundos
}
void main() {
for(;;){
if (entrada(A0)&&1){
motor=1;}
else if (entrada(A1)&&1){
motor=2;}
else if (entrada(A2)&&1){
motor=3;}
else if (entrada(A3)&&1){
motor=4;}
else if (entrada(A4)&&1){
motor=5;}
else if (entrada(A5)&&1){
motor=6;}
else{
motor=0;
}
Es la parte en que cada puerto de entrada o PIN, controla el motor dependiendo de cual
puerto es te activado nos asigna un valor a la variable “motor”, con el cual podremos
determinar cual movimiento realizar.
mov_motor();
}
Nos envía a la función “mov_motor”, una vez que ya sea asignado un valor a la variable.
175
PROGRAMACION DEL SENSORES “NO ESTAN ACTIVADOS EN LA
PROGRAMACION FINAL”
/// Posible programación de sensores , revisar cableado y estructura antes de activar
/*
if (entrada(A0)==0)
enciende(C0);
apaga (C1);
apaga (C2);
apaga (C3);
else(entrada (A1))
enciende (C1);
apaga (C2);
apaga (C3);
apaga (C0);
*/
}
La programación de los sensores no está activada por que falta reconocer el
funcionamiento de los sensores reales, es decir cuando se activa que sensor y qué tipo de
función debe realizar cada uno de ellos.
176
DESCRICIPCION DE LA PROGRAMACION DEL PIC #2
La descripción de la segunda programación, es idéntica a la anterior, solo con la
diferencia de los tiempos de los motores.
“motor # 4” = 5 milisegundos
“motor # 5” = 5 milisegundos
“motor # 6” = 8 milisegundos
177
GLOSARIO
Array: arreglo.
Bilateral: ambos lados.
Bobina: Arrollamiento de un cable conductor alrededor de un cilindro sólido o hueco,
con lo cual y debido a la especial geometría obtiene importantes características
magnéticas.
Conmutación: cambio, sustitución.
Diodo: Dispositivo de dos terminales que se comporta como un interruptor común con
la condición especial de que solo puede conducir la corriente en un solo sentido.
Disipadores: disipador - aparato que ayuda a eliminar el calor generado por un cuerpo,
en general el microprocesador del equipo.
Driver: manejador, controlador.
178
Electromecánicos: Dispositivo o aparato mecánico accionado o controlado mediante
corrientes eléctricas.
Engrane: Se denomina engranaje o ruedas dentadas al mecanismo utilizado para
transmitir potencia de un componente a otro dentro de una máquina.
Estator: parte fija o inmóvil de un motor eléctrico que se antepone al rotor.
Exoesqueleto: Estructura que protege o sostiene externamente el cuerpo de un
organismo.
Integrados: Circuito electrónico de tamaño muy reducido, formado por materiales
semiconductores (como cristal de silicio o germanio) y obtenido mediante distintas
tecnologías microelectrónicas. Aloja habitualmente numerosos componentes
electrónicos interconectados en un espacio de pocos milímetros, como diodos,
transistores, resistencias, condensadores, etc.
Microcontrolador: un circuito integrado diseñado especialmente para controlar
sistemas electrónicos, que consta de todos los elementos de una computadora.
179
Microprograma: Un microcódigo o microprograma es un tipo particular de firmware
utilizado en algunos microprocesadores de propósito general.
Milivolts: milésima parte de un volt.
Patente: Una patente es un derecho exclusivo concedido a una invención que es el
producto o proceso que ofrece una nueva manera de hacer algo o una nueva solución
técnica para un problema.
Polea: Una polea, es una máquina simple. Compuesta de una rueda, generalmente
maciza y acanalada en su borde.
Potencia: fuerza, poder, energía.
Rotor: parte giratorio de una máquina electromagnética.
Sensor: Un sensor es un dispositivo que detecta, o sensa manifestaciones de cualidades
o fenómenos físicos, como la energía, velocidad, aceleración, tamaño, cantidad, etc.
180
Servocontrol: servomando.
Software: se refiere al un programa computacional.
Telemanipulador: manipulador remoto.
Torque: Es una magnitud física que nos sirve para darnos idea de cómo evoluciona la
fuerza de un motor.
Transistor: Dispositivo electrónico de material semiconductor (germanio, silicio) capaz
de controlar una corriente eléctrica, amplificándola y/o conmutándola.
Unipolares: un solo polo.
Wave drive: controlador de onda.
181
BIBLIOGRAFÍA
Iovine John, Robots, Androids and Animatrons, 2da. Edición, Mc Graw Hill.
Mc Comb Gordon, Robot Builder´s Bonanza, 3ra. Edición, Mc Graw Hill.
(2000). Todo Robot [En línea]. <www.todorobot.com.ar/proyecto/brazo/brazo.pdf>
[2010, noviembre 5]
(2009). Robots Argentina [En línea]. <www.robots-argentina.com.ar> [2010, septiembre
1]
(2010). [En línea]. <www.electricidadterra.com/glosario.html> [2010, septiembre 1, 4,
10]
(2010). [En línea]. <www.publicwarehouse.co.uk> [2010, agosto 20]
(2010). [En línea]. <www.agelectronica.com> [2010, septiembre 2]
(2010). [En línea]. <www.robodacta.com> [2010, octubre 9, 10,11]
(2010). iEspaña [En línea]. <http://wk3.iespana.es/serial.htm> [2010, noviembre 22]
(2010). NerdKits [En línea]. <http://www.nerdkits.com/forum/thread/878/> [2010,
noviembre 8]
(2010). Newark [En línea].
<http://mexico.newark.com/jsp/displayProduct.jsp?sku=74K8623&CMP=KNC-
G30000683> [2010, octubre 28]
182
(2010). UNSAAC [En línea]. <http://robotica.wordpress.com/about/> [2010].
(2010). Pablin [En línea].
<http://www.pablin.com.ar/electron/circuito/mc/sertopar/index.htm> [2010, septiembre
9]
(2010). Peter´s electronic projects [En línea]. <http://jap.hu/electronic/codec.html>
[2010, noviembre 12]
(2010). Robótica Educativa. [En línea]. <www.roboticaeducativa.udec.cl/index.php>
[2010, agosto 10]
(2010). Simuladores de Brazo Robot [En línea].
<http://sites.google.com/site/proyectosroboticos/Descargar-Simuladores> [2010,
septiembre 2]
Crouzet. (2010). [En línea] <www.crouzet.com> [2010, agosto 20]
Juan E. Herrerías Rey. (2010). Conozca su hardware. [En línea]
<www.conozcasuhardware.com> [2010, agosto 3].
RoboticSpot. (2010). [En línea] < http://www.roboticspot.com/robotica.php> [2010,
agosto 20]