Allgemeines
Genauigkeitsproblem
Das Quarzproblem
Referenzfrequenz "aus der Luft"
GPS
DCF77
Zurück auf die Erde
Kalibrierverfahren für den
50-MHz-Frequenzzähler:
Genauigkeitsproblem
Frequenzen lassen sich viel genauer messen als Spannungen. Viele DVMs
(ab 50€) haben auch einen Frequenzmessbereich. Die
Messgenauigkeit
wird beim DVM durch das Display vorgegeben. So beschränken sich
einige
4-1/2-stelligen DVMs auf 200 kHz (10 Hz Auflösung)
andere
messen bis zu 10 MHz bei entsprechend schlechter Auflösung (1
kHz).
Für einfache Messungen reicht das aus, ein genauerer
Frequenzmesser
lässt sich aber auch vom Bastler selber bauen.
Als Beispiel sein mein 50-MHz-Frequenzzähler oder mein Universal-Frequenzzähler genannt.
Wenn man mit diesem Eigenbaufrequenzzähler eine Frequenz von ca. 20 MHz ausmisst, so wird die gemessene Frequenz z.B. mit einer Auflösung von 16 Hz angezeigt. Die Anzeige erfolgt also in 16-Hz-Schritten. Ein möglicher Messwert wäre z.B 20.000.000 Hz oder 20.000.016 Hz. Zwischenwerte sind nicht möglich. Das ist aber keine wirkliche Einschränkung, denn die 16-Hz-Auflösung der Anzeige entspricht einem Anzeigefehler von 0,00008% oder 0,8 ppm. So genau ist die eigentliche Messung ohnehin nicht.
Die Messgenauigkeit wird nämlich durch die Genauigkeit des Quarzes bestimmt, der im Frequenzzähler als Referenzfrequenz dient. Im Falle des Universal-Frequenzzählers ist das der 20-MHz-Quarz (Q1) für den PIC-Takt. Der Quarzfehler ist viel größer als der oben als Beispiel genannte Anzeigefehler.
Das Quarzproblem
Typische Quarze haben Frequenzfehler von 30..50 ppm (0,003..0,005%).
Dieser Fehler ist 20mal größer als der oben genannte
Anzeigefehler.
Es kann also passieren, dass eine exakte 20-MHz-Frequenz vom frisch
zusammengelöteten
Frequenzzähler z.B. als 20.000.992 Hz oder als 19.999.008 Hz
angezeigt
wird.
Quarze werden so hergestellt, dass sie dann mit ihrer Normfrequenz
(±
Toleranz)
schwingen, wenn sie mit einer bestimmten Kapazität belastet
werden.
Bei kleinere Last schwingen sie schneller und bei größerer
Last
langsamer. Die Belastung erfolgt z.B. mit kleinen Kondensatoren von den
Quarzanschlüssen nach Masse. Man muss also die vom Hersteller
vorgesehene Last kennen, um die Belastungskondensatoren richtig
auszuwählen.
Ein Quarz für große kapazitive Lasten (z.B. 30pF) ist
einfacher
zu benutzen, als ein Quarz für kleine Lasten (z.B. 12 pF), weil
sich
beim Aufbau kleine Kapazitäten kaum genau einhalten lassen
(Auswirkungen
der Leiterplatte u.v.m.). Nur wenn man den Quarz richtig belastet, dann
hält er auch seine vom Hersteller versprochene Frequenzfehler
(z.B.
30 ppm) ein. Dieser Fehler ist für einen genauen
Frequenzzähler
aber immer noch zu groß.
Dieser Fehler lässt sich dadurch korrigieren, dass man die Frequenz des Referenzquarzes im Frequenzzähler (in diesem Fall also der Arbeitstakt-Quarz des PIC-Prozessors) auf exakt 10 MHz (seinen Nominalwert) korrigiert (den Quarz 'zieht'). In der Oszillatorschaltung befinden sich an beiden Anschlüssen des Quarzes kleine Kondensatoren (30 pF) nach Masse. Die stellen die 'Grundbelastung' für den Quarz da, und beeinflussen (wie schon oben beschrieben) seine Frequenz ein wenig. Wenn man den Quarz ziehen will, ersetzt man einen der beiden Kondensatoren (vorzugsweise von OSC1 nach Masse) gegen einen 30 pF Trimmkondensator. Dieser wird dann solange verdreht, bis bei der Messung von 20 MHz auch genau 20.000.000Hz angezeigt wird. Dann schwingt der gezogene Quarz auch mit genau 10 MHz.
Dafür benötigt man aber erst einmal ein exaktes
20-MHz-Signal.
Das steht dem Bastler aber nicht zur Verfügung.
Die Quarzfrequenz ist temperaturabhängig. Die typische
Temperaturdrift beträgt -0,034 ppm/°C2. Das klingt
klein, aber die Quadratfunktion hat es in sich. Eine
Temperaturabweichung von nur 10 Grad bewirkt schon 3,4ppm Abweichung.
Schon 5 Grad (was ja im Bastelkeller vorkommen kann, oder durch
Eigenerwärmung im Gehäuse passiert) bewirken 1 ppm Drift.
Hier helfen nur noch temperaturkompensierte (TCXO) oder
temperaturstabilisierte (OCXO) Quarzoszillatoren.
Apropos OCXO: Ein 10-MHz-OCXO mit abgeschalteter Heizung hat eine
Frequenzabweichung von fast -1,5 kHz (-150 ppm !) und eignet sich somit
wunderbar zur Demonstration der Temperaturdrift.
Referenzfrequenz "aus der Luft"
| In der DDR wurde das Zeilensynchronsignal des 2.
Fernsehprogramms mit
einer Atomuhr synchronisiert. Damit stand in der ganzen DDR ein
hochgenaues
Frequenznormal von 15625 Hz zur Verfügung. Mit der Einstellung des
DDR-Fernsehens wurde dieses Verfahren vom ZDF übernommen. (Nur
analoges TV!) Durch das Zählen dieser Impulse über 1 Minute kann man einen Zählfrequenzmesser auf bis zu 1 ppm genau kalibrieren. Da das TV-Signal aber ein Gemisch aus Video- und Synchronimpulsen ist, muss man zunächst eine PLL mit dem Zeilensynchonsignal synchronisieren, um eine saubere 15625 Hz-Quelle zu bekommen, oder man greift das Signal im Inneren eines TV-Geräts ab (was ich aus Sicherheitsgründen nicht jedem Bastler empfehlen kann). Außerdem funktioniert das natürlich nur mit analogem TV und nicht mit DVB-S /-T /-C . Wer den Video-Color-Prozessor VCP7001 (von ELV) besitzt, kann diesen an eine auf das ZFD (analog TV) abgestimmtes Fernsehgerät anschließen, und die 15625 Hz am Pin 11des IC1 (TDA2579) abgreifen. Es handelt sich an dieser Stelle um 12V-Pulse. Im Web gibt es einige Projekte, in denen z.B.
20-MHz-Quarzoszillatoren
mit einer PLL auf die 15625Hz Zeilenfrequenz synchronisiert werden,
damit
steht dann eine 20-MHz-Referenz zur Verfügung, der Aufwand ist
aber
hoch. Im professionellen Kalibrierlabor werden heute Quarzuhren
eingesetzt,
deren Quarze getrimmt sind, und deren Trimmung durch Vergleich mit dem
Funkkuhrensignal (DCF77) oder der GPS-Zeit automatisch ständig
korrigiert
wird. Damit ist eine Genauigkeit von <2 ppm erreichbar, aber diese
Lösung
ist für Bastler meist zu aufwendig. |
| Man verbindet PON mit GND und
schließt zwischen GND und Vdd 1,5 V
an. Daraufhin gibt das Modul am Signalausgang im Sekundenrhythmus kurze
positive Pulse aus, die 100 ms oder 200 ms lang sind. Die
unterschiedlichen Pulslängen enthalten die binäre
Zeitinformation. Jeder 60. Puls fehlt, um den Beginn einer neuen Minute
zu kennzeichnen und den Datenstrom zu synchronisieren. Vom fehlenden
60. Pulse einmal abgesehen, bilden die steigenden Flanken der Pulse ein
recht genaues 1-Hz-Signal. Das gilt aber nur, wenn man die
Langzeitstabilität des Signals betrachtet. mit der
Kurzzeitstabilität hapert es dabei aber gewaltig. Die hochgenaue
Trägerfrequenz und deren genaue Phasen (sowie deren
Phasenmodulation) sind auch verloren. In der deutschen Wikipedia schimpft man über über die sehr schmalbandige (10 Hz) Filterung des Signals im Empfängerchip, wodurch der Pulsbeginn mit 0,1s Ungenauigkeit ausgegeben würde. Diese Kritik möchte ich aber etwas einschränken. Die Flanken der Pulse werden durch das Filter immer gleich verzögert. Auf die durchschnittliche Pulsfrequenz hat die schmalbandige Filterung also keinen Einfluss. Allerdings führt das schmalbandige Filter (und die dadurch stark rampenförmige Hüllkurfe des Signals am Filterausgang) insbesondere bei schlechten Empfangsbedingungen dazu, dass der Ausgangskomparator des DCF-Moduls den Beginn eines Pulses nicht immer an der gleichen Stelle des Pulses erkennt. Das Signal hat also etwas Jitter, allerdings nicht 0,1 s sondern nur wenige Millisekunden. (Bei guten Empfangsbedingungen habe ich nicht mehr als 3 ms gemessen.) Wenn man nicht den Abstand zweier benachbarter Pulse betrachtet, sondern den Abstand jedes 60sten Pulses (also der Minutenpulse), dann vermindert sich der Fehler schon deutlich. Für einen Fehler unter 10 ppm muss man die Pulse über wenigstens 8 Minuten auswerten. 3-ms-Jitter entsprechen:
|
![]() |
Zurück auf die Erde
Die genauesten preiswerten Frequenzquellen sind für Bastler immer
noch Quarze. Allerdings haben sie, wie schon gesagt, von Hause aus
nicht
die Genauigkeit, die man annimmt:
| Typ | Grundfehler (25°C) | entspricht: | Fehler bei 20 MHz: | Temperaturdrift | Alterung/Jahr | |
| Standardquarz (Grundtton) | 30 ppm | 16 Minuten/Jahr | 2,6 Sekunden/Tag |
600 Hz | ±30 ppm (-10..70°C) | 5 ppm |
| Standardquarz (Oberton) | 50 ppm | 26 Minuten/Jahr | 4,3 Sekunden/Tag | 1 kHz | ±50 ppm (-40..85°C) | 5 ppm |
| Quarzoszillator Typ A | 25 ppm | 13 Minuten/Jahr | 2,1 Sekunden/Tag | 500 Hz | - | 5 ppm |
| Quarzoszillator Typ C | 100 ppm | 53 Minuten/Jahr | 8,7 Sekunden/Tag | 2 kHz | - | 5 ppm |
| Uhrenquarz (32,768 kHz) | 20 ppm | 10 Minuten/Jahr | 1,6 Sekunden/Tag | 400 Hz | -0,034 ppm/°C2 | 3 ppm |
| Messquarz | 3 ppm | 1,5 Minuten/Jahr | 0,25 Sekunden/Tag | 60 Hz | -0,034 ppm/°C2 | 5 ppm |
| TCXO (temperatur compensated
crystal osc.) |
<0,5 ppm | 15 Sekunden/Jahr | 5 ms/Tag | 10 Hz |
±2.5ppm (-30 to 85°C) |
1 ppm |
| OCXO (oven controlled crystal
osc.) |
<0,1 ppm |
3 Sekunden/Jahr |
0,9 ms/Tag |
1 Hz |
±0,01 ppm | 0,1ppm |
(Hinweis zur Umrechnung: 1 ppm = 0,0001%)
Da man sich unter ppm (parts per million = Millionstel) nicht viel
vorstellen
kann, enthält die obige Tabelle die maximale Gangabweichung einer
Uhr pro Jahr, wenn sie mit so einem Quarz ausgerüstet ist. Ich
habe
dort auch den möglichen Frequenzfehler eines exemplarischen
20MHz-Quarzes
aufgeführt.
Die Quarzfrequenz hängt auch von der Temperatur ab. Der Zusammenhang ist aber nicht linear. Quarze sind so ausgelegt, dass bei ihrer typischen Umgebungstemperatur (turnover Temperatur) die Temperatrurabhängigkeit minimal ist (ca. 0,1 ppm/grad). Bei extremen Temperaturen kann der Fehler aber weitaus größer sein. Um dem entgegenzuwirken gibt es TCXOs und OCXOs.
Ein TCXO iste in
Quarzoszillator mit Temperatursensor und
"Verstimmautomatik". Es wird stets die Temperatur des Quarzes gemessen
und mit einerm Kapazitätsdiode der Quarz so verstimmt, dass seine
Frequenz bei Temperaturänderungen einigermaßen konstant
bleibt. Eigentlich sind TCXOs ideal als Frequenznormal in einfachen
Frequenzzählern. Siesind deutlich frequenzstabiler als einfache
Quarze, benötigen aber keine so lange Aufwärmzeit wie ein
OCXO. Ideal sind VCTCXO (voltage controlled temperature compensated
crystal oscillator), da diese sich mit einer Abstimmspannung genau
"kalibrieren" lassen, wärend einfache TCXOs nicht einstellbar sind.
Der OCXO iste ein
Quarzoszillatior, der sich ein einem
temperaturstabilisierten "Ofen" befindet. Im Ofen wird die Temperatur
(ca 70°C .. 80°C) konstant gehalten, so dass die
Temperaturdrift des Quarzes (wie auch aller anderen Bauelemente des
Oszillators) keine Rolle mehr spielt. Ein OCXO ist hochstabil,
benötigt dafür aber mehrere Stunden Aufwärmzeit.
Das Problem des Basters ist:
Kalibrierverfahren für den 50-MHz-Frequenzzähler:
Ein Tag hat 86400 Sekunden. Eine Uhr, die am Tag um 1 Sekunde vor oder
nach geht, hat einen Frequenzfehler von 1/86400 = 11,6ppm.
In den fertig aufgebauten Frequenzzähler wird anstelle der
Frequenzzähler-Software
eine Uhrensoftware
gebrannt.
Diese Uhr wird mit der Fernseh-Uhr des analogen Fernsehens
synchronisiert. Nach einem Tag
Laufzeit,
wird die Eigenbau-Uhr mit der Fernseh-Uhr verglichen. Bei einer
Abweichung
von mehr als 1 Sekunde wird der Trimm-Kondensator am Quarz etwas
verstellt,
und die Uhr wieder synchronisiert. Dabei ist vorsichtig vorzugehen, um
nicht zu stark zu korrigieren (1 pF = 0,25 Sekunde/Tag). Nach
einigen
Tagen sollte der Laufzeitfehler unter 1 Sekunde pro Tag liegen.
Nun kann man das Ganze im Wochenrythmus wiederholen. Da die Temperatur
in Wohnung und Bastelraum nur zwischen 15°C und 35°C schwanken
wird, ist eine Genauigkeit von 3 ppm erreichbar. Das entspricht einem
Laufzeitfehler
von 0,6 Sekunden pro Woche. Eine höhere Präzision ist ohne
Termostat
für den Quarz nicht erreichbar, und aufgrund der Alterungsdrift
auch
nicht sinnvoll.
Analog-TV ist nicht mehr für jeden empfangbar. Beim digitalen
TV kann das Bild schon mal mit 1 Sekunde
Verzögerung angezeigt werden, die Digital-TV-Uhr ist also weniger
zuverlässig als die Analog-TV-Uhr. Anstelle der TV-Uhr nutze ich
deshalb
z.Z. Funkwecker als Zeitnormal. Ein solcher Funkwecker kann zwar
tagsüber etwas vor- oder nachgehen, wenn er gerade das Zeitsignal
des DCF-Senders nicht auswertet, aber er wird mehrmals täglich
(eigentlich bevorzugt nachts) mit
dem DCF-Signal synchronisiert. Bei mir wird der Frequenzzähler
(mit Uhrensoftware) regelmäßig tagelang mit zwei
unterschiedlichen Funkweckern verglichen. Der Langzeitfehler des
Frequenzzählers wurde somit auf +3ppm "kalibriert". Ein besserees
Ergebnis ist aufgrund der Temperaturdrift des Quarzes ohnehin nicht
realisierbar.
Nun wird das Uhrenprogramm gegen das Frequenzzählerprogramm ausgetauscht, und man hat einen präzisen Frequenzzähler.
Auf diesem Wege lässt sich eine gute Langzeitstabilität erreichen. Unabhängig davon, kann die Quarzfrequenz kurzzeitig viel stärker schwanken, wenn z.B. die Versorgungsspannung des Frequenzzählers nicht sorgfältig stabilisiert und gesiebt wurde. Ein sauberer Geräteaufbau und eine saubere Betriebsspannung sind also auch wichtig, für ein präzises Messergebnis.
Fazit
Ob eine solche Genauigkeit sinnvoll ist, muss jeder selbst
entscheiden.
Eine Frequenz von 20 MHz wird jetzt höchstens noch um ca. 60 Hz
falsch
gemessen/angezeigt. Man kann nun feststellen, dass alle Quarze in der
Bastelkiste
einige 100 Hz Frequenzfehler aufweisen, einen echten praktischen Nutzen
hat man davon in der Praxis aber selten.