User manual
202Bibliotheken
© 2008 Conrad Electronic
6.19.3 Frequenzmessung
Zur direkten Messung einer Frequenz, kann Timer_1 (16Bit) bzw. Timer_3 (16Bit) (nur Mega128)
verwendet werden. Es werden die Pulse innerhalb einer Sekunde gezählt, und das Ergebnis ist dann
in Herz. Die maximale Meßfrequenz ist 64kHz und ergibt sich durch den 16Bit Zähler. Ein Beispiel
für diese Art der Frequenzmessung findet man unter "Demo Programme/FreqMessung". Durch
Verkürzen der Meßzeit lassen sich auch höhere Frequenzen messen. Das Ergebnis muß dann
entsprechend umgerechnet werden.
6.19.4 Pulsweitenmodulation
Es stehen zwei unabhängige Timer für die Pulsweitenmodulation zur Verfügung. Timer_0 mit 8 Bit und
Timer_1 mit 16 Bit. Mit einer Pulsweitenmodulation läßt sich sehr einfach ein Digital-Analog-Wandler
realisieren. Auf dem Mega128 kann zusätzlich Timer_3 genutzt werden.
Timer0 (8 Bit)
Beispiel: Pulsweitenmodulation mit 138,9 µs Periode und 5,42 µs Pulsweite, geändert auf 10,84 µs
Pulsweite
// Puls: 10*542,5 ns = 5,42 µs, Periode: 256*542,5 ns = 138,9 µs
Timer_T0PWM(10,PS0_8);
Timer_T0PW(20); // Puls: 20*542,5 ns = 10,84 µs
Timer1 (16 Bit)
Beispiel: Pulsweitenmodulation mit 6,4 ms Periode und 1,28 ms Pulsweite Kanal A und 640 µs
Pulsweite Kanal B
Timer_T1PWMX(10,20,10,PS_1024); // Periode: 100*69,44 µs = 6,94 ms
// PulsA: 20*69,44 µs = 1,389 ms
// PulsB: 10*69,44 µs = 694,4 µs
6.19.5 Puls & Periodenmessung
Mit Timer_1 oder Timer_3 (nur Mega128) können Pulsweiten oder Signalperioden gemessen werden.
Es wird mit Hilfe der Input Capture Funktion (spezielles Register des Controllers), die Zeit zwischen
zwei Flanken gemessen. Diese Funktion nutzt den Capture-Interrupt ( INT_TIM1CAPT). Der Puls
wird zwischen einer steigenden und der nächsten fallenden Signalflanke gemessen. Die Periode wird
zwischen zwei steigenden Signalflanken gemessen. Durch die Input Capture Funktion gehen
Programmlaufzeiten nicht als Ungenauigkeit in das Meßergebnis ein. Mit dem programmierbaren
Vorteiler kann die Auflösung des Timer_1 festgelegt werden. Vorteiler siehe Tabelle.
Beispiel: Pulsbreitenmessung (Projekt PMessung) 434 µs (100 x 4,34 µs, siehe Tabelle) einschalten
word PM_Wert;