mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Genauigkeit eines Quarzoszillators


Autor: Daniel Nöthen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab mir eine Binär-Uhr gebastelt. Die Uhrzeit wird über ein paar
LEDs angezeigt.
Hier ein kleines Foto (15:28Uhr)
http://bip.homelinux.org/~bip/bin_clock_klein.png.
Ich benutze dafür einen ATmega8.
Allerdings ist mir nun nach einem etwa 24 stündigem Testlauf
aufgefallen, dass die Uhr ungefähr 10 Sekunden nach geht.
Kann dies an den Tolleranzen des 4MHz Quarzoszillators liegen?
Schwingen die wirklich so ungleichmässig?
Bei Reichelt steht was von Frequenztoleranz: +/- 100ppm.
Ich kann allerdings nichts mit ppm anfangen.
Dummerweise habe ich zuspät erfahren, das es auch spezielle Uhrenquarze
gibt.
Die Spannung wird über einen 7805 geregelt. Sollte also konstant genug
sein.
An dem Programm ansich, liegt es glaub ich weniger, aber ich habe es
trotzdem mal angehangen, vielleicht findet ja jemand eine Fehlerquelle.

Bin noch ziemlich neu im µC Geschäft :)

Dank Euch!

Gruß
Daniel

Autor: Oryx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

10 Sekunden pro Tag sind doch schon super.

Bei Reichelt steht was von Frequenztoleranz: +/- 100ppm.
Ich kann allerdings nichts mit ppm anfangen.
ppm Part Per Million
Teile pro Million

Bei deinen 4MHz darf das Ding also mit 4000400 Herz schwingen.

Uhrenquarze sind meines Wissens auch nicht genauer. In einer Uhr wird
die Frequenz mit den Kondensatoren abgeglichen.

Rechne doch mal die Anzahl der Sekunden pro Tag aus. Dann noch mal
schnell deine prozentuale Abweichung. Da bist du schon recht genau.

MfG
Oryx

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohje, sorry wegen den komischen Tabs im Code, in AVR Studio sah es schön
gleichmässig aus.

Autor: Michael (ein anderer) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Daniel Nöthen:

ppm = parts per million ("teile pro millionen")

100 ppm = 100/1.000.000 = 1/10.000

24 Stunden * 60 Minuten/Stunde * 60 Sekunden/Minute = 86.400 Sekunden

86400 Sekunden * 1/10.000 = 8,6 Sekunden

Das passt ziemlich genau zu Deiner Beobachtung.

Lösung: Z.b. über eine Woche die Abweichung anhand einer Funkuhr exakt
ausmessen, und dann per Software den Fehler kompensieren.

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so ist das. Gut dann werde ich das mal versuchen.

Bei nem Oszillator kann man die Frequenz nicht mit Kondensatoren
abgleichen, richtig?

Autor: MathiasM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, leider nicht.
Aber Du könntest Dir ja nen DCF Empfänger dranbasteln, wäre sicherlich
auch interessant :)
Oder einfach per Software tgl. die 10 Sekunden abziehen, schon
passt's, ist zwar nicht elegant aber dafür easy.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja

Autor: Daniel Nöthen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MathiasM:

Richtig, DCF77 wird wohl das nächste Projekt sein :)

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du einen normalen Schwingquarz (keinen Oszilator) an deinem M8
benutz kannst du einen der beiden Kondensatoren durch einen C-Trimmer
ersetzen (habs aber selbst noch nicht ausprobiert).

siehe z.B.
http://www.sprut.de/electronic/mess/frequenz.htm

Autor: Benjamin Böck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst auch einen lansameren Oszilator zur Zeitmessung nehmen.
Ein Oszi mit 1MhZ hat nur noch 1/4 der Abweichung eines 4Mhz Oszis, da
die Genauigkeit in ppm angegeben ist. Die Uhrenqarze liegen mit ihren
0,032.. Mhz bei ca 1/100 eines 4Mhz dadurch hättest du am Tag nur noch
einen Abweichung von 0,08s und da die genauigkeit bei Quarzen auch im
+-30ppm bereich liegt hast du noch +-0,03s pro Tag.
Das wären im Jahr ca 10s und das ist doch auch zu verschmerzen. Eine
normale Qarzuhr bringt auch keine höhere genauigkeit.

Wenn du es aber genau brauchst und ein DCF Signal auswerten willst
kannst du natürlich auch mit einem DCF Emfänger arbeiten.
Aber bei einfachen Anwendungen reicht ein Uhrenquarz normalerweise aus.
Und preislich liegt ein Quarz bei 0.22€ und ist schön klein.

Autor: Christian Zietz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Rechung sieht so aus:

30 ppm (parts per million) = 30 * 10^-6
30*10^-6 * 86400 Sekunden/Tag = 2,592 Sekunden/Tag maximaler Fehler
und zwar unabhängig von der Quarzfrequenz, denn der Fehler im ppm ist
ja eine relative Angabe.

Christian

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mal Klarheit in die Sache zu bringen:
Man KANN einen Quarz mit den Kondensatoren abgleichen. Und das sehr
gut.
Ich habe in meinem Zimmer eine Uhr mit einem PIC stehen. Der Quarz wird
mit einem 33pF Trimmer abgeglichen.
Mittlerweile stelle ich die Uhr zwei mal im Jahr, immer genau dann wenn
die Uhr sowiso umgestellt wird. Die Abweichung beträgt dann ca. +/-1
Minute. Im Sommer + im Winter - (oder umgekehrt ?).
Der Temperaturdrift ist also größer als die Ungenauigkeit.

Autor: Kupfer Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
Ist es egal auf welcher Seite (XTAL1/2 bei den Atmels) man den Trimmer
anbringt?

Autor: Benjamin Böck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian

Ups da hast du wohl recht!!
Etwas vorschnell geantwortet...

Also ich nehme meine Behauptung zurück. Aber ich habe gerade auch eine
kleine Messung laufen lassen und kam mit einem 4Mhz Oszi auch auf 8,..s
am Tag. Das würde der sich mit deiner Rechnung decken und im
Tolleranzbereich liegen.
Aber die Trimmung müßte auch Softwaremäßig ganz gut zu machen sein.
Denn den Temperaturdrift bekommt mann mit einem Trimmkondesator auch
nicht in den Griff.

Autor: Axos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm...man kann einfach den 1s takt von dem dcf signal benutzen
(externer interrupt). dann muss man nichtmal ne grosse software zum
auswerten des dcf-signals schreiben.

Schon ganz schön was so ne uhr für abweichungen hat.

MfG Axos

Autor: Wolle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was haltet ihr von dem Vorschlag eines "Quarzofens"?
Also den Quarz, die Kondensis einpacken und mit 'nem Widerstand auf
z.B. 40°C halten.
Wird in "Profigeräten" auch gemacht, allerdingens schlecht bei
Batt.-Betrieb - geb' ich ja zu.........

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kupfer Michi
>Ist es egal auf welcher Seite (XTAL1/2 bei den Atmels) man den
>Trimmer anbringt?

Am Ausgang des Oszillators waren bei meiner Schaltung 12pF, am Eingang
2pF + 5-22pF
Das ganze an einem 4,191304MHz Quarz

Autor: PeterL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

@Wolle

das mit dem Quarzofen funktioniert gut, Quarz Armbanduhren sind nur
deshalb so genau, weil die Temperatur am Handgelenk halbwegs konstant
ist
Aufbau einfacher Quarzofen:
einen (alten) Quarz im HC49 Gehäuse unten mit einer Eisensäge absägen
als Heizung kleinen PTC auf der Leiterplatte dicht am Uhrenquarz
die abgesägte kappe über beide Bauteile stülpen , evtl festkleben

Peter

Autor: Jerome Parlebas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... eine andere Möglichkeit ist einen temperaturkompensierten
Quarzoszillator einzusetzen (DS32KHz von Maxim). Die Stromaufnahme ist
äußerst gering, die Genauigkeit beträgt +/- 1 Minute pro Jahr im
Temperaturbereich von 0-40°C. Allerdings schwer beschaffbar, gibt es
nur bei Digikey im DIL-Gehäuse.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also meine Uhr läuft mit einem AtMega16 und dem RTC IC DS1307.
Damit habe ich ca +1s/Tag Abweichung. Der Wert ist auch schon ok,
meine Uhr am Handgelenk macht ca 4s/Tag, dafür ohne Elektronik :-)

mfg
Oliver

Autor: Uwe Seidel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich muss mich mal kurz dazu äußern.
Ich hab ein ähnlich gelagertes Problem:
Uhrenquarz -> RTC (DS1305) Ergebnis sehr ungenau.
Warum?
Der DS1305 erwartet eine kapazitive Last von 6pF, der
Standart-Uhrenquarz hat eine CL von 12.5 pF...

In der AN58 von Maxim sind für diese Konstellation:
Wrong crystal. An RTC typically runs fast if a crystal with a specified
load capacitance (CL) greater than the RTC-specified load capacitance is
used. The severity of the inaccuracy is dependent on the
value of the CL. For example, using a crystal with a CL of 12pF on an
RTC designed with a 6pF CL causes the RTC to be about 3 to 4 minutes
per month fast.

1.
Vielleicht ist ja da auch eine Optimierungsmöglichkeit ;-)

2.
Wo bekommt man Uhrenquarze mit CL 6pF ? Der DS32 ist da vielleicht
etwas "overdressed" der ja als DIP recht groß und als BGA-Bauform
schlecht zu löten ist.

Ciao

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Quarzofen wollte ich früher auch immer mal bauen, ist viel
zu umständlich.
Machs lieber andersrum:
Messe die Temperatur (NTC, PTC auf AD-Input oder volldigitale Sensoren
wie hier im Forum schon 100-fach beschrieben) und mache den Teiler per
SW davon abhängig.
Mit einer entsprechenden Tabelle wirst Du eine Genauigkeit besser als
eine Minute pro Jahr (=1,9012ppm) erreichen.
Evtl. fürs Feintuning den Teilfaktor per Tasten änderbar machen.
Du kannst die Alterung des Quarzes auch noch gleich mitkompensieren.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie sind denn die temperatur-werte der abweichung denn?

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.