20.07.2013 Aufrufe

Infos zu Inkrementalgeber

Infos zu Inkrementalgeber

Infos zu Inkrementalgeber

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!