UNIVERSIDAD TECNÓLOGICA
EQUINOCCIAL
FACULTAD DE CIENCIAS DE LA INGENIERÍA
CARRERA DE INGENIERÍA EN MECATRÓNICA
“DESARROLLO DE UN SISTEMA DE NAVEGACIÓN
VIRTUAL IMPLEMENTADO EN UN CASCO DE VISIÓN
ARTIFICIAL”
TESIS PREVIA A LA OBTENCIÓN DEL TÍTULO DE INGENIERO
MECATRÓNICO
ROMEO SEBASTIÁN RIVADENEIRA QUELAL
DIRECTOR: ING. JUAN CARLOS RIVERA
Quito, Julio, 2013
DECLARACIÓN
Yo ROMEO SEBASTIÁN RIVADENEIRA QUELAL, declaro que el
trabajo aquí descrito es de mi autoría; que no ha sido previamente
presentado para ningún grado o calificación profesional; y, que he
consultado las referencias bibliográficas que se incluyen en este
documento.
La Universidad Tecnológica Equinoccial puede hacer uso de los
derechos correspondientes a este trabajo, según lo establecido por la
ley de Propiedad Intelectual, por su Reglamento y por la normativa
institucional vigente.
ROMEO RIVADENEIRA QUELAL
CI: 171630159-1
CERTIFICACIÓN
Certifico que el presente trabajo que lleva por título “DESARROLLO DE UN
SISTEMA DE NAVEGACIÓN VIRTUAL IMPLEMENTADO EN UN CASCO
DE VISIÓN ARTIFICIAL”, que, para aspirar al título de Ingeniero en
Mecatrónica fue desarrollado por ROMEO SEBASTIÁN RIVADENEIRA
QUELAL, bajo mi dirección y supervisión, en la Facultad de Ciencias de la
Ingeniería; y cumple con las condiciones requeridas por el reglamento de
Trabajos de Titulación artículos 18 y 25.
ING. JUAN CARLOS RIVERA
CI: 0501373823
AGRADECIMIENTO
Agradezco a mi Madre por haberme conducido por el camino correcto de la
vida, enseñándome a cultivar valores esenciales de los seres humanos
como son la honestidad, sinceridad y verdad, y por haberme motivado
diariamente para que mis sueños profesionales se hagan realidad,
demostrándome que con esfuerzo y dedicación no existen retos imposibles
de vencerlos.
A la Universidad Tecnológica Equinoccial por convertirme en un profesional
capacitado, ya que a través de las enseñanzas diarias de mis profesores he
compartido y recibido varios años de aprendizaje fructífero.
Un agradecimiento especial al Ingeniero Juan Carlos Rivera quién con su
gran conocimiento y experiencia ha sabido guiarme y corregirme para que
esta investigación se transforme en mi Tesis de Grado, previa a la obtención
de mi título profesional.
Finalmente a mi grupo de compañeros con quienes realizamos este gran
proyecto y a las personas y amigos que están a mi lado, que con su apoyo
he podido alcanzar el objetivo planteado.
i
ÍNDICE DE CONTENIDOS
PÁGINA
RESUMEN ................................................................................................... viii
ABSTRACT .................................................................................................... ix
1. INTRODUCCIÓN ....................................................................................... 1
1.1 Objetivos .............................................................................................. 2
1.1.1 Objetivo General ............................................................................ 2
1.1.2 Objetivos Específicos..................................................................... 2
2. MARCO TEÓRICO .................................................................................... 4
2.1 Realidad Virtual .................................................................................... 4
2.1.1 Hardware ....................................................................................... 4
2.1.2 Software ......................................................................................... 4
2.2 Comunicación Inalámbrica. .................................................................. 5
2.3 Tecnologías y Protocolos inalámbricos ................................................. 6
2.4 Red ZigBee .......................................................................................... 6
2.4.1Características ................................................................................ 9
2.4.2 Modos de Operación .................................................................... 10
2.4.3 Programación de Módulos Xbee .................................................. 14
2.4.4 Detalles Técnicos ......................................................................... 17
2.5 Micro-Controladores ........................................................................... 18
2.5.1Familias de Micro-Controladores PIC ........................................... 19
2.5.2 Micro-Controlador PIC 16F870 .................................................... 20
2.5.2.1 Características Principales .................................................... 20
2.5.2.2 Conversor Análogo Digital A/D .............................................. 22
2.6 Acelerómetro MMA7260QT ................................................................ 24
2.6.1 Características ............................................................................. 24
2.6.2 Principio de Funcionamiento ........................................................ 26
2.7 Casco H.M.D. (Head Mounted Display) VR1280 ................................ 27
2.7.1Características Técnicas ............................................................... 28
3. METODOLOGÍA ...................................................................................... 30
3.1 Análisis de Requerimientos ................................................................ 31
ii
3.2 Diseño de los Circuitos ....................................................................... 32
3.2.1 Diseño del Micro-Controlador .......................................................... 32
3.2.2 Diseño de Alimentación del circuito ................................................. 35
3.2.3 Diseño de amplificadores ................................................................ 37
3.2.4 Diseño comunicación Inalámbrica ................................................... 47
3.2.4.1 Configuración de los módulos Xbee. ........................................ 50
3.3 Diseño del software (Programación del Micro-Controlador). .............. 53
3.4 Diseño y construcción del circuito impreso......................................... 57
3.5 Descripción del sistema...................................................................... 60
4. ANÁLISIS DE RESULTADOS .................................................................. 62
4.1 Especificación de requisitos para el sistema. ..................................... 61
4.2 Calibración del sistema ...................................................................... 65
4.3 Prueba de envío y recepción de datos ............................................... 67
4.4 Respuestas del sistema ..................................................................... 67
4.5 Pruebas al sistema en modo de trabajo ............................................. 69
5. CONCLUSIONES Y RECOMENDACIONES ........................................... 65
5.1 Conclusiones ...................................................................................... 68
5.2 Recomendaciones .............................................................................. 69
GLOSARIO .................................................................................................. 71
BIBLIOGRAFIA ............................................................................................ 74
ANEXOS ...................................................................................................... 76
iii
ÍNDICE DE TABLAS
PÁGINA
Tabla 1.Comparación de Tecnologías Inalámbricas. ..................................... 6
Tabla 2.Tabla Modo Sleep y consumos de corriente. .................................. 12
Tabla 3. g-Select Descripcion de pines y sensibilidad. ................................ 25
Tabla 4.Fuente de alimentación. .................................................................. 29
Tabla 5. Casa de calidad del sistema. ......................................................... 31
Tabla 6. Criterios Ponderados Microcontroladores. ..................................... 33
Tabla 7. Valores de voltaje amplificados ejeX. ............................................. 39
Tabla 8. Valores de voltaje amplificados ejeY. ............................................. 44
Tabla 9. Valores de voltaje reales amplificados ejeY. .................................. 46
Tabla 10. Criterios Ponderados Comunicación Inalámbrica ........................ 48
Tabla 11. Diagrama de Flujo del sistema ..................................................... 55
Tabla 12. Lista de elementos usados en el sistema. ................................... 60
iv
ÍNDICE DE FIGURAS
PÁGINA
Figura 1.Conexión típica usando Xbee. ........................................................ 7
Figura 2.Módulo Xbee Pro ............................................................................ 9
Figura 3.Diagrama de Pines del Modulo Xbee ............................................ 10
Figura 4.Modos de operación de los módulos Xbee. ................................... 11
Figura 5.Correspondencia de Buffer. .......................................................... 13
Figura 6. Software X-CTU pestaña PC Settings. ........................................ 15
Figura 7. Software X-CTU pestaña Range Test. ......................................... 16
Figura 8. Software X-CTU pestaña Terminal ............................................... 16
Figura 9. Software X-CTU pestaña Modem Configuration. ......................... 17
Figura 10.Detalles Técnicos Xbee. ............................................................ 18
Figura 11.Familias de Micro-Controladores PIC. ......................................... 20
Figura 12.Diagrama de Pines PIC 16F870 ................................................. 22
Figura 13.Diagrama de Bloques conversor A/D. ......................................... 23
Figura 14.Diagrama de Pines Acelerómetro MMA7260QT. ......................... 24
Figura 15.Diagrama funcional de bloques simplificado MMA7260QT. ........ 26
Figura 16.Modelo físico transductor simplificado. ....................................... 27
Figura 17.H.M.D-Head Mounted Display VR1280. ...................................... 28
Figura 18.Caja de control VR1280. ............................................................. 29
Figura 19.Diagrama de Conexiones del PIC16F870 en el sistema. ............ 35
Figura 20.Baterías de Polímero de Litio-LiPo. ............................................ 35
Figura 21.Baterías en serie Voltaje Vp= 7.4V. ............................................. 36
Figura 22.Regulador Voltaje LM7805 con circuito de acondicionamiento….36
Figura 23.Regulador Voltaje LM1117 con circuito de acondicionamiento.... 37
Figura 24.Amplificador No-Inversor. ............................................................ 40
Figura 25.Amplificador Inversor. .................................................................. 40
Figura 26.Divisor de voltaje para obtener 2V…………………………………41
Figura 27.Sistema de Amplificación Eje X. .................................................. 42
Figura 28.Sistema de Amplificación Eje Y. .................................................. 47
Figura 29.Diagrama de conexión del modulo Xbee con el sistema. ............ 50
v
Figura 30.Red Xbee Maestro-Esclavo. ....................................................... 50
Figura 31.Configuración de los comandos DL y MY del Xbee Maestro. ..... 52
Figura 32.Configuración de los comandos DL y MY del Xbee Esclavo. ...... 52
Figura 33.Diagrama circuital completo. ..................................................... 58
Figura 34.Vista inferior circuito impreso. ..................................................... 59
Figura 35.Vista superior circuito impreso. ................................................... 59
Figura 36.Comandos enviados a los modelos. ........................................... 61
Figura 37.Cuerpo Humano posición inicial. ................................................. 61
Figura 38.Movimiento Horizontal de la cabeza. .......................................... 62
Figura 39.Movimiento de la cabeza hacia la izquierda ................................ 62
Figura 40.Movimiento de la cabeza hacia la derecha. ................................ 63
Figura 41.Movimiento vertical de la cabeza. ............................................... 63
Figura 42.Movimiento de la cabeza hacia abajo ......................................... 64
Figura 43.Movimiento de la cabeza hacia arriba. ....................................... 64
Figura 44.Posicion correcta para ajustar los ejes X y Y en 0. ..................... 66
Figura 45.Posición incorrecta para ajustar los ejes X y Y en 0. .................. 66
Figura 46.Función para imprimir los datos recibidos en Java. .................... 67
Figura 47.Impresión de los datos enviados por el sistema ......................... 67
Figura 48.Acción realizada en los modelos 3D. .......................................... 68
Figura 49.Acción realizada en los modelos 3D sin movimiento-estado inicial.
..................................................................................................................... 69
Figura 50. Acción realizada en los modelos 3D con movimiento. ............... 69
Figura 51.Posición de calibración para el modelo ejes X y Y en “0” ........... 70
Figura 52.Variación del Eje X de 0 a 90 generado por el movimiento de la
cabeza. ........................................................................................................ 70
Figura 53.Variación del Eje X de 0 a -90 generado por el movimiento de la
cabeza. ........................................................................................................ 71
Figura 54.Variación del Eje Y de 0 a 90 generado por el movimiento de la
cabeza ......................................................................................................... 71
Figura 55.Variación del Eje Y de 0 a -90 generado por el movimiento de la
cabeza ......................................................................................................... 72
vi
ÍNDICE DE ANEXOS
PÁGINA
Anexo 1.Figura 3D parte superior de la Placa hechos en Protel99 ............. 76
Anexo 2.Figura 3D parte inferior de la Placa hechos en Protel99. .............. 76
Anexo 3.Dimensiones de la Caja 1553B. .................................................... 77
Anexo 4. Ajustes mecánicos del casco VR1280. ........................................ 78
Anexo 5.Características operativas del acelerómetro MMA7260QT ........... 81
Anexo 6.Acelerómetro MMA7260QT .......................................................... 83
Anexo 7.Datasheet Modulo Xbee ................................................................ 84
Anexo 8.Características Operativas de las baterías LiPo ........................... 89
Anexo 9.Cargador USB para las baterías LiPo ........................................... 93
Anexo 10.Caracteristicas tecnicas del cargador de baterias LiPo ............... 94
Anexo 11.Datasheet Amplificador LM358 ................................................... 96
Anexo 12. Placa del circuito sin elementos soldados .................................. 98
Anexo 13.Placa del circuito con elementos soldados ................................. 99
Anexo 14.Sistema implementado en el casco .......................................... 100
Anexo 15.Imágenes del desempeño y uso del sistema ............................ 101
Anexo 16.Costos del proyecto .................................................................. 103
vii
ÍNDICE DE ECUACIONES
PÁGINA
Ecuacion 3.1 Ecuación usada para calcular valores de amplificación……. 37
Ecuacion 3.2 Voltaje Maximo Amplificado .................................................. 38
Ecuacion 3.3 Voltaje Minimo Amoplificado ................................................. 38
Ecuacion 3.4 Amplificador No-Inversor ....................................................... 40
Ecuacion 3.5 Amplificador Inversor ............................................................ 40
Ecuacion 3.6 Voltaje de Salida 1 del Eje X ................................................. 40
Ecuacion 3.7 Voltaje de Salida 2 del Eje X ................................................. 41
viii
RESUMEN
La Universidad Tecnológica Equinoccial aporta con investigación y desarrollo
para el Ecuador por medio de proyectos de investigación como el “Desarrollo
de un Sistema de Entrenamiento Virtual Web para las carreras de Medicina”,
este proyecto permite a los usuarios mediante un sistema de navegación
virtual implementado en un casco de visión artificial y un guante de
navegación usado para manipular y viajar en entornos virtuales
desarrollados en computadora del cuerpo humano en tres dimensiones.
Estos modelos son desarrollados en lenguaje de programación Java.El
sistema de navegación virtual, recrea el movimiento de la cabeza para dar
una visión más realista de los modelos 3D, esto se lo realiza con un sensor
acelerómetro, y para la comunicación y envío de información se usa una red
ZigBee.Con esto se obtendrá la implementación de laboratorios de realidad
virtual para mejorar el aprendizaje de los estudiantes al tener percepción real
al momento de viajar en los modelos tridimensionales.
ix
ABSTRACT
The “Universidad Tecnológica Equinoccial” contributes to research and
development for Ecuador through research projects such as the "“Desarrollo
de un Sistema de Entrenamiento Virtual Web para las carreras de Medicina”,
this project allows users with a virtual navigation system implemented in a
Head-Mounted Display and a glove to manipulate and navigate in virtual
environments of the human body in 3D. These models are developed in Java
programming language. This virtual navigation system recreates the
movement of the head in order to give a more realistic vision of the human
body; this is done with an accelerometer sensor. The communication and
data transfer is done by using a ZigBee network. This will allow the
implementation of virtual reality labs in order to improve student learning by
having real perception when traveling in three-dimensional models.
1
La realidad virtual ha tomado el mando de las tecnologías de vanguardia,
logrando una madurez suficiente como para convertirse en una herramienta
usada en el campo de la educación, específicamente para el entendimiento
de asignaturas complejas, sustituyendo a sistemas de aprendizaje obsoletos.
Hoy en día el mundo está lleno de conocimiento y desarrollo intelectual que
necesita de nuevos profesionales que estén capacitados con sistemas de
educación que integren varias ramas para el estudio científico como son el
uso de la Mecatrónica, aplicadas a ramas como son la Medicina, Biología,
Anatomía etc.
Los entornos tridimensionales que son generados por computador producen
ambientes similares a la realidad, por ejemplo un simulador de vuelo de
avión donde el usuario navega en el simulador de la cabina y que es
proyectada por computadora dándole al piloto un entorno real de un avión,
cerrando toda intervención externa y concentrando al usuario en su totalidad
a un entorno virtual. Esta realidad se la obtiene mediante el casco de
navegación, que son dos pantallas que simulan un ambiente real. Es muy
importante permitir la interacción del usuario con los modelos sino solo sería
un video o una película proyectada en el casco, el entorno tridimensional que
se le da al usuario en la realidad virtual debe ser lo más cercano a una
interacción real.
Los sistemas de realidad virtual usados para el entrenamiento de carreras,
son exclusivamente desarrollados en universidades o para investigaciones
científicas. En el Ecuador no son muy conocidos ni son desarrollados este
tipo de proyectos. La Universidad Tecnológica Equinoccial hoy en día no
cuenta con aulas virtuales donde estudiantes de carreras como la medicina
puedan capacitarse, es así que este proyecto es una pequeña introducción
para la implementación de los mismos.
Para el estudio del cuerpo humano dentro de la Universidad no se está
utilizando al máximo los recursos tecnológicos y sistemas de aprendizaje
que carreras como la Mecatrónica pueden desarrollar.
2
La medicina es una carrera antigua la cual ha soportado avances
tecnológicos y cada vez se requiere de mejores métodos de capacitación y
de formas de aprendizaje, sin embargo, el mejor método para comprender al
cuerpo humano es la interacción con el mismo, sin embargo, existen
metodologías de aprendizajes obsoletas y complejas para la capacitación, es
por eso que la realidad virtual brinda la ventaja de la interacción con el ser
humano, a través de la navegación virtual dentro de entornos 3D para el
mejor entendimiento del mismo.
Los desafíos para encontrar mejores maneras de capacitación se han
incrementado, con la necesidad de encontrar mejores maneras de educar. Y
por ello se han planteado los siguientes objetivos.
1.1 Objetivos
1.1.1 Objetivo General
Desarrollar un sistema de navegación virtual, implementado en un casco de
visión artificial con comunicación inalámbrica.
1.1.2 Objetivos Específicos
Recopilar información acerca de sistemas de comunicación de alta
frecuencia.
Determinar los grados de libertad del casco.
Diseñar el hardware de navegación.
Implementar el sistema de recepción y envío de datos.
Realizar pruebas del sistema.
La realidad virtual permite entrar en un entorno en donde la mente y el
cuerpo ingresan a los modelos 3D y con herramientas de interacción lograr
cambiar la realidad por un mundo digital de aprendizaje y de conocimiento.
3
Para poder conseguir esto se necesita el uso de equipos de última
tecnología para asemejar los modelos 3D y dar más realidad al sistema. La
ayuda de estos sistemas de aprendizaje, brindan a los usuarios una manera
diferente de adquirir conocimientos, teniendo como resultado generar
profesionales capacitados que tengan al alcance un entrenamiento
tecnológico avanzado.
Se plantea que trabajando con acelerómetros y módulos Xbee se pueda
obtener un sistema de navegación virtual, para ser implementado con un
casco de visión artificial y, utilizando como unidad de procesamiento un
micro-controlador. Esta aplicación será fácil de implementar y de operar por
cualquier persona. Este sistema trabaja con comunicación inalámbrica y
desarrollada en montaje superficial para reducir tamaño y peso. Se utiliza
baterías recargables de polímero de litio usadas en aplicaciones de larga
duración, estas a su vez no ocupan mucho espacio por lo cual, al unir con el
sistema, la placa con los elementos y sensores correspondientes serán
implementados en un estuche o caja para cubrir a los dispositivos, y luego
ser colocado en el casco de visión artificial VR1280.
El sistema sensado permitirá la navegación dentro de modelos
tridimensionales con la ayuda del movimiento de la cabeza, siendo esta
señal obtenida de dos ejes del acelerómetro (eje X y eje Y).
Con este proyecto se busca beneficiar a los alumnos que estudien Medicina
y así como incentivar a la creación de laboratorios virtuales en la
Universidad.
4
2.1 Realidad Virtual
La realidad virtual es una tecnología que usa dispositivos electrónicos para
producir un entorno con apariencia de la realidad que permite al usuario
tener la sensación de estar presente en ese ambiente. Esto se logra
mediante la generación de modelos tridimensionales.
2.1.1 Hardware
Los dispositivos de Realidad Virtual (RV) normalmente constan de un
sistema de pantalla (display) para mostrar al usuario la información virtual y
los modelos tridimensionales y un "headset". Las pantallas dentro de los
sistemas de RV son llamadas HMD ya que usan imágenes virtuales que
muestran al usuario directamente en la pantalla dependiendo del diseño del
HMD-Head Mounted Display.
El Hardware de procesamiento de sonido podría ser incluido en los sistemas
de realidad virtual para brindar más realidad al sistema.
El procesamiento de las señales y la interacción con los modelos 3D van a
depender de la tecnología del hardware, ya que mientras mejor sea éste
más se acerca a la realidad el sistema. Existen varios dispositivos para la
navegación en los entornos virtuales, como son; controladores, joysticks,
guantes (simulación de los movimientos de la mano), etc.
2.1.2 Software
Para fusiones coherentes de imágenes del mundo real, obtenidas con
cámara, e imágenes virtuales en 3D, las imágenes virtuales deben atribuirse
a lugares del mundo real. Ese mundo real debe ser situado, a partir de
imágenes en un sistema de coordenadas. Dicho proceso se denomina
registro de imágenes. Este proceso usa diferentes métodos de visión por
ordenador, en su mayoría relacionados con el seguimiento de vídeo.
(Wikipedia, 2012)
5
Parte importante y principal son los modelos en tres dimensiones que hacen
que el sistema sea lo más cercano a la realidad, como también el
procesamiento en tiempo real.
La RV es una técnica que permite combinar imágenes reales con imágenes
generadas por computador, y su impacto está en que al ver la imagen o
video no se logre distinguir lo real de lo virtual, según varios autores la
realidad virtual es una herramienta que nos permite navegar e interactuar en
tiempo real en un mundo artificial generado por computador. (Wikipedia,
2012)
Un sistema de realidad virtual se compone de dos elementos principales:
inmersión e interacción. La primera es la capacidad de introducirse dentro
del mundo virtual y tiene un papel decisivo, pues entre más real, convincente
y atractivo sea el entorno, el usuario se va sentir más cómodo y su
experiencia con realidad virtual será más placentera. La interacción
corresponde al intercambio de información entre el usuario y el entorno.
Adicionalmente la imaginación juega un papel importante tanto en la
creación de los mundos virtuales como en la capacidad del usuario para
sumergirse dentro de ellos. (Wikipedia, 2012)
2.2 Comunicación Inalámbrica.
La comunicación inalámbrica o sin cables es aquella en la que extremos de
la comunicación (emisor/receptor) no se encuentran unidos por un medio de
propagación físico, sino que se utiliza la modulación de ondas
electromagnéticas a través del espacio. Las ondas de radiofrecuencia de
baja potencia son usadas en la comunicación inalámbrica, como también
una banda especifica ya sea de uso libre o privada para transmitir datos
entre dispositivos. (Wikipedia, 2011)
6
2.3 Tecnologías y Protocolos inalámbricos
Existen en el mercado diferentes tipos de tecnologías inalámbricas
dependiendo de su aplicación y su funcionalidad, ya sea para largas o cortas
distancias.
Dentro de las más comerciales y comunes se encuentran WiFi, ZigBee y
Bluetooth, a continuación la Tabla 1 muestra una comparación detallada con
diferentes características y especificaciones de cada una de estas
tecnologías.
Tabla 1. Comparación de Tecnologías Inalámbricas.
(Romeo Rivadeneira, 2012)
Fuente: Publicaciones e Internet
2.4 Red ZigBee
ZigBee es un protocolo de comunicaciones inalámbrico basado en el
estándar de comunicaciones para redes inalámbricas IEEE_802.15.4.
Las comunicaciones ZigBee se realizan en la banda libre de 2.4GHz. A
diferencia de Bluetooth, este protocolo no utiliza FHSS sino que realiza las
comunicaciones a través de una única frecuencia, es decir, de un canal que
puede escogerse entre 16 posibles. El alcance depende de la potencia de
7
transmisión del dispositivo así como también del tipo de antena utilizada
(cerámicas, dipolos, etc.). El alcance normal con antena dipolo en línea vista
es de aproximadamente 100m y en interiores de unos 30m. La velocidad de
transmisión de datos de una red ZigBee es de hasta 256Kbps. Una red
ZigBee la pueden formar, teóricamente, hasta 65535 equipos. (Oyace, 2010)
El uso del protocolo ZigBee va desde reemplazar un cable por una
comunicación serial inalámbrico, hasta el desarrollo de configuraciones
punto a punto, multipunto, peer-to-peer (todos los nodos conectados entre
sí) o redes complejas de sensores. (Oyace, 2010)
Figura 1.Conexión típica usando Xbee. (MaxStream, 2007)
Una red ZigBee como se muestra en la Figura 1 la conforman básicamente
tres tipos de elementos. Un único dispositivo Coordinador, dispositivos
Routers y dispositivos finales (EndPoints). (MaxStream, 2007)
8
- Coordinador
Es el nodo de la red que tiene la única función de formar una red. Es el
responsable de establecer el canal de comunicaciones y del PAN ID
(Identificador de red de área personal) para toda la red. Una vez
establecidos estos parámetros, el Coordinador puede formar una red,
permitiendo unirse a él a dispositivos Routers y EndPoints. Una vez formada
la red, el Coordinador hace las funciones de Routers, esto es, participar en el
enrutado de paquetes y ser origen y/o destinatario de información. (Oyace,
2010)
- Routers
Es un nodo que crea y mantiene información sobre la red para determinar la
mejor ruta para transmitir un paquete de información. Lógicamente un Router
debe unirse a una red ZigBee antes de poder actuar como Router
retransmitiendo paquetes de otros Routers o de EndPoints. (Oyace, 2010)
- EndDevice
Los dispositivos finales no tienen capacidad de rutear paquetes. Deben
interactuar siempre a través de su nodo padre, ya sea este un Coordinador o
un Router, es decir, no puede enviar información directamente a otro
EndDevice. Normalmente estos equipos van alimentados a baterías. El
consumo es menor al no tener que realizar funciones de enrutamiento. Cada
módulo ZigBee, al igual que ocurre con las direcciones MAC (control de
acceso al medio) de los dispositivos Ethernet, tiene una dirección única. En
el caso de los módulos ZigBee cada uno de ellos tiene una dirección única
de 64bits que viene grabada de fábrica. Por otro lado, la red ZigBee, utiliza
para sus algoritmos de ruteo direcciones de 16 bits. Cada vez que un
dispositivo se asocia a una red ZigBee, el Coordinador al cual se asocia le
asigna una dirección única en toda la red de 16bits.
Por eso el número máximo teórico de elementos que puede haber en una
9
red ZigBee es de 216ó 65535, que es el número máximo de direcciones de
red que se pueden asignar. (Oyace, 2010)
2.4.1Características
ZigBee opera en las bandas libres ISM de 2.4 GHz, 868 MHz
(Europa) y 915 MHz (Estados Unidos). El Modulo Xbee se lo puede
ver en la Figura 2.
Tiene una velocidad de transmisión de 250 Kbps y un rango de
cobertura de 10 a 75 metros.
Figura 2. Módulo Xbee Pro (MaxStream, 2007)
Utiliza la misma frecuencia con otro tipo de redes como WiFi o
Bluetooth, sin embargo su desempeño no se ve afectado, debido a las
características propias del estándar IEEE 802.15.4.(Oyace, 2010)
Tiene la capacidad de operar en redes de gran densidad, esta
característica ayuda a aumentar la confiabilidad de comunicación, ya
que entre más nodos existan dentro de una red, entonces mayor
número de rutas alternas existirá para garantizar que un paquete
llegue a su destino.(Oyace, 2010)
Es un protocolo de comunicación multi-salto, es decir, que se puede
10
establecer comunicación entre dos nodos aun cuando estos se
encuentren fuera del rango de transmisión, siempre y cuando existan
otros nodos intermedios que los interconecten, de esta manera se
incrementa el área de cobertura de la red.(Oyace, 2010)
Su topología de malla MESH permite a la red auto recuperarse de
problemas de comunicación lo cual aumenta su confiabilidad.(Oyace,
2010)
Permite la configuracion de los llamados cables virtuales que se
utilizan para crear un canal de comunicación de manera transparente
entre los pines de un módulo y otro. Cada pin de entrada tiene su pin
de salida ya definido entre nodos esto permite una forma totalmente
simple de enviar informacion, controlar o medir de manera sencilla y
rápida. La configuracion de pines se demuestra en la Figura 3
.(Oyace, 2010)
Figura 3. Diagrama de Pines del Modulo Xbee (Oyace, 2010)
2.4.2 Modos de Operación
Los módulos Xbee pueden trabajar en los siguientes modos, detallados de
manera gráfica en la Figura 4.
11
Figura 4. Modos de operación de los módulos Xbee. (Oyace, 2010)
- Transmit Mode
Modo cuando el módulo recibe algún paquete RF a través de la antena o
cuando se manda información serial al buffer del pin 3 UART.
La información puede ser transmitida de forma directa o indirecta; de forma
directa la información se envía inmediatamente a la dirección de destino. En
el modo indirecto la información es retenida durante un periodo y es enviada
solo cuando la dirección de destino la solicita. También se puede enviar la
información mediante los modos Unicast y Broadcast. En el modo Unicast se
envía un paquete de reconocimiento conocido como ACK por parte del
módulo que recibe el paquete principal, para la confirmación y recepción de
este, es decir, es una respuesta por parte del módulo receptor de que
permite recibir el paquete principal.
- Sleep Mode
Cuando el Xbee está en modo Sleep o de sueño permite que el módulo RF
entre en un estado de bajo consumo de energía cuando no se encuentra en
uso. Para trabajar en Sleep Mode se debe cumplir las siguientes
condiciones:
12
Sleep_RQ (pin 9) esté en alto y el pin Sleep Mode (SM) esté en 1,2 ó
5. (MaxStream, 2007)
Que el módulo esté en reposo, es decir no haya transmisión ni
recepción de datos y esto está definido por la cantidad de tiempo
definido por ST.
Cuando el comando SM está en 0 el módulo permanece en estado de
reposo/recepción es decir está siempre preparado para responder a un
comando, ya sea por el puerto serial o la interfaz RF.
A continuación en la Tabla 2 se considera los modos de operación,
consumos, voltajes y condiciones para entrar en modo de bajo consumo.
(Oyace, 2010)
Tabla 2.Tabla Modo Sleep y consumos de corriente.
(Oyace, 2010)
-Modo de Comando
Este modo permite ingresar comnandos AT al módulo Xbee para configurar,
ajustar o modificar parametros. Permite ajustar parametros como su modo
de operación, la direccion propia o la de destino. Para poder ingresar a los
comandos AT es necesario utilizar el Hyperterminal de Windows, el
programa X-CTU o algún microcontrolador que maneje UART.
- Modo Transparente
En este modo todo lo que ingresa por el pin 3 (Data in), es guardado en el
13
buffer de entrada y luego es transmitido.Todo lo que ingresa como paquete
RF, es guardado en el buffer de salida y luego enviado por el pin 2 (Data
out). El modo transparente viene configurado por omisión en los módulos
Xbee.Este modo está destinado principalmente a la comunicación punto a
punto, donde no es necesario ningún tipo de control, tambien se lo puede
usar para reemplazar alguna conexión serial por cable, ya que esla
configuración más sencilla. Dependiendo de cómo se configure el comando
RO, se puede transmitir la informacion como se muestra en la conexión
serial en la Figura 5.El valor de RO es el numero de veces en carácter de
tiempo que queremos que el Xbeeespere antes de enviar los datos recibidos
su capacidad es de 100bytes.(Oyace, 2010)
Figura 5. Correspondencia de Buffer. (Oyace, 2010)
-Modo de Operación API
Cuando el módulo Xbee se encuentra en este modo, toda la información que
entra y sale, es empaquetada en frames, que definen operaciones y eventos
dentro del módulo.
Un frame de transmisión de información (información recibida por el pin 3
data in) incluye:
Frame de información RF transmitida.
Frame de comandos (equivalente a comandos AT)
14
Mientras que un frame de recepción de información incluye:
Frame de información RF recibida
Comando de respuesta
Opciones que permite el modo API:
Transmitir información a multiples destinatarios, sin entrar al modo de
Comandos.
Recibir estado de éxito/falla de cada paquete RF transmitido.
Identificar la dirección de origen de cada paquete recibido.
-Modo Idle
El módulo Xbee entra modo Idle cuando ningun otromodoesta activo, es
decir, el modulo activa el modo Idle cuando el Xbee no esta operando o
cuand no esta en operacion.
2.4.3 Programación de Módulos Xbee
Para la configuración y programación de los módulos Xbee se lo puede
hacer mediante el Hyperterminal de Windows con la ayuda de los comandos
AT, sin embargo existe el programa X-CTU, el cual permite la programación
y trabajo de estos módulos de manera más fácil, gracias a la ayuda de su
interfaz gráfica.
15
Figura 6. Software X-CTU pestaña PC Settings. (MaxStream, 2007)
En la ventana PC Settings mostrada en la Figura 6 se puede configurar las
instrucciones del puerto serial para la comunicación del software con los
módulos Xbee como son: la velocidad, la paridad, el puerto, entre otras.
En la pestaña Range Test en la Figura 7 es posible enviar una cadena de
datos de cualquier tipo para probar el rango de alcance de la señal. Esto
genera automáticamente datos y los envía por el módulo, de tal forma que
permite verificar que datos llegan sin errores y a partir de esa estadística
determinar el alcance de la señal.
16
Figura7.Software X-CTU pestaña Range Test. (MaxStream, 2007)
Figura 8. Software X-CTU pestaña Terminal (MaxStream, 2007)
17
La pestaña Terminal es similar al Hyperterminal de Windows, realiza las
mismas funciones. Lo escrito en esta ventana va directamente al módulo
como si estuviera en modo de comandos AT.
Figura 9. Software X-CTU pestaña Modem Configuration. (MaxStream,
2007)
La pestaña Modem Configuration como se muestra en la Figura 9, permite
leer, guardar o cargar cierta configuración predeterminada. Admite ver cómo
está configurado cada modem, es decir leer la programación y la versión del
módulo Xbee, así como cambiar la programación o alguna característica.
También se puede grabar configuraciones para futuras aplicaciones.
2.4.4 Detalles Técnicos
En la siguiente tabla se especifican los detalles técnicos del módulo Xbee
802.15.4 tipo serie 1.
18
Figura 10. Detalles Técnicos Xbee. (Oyace, 2010)
2.5 Micro-Controladores
Un Micro-Controlador es un circuito integrado programable que contiene
todos los componentes de un computador; Unidad Central de Procesamiento
(CPU-Central ProcessUnit), memoria de acceso aleatorio (RAM-Random-
AccessMemory), memoria solo de lectura programable y borrada
eléctricamente(EEPROM-Electrically ErasableProgrammable Read-
Only Memory) y circuitos periféricos de entrada y salida. Se emplea para
controlar el funcionamiento de una tarea determinada y, debido a su
reducido tamaño, suele ir incorporado en el propio dispositivo al que
gobierna, es por eso que esta característica se lo puede nombrar como
Controlador Embebido (EmbeddedController).(Angulo Usategui, 2003)
Los Micro-Controladores como su definicion lo dice son programables, al ser
configurados o programados pueden realizar funciones simples como
19
encender y apagar LED`s hasta sistemas de control avanzados, robots
sofisticados y sistemas automatas. Un microcontrolador es capaz de realizar
la tarea de muchos circuitos logicos, como compuertas AND, OR, NOT,
NAND, conversores A/D, D/A, temporizadores, decodificadores, etc.,
simplificando todo este diseño a una placa de reducido tamaño y con pocos
elementos. (Reyes, 2008)
2.5.1Familias de Micro-Controladores PIC
PIC 10: Micro-Controladores de 8 bits, de bajo costo de 6 pines y baja
funcionalidad.
PIC 12: Micro-Controladores de 8 bits de bajo costo de 8 pines y baja
funcionalidad.
PIC 16: Micro-Controladores de 8 bits, con variedad de número de
pines y aplicaciones variables, PIC más usados en didáctica.
PIC 18: Micro-Controladores de 8 bits con gran variedad de número
de pines y prestaciones medias/altas.
PIC 24:Micro-Controladores de 16 bits con gran variedad de número
de pines y variadas aplicaciones.
A continuación en la Figura 11 se podrá encontrar las familias de Micro-
Controladores PIC según su funcionalidad y trabajo.
20
Figura 11. Familias de Micro-Controladores PIC. (Inc., 2011)
2.5.2 Micro-Controlador PIC 16F870
Es un Micro-Controlador de la familia de 8 bits que hace referencia a la
longitud de los datos que manejan las instrucciones, también corresponde al
tamaño del bus de datos y a los registros de la CPU. Cuentan con memoria
de programa de tipo EEPROM flash mejorada, lo que facilita su
programación con un dispositivo de programación de PIC. El diagrama de
los pines se lo puede notar en la Figura 12.
2.5.2.1 Características Principales (Inc., PIC16F870 Datasheet, 2003)
CPU de arquitectura RISC
Set de 35 instrucciones
Frecuencia de reloj de hasta 20 MHz
Todas las instrucciones se ejecutan en un único ciclo de instrucción,
excepto las de salto.
21
Hasta 8K x 14 palabras de Memoria de Programa FLASH.
Hasta 368 x 8 bytes de Memoria de Datos tipo RAM
Hasta 256 x 8 bytes de Memoria de Datos tipo EEPROM.
Hasta 15 fuentes de Interrupción posibles.
8 niveles de profundidad en la Pila hardware.
Modo de bajo consumo (Sleep).
Tipo de oscilador seleccionable (RC, HS, XT, LP y externo)
Rango de voltaje de operación desde 2,0V a 5,5V.
Conversor Analógico/Digital de 10 bits multicanal.
3 Temporizadores.
Watchdog Timer o Perro Guardián.
2 módulos de captura/comparación/PWM.
Comunicaciones por interfaz USART.
Puerto Paralelo Esclavo de 8 bits (PSP)
Puerto Serie Síncrono (SSP)
22
Figura 12. Diagrama de Pines PIC 16F870 (Inc., 2003)
2.5.2.2Conversor Análogo Digital A/D
El Micro-Controlador PIC 16F870 lleva incorporado un conversor análogo-
digital de 10 bits con 8 canales de conversión.
Para la conversión este PIC utiliza una técnica o método llamada de
incremento y comparación, que consiste en usar un registro auxiliar cuyo
valor se compara con la entrada analógica. Si es menor se incrementa el
registro y se vuelve a comparar. Así hasta que el valor del registro sea lo
más aproximado posible, pero sin pasar el valor de la entrada analógica.
El rango de voltaje aceptado para los puertos análogos del PIC es de 0 a 5V,
en caso de necesitar otros valores de voltaje, se lo puede hacer mediante
una regulación de voltaje mediante un divisor de tensión, calculando
correctamente la relación de voltajes.
El módulo A/D tiene cuatro registros:
Registro de resultado alto A/D (ADRESH)
Registro de resultado bajo A/D (ADRESL)
Registro de control 0 A/D (ADCON0)
23
Registro de control 1 A/D (ADCON1)
El registro ADCON0 controla la operación del módulo A/D y el registro
ADCON1 configura la función de los puertos o pines del micro-controlador.
Los puertos pueden ser configurados como entradas análogas o como
entradas digitales.
La conexión interna o el diagrama de bloques del conversor Análogo Digital,
se lo demuestra en la siguiente figura o diagrama, se puede notar que AN3 y
AN2 pueden ser también tomados como voltajes de referencia, de no ser así
el micro-controlador toma por omisión los valores VDD y VSS.
Figura 13. Diagrama de Bloques conversor A/D. (Inc., 2003)
24
2.6 Acelerómetro MMA7260QT
2.6.1 Características
Los acelerómetros son utilizados comúnmente como sensor de inclinación,
para determinar la orientación de un objeto en el espacio o el movimiento
según una referencia determinada, para este fin se usa la aceleración de la
gravedad como un vector que tiene las dimensiones X, Y, y Z.
Figura 14. Diagrama de Pines Acelerómetro MMA7260QT. (Freescale
Semiconductor, 2005)
El acelerómetro MMA7260QT como se muestra en la Figura 14 es un
acelerómetro capacitivo micro-mecanizado de bajo costo con características
de acondicionamiento de señal, un filtro de 1-polo de paso bajo, temperatura
de compensación y g-Select (un rango de 1.5g a 6g) que permite la
selección entre cuatro sensibilidades, dependiendo de la lógica de entrada
escogida en el pin 1 y pin 2, modificando la ganancia interna del circuito y
permitiendo así la variación de sensibilidad, como se muestra en la Tabla 3.
Zero-Goffset (nivel de salida expresado en voltios cuando no existe
aceleración) posee un período de gran escala y filtro de corte, estas son
características de fábrica y no requieren dispositivos externos para realizar
estas operaciones. El acelerómetro incluye funcionalidad en modo de reposo
que hace que sea ideal para baterías de mano y para aplicaciones de
consumo bajo de corriente. El diagrama funcional y las conexiones internas
se pueden notar en la Figura 15.
25
Tabla 3. g-Select Descripcion de pines y sensibilidad.(Freescale
Semiconductor, 2005)
Las características principales de este sensor son:
Sensibilidad seleccionable
Bajo consumo de corriente 500uA
Modo Sleep 3uA
Voltaje bajo de operación: 2.2V-3.6V
6mm x 6mm x 1.45mm QFN
Alta sensibilidad (800mV/g @ 1.5g)
Acondicionamiento de señal interno con filtro pasa bajo.
Rápido tiempo de encendido.
Bajo Costo.
No contiene plomo en los terminales.
26
Figura 15. Diagrama funcional de bloques simplificadoMMA7260QT.
(Freescale Semiconductor, 2005)
2.6.2Principio de Funcionamiento
El dispositivo consiste en dos superficies micro mecanizadas con células de
detección capacitiva (g-cell) y un acondicionamiento de señal ASIC
contenida en un paquete único de circuito integrado. Los elementos de
sensado están sellados herméticamente utilizando una oblea como tapa
micro mecanizada. (Freescale Semiconductor, 2005)
La g-cell es una estructura mecánica formada a partir de materiales
semiconductores (poli silicio) utilizando procesos semiconductores
(enmascaramiento y grabado). Se puede modelar como un conjunto de vigas
unidas a una masa móvil central que se mueven entre vigas fijas. Las vigas
móviles pueden ser desviadas desde su posición de reposo al someter una
aceleración al sistema (Figura 16).
Como las vigas están unidas al movimiento de masa central, la distancia de
ellas a las vigas fijas en un lado aumenta en la misma cantidad que la
distancia de las vigas fijas en el otro lado disminuye. El cambio en la
distancia es una medida de la aceleración.
27
Las vigas g-cell forman dos condensadores back-to-back que indica que
están conectados en direcciones opuestas como se muestra en la Figura 16.
Dado que la viga central se desplaza con la aceleración, la distancia entre
las vigas cambia y cada valor de condensador cambiará, (C = Aε / D). Donde
A es el área de la viga, ε es la constante dieléctrica, y D es la distancia entre
las vigas.
El ASIC utiliza técnicas de condensadores conmutados para medir los
condensadores de g-cell y extraer los datos de la aceleración de la diferencia
entre los dos condensadores. El ASIC también condiciona y filtra
(condensador conmutado) la señal proporcionando una tensión de alto nivel
de salida que es radiométrico y proporcional a la aceleración.
Figura 16. Modelo físico transductor simplificado. (Freescale Semiconductor,
2005)
2.7 Casco H.M.D. (Head Mounted Display) VR1280 (Virtual
Research Systems, 2005)
Es un dispositivo de visualización en forma de casco que permite reproducir
video e imágenes creadas por computador, en este caso modelos
tridimensionales, este casco como se muestra en la Figura 17 tiene un
diseño ergonómico para adecuar a la cabeza del usuario, que bloquea la
vista y el audio del entorno en el que se encuentra, dando la impresión de
realidad y acercamiento a los modelos tridimensionales.
28
Figura 17.H.M.D-Head Mounted Display VR1280. (Virtual Research
Systems, 2005)
2.7.1Características Técnicas
Señal de video de entrada 1280x1024 60Hz, este formato es
conocido como SXGA.
La caja de control de VR1280 como se muestra en la Figura
18 detecta automaticamente cuando un canal de entrada (rigth
eye/mono) está siendo usado y que alimenta con una señal
identica a los dos displays.
Tiene dos displays uno para el ojo izquierdo(left eye/stereo) y
para el ojo derecho(rigth eye/mono)
Los detalles de la fuente de alimentación del casco se puede
ver en la Tabla 4 a continuación.
29
Tabla 4.Fuente de alimentación.
(Virtual Research Systems, 2005)
Tiene una salida auxiliar para un monitor para poder proyectar
lo que el usuario con el asco está vizualizando.
Ambos displays deben tener la misma señal de entrada e igual
sincronizacion (SXGA) para poder proyectar en el casco.
También tiene un puerto para audifonos (Sennheiser) y para
microfono (opcional) para dar más realidad al entorno virtual.
Figura 18. Caja de control VR1280. (Virtual Research Systems, 2005)
31
3.1 Análisis de Requerimientos
En este capítulo se muestra un análisis de requerimientos en el cual con la
ayuda de una casa de calidad del proyecto, nos permite llegar a un estado
óptimo antes de alcanzar la etapa de diseño en donde existen criterios y
requerimientos tomados en cuenta según el cliente y el diseño de ingeniería.
La casa de calidad se puede notar en la Tabla 5, en donde nos muestra una
comparación de los diferentes requerimientos (Cliente vs Ingeniería) con el
objetivo de ponderar y determinar en qué área del proyecto se debe dar
prioridad.
Tabla 5. Casa de calidad del sistema.
Requerimientos de Ingeniería
Po
nd
era
ció
n C
lie
nte
Fác
il M
on
taje
y F
ab
ric
ac
ión
Dis
eñ
o E
léc
tric
o
Pro
gra
ma
ció
n
Co
ns
um
o E
léc
tric
o
Uso
de T
ec
no
log
ía
Fu
ncio
nali
da
d
Res
pu
es
tas
de
l S
iste
ma
Su
ma
Req
ue
rim
ien
tos
Del
Cli
en
te
1. Portabilidad 5 5 5 1 1 5 3 1 21
2. Mantenimiento 6 3 1 1 3 3 3 1 15
3. Precio 8 5 3 3 5 5 1 3 25
4. Ergonomía 1 5 5 1 3 5 3 1 23
5. Peso 3 5 3 1 1 5 5 1 21
6. Comunicación Inalámbrica
2 3 5 5 5 5 3 5 31
7. Baterías Recargables 7 1 5 3 5 5 3 3 25
8. Operatividad 4 1 1 5 3 3 5 5 23
Σ 28 28 20 26 36 26 20
Alta 5
Media 3
Baja 1
Valor de suma alto
(Romeo Rivadeneira, 2013)
32
La ponderación usada en la casa de calidad fue tomada en cuenta por tres
valores (Alta, Media y Baja) como se muestra en la Tabla 5, valores que son
calificados a los requerimientos según su nivel de importancia entre los
diferentes requerimientos de Cliente vs Ingeniería.
Dentro de los Requerimientos de Ingeniería el criterio con el valor más alto
obtenido fue “Uso de tecnología”. Para la elaboración de los circuitos se lo
desarrolla mediante montaje superficial en donde los componentes
electrónicos son montados sobre la superficie del circuito impreso que a
diferencia de la tecnología Through-Hole las conexiones se realizan
mediante contactos planos con una matriz de esferas en la parte inferior de
las terminaciones metálicas en los bordes del componente, Debido a esta
ventaja el uso de montaje superficial nos permite usar los dos lados de la
placa del circuito impreso, teniendo como resultado una placa pequeña
soldada de elementos de la parte superior e inferior.
Dentro de los Requerimientos del Cliente como muestra la Tabla 5 el
requerimiento con mayor ponderación es “Comunicación Inalámbrica”, por lo
cual se usa módulos Xbee los cuales por su eficaz comportamiento en
comunicación y transferencia de datos en cortas distancias, cumple con las
características adecuadas para el trabajo en el proyecto.
3.2 Diseño de los Circuitos
3.2.1 Diseño del Micro-Controlador
Para el análisis y diseño del micro-controlador a usar se debe tomar en
cuenta diferentes criterios requeridos en el sistema, para ello se usa el
método de criterios ponderados demostrado a continuación en la Tabla 6, en
donde los diferentes criterios tomados a consideración son evaluados y
ponderados entre sí para luego evaluar y realizar una segunda ponderación
de estos criterios vs Microcontroladores, que para este diseño se
consideraron 3 PIC`s con diferentes funcionalidades y características como
se muestra en la Tabla 6.
33
Tabla 6. Criterios Ponderados Microcontroladores.
Criterios Microcontroladores-
PIC
Co
nv
ers
or
An
álo
go
/Dig
ital
Co
mu
nic
ac
ión
Se
ria
l
Vo
ltaje
de
op
era
ció
n
Me
mo
ria
de
da
tos
Pe
rifé
ric
os
Co
ns
um
o E
léc
tric
o
Co
sto
Σ +
1
Po
nd
era
ció
n
1. Conversor Análogo/Digital
1 1 1 1 1 0 4 0,123
2. Comunicación Serial
0,5 1 0 1 1 1 5 0,138
3.Voltaje de operación
1 1 1 1 1 0 5 0,154
4. Memoria de datos 1 1 0 1 1 0 4 0,123
5. Periféricos 1 1 1 1 1 1 6 0,185
6. Consumo Eléctrico
1 1 1 0 1 1 6 0,169
7. Costo 0 1 0 0 1 1 4 0,108
Σ 33 1
Criterios Microcontrolador
- PIC
Co
nv
ers
or
An
álo
go
/Dig
ital
Co
mu
nic
ac
ión
Se
ria
l
Vo
ltaje
de
op
era
ció
n
Me
mo
ria
de
da
tos
Pe
rifé
ric
os
Co
ns
um
o E
léc
tric
o
Co
sto
Σ
Pri
ori
dad
PIC 16F870 0,37 0,69 0,62 0,62 0,92 0,85 0,43 4,49 1
PIC 16F28A 0,25 0,42 0,62 0,37 0,74 0,68 0,54 3,60 2
PIC 16F877A 0,62 0,69 0,62 0,62 0,55 0,51 0,22 3,82 3
34
Tabla 6. Criterios Ponderados Microcontroladores continuación….
Microcontrolador-PIC
Co
nv
ers
or
An
álo
go
/Dig
ita
l
Co
mu
nic
ac
ión
Se
rial
Vo
ltaje
de
op
era
ció
n
Me
mo
ria
de
dato
s
Pe
rifé
ric
os
Co
ns
um
o
Elé
ctr
ico
Co
sto
Su
ma
PIC 16F870 3 5 4 5 5 5 4 31
PIC 16F28A 2 3 4 3 4 4 5 25
PIC 16F877A 5 5 4 5 3 3 2 27
Nota: Donde 5 es el valor óptimo o más alto y 1 es el menor.
(Romeo Rivadeneira, 2012)
Según los criterios tomados en cuenta para escoger el Microcontrolador más
óptimo para el uso en el proyecto fue el PIC 16F870, el cual cumple con los
requerimientos del usuario y del sistema. Se puede notar que el PIC 16F870
es el de mayor puntaje con 31 y es el que se utiliza en el sistema, luego el
PIC16F877A con un puntaje de 27, que cumple con las mismas funciones
que el PIC16F870, sin embargo estaría sobredimensionado en caso de ser
usado. Y por último el PIC16F28A con puntaje de 27 que no cumple con los
requisitos del sistema.
El PIC 16F870 es el ideal para la aplicación del proyecto, este consta con
comunicación serial para el envío de la información, este está alimentado por
5V, también tiene un LED indicador D3, que muestra el estado del
Microcontrolador y en el estado que se encuentra según la programación.
También en la Figura 19 se puede notar la conexión para el programador y
un pulsador para el “Máster Clear” del Microcontrolador.
Para la lectura, procesamiento y envío de los datos el PIC16F870 se lo hace
mediante las conexiones del puerto serial Tx en el pin C6 y Rx en el pin C7.
Estos pines van conectados con el módulo de comunicación inalámbrica
Xbee.
35
Figura 19. Diagrama de Conexiones del PIC16F870 en el sistema. (Romeo
Rivadeneira, 2012)
3.2.2 Diseño de Alimentación del circuito
El sistema de alimentación del proyecto se lo va a hacer mediante baterías
Lipo (baterías de polímero de litio) de 3.7V /1A como se muestra en la Figura
20, conectadas en serie ya que se necesita 5V para la alimentación del
Micro-Controlador y para los amplificadores. Estas baterías son recargables
y no pesan mucho, lo último se debe tomar mucho en cuenta ya que el
circuito va en el casco y debe ser lo más liviano posible.
Figura 20. Baterías de Polímero de Litio-LiPo. (Freescale Semiconductor I. ,
2005)
36
Al tener las dos baterías en serie se obtiene un voltaje de 7.4V como se
muestra en la Figura 21, por lo que es necesario mantener este valor a
través de reguladores de voltaje, así el LM7805 permite obtener 5V como
demuestra la conexión en la Figura 21, este voltaje es usado por el Micro-
Controlador PIC16F870. Para regular a 3.3 V se usa el integrado LM1117
como se muestra en la Figura 23, usado para el Xbee y el acelerómetro.
Como se puede constatar en la Figura 21, el voltaje VP es la salida de las
baterías. Cada uno de los circuitos reguladores como el de 5V y el de 3.3V
tienen sus capacitores correspondientes recomendados por el fabricante.
Figura 21.Baterías en serie Voltaje Vp= 7.4V. (Romeo Rivadeneira, 2012)
Figura 22.Regulador de Voltaje LM7805 con circuito de acondicionamiento.
(Romeo Rivadeneira, 2012)
37
Figura 23.Regulador de voltaje LM1117 con circuito de acondicionamiento.
(Romeo Rivadeneira, 2012)
3.2.3 Diseño de amplificadores
Dado que las señales del acelerómetro tienen como límite superior un voltaje
de 3.3V y, que el conversor análogo digital de 8 bits trabaja con un límite
superior de 5V, es necesario amplificar las señales emitidas por el
acelerómetro para utilizar el rango completo del conversor de 0 a 5V (255
pasos = 28). Los amplificadores son alimentados con el voltaje de entrada
VP=7.4V. Para esto se va a utilizar el integrado LM358 que internamente
tiene dos amplificadores operacionales, por cada eje se va a a utilizar un
integrado ya que se necesitan hacer dos operaciones, acontinuacion el
diseño de cada eje.(Coughlin & Driscoll, 1993)
Eje X
Rango de Operación de 0.8V a 2.4V, teniendo solo una histéresis de 1.6V.
Estos datos son los valores mínimos y máximos que entrega el acelerómetro
al momento de sensar.
Para la amplificación del eje X se va a utilizar dos circuitos amplificadores un
inversor y un no inversor por eje, que serán representados por la siguiente
ecuación lineal.
𝑽𝒇 = 𝑽𝒊 × 𝒂 + 𝒃 [3.1]
38
Dónde:
Vf= Voltaje final o voltaje amplificado
Vi=Voltaje de entrada del acelerómetro
a=valor de amplificación
b=Valor de amplificación.
Se debe determinar los valores de “a” y “b” que serán encontrados mediante
un sistema de ecuaciones de dos incógnitas usando los valores máximos y
mínimos para el conversor análogo digital. Tomando como referencia que 0V
va a ser el mínimo voltaje amplificado y 4V el valor máximo amplificado, y se
tendrá una histéresis de 4V, entonces con la fórmula de la ecuación lineal se
obtienen dos ecuaciones.
𝑽𝒉 = 𝑽𝒂 × 𝒂 + 𝒃 [3.2]
𝑽𝒍 = 𝑽𝒃 × 𝒂 + 𝒃 [3.3]
Dónde:
Va= Voltaje máximo del acelerómetro (2.4V).
Vb=Voltaje mínimo del acelerómetro (0.8V).
Vh=Voltaje máximo a obtener con la amplificación (4V).
Vl=Voltaje mínimo a obtener con la amplificación (0V).
Remplazando se tiene:
4𝑉 = 2.4𝑉 × 𝑎 + 𝑏
0𝑉 = 0.8𝑉 × 𝑎 + 𝑏
Resolviendo el sistema de ecuaciones obtenemos:
39
a=2.5
b=-2
Remplazando en la Ecuación 3.1 para el Eje X se consigue los valores de
voltajes finales como se muestra en la Tabla 7 con las siguientes
ecuaciones.
𝑉𝑓 = 𝑉𝑖 × 𝑎 + 𝑏
𝑉𝑓 = 𝑉𝑖 × 2.5 − 2
Una vez habiendo obtenido la ecuacion que nos da los valores de voltaje
amplificado, se lo debe representar en electronica, esto lo hace con
amplificadoes operacionales, los cuales son usados para operaciones
matematicas, para este caso se los usara para una multiplicacion y una
suma o resta. Para cualquier configuracion de los amplificadores LM358 es
importante el diseño de los valores de las resistencias conectados al
integrado, lo cual debemos representar los valores de “a” y “b” con una
configuracion de resistores.
Tabla 7. Valores de voltaje amplificados ejeX.
(Romeo Rivadeneira, 2012)
40
Figura 24. Amplificador No-Inversor. (Corporation, 2002)
La ecuación de Amplificador No-Inversor es:
𝑽𝒐𝒖𝒕 = 𝑽𝒊𝒏(𝟏 +𝑹𝟐
𝑹𝟏) [3.4]
Figura 25. Amplificador Inversor. (Corporation, 2002)
La ecuacion del Amplificador Inversor es:
𝑽𝒐𝒖𝒕 = −𝑽𝒊(𝑹𝒇
𝑹𝟏) [3.5]
Entonces debemos multiplicar el valor Vx que es el voltaje sensado en el eje
X por a=2.5 como indica la Ecuación 3.1, se debe usar el primer amplificador
operacional no inversor notado en la Figura 24 ya que solo se requiere
multiplicar por un valor. Aplicando la Ecuación 3.4 se obtiene:
𝑽𝒐𝒖𝒕𝟏 = 𝑽𝒙(𝟏 +𝑹𝟐
𝑹𝟏) [3.6]
Donde Vout1 será el resultado de la primera parte de la amplificación, es
decir la multiplicación del Vx por “a”.
Donde (1 +𝑅2
𝑅1) debe ser igual a a=2.5, como se tiene en la ecuación del
41
voltaje amplificado, entonces diseñando con los valores de resistencia de
R2=15KΩ y R1=10KΩ obtenemos el valor de “a” que nos pide la
ecuación.(Coughlin & Driscoll, 1993)
Luego esta señal es conectada al segundo amplificador, este segundo
amplificador es un inversor como en la Figura 25 con su Ecuación 3.5 que es
usado para restar valores como en este caso la ecuación nos lo requiere
restar el valor b=-2.
𝑽𝒐𝒖𝒕𝟐 = −𝑽𝒅(𝑹𝒇
𝑹𝟏) [3.7]
Donde Vout2 será el resultado de la segunda parte de la amplificación, es
decir la resta de “b” a la primera parte de la amplificación que es Vout1.
Donde Vd(Rf
R1) debe ser igual a b=2 entonces necesitamos una entrada de 2V
que lo hacemos mediante un divisor de voltaje como se muestra en la Figura
25. Luego debemos multiplicar por resistencias que me den como resultado
igual a 1, es decir Rf=10KΩ y R1=10KΩ.
𝑉𝑜𝑢𝑡2 = −2(10𝑘
10𝑘)
Figura 26. Divisor de voltaje para obtener 2V. (Romeo Rivadeneira, 2012)
Como resultado final tenemos debemos sumar Vout1 y Vout2 y resolver la
ecuación representada y notada según el circuito en la Figura 27.
𝑉𝑜𝑢𝑡𝑥 = 𝑉𝑜𝑢𝑡1 + 𝑉𝑜𝑢𝑡2
42
𝑉𝑜𝑢𝑡𝑥 = 𝑉𝑥(1 +𝑅2
𝑅1) − 𝑉𝑑(
𝑅𝑓
𝑅1)
𝑉𝑜𝑢𝑡𝑥 = 𝑉𝑥 × 2,5 − 2
Figura 27. Sistema de Amplificación Eje X. (Romeo Rivadeneira, 2012)
Eje Y
Realizamos el mismo procedimiento en el eje Y para calcular los datos de
amplificación. Rango de Operación de 0.9V a 2.6V, teniendo solo una
histéresis de 1.7V. Estos datos son los valores máximos y mínimos que nos
puede dar el acelerómetro tomando en cuenta los límites que el
acelerómetro puede sensar.
Para la amplificación del eje X se va a utilizar dos circuitos amplificadores un
inversor y un no inversor por eje, que serán representados por la fórmula de
la ecuación lineal como se nota en la Ecuación 3.1. Los valores finales
amplificados se los demuestra en la Tabla 8.
Vout1 Vout2
43
Dónde:
Vf= Voltaje final o voltaje amplificado
Vi=Voltaje de entrada del acelerómetro
a=Valor de amplificación
b=Valor de amplificación.
Debemos encontrar los valores de “a” y “b” que serán encontrados mediante
un sistema de ecuaciones de dos incógnitas usando los valores máximos y
mínimos para el conversor análogo digital. Tomando como referencia que 0V
va a ser el mínimo voltaje amplificado y 4V el valor máximo amplificado, y
tendríamos una histéresis de 4V, entonces con la fórmula de la ecuación
lineal sacamos dos ecuaciones.
𝑉ℎ = 𝑉𝑎 × 𝑎 + 𝑏
𝑉𝑙 = 𝑉𝑏 × 𝑎 + 𝑏
Dónde:
Va= Voltaje máximo del acelerómetro. (2.6V)
Vb=Voltaje mínimo del acelerómetro. (0.9V)
Vh=Voltaje máximo que queremos obtener con la amplificación- 4v.
Vl=Voltaje mínimo que queremos obtener con la amplificación- 0V.
Reemplazando obtenemos:
4𝑉 = 2,6𝑉 × 𝑎 + 𝑏
0𝑉 = 0,9𝑉 × 𝑎 + 𝑏
44
Resolviendo el sistema de ecuaciones obtenemos:
a=2.4
b=-2.1
Reemplazando en la Ecuación 3.1 para el Eje Y obtenemos los valores de
voltajes finales como se muestra en la Tabla 6.
𝑉𝑓 = 𝑉𝑖 × 𝑎 + 𝑏
𝑉𝑓 = 𝑉𝑖 × 2.4 − 2.1
Tabla 8. Valores de voltaje amplificados ejeY.
(Romeo Rivadeneira, 2012)
Una vez habiendo obtenido la ecuacion que nos da los valores de voltaje
amplificado, se lo debe representar en electronica, esto lo hace con
amplificadoes operacionales, los cuales son usados para operaciones
45
matematicas, para este caso se los usara para una multiplicacion y una
suma o resta.Se va a utilizar el integrado LM358 que internamente tiene dos
amplificadores operacionales. Para cualquier configuracion de los
amplificadores es importante el diseño de los valores de las resistencias
conectados a los amplificadores, lo cual debemos representar con valores de
“a” y “b” con configuracion de resistores.
Entonces debemos multiplicar el valor VY que es el voltaje sensado en el eje
Y por a=2.4 como indica la Ecuación 1, se debe usar el primer amplificador
operacional no inversor ya que solo se requiere multiplicar por un valor.
Usando la Ecuación 3.4 se obtiene:
𝑉𝑜𝑢𝑡1 = 𝑉𝑦(1 +𝑅2
𝑅1)
Donde Vout1 será el resultado de la primera parte de la amplificación, es
decir la multiplicación del VY por “a”.
Donde(1 +𝑅2
𝑅1) debe ser igual a a=2.4 entonces R2=14k ≈ R2=10k+3.3k
(debido a que no existe una resistencia de 14k) y R1=10k. Luego esta señal
va conectada al segundo amplificador, este amplificador es un inversor
(Ecuación 3.5), en este caso tenemos un valor de b=-2.1, pero ya tenemos
una señal de 2V que se aproxima al valor requerido, es por eso que vamos a
usar el mismo valor usado en el amplificador del eje X. La aproximación
seria b=-2.1≈ b=-2.
𝑉𝑜𝑢𝑡2 = −𝑉𝑑(𝑅𝑓
𝑅1)
Donde Vout2 será el resultado de la segunda parte de la amplificación, es
decir la operación matemática de restar el valor de “b”. Donde 𝑉𝑑(𝑅𝑓
𝑅1) debe
ser igual a b=2 entonces necesitamos una entrada de 2V que lo hacemos
mediante un divisor de voltaje (Figura 25). Luego debemos multiplicar por
resistencias que me den igual a 1, es decir Rf=10k y R1=10k.(Coughlin &
46
Driscoll, 1993)
𝑉𝑜𝑢𝑡2 = −2(10𝑘
10𝑘)
Como resultado final debemos sumar Vout1 y Vout2 y resolver la ecuación
representada.
𝑉𝑜𝑢𝑡𝑦 = 𝑉𝑜𝑢𝑡1 + 𝑉𝑜𝑢𝑡2
𝑉𝑜𝑢𝑡𝑦 = 𝑉𝑦(1 +𝑅2
𝑅1) − 𝑉𝑑(
𝑅𝑓
𝑅1)
Debido al cambio de los valores reales por los valores aproximados se va a
tener una pequeña variación en los datos, según esto tenemos la siguiente
formula y los valores de voltajes amplificados se los demuestra en la Tabla 9.
𝑉𝑜𝑢𝑡𝑦 = 𝑉𝑦 × 2,33 − 2
Tabla 9. Valores de voltaje reales amplificados ejeY.
(Romeo Rivadeneira, 2012)
47
El circuito final de los amplificadores y el sistema de amplificación del Eje Y
se lo puede notar en la Figura 28.
Figura 28.Sistema de Amplificación Eje Y. (Romeo Rivadeneira, 2012)
Los dos integrados LM358 usados para la amplificación de las señales del
acelerómetros están alimentados por VP=7.4V que es el valor de voltaje de
entrada de las baterías, debido a que necesitan valor de voltaje de
alimentación superior al que se va a amplificar.
3.2.4 Diseño comunicación Inalámbrica
Para el análisis y diseño de la comunicación inalámbrica se debe tomar en
cuenta diferentes criterios requeridos en el sistema, para ello se usa el
método de criterios ponderados demostrado a continuación en la Tabla 10.
Vout1 Vout2
48
Tabla 10.Criterios Ponderados Comunicación Inalámbrica
Criterios Comunicación
Inalámbrica Fác
il
Pro
gra
ma
ció
n
Alc
an
ce
Pe
so
An
ch
o d
e B
an
da
Fu
ncio
nali
da
d
Co
ns
um
o
Elé
ctr
ico
Sto
ck
en
el
Me
rca
do
R
es
pu
es
ta d
el
Sis
tem
a
Co
sto
Σ +
1
Po
nd
era
ció
n
1. Fácil Programación
1 0 1 1 0,5 0 1 0 5 0,110
2. Alcance 0,5 0 1 1 0,5 0 1 0 5 0,110
3. Peso 0 0 0 1 0 0 0,5 1 3 0,073
4. Ancho de Banda
0,5 1 0 1 0,5 0 1 0 5 0,122
5. Funcionalidad 1 1 1 1 1 1 1 0,5 8 0,195
6. Consumo Eléctrico
0,5 1 0 1 1 0 0,5 1 5 0,122
7. Stock en el Mercado
0 0 0 0 0 0 0 1 2 0,049
8. Respuesta del Sistema
0,5 1 0 1 1 0,5 0 0 5 0,110
9. Costo 0 0 1 0 1 1 1 0 5 0,110
SUMA 41 1
Criterios Comunicación
Inalámbrica Fác
il
Pro
gra
ma
ció
n
Alc
an
ce
Pe
so
An
ch
o d
e B
an
da
Fu
ncio
nali
da
d
Co
ns
um
o
Elé
ctr
ico
Sto
ck
en
el
Me
rca
do
Res
pu
es
ta d
el
Sis
tem
a
Co
sto
Σ
Pri
ori
dad
Xbee 0,55 0,44 0,22 0,61 0,59 0,49 0,15 0,44 0,44 3,91 1
WiFi 0,33 0,33 0,22 0,49 0,78 0,37 0,15 0,33 0,55 3,54 2
Bluetooth 0,33 0,22 0,29 0,37 0,78 0,24 0,15 0,33 0,33 3,04 3
49
Tabla 10. Criterios Ponderados Comunicación Inalámbrica continuación…
Tecnologías Inalámbricas F
ác
il
Pro
gra
ma
ció
n
Alc
an
ce
Pe
so
An
ch
o d
e
Ban
da
Fu
ncio
nali
da
d
Co
ns
um
o
Elé
ctr
ico
S
toc
k e
n e
l
Me
rca
do
R
es
pu
es
ta d
el
Sis
tem
a
Co
sto
Su
ma
Xbee 5 4 3 5 3 4 3 4 4 35
WiFi 3 3 3 4 4 3 3 3 5 31
BlueTooth 3 2 4 3 4 2 3 3 3 27 Nota: Donde 5 es el valor óptimo o más alto y 1 es el menor.
(Romeo Rivadeneira, 2012)
Según los criterios tomados en cuenta para escoger la tecnología
inalámbrica más óptima para el uso en el proyecto, fue el de la tecnología
inalámbrica, la cual cumple con los requerimientos del usuario y del sistema.
Se puede notar que Xbee tiene la mayor ponderación con 35 siendo esta la
usada en el proyecto, 31 para WiFi y 27 para Bluetooth. Estas tecnologías
podrían ser de igual manera utilizadas, sin embargo, los criterios
considerados son los principales indicadores para utilizar la tecnología de los
módulos Xbee.
Una vez sabiendo que el envío de información hacia los modelos 3D se lo va
a hacer mediante los módulos Xbee, entonces se debe considerar el voltaje
de alimentación que es de 3.3V y las conexiones para la comunicación (Rx y
Tx) como se muestran en la Figura 29. También se utiliza dos LED
indicadores como son, D1 que va conectado al puerto 6 del Xbee, e indica
con un estado alto cuando se recibe información por el puerto 3 DIN. El
segundo LED (D2) está conectado al puerto #13 e indica si el Xbee está
funcionando o está en modo Sleep.
50
Figura 29. Diagrama de conexión del módulo Xbee con el sistema. (Romeo
Rivadeneira, 2012)
3.2.4.1 Configuración de los módulos Xbee.
La configuración de los Xbee se lo puede hacer mediante el Hyperterminal o
mediante el software XCTU que permite programar de una manera más
sencilla y fácil para el usuario.
La recepción de los datos en el computador se lo hace mediante un Xbee
Xplorer que recibe los datos y se conecta vía USB con el computador y
envía la información de forma serial. Se debe diseñar la comunicación
programando el Xbee Esclavo y el Xbee Maestro como muestra la Figura 30.
Figura 30. Red Xbee Maestro-Esclavo. (Romeo Rivadeneira, 2012)
Fuente: Publicaciones e Internet.
51
Primero se debe inicializar el software X-CTU, luego en la pestaña de PC-
Settings se configura el puerto que se va a utilizar y la velocidad del puerto
que está configurado en 9600 Baudios sin flujo de control y ninguna paridad.
Con la función Test/Query se puede identificar si la comunicación es correcta
ya que esta función visualiza la información del módulo Xbee y la versión del
Firmware.
La programación o configuración de los módulos Xbee es similar a la de un
Micro-Controlador, se lo hace mediante el software X-CTU en la pestaña
Modem Configuration. Es aquí donde se programa o se configuran los
comandos AT.
Para el diseño de la red Xbee se debe identificar cuál es el maestro y cuál el
esclavo. Primero se configura el Xbee Maestro, para ello se usa el comando
MY; el valor a emplearse será uno arbitrario que va en un rango de 0x0
hasta 0xFFFE (porque la configuración es de 16 bits). El comando MY
seteado es “1”, que será el valor o el medio al cual se va a comunicar el
esclavo como en la Figura 31.
También se debe configurar los comandos DL en el maestro (ATDL-
DestinationAddressLow) donde igualmente el rango de configuración es de
0x0 hasta 0xFFFE (siendo una configuración de 16 bits). Este comando va a
ser fijado en “2”, en donde su destino (módulo al que se va a enviar los
datos) tiene este parámetro de configuración.
La configuración del esclavo se lo hace de manera similar, se debe
establecer el comando MY y el DL. El comando MY se lo setea en “2” debe
ser diferente al del maestro y fácil de identificar para la red. El comando DL
será el destino a donde se envían los datos, que es el módulo Xbee Maestro
seteado MY “1”. El comando DL del esclavo tiene el valor de “1” como
muestra la Figura 31 que es el valor de direccionamiento del módulo
maestro. En caso de tener un tercer Xbee que se debería comunicar con el
mismo maestro, sus comandos serian MY “3” y DL “1”.
52
Figura 31. Configuración de los comandos DL y MY del Xbee Maestro.
(MaxStream, 2007)
Figura 32.Configuración de los comandos DL y MY del Xbee Esclavo.
(MaxStream, 2007)
53
Los módulos Xbee deben estar configurados con el mismo PAN (Personal
Área Network) ID “515”, que es el identificador de red, para que los módulos
se puedan reconocer entre ellos, ambos el maestro y el esclavo deben tener
el mismo valor que es escogido arbitrariamente. Como se muestra en la
Figura 31 y Figura 32. Cuando se cambia un valor en esta pestaña se pone
de color amarillo con el nuevo valor.
3.3 Diseño del software (Programación del Micro-
Controlador).
El siguiente código está hecho en lenguaje Basic para el PIC 16F870 y su
principal función es leer los datos del acelerómetro (par ordenado X, Y) a
través de las entradas analógicas del Micro-Controlador. Además, permite
ubicar la imagen (cursor) en el origen (0,0) para los dos ejes; esto se lo
realiza mediante una instrucción de calibración, que nos va a dar como
resultado los valores de Xi y Yi, con el objetivo de tener estos valores
seteados en “0”.
Estos son los valores iníciales del sistema y deben ser tomados sin
movimiento del acelerómetro.
A continuación se realiza una nueva lectura de los datos de los dos ejes,
luego se debe obtener la brecha entre estos últimos valores y los
correspondientes a Xi y Yi para obtener el valor de X1 y Y1, si estos valores
son menores o iguales a “2” son fijados e impresos directamente en “0”; esto
se lo realiza con la finalidad de que a veces cuando el acelerómetro no está
en movimiento y esta seteado en 0 suelen haber pequeñas variaciones lo
cual el sistema puede interpretar como variación de los datos sin existir
movimiento es por eso que debemos setear los datos con variación de 2 en
“0”.
54
También se realiza esta calibración para tener el modelo sin movimiento en
el punto inicial y el usuario sin realizar movimiento de la cabeza pueda
navegar fácilmente en el entorno 3D.
Si estos valores no son iguales a cero (0) se realiza una tercera lectura con
el objetivo de encontrar la variación de cada uno de los ejes. Estos datos
tomados son igualmente restados de los valores Xi y Yi e igual se realiza la
comparación si son menores o iguales a “2” para setearlos en “0”, con esta
operación obtenemos X2 y Y2.
Se realiza la comparación de X1=X2 y Y1=Y2 si estos son iguales quiere
decir que no hubo variación y se imprime X1 y Y1 de no ser así se compara
cual es mayor, de ser X1>X2 se imprime el rango de valores desde X2
hasta X1 teniendo los valores ordenados de forma ascendente, y si X1<X2
se imprime los valores desde X2 hasta X1por lo que los valores están
ordenados descendentemente; lo mismo para el eje Y.
Toda esta explicación se muestra en el siguiente diagrama de flujo en la
Tabla 11.
55
Tabla 11. Diagrama de Flujo del sistema
No
Si
Si
No
Lectura Datos X-Y (ADC)
Inicio
Calibración ?
Promedio X Seteo 0g
Promedio Y Seteo 0g
Guarda dato de Xi del estado
inicial
Guarda dato de Yi del estado
inicial
Toma de muestra en X y
Y (ADC)
Dato=Muestra - Valor de
Calibración
Guarda dato X1-Y1
Dato<=2 Imprime dato
X=0 y Y=0
56
Tabla 11. Diagrama de Flujo del Sistema continuación…
Si
No
Si
No
No Si
(Romeo Rivadeneira, 2012)
Toma de muestra en X y
Y (ADC)
Dato2=Muestra - Valor de
Calibración
Guarda dato X2 y Y2
Dato<=2 Guarda dato X2=0 y Y2=0
X1=X2 Y1=Y2
Imprime dato X1 y Y2
Si X1>X2 o Y1>Y2
Imprime rango de valores desde X2
hasta X1 y Y2 hasta Y1
Imprime rango de valores desde X1
hasta X2 y Y1 hasta Y2
Toma de muestra en X y
Y (ADC)
57
Para visualizar al modelo correctamente sin tener movimientos bruscos y
saltos largos del cuerpo humano, se debe imprimir todo el rango de datos
cuando haya un movimiento rápido, por ejemplo, si hay un movimiento de la
cabeza en donde varíe el eje X de un valor al azar (random) de Xi20 a Xi30,
los modelos deben recibir todo el rango de valores es decir Xi20, Xi21, Xi22,
Xi23, Xi24, Xi25, Xi26, Xi27, Xi28, Xi29, Xi30. Esto es igual si se tiene
valores descendentes o que cambien de más a menos, por ejemplo en la
misma variación, se tendría; Xi30, Xi29, Xi28, Xi27, Xi26, Xi25, Xi24, Xi23,
Xi22, Xi21, Xi20.
3.4 Diseño y construcción del circuito impreso.
El circuito está desarrollado en montaje superficial ya que permite reducir el
peso y las dimensiones de la placa, tomando en cuenta que el circuito va a ir
acoplado en el casco VR1280, por lo cual no debe ser tan pesado para no
incomodar al usuario y a su vez también el montaje superficial es más
preciso al momento de ensamblar. El diagrama del circuito completo se
muestra en la Figura 33.
59
El circuito fue diseñado según las dimensiones de la caja tomando en cuenta
que debe haber un espacio para las baterías, es por eso que el circuito tiene
dos caras como se muestra a continuación en la Figuras 34 y Figura 35. El
espacio asignado para las baterías se lo puede notar en la Figura 34, en la
parte izquierda de la figura.
Figura 34.Vista inferior circuito impreso. (Romeo Rivadeneira, 2012)
Figura 35.Vista superior circuito impreso. (Romeo Rivadeneira, 2012)
.
60
3.1.6.1 Lista de elementos usados en el sistema
A continuación en la Tabla 12 están los elementos usados en el sistema.
Tabla 12. Lista de elementos usados en el sistema.
ELEMENTO CANTIDAD
Baterías Lipo 2
Caja 1553B 1
Capacitor 0.33uF 2
Capacitor 0.1uF 2
Capacitor 22pF 2
Resistor 470Ω 3
Resistor 1KΩ 1
Resistor 10KΩ 13
Resistor 15KΩ 2
Resistor 3.3KΩ 1
Interruptor 1
Pulsador 1
Diodo Emisor Luz 3
Oscilador 4MHz 1
Regulador LM7805 1
Regulador LM1117t 1
Amplificador LM358 4
Xbee 2
Xbee Socket 10p 2
Xbee Xplorer 1
Caja Xbee Xplorer 1
Cable USB A/B 1
Acelerómetro MMA7260QT 1
PIC 16F870 1
(Romeo Rivadeneira, 2012)
3.5 Descripción del sistema
Este sistema de realidad virtual envía los datos tomados por el acelerómetro
ubicado en el casco que va a sensar el movimiento de la cabeza en dos ejes
(Eje X y Eje Y) cuando exista movimiento, mediante una comunicación de
módulos Xbee con el computador. Los comandos son enviados en una línea
61
separados por una coma (,) o en diferentes líneas pero siempre con la coma
(,) al final, ya que Java el lenguaje de programación donde está desarrollado
el modelo 3D necesita de un identificador o un separador de los comandos
como se visualiza en la captura de imagen de la pestaña terminal del
software X-CTU en la Figura 36. Como se tienen dos ejes (X y Y) y como se
comparte el mismo Xbee Xplorer (receptor de datos) con el guante que envía
también información para la navegación, es por eso que para el casco se
enviarán los datos como Xi y Yi. Para la diferenciación de los otros
comandos del guante (Xj y Yj) Los valores tanto para X como para Y van a
variar de 0 a -90 como se muestra en la Figura 36, estos datos fueron
tomados al azar para tener como referencia. Para mejorar el envío de los
datos y para que sea real la navegación es necesario enviar todos los datos
de cada movimiento. Para que el movimiento en cada eje sea independiente,
cuando haya desplazamiento el sistema enviará la variación, es decir, si
cambia el eje X, primero se debe imprimir esta diferencia para que el
programa tome como prioridad al eje que esté cambiando. Estos datos son
enviados a una velocidad de 9600 Baudios, sin paridad y sin flujo de datos.
Figura 36.Comandos enviados a los modelos. (Romeo Rivadeneira, 2012)
61
En el presente capítulo se muestra la calibración y el desempeño del
sistema, así como también la respuesta con los modelos tridimensionales
según el movimiento de la cabeza, la interacción que tiene el usuario con la
realidad virtual. El sistema está diseñado para trabajar con los modelos 3D
programados en Java desarrollados en NetBeans, en entorno Centos
sistema operativo Linux.
4.1 Especificación de requisitos para el sistema.
El sistema de navegación virtual, recrea el movimiento de la cabeza para dar
una visión más realista de los modelos 3D. Para realizar esto se va a colocar
el acelerómetro con su circuito de amplificación de señal, unidad de
procesamiento y el módulo de comunicación Xbee, colocado en el casco
VR1280 tomando el movimiento de la cabeza en dos ejes que serían X y Y.
Es decir que el movimiento de la cabeza ya sea horizontal (X) o vertical (Y)
será representado en las imágenes generadas por computadora como
movimientos de lo que se está visualizando. Definiendo el concepto de este
fenómeno, se plantea el siguiente comportamiento del sistema:
Tomando como referencia cuando la posición del usuario y del casco
HMD (donde se encuentra el sensor) estén en posición inicial y
adecuada para empezar la navegación, se tiene el modelo proyectado
en la imagen como se muestra en la Figura 37.
Figura 37. Cuerpo Humano posición inicial. (Romeo Rivadeneira, 2012)
62
Si la cabeza se mueve en sentido horizontal como se simula en la
Figura 38, entonces se va a tener un movimiento en el eje X del
entorno 3D. El modelo del cuerpo humano se desplaza hacia la
derecha cuando la cabeza gira a la izquierda como en la Figura 39 o
se desplaza hacia la izquierda cuando la cabeza gira a la derecha
como en la Figura 40.
Figura 38. Movimiento Horizontal de la cabeza. (Romeo Rivadeneira, 2012)
Figura 39.Movimiento de la cabeza hacia la izquierda. (Romeo Rivadeneira,
2012)
63
Figura 40. Movimiento de la cabeza hacia la derecha. (Romeo Rivadeneira,
2012)
Si la cabeza se mueve en sentido vertical simulado como en la Figura
41, entonces se moverá en el eje Y del entorno 3D. El modelo del
cuerpo humano se desplaza hacia la arriba cuando la cabeza va hacia
abajo como en la Figura 42 o se desplaza hacia la abajo cuando la
cabeza va hacia arriba como en la Figura 43.
Figura 41.Movimiento vertical de la cabeza. (Romeo Rivadeneira, 2012)
64
Figura 42. Movimiento de la cabeza hacia abajo. (Romeo Rivadeneira,
2012)
Figura 43.Movimiento de la cabeza hacia arriba. (Romeo Rivadeneira, 2012)
Este sistema debe desplazar la imagen 3D acorde a los movimientos de la
cabeza (casco) siendo estos movimientos creados por las señales de los
ejes del acelerómetro. Este sistema debe interactuar con los modelos
tridimensionales desarrollados en lenguaje java mediante comunicación
serial.
Se marca un punto inicial en el cual los dos ejes son igual a “0”, estos datos
van a variar en 180 posiciones, es decir, si se tiene el punto medio 0
65
entonces vamos a tener un desplazamiento en positivo y en negativo. Esto
se divide en 90 para cada lado hacia donde se mueve cada eje ya sea hacia
el lado positivo o negativo con el objetivo de que el modelo 3D se mueva en
cuatro direcciones con una misma distancia, es decir, los puntos máximos o
extremos a los cuales el modelo llegara son Xi90, Xi-90, Yi90 y Yi-90. Como
se muestra en la Figura 36, el modelo esta seteado en Xi0 y Yi0 y se
encuentra en la mitad de la pantalla por eso se envían datos positivos y
negativos, para que el desplazamiento del modelo sea igual en los positivos
y en los negativos, es así que los datos oscilaran entre -90 hasta 90. Estos
datos deben ser impresos uno por uno para que el modelo tenga un
movimiento uniforme y no se visualice saltos o movimientos bruscos, es
decir si el modelo se traslada desde Xi0 a Xi10 se deben imprimir todos los
datos desde Xi0 a Xi10 sin excepción. Este sistema como va a ser
implementado en un casco, es indispensable que la información sea enviada
inalámbricamente con el objetivo de que sea fácil en su manipulación y en su
operación, es por eso que se usa módulos Xbee para este proyecto. El uso
de módulos Xbee facilitara la interacción entre el computador y el circuito
electrónico debido a su fácil implementación y operación.
Para el procesamiento de las señales se está usando un Microcontrolador
PIC 16F870 que posee entradas analógicas para la lectura de los ejes y
comunicación serial para la conexión el módulo Xbee el cual envía la
información al receptor que está conectado al computador (Xbee Xplorer).
4.2 Calibración del sistema
Para la calibración del sistema se debe colocar el casco el usuario y
encender el sistema, luego esperar cinco “5” segundos sin realizar ningún
movimiento para que el acelerómetro tome como referencia el punto en el
que está el acelerómetro leyendo esos datos y fijando a cero ” 0” los dos
ejes, para ello es recomendable ponerse en una posición en la cual el
usuario tenga mejor comodidad al trabajar, ésta debe ser una postura recta
para tomar como punto inicial en la cual los modelos 3D se van a visualizar
Figura 44.En caso de calibrar en una posición con una postura difícil al
66
momento de la navegación virtual, esto dificultara la navegación y por ende
será incorrecta la navegación como se puede notar en la Figura 45 la
posición del casco.
Figura 44.Posicion correcta para ajustar los ejes X y Y en 0. (Romeo
Rivadeneira, 2012)
Figura 45.Posición incorrecta para ajustar los ejes X y Y en 0. (Romeo
Rivadeneira, 2012)
Durante estos cinco “5” segundos el LED indicador del Microcontrolador va a
encenderse y apagarse dos veces y al final se queda encendido por un
tiempo más largo indicando que la calibración ha terminado hasta entrar al
67
modo de trabajo y de intermitencia constante del LED de 100milisegundos,
este es el indicador de que el sistema está enviando los datos de los dos
ejes al computador.
4.3 Prueba de envío y recepción de datos
Para verificar que los modelos 3D de java están recibiendo los comandos
enviados se debe realizar una prueba, remitiendo los datos e imprimiéndolos
en la salida del NetBeans, Esto se lo hace con la siguiente función (Figura
45) dentro del programa del cuerpo Humano desarrollado en lenguaje Java
en entorno NetBeans.
Figura 46.Función para imprimir los datos recibidos en Java. (Romeo
Rivadeneira, 2012)
Una vez aplicada la función se procede a imprimir datos al azar para
comprobar que se está recibiendo información del sistema y que existe
variación de los ejes. La Figura 46 muestra un ejemplo de datos enviados.
Figura 47.Impresión de los datos enviados por el sistema. (Romeo
Rivadeneira, 2012)
4.4 Respuestas del sistema
Para saber si el modelo está haciendo alguna acción o de alguna manera se
68
ha desplazado desde su punto inicial, se imprime junto con los datos
recibidos dos indicadores (uno por eje) que muestren si ha existido algún
movimiento y cuanto fue este movimiento con respecto al punto inicial.
Estos indicadores son Xaction y Yaction, seguidos del valor del movimiento
del modelo.
En caso de que el sistema no realice ninguna acción o no reciba ningún
comando de acción que permita dar movimiento al cuerpo humano, el
programa NetBeans no imprime los valores ni de Xi ni de Yi, pero se imprime
en la salida dos indicadores con el valor del movimiento de cada eje que son
Xaction: 0.0 y Yaction: 0.0 como se muestra en la Figura 48, como el
programa en Java no recibe los valores de Xi y Yi entonces no existe
ninguna interacción entre los modelos y el sistema es por eso que los
indicadores están en “0”.
Figura 48. Acción realizada en los modelos 3D. (Romeo Rivadeneira, 2012)
Para comprobar que existe movimiento en el sistema, que se está recibiendo
datos y que hay variación de los ejes se debe imprimir los indicadores de
cada eje, en conjunto con los datos de los ejes que van a dar el movimiento
al modelo como se muestra en la Figura 49. Esta figura muestra cuando el
sistema no está en movimiento pero los datos son leídos e impresos, los
valores de los ejes están en Xi0 y Yi0, es decir el modelo está en su punto
inicial. En caso de que el sistema envíe datos de los ejes al programa
69
NetBeans, pero con una variación como se muestra en la Figura 50 es decir,
el modelo del cuerpo humano (existe interacción) tiene movimiento y va a
cambiar de su posición inicial.
Figura 49. Acción realizada en los modelos 3D sin movimiento-estado inicial.
(Romeo Rivadeneira, 2012)
Figura 50. Acción realizada en los modelos 3D con movimiento. (Romeo
Rivadeneira, 2012)
Hay que tomar en cuenta que el modelo puede no tener movimiento, sin
embargo sus indicadores no necesariamente deberán estar en 0. Es decir
que el modelo esté estático en otra posición diferente a la inicial.
4.5 Pruebas al sistema en modo de trabajo
Una vez comprobada que la comunicación es correcta y que los datos se
están enviando correctamente se procede a visualizar el movimiento de los
modelos con el casco. Tomando como referencia el punto cero calibrado
70
como se muestra en la Figura 51, se va a realizar todos los movimientos
posibles y visualizando el movimiento de los modelos.
Figura 51.Posición de calibración para el modelo ejes X y Y en “0”. (Romeo
Rivadeneira, 2012)
En la caja de control del casco VR1280 existe un puerto de salida al cual
está conectado un monitor (Figura 50), que sirve para proyectar lo que el
usuario visualiza en el casco, esto también se lo va a usar para comprobar el
movimiento con el modelo 3D. El movimiento de la cabeza en sentido
horizontal se puede notar como el modelo realiza un desplazamiento en el
Eje X mostrando la variación y movimiento en la Figura 52 y Figura 53 dando
una respuesta inmediata mediante a los comandos que se están enviando.
Figura 52.Variación del Eje X de 0 a 90 generado por el movimiento de la
cabeza. (Romeo Rivadeneira, 2012)
71
Figura 53.Variación del Eje X de 0 a -90 generado por el movimiento de la
cabeza. (Romeo Rivadeneira, 2012)
Movimiento de la cabeza en sentido vertical se puede notar como el modelo
realiza un movimiento en el Eje Y mostrando la variación y movimiento en la
Figura 54 y Figura 55 dando una respuesta inmediata mediante los
comandos que se están enviando.
Figura 54.Variación del Eje Y de 0 a 90 generado por el movimiento de la
cabeza. (Romeo Rivadeneira, 2012)
72
Figura 55.Variación del Eje Y de 0 a -90 generado por el movimiento de la
cabeza. (Romeo Rivadeneira, 2012)
68
5.1 Conclusiones
Los modelos 3D están desarrollados en entorno NetBeans siendo una
plataforma de software libre que usa lenguaje Java capaz de correr en
cualquier sistema operativo.
Para el envío de los datos de forma inalámbrica se lo realiza mediante
una red ZigBee, ya que los módulos Xbee mostraron durante su
utilización y aplicación ser fáciles de usar y óptimos para este tipo de
aplicaciones.
Este sistema por su tamaño y peso permite ocupar poco espacio y ser
más ergonómico para el usuario.
La práctica y el constante uso del sistema mejora la navegación, ya
que como todo sistema de realidad virtual depende del usuario que se
encuentra manipulando dentro del entorno tridimensional
El sistema no presenta complicaciones de interferencia de señales y
puede trabajar correctamente durante horas, ya que tiene baja
exigencia de recursos.
69
5.2 Recomendaciones
Para el correcto funcionamiento del sistema, es necesario tener un
procesador rápido con una tarjeta aceleradora de gráficos externa en el
computador.
Para dar más realidad al sistema se podría utilizar una IMU que es
una Unidad Inercial de Medida, que contiene un acelerómetro y un
giroscopio. Este dispositivo mide velocidad, orientación y fuerzas
gravitacionales, posee una unidad de procesamiento interna que
ayuda a enviar la información. O simplemente el uso de otro
acelerómetro que permita medir otro movimiento.
Existen hoy en día en el mercado cascos con mejor imagen y más
ergonómicos, sin embargo se necesita más dinero para adquirirlos.
Este tipo de cascos ayudan a que el usuario este más conforme y se
sienta cómodo al momento de usar el sistema, ya que el casco
VR1280 es un poco pesado e incómodo luego de que el usuario lo
haya usado durante un tiempo largo de trabajo, esto le da una
sensación de cansancio y siente la necesidad de retirar el casco de su
cabeza.
Tomar medidas del voltaje de las baterías cada cierto tiempo de
trabajo y cargarlas para tener un correcto funcionamiento del sistema.
Es importante realizar la calibración correcta del sistema, para que
éste trabaje en sus óptimas condiciones.
Siendo esta una aplicación Web que trabaja directamente con un
servidor, éste debe tener una capacidad de procesamiento óptima
para que la navegación tenga más realidad.
Los módulos Xbee deben tener punto de vista entre si y sin ningún
tipo de cubrimiento, sin embargo esto es recomendable en
70
aplicaciones de larga distancia, debido a que el casco es alámbrico la
distancia entre los módulos no pasa de los cuatro metros (4m), por lo
cual la red ZigBee no tiene pérdidas de datos.
Este sistema de realidad virtual no cuenta con sistema de audio el
cual puede dar mejor navegación e interacción con los modelos. En el
casco VR1280 vienen incorporados audífonos.
71
GLOSARIO
MESH Topología de red en la que cada nodo está conectado a todos
los nodos.
FHSS Frequency Hooping- Espectro ensanchado por salto de
frecuencia.
HMD Head Mounted Display.
ASCII American Standard Code for Information Interchange.
IEEE Institute of Electrical and Electronics Engineers.
MAC Media Access Control- identificador único de 48 bits que
corresponde de forma única a una tarjeta o dispositivo de red.
PAN ID Previous Access Network Identifier-Identificador de red.
BIT Binarydigit-Dígito del sistema de numeración binario.
BYTE Unidad digital de informacion-8 Bits.
ISM Industrial, Scientific& Medical-bandas reservadas para uso no
comercial de radiofrecuencia.
UART Universal Asynchronous Receiver-Transmitter
ACK Acknowledgement-Mensaje que se envía para confirmar que
un mensaje ha llegado.
AT Comandos AT son instrucciones codificadas que conforman un
lenguaje de comunicación entre el usuario y un Terminal
Modem.
PIC Peripheral Interface Controller-Control de Interfaz Periférico
LED Light EmittingDiode-Diodo Emisor de Luz
RAM Random Access Memory-Memoria de acceso aleatorio.
EPROM ErasableProgrammableRead-OnlyMemory-Memoria de lectura
programable borrable.
72
API ApplicationProgramming Interface-Interfaz de programación de
aplicaciones.
CPU Central Processing Unit-Unidad Central de Procesamiento.
RISC Reduced Instruction Set Computer.
ASIC Application-specific integrated circuit.
SXGA Super Extended Graphics Array 1280x1024.
IMU Inertial Measurement Unit- UnidadInercial de medida
SMD Surface-Mount Technology- Tecnología de montaje superficial.
HMD Head MountedDisplay- pantalla montada en la cabeza
BUFFER Ubicación de memoria reservada para el almacenamiento
temporal de información digital, hasta que se espera ser
procesada la información.
SM Configuración del módulo de Sleep Mode, 0 por default en el
software X-CTU
ST Time before Sleep- ST solo se activa solo cuando SM=4,5
AT Comandos Hayes es un lenguaje de comandos desarrollado
por la compañía “Hayes Communication”, comandos para
configurar módems.
FRAME Estructura de datos que contiene unas descripciones
generales o características específicas de datos.
MEMS MicroelectromechanicalSystems hace referencia a la tecnología
electromecánica y micrométrica, conocido como Micro-
maquinas.
ASIC Application-Specific Integrated Circuit -Circuito integrado para
aplicaciones específicas. Es un circuito para un uso en
particular hecho a la medida y para la aplicación requerida.
73
OBLEA Es una fina plancha de material semiconductor sobre la que se
construye microcircuitos. Son muy importantes en la fabricación
de dispositivos semiconductores tales como los circuitos
integrados.
G-CELL Células de detección capacitiva.
SXGA Super Extended GraphicsArray, resolución 1280x1024 60Hz,
1.3 millones de pixeles.
74
BIBLIOGRAFIA
Angulo Usategui, J. M. (2003). Microcontroladores PIC Diseño práctico de
aplicaciones.España: Mc Graw Hill.
Inc., M. T. (2003). PIC16F87XA Datasheet.
Oyace, A. (2010). Guia del Usuario Xbee Series 1. Santiago de Chile:
Ingeniería MCI Ltda.
Reyes, C. (2008). Microcontroladores PIC- Programacion en BASIC.Quito:
RISPERGRAF.
Inc., M. T. (2011). Microchip Technology Inc.Recuperado el 15 de Enero de
2012, de http://www.microchip.com
Inc., M. T. (2008). Miniature Single-Cell, Fully Integrated Li-
Ion,.Recuperado el 2012
Wikipedia. (16 de Septiembre de 2011). Wikipedia. Recuperado el 8 de
Noviembre de 2011,
dehttp://es.wikipedia.org/wiki/comunicacion_inalambrica.
Virtual Research Systems, I. (Agosto de 2005). Virtual Research Systems.
Recuperado el 12 de Agosto de 2012, de http://www.virtualresearch.com
Corporation, F. S. (2002). Fairchild Semiconductor.Recuperado el 2012, de
LM358,Dual Operational Amplifier: www.fairchildsemi.com
Freescale Semiconductor, I. (2005). Freescale Semiconductor. Recuperado el
2012, de ±1.5g - 6g Three Axis Low-g, Micromachined
Accelerometer,MMA7260QT.
Ltd., H. M. (2012). Hammond Manufacturing.Recuperado el 2012, de
http://www.hammfg.com/literature
Virtual Research Systems, I. (Agosto de 2005). Virtual Research
Systems.Recuperado el 12 de Agosto de 2012, de
http://www.virtualresearch.com
MaxStream, I. (2007). MaxStream. Obtenido de XBee™/XBee-PRO™ OEM
RF Modules: www.maxstream.net
75
Angulo Usategui, JoséMaría; S. Romero Yesa, I. Angulo Martínez (2006).
Microcontroladores PIC. Diseñopráctico de aplicaciones. (2a edición).
McGraw-Hill.
Coughlin, R., & Driscoll, F. (1993). Amplificadores operacionales y circuitos
integrales lineales.Prentice-Hall Hispanoamericana, S.A.
Steven, B., & Daniel, P. (2006). Microcontrollers Fundamentals for
Engineers and Scientists.Morgan & Claypool Publishers.
76
ANEXOS
Anexo 1.Figura 3D parte superior de la Placa hechos en Protel99
Anexo 2.Figura 3D parte inferior de la Placa hechos en Protel99.
103
Anexo 16.Costos del proyecto
Elemento Cantidad Costo
Unitario Costo Total
Baterías Lipo 2 33,25 66,5
Caja 1553B 1 13 13
Capacitor 0,33uF 2 0,25 0,5
Capacitor 0,1uF 2 0,2 0,4
Capacitor 22pF 2 0,25 0,5
Resistor 470Ω 3 0,1 0,3
Resistor 1kΩ 1 0,1 0,1
Resistor 10kΩ 13 0,1 1,3
Resistor 15kΩ 2 0,1 0,2
Resistor 3,3kΩ 1 0,1 0,1
Interruptor 1 1 1
Pulsador 1 0,2 0,2
Diodo Emisor Luz 3 0,1 0,3
Oscilador 4Mhz 1 1 1
Regulador LM7805 1 1,5 1,5
Regulador LM1117t 1 3 3
Amplificador LM358 4 1,2 4,8
Xbee 2 35,95 71,9
Xbee Socket 10p 2 1,48 2,96
Xbee Xplorer 1 37,6432 37,6432
Caja Xbee Xplorer 1 4,5 4,5
Cable USB A/B 1 3 3
Acelerómetro MMA7260QT 1 39,89 39,89
PIC 16F870 1 5 5
Cargador baterías LiPo 1 19,096 19,096
Placa SMD 1 29,06 29,06
Total
307,7492
Nota: Todos los costos están en dólares e incluidos el IVA.
Top Related