Beruflich Dokumente
Kultur Dokumente
TESIS
PRESENTA
MEINARDO ALCÁNTARA RIVAS
ACESOR
M. EN. C. EDUARDO GABRIEL BALDERAS
I
Prototipo de Asistencia para la
Movilidad de Ciegos a través de
Ecolocación.
Director (a):
Ing. Patricia Lorena Ramírez Rangel.
Academia de Electrónica
II
Lema
La preocupación por el hombre y su destino
siempre debe ser el interés primordial de todo
esfuerzo técnico. Nunca olvides esto entre
tus diagramas y ecuaciones.
Albert Einstein
III
Agradecimientos
Los resultados de este proyecto, están dedicados principalmente al Instituto Politécnico
Nacional y a todos mis profesores por haberme brindado los conocimientos necesarios,
así como a todas aquellas personas que de alguna forma, son parte de su culminación.
Mis sinceros agradecimientos están dirigidos hacia mis compañeros del equipo de
hardware, Daniel Delgado y Oscar Camacho, quienes con su ayuda desinteresada, me
brindaron consejos que fueron relevantes en el desarrollo de este proyecto. A mi familia
por siempre brindarme su apoyo, tanto sentimental, como económico. En especial a mi
tía Blanca Estela Rivas Román quien siempre me apoyo de forma económica, a mi
esposa Abigail García que siempre estuvo con migo apoyándome emocionalmente y
finalmente a mis padres Meinardo Alcántara Maldonado y Juana Rosa Rivas Román,
pilares fundamentales en mi vida.
IV
Resumen
Haciendo uso de sensores ultrasónicos y un módulo de voz, se diseñó un prototipo de un
dispositivo wearable (Actualmente se cómo wearable a dispositivos electrónicos que van
en la ropa), con la funcionalidad de ayudar a desplazarse con mayor facilidad a personas
con ceguera de forma complementaria al bastón para ciegos. El dispositivo cuenta con
dos modos de operación: modo ayuda, que permite a la persona con ceguera detectar
objetos cercanos a la altura de la cabeza y modo escape, que permite a la persona con
ceguera hacer un escaneo del lugar, para detectar una posible salida. También cuenta
con un sistema de recarga de batería a través de energía eléctrica o solar.
V
Contenido
Contenido
Lista de Figuras ............................................................................................................ viii
1. Introducción ............................................................................................................. 1
1.1. Discapacidad Visual ........................................................................................... 2
1.2. Tipos de Discapacidad Visual ............................................................................ 2
1.3. Causas Comunes de Ceguera ........................................................................... 2
1.4. Objetivo .............................................................................................................. 3
vi
Contenido
vii
Contenido
Lista de Figuras
viii
Contenido
ix
Contenido
x
Contenido
Lista de Tablas.
xi
1. Introducción
A lo largo del tiempo el hombre ha tendido a imitar las habilidades de los animales
para beneficiarse de ellas. Desde la imitación de sonidos de algunos animales para
producir música, como es el caso de algunos instrumentos musicales, hasta la
construcción de vehículos complejos como submarino y aviones.
1
Introducción
prótesis etc. Dentro de los sistemas de navegación es común utilizar sensores para
estimar distancia, por ejemplo sensores infrarrojos, sensores ultrasónicos o cámaras.
La ceguera parcial, que se refiere a personas que tienen una visión muy
limitada, y la ceguera completa, que se refiere a personas que no puede ver
nada, ni siquiera la luz (la mayoría de las personas que emplean el término
"ceguera" quieren decir ceguera completa).
La pérdida de la visión se refiere a la pérdida parcial o completa de ésta y
puede suceder de manera repentina o con el paso del tiempo. Algunos tipos
de pérdida de la visión nunca llevan a ceguera completa.
1
(OMS, 2014)
2
Introducción
Con diabetes, la visión puede ser borrosa, puede haber sombras o áreas de
visión faltantes y dificultad para ver en la noche.
Con glaucoma, puede haber estrechamiento concéntrico del campo visual y
visión borrosa.
Con la degeneración del macular, la visión lateral es normal pero la visión
central se pierde lentamente.
Otras causas pueden ser:
1.4. Objetivo
El objetivo de este trabajo es aplicar conocimientos de ingeniería electrónica para
desarrollar el prototipo de un dispositivo de ayuda para la movilidad de ciegos que
permita brindar un mejor panorama de su entorno.
2
(Vorvick, 2010)
3
2. Antecedentes Históricos de los
Dispositivos de Ayuda para Ciegos
En este capítulo se mencionan los tipos de dispositivos que existen para ayuda a
ciegos, además se mencionan algunos dispositivos que han existido a lo largo de la
historia
También había muchos dispositivos que permitían a una persona con ceguera total el
acceso a la palabra impresa. Aquellos dispositivos eran a menudo dispositivos de
exploración que producían una señal de audio o de otro tipo en respuesta un material
impreso. Actualmente muchos de estos dispositivos fueron remplazados por otros con
mejor tecnología.
El optófono (Figura 2), por ejemplo, fue inventado en la década de 1913, y más tarde
surgieron modelos mejorados del mismo, estos tenían hasta 9 detectores sensibles a la
luz. Dispuestos en una columna vertical. La gama de detectores exploraban de forma
manual a través de una línea impresa. Cada detector activaba o desactivaba, un tono de
una cierta frecuencia. El detector encontraba la parte más alta de la columna mayor, y
esto controlaba una frecuencia de tono. A medida que el conjunto de detectores se movía
a través del material impreso, se producían variaciones en el tiempo que generaban
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
acordes. Con la práctica, el usuario podía utilizar los tonos para "leer" materiales. La
velocidad de lectura podía llegar hasta 60 palabras por minuto.
Otro dispositivo para ayuda de lectura, de esa época fue el Lexiphone. El Lexiphone
fue un dispositivo de ayuda para lectura que reconocía letras y emitía un sonido diferente
para cada una. Otros dispositivos pronunciaban las letras de forma real.
Desde el año 1751. Benjamín Franklin sugirió, que la vista podía ser restaurada a
través del uso de alguna forma de estimulación eléctrica. Los experimentos para hacer
precisamente eso, se empezaron a realizar en la década de1970, pero con un éxito
limitado. A lo mucho, una persona ciega era capaz de discernir varias decenas de puntos
de luz cuando se activaban electrodos que eran implantados en su cerebro.
La principal limitante era el número de puntos de luz que pueden ser transmitidos al
cerebro. Hasta entonces, la separación mínima eficaz para los electrodos era de
aproximadamente 2 milímetros, que en comparación con el tamaño de los nervios del
cerebro era muy ineficiente.
3
(Raymond M. Fish, 1985)
6
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
Una versión del tubo laser, emitía pulsos de 0.1 microsegundos de luz 40 veces por
segundo. La luz reflejada por los objetos era detectada por un fotodiodo, que estaba
montado detrás de una lente. El ángulo formado por el rayo reflejado pasaba a través de
4
(NGT, 2007)
7
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
Uno de los dispositivos de ayuda para movimiento para ciegos, implementado con
tecnología de triangulación de infrarrojos más avanzado en esa época fue el "láser
Typhlocane" desarrollado por Bionic Instruments. Este tubo láser se componía de tres
pares de láser y receptores diminutos montados en un bastón largo convencional. Los
láseres se encontraban en una góndola cerca del hueco del tubo, y los fotodiodos del
receptor se encontraban en otra góndola a 12 pulgadas, por debajo de la primera. Las
baterías eran recargables y la electrónica del dispositivo se encontraba dentro del tubo.
El láser Typhlocane (Figura 5).
Figura 4 - Raymond M. Fish, P. M. (1985). Tubo de láser de los años 50. [Fotografía]. Recuperado de
Electronic Aid for the Blind. Revista Radio Electronics, 57-59.
5
(Raymond M. Fish, 1985)
8
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
Figura 5 - Mims, F. (1974). Laser Typhlocane. [Fotografía]. Recuperado de Electronic Sensor Aid for
the Blind. Revista popular electronics, 59-63.
Otro tipo de sensor utilizado para este tipo de dispositivos es el ultrasónico. Las
primeras aplicaciones con este tipo de tecnología se hicieron en Cambridge
Massachusetts en el centro de evaluación y desarrolló. El Dr. Leslie Kay de Inglaterra
desarrollo este dispositivo, se trataba de una especie de linterna que emitía un sonido
cuando un objeto estaba cerca.
6
(Mims, 1974)
9
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
los sonidos que se escuchaban en el oído derecho. Cuando un sonido parecía venir de
frente se escuchaba de igual forma en ambos oídos.
La salida de los Kay Spectacles se acoplaba a los oídos a través de pequeños tubos
de plástico, que no tocaban los oídos, para evitar interferir con la audición normal del
ciego7.
7
(Raymond M. Fish, 1985)
8
(Mims, 1974)
10
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
9
(MaxiAids.com, 2012)
11
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
Así que si 30 píxeles en una columna son de color negro, sólo 34 de las 64
frecuencias estarán representados. La frecuencia se traduce en el tono y la amplitud en
el volumen, lo que un oyente escucha es un acorde musical - sin duda uno bastante
disonantes - de hasta 64 notas.
Una vez que los datos se han extraído de la columna 64, el sistema de toma y
digitaliza un nuevo fotograma. En los 20 milisegundos entre el final de los tonos de la
última columna de un cuadro y las notas a partir de la próxima, el sistema genera un clic
audible que ayuda a orientar al oyente. En cierto sentido, dice, que "Lo que está a punto
de oír, es el lado izquierdo de la imagen".
Para aumentar aún más la orientación espacial de los oyentes, los auriculares
estéreo cambiar el balance del volumen de izquierda a derecha en el paso con el
movimiento del escáner píxel. Esto le da a la persona un sentido de dónde están los
objetos.
Meijer eligió deliberadamente una cámara de baja resolución para la captura de las
imágenes de los paisajes sonoros que se pueden hacer, debido a que el oído humano
tiene una capacidad mucho menor para el manejo de los datos que el ojo. La tasa de bits
que puede acomodar cada oído es de aproximadamente 15 kb/s.
La cuestión ¿Cómo es capaz el cerebro, de tomar imágenes de los sonidos que, para
los no iniciados, se asemejan al ruido que se oye cuando una máquina de fax inicia la
transmisión? "Simplemente no lo sabemos todavía", dice Meijer. Hay nuevas pruebas de
que la parte del cerebro responsable de la visión, la corteza visual, después de algún tipo
12
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
Meijer compara el proceso de aprender a reconocer los sonidos como formas para la
adquisición de una lengua extranjera. Los novatos empiezan por el dominio de un
alfabeto elemental visual: un círculo, un rectángulo, un triángulo, un óvalo. Puesto que,
en general, todas las otras formas se puede decir que son combinaciones de éstos, el
portador de tal dispositivo comienza a ganar "fluidez" que hace que reconozca si una
puerta está abierta o cerrada, o si una silla está ocupada. Una comprensión más
profunda de la razón de una transición tan sensorial puede conducir a una adaptación
más rápida y eficaz al sistema de voz10.
10
(Jones, 2004)
11
(El Financiero, 2013)
13
Antecedentes Históricos de los Dispositivos de Ayuda para Ciegos
14
3. Diseño del Prototipo
El prototipo de ayuda a movilidad para ciegos por ecolocación es una gorra que
funciona como complemento al bastón para ciegos (Figura 11).
El sistema cuenta además con un cargador de baterías que puede funcionar con
corriente alterna (85 a 264v), o por medio de celdas solares. Las celdas solares permiten
que el prototipo se esté cargando mientras se usa, y así proporcionar una mayor
duración a la batería.
Diseño del Prototipo
Portátil: el prototipo completo tiene las dimensiones y la forma adecuadas para ser
transportado con facilidad a la altura de la cabeza, dentro de una gorra adaptada para el
funcionamiento del mismo.
16
Diseño del Prototipo
Practicidad: el acceso a las opciones de uso es sencillo, para esto se utilizó sólo un
botón. Cada vez que el botón es presionado el prototipo cambiará de estado, y se indica
al usuario por medio de una señal de voz el estado en el cual se encuentra.
El módulo de voz también permite dar instrucciones de uso, por ejemplo: puede
indicar si el prototipo está encendido, si la batería está baja o el modo de operación en el
que se encuentre operando. Como se mencionó anteriormente el prototipo cuenta con
dos modos de operación, modo ayuda y modo escape. En el modo ayuda se detectan
objetos cercanos y en caso de encontrar alguno se indica al ciego por medio de una
instrucción de voz. Mientras que en el modo escape se detecta ausencia de objetos, por
lo menos a 3 metros. De esta forma proporciona al ciego información para buscar salidas
o a desplazarse con más rapidez.
17
Diseño del Prototipo
CA-cd Regulador de
Cargador de Regulador de voltaje boost
OR voltaje Batería
(Alimentación general del circuito)
baterías
Celda solar CD-CD
Trigger
3.3.1. Alimentación
Esta parte del dispositivo contiene las diferentes fuentes de alimentación y
reguladores de voltaje, que se utilizan para alimentar el circuito. A continuación se
describen estos módulos de forma breve.
18
Diseño del Prototipo
19
Diseño del Prototipo
Para el caso del prototipo de ayuda a ciegos por ecolocación, se buscaba una fuente
de alimentación lo más pequeña posible, con características de alimentación suficientes
para cargar la batería del dispositivo desde la corriente alterna, por esta razón se
seleccionó la tarjeta de evaluación STEVAL-ISA035V1.
20
Diseño del Prototipo
C1 D1
VPR_VDD
U1
100nF 5 4 D2 Diode
D3 DRAIN VDD
6 3 VPR_FB
R1 L1 DRAIN FB
VPR_DRAIN 7 2
DRAIN SOURCE C2 C3
1W 470uH 8 1
DRAIN SOURCE 22nF 4.7uF
10 Diode
VIPER22ADIP-E 25VVPR_SOURCE 25V L2 16V
R2 Vout_16V
1mH
Linea 1/4W
1K D4
D5 C4
C5 C6 Diode 47uF D Zener
400V 400V
10uF 10uF
NEUTRO
Neutro
C5, L1 y C6 forman un filtro pi para reducir el ruido de EMI. R1 sirve para dos
propósitos, uno es para la limitar la corriente máxima en el primer instante de encendido
(inrush limiting), y el otro es para actuar como un fusible, en caso de un fallo catastrófico.
C1 ayuda a la EMI equilibrando la línea y el ruido neutral, esto sirve para cubrir una
certificación EN55022 clase "B", que aplica para equipos, dispositivos o aparatos que
manejan una tención nominal menor a 600 volts y que están destinados a ser utilizados
en el ámbito doméstico (Figura 16)13.
12
(STMicroelectronics, 2007)
13
(RF EMC Development, 2014)
21
Diseño del Prototipo
El voltaje a través de C6 alimenta al DRAIN, del pin 5 al 8 de U1. Dentro del integrado
VIPER22A la fuente de corriente constante proporciona 1mA al pin 4 VDD, esta corriente
carga a C3. Cuando el voltaje en el pin VDD alcanza 14.5 volts nominales, la fuente de
corriente se apaga y el VIPER22A arranca el pulso. Durante este tiempo la energía está
siendo subministrada desde el capacitor de VDD (C3). La energía almacenada debe ser
mayor que la energía necesaria para subministrar la corriente de salida más la energía
para cargar el capacitor de salida antes de que el capacitor de VDD llegue a un valor por
debajo de 9 volts. Por lo tanto el valor del capacitor se elige para acomodar el tiempo de
inicio. Durante un corto circuito el capacitor de VDD se descarga por debajo del valor
mínimo permitiendo que el generador de corriente de alta tensión inicie una nueva
secuencia de arranque. La carga y descarga del capacitor determina el periódo de tiempo
que la fuente de alimentación está encendida y apagada. Esto reduce el efecto de
calentamiento RMS de todos los componentes.
22
Diseño del Prototipo
(1)
(2)
D5 tiene que ser un diodo de recuperación rápida, sin embargo D8 puede ser un
diodo estándar. D4 se utiliza para fijar el voltaje a 16 V pero debido a la naturaleza de la
topología se recomienda un Zener de 3 a 4 V más alta que la tensión de salida.
(3)
23
Diseño del Prototipo
Hay dos puntos que se deben tener en cuenta. Uno de ellos es que mientras mayor
es la corriente pico es más posible operar en modo discontinuo. En este punto la
corriente se debe mantener inferior al mínimo del límite actual de la VIPer22A-E, que es
de 560mA. El otro punto es que si utilizamos un inductor mayor valor que permita
funcionar en modo de operación continuo todo el tiempo, existirá con un exceso de calor
y pérdidas en la conmutación del MOSFET dentro de la VIPER. Por esto, la corriente del
inductor debe ser mayor que la corriente de salida para evitar el riesgo de saturar el
núcleo.
Cuando el MOSFET está activado, el pin SOURCE es igual que la entrada de línea
rectificada y la corriente está aumentando. A 350mA de corriente de salida, el pico de la
corriente es de 550mA para un inductor de 470μH, como el peor de los casos es 560mA,
la corriente estaría muy cerca del límite, por lo tanto el inductor de 470μH se puede tomar
como valor mínimo que se puede utilizar.
(4)
24
Diseño del Prototipo
CA-CD Regulador de
Cargador de
OR voltaje
baterías
Celda solar CD-CD
El prototipo de ayuda para ciegos por ecolocación tiene dos posibles fuentes de
alimentación una es a través de la fuente CA-CD y la otra es a través de celdas solares
25
Diseño del Prototipo
Para realizar esta selección de fuente el circuito hace una operación lógica que
responde a la tabla de verdad de una compuerta lógica OR sólo que ésta maneja voltajes
diferentes a TTL y diferentes entre sí. Cuando ambos voltajes están alimentando el
circuito deshabilita el voltaje más bajo, y sólo permite la alimentación del voltaje más alto.
Esto se lleva a cabo utilizando dos diodos Shottky MBR0530 conectados como se
muestra en la figura 22.
Cuando la fuente CA- CD está desconectada y sólo están conectadas las celdas
solares (Figura 233), sólo está conectado el diodo D8, por lo tanto el voltaje que recibe la
carga está descrito por la ecuación 5, mientras que la potencia que consumiría la carga
está definida por la ecuación 6.
26
Diseño del Prototipo
(5)
(6)
(7)
(8)
Para el caso en que las baterías solares están desactivadas, y sólo está conectada la
fuente de alimentación CA-CD el circuito se reduciría al que se muestra en la Figura 244.
La hoja de datos del diodo indica que para una corriente máxima de
corresponde un , esto también corresponde a la corriente máxima que puede
salir de la fuente de alimentación de CA-CD que es de 350mA, sustituyendo estos
valores en la ecuación 9 se obtiene:
(9)
27
Diseño del Prototipo
(10)
Cuando ambos voltajes están conectados. Para el caso en que ambas fuentes están
conectadas, se puede observar que el voltaje en el ánodo del diodo D8 es menor que el
voltaje en su cátodo, por esta razón este diodo no conduce y el circuito se reduciría al de
la Figura 28, por lo tanto los valores de voltaje y potencia que consume la carga son los
mismos que describen las ecuaciones 5 y 6.
El circuito que se utiliza para cargar la batería funciona con 5 volts, por lo tanto se
debe de regular el voltaje que proviene del circuito OR, para realizar esta función se
utilizó un regulador de voltaje CD- CD conmutado ROF-78E5.0-0.5SM de la marca
recom.
(11)
28
Diseño del Prototipo
(12)
(13)
(14)
Pero la fuente de alimentación sólo puede entregar 500mA a la salida, ésto quiere
decir que la fuente está consumiendo menos corriente de la que la fuente de energía CA-
CD está proporcionando. Para entregar 5V a 500mA la potencia mínima de entrada
podría obtenerse despejando la ecuación como se muestra en la ecuación 15.
(15)
(16)
(17)
29
Diseño del Prototipo
El circuito cargador de batería que se utiliza para cargar esta batería es el LTC4064
de linear technology. El LTC4064 es un cargador lineal independiente optimizado para
prolongar la vida de baterías de iones de litio en aplicaciones de back-up. Al cargar a un
voltaje flotante de 4 V en lugar de 4.2V o 4.1V, el LTC4064 desacelera el proceso de
envejecimiento y la capacidad de degradación cuando la batería no se utiliza durante
largos períodos de tiempo.
30
Diseño del Prototipo
(18)
(19)
(20)
La corriente máxima que va a recibir el circuito es la que proviene del convertidor CA-
CD de 0.5A por lo tanto, esta corriente se tomó como corriente de carga, sustituyendo en
la ecuación 20 se obtiene:
(21)
(22)
31
Diseño del Prototipo
(23)
(24)
(25)
El LTC4064 tiene un pin CHRG que se utiliza para conocer el estatus de carga de la
batería, internamente tiene un MOSFET de canal N que manda una señal de bajo al pin
CHRG cuando la batería está cargando. Este pin se puede utilizar para dar la señal de
que la batería ya está cargando al microcontrolador principal, pero en el prototipo se
colocó un LED a este pin, con el fin identificar cuando la batería está siendo cargada, en
la Figura 28 se muestra la configuración del LTC4064 en el prototipo de ayuda a
movilidad por ecolocación.
32
Diseño del Prototipo
El LMR62421 es una herramienta de fácil uso para fuentes conmutadas boost, con
topología SEPIC, que ofrece todas las funciones activas para proporcionar una
conversión CD-CD con respuesta transitoria rápida, regulación precisa y uso mínimo de
espacio en el PCB. Tiene una frecuencia de oscilación fija e interna de 1.6MHz, ésto
permite la reducción del tamaño de los componentes pasivos que utiliza, tal es el caso de
inductores y capacitores. El dispositivo proporciona una eficiencia de 90%.
El integrado funciona con un intervalode voltaje de entrada desde 2.74V hasta 5.5 y
puVede proporcionar una salida de hasta 24V.
33
Diseño del Prototipo
Figura 30 – Texas Instrument. (2013). Diagrama de bloques del integrado LMR62421. [Diagrama].
Recuperado de http://www.ti.com/lit/ds/symlink/lmr62421.pdf
34
Diseño del Prototipo
35
Diseño del Prototipo
Batería
Trigger
0 Selección de modo
1 Modo ayuda
2 Modo escape
El prototipo utiliza de dos a tres sensores HCSR04, éstos requieren una señal de
trigger para su funcionamiento, y según sea el estado de operación en el que se
encuentre el prototipo, hace una comparación para mandar instrucciones a la memoria
ISD1932, para que ésta reproduzca los mensajes que previamente fueron grabados.
36
Diseño del Prototipo
El sensor cuenta con 4 pines, dos de ellos corresponden a la alimentación, los otros
dos pines son el pin de trigger r y el pin de echo. El principio básico de funcionamiento
del sensor es el siguiente.
(26)
Debido a las propiedades de reflexión del sonido (la onda sonora se refleja con el
mismo Ángulo con el que incide), cuando el sensor HCSR04 tiene un objeto plano con
una inclinación de 45 grados, la señal refleja a 45 grados, esto forma un ángulo de 90
37
Diseño del Prototipo
grados con referencia al sensor, por lo tanto si no hay ningún otro objeto en el camino de
la onda sonora, ésta no regresa, por lo tanto el sensor no detecta al objeto, esto se
describe en la figura 34
38
Diseño del Prototipo
12 53.3 21.3
8 80 32
6.4 100 40
5.3 120 48
4 160 64
Para el prototipo de ayuda a movilidad para ciegos por ecolocación se utilizó una
resistencia de 100 Ω para obtener un total de 40 segundos de grabación con calidad
regular.
39
Diseño del Prototipo
Para grabar mensajes en adress mode se utiliza el pin este pin se debe dejar en
bajo durante un determinado tiempo según sea la frecuencia de muestreo para activar la
grabación y después se debe enviar un pulso para iniciar la grabación correspondiente.
Para reproducir los mensajes desde una dirección de comienzo a una dirección de
final se utiliza el pin , los mensajes se reproducen siempre que este pin está en
nivel bajo.
El modo directo permite grabar y reproducir desde 1 hasta 8 grabaciones del mismo
tamaño, mediante los pines M1 hasta el pin M8.
0 0 0 1
0 0 1 2
0 1 0 3
0 1 1 4
1 0 0 5
1 0 1 6
1 1 0 7
1 1 1 8
Para grabar y reproducir mensajes, se utiliza el pin , este pin se debe mantener
en bajo para grabar y en alto para reproducir, la grabación y reproducción de los
mensajes se hace enviando un 0 a los pines del M1 al M8, correspondientes a los
respectivos mensajes, durante el tiempo correspondiente de la grabación o reproducción,
por ejemplo cuando el pin está en 0 y se pone en cero el pin M1 se estará grabando
un mensaje del tamaño correspondiente en la memoria 1.
40
Diseño del Prototipo
41
Diseño del Prototipo
42
Diseño del Prototipo
Para el prototipo de ayuda a movilidad para ciegos se utilizó un módulo diseñado por
sparkfun que contiene todas las configuraciones para ser utilizado.
Tabla 4.
Memoria Mensaje
M1 Batería baja
M2 Batería cargada
M3 Modo ayuda
M4 Modo escape
M5 Objeto cerca
M6 Posible escape
M7 Encendido
M8 Selección de modo
43
Diseño del Prototipo
3.4.7. Altavoz
Para escuchar las grabaciones previamente grabadas se puede conectar un altavoz
de hasta 1 watt de potencia. Pero en este caso se decidió utilizar un transductor
electromecánico “Bone Conductor Transducer”, la figura 40 muestra este dispositivo.
44
Diseño del Prototipo
45
Diseño del Prototipo
3.4.9. Firmware.
En la
Figura 42, se puede apreciar que el puerto D del microcontrolador se está utilizando
como salidas para enviar las instrucciones al módulo de voz. Como se vio anteriormente
el módulo de voz requiere señales con anchos de pulso específicos para su
funcionamiento, estas señales se logran mediante el uso del temporizador 0 en modo
normal.
Los pines PC0 y PC1 del puerto C se utilizan como salidas para enviar la señal de
trigger que requieren los módulos ultrasónicos para su funcionamiento y los pines PC3 y
PC4 se utilizan para recibir las señales de echo de los módulos ultrasónicos y
procesarlas por medio de interrupciones externas, los pines PC2 y PC5 están disponibles
para conectar un trigger y un eco en caso de ser necesario un tercer sensor ultrasónico.
Por medio de los pines PC0 y PC1, se envía un pulso con un ancho de pulso especifico,
46
Diseño del Prototipo
para conseguir lo cual se utiliza el temporizador 2 en modo CTC (Clear Time on Compare
Match).
Para medir las señales de PWM del sensor ultrasónico se requiere utilizar las
interrupciones por captura del temporizador 1. El pin PB0 se utilizó como salida para
enviar la señal ya procesada de los sensores ultrasónicos hacia el pin PB1, y de esta
forma generar la interrupción por captura de forma física.
El pin ADC6 se utiliza para medir el nivel de voltaje que tiene la batería, por medio del
convertidor analógico digital del microcontrolador.
Figura 42 todos los pines del puerto D están dedicados a controlar el módulo de voz
por lo tanto, deben ser configurados como salida, esto se hace mediante la siguiente
instrucción.
DDRD=0xFF;
Para cargar valores en la salida de los pines, se utiliza el registro PORT, simple
mente se carga el valor que se requiere enviar al puerto, por ejemplo como se explicó en
la sección de módulo de voz las instrucciones en modo directo se ejecutan enviando un
flanco de bajada, por lo tanto es conveniente que todos los bits del puerto se mantengan
inicialmente en alto, para conseguir esto simplemente se envía un uno a todos los bits del
puerto, lo cual se logra mediante la siguiente línea de código.
PORTD=0xFF;
DDRB&=~(1<<MODO);
PORTB|=(1<<MODO);
47
Diseño del Prototipo
Para generar las señales que controlan al módulo de voz se utilizó un contador para
determinar los tiempos correspondientes de la señales.
Esto se realizó mediante el temporizador 1 en modo normal, como las señales que se
reproducirán duran alrededor de 3 segundos se configuro el temporizador para generar
interrupciones cada 25 ms, suponiendo que se necesite reproducir un mensaje de 3
segundos se tendría que generar la señal que se muestra en la figura 43.
25ms
Para generar esta señal se utilizó la interrupción por sobreflujo del temporizador 0
cada 25ms, para configurar esta interrupción se utilizan los bits de modo de generación
de onda que se encuentran el registro TCCR0A (Timer/Counter Control Register A) en la
14
(Pardue, 2005)
48
Diseño del Prototipo
49
Diseño del Prototipo
0 0 0 Normal 0xFF
0 1 0 CTC OCRA
1 0 0 Reservado ---
1 1 0 Reservado ---
50
Diseño del Prototipo
Tabla 5 para el caso de configuración normal sólo es necesario cargar un uno al bit
WGM21, los bits que contiene el registro TCCR0A son los que se muestran en la figura
44 se muestran los bits correspondientes del registro TCCRA.
Los bits COM (Compare Match Output A Mode) no se usan por lo tanto la línea de
código para configurar el temporizador en modo normal es la siguiente.
TCCR0A=0;
Tabla 6 se muestra las configuraciones de estos bits para seleccionar el reloj del
microcontrolador.
51
Diseño del Prototipo
(27)
(28)
Se toma el valor más cercano por arriba del valor obtenido que en este caso seria
1024.
Según la
Tabla 6 es necesario cargar un 1 a los bits bit CS02 y CS00 del registro TCCR0B, lo
cual se consigue mediante la siguiente línea de código.
TCCR0B|=(1<<CS02)|(1<<CS00);
Para ajustar el valor del registro TCNT0 se puede ocupar la ecuación 29.
(29)
(30)
TCNT0=61;
Para habilitar la interrupción por sobre flujo del temporizador cero es necesario cargar
un 1 al bit TOIE0 (Timer/Counter0 Overflow Interrupt Enable) del registro TIMSK0
(Timer/Counter Interrupt Mask Register); la línea de código que realiza esta acción es la
siguiente.
TIMSK0 = (1<<TOIE0);
52
Diseño del Prototipo
Para generar la señal se utiliza un contador que incrementa su valor cada 25ms para
obtener una cuenta de 3 segundos el contador tendría que llegar a 120 como se muestra
en la ecuación 31.
(31)
La figura 45 muestra el diagrama de flujo que describe las funciones que se ejecutan
cada interrupción por sobre flujo, con el fin de generar la señal de la Figura 45 en el pin
correspondiente cuando se envía un mensaje al módulo de voz.
53
Diseño del Prototipo
Interrupción temporizador 0
Sobre flujo cada 25mS.
Deshabilita interrupciones
globales
Ajusta temporización
Incrementa el contador de
mensaje
Cambia el estado de la
memoria a disponible
Figura 45 - Interrupción por sobre flujo del temporizador 0. [Diagrama]. Creación propia.
Figura 45.
54
Diseño del Prototipo
ISR(TIMER0_OVF_vect)
{
cli();
TCNT0 = 61;
cnt_delay=cnt_delay+1;
if (cnt_delay==120)
{
PORTD=mensajes[0];
}
if(cnt_delay==130)
{
TIMSK0&=~(1<<TOIE0);
EstadoMS=1;
}
sei();
}
Para generar esta señal se utilizó la interrupción por coincidencia de CTC del el
temporizador 2 cada 25 µs, para configurar esta interrupción se utilizan los bits de modo
de generación de onda que se encuentran el registro TCCR2A (Timer/Counter Control
Register A) en la
55
Diseño del Prototipo
de Timer0 Conteo
0 0 0 Normal 0xFF
0 1 0 CTC OCRA
1 0 0 Reservado ---
1 1 0 Reservado ---
Tabla 7 para el caso de CTC sólo es necesario cargar un uno al bit WGM21 la línea
de código correspondiente para ejecutar esta acción es la siguiente.
TCCR2A|=(1<<WGM21);
Tabla 8 se muestra las configuraciones de estos bits para seleccionar el reloj del
microcontrolador.
56
Diseño del Prototipo
(32)
Según la tabla es necesario cargar un 1 al bit CS20 del registro TCCR2B, esto se
consigue mediante la siguiente línea de código.
TCCR2B|=(1<<CS20);
Para ajustar el valor del registro OCR2A se puede ocupar la ecuación 33.
(33)
(34)
OCR2A=199;
57
Diseño del Prototipo
por comparación del temporizador, lo cual se hace mediante la siguiente linea de código.
Una vez que es habilitada la interrupción, todo el tiempo se estará ejecutando paralela a
las demás actividades del microcontrolador.
TIMSK2 = (1<<OCIE2A);
58
Diseño del Prototipo
Interrupción temporizador 2
CTC cada 25µS.
Deshabilita interrupciones
globales
Ajusta temporización
Incrementa el contador de
Trigger
No
No
59
Diseño del Prototipo
ISR(TIMER2_COMPA_vect)
{
Cnt_Trig++; //Contador se incrementa cada 25us.
cli(); //Limpia los registros
OCR2A=199; //Ajuste de temporizador.
if (Cnt_Trig<=1) //Si contador está entre 0 y 12us.
{
PORTC|=(1<< TRIG1);
PORTC|=(1<< TRIG2); //Las salidas trigger se mantienen en alto.
}
else
{
PORTC&=~(1<<TRIG1);
PORTC&=~(1<<TRIG2); //De lo contrario las salidas están en bajo.
}
if (Cnt_Trig ==2400) //Hasta que contador = 60ms (60ms/12.5us=4800)
{
Cnt_Trig=0; //Reinicia el contador
}
sei(); //Habilita interrupciones globales
}
Para medir los niveles de voltaje de la batería se utiliza el periférico ADC del
microcontrolador.
Entre Vref- y Vref+ se pueden concebir infinitos valores analógicos, pero con n bits
sólo se pueden formar valores discretos diferentes. Por lo tanto habrá valores
analógicos que no podrán ser representados con exactitud.
60
Diseño del Prototipo
(35)
En este caso se usara un ADC de 10 bits con Vref- = 0 V y Vref+ = 5V. Por lo tanto
sustituyendo los valores en la ecuación se obtiene la ecuación 36.
(36)
(37)
61
Diseño del Prototipo
El registro ADMUX (
Figura 49) se utiliza para seleccionar el voltaje de referencia del pin AVCC, el canal
de ADC y la presentación de los datos, en la siguiente figura se muestra el registro con
todos sus bits.
62
Diseño del Prototipo
Los bits REFS (Reference Selection Bits) se utilizan para seleccionar el voltaje de
referencia del pin AVCC de acuerdo a la Tabla 9.Tabla 9 - Selección de Voltaje de
referencia.
0 0 Pin AREF
1 0 Reservado
63
Diseño del Prototipo
ADMUX|=(1<<REFS0);
El pin ADLAR (ADC Left Adjust Result) se utiliza para ajustar la orientación del
resultado en el registro del ADC, por default este pin se encuentra en cero lo que significa
que el resultado está alineado a la derecha, si se quiere que el resultado quede alineado
a la izquierda se debe colocar un uno a este pin, en este caso el resultado se quiere
ajustado a la derecha, por esta razón no se ejecuta ninguna instrucción para este bit.
Los bits MUX se encargan de seleccionar el canal del comparador analógico que se
pretende leer de acuerdo a la siguiente Tabla 10.
64
Diseño del Prototipo
0000 ADC0
0001 ADC1
0010 ADC2
0011 ADC3
0100 ADC4
0101 ADC5
0110 ADC6
0111 ADC7
1000 Reservado
1001 Reservado
1010 Reservado
1011 Reservado
1100 Reservado
1101 1,1V
1110 0V
1111
El pin que se utiliza para medir el voltaje de la batería es el ADC6 como se muestra
en la figura 51.
65
Diseño del Prototipo
Por lo tanto la linea de codigo que se utiliza para configurar el pin 19 como entrada de
ADC es el siguiente.
ADMUX|=(1<<MUX1)|(1<<MUX2);
El bit ADEN (ADC Enable) habilita el funcionamient del ADC por lo tanto para habilitar
esta funcion se escribe la siguiente linea de comandos
ADCSRA|=(1<<ADEN);
Los bits ADPS (ADC Prescaler Select Bits) se utilizan para seleccionar el valor del
reloj del ADC de acuerdo a la Tabla 11.
0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128
66
Diseño del Prototipo
Figura 53 - Atmel(2011). Circuito interno ADC. Recuperado de nota de aplicaciones ADC of megaAVR
in Single Ended mode.
Los ciclos de muestreo y retención se cuentan a partir del momento en que se inicia
la conversión, después de modificar el bit ADSC, del registro ADCSRA. El ADC no capta
la señal a convertir directamente del pin ADCx, primero espera que dicho nivel de tensión
se deposite en el capacitor de muestreo y retención C S/H, para luego iniciar la
conversión desde allí. El tiempo que demora este capacitor en cargarse se denomina
periodo de muestreo y retención o a veces tiempo de adquisición. Éste varía
principalmente de acuerdo con la impedancia Rs del circuito externo al canal del ADC. El
ADC del AVR está optimizado para acoplarse a impedancias de 10KΩ o inferior.
(38)
A esta frecuencia, cada ciclo duraría 1/125kHz = 8µs. De aquí se puede ver que cada
una de estas conversiones toma 14.5*8 = 116µs y que en un segundo se pueden realizar
hasta 1/116us = 8620 en este caso, esta velocidad es suficiente.
Para ajustar el reloj del ADC a esta frecuencia se utiliza la siguiente línea de
comando.
ADCSRA|=(1<<ADPS2)|(1<<ADPS1);
15
(Atmel, 2011)
67
Diseño del Prototipo
El registro ADCSRB (ADC Control and Status Register B) se utiliza para seleccionar
el modo de conversión del ADC en la Figura 54 se muestran todos los bits de este
registro.
0 0 1 Comparador Analógico
ADCSRB = 0x00;
68
Diseño del Prototipo
Envía mensaje 1
No
Incrementa el contador de
mensaje 1
Envía mensaje 2.
Incrementa el contador de
mensaje 2
Fin
69
Diseño del Prototipo
Los niveles de voltaje que indican que la batería está descargada o cargada son 2.5V
y 3.8 volts, para obtener los valores digitales de estos niveles de voltaje se puede utilizar
la ecuación 39.
(39)
///////////////////////////////////////////////////////////////////////////////////
///////Función para medir el estado de la batería MIKROE-1120//////////////////////
void Medir_Bat()
{
Medir_ADC=Leer_ADC(); //Guardar medición de lectura.
//Valor digital = (1023)*Vin)/Vref +
// Tabla de valores digitales del
///////////////////////////////////////////////////////
// |V int |Valor Digital |valor binario |
// |2.5 |512 |1000000000 |
// |2.6 |532 |1000010100 |
// |2.7 |552 |1000101000 |
// |2.8 |573 |1000111101 |
// |2.9 |593 |1001010001 |
// |3 |614 |1001100110 |
// |3.1 |634 |1001111010 |
// |3.2 |655 |1010001111 |
// |3.3 |675 |1010100011 |
// |3.4 |696 |1010111000 |
// |3.5 |716 |1011001100 |
///////////////////////////////////////////////////////
if (Medir_ADC<=573&&Cnt_Mnsj1<1&&EstadoMS==1)
//Si la medición es menor que 2.8v y si la medición
//se ha dicho menos de 1 vez y no hay ningún mensaje reproduciéndose
{
Cnt_Mnsj2=0;
Cnt_Mnsj1=Cnt_Mnsj1+1; //incrementa el contador de mensaje.
ISD1932(1); //la batería está baja
}
else if (Medir_ADC>=675&&Cnt_Mnsj2<1&&EstadoMS==1)
//Si la batería es mayor que 3.3v
{
Cnt_Mnsj1=0;
Cnt_Mnsj2=Cnt_Mnsj2+1;
ISD1932(2); //la batería está cargada
}else if (Cnt_Mnsj1>=2)
{
Cnt_Mnsj1=3;
}else if (Cnt_Mnsj2>=1)
{
Cnt_Mnsj2=3;
}
}
70
Diseño del Prototipo
La selección de modo se realiza mediante un sólo botón, cada vez que el botón es
presionado se incrementa un contador que indica el estado en que debe operar.
Como se muestra en la figura 56, el pin que se utiliza para realizar esta función es el
pin 14, PCINT2 este pin corresponde a las interrupciones de PCIN0.
PCICR|=(1<<PCIE0);
Para seleccionar el pin con el que se desea trabajar se utiliza el registro PCMSK0 ()
los bits de este registro se muestran en la figura 58.
71
Diseño del Prototipo
PCMSK0|=(1<<PCINT2);
Interrupción PCINT0
Para selección de modo
Deshabilita interrupciones
globales
contador es > 2
Si
72
Diseño del Prototipo
Para incrementar el contador cada vez que se presiona el botón se utilizan las
siguientes líneas de código.
sei();
}
73
Diseño del Prototipo
Una vez configurado el pin como interrupción, se envían los mensajes de voz
correspondientes en el orden correspondiente cada vez que el estado cambia, como se
ilustra en el diagrama de flujo de la figura 60.
Selección de Modo
Contador de modo es 0
y Si Envía mensaje 8
Memoria disponible
Reinicia el contador
de mensaje 3
No Reinicia el contador
de mensaje 4
Incrementa el contador
de mensaje 3
No
No Distancia de 0 a 1 metro
y Si Envía mensaje 5
Memoria disponible
Incrementa el Contador
del mensaje 4
No
Fin
74
Diseño del Prototipo
void Selecion_Modo()
{
if (Cnt_Mod==0 && EstadoMS==1)
{
ISD1932(8); //Selección de modo
Cnt_Mnsj3=0;
Cnt_Mnsj4=0;
}else if (Cnt_Mod==1 && EstadoMS==1)
{
//Objeto Cerca ();
if (EstadoMS==1 && Cnt_Mnsj3<1)
{
Cnt_Mnsj3=2;
ISD1932(3); //Modo ayuda
}else if (Reg_ICP >0 && Reg_ICP<=6000 && EstadoMS==1)
{
//PORTB|=(1<<PORTB1);
ISD1932(5); //Objeto cerca
}
}else if (Cnt_Mod==2 && EstadoMS==1)
{
//Objeto Lejos ();
if (EstadoMS==1 && Cnt_Mnsj4<1)
{
Cnt_Mnsj4=2;
ISD1932(4); // Modo Escape
}else if (Reg_ICP>=9000 && EstadoMS==1) //>=9000
{
ISD1932(6);//Posible escape
}
}
}
75
Diseño del Prototipo
Esta función recibe el valor del mensaje que se quiere enviar, cambia el estado de la
memoria a ocupado para evitar que el mensaje sea interrumpido reinicia el contador del
generador de retardo, habilita la interrupción por sobre flujo del temporizador 0,
previamente se explicó el funcionamiento de la generación de retardo esto genera la
señal que reproduce el mensaje correspondiente de la memoria, en la figura 61se
muestra el diagrama de flujo de esta función.
Las líneas de código que se utilizan para crear esta función son las siguientes.
76
Diseño del Prototipo
Por ejemplo la figura 62, muestra que el sensor 2 está detectando un objeto sercano,
pero el sensor 1 está detectando un objeto más sercano; al realizar la operación la señal
de salida sería equivalente al objeto mas sercano.
Para realizar esta función se utilizaron las interrupciones por captura del puesto C
para configurar los pines del puerto C como interrupciones externas se utilizó el siguiente
código.
void Config_IntPC()
{
PCICR|=(1<<PCIE1);
PCMSK1|=(1<<PCINT11)|(1<<PCINT12);
}
77
Diseño del Prototipo
Interrupción PCINT1
Para operación lógica
Deshabilita interrupciones
globales
Contador de modo es 1 o 2
Si
No
ISR(PCINT1_vect)
{
if (Cnt_Mod==1||Cnt_Mod==2)
{
if(PINC&(1<<PORTC4)&&PINC&(1<<PORTC3))
{
PORTB|=(1<<PORTB1);
}
else
{
PORTB&=~(1<<PORTB1);
}
}
78
Diseño del Prototipo
Para utilizar la interrupción por captura del temporizador uno se utiliza el registro
TCCR1B (Timer/Counter1 Control Register B) en la Figura 64 se muestran todos los bits
de este registro16.
El bit ICNC1 (Input Capture Noise Canceler) se utiliza para habilitar la cancelación de
ruido en el primer prototipo se decidió no usar esta función.
El bit ICES1(Input Capture Edge Select) se utiliza para seleccionar el flanco en el que
se efectuara en primer instancia este pin debe estar en 1 para detectar flancos de subida.
Los bits WGM (Waveform Generation Mode) se utilizan para seleccionar el modo de
operación, en este caso se usa modo normal, por lo tanto los bits tienen que estar en
cero.
Los bits CS (Clock Select) se utilizan para seleccionar el pre escalador del
microcontrolador.
16
(Mazidi, 2011)
79
Diseño del Prototipo
Se seleccionó un pre escalador de 8 par que cada ciclo de reloj dure 1µs y de esta
forma sea más sencillo estimar las distancias.
Para esto es necesario poner el bit CS01, la instrucción que configura la interrupción
por captura para flanco de subida es la siguiente.
TCCR1B=0x42;
TIMSK1|=(1<<ICIE1);
El diagrama de flujo de la figura 65, muestra el proceso que se sigue para medir el
ancho de pulso en alto de una señal PWM.
Interrupción temporizador 1
Por captura
Deshabilita interrupciones
globales
No
Reinicia el temporizador 1
80
Diseño del Prototipo
ISR(TIMER1_CAPT_vect)
{
if (PINB&(1<<PORTB0)) //Si ocurre un flanco de subida
{
TCCR1B=0x02; //Configuración interrupción por flanco de
bajada.
TCNT1=0; //Reiniciar el registro de
temporización.
}
else //Si ocurre flanco de bajada.
{
TCCR1B=0x42; //Configuración interrupción por flanco de
subida.
Reg_ICP=ICR1; //Almacena el valor del registro de captura
en la variable Reg_ICP.
}
}
81
Diseño del Prototipo
int main(void)
{
Configuración de Config_IO();
Inicio interrupción por teclado
PCINT0 (Para selección
Config_Timer0();
de modo)
Config_Timer2CTC();
Definición de etiquetas
Config_IntPB2();
Configuración de
interrupciones por Config_IntPC();
Definición de variables teclado PCINT1 (para
globales operaciones lógicas) Config_ICP();
Configuración de sei();
Espera inicio de
entradas y salidas memoria
_delay_ms(5000);
Configuración de Envía mensaje 7
temporizador 0 modo ISD1932(7);
normal (Para delay)
Medir batería while(1)
Configuración de {
temporizador 2 modo Medir_Bat();
CTC ( para Trigger de Selección de modo
Selecion_Modo();
HCSR04)
}
}
82
4. Pruebas y Resultados
Con el fin de verificar el correcto funcionamiento de los distintos módulos del prototipo
se realizaron una serie de pruebas.
El valor esperado para esta fuente era de 16 volts cuando se realizaron las pruebas
se registró una medición de 15.5 volts, como se muestra en la figura 66.
4.2. Circuito OR
Para probar el circuito OR, se utilizó una fuente de alimentación para simular las
diferentes combinaciones de CA-CD y Celda solar.
Pruebas y resultados
Una vez configurada la fuente, se realizó la prueba del circuito OR, contemplando
sólo la fuente de 12 volts, el resultado de la medición se muestra en la figura 68.
84
Pruebas y resultados
Finalmente se verificó el voltaje a la salida del circuito OR, conectando ambas fuentes
de alimentación al mismo tiempo, el resultado de la medición se muestra en la. Figura 70.
85
Pruebas y resultados
Estado
Voltaje esperado (V) Voltaje medido (V)
AC-CD Celda solar
OFF OFF 0 0
ON ON 15.58 15.82
86
Pruebas y resultados
16 5 4.9427
12 5 4.9423
Cuando se realizaron pruebas con las celdas solares, debido a los cambios en la
intensidad del sol, el voltaje que las celdas solares deberían de proporcionar cae, lo cual
sucede porque las celdas solares no están proporcionando la potencia suficiente en la
figura 73, se puede apreciar que, a pesar de la falta de potencia de las celdas solares el
circuito cargador de baterías funciona.
87
Pruebas y resultados
El circuito cargador de baterías tiene un LED que enciende cuando la batería se está
cargando, de esta forma se comprobó que las celdas solares estaban cargando la
batería, sólo que el tiempo de carga fue mucho mayor al esperado.
88
Pruebas y resultados
89
Pruebas y resultados
90
Pruebas y resultados
91
Pruebas y resultados
Originalmente se diseñó una PCB para el prototipo 0, que incluía el sistema completo
para el prototipo, incluyendo la sección del módulo de voz integrada al sistema, este
prototipo se muestra en la figura 81.
Debido a esto, ya que sólo la sección de control presento errores, y dado que la
sección de alimentación funcionaba correctamente, con el fin de no perder el ensamble
de ésta última, se decidió rediseñar la sección de control, esta vez se agregó la tarjeta
ensamblada del módulo de voz con el fin de reducir el circuito a su funcionamiento
básico, y de esta forma evitar errores reduciendo la complejidad del circuito. La placa del
sistema de control se muestra en la figura 83.
92
Pruebas y resultados
Cada pulso debe tener un ancho de pulso en alto de 24 micro segundos, los
resultados de la simulación se pueden apreciar en la figura 85.
93
Pruebas y resultados
94
Pruebas y resultados
Sensor 1
Sensor 2
Los resultados obtenidos del osciloscopio para esta prueba se muestran en la figura
98.
Como se puede apreciar la señal de echo del sensor uno muestra un duty cycle de
8.6 ms sustituyendo los valores en la ecuación 26 se obtiene una distancia de:
(40)
95
Pruebas y resultados
Después de realizar las mismas pruebas con los sensores ultrasónicos conectados al
microcontrolador se obtuvo la señal que se muestra en la figura 91.
Las dos primeras señales corresponden a las señales de echo de los sensores
ultrasónicos y la última señal corresponde a la señal de salida del microcontrolador, el
microcontrolador realizó la operación lógica de una compuerta AND, los resultados de la
simulación y de la medición concuerdan.
96
Pruebas y resultados
Para generar un flanco de bajada los pines del microcontrolador que se encargan de
reproducir los mensajes inicialmente deben estar en alto, esto fue verificado con la
simulación, la figura 92, muestra este comportamiento.
Para verificar el funcionamiento del retardo cada tres segundos se utilizó la señal del
mensaje selección de modo, ya que esta señal, se está repitiendo constantemente, la
medición de esta señal obtenida de la simulación se muestra en la figura 93.
97
Pruebas y resultados
Como se puede apreciar en la figura 93, la señal mantiene un nivel en bajo durante 3
segundos y un pulso en alto de 250ms.
98
Pruebas y resultados
99
Pruebas y resultados
Para verificar de forma física el funcionamiento del ADC, se sustituyó la batería por
una fuente de alimentación y se observó el comportamiento.
100
Pruebas y resultados
Después, se puedo verificar que cuando la batería se encuentra por debajo de los
limites, el prototipo es capaz de enviar el mensaje de batería baja sólo una vez, si la
batería tiene valores de voltaje correspondientes a los límites establecidos, el prototipo es
capaz de detectar este cambio y enviar el mensaje correspondiente al módulo de voz
sólo una vez.
101
Pruebas y resultados
Esto ocurre hasta que el toggle envía un flanco de subida a la interrupción externa
del microcontrolador, después, envía el mensaje de modo ayuda, lo cual se muestra en la
2.
102
Pruebas y resultados
Para este caso se modificó la señales que simula el eco de los sensores de tal forma
que ambas mantienen un pulso en alto equivalente a una señal enviada por el sensor
cuando se detecta un objeto lejano, por lo tanto el microcontrolador detecta un objeto
lejano y envía la señal correspondiente al módulo de voz esto se muestra en la figura
105.
103
Pruebas y resultados
104
Pruebas y resultados
105
Pruebas y resultados
Mensaje de estado de
Ok Funcionó correctamente.
batería
Mensaje selección de
Ok Funcionó correctamente
modo.
106
Pruebas y resultados
Cuando el sensor no detecta ningún objeto cercano envía una señal de máxima
distancia, cuando existen objetos lejanos pero con variaciones en los ángulos de
reflexión, o corrientes de aire el dispositivo puede confundir esto con una posible salida.
Para disminuir los errores por inestabilidad en los sensores se agregó un contador en el
modo escape, de tal forma que si se detecta un objeto lejano n cantidad de veces la
probabilidad de que exista una ausencia de objetos es mayor. El numero n fue
seleccionado de forma experimental.
107
5. Conclusiones y Recomendaciones
5.1. Conclusiones
Se construyó un prototipo de ayuda para la movilidad de personas ciegas, la función
principal de este prototipo es brindar mayor seguridad a las personas ciegas,
permitiéndoles detectar objetos a la altura de la cabeza y posibles salidas;
complementando así al bastón común para ciegos. Este prototipo se construyó del
tamaño y peso adecuado para poder ser llevado fácilmente en una gorra.
5.2. Recomendaciones
Algunas de las principales complicaciones del diseño se deben al tipo de micro
controlador que se utilizó, por ejemplo la cantidad de interrupciones por captura que el
ATMEGA contiene, en este caso el ATMEGA que se utilizó tiene sólo una interrupción
por captura y se requiere medir 2 o tres sensores por lo tanto se tiene que realizar un tipo
de procesamiento extra para realizar la medición de los sensores.
Otra de las limitaciones de este prototipo es que está integrado por módulos que
están armados, esto facilita el diseño, pero incrementa el costo y limita las
funcionalidades del prototipo. Para solucionar estos problemas se propone lo siguiente.
109
Conclusiones y recomendaciones
Sistema detector de
objetos.
Sistema para
cargar RS232 ICP
archivos
Memoria
SPI
EPROM
ATXMEGA
Amplificador
DAC
de audio
Periféricos
ADC capacitive
selección de
touch button
batería
C
Sistema de selección
Figura 108 – Diagrama de Bloques Prototipo con mejoras. [Imagen]. Creación propia.
110
Referencias
Libros
Mazidi, M. A. (2011). The AVR microcontroller and embedded system using assembly
and c. New Jersey: Pearson Education.
Revistas
Mims, F. (1974). ElectronicSensor Aid for the Blind. Popular Electronics, 59-63.
Raymond M. Fish, P. M. (1985). Electronic Aid for the Blind. Radio Electronics, 57-59.
Páginas de internet
Atmel. (2011). ADC of megaAVR in Single Ended mode. All rights reserved.
Jones, W. (2004, Febrero 01). IEEE.Org. Retrieved Junio 03, 2012, from
http://spectrum.ieee.org/biomedical/devices/sight-for-sore-ears
Vorvick, L. J. (2010, Julio 28). MedlinePlus Informacion de salud para usted. Retrieved
Mayo 28, 2012, from Ceguera y pérdida de la visión:
http://www.nlm.nih.gov/medlineplus/spanish/ency/article/003040.htm
112
Anexo A: Sensor HCSR04
Anexo A: Sensor HCSR04
114
Anexo B: Módulo de Voz ISD1932
Anexo B: Módulo de voz ISD1932
116
Anexo C: Esquemáticos
Esta versión contiene orificios alrededor de las placas, éstos están colocados para
poder coser las PCB a una gorra.
También se muestra el Top layer y el Bottom layer del PCB del prototipo 0.
Anexo C- Esquemáticos
118
Anexo C- Esquemáticos
119
Anexo C- Esquemáticos
120
Anexo C- Esquemáticos
121
Anexo C- Esquemáticos
122
Anexo C- Esquemáticos
123
Anexo C- Esquemáticos
124
Anexo C- Esquemáticos
125
Anexo C- Esquemáticos
126
Anexo C- Esquemáticos
127
Anexo C- Esquemáticos
128
Anexo C- Esquemáticos
129
Anexo C- Esquemáticos
130
Anexo C- Esquemáticos
131
Anexo C- Esquemáticos
132
Anexo C- Esquemáticos
133
Anexo C- Esquemáticos
Modelos 3D
134
Anexo C- Esquemáticos
135
Anexo C- Esquemáticos
136
Anexo C- Esquemáticos
137
Anexo C- Esquemáticos
138
Anexo C- Esquemáticos
139
Anexo D: Lista de Materiales
Anexo D: Lista de Materiales
141
Anexo D: Lista de Materiales
142
Anexo E: Hojas de Datos
Anexo E: Hojas de datos
144
Anexo E: Hojas de datos
145
Anexo E: Hojas de datos
146
Anexo E: Hojas de datos
147
Anexo E: Hojas de datos
148
Anexo E: Hojas de datos
149
Anexo E: Hojas de datos
150
Anexo E: Hojas de datos
151
Anexo E: Hojas de datos
152
Anexo E: Hojas de datos
153
Glosario
Glosario de Términos.
Analógico, analógica.- Una señal analógica es un tipo de señal generada por algún tipo
de fenómeno y que es representable por una función matemática continúa en la que es
variable su amplitud y periodo en función del tiempo.
Bits.- En informática y otras disciplinas, unidad mínima de información, que puede tener
solo dos valores (cero o uno).
Si el flujo sanguíneo se detiene por más de pocos segundos, el cerebro no puede recibir
nutrientes y oxígeno. Las células cerebrales pueden morir, lo que causa daño
permanente.
Circuito integrado.- Un circuito integrado (CI), también conocido como chip, microchip,
es una estructura de pequeñas dimensiones de material semiconductor, normalmente
silicio, de algunos milímetros cuadrados de área, sobre la que se fabrican circuitos
electrónicos generalmente mediante fotolitografía y que está protegida dentro de
un encapsulado de plástico o de cerámica. El encapsulado posee conductores
metálicos apropiados para hacer conexión entre el Circuito Integrado y un circuito
impreso.
Diodo zener.- El diodo Zener es un diodo de cromo que se ha construido para que
funcione en las zonas de rupturas, recibe ese nombre por su inventor, el Dr. Clarence
Melvin Zener.
Diodos Shottky.- El diodo Schottky o diodo de barrera Schottky, llamado así en honor
del físico alemán Walter H. Schottky, es un dispositivo semiconductor que proporciona
conmutaciones muy rápidas entre los estados de conducción directa e inversa (menos de
1ns en dispositivos pequeños de 5 mm de diámetro) y muy bajas tensiones umbral.
Eco.- El eco es un fenómeno acústico producido cuando una onda se refleja y regresa
hacia su emisor. Puede referirse tanto a ondas sonoras como a electromagnéticas. El
efecto acústico producido por la reflexión del sonido una vez acabada su primera
exposición.
Frecuencia.- Número de veces que aparece, sucede o se realiza una cosa durante un
período o un espacio determinados.
Glioma óptico.- Los gliomas son tumores que crecen en varias partes del cerebro.
155
Glosario de Terminos
LED.- Un LED (del acrónimo inglés LED, light-emitting diode: ‘diodo emisor de luz’) es un
componente optoelectrónico pasivo, más concretamente, un diodo que emite luz.
Muestreo El muestreo digital es una de las partes del proceso de digitalización de las
señales. Consiste en tomar muestras de una señal analógica a una frecuencia o tasa de
muestreo constante, para cuantificarlas posteriormente.
Neuritis óptica.- Es la inflamación del nervio óptico que puede causar una reducción
repentina de la visión en el ojo afectado.
156
Glosario de Terminos
PWM.- La modulación por ancho de pulsos (también conocida como PWM, siglas en
inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la
que se modifica el ciclo de trabajo de una señal periódica, ya sea para transmitir
información a través de un canal de comunicaciones o para controlar la cantidad de
energía que se envía a una carga.
157
Glosario de Terminos
Señal.- Una señal eléctrica es un tipo de señal generada por algún fenómeno
electromagnético. Estas señales pueden ser de dos tipos: analógicas, si varían de forma
continua en el tiempo, o digitales si varían de forma discreta.
Voltaje.- Es una magnitud física que cuantifica la diferencia de potencial eléctrico entre
dos puntos. También se puede definir como el trabajo por unidad de carga ejercido por el
campo eléctrico sobre una partícula cargada para moverla entre dos posiciones
determinadas. Se puede medir con un voltímetro.3 Su unidad de medida es el volt.
158