mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hardware-Uhr geht ungenau ARM7


Autor: Martin Martin (martin1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich teste gerade die Hardware-Uhr des LPC2138.
Ich verwende einen externen 32KHZ-Quarz.

Die Uhr habe ich korrekt initialisiert.

Jede Sekunde wird ein IRQ ausgelöst und die Uhrzeit über die serielle 
Schnittstelle ausgegeben.

Die Uhr läuft jetzt 6 Stunden und geht jetzt 2 Sekunden hinten.

An der Hardware-Uhr kann es ja wohl kaum liegen, also muss es am Quarz 
liegen.
Gibt es beim Quarz tatsächlich solche Qualitätsunterschiede?

Ich glaube auch nicht, dass es an der Initialisierung liegt. - Ich habe 
darauf geachtet, dass tatsächlich der externe Quarz verwendet wird, wenn 
ich ihn nämlich aus dem Sockel ziehe funktioniert die Uhr nicht. Und pro 
Sekunde wird ein IRQ erzeugt.

Welche Erfahrungen habt ihr mit der Uhr gemacht?

Danke für eure Hilfestellungen und Antworten.
Tschüss
Martin

Autor: Hopser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es beim Quarz tatsächlich solche Qualitätsunterschiede?

Ja. Uhrenquarze sind mitunter extrem ungenau und ohne Abgleich kaum zu 
verwenden.

Selbst normale Quarze bringen einige Sekunden Abweichung auf 24h.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Atmels SAM7 verwendet deshalb vorsichtshalber einen R/C Oszillator für 
die Echtzeituhr. ;-)

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo martin,
die genauigkeit deiner "uhr" hängt im wesentlichen von der genauigkeit 
des quarzes (grundgenaugkeit, temp. gang, alterung, das findest du 
normalerweise alles im datenblatt des quarzes) und von der externen 
kondensator-beschaltung ab.

gruss
gerhard

Autor: Martin Martin (martin1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute.

Vielen Dank für die Info.
Was ist dann eigentlich in einer totalen Billiguhr drinnen?
Die gehen doch auch halbwegs genau.

Ich habe mir jetzt einmal das Datenblatt angesehen.
+-20ppm

Zudem wurde von mir die Schwingungsabweichung pro Tag berechnet.
Wenn ich mich nicht verrechnet habe komme ich auf 56623,104 Schwingungen 
pro Tag. Dort ist aber noch keine Temperatur oder Alterung mitdrinnen.
56623,104/32768=1,728Sekunden/Tag
Das ist viel.

Vielleicht finde ich einen besseren Quarz oder hat noch jemand andere 
Vorschläge?
Wäre es mit dem 12MHZ Quarz, der noch dranhängt genauer?

Tschüss
Martin

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann die Ungenauigkeit des Quarzes ja auch einfach per Software 
korrigieren. Wirf einfach mal ein Blick in die Codesammlung, Peter 
Dannegger hat das eigentlich optimal gezeigt.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ersetz mal die Kondensatoren am Quarz durch einen Trimmkondensator. 
Damit habe ich eine einfache uC Uhr auf besser 1Minute/Jahr abgeglichen 
(diese Minute kommt hauptsächlich durch die Temperatur, im Sommer läuft 
die Uhr schneller oder langsamer (weiß ich jetzt nicht auswendig) als im 
Winter.)

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstens gibt es Quarze für Seriel- und welche für Parallelresonanz. Der 
falsche Typ sorgt für eine gewisse Abweichung. Der Unterschied ist nicht 
gross, bei Prozessorquarzen meist egal, aber bei Uhren spielt das eine 
Rolle.

Zweitens spielt die Lastkapazität eine Rolle. Falsche Kapazität falsche 
Frequenz. Und nicht zuletzt deshalb macht man für Uhren statt einer 
Festkapazität einen Trimmer an den Oszillator, um den Quarz entsprechend 
einzustellen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin Martin wrote:

> Was ist dann eigentlich in einer totalen Billiguhr drinnen?
> Die gehen doch auch halbwegs genau.

Die werden alle abgeglichen mit nem hochgenauen Frequenzmesser.

Dazu ist entweder ein Trimmer drin oder ein paar Brücken, die 
durchgetrennt werden, quasi als DIP-Schalter.


Peter

Autor: Browncoat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre denn eine Echtzeituhr alá Dallas oder Dergleichen? Die sind 
doch auf jedem älteren Mainboard zu finden. Könnte man damit was 
anstellen? Vorteilhaft ist dabei, daß die Uhr autonom läuft und nur mal 
vom MC abgefragt zu werden braucht. Das kostet dann kaum Speicher, und 
auch weniger Zeit/Code.

MfG BC

Autor: Martin Martin (martin1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Das mit dem Dallas-Chip ist eine gute Idee.
..
Ich dachte immer, dass man die Kondensatoren nur zum Anschwingen 
benötigt und der Quarz dann eigenständig schwingt. Da habe ich mich wohl 
geirrt.

Soll man statt beiden Kondensatoren zwei Trimmkondensatoren nehmen oder 
reicht ein Trimmkondensator und ein Kondensator mit einem festen Wert?

Danke Leute
Tschüss.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Controller die meiste Zeit mit normalem Strom arbeitet und nur 
bei Stromausfall auf Batterie, kann man alternativ den RTC-Takt im 
Normalfall aus dem Prozessortakt ableiten. Dessen Teiler lässt sich per 
Software beliebig genau einstellen. Dann läuft die Uhr nur bei 
Stromausfall auf dem 32KHz-Quarz.

Autor: Martin Martin (martin1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eine gute Idee.

Aber man muss ja dann, bevor der Strom ausfällt, dies erkennen und 
rechtzeitig auf den externen Quarz umschalten.
Ich werde mich da mal schlau machen und das Ganze etwas testen.
Der DS1994 würde mich auch sehr reizen.

Tschüss
Martin

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.