DCF77
Generador de señal
Signal generator
Generador de señal
Signal generator
Muchos de los relojes que se compran ahora, tienen el ajuste automático de hora.
Utilizan la señal que proporciona una emisora en Alemania en la frecuencia de 77,5 KHz, esta señal se llama DCF77 .
De acuerdo con la serie de indicativos de llamada asignada, D significa Deutschland.
La letra C fue seleccionada para identificar transmisores de onda larga.
Como tercera letra, se determinó la letra F para los transmisores de onda larga en las instalaciones de la estación transmisora Mainflingen (debido a su proximidad a Frankfurt).
Para distinguir los distintos transmisores de esta estación, a las tres letras DCF se han añadido dos cifras, en el caso del DCF77.
Los datos se mandan cada segundo, codificando como la supresión de la señal hasta un 20% durante 100mS para el 0, y de 200mS para el 1.
También se utiliza el cambio de fase, pero en este artículo no se verá.
En este montaje vamos a utilizar un arduino para generar todas las señales.
Con el temporizador del arduino se puede generar una frecuencia bastante cercana a 77,5KHz.
(8000000/77,50)-1=102 --->77,76khz
Deberíamos tener un reloj interno y utilizar un DS1302, pero como no es el objeto de este montaje, utilizaremos un programa de ordenador para actualizar el reloj en el arduino.
Por el pin 3 generaremos la señal de 77,5 KHz, y se modulará mediante el pin 2.
La señal excitará a un transistor que tiene en su colector un conjunto LC que está calculado para 77,5 KHz.
Estas ondas son las resultantes en el pin 2 o pin 13.
Mirando por internet, encontré Radio watch sync en Google Play.
El problema de esta aplicación es que te deja usarla unas cuantas veces, luego tienes que comprar la aplicación.
Esta aplicación producía un audio en el altavoz del teléfono móvil , era una señal senoidal al límite de la señal audible, 15,5 KHz.
Esta señal se modulaba con la codificación de DCF77.
Parece increíble, pero con el altavoz a unos centímetros del reloj, hacía que el reloj se sincronizase con la señal DCF77.
Monté un circuito sencillo con el arduino, que generaba 15,5 KHz, alimentando 4 transistores complementarios ,a modo de amplificador de audio.
La señal no se modulaba en amplitud, solo se activaba o se desactivaba.
El programa del arduino es el mismo para RF que para audio.
Lo único que debemos hacer es comentar (RF) o descomentar (AUDIO) ,dependiendo para que lo usemos.
PROGRAMA
Como podemos observar en el video siguiente, de 4 relojes, se sincronizaba 3, el único que no se sincronizaba era el de la marca Oregon Scientific.
Unos relojes tardan más que otros, dependiendo de cuantas veces comprueba si los datos son iguales.
Esa es una espina que tengo clavada, no tengo ni ideal el motivo, pero me he tirado mucho tiempo con este circuito.
VIDEO
El programa en arduino admite una serie de ordenes:
HORA=
SEGUNDO=
MINUTO=
DIAMES=
DIASEMANA= (Algunos relojes comprueban que sea correcto)
MES=
ANO=
START
STOP
PROGRAMA GAMBAS
Este programa está realizado en Gambas(VB para Linux)
Próximamente realizaré un programa que funcione en Linux y Windows.
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
Hola Juan: Interesante proyecto. Me costó un poco de trabajo tomar el hilo de esta tecnología, pero ya comprendido el asunto, hago un resumen de lo que he entendido: La estación alemana DCF77 transmite una portadora de 77.5 KHz (onda larga de 3.3Km de longitud) hacia un territorio bastante amplio europeo. En esas partes del mundo, los relojes digitales (no todos), se fabrican con un receptor interno tipo DCF77, precisamente para poder captar la emisión de la transmisora alemana, todo el tiempo. Es posible que tu reloj digital Oregon Scientific no tenga dicho receptor (Oregon es Americano?), y por tal motivo no responde a tu emisor con antena de 40 vueltas de alambre magneto con diámetro de 3 cm. Mientras tu proyecto de Arduino esté enviando dicha señal, sincronizará los otros 3 relojes. Aunque me sorprende un poco que aún estando en España, dicho relojes no estén ya sincronizados, pues están dentro del área de cobertura de la estación DCF77 alemana. Así que podríamos preguntarnos si los 3 relojes están siendo sincronizados por aquella emisora alemana o por tu proyecto?. Claro que para efectos del experimento, tu cambias la hora de cada uno de los 4 relojes digitales, para observar como se van sincronizando, unos mas rápido que otros. Saludos...
ResponderEliminarEl altavoz del móvil, al ser un bobinado actúa también como antena. Puesto a unos centímetros de cada reloj, podría hacer el trabajo esperado....
ResponderEliminarEn la zona donde vivo (Palencia-España) normalmente llega la señal de Alemania, pero no siempre. El reloj blanco muy pocas veces coge cobertura.
ResponderEliminarEl siguiente montaje que he realizado con un ESP32 funciona algo mejor.
Un saludo, y gracias por vuestros comentarios.