LED-Uhr mit (Funk-)Echtzeituhr-Modul

Beschreibung

Nach Fertigstellung des RTC-Moduls stand der Bau einer kompletten Echtzeituhr auf dem Programm. Die Uhr soll einigermaßen interessant aussehen, natürlich automatisch per DCF77-Signal synchronisiert werden und eine Tag/Nacht-Umschaltung haben, die nachts etwas Ruhe in die Anzeige bringt.

Die Uhr besitzt folgende Eigenschaften: Das Ergebnis der Bemühungen ist hier zu sehen (Video):

uhr.jpg

Das
RTC-Moduls übernimmt hierbei (nebenbei) die komplette Steuerung der Uhr. Es dekodiert die DCF77-Signale des DCF77-Moduls und steuert über LED-Treiber des Typs SAA1064 LED-Anzeigen.

uhr.jpg

Die Abbildung zeigt den Aufbau der Uhr. Der Aufbau ist mit separaten Platinen für das Uhr-Modul, die LED-Treiber, die LED-Sockel und den Schaltregler modular und bietet damit die Vorteile, einzelne Komponenten in anderen Projekten wiederverwenden zu können und zusätzliche Flexibilität beim Einbau in ein Gehäuse. Der dadurch insgesamt ein wenig steigende Platzbedarf und die etwas höheren Kosten spielen hingegen bei einem solchen Hobbyprojekt keine Rolle.

Schaltung

Das RTC-Modul und die Schaltung sind in den folgenden beiden Abbildungen dargestellt:

realtime_clock.png rtc_platine_v0.2.jpg

Die Beschaltung der LED-Treiber (SAA1064):

LED_Treiber.png

Für die LED-Anzeigen wurde eine eigene Platine erstellt:

segment_single_anzeige.png segment_single_anzeige.jpg

Die Spannungsversorgung erfolgt mittels Schaltregler, der den Eingansspannungsbereich von 8...40 V (DC) auf 5 V stabilisiert:

schaltregler.png

Quellen

Verfügbar sind die Schaltplanquellen für KiCAD:

1. RTC-Modul


2. LED-Treiber-Platine


3. LED-Sockel-Platine


4. Schaltregler-Platine


Im folgenden Archiv sind alle Quellen für die Software auf dem ATmega-Controller enthalten:

rtc_control_0.3_clock.tar.gz

Eine Doxygen-Dokumentation der Funktionen ist hier zu finden.

Die Quellen sind als AVR-Projekt für die Entwicklungsumgebung Code::Blocks organisiert. In den Projekteinstellungen ist derzeit als Zielplattform ein ATmega168 mit 20 MHz Taktfrequenz eingestellt. Bei abweichendem Takt sind die Definitionen F_CPU in den Projekteinstellungen bzw. in main.c und die Definition RTC_OCR0A in der Datei rtc_control.h entsprechend anzupassen.

Die Ansteuerung der sechs 7-Segment-Anzeigen mit Hilfe von drei SAA1064 ICs erfolgt über den gemeinsamen I2C-Bus. Diese Funktion kann der Nutzer in der Datei rtc_control.h mittels der Definition RTC_SAA1064_OUTPUT an- oder abschalten.

Die Funktion des Moduls kann über Debug-Ausgaben auf einem LCD am Port P4 kontrolliert werden. Zur Zeit sind die Quellen an die Verwendung eines LCD mit 4 Zeilen und je 20 Zeichen angepasst.

Die Quellen können selbstverständlich auch (manuell) in eine andere Entwicklungsumgebung (zum Beispiel AVR-Studio) eingebunden werden.

Für die Konfiguration des Systems wichtige Dateien sind:

Fehlerquellen

Folgende potentielle Fehlerquellen sind beim Benutzen des RTC-Moduls zu beachten:

Lizenz

Alle hier veröffentlichten Quellen stehen unter der LGPLv3.

Alle hier veröffentlichten Schaltungen können natürlich nach Belieben nachgebaut oder verändert und veröffentlicht werden.
Zu beachten ist dabei allerdings, dass dies ein Hobby-Projekt ist und keinerlei Gewährleistung für Fehlerfreiheit oder gar eine Haftung für eventuelle Schäden übernommen werden kann.
Die Schaltungen sollen eine Anregung darstellen und sie nachbauen und in Betrieb nehmen sollte nur der, der weiß, was er tut..

Versionsinfo (Webseite)

Anregungen oder weitere Informationen

Für Anregungen oder die Beantwortung von Fragen zum Projekt steht ein Forum zur Verfügung.