ich habe mir von Conrad den DCF77 Empfänger gekauft. Wenn ich ihn an mein Arduino Uno anschließe und die DCF77-lib (Arduino Playground - DCF77) Demo-Programme verwende bekomme ich nach 2-5 Min auch die aktuelle Uhrzeit angezeigt. Für ein Binär-Uhr-Projekt hatte ich eigentlich einen Arduino Micro vorgesehen. Wenn ich den Empfänger jetzt dort anschließe bekomme ich auch nach 15Min noch keine Zeit angezeigt. Die Demoprogramm zum Anzeigen der Impulsdauer funktionieren aber identisch. Ich habe beim Vergleichen der ATMEL Chips gesehen, das der ATmega32u4 des Micro im Gegensatz zum ATmega328 des Uno keine RTC besitzt.
Mein Frage ist jetzt, ob diese RTC notwendig ist, damit die DCF77-lib funktioniert oder ob ich nach anderen Ursachen suchen muss.
PascalGrube:
Ich habe beim Vergleichen der ATMEL Chips gesehen, das der ATmega32u4 des Micro im Gegensatz zum ATmega328 des Uno keine RTC besitzt.
Weder hat der ATmega 328 eine RTC noch wäre eine auf dem UNO Board. Und es ist auch keine RTC notwendig, daran kann es also nicht liegen.
Ich hab auch den Conrad Empfänger. Allerdings habe ich ihn bisher nur mit dem Duemilanove getestet, welcher ja auch den 328er hat.
Die korrekte Pinbelegung geprüft?
im dokument, das ich angehängt habe, steht, daß der 328 eine RTC hat. auch im datenblatt ist ganz vorne RTC vermerkt. allerdings ist damit ein real time counter gemeint. das steht dann weiter hinten.
The clock source for Timer/Counter2 is named clkT2S. clkT2S is by default connected to the main
system I/O clock clkIO. By setting the AS2 bit in ASSR, Timer/Counter2 is asynchronously
clocked from the TOSC1 pin. This enables use of Timer/Counter2 as a Real Time Counter (RTC). When AS2 is set, pins TOSC1 and TOSC2 are disconnected from Port C. A crystal can
then be connected between the TOSC1 and TOSC2 pins to serve as an independent clock
source for Timer/Counter2. The Oscillator is optimized for use with a 32.768 kHz crystal.
Naja. Du kannst damit eine RTC bauen wenn du Timer2 mit dem Quarz/Resonator taktest. Aber dass da eine Real Time Clock eingebaut wäre ist etwas zu hoch gegriffen. Das wird nicht ohne Grund nur "Real Time Counter" genannt. Du brauchst dann noch eine ganze Menge Code um bei jedem Takt die Zeit und das Datum hochzuzählen. Bei einer echten RTC sind diese Register in Hardware vorhanden.
Das Problem damit ist das TOSC1/2 die gleichen Pins wie XTAL1/2 sind. Du hängst also an den 16MHz und kannst keinen normalen 32.768kHz Uhrenquarz anschließen. Das ist so gedacht, dass man den internen 8MHZ RC-Oszillator für den Systemtakt verwendet und einen externen Oszillator für den Counter. Aber das geht nicht wenn wie beim Arduino schon alles verbaut ist.
Du hast auch auch keine automatische Batterieversorgung wie sie in einer RTC eingebaut ist.
viele Danke für die Antworten. Der Hinweis mit den Interrupts war die Lösung. Ich hatte übersehen das beim Micro die Pin->Interrupt Mapping genau umgedreht zum
Uno ist.