1 Allgemeines
In der Messtechnik kommt es häufig vor, dass Sensoren die
Messgrösse in eine Frequenz, welche einen direkten Zusammenhang
- zumeist proportial - zur Messgrösse hat, umwandeln. Zwei
grosse Vorteile, die sich sich daraus ergeben sind, dass die Übertragung
des Messignals über längere Distanzen unproblematisch
ist und, dass sich Frequenzen mit Hilfe von Mikrocontrollern sehr
einfach und genau messen lassen. In diesem Beispiel wird gezeigt,
wie man mit einem PIC16F84 eine einfach Frequenzmessung realisieren
kann. Das Beispiel wurde so gehalten, damit man mit die Schaltung
mit geringem Aufwand nachbauen kann.
2. Die Hardware
Zur Hardware der zur Frequenzmessung teilt sich grob in vier Teile
auf. Diese sind:
- der PIC 16F84 mit einem Reset-Taster, Oszillator, zwei Konensatoren
und einem 10K-Widerstand,
- die Eingangsschutzschalttung, mit zwei Dioden (z.B. 1N414) und
einem Vorwiderstand,
- einem zweistellinge LCD-Display mit zwei Widerständen zur
Kontrasteinstellung
- und schliesslich der 5V-Stromversorgung, im Bild nur durch das
+5V- und das GND-Symbol dargestellt.
Die Hardware für die Schaltung ist Abbildung 1 dargestellt.

Abbildung 1: Schaltplan für für den Aufbau
einer einfachen Frequenzmessung mit dem PIC 16F84
Die Eingangschutzschaltung verhindert der Pic nicht beschädigt
wird, wenn eine zu kleine oder eine zu grosse Spannung am Frequenzeingang
anliegt. Wenn sichergestellt ist, dass sich die Eingangsspannungen
zwischen >-0.3V und < 5V liegen, dann kann die Schaltung auch
ohne Eingangsschutzschaltung betrieben werden.
An die Spannungsversorgung sind keine besonderen Anforderungen
gerichtet. Benötigt wird eine Gleichspannungsquelle mit 5V
Gleichstrom und einer Strombelastbarkeit von ca. >100mA.
Das LCD-Display wird im 4-Bit-Mode betrieben. Daher werden nur
vier Datenleitungen zum Display geführt. Als LCD-Display dient
ein "Standard"-LCD-Display, welches man im Elektronik-Laden
um ein paar Euro kaufen kann.
3 Die Software
Die Software für die Frequenzmessung ist in der Sprache C
geschrieben. Als Compiler diente PicAnt (jetzt Sourceboost).
Der Compiler ist recht preiswert. Trotzdem kann man mit ihm vernünftig
arbeiten.
Das Programm teilt lässt sich in drei Teile aufteilen:
- die Interrupt-Service-Routine, deren Aufage darin besteht, die
Frequenz zu messen
- das Hauptprogramm, dessen Aufgabe darin besteht das Ergebnis
der Messung auszugeben und
- das Programmodul zur Ansteuerung des LCD-Displays (hier nicht
dargestellt), da es die Freqenzmessung im Vordergrund steht.
3.1 Der Sourcecode

Abbildung 2: Interrupt-Serivice-Routine zur Messung
der Impulse

Abbildung 3: Hauptprogramm zur Ausgabe der gemessenen
Frequenz
4. Messprinzip
Die Messung der Freuquenz läuft nach dem in Abbildung 4 dargestellten
Prinzp ab. Nachem eine neue Messung gestartet wird, wird jedes mal,
wenn sich der Frequenzeingang von logisch "0" auf logisch
"1" ändert (positive Taktflanke), die Zählvariable
AnzRB0Int um den Wert 1 erhöht.

Abbildung 4: Prinzip der Frequenzmessung
Wenn man die Zählung während einer definierten Zeit durchführt,
dann errechnet sich die durchschnittliche Frequenz aus:

Abbildung 5: Formeller Zusammenhang zwischen der
Messfrequenz und der Anzahl Impulse im Messfenster und er Dauer
des Messfensters
Da im gezeigten Beispiel mit einem Zeitfenster von 1s gearbeitet
wird, ergibt sich die Messfrequenz unmittelbar aus der Anzahl der
Impulse.
4 Erzielbare Genauigkeit
Ein grosser Vorteil, dieser Art der Frequenzmessung ist, dass sie
sehr einfach umgesetzt werden kann. Für viele Fälle reicht
die erreichte Genauigkeit auch aus. Wie man aus der Formel in Abbildung
5 erkennen kann, hängt die Genauigkeit des Messergebnisses
von der Anzahl der gemessenen Impulse im Messfenster und von der
Länge des Messfensters, also der Dauer der Messung, ab.
4.1 Ungenauigkeit in der Anzahl der gemessenen Impulse
Im Logikdiagram in Abbildung 4 sieht man, dass die Messung ungeachtet
davon, ob ein Impuls gerade anfängt, ob man dazwischen drin
liegt oder ob er gerade endet beginnt. Das gleiche gilt auch für
das Ende der Messung. Es ist im ungünstigsten Fall deshalb
möglich, dass eine Messung kurz nach einer positven Flanke
am Frequenzeingang beginnt und kurz vor einem neuen Impuls endet.
Daraus ergbit sich im schlimmsten Fall eine Ungenauigkeit von genau
von +-1 Impuls.
4.2 Ungenauigkeit in der Länge des Messfensters
Owohl die Mikroprozessoren zumeist mit einem sehr genauen Quarz
ausgestattet sind, sind auch diese nicht ganz genau. So hängt
die Frequenz des Quarzes u.a. von der Temperatur ab. Viel mehr macht
aber die Ungenauigkeit durch die Software aus, da jeder Softwarebefehl
eine bestimmte Zeit dauert. So vergeht eine bestimmte Zeit, wenn
das Hauptprogramm durch einen Timerüberlauf unterbrochen wird,
die Interrupt-Serviceroutine aufgerufen und ermittel wird, ob eine
Sekunde abgelaufen ist.
Wenn sehr hohe Genauigkeiten gefordert sind, dann werden deshalb
andere Ansätze verfolgt. Eine wesentliche Verbesserung liesse
sich hier schon alleine durch Änderung der Software (u.a. Programmierung
in der Maschinensprache und ein anderes Messprinzip) erreichen.
Hier soll aber darauf nicht weiter eingegangen werden. Mit der gleichen
Hardware liessen sich aber sehr hohe Frequenzen im MHz-Bereich mit
grosser Genauigkeit messen.
4.3 Genauigkeit
Mit der hier gezeigten Schaltung und Software können aber
Eingangsfrequenzen im Bereich von 1 bis 25KHz mit einer Genauigkeiten
von <1% gemessen werden. Das reicht für viele Anwendungsfälle
aus. Die hier gemachten Angaben stammen aus einer Vergleichsmessung
mit einem professionellen Freuqenzmessgerät.
5 Schaltungsvorsatz für
die Drehzahlmessung
Eine mögliche Anwendung für die Frequenzmessung ist beispielsweise
die Messung der Drehzahl eines Motors oder die Implementierung eines
Fahrrad-Tachometers. Zu diesem Zweck ist ein Sensor notwendig, welcher
der Schaltung die Spannungsimpulse liefert. Eine einfache Möglichkeit
ist, wenn man dazu einen Hall-Sensor verwendet, den man beispielsweise
in vielen Elektronikläden zu einem Preis von etwa 2 Euro erhält.
Was man dann noch braucht is ein kleines Stück eines Magneten.
Deses wird am rotierenden Messobjekt, z.B. an der Radnabe, befestigt.
Die in Abbildung 6 dargestellte Schaltung zeigt den Hardwareaufbau.

Abbildung 6: Erzeugung von Spannungsimpulsen mit
Hilfe eines Hall-Sensors
4 Download
Nr |
Type |
downloadbares File |
Beschreibung |
0 |
.gif |
Schaltplan |
Schaltplan für die Frequenezmessschaltung
(Bild wie oben dargestellt) |
1 |
.zip |
Sourcode und Hex-File |
Programmcode für die Frequenzmessung |
|