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
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
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.
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.
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.
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?
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.
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.
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.
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.
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.
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...
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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?
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?
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.)
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 ;-)
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?
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.
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!
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.
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.
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?
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.
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.
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. :)
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.
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!
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.
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. ;-)
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.
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.
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.
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?
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.
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.
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.
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.