Dies ist eine kostenlose Homepage erstellt mit hPage.com.

Eine klassische Binär Uhr mit DCF MODUL


 
Highlights:
- kann mit ATmega 48/88/168/328 nachgebaut werden
- Nachbau mit Arduino NANO / UNO möglich
- LEDs mit soft PWM in 5 Stufen
- Tasten sind Optional
- Anzeige von Uhrzeit, Datum, Wochentag, Jahr
- Zeit stellt sich selber, durch DCF MODUL
 

 

 

Neue Version:
Kann mit einem ATmega 48/88/168/328 oder Arduino NANO/UNO nachbegaut werden
Mit DCF MODUL - Uhr stellt sich selber
 
 
Schaltung:
Versorgt wird die Schaltung von einem USB Steckernetzteil, das 5V und min. 0.5A liefert. Bei angelegter Spannung gehts los. Die Sekunden laufen und man sieht, dass die Uhr läuft. Über den DCF Empfänger wird die DCF Zeit empfangen. Man sieht es an der DCF Led, die im Sekundentakt blinkt. So wie die Uhrzeit komplett empfangen wurde und korrekt ist, wird Sie sekundengenau übernommen. Bei Störungen leuchtet die DCF_LED unregelmäßig. Die Uhr versucht so lange sich mit dem DCF Empfänger zu syncronisieren, bis eine genau Zeit erfasst wurde. Wenn die Uhr dann erst mal Syncron ist, verlischt die DCF_LED und die nächste Syncronisation findet erst wieder in 24h statt.
Die Leds werden über den Timer_0 nacheinander ein- & ausgeschaltet. Immer Spalte für Spalte. Die Zeit wird im Hauptprogramm in 10er und 1er Potenzen zerlegt. Und in ein ARRAY(mit 6 Bytes) abgelegt. Wo die ISR dann nur noch auf das passende ARRAY zugreifen muss. Man nenn es Multiplexing-Betrieb.
Mit der Taste 1 lässt sich die Helligkeit der LEDs regeln in 5 Stufen. Mit der 2. Taste kann man dann den Wochentag u. Datum anzeigen lassen und bei einem weitern Tastendruck noch das Jahr anzeigen lassen. Nach einem weiteren Tastendruck gelangt man wieder zur Uhrzeit. Datum und Jahr wird nur für 15 Sekunden angezeigt. Danach springt die Anzeige wieder auf die Darstellung der Zeit. 
 
 
Nachbau:
Ich verwende hier nur Low Current Led's, um die Ausgänge nicht noch extra verstärken zu müssen. Die 150 Ohm Widerstände dienen nur als Schutz, für die Led's. Und die DCF_Led ist nur eine kleine 3mm Led, die ich noch rum liegen hatte. Das ganz wurde von mir auf eine Punktraster Platine gelötet. Und mit 0,5 mm Kupferlackdraht verbunden.
Man kann auch andere LEDs benutzen die man gerade zur Hand hat.
Ich habe es mit normalen blauen LEDs getestet und es geht auch.
Es wird hier auch bewust mit externem 16MHz Quarz gearbeitet um eine genaue Uhrzeit zu erhalten.
Und um die Helligkeit der LEDs mit einer Soft PWM zu realisieren.
Das verwendete DCF Modul stammt von ELV und kann direkt an 5V betrieben werden. 
Wenn Sie ein anderes Modul verwenden was eventuell nur mit 3,3V zu betreiben ist. Dann müssten Sie mit 100 Ohm und einer 3,6V Z-Diode die Spannnung begrenzen und den Ausgang ggf. noch mit einem Transistor (z. Bsp. BC327) verstärken.
Wenn das DCF MODUL keinen guten Empfang hat, kann es schon mal dauern bis sich die Uhr einmal stellt.
Aber dann läuft Sie ja erst mal.
Wie gesagt, die Tasten können mit angeklemmt werden. Sind aber nur optional und müssen nicht unbedingt verbaut werden.
Die Uhr läuft auch ohne eine Taste.
 
 
Bei der Verwendung eines Arduino NANO/UNO sind die Pins wie folgt belegt :
  • PortD 0 ist DIGITAL PIN 0 (RX)
  • PortD 1 ist DIGITAL PIN 1 (TX)
  • PortD 2 ist DIGITAL PIN 2
  • PortD 3 ist DIGITAL PIN 3
  • PortD 4 ist DIGITAL PIN 4
  • PortD 5 ist DIGITAL PIN 5
  • PortD 7 ist DIGITAL PIN 7
  •  
  • PortB 0 ist DIGITAL PIN 8
  • PortB 1 ist DIGITAL PIN 9
  • PortB 2 ist DIGITAL PIN 10
  • PortB 3 ist DIGITAL PIN 11
  •  
  • PortC 0 ist ANALOG IN A0
  • PortC 1 ist ANALOG IN A1
  • PortC 5 ist ANALOG IN A5
 
 
Software:
Die Fuse bei ATmega 48/88/168/328 sind LOW:0xFF HIGH:0xD9 
Und die Firmware in den ATmega flashen 
Bei Arduino, einfach über den XLOADER die *.hex Datei einspielen 
Fuse bei Arduino Uno: LOW:0xFF, HIGH:DE 
 
 
 
 
Dies ist eine kostenlose Homepage erstellt mit hPage.com.