in Entwicklung
|
![]() |
Das Gerät hat drei Frequenzeingänge für jeweils unterschiedliche Anwendungen. Es wird jeweils 1 Eingang durch Reed-Relais zum PIC zugeschaltet. Die Auswahl erfolgt durch einen Taster. Nach einem Tasterderuch (1/2 Sekunde lang) wird zum nächsten Eingang umgeschaltet. Der jeweils aktive Eingang wird durch eine LED markiert.
Eingang 1:
Das ist ein universeller Eingang für Frequenzen von 10 kHz bis
50 MHz mit Amplituden ab 30 mV p-p. Niedrigere Frequenzen werden
nur bei höherer Amplitude korrekt gemessen. Für 1 kHz sind
etwa
200 mV p-p nötig.
Das Signal wird mit einem Video-OPV verstärkt, und dann dem PIC
zugeführt. Der Verstärkungsfaktor des OPV ist mit R2 fest auf
100 eingestellt, bricht oberhalb von 100MHz aber stark ein. Unterhalb
von
10kHz steigen und fallen Flanken von sinusförmigen
Eingangssignalen
so langsam, dass Rauschen zusätzliche Zählpulse für den
PIC verursachen kann.
Eingang 2:
Das ist ein Eingang für TTL-Impulse. Es können aber auch
größere Eingangspegel angelegt werden. Ein Vorwiderstand und
Schutzdioden leiten zu hohe und negative Spannungen ab.
Der Frequenzbereich geht von 4 Hz bis 50 MHz. Da die Messauflösung
aber nur 4 Hz beträgt, ist bei niedrigen Frequenzen der Fehler der
Messung recht hoch. Ab 400Hz liegt der Fehler unter 1%. Ab 4MHz liegt
der
Anzeigefehler bei unter 0,0005%. Die Messgenauigkeit wird dann von
der Quarzgenauigkeit begrenzt.
Eingang 3:
Dieser Eingang hat den HF-Vorteiler mit U664, der auch im 1-GHz-Zähler
verwendet wird. Seine Eingangsempfindlichkeit ist etwa 10 mV.
Es fällt auf, dass der U664B bei zu geringer Eingangsfrequenz
auf ein kleineres Teilungsverhältnis 'umschaltet'. Bei 10 MHz
teilte
er nur im Verhältnis 4:1, bei 20 MHz im Verhältnis 8:1.
Bei 50 MHz funktionierte er dagegen korrekt (64:1). Um Fehlmessungen zu
vermeiden, sollte sichergestellt sein, dass man eine ausreichend hohe
Eingangsfrequenz (wenigstens 30 MHz) hat.
Der Aufbau eines 1-GHz-Vorteilers auf einer einseitigen Platine
zusammen
mit allen möglichen anderen Baugruppen lässt einem
HF-Spezialisten
natürlich alle Haare zu Berge steigen. Ein wirklich stabiler
Betrieb
ist so nicht zu erreichen. Ohne Eingangssignal lässt der U664
seiner Phantasie freien Lauf und schwingt fröhlich vor sich hin.
Die
Empfindlichkeit der Eingangs wird sehr frequenzabhängig sein, und
unter den Möglichkeiten des U664 bleiben.
Vielleicht baue ich später mal einen separate HF-taugliche
Vorteiler
Box mit zweiseitig kaschiertem Leiterplattenmaterial und
SMD-Bausteinen.
Prinzipbedingt steigt die Messgenauigkeit mit der Frequenz. Bei
einem kalibrierten Frequenzmesser liegt er ab 1 MHz unter 20 ppm (0,002
%).
Bei nur 10 kHz liegt der Fahler bei 400 ppm (0,04%), was oft noch
ausreichend
ist.
Für Frequenzen unter 400 Hz liegt der Fehler im %-Bereich, das
ist nicht akzeptabel.
Alternative für tiefe Frequenzen: Periodenlängenmessung
Ein Frequenzmesser mit dem 16F84 nach obrigem Prinzip, arbeitet nur
bei hohen Frequenzen genau. Für Frequenzen unterhalb von 10 kHz
bietet
sich alternativ die Periodenlängenmessung an. Dafür wird aber
ein CCP-Kanal benötigt, den der 16F84 nicht besitzt. Der
weitestgehend
kompatible 16F628 hat aber den nötigen CCP-Kanal, und eignet sich
deshalb für die Periodenlängenmessung.
Es wird die Dauer einer Schwingung der unbekannten Eingangsfrequenz gemessen. Dazu betreibt man das CCP-Module im Capture-Mode und lässt man den Timer1 einen Takt von 2,5 MHz zählen. Wird am Eingang ein low-high-Übergang festgestellt, wird der Timer1 auf 0 gesetzt. Das Capture-Module ist so eingestellt, dass es bei jedem 4. low-high-Übergang den Stand des Timers1 in das Capture-Register kopiert. Damit steht im Capture-Register die Anzahl der Timer1-Takte, die der Länge von 4 Perioden der unbekannten Eingangsfrequenz entsprechen.
Da der Timer1 16-bittig ist, würde er schon nach 26ms
überlaufen,
und die niedrigste messbare Frequenz wäre 10 Hz. Werden aber die
Timer1-Überläufe
in einem 8-Bit-Register mitgezählt, hat man einen 24-Bit
Zähler,
der erst nach 6,7 Sekunden überläuft. Damit lassen sich
Frequenzen
bis hinab zu 0,6 Hz messen. Die Gesamtlänge der 4 Perioden wird
mit
0,4µs Genauigkeit gemessen. Folglich wird eine Periode mit
0,1µs
Genauigkeit gemessen.
Für eine Eingangsfrequenz von 1 Hz ergibt sich die illusorische
Genauigheit von 0,1ppm. Der Quarzfehler ist also hier das Limit (>10
ppm).
Der prinzipielle Messfehler ist aber proportional zur Frequenz. Mit
steigender
Frequenz sinkt die Genauigkeit:
100 Hz 10 ppm
1kHz 100 ppm
10 kHz 1000 ppm
100 kHz 10000 ppm
Bis 6 kHz ist die Periodenlängenmessung der Frequenzzählmethode also überlegen, darüber kehrt sich das Blatt um.
Um aus dem Messergebnis die Frequenz zu errechnen, geht mann wie folgt vor
Die Umschaltung zwischen den Eingängen erfolgt durch das Drücken eines Tasters. Da der Taster nur 2 mal pro Sekunde abgefragt wird, muss er etwa eine halbe Sekunde gedrückt werden. Die Umschaltung erkennt man am Umschalten der LEDs (die den jeweils aktiven Eingang markieren) wie auch am LCD. Am Anfang der 2. LCD-Zeile wird der jeweils aktive Eingang angezeigt:
In der rechten Hälfte der 2. LCD-Zeile wird die
Anzeigegenauigkeit
angegeben. Da die Anzeige bis zu 10 Stellen lang sein kann, die
eigentliche
Messung aber maximal 7 Stellen genau ist, dient dieser Wert der
Abschätzung
der Genauigkeit der angezeigten Messwerte.
Den PIC16F84 mit dem HEX-File programmieren.
Platine anfertigen und bestücken mit Außnahme folgender
Teile:
- Schaltkreis PIC16F84 (IC1)
- Schaltkreis U664
- Schaltkreis NE592 (IC2)
- Transistor BC328 (Q2)
- Widerstand R12 220 Ohm
Für den PIC16F84 und den NE592 sind IC-Fassungen einzulöten.
Den Stromversorgungseingang X1 mit AC oder DC mit einer Spannung von 16 .. 20 V verbinden. Die Spannung am out-Pin des 7805 muss nun 5V betragen, und die am out-Pin des 7812 sollte bei 12V liegen. Abweichungen sollten kleiner als 5% sein. Die Betriebsspannung entfernen.
Das LCD-Display anstecken. Die Betriebsspannung wieder anlegen. Den Kontrastregler R9 (10k) so einstellen, das im Display deutlich dunkle Vierecke zu erkennen sind. Die Betriebsspannung entfernen.
Nun den U664 einlöten und den PIC16F84 sowie den NE592 in die
IC-Fassungen
stecken. Die LEDs und den Taster anschließen.
Die Betriebsspannung wieder anlegen.
Die LED 1 leuchtet auf.
Das LCD zeigt kurz "HALLO".
Danach zeigt es "0 Hz / Apm. + 4 Hz", wobei der Schrägstrich
den Beginn der 2. Displayzeile symbolisiert.
Im 2-Hz-Rythmus wechselt das "+" in der 2. Zeile mit einem "-".
Den Taster drücken bis LED 1 verlischt und LED 2 aufleuchtet
(ca.
0,5s lang).
Das LCD zeigt "0 Hz / TTL + 4 Hz". Im 2-Hz-Rythmus wechselt das
"+" in der 2. Zeile mit einem "-".
Den Taster drücken bis LED 2 verlischt und LED 3 aufleuchtet
(ca.
0,5s lang).
Das LCD zeigt "0 Hz / 64:1 + 256 Hz". Im 2-Hz-Rythmus wechselt
das "+" in der 2. Zeile mit einem "-".
Die Betriebsspannung entfernen.
Den Transitor BC328 (Q2) und den Widerstand R12 220 Ohm noch
nicht
einlöten.
Um die Funktionstüchtigkeit des fertig aufgebauten Frequenzzählers zu prüfen, lässt man ihn seine eigene Quarzfrequenz messen.
Die Betriebsspannung wieder anlegen. LED 1 leuchtet auf.
Den Eingang 1 mit dem Taktausgang des PIC OSC2 (Pin 15) verbinden.
Das LCD zeigt "10 000 000 Hz / Amp. + 16 Hz". Im 2-Hz-Rythmus
wechselt das "+" in der 2. Zeile mit einem "-".
Den Eingang 1 vom Pin 15 des PIC trennen.
Den Taster drücken bis LED 1 verlischt und LED 2 aufleuchtet
(ca.
0,5s lang).
Den Eingang 2 mit dem Taktausgang des PIC OSC2 (Pin 15) verbinden.
Das LCD zeigt "10 000 000 Hz / TTL + 16 Hz". Im 2-Hz-Rythmus
wechselt das "+" in der 2. Zeile mit einem "-".
Den Eingang 2 vom Pin 15 des PIC trennen.
Den Taster drücken bis LED 2 verlischt und LED 3 aufleuchtet
(ca.
0,5s lang).
Pin 1 oder 14 des Relais K3 (oder Pin 3 des PIC) mit dem Taktausgang
des PIC OSC2 (Pin 15) verbinden.
Das LCD zeigt "640 000 000 Hz /64:1 + 1024 Hz". Im 2-Hz-Rythmus
wechselt das "+" in der 2. Zeile mit einem "-".
Das Relaispin (bzw Pin 3 des PIC) vom Pin 15 des PIC trennen.
Die Betriebsspannung entfernen.
Den Transitor BC328 (Q2) und den Widerstand R12 220 Ohm einlöten.
Damit ist die Funktionsfähigkeit des Frequenzzählers (ohne 64:1-Vorteiler) erwiesen. Zum Test des Vorteilers benötigt man eine Frequenz von mindestens 50 MHz (z.B. Quarzoszillator), die zur Messung mit dem Eingang des Vorteilers verbunden wird. Die angezeigte Frequenz kann dabei um 0,005% von der wirklichen Eingangsfrequenz abweichen, solange der Frequenzzähler nicht kalibriert ist.
Ohne Kalibrierung erreicht der Zähler eine Genauigkeit von ca
0,005%.
Die Frequenzabweichungen werden durch eine Abweichung der Quarzfrequenz
von den gewünschten 10 MHz verursacht (ohne spezielle
Maßnahmen
ca. 50ppm). Der Quarz muss mit dem Trimmkondensator C10 abgeglichen
('gezogen') werden. Ohne Abgleich wäre der angezeigte Frequenzwert
etwa 0,005% ungenau.
Ich stelle hier zwei mögliche Kalibrierverfahren vor:
Variante 1: mit Referenzfrequenzquelle
Wer das Glück hat, auf eine Referenzfrequenzquelle (z.B.
kalibrierter
Oszillator) mit einer Frequenz zwischen 2 MHz und 50 MHz
zugreifen
zu können, kann diese Methode benutzen.
Der Frequenzzähler wird an die Referenzfrequenzquelle
angeschlossen
und durch Verstellen des Trimm-Kondensators die angezeigte Frequenz der
Referenzfrequenz angeglichen. Die Referenzfrequenz sollte mindestens 2
MHz betragen, damit der Messfehler nicht durch die Anzeigeungenauigkeit
kaschiert wird. Andererseits sollte die Frequenz nicht über
50MHz liegen, und mann sollte den Eingang 1 bzw Eingang 2 benutzen.
Der zulässige Anzeigefehler ist je nach Messbereich 8 Hz (bei f < 8 MHz) bis 64 kHz (bei f > 32 MHz) und wird in der 2. LCD-Zeile angegeben.
Danach sollte der Messfehler im gesamten Frequenzbereich auf 0,001%
(10 ppm) reduziert sein. Höhere Genauigkeiten lassen sich nur noch
mit einem Termostat erreichen, der den Quarz auf einer konstanten
Temperatur
hält.
Normale Quarze oder Quarzoszillatoren ohne Kalibrierung eignen sich
nicht als Lieferant für eine Referenzfrequenz, da sie zu ungenau
sind!
Variante 2: die Uhrenmethode
Wer (wie die Meisten) keine präzise Referenzfrequenz zur
Verfügung
hat, kann wie hier beschrieben
vorgehen. Die dazu nötige Uhrensoftware ist Bestandteil der
Frequenzzählersoftware.
Der Frequenzzähler wird bei gedrückter Taste eingeschaltet.
Im Display erscheint die Uhrzeit "00:00:00", und die angezeigte Zeit
fängt
an, im Sekundenrythmus zu laufen. Jeder weitere Druck auf die Taste
setzt
die Zeit auf "00:00:00" zurück.
Genau zur vollen Stunde (nach der Fernseh-Uhr) wird die Null-Taste
gedrückt.
Die Uhr startet mit "00:00:00". Nach 24-Stunden wird festgestellt, ob
die
Uhr mehr als 1 Sekunde vor oder nach geht. Ist dass der Fall, wird der
Trimmkondensator verändert, und die Uhr zur vollen Stunde wieder
auf
"00:00:00" gesetzt. Eine vergrößerte Kapazität bremst
eine
zu schnell laufende Uhr, eine verkleinerte Kapazität beschleunigt
eine zu langsame Uhr. Eine Veränderung des Trimmkondensators um 1
pF bewirkt eine Gangänderung von ca. 0,25 Sekunden pro Tag. Nach
einigen
Tagen sollte man eine Trimmerstellung gefunden haben, bei der die Uhr
genau
läuft.
Ein Gangfehler von 1 Sekunde am Tag entspricht einem Frequenzfehler
von 12 ppm (0,0012%). Eine höhere Genauigkeit ist ohne Termostat
nicht
zu erreichen.
Nun wird die Frequenzmesser ausgeschaltet und wieder eingeschaltet, um die Frequenzmesssoftware zu starten.
Mögliche Verbesserungen
Anstelle des Großvaters PIC16F84 kann natürlich ein moderner
und billigerer Typ wie z.B. der PIC16F628 verwendet werden. Die
dafür
nötigen Änderungen in der Software sind minimal
(Änderung
der Initialisierung des Port A).
Wenn schon ein 16F628 verwendet wird, dann kann man auch sein CCP-Modul
benutzen um niedrige Frequenzen mit einer Periodendauermessung genau zu
bestimmen (vergleiche mit diesem Drehzahlmesser).
Dafür
müsste
das R/W-Pin des Displays an RB1 angeschlossen
werden, und RB3 (CCP-Eingang) mit RA4 verbunden werden. Die
Harwareänderungen
wären also minimal, die Software wäre natürlich etwas
komplizierter.
Die Eingangsbeschaltung für den 64:1-Vorteiler ist noch nicht optimal.
Ein schnellerer Vorteiler ermöglicht ein Vordringen in das
S-Band
bis zu 4,29 GHz..
Ein MB506 von Fujitsu ermöglicht z.B. 2,4 GHz. Er erfordert aber
leider eine Softwareänderung, da er ein 128:1 Teiler ist.
Entwicklungsstand
Die Software wurde angepasst und funktioniert. Der Vorteiler ist erst bis 200 MHz erprobt.Änderungen an der Eingangsbeschaltung und dem Treibertransistor sind noch möglich. |
Autor: sprut
erstellt: 12.12.2005
letzte Änderung: 12.12.2005