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)
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.
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.
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
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
Christian schrieb:> Wollte nur wissen ob es im Sekundenbereich liegt oder ob es Minuten,> Tage oder Wochen sind
Irgendwo dazwischen wirds schon liegen. Wieviel darf es denn sein?
Oliver
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
Percy N. schrieb:> Unter den anzunehmenden optimalen Bedingungen passiert so etwas nicht.
Unter den anzunehmenden optimalen Bedingungen werden die Autowerkstätten
arbeitslos, denn dann bleibt kein einziges Auto unterwegs liegen... ;-)
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.
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.
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.
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.
fchk schrieb:> Übliche Quarze für Microcontroller etc haben eine Genauigkeit von> 10...50ppm, wenn sie spezifikationsgemäß betrieben werden.
Ja, aber man kann diese Genauigkeit allein mit Software nochmal massiv
verbessern.
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).
S. Landolt schrieb:> Vermutlich dort, wo es auch ATmega32 gibt, die mit 20 MHz> spezifiziert sind (statt mit 16).
Völliger Overkill bei einer Taktperiode von 50 Sekunden.
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
> Wie wird da die Uhrzeit gestellt über den I2C?
Falls das I2C stört, den gibt es auch für SPI als DS3234S, der ist
allerdings etwas größer (mit neun(!) 'N.C.').
Thomas schrieb:> Erwin D. schrieb:>> Die beiden Begriffe "Kalibrierung" und "Justierung" werden gern>> verwechselt.>> Dazu Wiki: https://de.wikipedia.org/wiki/Korinthenkacker
Das kann man so sehen. Man kann aber auch berechtigte Kritik als Anlass
nehmen, eigenes Verhalten zu hinterfragen.
Aus Fehlern lernen kann nur der, der bereit ist, sie als solche
anzunehmen.
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.
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.
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.
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.
c-hater schrieb:> Du hast scheinbar nicht alle Implikationen verstanden.
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.
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.
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.
Für einen Frequenzgenerator mit Mega8515 habe ich einen der 22pF
Kondensatoren am Quarz durch einen Trimmer ersetzt, Uhr reinprogrammiert
und dann mit GPS Zeit über ein paar Tage abgeglichen. So kriege ich etwa
2-3 Sekunden Abweichung im Monat.
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?
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.
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.
Nimm die Netzfrequenz:
http://www.netzfrequenzmessung.de/netzzeit.htm
Zwar musst Du die Uhr dann "zu Fuß" stellen, aber die Ganggenauigkeit
ist sehr gut.
Mit DCF77 ist das in der schaltnetzteilverseuchten Welt manchmal so eine
Sache. Was besser als DCF77 ist, ist GPS. Die China-Module sind
preiswert (ca 3-6€) und qualitativ gut (sind ja meistens u-blox).
Michael B. schrieb:> Externer Quartz: Leidlich (1 Stunde)
Das verwechselst du wohl mit einem deutlich billigeren Resonator, wie er
auf vielen Mikrocontrollerboards an Stelle eines Quarzes verbaut ist.
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.
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?
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
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
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.
Percy N. schrieb:> Christian schrieb:>>> Benutze im Moment ein 20mhz Quarz.>>> Wo bekommt man solche Riesendinger?
Kein Problem,
Pendel mit 621 Meter Pendellänge gibt 50 Sekunden.
Butzo
Klaus B. schrieb:> Percy N. schrieb:>> Christian schrieb:>>>>> Benutze im Moment ein 20mhz Quarz.>>>>> Wo bekommt man solche Riesendinger?> Kein Problem,> Pendel mit 621 Meter Pendellänge gibt 50 Sekunden.>
Aus Quarz wird das aber arg teuer. Von der Aufhängung ganz zu schweigen
...
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.