desktop

Reloj/Calendario/Posicionador Geográfico/Termómetro sincronizado por módulo GPS

Buenas noches colegas, ya estamos en 2025 así que cabe un saludo de Feliz Año Nuevo :salud:

Continuando con este proyecto veremos ahora el uso del módulo RTC tipo DS3231 (Extremely Accurate I2C-Integrated RTC/TCXO/Crystal) como base de tiempo del Reloj, reemplazando al módulo GPS GY-GPSV3-NEO-M8N del proyecto del capítulo anterior.

Aquí vemos la plaqueta de ensayo que incorpora el módulo

ds3231placa.jpg

Resumiendo sus características, El DS3231 es un reloj o generador de referencia de tiempo real (RTC) tipo I2C extremadamente preciso y de bajo costo. Posee un oscilador integrado de cristal con compensación de temperatura (TCXO) y compensación por envejecimiento, lo cual le provee una precisión típica de 2 ppm o su equivalente de un minuto en un año. El dispositivo incorpora una entrada de batería externa que ante la falta de la fuente de alimentación principal, lo mantendrá funcionando normalmente.
El DS3231 mantiene la información de segundos, minutos, horas, día, fecha, mes y año. En los meses de 30 o 31 días, la fecha de finalización se ajustará automáticamente, incluidas las correcciones por año bisiesto hasta el año 2100.
El dispositivo puede funcionar en formato de 24 horas o en 12 hs AM /PM. También posee dos alarmas configurables y una salida de onda cuadrada configurable en frecuencia. El dispositivo es programable y legible por medio del bus bidireccional I2C.
Posee además un circuito comparador y referencia de voltaje con compensación de temperatura que monitorea el estado de la fuente principal Vcc para detectar fallas de energía, pudiendo proporcionar una salida de reinicio o cambiar automáticamente a la fuente de alimentación de respaldo (batería). También posee reseteo manual.
El dispositivo también integra un sensor de temperatura digital con precisión de 0,25 °C accesible por I2C.
La plaqueta de ensayo que incorpora el DS3231 (foto) tiene un rango de alimentación de 3,3 - 5,5 V, e incluye una memoria AT24C32 (capacidad de almacenamiento 32 K), con dirección predeterminada 0x57 modificable cableando los pines A0A1A2.
Como puede verse también, la plaqueta posee el zócalo para una batería recargable tipo LIR2032 para el backup de energía.

La hoja de datos competa se encuentra aquí:
DS3231 RTC

Continua...
 
Continuando, vemos ahora la placa controladora que contiene el uC PIC16F87X y el modulo RTC DS3231
El diagrama en bloques es el siguiente:

diagrama.jpg
Y la plaqueta experimental será la siguiente:

plaqueta.jpg

Tanto en el diagrama como en la plaqueta vemos tres LEDs cuya función será la siguiente:

LED1: Led Verde conectado a la salida SQW del RTC se programa para una frecuencia de salida de 1 Hz, por lo cual el parpadeo cada segundo indicará que el RTC fue programado exitosamente.
LED2: Led Verde conectado a RA5 en el uC indicarà con tres parpadeos de 1 Seg. cuando el uC inicializa el RTC con los parametros adecuados que veremos luego y arranca el lazo de lectura y display.
LED3: Led Amarillo conectado a la salida TXD deL uC que indica la actividad de datos presentes, que pueden ser monitoriados por PC para eventual diagnóstico ( troubleshooting)

Luego los cinco conectores tendrán las siguientes funciones:

CO1: conector de programacion deL uC por ICSP
CO2: conector del RTC
CO3: conector a los registros seriales de display y almanaque, que luego veremos su diagrama,
e ingreso de los pulsadores de selección y cambio que se usarán para programar el Reloj (seteo de hora, día , etc)
CO4: conector de salida de datos de diagnóstico (troubleshooting)
CO5: conector de Leds RGB separadores de Hora (Verdes) y Fecha (Rojos) , y Azules cuando se realizan los seteos de hora, día , etc

Continua...
 
Atrás
Arriba