Forum: Mikrocontroller und Digitale Elektronik Besitz Arduino einen RTC?


von Günther Kuckmal (Gast)


Lesenswert?

Hallo guten,
ich finde keine Datenblätter zu Arduinos wo drinne steht ob eine RTC 
vorhanden ist oder nicht. Natürlich kann man einen externen RTC 
dazukaufen.
Sollten die ATmegas im Arduino (oder ARMs) RTCs beinhalten, könnte man 
sie mit einer externen Batterie immer am laufen halten?

Vielen Danke, schönen Tag noch:
Günther Kuckmal

von Marc S. (marc_s86)


Lesenswert?

Schau in die Datenblätter der verbauten chips.

von Steven M. (8023)


Lesenswert?

Datenblätter... Kann man machen, wenn man viel zeit tot zu schlagen 
hat... Oder man fragt halt jemanden... ;)

Die teensy 3.2 mit den cortex M4 chips haben zB rtc

von Karl (Gast)


Lesenswert?

Günther Kuckmal schrieb:
> Arduinos

Die Arduinos haben keine RTC. Man kann an den ATmega aber irgendwo einen 
Uhrenquarz dran hängen und diesen als RTC verwenden. Ein externes modul 
ist der Weg des geringsten widerstands. Ich würde aber vom DS1307 
abraten.

von rxlo (Gast)


Lesenswert?


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

rxlo schrieb:

> 
http://www.ebay.de/itm/DCF-77-MODUL-EMPFANGSMODUL-FUNKUHR-EMPFANGER-FUNKEMPFANGER-ANTENNE-/161873945980?hash=item25b070657c:g:41YAAOSwo6lWM03i

Klasse! Einfach das Bild von der Pollin-Seite klauen, das Ding bei 
Pollin für 5,45 EUR kaufen und dann bei eBay mit dem spiegelverkehrten 
Pollin-Bild für 10,89 EUR wieder verkaufen!

Das nenne ich mal Abzocke!

Hier der Link auf das Pollin-Teil:

  http://www.pollin.de/shop/dt/NTQ5OTgxOTk-/Bausaetze_Module/Module/DCF_Empfangsmodul_DCF1.html

Kostet die Hälfte und ist identisch.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:
> rxlo schrieb:
>
>>
> 
http://www.ebay.de/itm/DCF-77-MODUL-EMPFANGSMODUL-FUNKUHR-EMPFANGER-FUNKEMPFANGER-ANTENNE-/161873945980?hash=item25b070657c:g:41YAAOSwo6lWM03i
>
> Klasse! Einfach das Bild von der Pollin-Seite klauen, das Ding bei
> Pollin für 5,45 EUR kaufen und dann bei eBay mit dem spiegelverkehrten
> Pollin-Bild für 10,89 EUR wieder verkaufen!
>
> Das nenne ich mal Abzocke!

Ich nenne das Geschäftstüchtig.

Pollin kennt nicht jeder, eBay schon. Und im Vertrauen: Jeder Händler 
kauft billiger ein, als er verkauft ;-)

von Harald Blech (Gast)


Lesenswert?

Ok danke !

Ja dann wahrscheinlich den leichten weg gehen und extern (nicht DS1307 
).
Jetzt trotzdem nochmal die Frage:
Die ATmegas zb 328p haben doch internen "RTC" wenn man da eine Batterie 
dran macht , würde das irgendwie auch funktionieren , oder ist das nicht 
sinnvoll?

DCF77 -- Ist ganz ok aber die Uhrzeit muss ja immer abgefragt werden und 
wenn der AVR mal aus ist , dann können die Signal nicht mehr 
interpretiert werden und somit hat man auch bei Einschalten des AVRs 
keine Korrekte Zeit, sondern muss erst etwas warten -- Denke ich..


Vielen Dank, schönen Tag noch.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Ich nenne das Geschäftstüchtig.

Ich nenne Bilder-Klauen kriminell.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Harald Blech schrieb:

> Jetzt trotzdem nochmal die Frage:
> Die ATmegas zb 328p haben doch internen "RTC" wenn man da eine Batterie
> dran macht , würde das irgendwie auch funktionieren , oder ist das nicht
> sinnvoll?

Nein, die ATmegas haben keinen internen RTC. Die haben einen internen 
Oszillator, der so ungenau ist, dass Deine Uhr schon nach einem Tag um 
mehr als eine Minute falschläuft.

> DCF77

Zu viel Aufwand.

Such bei eBay nach "DS3231" und schnapp Dir das Modul für 4 EUR. Damit 
musst Du nur 2x im Jahr die Uhrzeit stellen - nämlich zur Umstellung auf 
Sommer- und Winterzeit. Oder Du korrigierst auch das in Software.

: Bearbeitet durch Moderator
von Harald Blech (Gast)


Lesenswert?

Danke damit habe ich Arduino und RTC erstmal verstanden!

von avr (Gast)


Lesenswert?

Frank M. schrieb:
> Nein, die ATmegas haben keinen internen RTC. Die haben einen internen
> Oszillator, der so ungenau ist, dass Deine Uhr schon nach einem Tag um
> mehr als eine Minute falschläuft.

Natürlich haben sie eine RTC. Man braucht nur einen Uhrenquarz. Und das 
braucht man bei den meisten externen RTCs auch. Wofür also 4€ ausgeben, 
wenn es ein paar cent für den Quarz schon tun?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:
> Natürlich haben sie eine RTC.

Naja, unter RTC verstehe ich was anderes. Die AVRs haben nur einen 
Zähler, den Du durch einen Uhrenquartz laufen lassen kannst. Aber 
"richtige" RTCs haben mehr als einen Zähler, nämlich einen vollständigen 
Kalender. Das Modul, was ich empfohlen habe, hat auch noch direkt eine 
Batterie drauf, die bis zu 10 Jahre hält. Da kannst Du Deinen Atmega 
ruhig vom Strom ziehen, die RTC läuft weiter.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Es gibt RTC mit und ohne Kalender. Der definiert aber nicht ob es sich 
um eine RTC handelt oder nicht.

von F. F. (foldi)


Lesenswert?


von avr (Gast)


Lesenswert?

Frank M. schrieb:
> Naja, unter RTC verstehe ich was anderes. Die AVRs haben nur einen
> Zähler, den Du durch einen Uhrenquartz laufen lassen kannst. Aber
> "richtige" RTCs haben mehr als einen Zähler, nämlich einen vollständigen
> Kalender.

Der Kalender hat mich zumindest schon immer gestört. Wenn ich eine 
Unixzeit haben möchte muss ich die ganzen BCD-kodierten Zahlen erst 
wieder zusammenpfriemeln. Die Formatierung braucht man nur bei lesbaren 
Ausgaben und dafür ist immer genug Rechenzeit vorhanden.
Der einzige Vorteil ist, dass man sich nicht um Wochentage oder so 
kümmern muss. Aber die Algorithmen dafür sind weder lang noch schwer.

Und RTC heißt Real Time Clock, also Echtzeituhr. Das sagt erstmal nichts 
über das Format aus.

> Das Modul, was ich empfohlen habe, hat auch noch direkt eine
> Batterie drauf, die bis zu 10 Jahre hält. Da kannst Du Deinen Atmega
> ruhig vom Strom ziehen, die RTC läuft weiter.

Du kannst den Atmega auch zusätzlich mit einer Batterie versorgen, 
welche die Stromversorgung übernehmen kann. Der Stromverbrauch im Sleep 
ist bei den neueren < 1µA.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Es gibt RTC mit und ohne Kalender. Der definiert aber nicht ob es sich
> um eine RTC handelt oder nicht.

Atmel nennt seinen RTC "Real Time Counter", siehe beliebiges 
Atmel-Datenblatt. Die zutreffendere Bedeutung der Abkürzung RTC ist 
jedoch "Real Time Clock" - auf deutsch "Echtzeituhr". Und darunter 
versteht jeder Depp mehr als einen Zähler.

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:
> Cyblord -. schrieb:
>> Es gibt RTC mit und ohne Kalender. Der definiert aber nicht ob es sich
>> um eine RTC handelt oder nicht.
>
> Atmel nennt seinen RTC "Real Time Counter", siehe beliebiges
> Atmel-Datenblatt. Die zutreffendere Bedeutung der Abkürzung RTC ist
> jedoch "Real Time Clock" - auf deutsch "Echtzeituhr". Und darunter
> versteht jeder Depp mehr als einen Zähler.

Nein ich denke da bist du der einzige Depp der das so sieht.

Es soll sogar (Echtzeit-)Uhren geben, die hängen sich die Leute an Wände 
und können nur bis 43200 Zählen und fangen dann wieder bei 0 an.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:
> Du kannst den Atmega auch zusätzlich mit einer Batterie versorgen,
> welche die Stromversorgung übernehmen kann. Der Stromverbrauch im Sleep
> ist bei den neueren < 1µA.

Ich weiß das, Du weißt das. Und jetzt erklär das dem TO, wie's geht. Der 
hat nämlich keine Ahnung.

Ausserdem kommt die Uhrenquarz-Methode am Atmega lange nicht mit der 
temperaturkompensierten Genauigkeit einer DS3132 mit.

: Bearbeitet durch Moderator
von avr (Gast)


Lesenswert?

Frank M. schrieb:
> Und darunter
> versteht jeder Depp mehr als einen Zähler.

Schön, dann bin ich wohl der Depp, der lieber 64bit RTCs hätte.

Warum muss man denn für unser bescheuertes Zeitformat Silizium 
verschwenden? Ein Depp ist eher der, der sich die Grenzen 24:60:60 
ausgedacht hat.

Nochmal drei Gründe für dich:
- Eine Uhr sagt nichts über das Format aus.
- Wenn man Zeiten in µCs häufiger braucht, dann braucht man sie als 
32-/64-Bit Variablen.
- Atmel nennt I²C auch TWI. Abweichung von normalen Namen, sind ihnen 
wohl egal (bei I²C waren es auch noch Lizenzkosten). Aber wenn man 
einmal abweicht...

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:
> Warum muss man denn für unser bescheuertes Zeitformat Silizium
> verschwenden?

Weil Du Deinen ATmega mit Uhrenquarz viel öfter nachstellen musst als 
eine temperaturkompensierende hochpräzise RTC wie die DS3231?

> - Wenn man Zeiten in µCs häufiger braucht, dann braucht man sie als
> 32-/64-Bit Variablen.

Wo ist das Problem?

Beim Einschalten des ATmegas die Uhrzeit von der RTC holen, in Sekunden 
seit 1.1.1970 (oder was weiss ich) umrechnen und anschließend den 
Sekundentakt am Ausgang der RTC über einen PCINT mitzählen. Beim 
Ausschalten des ATmegas ist NICHTS zu beachten.

So einfach ist das.

von avr (Gast)


Lesenswert?

Frank M. schrieb:
> Weil Du Deinen ATmega mit Uhrenquarz viel öfter nachstellen musst als
> eine temperaturkompensierende hochpräzise RTC wie die DS3231?

Für welches Gerät braucht man so eine Genauigkeit? Solange das keine 
Armbanduhr ist, reicht die interne RTC bei weitem aus. Und selbst ohne 
Temperatur

Frank M. schrieb:
> Wo ist das Problem?

Ganz einfach:
Deine komische RTC:

> Beim Einschalten des ATmegas die Uhrzeit von der RTC holen, in Sekunden
> seit 1.1.1970 (oder was weiss ich) umrechnen und anschließend den
> Sekundentakt am Ausgang der RTC über einen PCINT mitzählen. Beim
> Ausschalten des ATmegas ist NICHTS zu beachten.

Interne RTC:

Beim Einschalten nichts machen, beim auschalten nichts machen. Wenn das 
Programm nichts zu tun hat in den Sleep gehen.

Ich hab noch keine externe RTC gebraucht. Viele Mikrocontroller bieten 
eine RTC. Und wenn dir das nicht reicht, kannst du auch jede Minute mit 
dem Mikrocontroller die Temperatur messen und die RTC entsprechend 
kalibrieren (Damit sind sehr einfach +-10ppm machbar, eher weniger). Im 
Normalfall braucht man solche RTCs einfach nicht.

von Black J. (shaman)


Lesenswert?

Frank M. schrieb:
> Such bei eBay nach "DS3231" und schnapp Dir das Modul für 4 EUR.
Eh, du meinst wohl eher 1€ bei ebay, auf Ali wird es wohl noch billiger 
sein.
Bei dem Anbieter war auch die Batterie dabei, zu mindestens bei mir.
http://www.ebay.de/itm/DS3231-AT24C32-High-Precision-Clock-Module-IIC-Module-Memory-Module-/171280297414?hash=item27e119edc6:g:TGYAAOxyaTxTV8t~

von Karl (Gast)


Lesenswert?

avr schrieb:
> Wenn man Zeiten in µCs häufiger braucht, dann braucht man sie als
> 32-/64-Bit Variablen.

Das ist nicht bei jedem so. Ich könnte mir vorstellen, dass nicht jeder 
auf einem 8-bitter das ganze in einer 64-bit Unixzeit umrechnet (32-bit 
ist ja nicht besonders zukunftssicher).

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:

> Für welches Gerät braucht man so eine Genauigkeit? Solange das keine
> Armbanduhr ist, reicht die interne RTC bei weitem aus.

Wenn Du jetzt schon so weit bist: warum nimmst Du dann nicht einfach den 
Takt am µC selbst?

Siehe:

  AVR - Die genaue Sekunde / RTC

Das reicht für Deine Anwendung vollkommen.

Aber glaubst Du, dass der Zähler dem TO reicht, wenn er nach einer RTC 
fragt? Kannst Du Gedanken lesen, was der TO mit der RTC vorhat?

Vielleicht reicht dem TO tatsächlich ein Zähler. In diesem Fall hast Du 
die hellseherische Fähigkeit, dass Deine Meinung über Uhrenformate 
auch die Meinung des TOs ist.

Wenn dem so ist, erkläre dem TO den Sleep-Mode und was dafür alles zu 
beachten ist. Zum Beispiel, dass die AVRs im Sleep Mode den Uhrenquarz 
am Timer 2 betreiben, welcher nur ein 8 Bit Timer ist und 
dementsprechend ungenau geht. Oder dass bei Abziehen der Stromversorgung 
der Zähler trotz Sleep-Mode stehenbleibt. Upps.

Ist der Zähler dem TO zuwenig, dann kann man ihn einfach auf fertige 
DS3231-Libs hinweisen und er kann was lernen, wenn er das will.

Aber bis dahin wirds noch ein steiniger Weg, denn ich vermute, dass beim 
TO das Basiswissen noch viel zu gering ist, um das eine oder das andere 
umzusetzen.

: Bearbeitet durch Moderator
von avr (Gast)


Lesenswert?

Frank M. schrieb:
> Das reicht für Deine Anwendung vollkommen.

Wer sagt das?

> Aber glaubst Du, dass der Zähler dem TO reicht, wenn er nach einer RTC
> fragt? Kannst Du Gedanken lesen, was der TO mit der RTC vorhat?

Wenn man eine RTC braucht, dann geht es in 99% der Fälle um 
Batteriebetriebene Projekte. Der µC-Takt braucht idR einfach zu viel 
Strom.

> Vielleicht reicht dem TO tatsächlich ein Zähler. In diesem Fall hast Du
> die hellseherische Fähigkeit, dass Deine Meinung über Uhrenformate
> auch die Meinung des TOs ist.

Darum geht es nicht. Es ging darum dass DU behauptest hast, das die 
Atmegas keine RTC haben. Und das ist Käse.

> Wenn dem so ist, erkläre dem TO den Sleep-Mode und was dafür alles zu
> beachten ist.

Das steht im Datenblatt.

> Zum Beispiel, dass die AVRs im Sleep Mode den Uhrenquarz
> am Timer 2 betreiben, welcher nur ein 8 Bit Timer ist

Das steht auch im Datenblatt.

> und
> dementsprechend ungenau geht.

Und das ist der nächste Käse, der von dir kommt. Der Timer geht nicht 
ungenau. Und die Bits von einem Timer haben absolut nichts mit 
Genauigkeit zu tun. Das hängt alles von der Software ab.

> Oder dass bei Abziehen der Stromversorgung
> der Zähler trotz Sleep-Mode stehenbleibt. Upps.

Sehr komisch. Wenn man erwartet, dass der Timer ohne Stromversorgung 
weiterläuft, dann hat man vielleicht das falsche Hobby gewählt. 
Seltsamerweise steht das auch im Datenblatt.

Kann sein, dass es für den Baustein von dir fertige Bibliotheken gibt. 
Da kenne ich mich nicht aus und habe es auch nicht vor. Ich suche ICs 
auch nicht nach Bibliotheken aus. Ich glaube auch nicht, dass Arduino 
Zeitersparnisse bringt, da
a) die meisten Bibliotheken sowieso nicht ausreichen und durch eigene 
ersetzt werden müssen.
b) die Zeit für die Abstraktionsschicht nur ein Bruchteil der gesamten 
Softwareentwicklung ausmacht.
Aber das ist ein anderes Thema.

Man kann eine externe RTC nutzen oder die interne. Softwareseitig macht 
das kaum einen Unterschied. Und dafür, dass die RTC aus China auch 
wirklich unter +-4ppm bleibt, würde ich nicht meine Hand ins Feuer 
legen.

Frank M. schrieb:
> Aber bis dahin wirds noch ein steiniger Weg, denn ich vermute, dass beim
> TO das Basiswissen noch viel zu gering ist, um das eine oder das andere
> umzusetzen.

Dafür ist der Timer doch ideal. Man muss ja nicht gleich alles umsetzen. 
Im Gegensatz zu der fertigen RTC, kann man sich da Schritt für Schritt 
herantasten:
- Timer initialisiern mit Interrupt
- auf Asynchron umstellen
- Sleep implementieren
- Überlauf im Interrupt behandeln

Wenn bei der I²C-Kommunikation dagegen etwas nicht funktioniert, steht 
man mit der Bibliothek erst mal im Regen.

von Stefan F. (Gast)


Lesenswert?

> Ich würde aber vom DS1307 abraten.

Warum, macht der Chip Probleme?

von Jürgen S. (jurs)


Lesenswert?

Günther Kuckmal schrieb:
> Hallo guten,
> ich finde keine Datenblätter zu Arduinos wo drinne steht ob eine RTC
> vorhanden ist oder nicht. Natürlich kann man einen externen RTC
> dazukaufen.
> Sollten die ATmegas im Arduino (oder ARMs) RTCs beinhalten, könnte man
> sie mit einer externen Batterie immer am laufen halten?

Alle Arduino-Boards mit AVR Atmega-Controllern haben KEINE eingebaute 
RTC.

Die in den "Arduino DUE" und "Arduino ZERO" und  "Arduino MKR1000" 
verbauten Controller haben eine eingebaute RTC, die Du nutzen kannst. 
Allerdings hat keines der Boards eine Backup-Batteriepufferung für diese 
RTC on-board, so dass Du die Backup-Batteriepuffereung selbst an das 
Board dranlöten müßtest, und damit ergibt sich gegenüber dem Anschluß 
eines externen RTC-Moduls eigentlich dann auch kein Vorteil mehr.

von avr (Gast)


Lesenswert?

Jürgen S. schrieb:
> Alle Arduino-Boards mit AVR Atmega-Controllern haben KEINE eingebaute
> RTC.

Der nächste der keine Datenblätter lesen kann. Der Atmega168 hat 
natürlich eine RTC, wie auch der Atmega2560. Wie wärs einfach mal mit 
Nachlesen, bevor hier wieder mal Unwahrheiten verbreitet werden?

Es gibt Meinungen, über die kann man sich streiten. Aber nicht über die 
Tatsache, dass viele Atmegas eine RTC haben. Und nur weil man etwas in 
GROßBUCHSTABEN schreibt wird es nicht wahrer.

von Albert (Gast)


Lesenswert?

Günther Kuckmal schrieb:
> Sollten die ATmegas im Arduino (oder ARMs) RTCs beinhalten, könnte man
> sie mit einer externen Batterie immer am laufen halten?

Klar.
Hier ein Beispiel:

http://www.leonardomiliani.com/en/2012/micrologio-un-micro-orologio-con-un-atmega328p/

von Mein grosses V. (vorbild)


Lesenswert?

avr schrieb:
> Der nächste der keine Datenblätter lesen kann. Der Atmega168 hat
> natürlich eine RTC, wie auch der Atmega2560.

Ja, Schlauberger.

Beim 328er ist an den Anschlüssen der 16MHz-Quarz angeschlossen. Beim 
2560 wäre ein Uhrenquarz zwar möglich, ist aber nicht bestückt.

von Karl (Gast)


Lesenswert?

avr schrieb:
> Der Atmega168 hat
> natürlich eine RTC

Nein, der höchstens einen RTC

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:
> Der Atmega168 hat natürlich eine RTC,

Ja, er hat einen Real Time Counter, aber keine Real Time Clock. Der TO 
alias Günther Kuckmal alias Harald Blech will aber eine Real Time Clock:

    Beitrag "Re: welcher banana PI hat einen RTC"

Damit ist Deine ganze Argumentation hinfällig und für mich hier EOD.

von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:
> avr schrieb:
>> Der Atmega168 hat natürlich eine RTC,
>
> Ja, er hat einen Real Time Counter, aber keine Real Time Clock. Der TO
> alias Günther Kuckmal alias Harald Blech will aber eine Real Time Clock:

Wir sehen also, nur weil jemand bunte Uhren bastlen kann, heißt das noch 
nicht dass er Ahnung von RTCs hat.

Ob nun ein flacher Counter oder einzelne Register für Stunden, Minute, 
Sekunde, Tag usw. ist mathematisch praktisch kein Unterschied. Außerdem 
ist die Umrechnung Counter -> Uhrzeit/Datum immer einfacher als die 
Rückrechnung. Und Zeit/Datumsdifferenzen lassen sich so auch viel 
einfacher rechnen.
Dass eine Uhr keinen Kalender braucht, um sich Uhr nennen zu dürfen, hat 
inzwischen ja wohl sogar der Frank eingesehen. Immerhin.

Richtig wäre deine Aussage, wenn der TE explizit einen Kalender fordern 
würde (was er implizit wahrscheinlich tut). Wenn man das nicht in SW 
machen will, dann muss man zu einer externen RTC mit Kalenderfunktion 
greifen. Ist doch nicht so schwer. Dazu muss man nicht allen anderen 
Bausteinen ihre RTC in Abrede stellen.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Ob nun ein flacher Counter oder einzelne Register für Stunden, Minute,
> Sekunde, Tag usw. ist mathematisch praktisch kein Unterschied.

Es kommt immer auf die Anwendung an. Will ich eine Stopuhr, nehme ich 
einen Real Time Counter. Will ich mir eine Uhr an die Wand hängen, nehme 
ich eine Real Time Clock.

> Außerdem
> ist die Umrechnung Counter -> Uhrzeit/Datum immer einfacher als die
> Rückrechnung.

Wenn ich mir eine Uhr an die Wand hänge und eine Real Time Clock 
verwende, brauche ich weder die Umrechnung Counter -> Uhrzeit/Datum noch 
die Rückrechnung - einfach weil ich überhaupt keinen Counter brauche. 
Ich hab doch eine Clock :-)

Daher nochmal: Es kommt auf die Anwendung an, siehe oben.

> Dass eine Uhr keinen Kalender braucht, um sich Uhr nennen zu dürfen, hat
> inzwischen ja wohl sogar der Frank eingesehen.

Naja, wenn Du Sommer-/Winterzeit-Umrechnung machen willst, ist ein 
Kalender schon ganz praktisch. Die neue WordClock zeigt das Datum 
mittlerweile auch in Laufschrift auf dem Display an :-)

P.S.
Mit welchem Namen darf ich Dich denn ansprechen?

von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:

> Naja, wenn Du Sommer-/Winterzeit-Umrechnung machen willst, ist ein
> Kalender schon ganz praktisch.
Richtig. Aber auch Uhren ohne Zeit Umstellung bleiben Uhren.

Es geht doch nur darum dass du pauschal behauptet hast, Bausteine mit 
reinem RT-COUNTER sind keine RT-CLOCKS. Und das stimmt eben nicht.

> P.S.
> Mit welchem Namen darf ich Dich denn ansprechen?
Steht doch oben, cyblord, kannst du nicht lesen?

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Naja, wenn Du Sommer-/Winterzeit-Umrechnung machen willst, ist ein
> Kalender schon ganz praktisch.

Der Counter tut's dann aber genauso, denn bei dem ist die Zeit
wenigstens eindeutig.  Die Kalenderdarstellung 30. Oktober 2016,
02:35:10 ist dagegen nicht eindeutig, die passt auf zwei Zeitpunkte.
(Erst durch zusätzliche Angabe, ob die Zeit in MEZ oder MESZ ist,
wäre sie wieder eindeutig.)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jörg W. schrieb:
> Der Counter tut's dann aber genauso, denn bei dem ist die Zeit
> wenigstens eindeutig.

Stimmt. Deshalb laufen RTCs in Unix-/Linux-Büchsen auch meist in UTC. 
Wobei ich hier "Real Time Clocks" meine ;-)

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Es geht doch nur darum dass du pauschal behauptet hast, Bausteine mit
> reinem RT-COUNTER sind keine RT-CLOCKS. Und das stimmt eben nicht.

Und daran geilst Du Dich jetzt auf? Ich glaube, wir wissen beide, was 
wir meinen. Ich habe nur auf den allgemeinen Sprachgebrauch hingewiesen. 
Wenn Du nach "RTC" googlest, bekommst Du Links auf Uhrenbausteine, nicht 
auf Zähler.

Aber ist doch egal. Ja, Du hast recht. Zufrieden?

von Steven M. (8023)


Lesenswert?

junx ihr seid sooooo weit vom thema weg, dass ein MODERATOR bei sowas 
eigentlich zur ordnung rufen müsste...

but that's none of my business...

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:
> Cyblord -. schrieb:
>> Es geht doch nur darum dass du pauschal behauptet hast, Bausteine mit
>> reinem RT-COUNTER sind keine RT-CLOCKS. Und das stimmt eben nicht.
>
> Und daran geilst Du Dich jetzt auf?
Nein ich korrigiere dich, weil du falsche Dinge behauptest.

> Ich glaube, wir wissen beide, was
> wir meinen.
Nein. Eine korrekte Terminologie ist wichtig.
Und einem Anfänger zu sagen, sein Controller hätte keine RTC obwohl er 
doch eine hat, ist einfach das komplette Gegenteil der Realität.

> Aber ist doch egal. Ja, Du hast recht. Zufrieden?
Typischer Loser-Abgang wenn man sachlich verloren hat. Ich war schon 
vorher sehr zufrieden, ist lasse nur deine falschen Behauptungen nicht 
einfach unwidersprochen stehen. Wenn DU damit zufrieden gewesen wärst, 
dann wäre die Diskussion schon lange vorbei aber beharrst auf deiner 
falschen Terminologie wie ein bockiges Kleinkind.

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Lesenswert?

Ich habe mich erst mit dem Thema befasst und eine Testplatine gebaut die 
einen Atmega328p im Ascnchronen Timer2 und eine ds3231 mitloggt.

Für den Arduino Stil ist die intern in Software umgesetzte RTC über ein 
Uhrenquarz schon ein wenig Tricky.. so 1 Sekunde je nach Temperatur(ohne 
Kompensation) kann das schon mal in einigen stunden abweichen während 
die ds3231 mit Knopfzelle schön abgekoppelt ist, nur bei Bedarf 
synchronisiert wird und schonmal auf einige Wochen Sekundengenau geht.. 
auf einige Monate Minutengenau.

Jetzt werden wieder welche Ihren Grips beisteuern wollen was alles geht 
und wie genau das gehen kann, aber ich glaube 3/4 weiß das und die 
anderen interessierts nicht.

Wenn jemand Code zur Verfügung stellt das bewiesen werden kann das der 
Atmega als RTC mit nem HAuptprogramm drauf Wochenlang Sekundengenau 
läuft immer her damit!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp K. schrieb:
> so 1 Sekunde je nach Temperatur(ohne Kompensation) kann das schon mal in
> einigen stunden abweichen

Das ist ein schlechter Wert.  Selbst die billigsten 32-kHz-Quarze
sind mit ±20 ppm spezifiziert, das wäre eine Sekunde auf knapp 14
Stunden – aber das sollte nicht die Norm, sondern der Grenzfall
sein.  Die meisten sind besser.

Ich habe eine Uhr mit freilaufendem Quarz an einem ATmega88P, die
wird nur bei der Winterzeitumstellung zweimal im Jahr gestellt. Bis
dahin akkumuliert sie vielleicht so zwei Minuten an Fehler, das wären
etwa 8 ppm.  Das ist ohne weitere Korrekturmaßnahmen (wie unten),
nur der Lastkondensator so einigermaßen passend ausgesucht.

Die Uhr wird normalerweise vom Netz betrieben, weil die LEDs viel
Strom brauchen, aber es gibt eine Pufferbatterie (CR2032), die den
Timer bei Stromausfall weiterticken lässt, sodass sie die Uhrzeit
hält.  Genügt das nun schon für den Begriff „RTC“ oder nicht? ;-)

> Wenn jemand Code zur Verfügung stellt das bewiesen werden kann das der
> Atmega als RTC mit nem HAuptprogramm drauf Wochenlang Sekundengenau
> läuft immer her damit!

Der Klassiker:

AVR - Die genaue Sekunde / RTC

p.s.: Dass die fertigen RTC-ICs ihren Sinn und Nutzen haben, soll
natürlich damit keinesfalls in Abrede gestellt werden.

: Bearbeitet durch Moderator
von Philipp K. (philipp_k59)


Lesenswert?

Ich habe sogar Teile aus dem Beispiel für die genaue Sekunde übernommen 
und einen Quarz aus dem Atmel App Note verbaut.

Was ich noch auf dem Zettel habe ist die Grundabweichung gegen ein 16MHz 
Quarz zu messen um die schonmal zu korrigieren.. Wobei mein Test auf 
einen Aussentemperaturbereich ausgeweitet ist.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp K. schrieb:
> Was ich noch auf dem Zettel habe ist die Grundabweichung gegen ein 16MHz
> Quarz zu messen um die schonmal zu korrigieren.

Die sind meist schlechter spezifiziert.

> Wobei mein Test auf
> einen Aussentemperaturbereich ausgeweitet ist.

Gut, Temperaturgang habe ich mir jetzt nicht angeguckt.  In der
Armbanduhr haben die 32er ja ihren körpereigenen Thermostaten. ;-)
Die genannte LED-Uhr steht auch im Zimmer.

Sind die externen RTCs eigentlich temperaturkompensiert?

von Philipp K. (philipp_k59)


Lesenswert?

Jörg W. schrieb:
> Sind die externen RTCs eigentlich temperaturkompensiert?

Bei Dallas gibts zum Beispiel den ds1307 mit externem Quarz und den 
DS3231 mit internem und Temperatur Kompensation.. Den Ds1307 muss man 
schon öfter nachstellen.. Der DS3231 ist schon länger genau.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sowas wäre dann natürlich ein Grund mehr, im entsprechenden Falle zu
einem DS3231 zu greifen.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Nein. Eine korrekte Terminologie ist wichtig.

Wenn Dir die Terminologie wichtig ist, dann schreibe auch eine*n* RTC, 
weil es der Real Time Counter ist. Du schreibst aber eine RTC, was 
den Eindruck erweckt, Du meintest eine Real Time Clock.

> Und einem Anfänger zu sagen, sein Controller hätte keine RTC obwohl er
> doch eine hat, ist einfach das komplette Gegenteil der Realität.

Atmel schreibt selbst Real Time Counter und nicht Real Time Clock, 
schau in ein beliebiges ATmega Datenblatt. Denn wie ich schon sagte: Im 
allgmeinen steht RTC für einen Uhrenbaustein. Leider hast Du das 
Argument komplett ignoriert.

>> Aber ist doch egal. Ja, Du hast recht. Zufrieden?
> Typischer Loser-Abgang wenn man sachlich verloren hat.

Typische Loser-Antwort eines zozial inkompetenten Menschen, der 
ausschließlich nur beleidigen kann:

Cyblord -. schrieb:
> Nein ich denke da bist du der einzige Depp der das so sieht.

Cyblord -. schrieb:
> Steht doch oben, cyblord, kannst du nicht lesen?

Cyblord -. schrieb:
> Wir sehen also, nur weil jemand bunte Uhren bastlen kann, heißt das noch
> nicht dass er Ahnung von RTCs hat.

Du hast damit verloren, nämlich meinen Respekt vor Dir. Ich weiß, das 
geht Dir am Allerwertesten vorbei. Macht nix, passt zu Dir.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:
> Atmel schreibt selbst Real Time Counter und nicht Real Time Clock, schau
> in ein beliebiges ATmega Datenblatt.

Sie nennen es aber durchweg RTC, auch in diesen Datenblättern.

Damit ist die Abkürzung schlicht nicht eindeutig.  Um die Konfusion
dann noch zu vergrößern, in den neueren ARMs (SAMD und Konsorten)
heißt das Teil auch RTC, übersetzt als Real Time Counter, kann aber
optional auch im Kalendermodus konfiguriert werden …

Über die deutschen Artikel englischer Begriffe kann man sich
vortrefflich streiten.  “ship” ist übrigens im Englischen weiblich. :)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jörg W. schrieb:

> Sie nennen es aber durchweg RTC, auch in diesen Datenblättern.
>
> Damit ist die Abkürzung schlicht nicht eindeutig.

Genau darauf wollte ich hinweisen. RTC hat zwei Bedeutungen, trotzdem 
überwiegt die Bedeutung für den Uhrenbaustein.


>  Um die Konfusion
> dann noch zu vergrößern, in den neueren ARMs (SAMD und Konsorten)
> heißt das Teil auch RTC, übersetzt als Real Time Counter, kann aber
> optional auch im Kalendermodus konfiguriert werden …

:-)

> Über die deutschen Artikel englischer Begriffe kann man sich
> vortrefflich streiten.  “ship” ist übrigens im Englischen weiblich. :)

Ja, natürlich kann man streiten. Aber nicht, indem man tagtäglich hier 
im Forum Gift und Galle verspritzt. So ein Verhalten ist meines 
Erachtens wenig zielführend.

Für mich ist hier deshalb auch endgültig EOD. Ich habe es nicht nötig, 
mich von einem Typen, der sich "cyblord" nennt, so anfeinden zu lassen - 
egal wer in der Sache selbst recht hat. Man kann auch zivilisiert 
miteinander umgehen.

: Bearbeitet durch Moderator
von Günther Kuckma (Gast)


Lesenswert?

Danke für die Infos, auch für den Link "AVR - Die genaue Sekunde / RTC"
Also eine externe Real Time Clock könnte genauer sein aber evtl mehr 
Strom benötigen.

Noch eine Frage habe ich:
Angenommen mein ATmega läuft über eine Spannungsversorgung mit 5V, kann 
ich dem Real Time Counter im ATmega ,durch Anbringen einer extra 
Spannungsversorgung konstant weiterlaufen lassen? Bringt das was ?

Vielen Dank!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Günther Kuckma schrieb:

> Angenommen mein ATmega läuft über eine Spannungsversorgung mit 5V, kann
> ich dem Real Time Counter im ATmega ,durch Anbringen einer extra
> Spannungsversorgung konstant weiterlaufen lassen? Bringt das was ?

Schrieb ich ja weiter oben, dass ich das mit meiner LED-Uhr so mache:
bei Stromausfall wird sie aus einer CR2032 weiterbetrieben.

Sowas braucht aber ein Konzept, sowohl in der Hard- als auch in der
Software.  Wenn es nicht schon auf dem Board vorgesehen ist, habe ich
meine Zweifel, ob man bspw. einen Arduino einfach damit nachrüsten
könnte.  Für den wäre wohl ein externer, autarker (mit eigener
Li-Zelle versehen) RTC-Baustein dann die deutlich einfachere Wahl.

von Jan H. (jan_m_h)


Lesenswert?

Jörg W. schrieb:
> einen Arduino einfach damit nachrüsten könnte.

Dank FTDI oder gar CH340G bei den Klonen ist da schnell aus mit 
Knopfzelle.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jan H. schrieb:
> Dank FTDI oder gar CH340G bei den Klonen ist da schnell aus mit
> Knopfzelle.

Deshalb schrieb ich ja: braucht ein Konzept.  Man will natürlich von
der standby power nicht alles versorgen müssen.  Ich betreib' die
LEDs der LED-Uhr ja auch nicht aus der Knopfzelle. ;-)

von Philipp K. (philipp_k59)


Lesenswert?

Günther Kuckma schrieb:
> Also eine externe Real Time Clock könnte genauer sein aber evtl mehr
> Strom benötigen.

Mehr Strom ist hier Relativ.. die Ds3231 versprechen eine Stabile 
Ruhezeit aus der Knopfzelle von mehreren Jahren.

DS3231 Battery Timekeeping 3,3V 0,84-3uA

Aus "Die genaue Sekunde":
Der Strombedarf eines externen RTC ist in der Regel etwas niedriger als 
die RTC Funktion eines Prozessors.

#Bei den neueren Atmegas sind die allerdings fast gleichwertig.


Hier muss man drauf achten das man ein DS3231 Modul nimmt das ohne 
Klimmbimm ist.. kost unter 2€. bei den meisten Modulen sind noch Leds 
oder andere Bauteile wie Level Shifter mit drauf.

http://www.ebay.de/itm/291694675800

Das mit dem FTDI stimmt auch.. Jede LED auf dem Board verbraucht 
unmengen mehr wie eine RTC. Beim DS3231 besteht noch der Vorteil von 
zwei Alarmen.. bedeutet man kann den Alarm setzen, den Atmega mit dem 
Alarm aus dem tiefsten Sparmodus holen, sachen erledigen Alarm neusetzen 
und wieder schlafen legen.

: Bearbeitet durch User
von avr (Gast)


Lesenswert?

Philipp K. schrieb:
> die Ds3231 versprechen eine Stabile
> Ruhezeit aus der Knopfzelle von mehreren Jahren

So viel stabiler ist er gar nicht. Wenn man kaum Temperaturschwankungen 
hat, oder selbst eine Temperaturkompensation mit dem Kontroller macht 
ist der IC o, ist der IC im schlechtesten Fall Faktor 3 besser. Und wenn 
man einen Controller mit besserem internen Temperatursensor hat (der von 
den Avrs ist relativ mies), dann geht der Faktor schon auf 2 runter.

Philipp K. schrieb:
> #Bei den neueren Atmegas sind die allerdings fast gleichwertig.

Das scheint mir auch ein wenig überholt. Inzwichen gibt es RTCs, die mit 
Strömen im zweistelligen Nanoamperebereich begnügen.

von avr (Gast)


Lesenswert?

Philipp K. schrieb:
> Das mit dem FTDI stimmt auch.. Jede LED auf dem Board verbraucht
> unmengen mehr wie eine RTC. Beim DS3231 besteht noch der Vorteil von
> zwei Alarmen.. bedeutet man kann den Alarm setzen, den Atmega mit dem
> Alarm aus dem tiefsten Sparmodus holen, sachen erledigen Alarm neusetzen
> und wieder schlafen legen.

Naja, woher bekommt der Atmega dann den Strom? In dem Fall kann man auch 
wieder die interne RTC nutzen. Alarme hast du beim Atmega über den Timer 
auch.

von Philipp K. (philipp_k59)


Lesenswert?

avr schrieb:
> Naja, woher bekommt der Atmega dann den Strom? In dem Fall kann man auch
> wieder die interne RTC nutzen. Alarme hast du beim Atmega über den Timer
> auch.

Ja nee ist klar, gibts bei Dir heute Sülze?

von avr (Gast)


Lesenswert?

Philipp K. schrieb:
> Ja nee ist klar, gibts bei Dir heute Sülze?

Lesen und verstehen sind zwei Dinge, die man vielleicht machen sollte 
bevor man schreibt (gibts aber besonders bei Arduino öfters).

Du hast folgendes vorgeschlagen:

Philipp K. schrieb:
> man kann den Alarm setzen, den Atmega mit dem
> Alarm aus dem tiefsten Sparmodus holen, sachen erledigen Alarm neusetzen
> und wieder schlafen legen.

Das heißt du hast:
- einen Atmega mit Stromversorgung, der häufig im Sleep ist
- Peripherie um den Atmega, die kaum Strom verbraucht (Sonst würde 
ersteres keinen Sinn ergeben)

Und genau in diesem Fall kann man die RTC eins zu eins gegen einen 
deutlich günstigeren Uhrenquarz tauschen. Und hat keine Nachteile, bis 
auf wenige ppm mehr bei der Frequenztoleranz.

von Philipp K. (philipp_k59)


Lesenswert?

Ich unterscheide halt nur in optimalen, einfachen und ausreichenden 
Lösungen.

Da der Threadbetreff "Arduino" beinhaltet habe ich es einfach, schnell 
und unkompliziert gehalten, wobei "ausreichend" vom TO noch nicht 
defineirt wurde.

Ich weiß das auch alles, ob das hier dem TO weiterhilft ist eine andere 
Frage. Wie es aussieht hat er ein Arduino Board und benötigt eine RTC, 
vielleicht sucht er nach einer "Library" die eine RTC aktiviert.

Ob er nun ein Quarz ranhängt (Was ich sogar selbst im moment mache) oder 
eine vollwertige RTC benutzt muss er selbst entscheiden.

Du antwortest einfach in die falsche Richtung.. wenn der TO Hilfe 
benötigt wie er eine AVR-RTC bastelt wird er das Fragen und die meisten 
Deiner Festellungen wurden schon vorher geschrieben bzw waren eigentlich 
klar.

EDIT: Ich würde sogar sagen mit der Arduino IDE + einem echten 
Arduinoboard ist strom sparen und RTC ohne es umzulöten bzw komplett 
Hard/Software umzustricken sehr schwierig umzusetzen.. ein Leonardo 
Board mit dem atmega32U4 hat keinen RealTimeCounter.

: Bearbeitet durch User
von avr (Gast)


Lesenswert?

Philipp K. schrieb:
> Du antwortest einfach in die falsche Richtung

Würde ich nicht sagen. Der Betreff lautet "Besitz der Arduino einen 
RTC". Ich habe mich erst eingeklinkt, nachdem Frank behauptet hat, dass 
Atmegas keine RTC hätten.

Einfacher ist die externe RTC schon möglicherweise. Aber auch nur, weil 
es anscheinend dafür schon fertige Arduino-Libraries gibt und die 
Arduino-Boards einach nicht fürs Stromsparen geeignet sind.

Mit der richtigen Library ist das Abfragen der Zeit von einem NTP-Server 
auch deutlich einfacher als überhaupt einen Timer aufzusetzen. Die 
Komplexität dahinter ist aber eine ganz andere.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp K. schrieb:
> Da der Threadbetreff "Arduino" beinhaltet

Der TE hatte angefangen, diese Frage für x-beliebige Plattformen
zu streuen: Arduino, Banana Pi, wer weiß, wonach er als nächstes
gefragt hätte (bei der zweiten habe ich ihn etwas ausgebremst).

Nein, der hat keinen Arduino (und ist auch nicht auf die Plattform
festgenagelt).  Vermutlich wäre es sehr viel einfacher, er würde uns
stattdessen sagen, was er überhaupt erreichen will.  Dann könnte man
ihm viel zielgerichteter Tipps geben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.