Banner publicitario de PCBWay
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...
 
Continuando aquí con los diagramas del hardware, vemos el bloque de display de dígitos y Leds RGB para efecto backlight

digitos.jpg
Este bloque funciona igual como se ya se explicó en el capitulo anterior. Utiliza los registros de desplazamiento CD4094 y los decodificadores CD4028 que se alimentan con 12 VCC para lograr como ya se vio, la polarización adecuada de las grillas de los tubos NIMO.
Los dos transistores T1 y T2 invierten y adaptan los niveles de señal del uC (5 V) a los 12V del circuito.
El funcionamiento es simple, el uC transmite los datos codificados en BCD en forma serial por DDB5 , "clockeados" por pulsos en CDB4. Así se envían los 24 bits que completan la carga de los registros , se decodifican y excitan las grillas de los dígitos correspondientes en los tubos.
También se envía el bit correspondiente al medio dígito ( apagado o 1) y los tres bits del color RGB del backlight de los tubos (como ya se explicó) Los Leds separadores RGB y Punto Decimal también se muestran y son manejados directamente por el uC (conector CO5)

Y aqui el bloque de registros que maneja los Leds del Almanaque que se muestra debajo del display de dígitos
alamanaque.jpg
Este bloque usa tres registros de desplazamiento tipo 74HC/HCT164 que se alimentan con 5Vcc y encienden directamente los Leds del Almanaque. Este display de Almanaque (ver video) posee 4 lineas, en la superior se encienden los Leds de Hora, Minutos y Segundos (señal HMS) ó los de Leds Mes, Año, Dia (señal MAD). En la segunda linea (antes posición geográfica) se muestran Temperatura y Grados porque el nuevo diseño muestra la temperatura del RTC. En la tercera linea se muestra el Día de la semana y en la cuarta linea se muestra el Mes. En el diagrama se muestra como ejemplo el LED1 siendo en total 23 Leds Amarillos

Continua...
 

Adjuntos

  • digitos.jpg
    digitos.jpg
    41.4 KB · Visitas: 0
Atrás
Arriba