Infos zu Inkrementalgeber
Infos zu Inkrementalgeber
Infos zu Inkrementalgeber
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
ENCOD, J. Best, WS2000/01 Seite 1<br />
<strong>Inkrementalgeber</strong><br />
Wir betrachten die Verarbeitung der Signale eines optischen <strong>Inkrementalgeber</strong>s als Beispiel<br />
für eine typische Aufgabe der Signalverarbeitung in der Antriebstechnik. <strong>Inkrementalgeber</strong><br />
wurden ursprünglich nur <strong>zu</strong>r Lageregelung benutzt; heute werden sie oft auch dann anstelle<br />
eines analogen Tachogenerators eingesetzt, wenn „nur“ ein Drehzahlsignal benötigt wird.<br />
1 Mechanik<br />
<strong>Inkrementalgeber</strong> sind oft in ein eigenes Gehäuse eingebaut und werden dann an der B-Seite<br />
des Motors angeflanscht. Die Welle des Gebers wird dabei über eine drehsteife Kupplung mit<br />
der Motorwelle verbunden. Daneben gibt es Einbaugeber, die meist mit einer Hohlwelle ausgestattet<br />
und fest in den Motor eingebaut sind. Letzteres ist hauptsächlich in der Servotechnik<br />
üblich, wo es auf eine besonders gute mechanische Ankopplung ankommt und wo der Geber<br />
meist integraler Bestandteil des Motors ist.<br />
2 Prinzip<br />
Der Impulsmaßstab („Strichscheibe“) wird durch eine spezielle (lange Lebensdauer) Glüh-<br />
Lampe<br />
a<br />
Abtastgitter<br />
Kondensorlinse<br />
Strichscheibe<br />
Fotoelemente<br />
Bild 1 Optik des <strong>Inkrementalgeber</strong>s<br />
a(m+0,25) a(m+0,25)<br />
a(m+0,25)<br />
a<br />
Bild 2 Anordnung der Abtastgitter<br />
lampe oder durch eine LED über eine Kondensorlinse<br />
beleuchtet. Zwischen Lampe und Impulsmaßstab<br />
befinden sich Abtastgitter. Hinter dem Impulsmaßstab<br />
ist pro Abtastgitter ein Fotoelement angeordnet<br />
(Bild 1). Es sind beispielsweise 4 Abtastgitter und 4<br />
Fotoelemente vorhanden, die jeweils im ¼ Strichabstand<br />
versetzt angeordnet sind. Bild 2 zeigt die Anordnung<br />
von Strichscheibe und Abtastgittern im Detail.<br />
In der dargestellten Position würden die Schlitze<br />
im ersten (linken) Abtastgitter gerade vollständig<br />
abgedeckt, während sich beim dritten Abtastgitter<br />
von links die Striche gerade zwischen den Schlitzen<br />
des Abtastgitters befinden. Das zweite und das vierte<br />
Abtastgitter in Bild 2 wird jeweils gerade halb abgedeckt<br />
und zwar dergestalt, dass bei einer Bewegung<br />
des Impulsmaßstabs nach rechts das zweite Abtastgitter<br />
mehr und das<br />
vierte Abtastgitter weniger<br />
abgedeckt würde. Auf<br />
das linke Fotoelement fällt<br />
also kein Licht, beim<br />
Abtastgitter<br />
(Strichscheibe)<br />
Impulsmaßstab<br />
zweiten Fotoelement<br />
nimmt das Licht gerade<br />
ab, das dritte Fotoelement<br />
erhält maximales Licht<br />
und beim vierten Fotoelement<br />
nimmt das Licht<br />
<strong>zu</strong>.<br />
In Bild 3 ist der Verlauf<br />
der Signale, die von den<br />
Fotoelementen kommen,
ENCOD, J. Best, WS2000/01 Seite 2<br />
wenn sich der Impulsmaßstab nach rechts bewegt, dargestellt. Je nach Gestaltung kann dieser<br />
Signalverlauf dreieck- oder, wie in Bild 3, annähernd sinusförmig sein. Da die Abtastgitter um<br />
¼ Strichabstand versetzt angeordnet sind, haben die erzeugten Signale eine Phasenverschie-<br />
hell<br />
bung von 90° <strong>zu</strong>einander. Die Signale 1<br />
1<br />
bis 4, wie sie von den Fotoelementen<br />
dunkel<br />
kommen, sind jedoch unipolar. Die<br />
hell<br />
2<br />
ϕ Beleuchtungsstärke schwankt zwischen<br />
hell und dunkel; die <strong>zu</strong>gehörigen Foto-<br />
dunkel<br />
hell<br />
3<br />
dunkel<br />
hell<br />
4<br />
dunkel<br />
ϕ<br />
ϕ<br />
elemente liefern viel oder wenig Strom.<br />
Die Signale haben daher keinen Nulldurchgang.<br />
Außerdem schwankt die<br />
Helligkeit der Lichtquelle (Versorungsspannung,<br />
Alterung). Bildet man jedoch<br />
jeweils die Differenz zweier um 180°<br />
1<br />
-<br />
3<br />
ϕ<br />
ϕ<br />
versetzer Signale, also z.B. 1-3 bzw. 2-<br />
4, wie in Bild 3 gezeigt, so erhält man<br />
bipolare Signale, die symmetrisch <strong>zu</strong>m<br />
Nulldurchgang liegen. Diese beiden<br />
Signale werden meist mit „Spur A“ und<br />
2<br />
-<br />
4<br />
„Spur B“ bezeichnet und entweder als<br />
sinusförmige Analogsignale <strong>zu</strong>m Antrieb<br />
übertragen oder sie werden bereits<br />
ϕ in der Geberelektronik mittels Komparatoren<br />
in Binärsignale umgesetzt (Bild<br />
-<br />
4). Da die Signale um 90° phasenverschoben<br />
sind, werden sie auch „Quadratursignale“<br />
genannt.<br />
Bild 3 Signalverläufe<br />
A a<br />
B a<br />
A<br />
B<br />
Bild 4 Erzeugung von Rechtecksignalen<br />
ϕ<br />
ϕ<br />
ϕ<br />
ϕ<br />
Die Binärsignale können natürlich einfacher<br />
<strong>zu</strong>m Antrieb übertragen werden<br />
als die sinusförmigen Analogsignale,<br />
die mehr Sorgfalt <strong>zu</strong>r Störunterdrükkung<br />
erfordern. Auch ist deren Auswertung<br />
im Antrieb einfacher, schließlich<br />
liegt die Information ja schon in<br />
binärer Form vor. Man darf allerdings<br />
nicht übersehen, dass mit der Bildung<br />
der Rechtecksignale ein Informationsverlust<br />
verbunden ist. Bewegt sich die<br />
Motorwelle im Bereich zwischen zwei<br />
Nulldurchgängen der Analogsignale,<br />
so ist dies an den Rechtecksignalen<br />
nicht <strong>zu</strong> erkennen. Bei hohen Anforderungen<br />
(Servotechnik) wird man deshalb<br />
die sinusförmigen Geber-Signale<br />
<strong>zu</strong>m Antrieb übertragen.
ENCOD, J. Best, WS2000/01 Seite 3<br />
Bild 5 Aufbau eines <strong>Inkrementalgeber</strong>s<br />
In Bild 5 ist der typische Aufbau eines <strong>Inkrementalgeber</strong>s<br />
noch einmal dargestellt. Man erkennt<br />
Lager (1), Lampe (2), Kondensor (3), Abtastgitter<br />
(4), Teilscheibe (5) und Fotoelemente<br />
(6). Die 4 Fotoelemente sind dabei nicht wie in<br />
Bild 2 alle nebeneinander, sondern rechteckig<br />
angeordnet. Man erkennt darüberhinaus ein<br />
fünftes Fotoelement; dieses liefert den sogenannten<br />
Nullimpuls einmal pro Umdrehung. Dieser<br />
ist notwendig, wenn die absolute Position der<br />
Welle in der Signalverarbeitung benötigt wird.<br />
Diese Information liegt allerdings erst nach einer<br />
Umdrehung der Welle sicher vor.<br />
3 Auswertung<br />
Wir wollen uns <strong>zu</strong>nächst auf die Auswertung der rechteckförmigen Gebersignale beschränken.<br />
A<br />
B<br />
Rechtslauf Linkslauf ϕ<br />
Bild 6 Drehrichtungsumkehr<br />
In Bild 6 ist eine Drehrichtungsumkehr dargestellt. Wie wir uns auch anhand der vorausgegangenen<br />
Überlegungen klar machen können, ändert sich dabei die „Phasenlage“ der Signale<br />
A und B <strong>zu</strong>einander. Üblicherweise eilt bei Rechtslauf (Blick auf die Tachowelle) das Signal<br />
B dem Signal A um 90° nach; bei Linkslauf ist das umgekehrt. (Im konkreten Fall empfiehlt<br />
es sich das Datenblatt des Herstellers <strong>zu</strong> konsultieren, um die Zuordnung von Drehrichtung<br />
und Phasenlage der Gebersignale heraus<strong>zu</strong>finden).<br />
Durch Betrachten von Bild 6 erkennt man, dass es genügt, bei einer Flanke in A oder B den<br />
Pegel des jeweils anderen Signals <strong>zu</strong> prüfen, um die Drehrichtung <strong>zu</strong> bestimmen. Dieser Zusammenhang<br />
ist in Tabelle 1 <strong>zu</strong>sammengefasst (A+: positive Flanke in A etc., R: Rechtslauf,<br />
L:Linkslauf).<br />
Flanke<br />
A+ A- B+ B-<br />
A=high X X R L<br />
Pegel A=low X X L R<br />
B=high L R X X<br />
B=low R L X X<br />
Tabelle 1 Drehrichtungserkennung aus Flanke und Pegel<br />
ϕ
ENCOD, J. Best, WS2000/01 Seite 4<br />
Eine Auswerteelektronik muss also erkennen, wenn eine positive oder negative Flanke in A<br />
oder B vorliegt und dann den Pegel des anderen Signals prüfen. Es ist naheliegend, bei jeder<br />
Flanke einen Zähler weiter<strong>zu</strong>schalten, wobei die Drehrichtung die Zählrichtung (vorwärts<br />
bzw. rückwärts) bestimmt. Der Zählerstand ist dann ein Abbild des Drehwinkels der Motorwelle.<br />
Man beachte, dass das Weiterdrehen der Strichscheibe um einen Strichabstand eine<br />
volle Periode in A und B <strong>zu</strong>r Folge hat. Da<strong>zu</strong> gehören insgesamt 4 Nulldurchgänge. Deshalb<br />
spricht man auch von 4-fach-Auswertung, wenn alle Flanken benutzt werden. Nur selten verzichtet<br />
man auf die 4-fach-Auswertung. Ein Grund für diesen Verzicht liegt z.B. vor, wenn die<br />
Symmetrie der Flanken in den Signalen A und B schlecht ist.<br />
4 Signalübertragung<br />
Sofern Rechtecksignale <strong>zu</strong>r Signalübertragung verwendet werden, sind verschiedene physikalische<br />
Verpackungen üblich. Neben der Verwendung von Einzelsignalen (single ended), oft<br />
mit hohem Pegel (15 oder 24V), ist insbesondere die Verwendung von 5V-Differenzsignalen<br />
(RS422) verbreitet. Bild 7 zeigt eine typische Verdrahtung zwischen Geber und Antrieb.<br />
Geberelektronik Antrieb (Folgeelektronik)<br />
Schirm<br />
+5V<br />
GND<br />
A<br />
A<br />
B<br />
B<br />
Z<br />
Z<br />
+5V<br />
5V-Sense<br />
GND-Sense<br />
GND<br />
Bild 7 Signalübertragung zwischen Geber und Antrieb<br />
Die Gebersignale werden durch Leitungstreiber, die als integrierte Bausteine <strong>zu</strong>r Verfügung<br />
stehen, in Differenzsignale umgewandelt. Auf der Antriebsseite werden entsprechende Leitungsempfänger<br />
eingesetzt. Oft werden die Eingänge <strong>zu</strong>sätzlich diskret beschaltet, z.B. <strong>zu</strong>r<br />
Anpassung an den Wellenwiderstand der Leitung und und um bei offenen Eingängen (Leitungsbruch,<br />
Geber nicht angeschlossen) die Eingänge auf einen definierten Pegel <strong>zu</strong> legen.<br />
Besonderer Aufwand kann notwendig sein, wenn die Geberleitung sehr lang ist. Unter Umständen<br />
hat der Antrieb eine aufwendige Geberspeisung, die über „Sense-Leitungen“ die Versorgungsspannung<br />
am Geber regelt.<br />
+5V<br />
GND<br />
+5V<br />
GND<br />
+5V<br />
GND<br />
Geberspeisung
ENCOD, J. Best, WS2000/01 Seite 5<br />
5 Signalverarbeitung<br />
Wir wollen uns nun die Verarbeitung der Signale A und B im Antrieb anschauen, wobei wir<br />
von digitaler Signalverarbeitung durch einen Mikrocontroller ausgehen. Der Mikrocontroller<br />
wird in der Regel die Signale A und B nicht direkt über Binäreingänge einlesen und in Software<br />
auswerten. Dies würde <strong>zu</strong> viel Rechenleistung verbrauchen. Stattdessen wird man eine<br />
Vorverarbeitung durch eine spezielle Hardware vornehmen. Eine solche Hardware kann bereits<br />
Bestandteil eines Mikrocontrollers sein. Falls nicht, wird man eine solche Hardware entwerfen<br />
müssen. Wie ein solcher Entwurf aussehen kann, wird im Folgenden dargestellt. Meist<br />
wird man die <strong>zu</strong>sätzliche Hardware <strong>zu</strong>sammen mit weiteren benötigten Funktionen in einem<br />
ASIC (Application Specific Integrated Circuit) <strong>zu</strong>sammenfassen.<br />
Es ist empfehlenswert, komplizierte Digitalschaltungen als synchron getaktetes Schaltwerk<br />
(state machine) aus<strong>zu</strong>führen. Dieses besteht typischerweise (Bild 8) aus n D-Flipflops, die<br />
alle mit demselben Takt CLK<br />
betrieben werden und deren Ausgänge<br />
über ein rein kombinatori-<br />
Eingänge<br />
CLK<br />
Bild 8 State machine<br />
l m<br />
VN<br />
n<br />
D Q<br />
D<br />
CLK<br />
D Q<br />
D<br />
CLK<br />
Ausgänge<br />
sches Verknüpfungsnetzwerk VN<br />
auf die Eingänge <strong>zu</strong>rückgeführt<br />
sind. Das Verknüpfungsnetzwerk<br />
hat außerdem l Eingänge und m<br />
Ausgänge. Sorgt man dafür, dass<br />
die Eingänge mit dem Takt CLK<br />
synchronisiert sind, sich also nur<br />
<strong>zu</strong> den Taktzeitpunkten (genauer:<br />
kurz danach) ändern, so ändern<br />
sich die Eingangssignale an den D-<br />
Flipflops ebenfalls immer nur kurz<br />
nach dem Takt (Laufzeit von VN),<br />
sind also beim nächsten Takt auf<br />
jeden Fall stabil. Entsprechendes<br />
gilt für die Ausgangssignale m.<br />
Wir müssen also <strong>zu</strong>nächst die Si-<br />
gnale A und B „einsynchronisieren“. Dies geschieht durch die in Bild 9 dargestellte Schaltung.<br />
A A1 A2<br />
D Q D Q<br />
CLK<br />
CLK<br />
CLK<br />
CLK<br />
A<br />
A1<br />
A2<br />
Bild 9 Einsynchronisieren asynchroner Eingangssignale<br />
Man verwendet hier wenigstens 2 in Reihe geschaltete D-Flipflops, um dem Effekt der metastabilen<br />
Zustände (metastables) Herr <strong>zu</strong> werden. Für ein Flipflop werden meist „Setup“- und<br />
„Hold“-Zeiten angegeben; diese geben ein Zeit-Fenster um die positive Taktflanke an, in dem
ENCOD, J. Best, WS2000/01 Seite 6<br />
sich das Eingangssignal nicht ändern darf. Wird diese Bedingung verletzt, so kann das<br />
Flipflop in einen metastabilen Zustand geraten: Der Ausgang des Flipflops nimmt nicht nach<br />
der spezifizierten Zeit den Pegel des Eingangs an, sondern kann sich für eine gewisse Zeit<br />
nicht entscheiden, ob es nun 0 oder 1 werden will. In Bild 9 ist für das Signal A1 ein solcher<br />
Zustand dargestellt. Die Dauer dieses metastabilen Zustands lässt sich nicht genau angeben,<br />
sondern ist eine statistische Größe. So gibt es nur eine (hoffentlich sehr große) Wahrscheinlichkeit<br />
dafür, dass dieser Zustand bis <strong>zu</strong>r nächsten Taktflanke, wenn das nachgeschaltete<br />
Flipflop übernimmt, abgeklungen ist. Damit ist es dann sehr unwahrscheinlich, dass auch A2<br />
metastabil wird. Die Wahrscheinlichkeit, dass der metastabile Zustand bis <strong>zu</strong>r nächsten positiven<br />
Taktflanke abgeklungen ist, ist natürlich um so größer, je niedriger die Taktfrequenz<br />
fCLK ist. Man wird deshalb fCLK nicht unnötig groß wählen.<br />
Wie bereits erwähnt, ist es naheliegend, für die Vorverarbeitung der Gebersignale einen Vor-<br />
/Rückwärtszähler <strong>zu</strong> verwenden, der bei einem Ereignis (positive oder negative Flanke in A<br />
oder B gemäß Bild 6 bzw. Tabelle 1 vorwärts oder rückwärts zählt. Ein solcher Zähler kann<br />
zweifellos als synchron getaktetes Schaltwerk gebaut werden (Bild 10). Ist der Eingang EN<br />
(Enable) auf 0, so sorgt das Verknüpfungsnetzwerk VN dafür, dass die Flipflops an ihren D-<br />
Eingängen ihren eigenen Ausgangs<strong>zu</strong>stand <strong>zu</strong>geführt bekommen: Der Zähler schaltet mit dem<br />
EN<br />
U/D<br />
CLK<br />
D Q<br />
CLK<br />
Verknüpfungsnetzwerk<br />
D Q<br />
CLK<br />
Bild 10 Synchroner Vorwärts-/Rückwärtszähler<br />
D Q<br />
D Q<br />
Takt CLK nicht weiter. Ist dagegen EN=1, so hängt das Verhalten <strong>zu</strong>sätzlich von U D<br />
(UP/DOWN_NICHT) ab. Ist EN=1 und U D =1, so legt das VN den auf den aktuellen Zählerstand<br />
folgenden Wert an die Eingänge der Flipflops, der Zähler erhöht mit der nächsten<br />
positiven CLK-Flanke seinen Wert (bzw. geht auf 0, wenn bereits alle n Flipflops gesetzt waren).<br />
Ist dagegen EN=1 und U D =0, so zählt der Zähler rückwärts (bzw. alle Flipflops werden<br />
auf 1 gesetzt, wenn vorher der Zählerstand 0 war.) Man beachte, dass EN und U D den<br />
Charakter von Vorbereitungseingängen haben. Die „Aktion“ erfolgt jeweils mit der positiven<br />
CLK-Flanke, die Signale EN und U D müssen rechtzeitig vor der positiven CLK-Flanke stabil<br />
sein.<br />
Wir haben nun die Aufgabe, aus den einsynchronisierten Signalen A2 und B2 die Signale EN<br />
und U D <strong>zu</strong> erzeugen, die den Zähler ansteuern. Da<strong>zu</strong> verlängern wir die Flipflop-Kette in<br />
Bild 9 um ein weiteres Flipflop (Bild 11). Da A2 bereits einsynchronisiert ist, kann es seinen<br />
CLK<br />
CLK
ENCOD, J. Best, WS2000/01 Seite 7<br />
A2<br />
CLK<br />
D Q<br />
CLK<br />
A3<br />
CLK<br />
A2<br />
A3<br />
Bild 11 Verzögerung von A2 <strong>zu</strong>r Flankenerkennung<br />
Zustand nur kurz nach einer positiven Taktflanke wechseln. Das Signal A3 folgt diesem Zustand<br />
mit einem Takt Verzögerung.<br />
Schauen wir nun A2 und A3 unmittelbar vor einer Taktflanke an, so können wir erkennen, ob<br />
in A eine Flanke war und welches Vorzeichen diese hatte:<br />
A2A3 00 01 11 10<br />
Flanke keine negative keine positive<br />
Tabelle 2 Flankenerkennung aus A2 und A3<br />
Entsprechendes gilt natürlich für B2 und B3. Wir können nun jeweils ein Karnaugh-<br />
Diagramm für EN und, unter Beachtung von Tabelle 1, auch für U D zeichnen:<br />
A2A3<br />
B2B3<br />
00 01 11 10<br />
00 0 1 0 1<br />
01 1 d 1 d<br />
11 0 1 0 1<br />
10 1 d 1 d<br />
Tabelle 3 Karnaugh Diagramm für EN<br />
A2A3<br />
B2B3<br />
00 01 11 10<br />
00 d 0 d 1<br />
01 1 d 0 d<br />
11 d 1 d 0<br />
10 0 d 1 d<br />
Tabelle 4 Karnaugh Diagramm für U/D<br />
Beim Ausfüllen des Diagramms für EN müssen wir uns entscheiden, was wir in den Fällen<br />
eintragen, wo beide Signale A und B eine Flanke haben. Dieser Fall sollte eigentlich nicht<br />
vorkommen und wir können das Diagramm hier mit d (don’t care) belegen. Auf jeden Fall<br />
können wir in dem Diagramm für U D da, wo bei EN eine 0 steht, bei U D ein dont’t care<br />
eintragen. Aus den Diagrammen können wir folgende Verknüpfungen ablesen (Bild 12):<br />
A2<br />
A3<br />
A3<br />
A2<br />
B2<br />
B3<br />
B3<br />
B2<br />
&<br />
&<br />
&<br />
&<br />
1<br />
EN<br />
Bild 12 Verknüpfungen für EN und U/D<br />
A3<br />
B2<br />
A3<br />
B2<br />
&<br />
&<br />
1<br />
U/D
ENCOD, J. Best, WS2000/01 Seite 8<br />
Wir müssen nun noch dafür sorgen, dass der Zählerstand vom Mikrocomputer gelesen werden<br />
kann. Da<strong>zu</strong> ist es zweckmäßig, den Zählerstand auf ein Hardwaresignal STROBE hin in ein<br />
Register <strong>zu</strong> übertragen, aus dem der Mikrocomputer den Zählerstand konsistent auslesen<br />
kann. Insgesamt sieht unsere Schaltung nun so aus (Bild 13):<br />
A<br />
B<br />
CLK<br />
STROBE<br />
CLK<br />
D1 D2 D3<br />
A1<br />
D Q D Q D Q<br />
D4 D5 D6<br />
B1<br />
D Q D Q D Q<br />
Bild 13 Gesamtschaltplan der Geberauswertung<br />
A2<br />
A3<br />
B2<br />
B3<br />
D7 D8 S2 D9<br />
S1<br />
D Q D Q D Q<br />
S3<br />
Verknüpfungsnetzwerk<br />
&<br />
Das Signal STROBE muss ebenfalls einsynchronisiert werden, damit gewährleistet ist, dass<br />
der Übertrag in das Register <strong>zu</strong> einem Zeitpunkt erfolgt, in dem der Zähler stabil ist. Schließlich<br />
muss das Register über Tri-State-Ausgänge verfügen, die aktiv werden, wenn der Mikrocomputer<br />
das Register lesen will (CS\ = 0 und RD\ = 0).<br />
In der Praxis kann die Schaltung noch etwas komplizierter aussehen, z.B. könnte man die Signale<br />
A und B noch digital filtern, um Störungen <strong>zu</strong> unterdrücken. So könnte man einen<br />
Mehrheitsentscheid über die 3 <strong>zu</strong>letzt abgetasteten Werte durchführen.<br />
Das Signal STROBE kommt z.B. von einem Timer und ist ein Rechtecksignal mit der Periodendauer<br />
1ms. Es bewirkt das Abspeichern des Zählerstandes in das Register und löst außerdem<br />
einen Interrupt aus (Bild 14).<br />
Der Mikrocomputer kann nun innerhalb der 1ms-Interrupt-Routine den Zählerstand lesen, wie<br />
er <strong>zu</strong>m Zeitpunkt der positiven STROBE-Flanke war. Ab nun findet die Signalverarbeitung in<br />
Software statt. Zur Bildung eines Drehzahlistwertes speichern wir bei jedem Interrupt den<br />
Zählerstand ab. So können wir vom neuen Zählerstand jeweils den alten subtrahieren und erhalten<br />
damit die Winkeländerung pro Abtastzeit (1ms), also ein Maß für die Drehzahl.<br />
EN<br />
U/D<br />
Zähler<br />
LOAD<br />
Register<br />
µC-Databus<br />
OE\<br />
1<br />
CS\<br />
RD\
ENCOD, J. Best, WS2000/01 Seite 9<br />
A<br />
B<br />
Taktgenerator<br />
Die folgende Assembler-Routine (8086-Code) demonstriert den Sachverhalt:<br />
; .... 1ms-Interrupt<br />
MOV AX, POSCNT ; Zählerhardware: neuer Zählerstand<br />
MOV BX, POSCNT_D ; alter Zählerstand vom letzten Mal<br />
MOV POSCNT_D,AX ; neuen Zählerstand für nächstes Mal<br />
SUB AX,BX ; AX:= Neu - Alt<br />
MOV SPEED,AX ; Geschwindigkeits-Istwert<br />
In diesem Programmstück ist POSCNT (Positioncounter) die Hardwareadresse der Geberauswertung;<br />
POSCNT_D und SPEED sind Variablen (RAM-Adressen).<br />
Es mag überraschen, aber dieses einfache Programm funktioniert in allen Situationen, egal ob<br />
der Geber links oder rechts herum dreht, auch wenn der Hardwarezähler zwischen 2 Abtastungen<br />
überläuft. Einzige Bedingung ist, dass die Anzahl der Zählschritte zwischen 2 Abtastungen<br />
höchstens gleich der größten mit der Wortlänge darstellbaren positiven Zahl ist, also 2<br />
n-1 -1, also für 16 Bit 2 15 - 1 = 32767 und für 8 Bit: 2 7 -1 =127.<br />
Wie fein ist jetzt aber SPEED aufgelöst? Wir nehmen einen Geber mit Z=4096 Strichen an.<br />
Die Abtastrate sei T=1ms. Für den Zusammenhang zwischen Drehzahl n und SPEED erhalten<br />
wir:<br />
SPEED = 4 ⋅Z⋅n⋅T Für n=3000 min -1 erhalten wir:<br />
−1<br />
SPEED = 4 ⋅4096⋅3000min ⋅ 1ms = 819, 2<br />
INT<br />
1ms<br />
Strobe<br />
RD\<br />
CS\<br />
Geber-<br />
Auswertung<br />
Databus<br />
Bild 14 Anschluss der Geberauswertung an einen Mikrocontroller<br />
Mikrocontroller
ENCOD, J. Best, WS2000/01 Seite 10<br />
Dabei ist die Frequenz des Signals A bzw. B:<br />
−1<br />
f = Z⋅ n = 4096⋅ 3000min = 204, 8kHz<br />
Obwohl also die Strichzahl und damit auch die Frequenz der Signale A und B schon recht<br />
hoch ist, ist die Auflösung des Messwertes recht gering, nämlich weniger als 10 bit.<br />
Die Auflösung würde größer, wenn wir die Abtastzeit erhöhen. Bei 10ms bekämen wir bei<br />
3000 min -1 bereits einen Meßwert von 8192, also eine Auflösung von 13 bit; bei größerer<br />
Abtastzeit ist allerdings auch die Totzeit entsprechend größer.<br />
Die kleine Auflösung des Istwertes bei 1ms Abtastzeit bedeutet aber nicht, dass nicht der<br />
Sollwert höher aufgelöst sein kann und sich die Drehzahl in feineren Stufen einstellen lässt,<br />
als der Auflösung des Istwertes entspricht. Bei der Erfassung der Inkremente geht ja nichts<br />
verloren und durch eine Folge von Messwerten, die zwischen zwei Zahlenwerten schwankt,<br />
lassen sich ja beliebige Zwischenwerte darstellen, z.B:<br />
4+ 5+ 5<br />
455455 , , , , , ,... = = 466 ,<br />
3<br />
So ist auch keineswegs, wie oft vermutet wird, die kleinste darstellbare Drehzahl dadurch gegeben,<br />
dass 1 Inkrement pro Abtastintervall auftritt. Es lassen sich, über einen längeren Zeitraum<br />
gemittelt, beliebig kleine Drehzahlen erfassen.<br />
Eine kleine Auflösung im Drehzahlistwert hat aber den Nachteil, dass die Schwankungen im<br />
Messwert vom Drehzahlregler verstärkt werden und eine Modulation des Stromsollwertes<br />
bewirken. Der Drehzahlregler wird versuchen, die vermeintlichen Schwankungen aus<strong>zu</strong>regeln.<br />
Letztendlich hängt es von den Parametern von Strecke und Regler ab, ob die Auflösung<br />
ausreicht oder nicht.