pda-lifestyle.de
Beiträge / Newton / Hardware
Hauptmenü
- Titelseite
- Beiträge
- Forum
- Download
- Links
- Impressum
-

DCF77-Empfänger und -Decoder selbstgeschraubt

Das hier beschriebene Projekt ist nicht nur für Newtons geeignet, mit kleinen Modifikationen in der Hardware kann man es auch an allen RS232 Schnittstellen verwenden. Einzige erforderliche Anpassung wäre eine Begrenzung der Eingangsspannungen auf 5V. Ich werde darauf am Ende detailierter eingehen.

Warum der ganze Aufwand?

Ob ein DCF77-Empfängerr für den Newton Sinn macht oder nicht, darüber kann man sich trefflich streiten. Aber oft ist es einfach nur die Freude an der Bastelei die zu den zugegenbenermaßen nicht lebenswichtigen DCF77-Empfänger geführt hat.

Es gibt an anderer Stelle im Internet Anleitungen für einfache Empfängerschaltungen und vor allem Software die die komplette Dekodierung des Signals übernimmt ohne dazu einen Microcontroller zu benötigen. Leider erfordert die Dekodierung des Roh-Signals vom Empfänger eine hohe CPU-Verfügbarkeit in Multitaskingumgebungen und einen einfach auslesbaren 1Bit-Eingang am PC/PDA. Leider verfügt der Newton zwar über eine schnelle CPU (der MP2000) aber wann sie verfügbar ist ist nicht vorhersehbar. Erst recht gibt es keinen digital-Eingang. Also liegt es nahe das rohe DCF77-Signal an anderer Stelle zu dekodieren und in ein serielles Signal umzuwandeln, das dann vom Newton leicht ausgewertet werden kann. Wer sich schon einmal mit Microcontrollern beschäftigt hat, wird so eine Mini-CPU als idealen Kandidaten für die Wandlung erkennen. Und der Aufwand für den Controller liegt einzig in der Software, die Hardware selbst ist einfach und relativ billig.

Mit wenigen Bauteilen zum Erfolg

Auch wenn ich doch einige Erfahrung in der Digital-Elektronik habe, es ist doch schon eine Zeit her und darum ist mein Ansatz eher softwarelastig und darauf ausgerichtet ohne lange Löterei ans Ziel zu kommen. Darum findet ein fertiger DCF77 Baustein Verwendung. Ich hab ein Modul von Conrad-Elektronik verwendet. Genauso ist es aber möglich eine alte DCF77 Uhr auszuschlachten und als Empfänger zu missbrauchen. Dazu mehr unter dem Punkt Recycling. Zweiter wichtiger Baustein ist der Microcontroller von microchips und etwas periphere Bauteile zur Stromversorgung. Die Schaltung wird übrigens vollständig aus der Schnittstelle versorgt und beötigt keine Batterien (ca 1-2 mA).

Die Schaltung

Die Bauteile sind unkritsch, bis auf die Dioden D1, D2 die Schottky-Dioden sein sollten (oder auch Germanium) um eine möglichst niedrige Durchlaßspannung zu haben. Die Kondensatoren C1, C2 sollten keramische sein. Die LEDs LED1, LED2 müssen High-Efficency-LEDs sein, die Stromversorgung aus der Schnittstelle kann nur wenige mA liefern. Das DCF77 Modul ist von Conrad-Elektronik. Achtung, es gibt verschiedene Typen! Hier wurde der Typ "DCF Empfängerplatine" mit open collektor Ausgang, Ferritantenne Schraubklemmenanschluß gewählt.

Die beiden Dioden D1, D2 sorgen für die Versorgungsspannung die von C3 geglättet wird. IC1, das Kernstück der Schaltung wertet die Signale des DCF77 Moduls aus. Die beiden LEDs zeigen Fehlerzustände oder das Zeitsignal an. Normalerweise blinkt die grüne LED im Sekundenrythmus mit einer Dauer von 20 oder 40 mS. Grünes Dauerleuchten deutet auf einen "überfahrenen" Empfänger hin (Dauer-Low am Ausgang). Einmal pro Minute fehlt der Sekundenimpuls. Leuchtet die rote LED, dann wurde ein fehlerhaftes Signal empfangen.

SCHALTPLAN

NB: Die Ein/Ausgangssignale (RxD, TxD usw.) geben die Signale an der Newton-Buchse an.

Stückliste

 R1, R2 100 Ohm
 R3, R4 2k2 Ohm
 R5 22k Ohm
 C1, C2 22p keramisch
 C3 100n keramisch
 Q1 4MHz
 D1, D2 Schottky BAT 43, BAT 45 o.ä. oder Germanium (AA112 ??)
 IC1 PIC16C84P Achtung, der Baustein muß programmiert sein!
 DCF77 Modul Conrad-Electronic BestNr.64 11 38-44 o.ä.

Der Aufbau

Die gesamte Schaltung findet auf einer kleinen Lochrasterplatine Platz. Wenn man vom Empfängerbaustein die Schraubklemmen auslötet und die Ränder etwas kürzt passt alles incl. Ferritantenne in ein Gehäuse 85 * 45 * 22 mm. Die Verbindung zum Newton fertigt man am besten aus einem MiniDIN8 Kabel das man in der Mitte auseinander schneidet. Aber Achtung, das Kabel muß mindestens 30cm lang sein, der Newton stört sonst den Empfang zu sehr.

Die PIC Software

Der PIC 16C84 ist ein Microcontroller von MICROCHIP der 1K ROM und 36 Byte RAM hat. Verdammt wenig in Zeiten von Win95, aber genug um das Signal vom DCF-Empfänger auszuwerten. Dieses Signal ist 20 oder 40 ms lang und muß im 1 Sekundenabstand kommen. Die Software im PIC erkennt Signale wenn sie bis zu 10ms vor oder nach dem theoretischen Zeitpunkt kommen und eine Länge von 16 ... 23 ms oder von 35 ... 44 ms haben als richtig . Diese Sekundensignale werden als "L" oder "H" seriell ausgegeben. Alle anderen Signale werden als Fehler gemeldet ("E" oder "I"). Die einzelnen Pulse (kurzer Puls entspr. 0, langer Puls entspr. 1) werden über 1 Minute gesammelt, zu einem 8 Byte-Packet zusammengefasst und als ganzes ("T") seriell ausgegeben.

Die serielle Schnittstelle wird durch Software simuliert und kommuniziert mit 19200 Baud. Im Einzelnen meldet die Software folgende Zustände:

E <Cause> Error
I <Cause> Informal error
T <EightBytes> 1 Minuten Signal
L   Low-Puls (1 Sec. Intervall)
 H   High-Puls (1 Sec. Intervall)

Mit <Cause> (als binärer Wert):

0 Wrong Len
1 Unexpected Timeout
2 Stuck low
3 Glitch (Nur bei informal Error)

Beispiele

Die Ausgabe erfolgt in der Form ASCII-Zeichen, kein / ein / acht binäre Werte. Die Schreibweise hält sich an die C-Syntax. So bedeutet "I\x03": Buchstabe "I" und eine binäre 3.

  • "E\x02": Fehler im Signal. Der Ausgang war zu lange auf low (länger als 44ms).
  • "I\x03": Es wurde auserhalb des 1-Sekundenrasters ein Signal empfangen. Es wird ignoriert.
  • "Txxxxxxxx": Es konnte eine komplette Minute fehlerfrei empfangen werden. Alle L/H-Impulse werden als ein Packet noch einmal übertragen. Zum Aufbau dieser 8 Byte siehe Internetquellen.
  • "L": Ein kurzer 1-Sekundenimpuls wurde empfangen
  • "H": Ein langer 1-Sekundenimpuls wurde empfangen

Der Microcontroller

Wie bereits erwähnt braucht der Microcontroller ein Programm um funktionieren zu können. Der Baustein kann von mir für DM 20.- + DM 3.- Porto bezogen werden.

Die Newton-Software:

Ist ein "dirty hack", der aus einem APPLE-Beispiel entstanden ist. So wie sie jetzt ist, enthält sie vieleicht noch kleine Fehler mit denen man aber leben kann. Vielleicht findet sich ja mal Zeit das ganze perfekt zu machen. Das Programm wird einfach auf dem Newton (MP1x0, MP2x00 mit OS2.0 oder höher) installiert und gestartet. Die Software ist selbsterklärend. Download!

Inbetriebnahme:

Als erstes ist unbedingt darauf zu achten, daß der Empfänger von Störquellen weit genug entfehrnt ist. Monitore und Computer sollten mind einen Abstand von 1m haben, der Newton mindestens 30cm.

Das Empfängerkabel in den Newton stecken und die Software starten. Dort den Knopf verbinden drücken. Die Ferritantenne quer zu Richtung Frankfurt ausrichten. Es sollte dann die grüne LED im Sekundentakt blinken. Nach maximal einer Minute ist der Sekundentakt synchron, nach einer weiteren Minute wurde die vollständige Uhrzeit mit Datum übertragen. Vorausgesetzt es wurde ein fehlerfreises Signal empfangen.

Fehlersuche

Als erstes ist unbedingt darauf zu achten, daß der Empfänger von Störquellen weit genug entfehrnt ist. Monitore und Computer sollten mindestens 1m entfernt sein, der Newton mindestens 30cm.

Um die Suche etwas einfacher zu gestalten, hier 2 Aufzeichnungen:


Aufzeichnung 1

Aufzeichnung 1 zeigt den Signalverlauf über mehrere Sekunden. Etwa in der Mitte kann man den fehlenden Sekundenimpuls zum Minutenende erkennen.

Die Bedeutung der aufgezeichneten Kanäle:
/DCF Ausgangssignal des DCF77-Moduls
LED Eingangssignal der LED 1 (grüne LED)
RxD+ Serielles Signal an den Newton
RxD- Serielles invertiertes Signal an den Newton


Aufzeichnung 2

Aufzeichnung 2 zeigt den Signalverlauf kurz vor der fallenden Flanke vom Sekundenimpuls. Hier kann man die Signale TxD+ und TxD- besser erkennen.

Recycling:

Wie eingangs erwähnt, kann man auch aus alten "Funk"-Uhren oft ein Empfängermodul verwenden. Voraussetzung ist, daß man die Stelle findet, die den positiven Puls des Zeitsignals liefert.

Andere Computer?

Die komplette Schaltung darf, so wie sie hier beschrieben ist, nur am MessagePad betrieben werden. Bei der Konzeption wurde davon ausgegangen, daß die serielle Schnittstelle mit 0..5V arbeitet. Soll die Schaltung an anderen Computern betrieben werden muß hinter D1, D2 die Spannung auf 5V begrenzt werden. Mit Hilfe eines Widerstandes und einer Zener-Diode kein Problem.

Das für den RS422 Betrieb so wichtige Signal RxD- kann beim Anschluß an eine RS232 entfallen, da alle Empfängerbausteine einen Eingangspegel von 0..5 Volt richtig erkennen und auch kein Differenzsignal verwenden.

Wie sieht denn das aus?


Im Vordergrund die Ferritantenne, hinten rechts das zurechtgestutzte DCF-Modul. Links hinten der Microcontroller.


...und das ganze im Gehäuse.

Nick Müller

 
Web pda-lifestyle.de