-
GEBIET DER
ERFINDUNG
-
Die
vorliegende Erfindung betrifft Motor- und Positionskontrollsysteme
und Ausrüstung
dafür,
und spezieller eine Hochauflösungs-Positionssensorvorrichtung
und ein Verfahren zur Erhöhung
der Präzision
der Positionsrückmeldung
während
der Bewegung.
-
HINTERGRUND
DER ERFINDUNG
-
Der
Stand der Technik umfasst zahlreiche Beispiele von Positionssensorvorrichtungen,
die elektrische Pulse in Funktion von Verlagerung abgeben. Beispiele
für diese
beinhalten die in dem US-Patent Nr. 3.748.486 an Russell beschriebene
Vorrichtung, welche ein auf einem bewegbaren Maschinenteil montiertes
Diffraktionsgitter zum Modulieren von Licht anwendet, das zu einem
photoelektrischen Transducer weiterläuft, um elektrische Signale
in Phase mit der Bewegung des Maschinenteils zu produzieren.
-
In
dem US-Patent Nr. 3.794.899 an Breslow ist ein System zur Evaluation
von Fehlern in Hochpräzisionskodierern,
die an Servosteuerungssystemen angewendet werden, offenbart. Das
US-Patent Nr. 4.023.085 an Bishop et al. offenbart ein numerisches
Steuersystem mit einer digitalisierten Phasenschleife, das einen
Resolver, welcher ein digitales Positionsfeedbacksignal verschafft,
zum Generieren eines Fehlersignals nutzt.
-
Das
US-Patent Nr. 4.095.158 an Matsumoto offenbart ein Positionskontrollsystem,
das einen Resolver verwendet, um ein Positionsfeedbacksignal als
Phasendaten zu produzieren, die in einen Referenzzähler umgewandelt
und in einem Pufferregister gespeichert werden, zur Verwendung bei
der Entwicklung eines Positionsfehlersignals zum Antreiben eines
Servomechanismus.
-
In
dem US-Patent Nr. 4.503.372 an Nozawa et al. ist ein Positionskontrollsystem
offenbart, worin Fehlerspeichermittel einen Fehler berechnen, der
der Differenz zwischen einem Sollwert und der von einem an der Motorwelle
eines bewegbaren Maschinenelements montierten Positionssensor erfassten Bewegungsmenge
entspricht.
-
Das
US-Patent Nr. 5.254.919 an Bridges et al. offenbart ein Kodierersystem
zur Positionskontrolle, worin ein optisches System Kodierersegmente
auf individuelle Sensorelemente einer linearen Anordnung abbildet,
wie etwa eines ladungsgekoppelten Vorrichtungssensors, um digitale
Signale für
eine geschlossene Feedback-Positionskontrollvorrichtung zu
produzieren. Beabstandung der Sensorelemente mit einer relativ feinen
Teilung entlang der Anordnung ermöglicht das Erzielen einer hohen
Auflösung,
jedoch ist dies noch stets unzureichend für Hochpräzisions-Positionskontrollsysteme.
-
Bei
Servomechanismusanwendungen, welche Positions- und Geschwindigkeitskontrolle
für bewegende
Teile erfordern, oder wo mechanische Synchronisation erforderlich
ist, wäre
es wünschenswert, durch
Erhöhung
der Präzision
der Positionsrückmeldung
eine reibungslosere und präzisere
Kontrolle zu verschaffen.
-
Insbesondere
ist bei Servokontrollsystemen die Kontrollleistung von der Präzision der
Positionsrückmeldung
abhängig. Üblicherweise,
wenn das System in Ruhestellung ist, sind Servomechanismen in der
Lage, das System in der gewünschten
Position zu halten, innerhalb der Präzision des Positionssensors.
Während
Bewegung ist jedoch die Präzision
der Steuerung schlechter und wird ein Fehler zwischen der Sollposition
und der Istposition beobachtet (Nachlauffehler). Der Mangel an Präzision des
Kodierers ist sehr oft der Hauptfaktor, der die Leistung des Servosystems
während
der Bewegung einschränkt.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Dementsprechend
ist es ein Hauptziel der Erfindung, die Nachteile von Positionskontrollsystemen
des Standes der Technik zu überwinden
und eine Hochauflösungs-Positionssensorvorrichtung
zur Verwendung bei der präzisen
Positionierung von Servomechanismen in vielen Anwendungen zu verschaffen.
-
In Übereinstimmung
mit einer bevorzugten Ausführung
der vorliegenden Erfindung wird eine Sensorvorrichtung zum Messen
einer wechselnden Variablen eines Systems und Vorsehen von Ausgangswerten,
die die Systemvariable mit erhöhter Auflösung darstellen,
verschafft, wobei besagte Vorrichtung folgendes umfasst:
Mittel
zum Vorsehen eines Pulses bei jedem Übergang der gemessenen Variablen über ein
Niveau jedes eines Satzes gleichmäßig voneinander beabstandeter
vorbestimmter Niveaus,
Mittel zum Generieren einer Folge von
Systemtaktpulsen auf einer ersten Rate und einer Folge von geteilten
Systemtaktpulsen auf einem Bruchteil besagter erster Rate;
erste
Mittel zum Zählen
einer ersten Anzahl von Pulsen besagter geteilter Systemtaktpulsfolge,
die zwischen jedem Vorkommen besagten Übergangspulses vorkommen;
Mittel
zum Speichern besagter erster gezählter Anzahl von Pulsen besagter
geteilter Systemtaktpulsfolge; zweite Mittel zum Zählen einer
zweiten Anzahl von Pulsen besagter geteilter Systemtaktpulsfolge und
Zurücksetzen
besagter zweiter gezählter
Anzahl bei jedem Übergangspuls;
zweite
Mittel zum Speichern besagter zweiter gezählter Anzahl von Pulsen besagter
geteilter Systemtaktpulsfolge in einem Register auf einer verschobenen Speicherposition,
die ein Vielfaches besagter zweiter gezählter Anzahl von Pulsen darstellt;
Mittel
zum wiederholten Vergleichen, auf einer relativ hohen Rate, besagter
verschobener, gespeicherter zweiter gezählter Anzahl und besagter gespeicherter erster
gezählter
Anzahl, und Produzieren einer Differenzzählung dazwischen, falls die
erstere die letztere überschreitet;
Mittel
zum Generieren eines Pulses mit hoher Auflösung beim Ersetzen besagter
verschobener, gespeicherter zweiter gezählter Anzahl durch besagte
Differenzzählung
in besagtem Register, wodurch somit mehrere Pulse mit hoher Auflösung zwischen Übergangspulsen
verschafft werden; und
Mittel zum Berechnen der Systemvariablen
durch Zählen
der Anzahl von Pulsen mit hoher Auflösung in dem Intervall zwischen
Vorkommen besagter Übergangspulse.
-
In
der bevorzugten Ausführung
ist die Sensorvorrichtung als Positionssensor vorgesehen, der durch
die Verwendung eines auf der Welle eines Motors montierten Kodierers,
der Übergangspulse
durch eine lichtempfindliche Anordnung, unter Verwendung eines Photodetektors,
produziert, eine erhöhte
Auflösung
verschafft. Jedesmal, wenn der Puls einen Übergang vollzieht, da die Nut
des Kodiererrads passiert hat, wird ein Rücksetzsignal produziert, das
die Anzahl von Taktpulsen, die für
das Intervall zwischen den Übergangspulsen
gemessen worden sind, auf Null zurücksetzt.
-
Die Übergangspulse
und die Zeit zwischen diesen verändern
sich bei Veränderungen
der Motorgeschwindigkeit, während
die Systemtaktpulsrate fest bleibt. Die Erfindung verschafft einen
präziseren Positionssensor,
der so arbeitet, dass er mehr Übergangspulse
generiert, als der Kodierer selbst tatsächlich generiert.
-
Somit
produziert, wenn der Kodierer Übergangspulse
auf einer gegebenen Auflösung
produziert, die Sensorvorrichtung Ausgangspulse mit einer höheren Auflösung. Wenn
beispielsweise der Positionssensor ein wellenmontierter Kodierer
ist, der N Pulse pro Umdrehung abgibt, so kann die erfindungsgemäße Sensorvorrichtung
durchschnittlich N × P Pulse
pro Umdrehung abgeben. P ist ein Multiplikator, der vorzugsweise
als eine Potenz von 2 festgelegt ist, d.h. P = 2r.
-
Bei
jedem Übergangspuls
des Positionssensors wird die Zeit zwischen den letzten zwei Pulsen berechnet
und wird eine entsprechende Pulsrate berechnet.
-
Die
aus der Multiplikation resultierenden Pulse, die zwischen jedem Übergangspuls
stattgefunden haben, werden gezählt,
und diese Information wird als eine gespeicherte Zahl verschafft,
die in einem Intervallsignalspeicherregister aufgezeichnet wird.
Die Anzahl von zwischen Übergangspulsen stattfindenden
Systemtaktpulsen verändert
sich entsprechend der Drehgeschwindigkeit des Motors. Wenn der Motor
langsamer dreht, werden mehr Systemtaktpulse vor dem nächsten Übergangspuls
gezählt,
und wenn der Motor schneller dreht, werden weniger Systemtaktpulse
vor dem nächsten Übergangspuls
gezählt.
-
Zusätzlich zum
Zählen
der Systemtaktpulse wird ein unterschiedlicher Zähler verwendet, um auf einer
höheren
Rate zu zählen,
sodass ein Systemtaktpuls als "P"-Taktpulse gezählt wird. Dieser Zähler zählt in der
Art und Weise von P, 2P, 3P usw., und P ist ein willkürlicher
Wert einer festen Rate, die ausgewählt ist.
-
Die
angesammelte Gesamtsumme in dem Zähler, der auf der höheren Rate
zählt,
wird wiederholt mit der Anzahl von Pulsen in dem Signalspeicherregister
verglichen, und dieser Vergleich wird durchgeführt, um zu sehen, ob sie diese
in dem Signalspeicherregister gespeicherte Gesamtzahl von Systemtaktpulsen übersteigt.
Wenn die angesammelte Gesamtsumme gezählter Pulse die Anzahl der in
dem Signalspeicherregister gespeicherten Pulse übersteigt, so wird der Wert
der Differenz gegenüber der
in dem Zähler
gespeicherten Menge von Pulsen verwendet, um den Wert in dem Zähler zu
ersetzen. Diese Subtraktion wird zum Zweck des Zurücksetzens
des Zählers
durchgeführt,
während
fortgefahren wird, die Systemtaktpulse auf der gewählten höheren Rate
zu zählen.
Jedesmal, wenn dieses Zurücksetzen
in dem Zähler
stattfindet, weil er die in dem Signalspeicherregister gespeicherte
Anzahl von Pulsen überschritten
hat, wird mit dem Ersetzen des Werts in dem Zähler ein Hochauflösungspuls
generiert.
-
Das
Zeitintervall zwischen den zwei Hochauflösungspulsen ist aufgrund der
höheren
Zählrate kleiner
als dasjenige zwischen zwei Übergangspulsen.
Dies verschafft eine höhere
Auflösung
der Motorpositionsinformation, und eine bessere Positionskontrolle
kann mit geringeren Fehlern erzielt werden.
-
Dasselbe
Prinzip, das zur Messung der Motorposition in einer Motordrehrichtung
angewendet wird, kann auf die Messung angewendet werden, wenn sie
in der entgegengesetzten Motordrehrichtung vorgenommen wird.
-
Andere
Merkmale und Vorteile der Erfindung werden aus den folgenden Zeichnungen
und der Beschreibung deutlich.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Zum
besseren Verständnis
der Erfindung in Hinblick auf deren Ausführungen wird auf die begleitenden
Zeichnungen verwiesen, worin gleichartige Ziffern übereinstimmende
Elemente bezeichnen, und worin:
-
1 ein
Blockdiagramm einer bevorzugten Ausführung einer in Übereinstimmung
mit den Prinzipien der vorliegenden Erfindung konstruierten und betriebenen
Hochauflösungs-Positionssensorvorrichtung
ist;
-
2 ein
Timingdiagramm der Übergänge eines
beim Betrieb der erfindungsgemäßen Sensorvorrichtung
verwendeten Kodierers und Zählregisters ist;
und
-
3 ein
Timingdiagramm ist, das die Entwicklung eines Hochauflösungspulses
in Übereinstimmung
mit dem Betrieb der Register von 2 zeigt.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGEN
-
Bezugnehmend
auf 1 ist dort ein Blockdiagramm einer in Übereinstimmung
mit den Prinzipien der vorliegenden Erfindung konstruierten und
betriebenen Hochauflösungs-Positionssensorvorrichtung 10 in
einer bevorzugten Ausführung
dargestellt. In der bevorzugten Ausführung ist die Vorrichtung 10 an
einem Motor 20 angewendet, der einen Positionssensor 24 an
seiner Welle 22 montiert hat. Ein Übergangsdetektor 25 empfängt Signale
von dem Positionssensor 24 (Kodierer) und verschafft Ausgangspulse,
die den Rotationswinkel der Motorwelle 22 darstellen, durch
Verwendung einer lichtempfindlichen Anordnung unter Verwendung eines
Photodetektors, der jedes Mal, wenn ein Übergang vollzogen wird, detektiert,
wenn die Nut des Kodiererrades passiert hat. Diese Ausgangspulse
von Übergangsdetektor 25 sind
hierin als Übergangspulse
beschrieben.
-
Das
System 10 umfasst einen Systemtaktpulsgenerator 26,
der einen variablen Frequenzteilerkreis 28 speist und auch
einen Satz von Zählregistern 30, 32 und 34 umfasst,
die Zähl-
und Speicherfunktionen von Daten in einem binären Format verschaffen und
somit als eine Anzahl von Bitspeichern vorgesehen sind. Der erste
davon ist das geteilte Taktzählerregister
(DCCR) 30, das die von dem variablen Frequenzteilerkreis 28 generierten
geteilten Taktpulse zählt.
Jeder Puls von dem Übergangsdetektor 25 setzt
es zurück,
sodass dieser Zähler
bei jedem Übergangspuls
bei Null beginnt und den geteilten Takt zählt. Der in diesem Zähler gespeicherte
Wert steigt mit der Zeit regelmäßig an,
bis der nächste Übergangspuls
stattfindet. Somit enthält
das DCRR 30 eine Zahl, die die seit dem letzten Übergangspuls verstrichene
Zeit, gemessen in geteilten Taktpulsen, darstellt.
-
Auch
bei jedem Takt des Übergangsdetektors 25,
und gerade bevor das DCRR 30 zurückgesetzt wird, wird der Wert
angesammelter Zählungen in
dem DCRR 30 kopiert und durch den Betrieb des Signalspeichers 36 in
dem internen Signalspeicherregister (ILR) 32 gespeichert.
Auf diese Weise enthält das
ILR 32 stets das Zeitintervall zwischen den vom Übergangsdetektor 25 erfassten
letzten zwei Übergangspulsen,
wobei das Zeitintervall in geteilten Taktpulsen gemessen wird. Somit
speichert das ILR 32 zur selben Zeit, wenn das DCRR 30 auf
Null zurückgesetzt
wird, die von den geteilten Taktpulsen in der vorangehenden Zeitspanne
erreichte Zählung. Wenn
die nächste
Zeitspanne beginnt, wird das ILR 32 mit dem neuen Wert
der Zählung
der vorangehenden Zeitspanne bei jedem Übergangspuls aktualisiert,
und es speichert diesen Wert.
-
Zusätzlich zu
den Registern DCCR 30 und ILR 32 ist ein geteiltes
Taktsammelregister (DCAR) 34 vorgesehen. Dieses Register
empfängt
an seinem Eingang die geteilten Taktpulse von dem variablen Frequenzteilerkreis 28.
Es zählt
auf einer Rate, die, um einen Multiplikationsfaktor P (P = 2r), höher
als die geteilte Taktpulsrate ist, sodass der in diesem Register
enthaltene aktuelle Wert die Anzahl geteilter Taktpulse multipliziert
mit P = 2r ist. Somit wird bei jedem geteilten
Taktpuls die Zählung
von DCAR 34 um 2r vermehrt. Wenn
beispielsweise r = 2, dann ist der Multiplikationsfaktor P = 4.
In der bevorzugten Ausführung
wird dies vollzogen, indem der geteilte Taktpuls dem DCAR 34 – Register
bei Bit r zugeführt
wird.
-
Zusätzlich zu
den Registern DDR 30, ILR 32 und DCAR 34 ist
ein Hochauflösungs-Positionsdatensammelgerät (HRPDA) 37 und
ein Vergleichs- und Subtraktionsmodul (CSM) 40 vorgesehen.
Das CSM-Modul 40 empfängt
als Eingangswert den Wert des Registers DCAR 34 und den
Wert des Registers ILR 32. Es vergleicht wiederholt, auf
einer relativ hohen Rate, diese zwei Werte durch Subtrahieren: Wert von
DCAR – Wert
von ILR.
-
Wenn
der Subtraktionsvorgang einen positiven Wert ergibt, dann wird ein
Hochauflösungspuls von
dem CSM-Modul 40 generiert,
und das Ergebnis der Subtraktion wird in das DCAR 34 geschrieben, um
den vorigen Wert zu ersetzen. Auch erhöht das HRPDA 37 seine
Zählung
um Eins.
-
Idealerweise
wäre es
wünschenswert,
dass, wenn das DCAR 34 den Wert von ILR erreicht, ein Hochauflösungspuls
generiert und das DCAR 34 von Null gestartet wird. In Wirklichkeit
wird jedoch der Wert der Subtraktion nicht Null sein, aufgrund zweier Faktoren:
- 1. Die Detektierung eines positiven Werts,
welche die Generierung eines Hochauflösungspulses verursacht, ist
nicht verzögerungsfrei,
und es liegt eine Verzögerung
vor, bis das CSM-Modul 40 subtrahiert und den in das DCAR 34 zu
schreibenden resultierenden Wert zurückschickt. Diese Verzögerung wird
durch die physische Beschränkung des
CSM-Moduls 40 bei der Durchführung von Vergleich und Subtraktion
verursacht.
- 2. Das DCAR 34 zählt
nicht kontinuierlich, sondern zählt
in Schritten von P. Der nächste
wiederholte Vergleich wird typischerweise einen positiven Nicht-Null-Wert
ergeben, was einen Fehler darstellt, da der Vergleich nach einem
Schritt des Zählens
P stattfindet, sodass der DCAR-Wert typischerweise den ILR-Wert überschreiten
wird. Der DCAR 34 hört
nie auf zu zählen,
sodass, wenn der Subtraktionsvorgang durchgeführt wird, der Überschuss
in dem DCAR 34-Zähler
beibehalten wird. Da dieser Überschusswert
Nicht-Null ist, wird das Zeitintervall bis zum nächsten Auftreten des Subtraktionsvorgangs
reduziert. Diese Zeitintervallreduzierung verschafft eine Fehlerkompensation,
die das durchschnittliche Zeitintervall zwischen zwei aufeinanderfolgenden
Hochauflösungspulsen
so nahe wie möglich
am Idealwert halten wird.
-
Bei
jedem Subtraktionsvorgang gibt das CSM-Modul 40 einen Hochauflösungspuls
ab. Da die Zählrate
des DCAR 34 2r Mal so schnell wie
das DCRR 30 ist, so beträgt die Rate von Hochauflösungspulsen
normalerweise 2r Mal die Rate von durch
den Kodierer 24 entwickelten Übergangspulsen. Im Fall der
Motorrotation ergibt die Zählung
von Hochauflösungspulsen
eine höhere
Auflösung
der Positionsinformation.
-
Normalerweise
wird bei Generierung jedes Hochauflösungspulses das Hochauflösungspulsdatensammel(HRPDA)-Register 37 um
1 erhöht.
In Übereinstimmung
mit der vorliegenden Erfindung ist das HRPDA-Register 37 jedoch
mit einem Begrenzer 43 versehen, um die Zählung von
Hochauflösungspulsen
auf 2r – 1
Pulse zu begrenzen; d.h. die Zählung
der Hochauflösungspulse
wird gestoppt, wenn ein weiterer Schritt des HRPDA-Registers 37 zu
einer Veränderung
von Bit r führen
würde.
Das HRPDA- Register 37 zählt jedoch
jeden Übergangspuls auf
die folgende Weise: bei jedem Übergangspuls werden
alle am wenigsten signifikanten Bits (0 bis r – 1) auf Null zurückgesetzt,
und der Zählerwert
wird um P = r2 erhöht.
-
Wenn
der Kodierer 24 auf der Motorwelle 22 auf einer
festen Geschwindigkeit rotiert, so beträgt die Hochauflösungspulsrate
22 Mal die Übergangspulsrate. Das HRPDA-Register 37 enthält dann
einen Wert mit höherer
Auflösung,
als wenn ein einfacher Pulszähler
verwendet würde.
Wenn die Motorgeschwindigkeit sich ändert, wie etwa während der
Beschleunigung, können
manchmal einige Diskontinuitäten
in dem HRPDA-Wert festgestellt werden. Normalerweise tritt dies
nur bei einer sehr hohen Beschleunigungsrate auf, üblicherweise über die
physikalischen Beschränkungen
der Anwendung hinaus.
-
Der
variable Frequenzteilerkreis 28 teilt die Taktfrequenz,
jedoch ist die Frequenzteilung abhängig von der Motorgeschwindigkeit,
sodass im Fall einer langsamen Motorgeschwindigkeit der Übergangsdetektor 25 eine
niedrige Rate von Übergangspulsen
generiert. In dem Fall kann die Zeit zwischen zwei Übergangspulsen
sehr lang sein und die verschiedenen Zählregister des Systems können einen zu
großen
Wert zu speichern haben, sodass ein Überlauf stattfindet. Zur Vermeidung
dieser Situation in Übereinstimmung
mit der vorliegenden Erfindung wirkt der variable Frequenzteilerkreis
so, dass er eine Zahl auswählt,
die er verwendet, um die Systemtakteingabefrequenz zu teilen, und
diese Zahl ist eine Potenz von 2, dargestellt als 2D.
-
Der
Frequenzteilerwahl(DS)-Kreis 29 wählt den Wert von D unter Verwendung
der höchsten
Bits des Registers ILR 32 aus. Wenn dieses höchste Bit des
Registers ILR 32 einen vorbestimmten Wert erreicht, so
wird der Wert von D erhöht.
Die Auswahl des Werts von D ist auf dem Wert des ILR-Registers 32 für das vorangehende Übergangsintervall
basiert. Da eine physikalische Begrenzung für die Motorbeschleunigung vorliegt,
kann keine verzögerungsfreie Änderung
in dem Übergangsintervallwert
vorliegen. Somit verhindert das Ändern
des Werts von D auf Basis des vorigen Werts den Überlauf des DCCR-Registers 30.
-
Ein
Beispiel für
die von DS 29 angewandte Auswahlregel zur Ermittlung von
D und dadurch Verändern
der geteilten Taktpulsrate ist, die drei höchsten Bits in dem ILR-Register 32 als
n, n – 1
und n – 2 zu
betrachten. Jedes Bit kann den Wert 0 oder 1 haben, was bedeutet,
dass das Bit NULL oder GESETZT ist. Im Normalfall sind alle drei
Bits NULL, und der variable Frequenzteilerkreis stellt die Taktrate
auf C/2D ein, sodass, wenn D = 0, da 20 = 1, der Takt auf seiner normalen Rate
C zählt.
-
Wenn
der Wert des n – 1
Bits auf 1 erhöht wird,
sodass es jetzt GESETZT ist, dann wird das D um Eins erhöht und die
Taktrate wird C/21 oder C/2, was die Hälfte der
vorigen Rate ist. Somit erhöht
DS 29 als Reaktion auf eine Abnahme der Motorgeschwindigkeit
den Wert von D und die Taktrate wird zum Zählen verringert, da ansonsten
zuviele Taktpulse generiert würden
und ein Überlauf
zustand in dem DCCR-Register 30 auftreten wird. Im Gegensatz dazu
wird, wenn die Motorgeschwindigkeit zunimmt, der Wert von D gesenkt,
sodass die Taktrate erhöht wird,
wodurch mehr Taktpulse und eine genauere Auflösung verschafft werden.
-
Bezugnehmend
auf 2 ist dort ein Timingdiagramm der Übergänge eines
Kodierers und beim Betrieb der erfinderischen Sensorvorrichtung
verwendeter Zählregister
dargestellt. Wie unter Verweis auf das Diagramm ersichtlich ist,
zählt das
DCCR-Register 30 zwischen jedem Kodiererpulsübergang
(dunkle Linie) auf, an welchem Punkt sein Wert auf Null zurückgesetzt
wird. Vor dem Zurücksetzen wird
der Wert, den das DCCR-Register 30 erreicht,
in dem ILR-Register 32 behalten (kleine horizontale Punkte).
-
Bezugnehmend
auf 3 ist dort ein Timingdiagramm dargestellt, das
die Entwicklung eines Hochauflösungspulses
in Übereinstimmung
mit dem Betrieb der Register von 2 zeigt.
In diesem besonderen Beispiel ist r = 2, sodass 22 =
4, und sodass der Hochauflösungspuls
eine Rate von 4 Mal derjenigen des Übergangspulses hat. Jedesmal,
wenn das DCAR 34 den ILR-Wert erreicht, wird ein Hochauflösungspuls
generiert und wird der ILR-Wert von dem DCAR 34 in der
von dem CSM-Modul 40 durchgeführten Berechnung
subtrahiert. Wie unter Verweis auf das Diagramm ersichtlich ist,
beträgt,
da die Zählrate
des DCAR 34 4 Mal so schnell wie die des DCCR 30 ist,
die Rate von Hochauflösungspulsen
4 Mal die Rate von Übergangsdetektorpulsen.
Somit wird zwischen zwei Kodiererübergangspulsen die Anzahl von Hochauflösungspulsen
im Durchschnitt 4 Mal größer sein
als die von dem DCCR 30 erzielte Zählung.
-
Das
HRPDA-Register zählt
separat die kodierten Pulse und die Hochauflösungspulse, d.h. der HRPDA-Registerwert
ist zusammengesetzt aus einer durch die Nebeneinanderstellung zweier
Zähler
entwickelten Zahl. Für
ein Beispiel von r = 4 und ein 16-Bit-HRPDA-Register 37 sind
dies Bits 15 bis 2 für den Übergangspulszählerwert
und Bits 0 und 1 für den
Hochauflösungspulszähler. Die
zwei Zähler
sind in einem größeren Zähler mit
den folgenden Eigenschaften kombiniert:
- 1)
Hochauflösungszähler (Bits
0 und 1) ist auf seinen höchsten
Wert beschränkt.
Wenn der Wert der Hochauflösungspulse
größer als
22 – 1
ist, dann bleibt der Zähler
auf diesem Wert. Dies ist in 3 dargestellt;
Hochauflösungspulse
T4 und T5 werden nicht gezählt;
- 2) bei jedem Übergangspuls
wird der Hochauflösungspulszähler auf
Null zurückgesetzt.
-
Die
Generierungsrate der Hochauflösungspulse
ist auf dem Zeitintervall zwischen den letzten zwei Übergangspulsen
basiert. Da dieses Zeitintervall mit der Motorgeschwindigkeit schwankt,
wird die Anzahl von Hochauflösungspulsen
dynamisch angepasst, um eine Hochauflösungsvoraussage der Motorposition
zu verschaffen.
-
Wie
vorangehend beschrieben, wird, wenn der Wert des DCAR-Registers 34 den
Wert des ILR-Registers 32 erreicht, es in einem idealen
System auf Null zurückgesetzt
und beginnt wieder zu zählen.
In der bevorzugten Ausführung
wird der Wert des ILR-Registers 32 von dem DCAR-Register 34 subtrahiert.
Das CSM-Modul 40, das eine begrenzte Betriebsgeschwindigkeit
hat, erfasst den das ILR erreichenden Wert von DCAR 34 nach
einiger Verzögerung,
wobei Δt
(3) einen Fehler in dem Zählwert ΔV verursacht. Da das CSM-Modul 40 den
ILR-Wert von dem
DCAR 34 subtrahiert, verbleibt ein Restwert ΔV in dem
DCAR 34, wie in 3 gezeigt. Auf diese Weise ist
nach dem Subtraktionsvorgang der Wert von DCAR 34 exakt
derselbe Wert wie im Idealfall ohne Verzögerungsfehler Δt.
-
Dies
eliminiert die Anhäufung
des Timingfehlers des Hochauflösungspulses,
wie früher
beschrieben. Da das CSM-Modul 40 ein physikalisches System
ist, kann es einige Zeit brauchen, um die Subtraktionsberechnung
und den Registerschreib-Datenvorgang durchzuführen. Während dieser Zeit können Frequenzteilertaktpulse
fortfahren, anzukommen, und wenn das DCAR-Register 34 auf
Null zurückgesetzt
wäre, so
wären diese
Taktpulse verloren gewesen, was zu einem Timingfehler in dem nächsten Hochauflösungspuls
führt.
Dann würden
die jedem der Hochauflösungspulse
zugeordneten Timingfehler kumulativ werden, und das HRDPA-Register 37 würde langsamer
zählen
als der gewünschte Wert.
Zur Vermeidung dieses Problems wird der Wert von ILR-Register 32 nur
von dem DCAR-Register 34 subtrahiert,
jedoch werden die eintreffenden geteilten Taktpulse fortlaufend
gezählt,
sodass keine Anhäufung
des Timingfehlers stattfindet.
-
Die
gesamte Herangehensweise der vorliegenden Erfindung gestattet die
Gestaltung eines präziseren
Positionssensors, da mehr Pulse vorliegen als ansonsten von dem
echten Kodierer selbst gewonnen würden.
-
Ein
Merkmal der hierin beschriebenen Herangehensweise ist, dass, wenn
die Motorrotation langsam ist, die Systemtaktpulse eine sehr hohe
Zahl zwischen Kodiererübergangspulsen
generieren werden. Zur Vermeidung dessen wird das ITL/Interne Signalspeicherregister überwacht,
um die Menge an Pulsen, die gezählt
werden, zu sehen. Wenn die Zahl den halben Höchstwert an Pulsen, die in
dem ITL gespeichert werden können, überschreitet,
dann arbeitet ein variabler Frequenzteilerkreis gemäß einem Frequenzteilerauswahlbefehl
und teilt die Systemtaktfrequenz in zwei, sodass weniger Systemtaktpulse
in demselben Zeitintervall zu bearbeiten sind.
-
Ein
Beispiel für
eine Anwendung für
diese Erfindung ist, sie anzuwenden, wo ein Kodierer 8000 Takte
pro Umdrehung generieren würde.
Typischerweise liegt ein Fehler zwischen der Motorposition und dem
Sollwert, der andeutet, wo der Motor sein sollte, vor. Je höher die
Auflösung
des Kodierers, desto weniger von diesem Fehler wird eingebracht,
um dies jedoch zu erreichen, multipliziert die erfindungsgemäße Technik
künstlich
die Übergangspulse.
Diese Multiplikation von Übergangspulsen
ermöglicht
eine Verringerung in dem Positionsfehler, sodass der Positionsfehler
letztendlich durch diese erfindungsgemäße Technik verringert wird.