in

Reloj digital parte 1 (de 3)

Abordaremos la construcción de un reloj digital muy especial, ya que entre sus características se encuentran la de contar con la función termómetro, y el disponer de dígitos gigantes, por lo que se puede utilizar en salones de venta, comercios, etc.Las características mas sobresalientes de este reloj son: dígitos formados por diodos LEDs, de un tamaño aproximado a los 7 centímetros de alto, pero fácilmente ampliables; función termómetro, con la posibilidad de agregar la función de lectura de la temperatura exterior; y la posibilidad de utilizar el display construido para otras funciones, como por ejemplo, un dispensador de turnos, etc.
Como el corazón del proyecto es un microcontrolador, la posibilidad de ampliar las funcionalidades del reloj son enormes, muchas veces solamente modificando el software que lo controla.
Debido a que se trata de proyecto que reviste cierta complejidad, hemos dividido el artículo en tres partes. Intentaremos brindar toda la información necesaria sobre el funcionamiento del reloj, y de los componentes implicados, de manera que los interesados puedan modificarlo para adaptarlo a sus necesidades.

Efectivamente, el concepto de “divide y vencerás” es muy útil en electrónica. En este caso, tendremos una placa que contendrá todos los LEDs que forman el display, y unos pocos componentes destinados a manejarlos; una segunda placa se encargara del manejo del encendido y apagado de cada uno de los segmentos que forman los dígitos del display y de memorizar el valor representado en el; y la tercera placa sea la que controle la generación de los datos a mostrar, leer el sensor de temperatura, proveer un sistema para el ajuste de la hora y los minutos, etc. Cada una de estas partes tiene el potencial de ser empleada en otro proyecto.
El display en si consta de cuatro dígitos de 7 segmentos, con los que se pueden representar los dígitos del “0” al “9” y algunos caracteres, con dos puntos entre cada par de dígitos, para poder mostrar con su parpadeo que el reloj esta efectivamente funcionando.
Si bien comercialmente es posible encontrar displays de 7 segmentos, incluso de tamaños respetables, hemos decidido construir nosotros mismos los dígitos, de manera que podamos lograr el tamaño que deseemos, manteniendo un coste realmente bajo, y a la vez nos sirve de excusa para explicar varios conceptos teóricos. Los segmentos de cada digito se conforman mediante varios LEDs conectados en serie, manejados por un transistor capaz de proveerlos de la corriente necesaria para que enciendan.
Este display sera el encargado de mostrar la hora en formato “HH:MM” y la temperatura (formato “TT º”).
Para manejar la placa del display, utilizaremos un esquema circuital denominado “registro de desplazamiento”, sobre el que ya hemos hablado en NeoTeo, por lo que recomendamos leer el artículo citado en los links que acompañan esta nota. Dicho circuito tiene la ventaja de permitirnos manejar el display mediante solo 4 líneas de control, en lugar de las 29 necesarias si encendiéramos cada segmento en forma individual. Las líneas empleadas conforman un control de tipo serial, mediante una señal que provee pulsos de reloj (llamada CLOCK), otra que entrega los datos propiamente dichos (DATA), una línea de RESET para limpiar el display, y otra que hemos denominado “ON/OFF”, destinada a apagar unos milisegundos el display para que al escribir los datos en el no se perciba ningún tipo de parpadeo.
Por último, y a pesar de su pequeño tamaño, la tercera placa es la más importante del proyecto. Destinada a albergar el microcontrolador que gestiona todas las funciones del proyecto, el sensor de temperatura y los pulsadores de ajuste, se conectara a la controladora del display mediante un cable plano.
El microcontrolador seleccionado ha sido el PIC 16F628A de Microchip, debido a su bajo costo, cantidad de memoria disponible, y numero de pines de I/O. Lo dotaremos de un cristal de 4MHz, aunque este microcontrolador puede funcionar perfectamente sin un clock externo, para dotar de mayor precisión a nuestro reloj.

Existen varios transductores de temperatura que pueden realizar la tarea mencionada. Entre los mas conocidos y utilizados están las termocúplas, que consisten en un par de metales que al ser sometidos a una temperatura determinada generan un pequeño potencial que puede ser leído. Este tipo de sensores tienen la gran ventaja de un amplio rango de temperaturas de trabajo, capaces de medir valores superiores a los 1000ºC, pero debido a su falta de linealidad no resulta apropiado para nuestro proyecto.
Otro sensores muy comunes son los que mediante una unión PN pueden variar una tensión en unos pocos milivoltios por grado centígrado. Quizás el exponente mas común de este tipo de transductores sea la familia de sensores LM35, LM 335, etc., que entregan una tensión se 10mV/ºC. Pero tiene la desventaja de necesitar de un conversor A/D para que el microcontrolador pueda interpretar esa variación de tensión como una temperatura.
La solución a nuestro problema viene de la mano de un sensor de Dallas Semiconductor, cuyo código es DS1820. Este circuito integrado, a pesar de su reducido tamaño y de tener solo tres terminales posee una serie de características que lo hacen ideal para este proyecto. Dentro de la pequeña capsula se encuentra un sensor de temperatura, un conversor analógico digital, y una interfaz capaz de entregarnos el dato de la temperatura leída en forma serial, utilizando un bus propietario de la empresa, denominado 1-wire, justamente por utilizar solamente un conductor para leer/escribir en el sensor. Puede sonar extraño la palabra “escribir” asociada a un sensor de temperatura, pero esta pequeña maravilla incluye una pequeña memoria EEPROM en la que podemos guardar algún dato de interés (por ejemplo, una temperatura máxima, mínima, etc.)
A todo esto se suma la posibilidad de incluir varios sensores sobre la misma línea de datos, de manera que con solo tres cables (dos de alimentación y uno de datos) se puede leer la temperatura de varios sensores.

Como dijimos, el display dispone de cuatro dígitos de 7 segmentos cada uno. Para resolver el problema del tamaño de los dígitos, utilizaremos varios LEDS comunes, redondos o rectangulares, del color que nos guste (nosotros elegimos el rojo) para armar los segmentos, y de esta manera, modificando el numero de LEDs o su separación, construir el display del tamaño que queramos. Desde aquí los alentamos a modificar el circuito para adaptarlo a sus necesidades, y para ello les daremos toda la información necesaria
El elemento base de nuestro display es el segmento. Con siete de ellos, en las posiciones adecuadas, podemos representar cualquier digito. Como se puede ver en la figura 1, para encender un led hace falta que lo atraviese una corriente determinada en el sentido correcto. No todos los LEDs funcionan con la misma tensión y corriente, pero podemos asumir valores promedios para realizar los cálculos, y en todo caso, el lector puede consultar la hoja de datos correspondiente a los LEDs que vaya a usar para adecuar los valores de las resistencias empleadas. Tomaremos un valor de 15mA para la corriente que necesitara un LED para encender. El sentido de circulación de esta corriente por dentro del LED debe ser desde el ánodo hacia el cátodo para que este se ilumine, por lo que el ánodo se conectara al positivo de la fuente, y el cátodo al negativo. También supondremos que la caída de tensión en cada diodo LED es de unos 2V, aunque esto varía un poco de un modelo a otro.
Como el valor de la tensión de nuestra fuente de alimentación será superior a 2V deberemos incluir una resistencia limitadora en serie. El calculo de su valor se realiza mediante la formula que acompaña la figura 2, y para una fuente de 12V, debe tener un valor de 666.66 ohms. Tal como se explica en el artículo correspondiente (ver links), las resistencias no se fabrican de todos los valores posibles, así que deberemos utilizar el valor comercial más cercano, que para este caso es de 680 ohms.
Ahora bien, todo lo explicado es correcto para encender un LED, pero nuestro segmento, para ser visible debe una gran distancia debe constar de al menos 3 o 4 de ellos. El número elegido de LEDs se conectan entre si en serie, el cátodo de uno unido eléctricamente al cátodo del siguiente, y así sucesivamente. Esto significa que la corriente que los atravesara a todos será la misma, y el voltaje aplicado deberá ser mayor que la tensión necesaria en cada uno (los mencionados 2V) por el número de LEDs utilizados.
La figura 2 tambien muestra la manera de conectar tres LEDs en serie, y la formula necesaria para calcular la resistencia limitadora de corriente. Si el lector decide utilizar segmentos con mas cantidad de LEDs, deberá recalcularla introduciendo en la formula los valores adecuados. En el caso de usar una fuente de alimentación de 12V como la de nuestro proyecto, la resistencia necesaria será de 400 ohms. Nuevamente, al buscar en un catalogo vemos que el valor mas cercano disponible es de 390 ohms, y es el que en la practica emplearemos.

En este punto, debemos que recordar que el display se controlare mediante una placa que implementa un registro de desplazamiento, por lo que utilizaremos un sistema que permita apagar los dígitos en aquellos momentos en que estemos escribiendo datos en el shift-register, y no aparezcan “cosas raras” en el display.
Dicho sistema consiste simplemente en una serie de transistores, uno por digito, que actuara como una llave que encienda o apague todos los segmentos del digito elegido cuando lo deseemos, mediante una señal especifica.
En este proyecto, todos los dígitos se encenderán y apagaran al mismo tiempo, por lo que los transistores conmutaran todos al mismo tiempo. No obstante, dadas las características educativas que tiene el mismo, no los hemos conectado de manera fija entre si, si no que los cablearemos sobre el circuito impreso. De esta manera, si decidimos utilizar el display en otro proyecto que necesite que algunos dígitos enciendan en forma individual, podremos hacerlo.
Explicado en términos simples, un transistor puede ser visto como un dispositivo de tres pines, donde la corriente que se aplica a uno de ellos, denominado “base”, controla una corriente mayor entre sus otros dos terminales, llamados “emisor” y “colector”. Esta es una gran simplificación de lo que es un transistor, pero es suficiente para entender la función que cumple en este circuito. La primer figura al final de esta pagina nos muestra la manera de conectar un transistor para encender los tres leds de un segmento. T1 es un transistor PNP. Cuando la base de T1 esta puesta a masa (un 0 lógico) y el cátodo del último LED al negativo de la fuente los LEDs se encenderán. Las resistencias conectadas a la base del transistor limita la corriente que deberá entregar el pin del microcontrolador, y “R” se calcula tal como lo explicamos antes.
Por ultimo, la segunda figura muestra el esquema eléctrico completo del display.

También pondremos a su disposición los archivos necesarios para que puedan imprimir los PCB (circuitos impresos) con el método ya explicado en Neoteo (ver links), y los esquemas eléctricos restantes.
La tercer nota de la serie será la encargada de mostrar como construir la placa controlador, y el software encargado de controlar todo el proyecto. Hasta entonces.

Reportar

¿Qué te pareció?

Escrito por Ariel Palazzesi

41 Comments

Leave a Reply
  1. mi comentario es el siguiente estoy por graduarme de tecnico profecional en electronica y tengo que presentar un proyecto escogi un turnero digital pero no e podido encontrar el quemador de pic micro 16f84A hice uno pero solo sirve es par 16f84 sin la (A) sera que me puedn colaborar con este quemador. gracias por entender las opiniones de los usuarios

  2. A un amigo mío le interesa mucho los relojes y me gustó muchisimo este curso y se lo envié. Él quisiera saber si tienen un curso de relojería porque le gusta coleccionar relojes y quisiera poder arreglarlos. Aquí en Argentina no se dan cursos gratis de ese tipo o son muy exclusivos y son hereditarios, así que no tiene acceso el público gral. Hay cursos de artesanías, literarios, o básicos de computación y algunos de mecánica. Yo estoy preparándoles uno de folklore Argentino(soy maestra de danzas) y espero les interese, pero me lleva tiempo porque las coreografías no solamente se dan en texto sino que debo dibujarlas. Espero su respuesta. Hasta pronto Alicia

  3. Hola over urango! El quemador de PIC publicado en NeoTeo te funcionara sin problemas con el 16F84. Igualmente, te recomiendo el 16F628A, que cuesta MENOS, y tiene el doble de memoria y 5 veces mas velocidad (amen de puerto RS-232 integrado, etc.). El 16F84 ya esta obsoleto. Saludos!

  4. Hola como estas realmente buena la pagina con muy buena informacion y circuitos excelentes, me gustaria contar con las siguientes partes de este proyecto RELOJ DIGITAL te lo agradeceria mucho de verdad. Gracias por todo

  5. Hola, esta muy bueno el proyecto. Necesito hacer el reloj, pero que tenga cuenta regresiva (countdown), solo hay que cambiar el programa del pic ?.

  6. Hola desde Mexico por casualidad me encontre esta pagina la verdad es que es muy buena no tengo mucho conocimiento sobre electronica pero estoy buscando la forma de hacer un marcador digital y me di cuenta que en principio esto se parece mucho me gustaria saber si pueden orientarme. Saludos!

  7. Hola, esta muy bueno el proyecto. Estoy intentando realizar el proyecto, por lo que me gustaría tener los Circuitos Impresos. Les agradecería mucho.

  8. Encuentro muy entretenido este proyecto, por lo que me gustaria poder completarlo, con las siguientes 2 partes que no aparecen, ¿ Como puedo tener acceso a estas?. Yo soy un completo neofito en el tema, pero me interesa de sobremanera, para ver si soy capaz de realizarlo y quien no dice que despues me convierta en un aficionado a estos temas. Muchas Gracias de ante mano. Exequiel Toledo A.

  9. hola: Deseo que me colaboren con la programacion de un pic 16f84a para un termòmetro con visualizacion en LCD gracias

  10. Pancho, ¿no será que Ariel Palazzesi es colaborador de NeoTeo y dueño de la página ucontrol? Es una pregunta retórica, pues sí, Ariel es colaborador de NeoTeo y dueño de ucontrol. Saludos

  11. hola,esta interesante el proyecto, quisiera saber si alguien ha hecho el diseño electronico y el de la placa pues no entiendo mucho quisiera saber como se conecta el pic a este sistema se los agradecere mucho

  12. buenos dias, me encontre su pagina y esta muy interesante, desde hace mucho tiempo he querido construir un reloj, me gustaría saber si tambien tienen los circuitos impresos en formato electrónico, ojala me puedan ayudar, gracias

  13. pancho villa, sos un desubicado total. Que tiene que ver si es argentino o no con lo que comentaste. Seguramente los españoles nunca nos robaron, (Colon??, Telefonica???). Tal ves seas mejicano por tu nombre, ja ja, mejor no comento nada.

  14. Hola!!! quisiera que alguien me dijera donde puedo encontrar el diseño del circuito de un turnero lo tengo que diseñar con el microcontrolador gp32 de motorola…lo necesito urgente porque de eso depende que gane una materia….MUCHAS GRACIAS

  15. estoy en la carrera de sistemas en ECUADOR y estamos viendo la materia de SISTEMAS DIGITALES.
    El tema: temporizadores.
    quisiera mas informacion , sobre como subir estos diseños al WORKPENCH 512
    GRACIAS.

  16. seria posible que me pudieras facilitar el firmware para la programacion del pic te lo agardeceria mucho, si alguien mas ya lo tiene seria de mucha ayuda gracias

  17. hola encuentro muy bueno este proyecto pero lo que yo necitaba era saber el nombre de cada parte de un reloj digital
    pero igual me sirvemn las imagenes
    chao gracias
    pd: espero que lo hagan o lo consideres

  18. Hola Ariel me podrias ayudar tienes algun articulo sobre los componentes para realizar un proyecto de un circuito para visualizar la temperatura usando display de siete segmentos adicional a dos led y una alarma para notificar cuando este incorrecta la temperatura quiero utilizar un pic 16f876 y un sensor de temperatura lm35 o alguno ue se ajuste

  19. hola espero que estes bien te hablo desde bogota colombia y lo que pasa es que quiero hacer un circuito de reloj de billar digital, es un modulo que consta de un circuito y una pantalla lcd en el cual se visualiza el tiempo que halla transcurrido durante una partida , este tiempo queda grabado en una memoria para que el dueño o administrador pueda observar cuanto tiempo empleraon las mesas y asi mismo le entrega la cantidad de dinero con tan solo pulsar un boton. me gustaria que me hicieras el favor de explicarme como hacerlo pues la verdad estudio licenciatura en electronica en la universidad pedagogica nacional y tengo que hacer un proyectico de estos .

  20. Hola amigo necesito ayuda urgenteeeeeee!!! estudio Ing. mecanico adminsitrador,, tengo ke presentar un proyecto para mi clase,, se me ocurrio hacer unas placas digitales vehiculares tipo a las de los relojes ke aki mencionas tu,, me prodrias ayudar y ak no tengo la menor idea de como llevarlo acabo…desde Mexico

  21. Hola amigos, quiesiera saber si es posible construir un reloj digital sin utilizar PICs, me refiero a que solamente utilizando CMOS y TTL. GRACIAS

  22. es bastante interesante el proyecto, Seria posible facilitarme el diagrama de conexiones que se deben realizar en la placa donde va el PIC y el sensor de temperatura…?
    Gracias Y saludos…

  23. Hola buenos días te felicito por tu pagina es una excelente ayuda para los que recién estamos empezando a familiarizarnos con los microcontroladores,estoy necesitando el diagrama de un turnero digital armado con el pic 16f628 para 12 o mas cajas y del 00 al 99,osea con cuatro display de 7 segmentos y el programa o una inducción de como programarlo

  24. hola, felidades por tan excelente pagina, estoy necesitando el diagrama para construir un turnero digital para 12 o mas cajas y turnos del 00 al 99 usando cuatro display de 7 segmentos, de pronto alguien lo haya armado y me brinde la información para elaborarlo junto con el programa

Responder a Jose Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

La PS3 será aprovechada por científicos en EEUU

EvilLyrics