![]() |
| Beiträge / Newton / Hardware |
DCF77-Empfänger und -Decoder selbstgeschraubtDas 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 ErfolgAuch 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 SchaltungDie 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. NB: Die Ein/Ausgangssignale (RxD, TxD usw.) geben die Signale an der Newton-Buchse an. Stückliste
Der AufbauDie 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 SoftwareDer 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:
Mit <Cause> (als binärer Wert):
BeispieleDie 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.
Der MicrocontrollerWie 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. FehlersucheAls 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:
|
| /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 zeigt den Signalverlauf kurz vor der fallenden Flanke vom Sekundenimpuls. Hier kann man die Signale TxD+ und TxD- besser erkennen.
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.
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.
Im Vordergrund die Ferritantenne, hinten rechts das zurechtgestutzte DCF-Modul.
Links hinten der Microcontroller.
...und das ganze im Gehäuse.
Nick Müller