Dienstag, 14. Januar 2014

Arduino DCF77 mit GLCD 128x64 Display

Projektbeschreibung

Ich liebe Uhren, besonders mechanische mit automatischem Aufzug, so viele Komplikationen, wie möglich, allerdings sollten die Uhren schon genau gehen, und wenn nicht, dann muss man ein Normal als Referenz zur Verfügung haben.
Nachdem ich seit meiner Ausbildung nur noch selten etwas mit Elektronik zu tun hatte, ist meine Leidenschaft mit einem Conrad Adventskalender, der elektronische Bauelemente in den Türen versteckt, dazu gibt es Idiotensichere Beschreibungen zu den kleinen Experimenten, hatte es für meine Töchter gedacht und dann doch selbst damit gebastelt, wieder geweckt worden.

Der Schritt zu einem Arduino und einer kleinen Werkstatt war dann nicht mehr so groß. Nach ein paar Lötübungen an einem Kapaztätsmesser und anderen Bausätzen, habe ich mit dem Arduino Digitale Uhren gebastelt.
RTC Modul an den Arduino angeschlossen, ein 1602 LCD Display genutzt, fertig war die DS1307 basierte Uhr! Unterschiedliche Displays versucht, und immer wieder eine Uhr gebaut.


DS1307 Shield und LCD1602 I2C Display
SD1602 Display aus einem alten Drucker mit einem DS1307 RTC Shield

Das Stellen der Uhren war mir mit der Zeit zu mühsam, es sollte doch möglich sein, eine Uhr mit einer anderen zu synchronisieren.
Natürlich sollte die Uhr, mit der man synchronisiert auch recht genau gehen.

Aus dem Haushalt kennt man ja die DCF77 Uhren, sehr genau und man freut sich, wenn mal wieder die Uhren umgestellt werden müssen und man mit diesen keine Arbeit hat.



Mit einem günstigem DCF77 Modul von Pollin und einem SN74HC14N zur Impulsformung konnte man schon ein schönes DCF77 Signal sehen. Für die 3V Versorgungsspannung habe ich die Idee mit der Masse-Erhöhung durch die vorgeströmten Dioden aufgegriffen, aber durch eine LED ersetzt.

200ms DCF77 Signal für logisch 1

Hardware

  • Pollin DCF77 Modul, hier eine sehr gute Beschreibung von Herrn Bernard Redemann zum DCF77 Empfänger
  • Arduino
  • LCD oder GLCD Display

Software

Ablauf

Erster Aufbau mit einem Breadboard, Versorgungsspannung OK, PON OK, Signal mit einer LED an einem OPV und mit DIY Scope überprüft. Signalpegel hat nicht für TTL gereicht, nach Einsatz des SN74HC14N habe ich ein sehr schönes DCF77 Signal bekommen.

Erster Aufbau mit dem Pollin DCF77 Modul und IIC Display
Der nächste Schritt bestand darin, ein DCF77 Shield zu bauen. Ohne Sinn und Verstand angefangen, zu löten und dabei nicht bemerkt, dass...
Erster Versuch DCF77 Shield
ich auf der Unterseite des Prototype Boards bestückt hatte! Super, funktioniert, kann man aber nicht als Shield nutzen. Außerdem hatte dieser Aufbau nur ein OPV zur Signalaufbereitung, hat beim UNO funktioniert, aber beim Leonardo nicht. Der Pegel war nicht TTL konform.

DCF77 board mit 2004 LCD
Wie man im Bild sieht, ist es dann doch gelungen, mit der u8g.setScale2x2(); Funktion, die den gewählten Font vergrößert.


Ergebnis: Arduino Leonardo mit DIY DCF77 Shield und 128x64 GLCD per SPI Schnittstelle  
Alles zusammengebaut, die beiden Displays angeschlossen, fertig! Eine genaue Uhr im Keller, jetzt fehlt das Gehäuse! Leider habe ich überhaupt kein Geschick mit Gehäusen...
Blick auf das DIY Shield für RTC Modul, IIC und SPI