reloj audible

10
Instituto Tecnológico de Querétaro Ingeniería Mecatrónica Electrónica Digital RELOJ DIGITAL CON VOZ Equipo: Héctor Noguez Cruz Francisco Javier Iñiguez Lomelí 06/12/2013

Upload: hector-noguez-cruz

Post on 30-Jul-2015

510 views

Category:

Documents


0 download

TRANSCRIPT

Instituto Tecnológico de Querétaro

Ingeniería Mecatrónica

Electrónica Digital

RELOJ DIGITAL CON VOZ

Equipo:

Héctor Noguez Cruz

Francisco Javier Iñiguez Lomelí

06/12/2013

Introducción

Se planteó como implementar un reloj digital audible utilizando cualquier tipo de componente que

no fuese un micro controlador. El reloj en cuestión debía reproducir el mensaje de las horas

actuales cada vez que se realizara el cambio de horas, todo sincronizada mente y sin

desfasamientos. Todo esto con el fin de aplicar lo que sabemos en un proyecto, además de

aprender a utilizar dispositivos de almacenamiento de audio.

Marco teórico

Antecedentes:

Encontramos realizaciones de contadores conectados en cascada, que realizarían el conteo que

deseábamos, para implementar primeramente el circuito del reloj, por el lado del audio no se

tenía mucho conocimiento de cómo se podría implementar.

Bases teóricas:

Basándonos fundamentalmente en la información que nos proporcionaba la datasheet de cada

componente que utilizamos, se comenzó a traducir y comprender como podríamos conjuntarlos

para tener el funcionamiento que necesitábamos, se realizó una simulación respectiva del circuito

del reloj, en software multisim , principalmente se conoció a fondo el funcionamiento de la

memoria ISD2560.

Hipótesis:

Conjuntado lo que fue nuestro circuito funcional con contadores los cuales realizarían el conteo

respectivo de segundos horas y minutos, este conteo sería visualizado en displays de 7 segmentos

con la ayuda de decodificadores, cada conteo como se conoce debería reiniciar en cuanto tanto

segundos y minutos en sus respectivos contadores llegaran a una cuenta de sesenta, siendo en el

caso de las horas reiniciando su conteo cuando se cumplían las veinticuatro horas, la reproducción

del audio debía ser sincronizada, en cuanto nuestro contador de horas realizara un cambio de

unidades, indicándonos fonéticamente la hora a la cual se encontraba por medio de la grabaciones

correspondientes que se realizaron en la memoria de audio ISD2560.

Sistema de variables:

Las variables con las que se contó en el sistema era el tiempo en cual eran contados los segundos

por medio de un circuito de un 555, el almacenamiento momentáneo en los contadores, donde los

números eran de cuatro bytes, tanto para unidades y decenas, las localizaciones del audio en la

memoria ISD2560 de cada hora.

Operación de variables:

El conteo inicial de los segundos proporciona la condición del cambio de minutos y

respectivamente la de minutos con horas, cuando se contaba en el contador con el número

sesenta el cual se representaba con un número de ocho bytes, por los contadores de unidades y

decenas de segundos y horas, se realizaba el cambio a minutos y de igual manera cuando se

cumplían sesenta unidades en minutos el cambio se transfería a las horas, mandando una señal en

la memoria ISD2560 la cual tomaba la localidad que era obtenida por los contadores de unidades y

decenas, y reproducía la hora en la cual el reloj realizaba su presente cambio.

Material

Reloj:

Contadores de década DM74LS90 (dos para segundos, dos para minutos ).

Contadores 74HCTLS192 (dos para las horas).

Compuertas AND y NOT (o aplicar la función de reset en una Gal).

Push button

Decodificadores de binario a siete segmentos DM74LS47

4 display de ánodo común.

24 resistencias de 330 ohms

Resistencias de 1k (las necesarias para evitar unos falsos en tus componentes)

Un NE555 ( un capacitor de 100 uF, un capacitor de 0.1 uF, una resistencia de 1.2 k y 6.6k;

esto es opcional pues es para el control del 555)

Parte de audio:

Un micrófono

Una bocina de 8-16 ohms

Capacitores electrolíticos de:

0.1uF (4)

22 uF (1)

220 uF (1)

4.7 uF (1)

Capacitor de 0.1 uF cerámico.

Resistencias de:

10k (2)

100k

5.1k

1k

470k

Memoria ISD2560

Memoria EEPROM 2864.

Resistencias d 1k para evitar unos falsos en las entradas de la memoria

Push button

Desarrollo

1. Lo primero que hicimos fue armar el circuito del 555 de la siguiente forma:

Para que nos diera los ciclos de 1 segundo es decir una frecuencia de 1 Hz.

Conectado de acuerdo a su datasheet:

2. Después se conectaron los contadores 74ls90 y los decodificadores 74ls47 de la siguiente

manera:

Sólo falta explicar que, la señal de 5 V remarcada en la imagen es la conexión de la salida de la

señal del 555 y que cada entrada del display lleva su respectiva resistencia de 330 (ya que son

display de ánodo común) para no fundir los leds.

3. El siguiente paso es hacer el reset forzado y el auto reset, comenzaremos con auto reset

cada 60 segundos:

Se generó la función de maxterms A'BCD'E'F'G'H', dado que las salidas de señal de los contadores

iban a ser cuatro de cada contador dando una tabla de verdad donde solo el numero 01100000

( que separándolo en números de 4 bits nos da los números 6 y 0 o viéndolo como un solo número

de 8 bits da el numero 96) iba a dar un 1 lógico que iba a ser el pulso de auto reset.

La salida de esta función se conectó a los pines de reset de los dos contadores para que se

reiniciara automáticamente a cero, al contar 60 segundos.

El reset forzado es aún más simple:

Solo se implementa una función and de la siguiente forma

Esto es para reiniciar tus contadores a voluntad con un push button . conectando la salida de esta

función a las entradas de reset ( las entradas de set se mandan directas a tierra para que no

influyan en nuestro circuito.

4. Se trata de hacer el contador de minutos, este paso es simplemente recrear todo el paso 3

y dos solo que ahora en la entrada del primer contador en lugar de conectar la salida del

555, se conecta la salida de nuestra función negada de reset a la entrada del contador

pues el conteo lo detecta en flanco de bajada.

Quedando un circuito de la siguiente forma:

Anexo:

5. En este paso vamos a hablar específicamente del contador de las horas:

Esta parte se puede hacer con contadores 7490, pero decidimos hacerla con 74192, por la

propiedad que poseen de poder elegir en que numero se resetean.

Aquí se aprecia la forma de conexión las entradas A,B,C,D, son las que te determinan en que

numero deseas reiniciar, load es para cargar este número, clear es nuestro reset, up y down es el

tipo de conteo ascendente o descendente, en nuestro caso es ascendente de QA-QD son las

salidas del contador mientras las salidas restantes son las del acarreo para conectar en cascada el

siguiente contador.

La conexión a los decodificadores es igual que en los casos anteriores así que no la pondré

nuevamente, lo que cambia ahora es nuestra función de reset automático ya que el reset forzado

si es igual a los casos anteriores. Para este caso se usara la función, A’B’CD’E’FG’H’ para que al

igual que en los anteriores se reinicie en 0010-0100 (2-4) ó 36 como numero completo.

Al igual que con los segundos, este circuito se alimenta con la salida de la función negada del reset

de los minutos. Y esta función controla los el reset automático como el forzado.

6. Se arma el siguiente circuito para la memoria ISD recordando que la memoria es sensible a

la estática.

Llamado modo push button en la datasheet. Para grabar se pone la entrada P/R a tierra, la

entrada PD siempre a tierra y y el push presionado, para reproducir lo grabado solo se cambia la

entrada P/R a alto y se pulsa el botón una vez.

7. Checar las localidades ocupadas de la memoria pues con esas combinaciones serán

llamadas las “voces” no hay otra forma de hacerlo mas que probando distintas

combinaciones.

8. La memoria EEPROM se programa de acuerdo a las funciones que necesites de entrada y

salida, por ejemplo si tu voz 1 quedo grabada de la localidad 0000000000 (porque la

memoria tiene 10 entradas) hasta la 0000000111, el siguiente mensaje deberá ser

grabado en la localidad 0000001000, y con ese numero será “llamada” entonces si cuando

nuestros contadores mandan el 0000000000 queremos que se escuche la voz guardada

en 0000001000 por ejemplo debemos formar una función con la eprom para que cada que

llegue 00000000, la salida sea 0000001000, asi con todas las funciones. Tomando en

cuenta que la lectura de la eeprom la hace antes del cambio, es decir nosotros la

desfasamos para que dijera el número al que iba a cambiar no el número anterior , se

puede realizar esto o un retardo .

9. Para activar la memoria ISD se debe sustituir la lavor del push button con una función , la

cual se toma directamente de la que lleva el contador de las horas o lo que es lo mismo la

función de reset del minutero.

10. Por último se conecta todo y se alimenta con dos fuentes el reloj y el circuito de voz para

evitar que se roben potencia uno a otro.

Conclusión.

La realización del proyecto se tornó complicada, ya que algunos componentes no realizaban

adecuadamente funciones así como problemas comunes de demanda de corriente y falta de

potencia en secciones del circuito, la utilización de la memoria ISD, como el poderla obtener y su

costo actual en el mercado fue un contratiempo, la interacción del circuito del reloj con la

memoria fue el problema mayor con el que nos encontramos ya que no podíamos realizar que la

memoria reprodujera cuando nosotros lo necesitábamos, pero a fin de cuentas se realizó el

objetivo de poner todo en sincronía y resolver los problemas que surgían y sacar adelante el

proyecto y los resultados fueron satisfactorios al final. También el tiempo fue un factor

determinante y la falta de equipo disponible puesto que pudimos ahorrar espacio realizando las

funciones en memorias Gal pero no disponíamos del programador y comprar memorias EEprom

resulta costoso.

Resultados