DCF77 Tijd en weerontvanger


   

DCF77 ontvanger met AVR en bluetooth

Iedereen kent wel de (stations) klokken die altijd op tijd lopen en waar we de tijd nooit hoeven bij te stellen. Het geheim van deze klokken is dat ze een tijd gecodeerd signaal ontvangen dat uit gezonden wordt vanuit Frankfurt op de zeer lange golf. 77,5kHz. Wat minder bekend is dat deze zender ook een weersverwachting uitzendt voor 4 dagen. Deze informatie wordt over de gehele dag uitgezonden, maar is echter gecodeerd. Deze ontvanger ontvangt niet alleen de juiste tijd maar decodeerd ook deze weersinformatie, die vervolgens met bluetooth uit te lezen is.

Nieuw

  • 12-10-2013 Project op de site geplaatst

Belangrijke mijlpalen

  • 8 Aug 2013 - Prototype klaar op print
 

Het signaal dat wordt uitgezonden door de DCF77 ontvanger is een tijd gedecodeerd signaal. Over een gehele minuut wordt de tijdsinformatie uitgezonden van de komende minuut. Dit signaal is een amplitude gemoduleerd signaal waarbij de amplitude exact elke seconden gedurende 100ms of 200ms kleiner wordt. een amplitude afname van 100ms stelt een 0 voor en 200ms een 1 voor. Hoe dit allemaal wordt opgebouwd, daarover is genoeg informatie op internet te vinden. b.v. op Wikipedia .  Deze informatie is eenvoudig te ontvangen en te om te zetten naar de juiste tijd. Voor de ontvangst gebruik ik een module van Conrad:  641138 - 89 die een goede ontvangst heeft.

     

 

De Conrad ontvanger met daarop de T4224 als demodulator IC, demoduleert het signaal dat ontvangen wordt op de VLF (zeer lange golf) ferriet antenne. Volgens Conrad zal deze module moeten werken van 2,5V - 15V en een stroom gebruiken van 3mA. Als we dit uitproberen dan zal blijken dat de module niet onder de 9V werkt en zeker 10mA verbruikt. De oorzaak is zenerdiode D1 en R6. Deze maken op robuuste wijze een 5V voeding voor de rest van de module. Willen we de module gebruiken onder de 5V, dan is het verstandig de diode D1 en weerstand R6 te verwijderen. Let op want de voedingsspanning VDD mag nu maximaal 5V zijn !! het stroom verbruik neemt nu ook fors af.

 

   

Het signaal van de ontvanger komt terecht op de INT0 van de Atmel Atmega328 AVR microcontroller. De microcontroller begint de tijd te meten exact op begin van elke seconde. In eerste instantie meet hij dit op de rising edge (opgaande flank) van de puls. De meting start en er wordt gemeten wanneer we de falling edge (neergaande flank) hebben. Ligt deze tussen de 50 en 150ms in, dan betreft het een 0. Tussen de 150 en 250ms betreft het een 1. Dit lijkt eenvoudig, echter moeten we rekening houden met de erg storingsgevoelige VLF. Spaarlampen, computers, TL-buizen en motoren geven regelmatig stoor pulsen, met als gevolg dat we veel ongewenste enen en nullen kunnen verwachten.

De timing van het begin van elke puls is van dus belang. Daarom maak ik gebruik van timer2 van de AVR microcontroler. Timer 2 wordt geklokt door een 32.768kHz kristal en vervolgens gedeeld door 128. Vervolgens loopt de teller op tot 256, en er ontstaat een overflow interrupt.  32.768/(128 x 256)= exact 1. M.a.w. elke exacte begin van elke seconde, aangegeven door de Timer 2 overflow,  begint de controller met meten. Nu is het alleen afwachten wanneer de falling edge plaats vind om te bepalen of het een 0 of een 1 is. Alles wat er voor de eerste 50ms en na de 250ms gebeurd wordt volkomen genegeerd. Het is natuurlijk wel zaak dat Timer2 goed gesynchroniseerd is. Hiervoor is een minuut goede ontvangst nodig. De 59e seconde wordt niet uitgezonden. Als er een periode van ca 1,5seconde geen puls gemeten wordt, is de eerste rising edge het begin van seconde 0 en wordt timer 2 gesynchroniseerd. De 59e seconde wordt ook gebruikt om de synchronisatie van Timer2 up to date te houden. Wordt de rising edge van seconde 0 binnen de +5 of -5 klokpulsen => +20ms of -20ms gemeten, dan wordt Timer 2 bijgesteld. Daar buiten is er blijkbaar iets mis en wordt de complete synchronisatie opnieuw gestart. Op deze mannier zijn we onafhankelijk van het begin van elke seconde en is alleen de falling edge interessant tussen de 50 en 250ms. Een stuk minder storingsgevoelig dus.

meteotime:

Meteotime verzorgt de weersverwachting en deze verwachting wordt uitgezonden via de DCF77 zender. Elke minuut tussen de 1e en 14e seconde wordt een stukje van deze verwachting uitgezonden. 3 van deze minuten is één verwachting. Hoe dat in zijn werk gaat komen we straks op terug. Elke 3 minuten wordt er dus een stukje verwachting uitgezonden van een van de 60 gebieden in centraal europa. Voor deze 60 gebieden wordt een verwachting verzonden van 4 dagen . Verder zijn er nog 30 gebieden verder weg, waar een verwachting van 2 dagen wordt uitgezonden.  Om 0:00u start de uitzending met het eerste gebied (0 - Bordeaux) dag1, weer, regenkans en temp. Max. Na 3 minuten gebied (1- La Rochelle). Amsterdam, gebied 42, komt dus een paar minuten over 2 aan de beurt. Na 3 uur hebben we 60 gebieden gehad en herhaald het uitzenden van de gebieden, maar nu met het weer, wind en temp min. Na nog eens 3 uur volgt dag2 enz.

  • 0 - 3uur             1e dag   weer, regenkansen, temperatuur maximaal (gebieden 0 - 59).

  • 3 - 6uur             1e dag   weer, wind, temperatuur minimaal  (gebieden 0 - 59).

  • 6 - 9uur             2e dag   weer, regenkansen, temperatuur maximaal (gebieden 0 - 59).

  • 9 - 12uur           2e dag   weer, wind, temperatuur minimaal  (gebieden 0 - 59).

  • 12 - 15uur         3e dag   weer, regenkansen, temperatuur maximaal (gebieden 0 - 59).

  • 15 - 18uur         3e dag   weer, wind, temperatuur minimaal  (gebieden 0 - 59).

  • 18 - 21uur         4e dag   weer, regenkansen, temperatuur maximaal (gebieden 0 - 59).

  • 21 - 22:30u        4e dag   wind  (gebieden 0 - 59) + 1e dag weer en temp  (gebieden 60-89).

  • 22:30 - 0uur       2e dag   weer en temp  (gebieden 60-89).

Hier zien we ook dat de weersverwachting ontvangst 24 uur per dag door gaat en het gewenst is dat we de hele dag goede ontvangst hebben.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Start | Leden | Planning | Archief | Zoeken | Discussies | Contactinformatie

 Plaats voor copyrightgegevens of een ander type eigendomsverklaring.
Bij problemen met of vragen over deze website kunt u contact opnemen met [E-mailProject].
Laatst bijgewerkt: 27 november 2013.