7
RELOJ DIGIITAL DE PARED Eduardo Israel Brito Vivanco [email protected] Eduardo Luis Campoverde Encalada [email protected] Luis Gerardo Hidalgo García [email protected] RESUMEN: El presente trabajo tiene como objetivo, describir el diseño y construcción de un reloj digital en formato de 24 horas, cuyo segundero se encuentra representado por leds. PALABRAS CLAVES: Reloj digital, Microcontrolador ATMEGA32, DS137. INTRODUCCIÓN Como parte de la materia de Sistemas Digitales y Microcontroladores, a continuación se presenta el desarrollo e implementación de un reloj digital de pared que posee como parte novedosa su segundero, mismo que se encuentra formado por 59 leds en lugar de dos displays de 7 segmentos, distribuidos en forma de circulo a lo largo del borde exterior de la placa . DESCRIPCIÓN GENERAL DEL PROYECTO El reloj digital que hemos desarrollado contiene cuatro displays de 7 segmentos ánodo común encargados de visualizar la hora y minutos en formato “HH:MM”, donde los “:” centrales son dos pequeños leds rojos. Para el funcionamiento del reloj en tiempo real se utilizó el circuito integrado DS1307. Los 59 leds colocados al borde de la placa realizan la función del segundero. El segundero se encuentra controlado mediante el clock de la salida que genera el DS1307. Esto es posible gracias a la utilización de un registro de desplazamiento construido a partir de 8 circuitos integrados 74LS164, donde la salida del DS1307 va a la entrada de reloj de cada registro, y el pin de “reset” es común para todos los registros. Además, el reloj contiene 3 pulsadores, que servirán para llevar a cabo la tarea de igualar tanto horas como minutos del dispositivo. MATERIALES UTILIZADOS Para el desarrollo de este proyecto utilizamos una lista extensa de materiales, sin embargo los componentes no resultaron ser costos. Los Materiales ocupados fueron: 8 circuitos integrados 74LS164. 59 resistores de 220Ω. 3 resistores de 10 kΩ. 3 resistores de 3.3 kΩ. 4 resistores de 4.7 kΩ. 1 circuito integrado DS1307. 1 microcontrolador ATMEGA32. 1 cristal de cuarzo de 32.768 kHz. 1 circuito integrado 74LS04 (compuerta NOT). 1 circuito integrado 74LS08 (compuerta AND). 1 condensadores electrolítico 1000 uF (1mF). 1 pila de 3V.

borrador_RELOJ DIGIITAL

Embed Size (px)

Citation preview

Page 1: borrador_RELOJ DIGIITAL

RELOJ DIGIITAL DE PARED

Eduardo Israel Brito [email protected]

Eduardo Luis Campoverde [email protected]

Luis Gerardo Hidalgo García [email protected]

RESUMEN: El presente trabajo tiene como objetivo, describir el diseño y construcción de un reloj digital en formato de 24 horas, cuyo segundero se encuentra representado por leds.

PALABRAS CLAVES: Reloj digital, Microcontrolador ATMEGA32, DS137.

INTRODUCCIÓN

Como parte de la materia de Sistemas Digitales y Microcontroladores, a continuación se presenta el desarrollo e implementación de un reloj digital de pared que posee como parte novedosa su segundero, mismo que se encuentra formado por 59 leds en lugar de dos displays de 7 segmentos, distribuidos en forma de circulo a lo largo del borde exterior de la placa .

DESCRIPCIÓN GENERAL DEL PROYECTO

El reloj digital que hemos desarrollado contiene cuatro displays de 7 segmentos ánodo común encargados de visualizar la hora y minutos en formato “HH:MM”, donde los “:” centrales son dos pequeños leds rojos. Para el funcionamiento del reloj en tiempo real se utilizó el circuito integrado DS1307.

Los 59 leds colocados al borde de la placa realizan la función del segundero. El segundero se encuentra controlado mediante el clock de la salida que genera el DS1307. Esto es posible gracias a la utilización de un registro de desplazamiento construido a partir de 8 circuitos integrados 74LS164, donde la salida del DS1307 va a la entrada de reloj de cada registro, y el pin de “reset” es común para todos los registros.

Además, el reloj contiene 3 pulsadores, que servirán para llevar a cabo la tarea de igualar tanto horas como minutos del dispositivo.

MATERIALES UTILIZADOS

Para el desarrollo de este proyecto utilizamos una lista extensa de materiales, sin embargo los componentes no resultaron ser costos.

Los Materiales ocupados fueron:

8 circuitos integrados 74LS164. 59 resistores de 220Ω. 3 resistores de 10 kΩ. 3 resistores de 3.3 kΩ. 4 resistores de 4.7 kΩ. 1 circuito integrado DS1307. 1 microcontrolador ATMEGA32. 1 cristal de cuarzo de 32.768 kHz. 1 circuito integrado 74LS04 (compuerta

NOT). 1 circuito integrado 74LS08 (compuerta

AND). 1 condensadores electrolítico 1000 uF

(1mF). 1 pila de 3V. 1 zócalo para pila CR-2032. 1 zócalo para el ATMEGA 32. 8 zócalos para los circuitos integrados

74LS164. 1 zócalo para la el circuito integrado 74LS04. 1 zócalo para la el circuito integrado 74LS08. 4 displays de ánodo común C-1021H de

Paralight. 62 leds rojos de 5mm. 3 pulsadores. 4 transistores 2N3904.

Figura 1. Componentes del reloj digital

Page 2: borrador_RELOJ DIGIITAL

DESCRIPCIÓN DE LOS COMPONENTES

Microcontrolador ATMEGA32: Dispositivo electrónico encargado de llevar a cabo todas las tareas necesarias para las que fue programado. Para el desarrollo de este trabajo las tareas fueron: la habilitación y multiplexión de los displays para permitir la visualización del tiempo en éstos, y la comunicación I2C entre éste y el DS1307.

Circuito Integrado 74LS164: Es un registro de desplazamiento de 8 bits con entrada en serie y salida en paralelo (síncronas) y una entrada de borrado asíncrona CLK, activa para nivel bajo. Posee 14 pines, de los cuales 2 son entradas en serie, 1 y 2, que acceden a los biestables tras efectuarse una operación NAND sobre ellas, por lo tanto, o bien entra la misma señal por ambas, o bien una de ellas se mantiene siempre en alto para permitir la entrada de datos. Los 8 pines de salida del integrado son en paralelo, y la señal de reloj CLK que marca el tiempo que se adjudica a cada bit en serie (un ciclo de reloj), es externa y en nuestro caso proviene de la salida del DS1307.

Circuito Integrado DS1307: Es un reloj de tiempo real exacto, el cual automáticamente, proporciona el tiempo y la fecha actual. Consta de 8 pines al que se le conecta un cristal de cuarzo estándar de 32.768kHz entre los pines 1 y 2 para proveer tiempo base exacto. Opcionalmente se le puede conectar al pin3, una batería de respaldo de 3 volt, asegurando que se mantendrá el tiempo y la fecha aun cuando este desconectada la fuente de tensión del circuito principal. El circuito integrado automáticamente detecta que se ha removido la energía en el circuito principal y se conecta la batería de respaldo cuando es requerido. El pin 7 es una salida de colector abierto, responsable de generar la señal de reloj que ingresa al 74LS164, y adicionalmente, puede ser programado para hacer “flash” cada 1Hz, lo que permite la colocación de un led como indicador de segundos en aplicaciones de reloj.

Circuito Integrado 74LS04: Circuito que contiene 14 pines, con seis compuertas NOT, de los cuales 6 son entradas y las otras seis resultan ser las entradas negadas. Dentro de este proyecto se hizo uso de este integrado para el reseteo de los leds una vez que se encuentran encendidos los 59, la salida del último va a una de las entradas de este integrado y la salida de éste a una de las entradas del integrado 74LS08, que al tratarse de una compuerta AND su salida será un 0 lógico que se envía al “reset” común de los registros de desplazamiento 74LS164, y así permitir que pasado 1 minuto empiece de nuevo el encendido de los leds (segundero).

Circuito Integrado 74LS08: Circuito que contiene 14 pines, con cuatro compuertas AND de dos entradas cada una. Una entrada es la proveniente de la salida del integrado 74LS04 (compuerta NOT) y

la otra de la acción de presionar el primer pulsador. Por lo tanto, la salida de esta compuerta será un 0 lógico siempre que se encuentren los 59 leds encendidos o cuando presionemos el primer pulsador, reiniciando el encendido de los leds.

Cristal de cuarzo de 32.768 kHz: Oscilador utilizado para cualquier sistema de reloj/calendario en tiempo real. Este oscilador combina la unidad de cristal de 32.768 kHz con el circuito oscilador CMOS basado en un paquete SMD de cerámica en miniatura. Posee potencias muy bajas con el consumo de energía en el orden de los 250nA.

Transistor 2N3904: Transistor BJT NPN utilizado generalmente para amplificar voltajes o usos de la conmutación. Para el desarrollo del reloj se lo ocupó para amplificar el voltaje Vcc requerido por los displays, y así tener una mejor visualización de la hora que emite el reloj.

Condensador electrolítico de 1mF:

Responsable de filtrar y estabilizar la señal de entrada del microcontrolador para evitar que este dispositivo se resetee cuando se produzcan cambios bruscos en la señal de ingreso.

Displays de 7 segmentos ánodo común: Utilizados para la visualización del tiempo proporcionado por el reloj, existiendo 4 de estos elementos para la visualización tanto de horas como minutos. Al ser ánodos común sus entradas son activas en bajo y necesitan de Vcc, que en este caso procede de la configuración de amplificación de voltaje del transistor.

Leds: utilizados para la visualización de los segundos del reloj; así como los puntos que dividen los displays de horas con los de minutos.

Resistores: Los resistores de 220Ω se los utilizó para limitar la corriente que atraviesa a los leds del segundero y así alargar su tiempo de vida útil. Los resistores de 10kΩ se los ocupó para asegurar el cero lógico de los pulsadores (tierra). Mientras que los resistores de 3.3 kΩ se los ocupó en los pines de comunicación I2C entre el microcontrolador y el DS1307. Finalmente, Los resistores de 4.7 kΩ se los empleó en la base del transistor del diseño de amplificación de voltaje.

Pulsadores: existen 3 dentro de este dispositivo y son los responsables del ajuste de hora.

Pila de 3V: Fuente de respaldo que proporciona la energía necesaria para que el DS1307 siga funcionando en caso de producirse algún fallo o desconexión de la fuente de alimentación principal. Esto evita tener que volver a poner en hora el Reloj cada vez que lo desenchufemos de la red eléctrica.

CIRCUITO DEL RELOJ DIGITAL

Page 3: borrador_RELOJ DIGIITAL

a. DISEÑO EN PROTEUS

El diseño del circuito del reloj se lo realizó en el programa Proteus. A continuación se muestra su diseño con los distintos componentes que ocupamos:

Figura 2. Diseño del reloj en Proteus

b. DESCRIPCIÓN DEL DISEÑO

El diseño del reloj digital posee un microcontrolador ATmega32, cuyos pines C.0 y C.1 son los pines de comunicación I2C entre el micro y el DS1307.

En el DS1307, los pines 1 y 2 se encuentran conectados al cristal de 32.768 kHz, mientras que el pin 3 se encuentra conectado a la pila de 3V. El pin 7 que es la señal de reloj va al pin 8 de cada registro 74LS164, para de esta forma producir el conteo progresivo de los 59 leds.

Los registros de desplazamiento 74LS164 poseen los pines del 3-6 y del 10-13 como salidas para el encendido de los leds, tomando en cuenta que la salida 13 de cada registro es la entrada 1 y 2 del próximo (conexión en cascada). El pin 9-“reset” y activo en bajo, se encuentra conectado de manera común para todos los registros de tal forma que la salida después del último led se la conecta al 74LS04 para que a la salida de esta compuerta NOT se tenga un 0 lógico que permitirá que se reseteen todos los registros y empiece de nuevo el conteo de los segundos.

Para la visualización de la hora, los displays correspondientes a los minutos se encuentran conectados al puerto D del micro, y los responsables de las horas están conectados al puerto B. Por lo que al estar conectados de tal forma, se requiere multiplexarlos. El Vcc de cada display proviene de la configuración de amplificación de voltaje de los

transistores; teniendo en cuenta que el voltaje de ingreso para dicha configuración procede de los pines A.3-A.6 del micro.

Los pulsadores desempeñan funciones distintas en el ajuste de hora del reloj. El primero conectado al pinA.7 es el encargado de enviar la orden al micro para ajustar el tiempo, el segundo conectado al pinA.1 es el encargado de igualar minutos, y el tercero conectado al pinA.0 es el responsable de igualar horas; manteniendo para ambos casos presionado el primer pulsador.

c. DISEÑO EN ARES

Para la elaboración del circuito del reloj en la baquela se convirtió el diseño de simulación de Proteus al diseño de elaboración del Ares. El resultado de ello se muestra a continuación:

Figura 3. Diseño en Ares

ELABORACIÓN DE LA PLACA

a. CIRCUITO IMPRESO

El circuito impreso que alberga toda la lista de materiales antes citados mide 20cm de diámetro y se encuentra impreso en un PBC de una faz.

Page 4: borrador_RELOJ DIGIITAL

Figura 4. Circuito impreso

El tamaño de la placa impresa se debe a la forma circular en la que se colocaron los leds, asemejándose a la aguja de del segundero de un reloj analógico.

b. MONTAJE Y BAQUELA

Al momento de colocar los componentes sobre la placa y soldarlos se consideró en primera instancia soldar los puentes que tuvo nuestro diseño. Luego, los zócalos de diferentes integrados utilizados.

Realizado ello, se soldó los transistores, el capacitor, el cristal de cuarzo, los resistores utilizados en la configuración de ganancia de voltaje y los resistores colocados DS1370. Luego los 4 displays que muestran la hora. Finalmente, se colocó los leds con sus resistores.

Figura 5. Reloj Digital

SOFTWARE

Para el desarrollo del software de funcionamiento del reloj digital se utilizó el programa CodeVision AVR. A continuación se presentan las distintas subrutinas que componen el programa general:

Directivas Preprocesador

#include <mega32.h>#include <delay.h>

// I2C Bus functions para comunicación I2C#asm .equ __i2c_port=0x15; PORTC .equ __sda_bit=1 .equ __scl_bit=0#endasm#include <i2c.h>

// DS1307 Real Time Clock functions#include <ds1307.h>

Declaración de Variables Globalesunsigned char min1, min2, hora1, hora2;unsigned char h, m, s;

Subrutina de Visualización de Números

int decodificador (int a)switch(a)case 0x00: a=0b01000000; //visualiza el 0break;case 0x01: a=0b01111001; //visualiza el 1break;case 0x02: a=0b00100100; //visualiza el 2break;case 0x03: a=0b00110000; //visualiza el 3break;case 0x04: a=0b00011001; //visualiza el 4break;case 0x05: a=0b00010010; //visualiza el 5break;case 0x06: a=0b00000010; //visualiza el 6break;case 0x07: a=0b01111000; //visualiza el 7break;case 0x08: a=0b00000000; //visualiza el 8break;case 0x09: a=0b00010000; //visualiza el 9break;return a;

Subrutina para Multiplexar los Displays

Page 5: borrador_RELOJ DIGIITAL

Por medio de ella multiplixamos tanto los displays correspondientes al minutero como los displays pertenecientes al horero. Las variables ds4 y ds3 pertenecen a los minutos mientras que las variables ds2 y ds1 a las horas.

void presentar(int ds4, int ds3, int ds2, int ds1)

PORTA.3=1;PORTD=decodificador(ds4);delay_ms(5);PORTA.3=0;

Multiplexeo de dePORTA.4=1; minuteroPORTD=decodificador(ds3);delay_ms(5);PORTA.4=0;

PORTA.5=1;PORTB=decodificador(ds2);delay_ms(5);PORTA.5=0;--------------------------------------Multiplexeo _______________________________ de horeroPORTA.6=1;PORTB=decodificador(ds1);delay_ms(5);PORTA.6=0;

FUNCIÓN PRINCIPAL

void main(void)//Habilitación de los puertos como entradas y salidasPORTA=0x00;DDRA=0x3C;

Salidas para los displaysPORTB=0x00;DDRB=0xFF;

PORTC=0x00; Para la comunicación DDRC=0xFC; I2C

PORTD=0x00;DDRD=0xFF;

// I2C Bus initializationdelay_ms(10);i2c_init(); //inicia la comunicación I2Cdelay_ms(10);rtc_init(0,1,0); //inicia comunicación con eldelay_ms(10); DS1307 con la salida de reloj a una Frecuencia de 1HZ.rtc_set_time(0,0,0); delay_ms(10);

while (1)

while(PINA.7==1) if(PINA.0==1) h++; if(h==24) //Para igualar horas h=0; if(PINA.1==1) m++; if(m==60) //Para igualar minutos m=0;

delay_ms(200); rtc_set_time(h,m,0); rtc_get_time(&h,&m,&s); min2=m/10; min1=m%10; hora2=h/10; hora1=h%10; presentar(hora2, hora1, min2, min1); ------ //presenta hora igualada en los displays rtc_get_time(&h, &m, &s); min2=m/10; min1=m%10; hora2=h/10; hora1=h%10; presentar(hora2, hora1, min2, min1); ___ //presenta tiempo real en displays ;

CONCLUSIONES:

Con la elaboración de este trabajo se pudo poner en práctica los conocimientos adquiridos durante este ciclo, a más, de lograr destrezas en el manejo programas tales como CodeVsion, Proteus y Ares.

Con el desarrollo del proyecto se aprendió a utilizar el bus de comunicación I2C, que permite que exista comunicación entre el microcontrolador y el circuito integrado DS1307 que es un reloj de tiempo real el cual automáticamente, proporciona el tiempo y la fecha.

La utilización del circuito integrado 74LS164 nos permitió ahorrar pines del microcontrolador, pues al tratarse de un registro de desplazamiento de 8 bits, se obtuvo por cada dispositivo 8 salidas que al estar en sincronía con la señal de reloj enviada por el DS1307, permite visualizar el conteo de los segundos..

Page 6: borrador_RELOJ DIGIITAL

RECOMENDACIONES:

Al momento de armar el circuito en Protoboard, se debe ir implementando sección por sección del circuito. Para así probar fase por fase el funcionamiento del mismo, y poder solucionar los inconvenientes que se produzcan.

A la hora de colocar la baquela en el ácido de

percloruro férrico se debe tener en cuenta el tiempo que ésta se la deja en el ácido, para evitar que se borren las pistas.

Antes de soldar la placa, se debe verificar si las pistas no se han borrado y de serlo así se debe acomodarlas.

Una vez soldados los distintos componentes, se debe verificar la existencia de continuidad entre los caminos que conectan a los elementos.