DCF Uhr mit Arduino Nano

Hi

Ich bin blutiger Anfänger beim Thema Arduino. Ich möchte eine DCF Uhr bauen und habe mir den Code von dieser Seite: http://playground.arduino.cc/Code/DCF77 heruntergeladen und kompiliert. Das DCF Modul habe ich bei Elv gekauft. Ich habe es mit Pin D2 vom Arduino verbunden. Einen 10k Pullup habe ich auch hinzugefügt. Den Example Code habe ich nicht verändert. Nach dem flashen bekomme ich diese Serielle Ausgabe:

Waiting for DCF77 time ... It will take at least 2 minutes before a first time update. 0:00:01 1 1 1970 0:00:02 1 1 1970 0:00:03 1 1 1970 0:00:04 1 1 1970 0:00:05 1 1 1970 0:00:06 1 1 1970 0:00:07 1 1 1970 0:00:08 1 1 1970 0:00:09 1 1 1970 0:00:10 1 1 1970 0:00:11 1 1 1970 0:00:12 1 1 1970 0:00:13 1 1 1970 0:00:14 1 1 1970 0:00:15 1 1 1970 0:00:16 1 1 1970 0:00:17 1 1 1970 0:00:18 1 1 1970 0:00:19 1 1 1970 0:00:20 1 1 1970 0:00:21 1 1 1970 0:00:22 1 1 1970 0:00:23 1 1 1970 0:00:24 1 1 1970 0:00:25 1 1 1970 0:00:26 1 1 1970 0:00:27 1 1 1970 0:00:28 1 1 1970 0:00:29 1 1 1970 0:00:30 1 1 1970 0:00:31 1 1 1970 0:00:32 1 1 1970 0:00:33 1 1 1970 0:00:34 1 1 1970 0:00:35 1 1 1970 0:00:36 1 1 1970 0:00:37 1 1 1970 0:00:38 1 1 1970 0:00:39 1 1 1970 0:00:40 1 1 1970 0:00:41 1 1 1970 0:00:42 1 1 1970 0:00:43 1 1 1970 0:00:44 1 1 1970 0:00:45 1 1 1970 0:00:46 1 1 1970 0:00:47 1 1 1970 0:00:48 1 1 1970 0:00:49 1 1 1970 0:00:50 1 1 1970 0:00:51 1 1 1970 0:00:52 1 1 1970 0:00:53 1 1 1970 0:00:54 1 1 1970 0:00:55 1 1 1970 0:00:56 1 1 1970 0:00:57 1 1 1970 0:00:58 1 1 1970 0:00:59 1 1 1970 0:01:00 1 1 1970 0:01:01 1 1 1970 0:01:02 1 1 1970 0:01:03 1 1 1970 0:01:04 1 1 1970 0:01:05 1 1 1970 0:01:06 1 1 1970 0:01:07 1 1 1970 0:01:08 1 1 1970 0:01:09 1 1 1970 0:01:10 1 1 1970 0:01:11 1 1 1970 0:01:12 1 1 1970 0:01:13 1 1 1970 0:01:14 1 1 1970 0:01:15 1 1 1970 0:01:16 1 1 1970 0:01:17 1 1 1970 0:01:18 1 1 1970 0:01:19 1 1 1970 0:01:20 1 1 1970 0:01:21 1 1 1970 0:01:22 1 1 1970 0:01:23 1 1 1970 0:01:24 1 1 1970 0:01:25 1 1 1970 0:01:26 1 1 1970 0:01:27 1 1 1970 0:01:28 1 1 1970 0:01:29 1 1 1970 0:01:30 1 1 1970 0:01:31 1 1 1970 0:01:32 1 1 1970 0:01:33 1 1 1970 0:01:34 1 1 1970 0:01:35 1 1 1970 0:01:36 1 1 1970 0:01:37 1 1 1970 0:01:38 1 1 1970 0:01:39 1 1 1970 0:01:40 1 1 1970 0:01:41 1 1 1970 0:01:42 1 1 1970 0:01:43 1 1 1970 0:01:44 1 1 1970 0:01:45 1 1 1970 0:01:46 1 1 1970 0:01:47 1 1 1970 0:01:48 1 1 1970 0:01:49 1 1 1970 0:01:50 1 1 1970 0:01:51 1 1 1970 0:01:52 1 1 1970 0:01:53 1 1 1970 0:01:54 1 1 1970 0:01:55 1 1 1970 0:01:56 1 1 1970 0:01:57 1 1 1970 0:01:58 1 1 1970 0:01:59 1 1 1970 0:02:00 1 1 1970 0:02:01 1 1 1970 0:02:02 1 1 1970 0:02:03 1 1 1970 0:02:04 1 1 1970 0:02:05 1 1 1970 0:02:06 1 1 1970 0:02:07 1 1 1970 0:02:08 1 1 1970 0:02:09 1 1 1970 0:02:10 1 1 1970 0:02:11 1 1 1970 0:02:12 1 1 1970 0:02:13 1 1 1970 0:02:14 1 1 1970 0:02:15 1 1 1970 0:02:16 1 1 1970 0:02:17 1 1 1970 0:02:18 1 1 1970 0:02:19 1 1 1970 0:02:20 1 1 1970 0:02:21 1 1 1970 0:02:22 1 1 1970 0:02:23 1 1 1970 0:02:24 1 1 1970 0:02:25 1 1 1970 0:02:26 1 1 1970 0:02:27 1 1 1970 0:02:28 1 1 1970 0:02:29 1 1 1970 0:02:30 1 1 1970 0:02:31 1 1 1970 0:02:32 1 1 1970 0:02:33 1 1 1970 0:02:34 1 1 1970 0:02:35 1 1 1970 0:02:36 1 1 1970 0:02:37 1 1 1970 0:02:38 1 1 1970 0:02:39 1 1 1970 0:02:40 1 1 1970 0:02:41 1 1 1970 0:02:42 1 1 1970 0:02:43 1 1 1970 0:02:44 1 1 1970 0:02:45 1 1 1970 0:02:46 1 1 1970 0:02:47 1 1 1970 0:02:48 1 1 1970 0:02:49 1 1 1970 0:02:50 1 1 1970 0:02:51 1 1 1970 0:02:52 1 1 1970 0:02:53 1 1 1970 0:02:54 1 1 1970 0:02:55 1 1 1970 0:02:56 1 1 1970 0:02:57 1 1 1970 0:02:58 1 1 1970 0:02:59 1 1 1970 0:03:00 1 1 1970 0:03:01 1 1 1970 0:03:02 1 1 1970 0:03:03 1 1 1970 0:03:04 1 1 1970 0:03:05 1 1 1970 0:03:06 1 1 1970 0:03:07 1 1 1970 0:03:08 1 1 1970 0:03:09 1 1 1970 0:03:10 1 1 1970 0:03:11 1 1 1970 0:03:12 1 1 1970 0:03:13 1 1 1970 0:03:14 1 1 1970 0:03:15 1 1 1970 0:03:16 1 1 1970 0:03:17 1 1 1970 0:03:18 1 1 1970 0:03:19 1 1 1970 0:03:20 1 1 1970 0:03:21 1 1 1970 0:03:22 1 1 1970 0:03:23 1 1 1970 0:03:24 1 1 1970 0:03:25 1 1 1970 0:03:26 1 1 1970 0:03:27 1 1 1970 0:03:28 1 1 1970 0:03:29 1 1 1970 0:03:30 1 1 1970 0:03:31 1 1 1970 0:03:32 1 1 1970 0:03:33 1 1 1970 0:03:34 1 1 1970 0:03:35 1 1 1970 0:03:36 1 1 1970 0:03:37 1 1 1970 0:03:38 1 1 1970 0:03:39 1 1 1970 0:03:40 1 1 1970 0:03:41 1 1 1970 0:03:42 1 1 1970 0:03:43 1 1 1970 0:03:44 1 1 1970 0:03:45 1 1 1970 0:03:46 1 1 1970 0:03:47 1 1 1970 0:03:48 1 1 1970 0:03:49 1 1 1970 0:03:50 1 1 1970 0:03:51 1 1 1970 0:03:52 1 1 1970 0:03:53 1 1 1970 0:03:54 1 1 1970 0:03:55 1 1 1970 0:03:56 1 1 1970 0:03:57 1 1 1970 0:03:58 1 1 1970 0:03:59 1 1 1970 0:04:00 1 1 1970 0:04:01 1 1 1970 0:04:02 1 1 1970 0:04:03 1 1 1970 0:04:04 1 1 1970 0:04:05 1 1 1970 0:04:06 1 1 1970 0:04:07 1 1 1970 0:04:08 1 1 1970 0:04:09 1 1 1970 0:04:10 1 1 1970 0:04:11 1 1 1970 0:04:12 1 1 1970 0:04:13 1 1 1970 0:04:14 1 1 1970 0:04:15 1 1 1970 0:04:16 1 1 1970 0:04:17 1 1 1970 0:04:18 1 1 1970 0:04:19 1 1 1970 0:04:20 1 1 1970 0:04:21 1 1 1970 0:04:22 1 1 1970 0:04:23 1 1 1970 0:04:24 1 1 1970 0:04:25 1 1 1970 0:04:26 1 1 1970 0:04:27 1 1 1970 0:04:28 1 1 1970 0:04:29 1 1 1970 0:04:30 1 1 1970 0:04:31 1 1 1970 0:04:32 1 1 1970 0:04:33 1 1 1970 0:04:34 1 1 1970 0:04:35 1 1 1970 0:04:36 1 1 1970 0:04:37 1 1 1970 0:04:38 1 1 1970 0:04:39 1 1 1970 0:04:40 1 1 1970 0:04:41 1 1 1970 0:04:42 1 1 1970 0:04:43 1 1 1970 0:04:44 1 1 1970 0:04:45 1 1 1970 0:04:46 1 1 1970 0:04:47 1 1 1970 0:04:48 1 1 1970 0:04:49 1 1 1970 0:04:50 1 1 1970 0:04:51 1 1 1970

Hat jemand einen Tipp für mich?

LG Florian

Ich hatte mal ein ähnliches Problem. Lag an dem Netzteil meines Laptops. Nachdem ich den Laptop im Akkubetrieb hatte lief es. Sprich die Versorgungsspannung hat den Empfang gestört. Das kann dir beim normalen PC auch passieren.

Es gibt viele Störquellen, as sind potentiell fast alle Elektrogeräte. Wenn Du einen Abstand von 3-5m hälst dann geht's. Schau auf der Internetseite von Udo Klein nach, er hat einen sehr störresistenten Alogaritmus geschrieben.

Grüße Uwe

Schritt 0: sicherstellen, daß Du einen ausreichend aktuellen Compiler hast. Arduino 1.6.0 hat einen ausreichend aktuellen Compiler. Arduino 1.0.* eher nicht.

Schritt 1: http://blog.blinkenlight.net/experiments/dcf77/swiss-army-debug-helper/ flashen und schauen ob das Signal OK ist. Weiterhin sicherstellen, daß Du einen Quarz und keinen Resonator auf dem Board hast.

Schritt 2: Board mit Quarz statt Resonator kaufen (oder Resonator durch Quarz ersetzen)

Schritt 3: funktioniert ;)

Störungen sind in Deutschland eher kein Problem. Nur schlechte Algorithmen sind ein Problem. Zum Testen legen ich normalerweise ein Smartphone direkt auf die DCF77 Antenne...

Hi

Danke für die ganzen Antworten! Ich habe weitere Versuche gemacht und mir das Signal des DCF77 Moduls mit einem Oszilloskop angeschaut. Ich habe gesehen das der Pegel sehr niedrig ist, was ich mit einem Transistor gelöst habe. Nun synchronisiert sich die Uhr ohne Probleme! :) :) :) Allerdings ist die Abweichung der internen Uhr sehr gross. Wie kann ich das verbessern?

LG Florian

Was meinst du mit interner Uhr? Puffere doch die Uhrzeit mit einem RTC Modul. Der DS3231 ist dafür gut geeignet. Gibt es als fertiges Modul. Der ist wesentlich präzieser, als der DS1307, ersetzt diesen 1:1 und hat auch die selbe Adresse auf dem I2C Bus. Also Wenn DCF Signal verfügbar, RTC stellen, wenn kein DCF, dann RTC lesen...