DCF77-Funkuhr

Eine einfache Anwendung der AVR-Mikrocontrollerboards sollte eine DCF77-Funkuhr sein.  DCF77 bedeutet D=Deutschland, C=Langwelle, F=Frankfurt, und 77 ist die Frequenz. DCF wird von der Physikalisch-Technischen Bundesanstalt (PTB) Braunschweig betreut, und sendet seit 1973 Datum und Uhrzeit in die Welt. Das DCF77 Signal kommt aus Mainflingen in der Nähe von Frankfurt. Die Sendeleistung beträgt 50kW. Die Zeitinformationen, die diese Station sendet, sind hochgenau, die Abweichung beträgt ca. 1 Sekunde in 300.000 Jahren.

Das Signal ist hier in Berlin definitiv zu empfangen, wie unsere Küchenuhr zu berichten weiß. Die Daten des DCF-Signals werden über 20%-Pegelabsenkungen des Amplitudensignals übertragen. Eine Absenkung von 100 Millisekunden Länge ist eine logische „0“, eine Absenkung von 200 ms ist eine „1“. Alle 60 Sekunden wird zudem nicht abgesenkt – zur Synchronisierung.

Dennoch stellte sich das ganze zunächst als schwierig heraus, weil alle Schaltungen, die ich ausprobierte und modifizierte, nicht sauber funktionierten. Zwar war der Empfang des Signals kein Problem – ein einfacher Geradeausempfänger mit FET-Eingangsstufe, Transistorverstärker und anschließendem Spannungsverdoppler genügt dafür. Der Empfang war aber alles andere als stabil – bis ich herausfand, dass nicht die Schaltung, sondern die Umgebung das Problem war. Ein Wechsel in ein anderes Zimmer wirkte Wunder.

Die Decodierung des Signals und seine Aufbereitung ist nicht ganz einfach. Man braucht wegen der Amplitudenmodulation einen Empfänger mit einer guten Verstärkungsregelung – oder man bedient sich eines Tricks wie die Leute des Arbeitskreises „Amateuerfunk und Telekommunikation in der Schule „AATiS“. Ich stieß auf eine Schaltung aus dem Jahr 1994, die einerseits mit Philips-Mitteln weitgehend nachgebaut werden konnte und zum anderen eine offene Computerschnittstelle enthielt. Seinerzeit gab der AATiS sogenannte Praxishefte heraus, die inzwischen vergriffen sind, aber auf CD in PDF-Form noch nachbestellt werden können. Dort sind vielerlei Schaltungen erklärt, die wunderbar zur Philips-Serie passen – und in Heft 2 findet sich der DCF-Empfänger, der zur Verwendung mit den Philips-Baukästen nur geringfügig modifiziert werden musste. Insbesondere kommt die LW-Antennenspule zum Einsatz, der der Einfach-Drehkondensator und ein 1000pF-Festwert parallel geschaltet werden, um die nötige Frequenz von ca. 80-75 kHz zu erreichen.

Der Trick der AATiS-Entwickler besteht nun darin, das schwankende Signal mit den Absenkungen mit einem zweiten Signal zu vergleichen, aus dem die Absenkungen herausgefiltert sind – mit einem einfachen Tiefpass. Das ganze wird einem FET-OpAmp zugeführt et voilá – eine LED blinkt im Sekundentakt mal länger, mal kürzer.

Das Signal muss dann noch entschlüsselt werden, und hierzu habe ich meine AVR-Platine benutzt. Über den invertierten INT0-Eingang wird das Signal zugeführt und dessen jeweilige Impulslänge gemessen. Die Zuordnung der Bits zu deren Bedeutung ist gut im Internet dokumentiert. Nach dem Einschalten wird der Drehkondensator so abgestimmt, dass die Eingangs-LED zu blinken beginnt, danach dauert es etwa zwei Minuten, bis die Zeit und das Datum im Display erscheinen. Wenn der Empfang ausfällt, zählt der interne Zähler weiter, so dass die Uhr auch Empfangspausen überbrücken kann. Weitgehend fertige Algorithmen für die DCF77-Decodierung finden sich mehrfach im Internet; ich habe auf einen Sourcecode von Ulrich Radig zurückgegriffen, der unter GPL veröffentlich ist – weshalb mein Quelltext ebenfalls zum Download bereitsteht. Einige Anpassungen zur Ansteiuerung des LCD-Moduls, der Leuchtdioden (als Testausgabe) und zur Unterscheidung der „0“- und „1“-Bits waren erforderlich und sind kommentiert.

Der OpAmp ist ein CA3130, für den noch eine passende Platine zu entwickeln sein wird. Er braucht weniger Leistung als der in den ABC-Kästen genutzte TA081 – dieser sollte aber auch funktionieren, wenn man die Spannungsversorgung entsprechend anpasst. Die Transistoren werden als BC549C ausgewiesen – also solche mit ausgesucht hoher Verstärkung. Ich habe nicht getestet, ob der Philips-Standard BC548 es ebenfalls tut.

Update 18.10.2012: Der Quellcode wurde überarbeitet und mit einer adaptiven Regelung für den Schwellwert zwischen 1- und 0-Bits versehen. Die Decodierung der Signale funktioniert damit zuverlässiger und schneller.

DCD77-Quellcode_V1.1

Zurück zur Übersicht

1 Antwort zu DCF77-Funkuhr

  1. Günter Kleppien sagt:

    S E H R E R F R E U L I C H !

    Ich schätze ich werde noch viele Fragen haben.

    GeKa

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.