Binäruhr / Binary Clock

Die Binäruhr zeigt die Uhrzeit im Binärcode an. Dazu muss man einfach alle Zahlen (Zweierpotenzen) zusammenzählen, die gerade farbig markiert sind. Die Uhrzeit wird nach dem Einschalten automatisch per Funk synchronisiert. Aktuell ist es 18:07 Uhr.

Image

Es handelt sich hierbei um einen Spezialfall von Digitaluhren. Dazu sagt die Literatur:

"Um [die Sonne] kreist in einer Entfernung von ungefähr achtundneunzig Millionen Meilen ein absolut unbedeutender, kleiner blaugrüner Planet, dessen vom Affen abstammende Bioformen so erstaunlich primitiv sind, dass sie Digitaluhren noch immer für eine unwahrscheinlich tolle Erfindung halten" (Douglas Adams, Per Anhalter durch die Galaxis, Prolog).

"Es gibt selbstverständlich viele Probleme, die mit dem Leben zusammenhängen; von denen sind einige der bekanntesten: Warum wird der Mensch geboren?, Warum stirbt er? und Warum verbringt er so viel von der Zeit dazwischen mit dem Tragen von Digitaluhren?" (Douglas Adams, Per Anhalter durch die Galaxis, Kapitel 25).


Image

  1. Zählwerk für die Stunden. DerMechanismus sorgt dafür, dass die benachbarte Ziffer immer nach einer halben Umdrehung mitgedreht wird. Links und rechts detektieren jeweils Mikroschalter, wann eine Umdrehung abgeschlossen ist, einmal für jede einzelne Stunde und einmal wenn alle Binärziffern auf Null stehen.
  2. Anzeige der Stunden. Blau = 1, Gold =0. Ganz links sieht man den Motor für das Zählwerk. Ganz rechts ist eine LED verbaut. Damit wird angezeigt, ob gerade ein Zeitzeichen empfangen wird (leuchtet) bzw. ob die Empfangsqualität nicht ausreicht (blinkt).
  3. Empfänger für das Zeitzeichen des DCF-Senders in Frankfurt. Einmal in der Stunde synchronisiert sich die Uhr mit der Funkzeit.
  4. Anzeige der Minuten. Für die Stunden reichen fünf Stellen aus: 2^5 = 32. Für die Minuten ist eine Stelle mehr nötig: 2^6 = 64. Das sind dann mehr Möglichkeiten als nötig - vielleicht sollte man die Zeit neu einteilen. Der Tag hätte 32 Stunden, die Stunde 64 Minuten, klingt doch super. Eine Binärstunde hätte dann 45 konventionelle Minuten. Einer Binärminute würden 0,9375 konventionelle Minuten entsprechen.
  5. Zählwerk für die Minuten, nach dem gleichen Prinzip wie bei den Stunden. Links und rechts sind wieder Mikroschalter angebracht, um den Zustand zu detektieren.
  6. Elektronik zur Ansteuerung der Uhr, basierend auf einem ATtiny44. Die Motoren werden mit zwei Mosfets angesteuert. Zur Stromversorgung werden 2 AAABatterien verwendet. Rechts befindet sich ein Hauptschalter für die Uhr.

In der Uhr sind eine Menge Zahnräder verbaut. Selbst mit CNC-Fräse braucht das viel Zeit, ob nun analog oder digital oder binär. Allein für die Minuten sind über 42 Kleinteile verbaut:

Image

Das Zeitzeichensignal wird mit einem Modul von Pollin empfangen. Der Sender in Frankfurt sendet jede Sekunde einen kurzen Impuls. Genauer gesagt wird die Trägeramplitude kurz abgesenkt. Damit werden Bitfolgen kodiert. Ein Impuls von 100ms Länge steht für eine 0, ein Impuls von 200ms für eine 1. Immer in der letzten Sekunde einer Minute wird der Impuls übersprungen, so dass der Anfang einer Minute eindeutig markiert sind. So stehen pro Minute insgesamt 59 Bit zur Verfügung. In den Bits 20 bis 35 ist die Uhrzeit kodiert.

Der Empfang reagiert empfindlich auf Bildschirme. Neben einem laufenden Computer ist kein Empfang möglich. Das sieht man sehr gut im Oszilloskop, links ein intaktes Signal, rechts ein getörtes Signal:

Image Image

Das gestörte Signal lässt sich überhaupt nicht verwerten. Wenn also die Funkuhren im Haus falsch gehen, einfach mal nach Störquellen suchen. In die Binäruhr ist deshalb eine LED eingebaut, die bei schlechtem Empfang blinkt.

Den Quelltext und die DCF77-Bibliothek gibt es auf GitHub.