PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man MHz-Quarze im ppm-Bereich justieren?



oberallgeier
24.10.2008, 10:26
Hallo Alle,

mit einer simplen, etwas groben Messung habe ich die die Genauigkeit an einem Quarz gemessen:
1) mega168, 20 MHz, mit 22/22 pF, CKSEL3..1 = 001, Umgebungstemperatur: Wohnraum
2) Timer2 gestellt auf 50µs-Interrupt
3) Im Interrupt hochzählen bis jeweils 1 sec, dann Countdown-Sekunden zählen
4) Countdown, Vorgabe 36000 sec
5) Countdown wird mit Taster zeitnah gestartet
6) 1 LED zeigt Sekundentakt, die zweite LED signalisiert die Messzeit, eine dritte LED signalisiert 1 sec vor Ablauf der Messezeit.
7) 10 Stunden warten
8 ) LED-Messzeit wird zeitnah abgelesen
9) Vergleich mit der online-Atomuhr (genauer gesagt mit der catclock von robocat).

Ergebnis ist eine Abweichung der gestoppten Zeit um +3 sec, d.h. der Quarz läuft rund 83 ppm zu langsam. Der Quarz ist mit max. 50 ppm angegeben. Das ist nun wirklich keine riesige Überschreitung der Tolaranzbreite, aber . . . . . Ich würde hier gerne mal "drehen" können.

In verschiedenen Postings lese ich, dass man den Quarz mit Trimmern abstimmen kann. Nun scheinen mir Trimmer nicht wirklich gut: meist größer als Festkapazitäten, was verstellt werden kann, kann sich auch mal selbst verstellen . . . . Genauere Hintergründe über die Anpassung: so z.B. ppm/nF ... habe ich nicht gefunden. Geht das Abstimmen mit Ändern der Kapazität? Am liebsten wäre mir ein fester, anderer Kondensator, in diesem Fall - um evtl. von 80 ppm auf die Hälfte oder weniger zu kommen? Das Datenblatt 2545M–AVR–09/07 des mega168 nennt auf S 32 unten für alle Frequenzen 0,4 .. 20 MHz mögliche Kapazitäten zwischen 12 und 22 pF. Das gäbe natürlich zwei weitere Fragen: ist der übliche Quarz mit zwei Kondensatoren ein "Full Swing Crystal Oscillator" bzw. was ist das der Unterschied zwischen diesem "Full.." und dem "Low Power Crystal Oscillator"?

Wichtiger: kann ich durch Ändern der fuses CKSEL3..1 auf 011 die Resonanzfrequenz ändern ( - hatte gerade gemerkt, dass diese alte Einstellung nicht optimal ist)? Vermutlich doch nicht, da diese fuses den Schwingkreis nicht ändern ? ! ? ! ?

Danke für eure Mühe

fhs
24.10.2008, 11:13
Hi Joe,

zu Deinen Fragen habe ich nur eine tangentiale Antwort: Aus meiner Erfahrung im Amateurfunkbereich kann ich Dir berichten, dass sich Grundwellen-Quarze durch Änderung der Parallelkapazität bis zu etwa +/- 1 Tausendstel Ihrer Frequenz "ziehen" lassen. Hier (http://www.foxonline.com/techdata.htm) findest ein paar mehr Details. Das "Ziehen" habe ich bei Quarzoszillatoren z.T. mit Drehkondensatoren und z.T. mit Kapazitätsdioden gemacht. Bei letzterem Ansatz könnte man den Prozess sogar automatisieren... Zum "Ziehen" von Quarzen, die mit den Oszillatoren in µCs arbeiten, kann ich Dir nichts sagen. Sicher weiß hier jemand bessere Antwort auf Deine spezifischen Fragen als ich.

Viele Grüße

Fred

fhs
24.10.2008, 11:22
PS: Als Option nicht zu vergessen wären da digital einstellbare Kondensatoren, z.B. dieser (http://www.intersil.com/data/fn/FN8156.pdf), der sich durch seinen Bereich (7,5-14.5pF) vermutlich gut eignen würde.

Besserwessi
24.10.2008, 13:16
Durch ändern der Fuses kann sich die Frequenz vermutlich etwas verändern. Allerdings wird das kaum nutzbar sein, denn man hat ja nur 1-3 Stellungen die für einen Quarz gehen.

Wie schon von fhs geschrieben wird eine Trimmkondensator zu trimmen gehen, entweder parallel zum Quarz oder bei einem der 22 pF Kondensatoren.

Zum Abgleich der Frequenz wäre vermutlich so etwas wie die Horizontalfrequenz des Fernsehsignals besser geeignet als 10 Stunden auf den Funkwecker zu warten. Als einfachen Test könnte man z.B. den AVR ein 15625 Hz Signal erzeugen lassen (z.B. als PWM) und die Schwebingen ansehen. Besser wäre es natürlich den AVR das 15625 Hz signal messen zu lassen und ausgeben.

nikolaus10
24.10.2008, 14:49
Ich vermute auch mal das die Abweichung des AVR Quarzes auch nicht kontinuierlich ist sondern Schwankungen unterworfen sind (Mikrophonie und Waermeschwankungen)
Da hilft nur ein kardanisch aufgehaengter Quarzofen :-)

fhs
24.10.2008, 15:46
Hallo Joe,

wie ich anderen Threads schon erwähnt habe, ist es für langsame Anwendungen (Uhr!) oft sinnvoll, die Abweichung zu messen und per Software zu korrigieren: http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

Gruß

Fred

oberallgeier
24.10.2008, 17:18
Hallo alle,

erstmal vielen Dank für eure Mühe und eure Antworten. Ich muss das mal durchdenken und mich zu diesem Gebiet schlauer machen, daher Dank an Dich, Fred, für dieses hübsche Schreiben ! Lernstoff ! ! !

Besserwessis Hinweis auf die Zeilenfrequenz des Fernsehers ist interessant - klingt aber nach etwas mehr als 5V *ggggg*. Ausserdem musste ich mittlerweile HDTV einführen *grrrrr*. Muss ich mal nachgucken. Eine schnelle Messmethode wäre schon was, aber für meine Anwendungen ist die vorhandene Genauigkeit völlig genug. (Ich bin grad an einem LCD-Controller, der wird vermutlich mit dem internen 8 MHz Takt losgeschickt.)

@nikolaus10: Ich will ja nicht der PTB Konkurrenz machen *gggg*.

. . . . ja, die Geschichte mit der Softwarekorrektur hatte ich gelesen. Selbst für den Fall, dass ihr mich prügelt meine ich aber, dass die 20 MHz meiner m168er zu eher schnelleren Anwendungn gehören. Auch wenn meine PC schon mit mehreren GHz getaktet wird.