Вы находитесь на странице: 1из 7

Reloj digital parte 1 (de 3)

Por: Ariel Palazzesi @ martes, 29 de agosto de 2006 Nota vista 34444 veces
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.
¿te
interesa?
158 -47

205 votos
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.

Construya y programe su propio reloj con termómetro.


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.
Vista posterior del display, con su placa Componentes y circuito impreso del
controladora. display.
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.
Termocupla tipo K. Sensor digital DS1820.
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.

Fígura 1. Figura 2.
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.

El transistor controla el encendido de los Esquema completo del display.


LEDs...
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.
Detalle del circuito impreso del display.

Вам также может понравиться