Está en la página 1de 6

DS1307: Reloj en tiempo real con

18F2550
Por: Mario Sacco @ sbado, 19 de junio de 2010 Nota vista 16353 veces
|
El DS1307 de Dallas Semiconductor (Maxim) es una solucin muy interesante
cuando necesitamos trabajar con eventos que requieren puntualidad y exactitud a lo
largo del tiempo. Este pequeo circuito integrado es uno de los ms populares relojes
RTC (Real Time Clock) del mercado por su sencillez de uso y por su confiabilidad a
largo plazo. Preparado para ofrecerte la hora hasta el ao 2100, esta semana agregamos
a la entrenadora NeoTeo esta til aplicacin con la explicacin en detalle de su
construccin, caractersticas y ajustes. El DS1307 a fondo en este artculo.
La flexibilidad de trabajo que nos ofrece el bus I2C hoy nos trae una
aplicacin muy til e importante para los momentos en que necesitamos controlar
dispositivos o aplicaciones en las que la exactitud horaria es un factor fundamental.
El DS1307 de Dallas Semiconductor (Maxim) es un dispositivo que se conoce como
Reloj de Tiempo Real (Real Time Clock RTC) que opera a travs del bus I2C y
que, adems de brindarnos la hora con minutos y segundos, posee un calendario que
contempla los aos bisiestos hasta fin de siglo, es decir, hasta el ao 2100.
Entre las caractersticas destacadas, posee una salida (configurable por software) que, en
nuestro caso, la utilizamos como segundero luminoso, y la posibilidad de trabajar
con una pequea batera para almacenar los datos mientras el sistema se encuentra
desconectado de la alimentacin. Adems, esta pequea alimentacin de respaldo
permite mantener funcionando el oscilador maestro del reloj con un consumo nfimo de
300nA, segn su hoja de datos. Una simple batera de Litio CR2032 puede brindarnos
un funcionamiento satisfactorio durante 10 aos. Te parece poco? Conectar un
artefacto que construimos hace tres aos y que siga estando siempre ajustado en fecha y
hora es algo muy interesante de experimentar.

DS1307: Un completo reloj de precisin en un encapsulado de 4 pines por lado


Este curioso circuito integrado es mucho ms que un simple segundero o un contador de
minutos: es un reloj que podemos incorporar a nuestros desarrollos para que, adems de
informar la hora en un visor, sea capaz de activar perifricos o recordar actividades con
absoluta precisin. Un ejemplo: que nos recuerde que cada da a determinada hora se
ponga en marcha un motor, una luz o cualquier dispositivo externo que realice un
trabajo por nosotros, o tambin que el da 15 de agosto de cada ao nos recuerde el
cumpleaos de algn amigo. Por supuesto que para el desarrollo de este artculo y la
explicacin paso a paso de cmo aprender a utilizar este genial reloj utilizaremos la
placa entrenadora NeoTeo y el sper-cmodo sistema de carga de archivos por USB
con el mtodo de BootLoader desarrollado en el artculo anterior. No ms palabras,
observa este video. Esto haremos hoy:
Lo primero que haremos entonces es construir el hardware. Habrs notado en las
imgenes una memoria EEPROM 24C04, compartiendo la placa con el DS1307. Por el
momento no utilizaremos este dispositivo, pero tuvimos la idea de colocarlo en la placa
para futuras aplicaciones gracias a que este tipo de memorias tambin trabajan con el
protocolo de comunicaciones I2C. En prximos montajes combinaremos el uso del
reloj con eventos grabados en la memoria, como pueden ser alarmas mltiples
seleccionadas por el mismo PIC o para utilizarla como banco de datos generales que
pueda conservar informacin a pesar de que el equipo conectado pierda el suministro de
energa. Por ejemplo, podemos citar el caso de un sistema de semforos sincronizados
que deben manejar un trfico variable, es decir, variar sus tiempos de operacin de
acuerdo a las horas de mayor trnsito. A esto podemos sumarle la posibilidad de dejar
liberada la circulacin vehicular a partir de un horario determinado durante la noche
hasta las primeras horas del da siguiente, y todos estos datos deben ser almacenados
en un lugar seguro, a prueba de cortes energticos y con la seguridad de inicializar su

funcionamiento en perfecta sincrona horaria. Para eso, nada mejor que una
EEPROM 24Cxx.

El circuito de conexiones para la placa del DS1307


El circuito es muy sencillo de organizar y comprender. Tanto el DS1307 como la
memoria 24C04 comparten las conexiones SDA y SCL, respectivamente, mientras que
la tensin de alimentacin es filtrada C2 - L1 - C1 para eliminar ruidos extraos en el
circuito que pudieran llegar a corromper las tramas de datos. Esta prevencin la
incrementamos con el diseo de un circuito impreso generoso en planos de tierra. La
salida SQW/OUT necesita una resistencia Pull-Up para su funcionamiento y a la vez
se encarga de excitar a T1 para que el LED nos sirva de segundero luminoso.
Recordemos que esta salida del DS1307 es programable y pueden obtenerse all otros
submltiplos de 32768Khz para otras aplicaciones especficas. Por su parte, en el pin 3
conectaremos una batera de Litio tipo CR2032 que nos permitir el funcionamiento
del DS1307 cuando la tensin de alimentacin Vcc no est presente. No dejes de
colocar un receptculo apropiado para permitir una remocin cmoda de la batera
cuando sea necesario cambiarla. Adems, si te decides soldarle pequeos terminales
para conectarla a la placa, debes tener mucho cuidado de no pasarte de temperatura
para no provocar un accidente y la rotura de la batera.

Una pequea batera puede conservar el ajuste del DS1307 durante muchos aos
Una consideracin especial se debe tener a la hora de montar el cristal de 32768Khz.
Primero debes saber que ser muy difcil lograr un circuito impreso ptimo para obtener
una precisin ideal en el funcionamiento del reloj. Luego, debes comprender tambin
que es de suma rareza encontrar cristales que resuenen a la frecuencia exacta que
indica su nomenclatura. Es decir, lo normal ser encontrar cristales con una
tolerancia de error que a lo largo de los das (o meses) se haga notable en algunos
segundos de atraso o adelanto de la hora grabada. Si las variaciones son de muchos
minutos en pocas semanas, sin dudas debemos cambiar el cristal por otro de mejor
calidad. Pero si optas por un cristal comn (sin demasiada seleccin especial), con un
lazo de alambre conectado a GND (como ves en la imagen superior), con un buen
plano de tierra en los alrededores de su conexin (tal como indica la hoja de datos del
DS1307) y con un largo adecuado de los pines de conexin, debes lograr una pequea
variacin de pocos segundos en uno o dos meses. NUNCA obtendrs una precisin
absoluta pero al menos puedes aproximarte mucho a un excelente funcionamiento.
Observa los planos de tierra en el circuito impreso.

La placa terminada vista desde el lado del circuito impreso (lado solder)
En el prrafo anterior mencionamos que entre los puntos destacados para obtener un
correcto funcionamiento del DS1307 est el largo de los pines de conexin desde el
cristal hasta el IC. Esto significa dos cosas: en primer lugar, que las vas de cobre del
impreso entre un dispositivo y el otro DEBEN ser lo ms cortas posibles y, en segundo
lugar, que los pines del cristal NO DEBEN ser tan cortos como sea posible (en su
conexin hacia el impreso). Parece una contradiccin, pero la explicacin est en que al
acercar o alejar los pines del cristal entre s, estamos provocando variaciones de
capacidad parsita entre ambos conductores. En la prctica y en los instrumentos de
medicin de frecuencia, esto puede ser despreciable y no afectar en nada al oscilador
maestro. Pero en los meses de funcionamiento de nuestro reloj, unos pocos Hertz de
variacin pueden significar varios segundos (o minutos) de desfasaje horario.
Observa la imagen anterior para apreciar el largo aconsejado para los pines del cristal.
No hay que exagerar, ya que con un milmetro de variacin podemos resolver todo
nuestro problema. De lo que puedes estar seguro es que conocers la posicin exacta de
estos pines luego de algunas semanas de funcionamiento del equipo.

La placa instalada sobre la entrenadora y lista para comenzar a funcionar


El resto del montaje no merece mayores comentarios. En nuestro ejemplo utilizado para
la entrenadora NeoTeo con el PIC 18F2550, hemos empleado el conector especfico
que dejamos reservado para las conexiones dedicadas a dispositivos que trabajen por
bus I2C. La imagen superior (como el video mostrado al inicio del artculo) nos
muestra que la placa se puede insertar de manera muy fcil, quedando en una posicin
cmoda de trabajo y visualizacin sobre el display LCD que utilizaremos para obtener
los resultados de este trabajo. Si eres un fiel seguidor de nuestros proyectos y vienes
realizando las placas de la manera que mostramos en los artculos relacionados a esta
entrenadora, al final encontrars el PDF para descargar que contiene el dibujo
propuesto para realizar el circuito impreso de este interesante accesorio.
Hasta aqu hemos visto el circuito necesario para poner a funcionar un DS1307. En la
prxima pgina veremos como es la programacin de sus registros y su funcionamiento
en detalle.

También podría gustarte