Reloj Digital Barebone rev2

Hola chicos...

Aquí le damos un seguimiento para el proyecto reloj digital que he publicado hace un año. No he considerado la deriva del módulo RTC! He encontrado la deriva que más pasado 1 minuto RTC para cada 21 días, que es enorme. Esto es ya después de cambiar la orientación del xtal oscilador en el módulo de rotura del DS1307 para estar cerca del chip como sea posible, que se propuso junto con otras consideraciones, en la máxima aplicación Nota.


Opciones consideradas:

1. optimización de la RTC: mira para mejor xtal, coincidencia de capacitancias, etc, etc <--imposible

2. agregar el botón de decremento manual para el valor de los minutos <--esto significa cambios en el hardware. El camino fácil hacia fuera!!!!

3. calibración automática por el microcontrolador host


El algoritmo:

Lo que necesito es una rutina de calibración automática basada en software. Después de algunos ensayos (y realmente encontrar el tiempo para hacerlo!), se me ocurrió esto... Guardar el factor cal 21 (días por minuto) y el día se hizo la última cal en una ubicación permanente. Cada vez que el reloj se enciende (en mi caso es por las mañanas 7:05, excepto los fines de semana y festivos ;), el mcu lee estos valores y comparar con la fecha actual del RTC si múltiplos de 21 días ya ha pasado. Si sí, valor minuto decremento por la correspondiente cuenta entonces guarda actual día vuelve a la la ubicación de 'lastCalDay'. Hacer la misma comprobación en la próxima potencia...


La implementación:

Para la ubicación de cal, DS1307 tiene un 'propósito general con respaldo de batería ram con ilimitado escribe'. Necesitamos dos octetos de 8 bits para el calFactor y lastCalDay. Para contar la diferencia de días, convertimos la fecha RTC (números del mes y día) a un número entero a partir de una fecha de referencia. Para esto podemos utilizar el primer día del año en curso como la referencia, número de día 1. Esto significa que el número máximo de días entre la cal no debe exceder de 365. Número de día es conveniente para obtener la diferencia y también para guardar la fecha para ram. Sólo tiene que añadir provisión para año nuevo, cuando el conteo de días va detrás de 365 a 1. Una vez la diferencia de días se determina que entonces podemos disminuir el número de minutos. Para simplicidad de código, decidí saltar cal si el momento resultante diferencia rodará hacia atrás la cifra de horas. Attachmed para implementación de código completo, consulte.


Los resultados:

Los resultados de mi validación demostraron funcionamiento como diseñado. Por supuesto, el código y, de hecho el algoritmo todavía pueden ser optimizados para la precisión y elegancia, pero por ahora este funciona para mi proposito muy bien!

Por favor, hágamelo saber si usted necesita más detalles si desea hacer este proyecto... Sugerencias también son bienvenidas.

Gracias. ¡ Disfrute!



Artículos Relacionados

Reloj Digital Barebone

Reloj Digital Barebone

aquí es un reloj digital rápido y sencillo puede fijar a la pared del cubículo. Buena pieza de conversación y le dice que cuando su tiempo para ir a casa...Para el hardware: utilicé un tiny2313 (puede utilizar cualquier pequeño con por lo menos 14 IO
Completo reloj Digital con Sensor de presencia (RTC - alarma - PIR - temperatura - humedad - punto de rocío)

Completo reloj Digital con Sensor de presencia (RTC - alarma - PIR - temperatura - humedad - punto de rocío)

HolaYa he hecho algunos proyectos de relojes digitales con Arduino como pantallas LED y LCD, pero este es más especial porque he introducido una novedad con un sensor de movimiento (PIR).Ver VIDEOCaracterísticas principalesPIR (Sensor infrarrojo de p
Nintendo Game Boy se convirtió en un reloj Digital

Nintendo Game Boy se convirtió en un reloj Digital

En este instructable te voy a mostrar cómo hice mi propio reloj digital temática de videojuegos retro de un viejo roto a Nintendo Game Boy.Lo que necesita; Un viejo roto Nintendo Game Boy no le importa cortar, barato reloj despertador digital sobre e
Reloj digital Numechron

Reloj digital Numechron

Mi diseño de reloj Digital Numechron fue inspirado por el reloj digital Pennwood modelo 1364. Relojes de este tipo se originaron en la década de 1930 y fueron construidas hace muchos años por las empresas Pennwood y Lawson en muchos diversa madera, m
¿Nuevo reloj digital de tiempo de tierra (red) en caso de retro-moderno reciclado

¿Nuevo reloj digital de tiempo de tierra (red) en caso de retro-moderno reciclado

nunca se confunda por GMT y sólo deseo que tenía una manera más de tiempo?  Construir un reloj de Tiempo de la nueva tierra !  Utilizando un microcontrolador PIC, un código y un par piezas discretas, también puede tener un dispositivo de cronometraje
Reloj digital!

Reloj digital!

Voy a mostrar cómo hacer un reloj digital con un arduino.Paso 1: materiales Arduino uno r3cables de puente clasificadosBatería de 5v USBCable USBdisplay digital de siete seg (SMA420564)Box/Caja para proejectsin soldadura breadboardswithces de empujeP
Reloj Digital DIY

Reloj Digital DIY

¿Has sido realmente aburrido y necesitaba diversión proyecto DIY para hacer? Bien, ¿has pensado en hacer un reloj digital, impresionante y super que usted realmente puede decir la hora con? Así que realmente debe seguir estos pasos impresionantes. ¡Q
Silenciar su reloj digital para toma de examen estandarizado sigiloso

Silenciar su reloj digital para toma de examen estandarizado sigiloso

objetivo: silenciar su reloj digital tonos y alarmas. Tras esta modificación, el reloj digital será permanentemente silencioso.Método: Retire el resorte diafragma amplificaciónPúblico objetivo: esto es especialmente útil para los tomadores de la prue
Reloj Digital de madera maciza

Reloj Digital de madera maciza

cómo construir un reloj digital de madera accionado por un atmega168 (arduino) con un detector incorporado y juegos.Primero pensé en hacer esto cuando vi un reloj LED cubierto por una chapa de madera. Me gustó cuando lo vi, hasta que vi el precio. Es
Gran reloj Digital 7 segmentos

Gran reloj Digital 7 segmentos

usando sólo 2 condensadores, resistencias de 3, 4 gran Display de siete segmentos, 1 xtal, 2 interruptores y 1 microcontrolador PIC, se puede construir este circuito Reloj Digital Led.puede utilizar ánodo común o display de cátodo común, sólo tienes
Reloj Digital casera de TTL circuito 24 horas

Reloj Digital casera de TTL circuito 24 horas

después de tomar una clase de intro-nivel EE en mi local community college me decidí a hacer un reloj digital con ICs básicas y displays de 7 segmentos. Las imágenes anteriores muestran el proceso de elaboración a lo largo de un mes.Fácilmente se pue
Reloj digital de números romanos

Reloj digital de números romanos

Un reloj Digital de números romanosVerlo en acción en las películas de quicktime adjunto!Hay muchas maneras de visualizar el tiempo en análogo y digital, pero uno nunca visto por la mayoría es un reloj digital de números romanos. He creado uno con la
Caja del tejido y Reloj Digital Mash-Up!

Caja del tejido y Reloj Digital Mash-Up!

Bueno, aquí es una digital caja de reloj y tejido... PURÉ PARA ARRIBA!!!!!!* dun dun dun!!!!!! *de todos modos...Tengo un reloj digital en destino para $5,00 (+ IVA por supuesto), y lo tuve por mucho tiempo.Pero muchos Instructables me inspiró para h
Modelo de vuelta de reloj digital de "Johnny 5" alrededor de películas de la década de 1980

Modelo de vuelta de reloj digital de "Johnny 5" alrededor de películas de la década de 1980

Número 5 está vivo!Que ha derecho 1980 bozos. Me trajo el Sr. Johnny 5 regreso a la vida en este divertido nuevo instructable. Si usted sabe cualquier cosa sobre número 5, lo recordará como un robot grado ingenioso, amable, militar que es más humano