Página principal
     
            
          DCF77
            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
    
22/10/2024
    Después un cierto tiempo, he visto que se podía mejorar el código
    del arduino.
    He mejorado 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.
    He cambiado la resistencia de la señal DCF a 4K7.
    He eliminado la parte del modo del audio.
    He creado un programa en Linux bajo consola para poner la fecha y la
    hora automáticamente.
    ./dcfSerie /dev/ttyUSB0
    
    
    Programa Arduino
    
    Programa Linux
    
    
    
    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
        
        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