jueves, 24 de octubre de 2024

DCF77 - Generador de señal - Signal generator - Versión 2 - DS1302

  Página principal

DCF77
Generador de señal
Signal generator
Versión 2  - DS1302

Después de haber realizado el Generador de DCF77 con el arduino, me dí cuenta que algunos relojes no sincronizaba bien.
También me resultaba engorroso tener que
actualizar la hora mediante un ordenador, antes de emitir la señal DCF .
He visto que se podía mejorar el código del arduino y el circuito mediante:
-Mejorando el tiempo de interrupción de 0.1 Segundo. Me dí cuenta que ciertos relojes exigen alta precisión, de esta forma la mayoría de los relojes se sincronizan.
-Cambiando la resistencia de la señal DCF a 4K7.
-Eliminando la parte del modo del audio.
-Se coloca una variable en compilación #define SINCRO . Según el manual DCF, la señal de DCF debe sincronizarse con el flanco de bajada de la portadora. Funciona igual con sincronización que sin ella, por lo que lo dejo a gusto de cada uno.
-La resistencia R1 es de 100 ohmios, para que module al 20%, pero también funciona si se modula al 0%, para este caso debemos colocar la resistencia a 0 ohmios.
-He colocado un pulsador para las pruebas. Si durante el arranque se tiene pulsado, carga una fecha prefijada y no la carga del DS1302.  Fecha prefijada:  7:52:50   9/10/2024 .


Esquema realizado con https://easyeda.com.

Circuito montado.


Señales generadas.


La sincronización tarda entre 2 y 5 minutos. La distancia entre el circuito emisor y los radio relojes es de 80 cm.

También he creado un programa en Linux bajo consola para poner la fecha y la hora automáticamente.
./dcfSerie /dev/ttyUSB0

El programa en arduino admite una serie de ordenes:
HORA=

SEGUNDO=
MINUTO=
DIAMES=
DIASEMANA=  (Algunos relojes comprueban que sea correcto)
MES=
ANO=
PRINT
START
STOP
SAVE
LOAD

Durante el arranque del circuito, espera 15 antes de empezar a emitir señal.
En el tiempo de espera de 15 segundos, si se ejecuta el programa en consola, se actualiza la hora y la fecha en el DS1302.



Programa Arduino
Programa Linux

Espero que os haya gustado este pequeño circuito.


Saludos.
Juan Galaz



Bibliografía:


PTB-Mitteilungen_2009_Heft_3_en

http://www.brettoliver.org.uk/DCF77_Analyzer_Clock_Mk2/Arduino_DCF77_Analyzer_MK2.htm
https://ednieuw.home.xs4all.nl/Woordklok/DCF77/DCF77_Arduino.html
https://es.wikipedia.org/wiki/DCF77
https://j-rpm.com/2019/05/transmisor-experimental-dcf77/
http://www.redesmadrid.com/?page_id=4
Radio watch sync   en Google Play

No hay comentarios:

Publicar un comentario