DCF77 Tijd en weerontvanger |
|
|
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.
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.
|