Interne Uhr Microcontroller

Gast #5430667
Lesenswert?

Hallo zusammen,

Ich würde gerne 4mal am Tag eine Messung am Microcontroller durchführen. 
Jetzt könnte ich natürlich ein DCF77 Empfänger integrieren, was ich aber 
aus kosten und Platzgründen nicht wirklich will.
Jetzt war meine Überlegung, dass ich eine Interne Uhr programmiere. Die 
mir alle 6h die Messergebnisse liefert.
Kann mir jemand sagen, umwieviel Sekunden die innerhalb eines Jahres 
falsch geht bei optimalen Bedingungen (20*C)
Gast #5430672
Lesenswert?

Christian schrieb:
> Kann mir jemand sagen, umwieviel Sekunden die innerhalb eines Jahres
> falsch geht

Nein, das kann keiner.

Erstens weiß du selber nicht, wie genau dein angeschlossener Quarz ist, 
zweitens mußt du auch damit rechnen, daß dein µC irgendwann mal 
abstürzt, weil du irgend etwas nicht ganz richtig programmiert hast, 
drittens mußt du auch mal eine Störung oder einen Netz-Aussetzer mit 
einplanen.. und und und.

W.S.
#5430676
Lesenswert?

W.S. schrieb:
> Christian schrieb:
>> Kann mir jemand sagen, umwieviel Sekunden die innerhalb eines Jahres
>> falsch geht
>
> Nein, das kann keiner.
>
> ...
> drittens mußt du auch mal eine Störung oder einen Netz-Aussetzer mit
> einplanen.. und und und.
>
> W.S.

Unter den anzunehmenden optimalen Bedingungen passiert so etwas nicht. 
Eine realistische Einschätzung war ausdrücklich nicht gewünscht.
Deshalb wurde ja auch weder Typ des uP noch Betriebsspannung noch 
sonstwas mitgeteilt.
Gast #5430684
Lesenswert?

AtMega32
Betriebsspannung 5V

Wollte nur wissen ob es im Sekundenbereich liegt oder ob es Minuten, 
Tage oder Wochen sind

Benutze im Moment ein 20mhz Quarz.

Ein 32768khz wäre wahrscheinlich auch besser
Gast #5430685
Lesenswert?

Percy N. schrieb:
> Das kommt darauf an, wie gut Du kalibrierst.

Die Ganggenauigkeit hängt in keiner Weise vom Kalibrieren ab.
Im Gegenteil, durch das Kalibrieren stellst du nur die Abweichung fest, 
welche dann wiederum durch das Justieren möglichst beseitigt werden 
sollen.

Die beiden Begriffe "Kalibrierung" und "Justierung" werden gern 
verwechselt. Dazu Wiki:

"Ein Abgleich oder eine Justierung kann im Anschluss an eine
Kalibrierung und eine Konformitätsprüfung erfolgen (wenn z. B.
die festgestellte Abweichung unzulässig hoch ist), ist aber
nicht zwingender Bestandteil. Nach jeder Justierung muss eine
erneute Kalibrierung stattfinden, weil durch die Änderung am
Messgerät eine vorher durchgeführte Kalibrierung bedeutungslos wird."

https://de.wikipedia.org/wiki/Kalibrierung
Gast #5430693
Lesenswert?

Nimm mal diesen Uhrenbaustein als Beispiel. Der hat einen internen Quarz 
mit Temperaturkompensation und ist vergleichsweise genau.

https://datasheets.maximintegrated.com/en/ds/DS3231.pdf

Der Baustein hat eine Genauigkeit nach Datenblatt von 2ppm (parts per 
million). Das ist schon wirklich gut. Das heißt: Nach einer Million 
Sekunden gibt es eine Maximalabweichung von 2s.

Ein Jahr hat 86400*365=31'536'000s, also etwa 32 Millionen Sekunden. 
Heißt also 64s Maximalabweichung nach einem Jahr oder etwa eine Minute.

Übliche Quarze für Microcontroller etc haben eine Genauigkeit von 
10...50ppm, wenn sie spezifikationsgemäß betrieben werden.

fchk
#5430700
Lesenswert?

Christian schrieb:
> Kann mir jemand sagen, umwieviel Sekunden die innerhalb eines Jahres
> falsch geht bei optimalen Bedingungen (20*C)

Kommt drauf an, WAS du als Uhr nutzt:

Interner Watchdog-Oszillator: Sauschlacht (1 Monat).

Interner RC Oszillator. Schlecht (4 Tage).

Externer Quartz: Leidlich (1 Stunde)

Externenr 32768Hz Quartz: Gut (10 Sekunden).

Externes Rubidiumnormal: Hervorragend.

Externer batteriegepufferter Uhrenbaustein: Schau in dessen Datenblatt.
#5430704
Lesenswert?

Christian schrieb:
> Interne Uhr
> [...]
> umwieviel Sekunden die innerhalb eines Jahres
> falsch geht

Wenn wir vom internen Oszillator ohne externe Bauteile wie Quarzkristall 
ausgehen, dann reden wir von Tagen pro Jahr und nicht von Sekunden.

Sekunden pro Jahr wäre ein TCXO oder OCXO, also temperaturkompensierter 
oder gar Ofen-Quarz-Oszillator.

Gute Kristalle liegen IIRC bei Stunden bis Minuten/a.
Gast #5430718
Lesenswert?

Christian schrieb:
> Benutze im Moment ein 20mhz Quarz.
>
> Ein 32768khz wäre wahrscheinlich auch besser

Das ist falsch.

Das besondere an Uhrenquarzen besteht darin, daß man damit sehr 
stromsparende Uhren bauen kann. Das ist alles.

Das Stabilitäts-Maximum hat du bei einem fertigen TCXO im Bereich von 
8..14 MHz - wenn du nicht massive Geschütze wie OCXO auffahren willst.

Aber es ist eigentlich alles nicht wirklich nötig. Besorge dir nen RTC 
von Seiko-Epson, zB RTC8564. Der mit einem 0.22F Goldcap versorgt, ist 
das beste, was du dir mit eher kleinem Geld leisten kannst.

W.S.
Gast #5430735
Lesenswert?

Manche µP lassen es zu, einen Uhrenquarz anzuschließen. Hauptsächlich 
eine Frage der Quarzgenauigkeit bzw. Stabilität.
Ein externer, normaler Quarz mit möglichst großer Stabilität. Auch hier 
eine Frage der Quarzgenauigkeit bzw. Stabilität.

Welchen Quarz Du auch immer nutzt, einer der Marke: "Trunkener Seemann" 
lässt sich nachträglich nicht "nüchtern" machen.

Beide "Grundgenauigkeiten" lassen sich erhöhen, wenn eine rechnerische 
Korrektur vorgenommen wird. Bleibt aber die Frage: Woher kommt die 
Referenzzeit für den Abgleich?

Die Grundfrage: Welche Genauigkeit brauchst Du und eine realistische 
Einschätzung der Annahmen, kann Dir niemand abnehmen. Laien liegen hier 
oft weit ab vom sinnvoll machbaren.
Gast #5430775
Lesenswert?

W.S. schrieb:
> Christian schrieb:
>> Benutze im Moment ein 20mhz Quarz.
>>
>> Ein 32768khz wäre wahrscheinlich auch besser
>
> Das ist falsch.
>
> Das besondere an Uhrenquarzen besteht darin, daß man damit sehr
> stromsparende Uhren bauen kann. Das ist alles.

Anmerkung: Wobei imho allerdings auch dies für einen konkreten 
Anwendungsfalls mit einem spitzen Bleistift nachzurechnen ist: Niedriger 
Stromverbrauch für lange Zeit vs. hoher Stromverbrauch für kurze Zeit.

Btw, ein weiterer Vorteil von Uhrenquarzen besteht darin das ihre 
Frequenz eine Zweierpotenz ist. Das erspart einem aufwendige Rechnungen 
(welche bei Verwendung einer MCU aber auch kaum mehr ins Gewicht 
fallen).
#5430809
Lesenswert?

Christian schrieb:
> Dieser Baustein, sieht sehr interessant aus?
>
>
> https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
>
> Wie wird da die Uhrzeit gestellt über den I2C?

Das steht doch in dem Datenblatt drin. Einfach die aktuelle Zeit in die 
entsprechenden Register reinschreiben. Alle erforderlichen Informationen 
stehen im PDF. Die Werte sind BCD-codiert!

Denke daran, beim Programmstart abzufragen, ob der Oszillator schon 
läuft und ihn nötigenfalls zu starten. Dafür gibts ein Bit. Steht aber 
auch alles im PDF.

fchk
Gast #5430852
Lesenswert?

W.S. schrieb:
> Das ist falsch.
>
> Das besondere an Uhrenquarzen besteht darin, daß man damit sehr
> stromsparende Uhren bauen kann. Das ist alles.

Stimmt so nicht.
Der übliche 32kHz Uhrenquartz ist mit 20ppm i.A. genauer als ein 
Megahertzquartz der eher 50ppm besitzt.

Natürlich sind temperaturstabilisierte oder ofengeheizte Oszillatoren 
noch genauer.
Gast #5430927
Lesenswert?

Joachim B. schrieb:

> c-hater schrieb:
>> Ja, aber man kann diese Genauigkeit allein mit Software nochmal massiv
>> verbessern.
>
> und wenn man sie auf Temperatur hält Quarzofen dann macht auch Sommer
> und Winterbetrieb bzw. abweichende Raumtemperatur nicht mehr viel
> Unterschied.

Du hast scheinbar nicht alle Implikationen verstanden. Ich meinte 
natürlich auch (und gerade) die Temperaturkompensation, neben der 
Kompensation des Grundfehlers.
#5430953
Lesenswert?

c-hater schrieb:
> Du hast scheinbar nicht alle Implikationen verstanden. Ich meinte
> natürlich auch (und gerade) die Temperaturkompensation, neben der
> Kompensation des Grundfehlers.

Es gibt auch fertige Uhrenschaltkreise mit Temperaturkompensation und 
weiteren Schnickschnack. (z.B DS32C35) Da kann man sich den Quarzofen 
usw sparen.
Ich hatte mal so was für meine erste Quarzuhr gebaut. (musste vor etwa 
40 Jahren jeder Bastelheini mal gebaut haben) Für den Thermostatbetrieb 
brauchte man fast ein halbes Kraftwerk.
Gast #5431023
Lesenswert?

Joachim B. schrieb:

> doch doch ich habe es verstanden kann aber besser Hardware als Software
> und würde eben eher eine Quarzheizung bauen als permanent den Controller
> umflashen um den Korrekturfaktor anzupassen, das überlasse ich den
> Softis.

OMG. Schonmal was von Lookup-Tabellen gehört?

Geflasht wird nur einmal, beim Abschluss der Kalibrierung. Nämlich genau 
diese Tabelle und der Skalarwert für den Grundfehler. Danach wird die 
Tabelle und der Skalarwert nur noch gelesen.
#5431082
Lesenswert?

c-hater schrieb:
> OMG. Schonmal was von Lookup-Tabellen gehört?

auch das nur ist mir der Kalibriervorgang zu mühsam und der flash 
Speicher SRAM immer zu klein.

Wie schon gesagt, der eine kann besser SW, der andere möglicherweise 
besser HW.

Die beste Lookuptabelle nutzt aber nichts in einem Glasrohr welches 
sekundär mit Laserimpulse angeregt wird wenn sich das Glasrohr durch 
Temperaturschwankungen in der Länge bei Temperaturänderungen ändert, 
ergibt wechselnde Moden. Da ist es eher förderlich wenn das Glasrohr auf 
konstanter Temperatur gehalten wird unabhängig von der 
Umgebungstemperatur.

https://books.google.de/books?id=HQi2BgAAQBAJ&pg=PA295&lpg=PA295&dq=sekund%C3%A4rlaser&source=bl&ots=JkWPGnDM02&sig=lBu83cE8spuBaFVxM896yolrvjY&hl=de&sa=X&ved=0ahUKEwiA57molZrbAhWBvRQKHbjdDZ8Q6AEIUzAJ#v=onepage&q=sekund%C3%A4rlaser&f=false

:P
#5431182
Lesenswert?

my2ct schrieb:
> fchk schrieb:
> Nimm mal diesen Uhrenbaustein als Beispiel. Der hat einen internen Quarz
> mit Temperaturkompensation und ist vergleichsweise genau.
>
> Wozu braucht man bei stabilen 20C einen Baustein mit
> Temperaturkompensation?

Die vorausgesetzten optimalen Bedingungen werden in diesem Thread gern 
ignoriert.

Die Anforderungen werden noch liberaler, wenn die vier täglichen 
Abfragen um 11:59:58, 11:59:59, 12:00:00 und 12:00:01 erfolgen. Zur 
Dauer der Abfrage war nichts mitgeteilt, mithin dürfen wir die 
erforderliche Zeit für die Abfrage gegen Null optimiert ansehen.
Lediglich der Quarz von 20 mHz müsste durch einen schnelleren ersetzt 
werden.  Das dürfte auch Geld sparen.
#5431297
Lesenswert?

Percy N. schrieb:
> Die vorausgesetzten optimalen Bedingungen werden in diesem Thread gern
> ignoriert.

Natürlich, denn die 20°C sind ohne jede Abweichung angegeben. Das liest 
man als Raumteperatur, und die geht mindestens von +10°C bis +30°C. 
Außerdem habe ich im µC Package gerne mal +10°C durch die interne Wärme.

=> Optimale Bedingungen kommen in der Praxis nicht vor.

Und die quarzlosen Oszillatoren sind auch noch von der Betriebsspannung 
abhängig...

Anderer Nitpick: Die optimale Temperatur vom (Uhren-)Quarz ist auch 
gerne mal +25°C oder +30°C, auch wenn die Abweichung vermutlich nur bei 
Sekunden oder Minuten/a liegen würde.
Gast #5431336
Lesenswert?

Sachtmal Leute, spinnt ihr?

Hier wurde nach 4mal am Tag Messwerte übertragen gefragt und ihr kommt 
mit Ofenquarzen an? Das ist mal wieder typisch dieses Forum: Kollosal am 
Thema vorbeidiskutiert.

@TO: Ich löse es bei meiner Wetterstation so, dass der Atmega mit einem 
32kHz Uhrenquarz synchronisiert wird, dabei aber auf internem 8MHz Takt 
läuft.

Die mögliche Gangabweichung von mehreren Minuten pro Jahr wird 
korrigiert, indem der Empfänger im nRF24L01 Acknowledge die aktuelle 
Zeit zurückgibt.

Ein Fensterthermometer löst es anscheinend so, dass es auf die täglichen 
Temperaturmaxima und Minima synchronisiert. Das ist zwar kurzzeitig sehr 
ungenau, bleibt aber im jährlichen Verlauf immer im Tagesrhythmus.
#5431728
Lesenswert?

Jim M. schrieb:
> Percy N. schrieb:
>> Die vorausgesetzten optimalen Bedingungen werden in diesem Thread gern
>> ignoriert.
>
> Natürlich, denn die 20°C sind ohne jede Abweichung angegeben. Das liest
> man als Raumteperatur, und die geht mindestens von +10°C bis +30°C.
> Außerdem habe ich im µC Package gerne mal +10°C durch die interne Wärme.
>
> => Optimale Bedingungen kommen in der Praxis nicht vor.
>
In der Fragestellung war von 20 Grad Celsius und optimalen Bedingungen 
die Rede. Das liest man als konstant 20 Grad mir unendlicher 
Wärmekapazität mit Wärmewiderstand Null unter auch sonst optimalen 
Bedingungen. In einer Klausur hättest Du jetzt ein echtes Problem. 
Merke: Vorgaben zu hinterfragen ist nicht immer sinnvoll.

> Und die quarzlosen Oszillatoren sind auch noch von der Betriebsspannung
> abhängig...
>
Dass ich das Fehlen der Angabe der Versorgungsspannung gerügt hatte, 
hast Du bemerkt?
Gast #5431758
Lesenswert?

W.S. schrieb:
> Aber es ist eigentlich alles nicht wirklich nötig. Besorge dir nen RTC
> von Seiko-Epson, zB RTC8564. Der mit einem 0.22F Goldcap versorgt, ist
> das beste, was du dir mit eher kleinem Geld leisten kannst.

Na na na.
TCXO mit 0,5ppm gibts für etwa 1..2EUR. 0,5ppm sind etwa 16s/a.
KT2520K26000ACW18TAS

rgds
Gast #5431761
Lesenswert?

S. R. schrieb:
> Man kann auch die Netzfrequenz als Normal heranziehen. Die
> Kurzzeitstabilität ist zwar eher mäßig (dürfte aber nur selten mehr als
> ein paar Minuten abweichen), die Langzeitstabilität jedoch hervorragend.
>
> Um 4x am Tag was zu tun, reicht das vollkommen aus.

Korrekt. Aber der Aufwand die Netzfrequenz vernünftig zum Controller zu 
bringen ist etwas höher. Am einfachsten wäre ein kleiner Trafo zur 
Stromversorgung und da die Netzimpulse zusätzlich ableiten. Will aber 
keiner mehr da die USB-Wandwarze heute schick ist :(

rgds
Gast #5431927
Lesenswert?

Eine Echtzeituhr ohne Akku kostet fast nichts auf eBay. Ich habe dort 
drei Stück für zusammen 1,50€ erstanden. Also 0,50€ pro RTC. Bei den 
Kosten lohnt sich eine Diskussion über theoretisches hätte, wenn, und 
aber, doch gar nicht mehr.
Gast #5433130
Lesenswert?

MaWin schrieb:
> Stimmt so nicht.
> Der übliche 32kHz Uhrenquartz ist mit 20ppm i.A. genauer als ein
> Megahertzquartz der eher 50ppm besitzt.

Du wirfst hier was durcheinander. Die nominelle Abweichung des Quarzes 
als solchem ist das Eine, die Beschaltung der Rest. Der Einfluß der zwei 
Kondensatoren am Quarz ist beim Uhrenquarz weitaus größer als bei einem 
AT-Schnitt mit einigen MHz. Ich hab hier grad so eine kleine Designuhr 
stehen, die geht am Tag mehr als 5 Sekunden vor, weil eben einer der C's 
nicht ganz stimmt (0402) und es gibt keinen Trimmer drin. Bei 
Uhrenquarzen geht es über alles viel hochohmiger zu als bei handfesten 
Quarzen auf höheren Frequenzen. Da macht schon allein der Versuch, nen 
Frequenzzähler anschließen zu wollen, unlösbare Probleme, sofern man 
nicht einen Ausgang des Teilers zugänglich hat.

W.S.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren