Para una función de sincronización de alta precisión, considere usar un reloj en tiempo real con un oscilador de cristal compensado por temperatura (TCXO). Un ejemplo es el Maxim DS3231 RTC con TCXO, disponible en eBay para under.gmail $ 0 par incluido el envío internacional.
Esto le brinda algunas ventajas sobre los osciladores de cristal utilizados en las placas Arduino:
- Precisión de 3.5 partes por millón, es decir, 110.45 segundos de deriva por año.
- Simplicidad en el tiempo de conteo: puede configurar la parte para generar una onda cuadrada de 1024 Hz, para una precisión de 0.977 milisegundos para sus tics de reloj, o una interrupción de una vez por segundo si no necesita la segunda precisión decimal de tictac mencionado en la pregunta
- El calendario incorporado permite una recalibración de la hora de inicio cada año, incluidos los años bisiestos
Para interactuar con un RTC de este tipo, puede usar un microcontrolador mínimo con un oscilador RC incorporado, como la familia ATtiny.
Por lo tanto, el dispositivo solo necesitaría la batería, el microcontrolador mínimo, el chip RTC, algunas resistencias y algunos condensadores de desacoplamiento, no hay mucho más en lo que pueda pensar, lo que lo hace económico y fácil de construir.
En una PCB grabada en casa, el dispositivo completo podría estar integrado en menos de una pulgada cuadrada, por unos $ 6 o más en sencillos, se ejecutará desde una sola pila de botón durante años y ofrecerá una precisión muy superior a la de cualquier Arduino. Se puede hacer fuera de la caja. Un TCXO por sí solo costaría tanto o más en unidades individuales.
Si eliges construir una docena de estos, el costo podría reducirse a menos de $ 3 cada uno, incluidos los PCB grabados profesionalmente con una bonita serigrafía y una capa de resistencia.
Código :
- El microcontrolador usa I2C para configurar el RTC para una salida de 1 Hz o 1024 Hz.
- Un pin habilitado para interrupción en la MCU se activa en cada pulso establecido arriba, y cuenta la duración: el microcontrolador está configurado en modo de inactividad de baja potencia el resto del tiempo.
- Al lograr un conteo de 525948.76 segundos, o 525949 segundos, si no está molesto, el microcontrolador pulsa su reloj de cuarzo externo.
- Una vez al mes, o anualmente, el microcontrolador recupera la fecha y la hora reales del RTC y corrige cualquier deriva debida al segundo redondeo de 525949