-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Gebersignalverarbeitungseinrichtung, einen Geber und ein Signalverarbeitungsverfahren und ein Programm.
-
Stand der Technik
-
Es ist herkömmlicherweise bekannt, dass ein Geber bzw. ein Codierer einen Erfassungsfehler hat, der synchron zu einem Zyklus eines ursprünglichen Signals auftritt. Dieser Erfassungsfehler tritt auf, da das ursprüngliche Signal nicht ein ideales Sinus- oder Kosinussignal ist, sondern eine Offset-Spannung, eine Amplitudendifferenz, eine Phasendifferenz, eine Signalformverzerrung und dergleichen aufweist. Wenn ein Ausgangssignal eines Gebers einen Erfassungsfehler enthält, nimmt die Detektier-Genauigkeit der Lage eines Messobjekts ab. Um einen derartigen Erfassungsfehler zu korrigieren, wird gemäß einer in der Patentschrift 1 offenbarten Technik ein Fehlerbetrag automatisch erfasst und während des Betriebs korrigiert, wobei die Tatsache ausgenutzt wird, dass der Erfassungsfehler synchron zu einem Zyklus eines ursprünglichen Signals ist. Um ferner die Detektier-Genauigkeit der von einem Codierer erfassten Lage zu erhöhen, werden gemäß einer in der Patentschrift 2 offenbarten Technik Positionsdaten, die einen Erfassungswert eines ursprünglichen Positionssignals ist, das von dem Geber ausgegeben wird, in Bezug auf einen Fehler eines Positionssignals des Gebers interpoliert, und es wird eine Beziehung zwischen einer Soll-Drehposition und einer Dauer, die zum Erreichen der Position erforderlich ist, auf der Grundlage der interpolierten Positionsdaten erhalten.
Patentschrift 1:
Japanisches Patent mit der Nr. 03772121 Patentschrift 2: ungeprüfte offengelegte
Japanische Patentanmeldung mit der Nr. H11-249742 .
-
ÜBERBLICK ÜBER DIE ERFINDUNG
-
Jedoch wird in der in der Patentschrift 1 offenbarten Technik ein Erfassungsfehler an Positionen berechnet, die in gleichen Intervallen innerhalb eines Zyklus angeordnet sind, es werden die berechneten Erfassungsfehler in einem Register gespeichert, erfasste Punkte werden linear interpoliert, um einen Erfassungsfehler an einer beliebigen Position zu berechnen, und es werden anschließend die Positionsdaten korrigiert. In diesem Falle, sind Korrekturbeträge (d. h., Geschwindigkeitskomponenten) bei festgelegten Zeitintervallen zwischen erfassten Punkten konstant, wohingegen eine Geschwindigkeitskomponente eines Korrekturbetrags an einem erfassten Punkt diskontinuierlich ist und eine Beschleunigungskomponente eines Korrekturbetrags sich abrupt ändert. Aufgrund dessen besteht die Möglichkeit, dass diese abrupte Änderung einen Einfluss auf einen Drehmomentbefehl eines Motors hat, der ein Drehmoment entsprechend der Beschleunigung liefert. In der in der Patentschrift 2 offenbarten Technik ist es schwierig, einen Erfassungsfehler, der synchron zu einem Zyklus eines ursprünglichen Signals auftritt, zu eliminieren, da die Korrektur mittels Positionsdaten innerhalb einer Drehung eines Gebers ausgeführt wird.
-
Es ist eine Aufgabe der vorliegenden Erfindung, eine Änderung einer Beschleunigungskomponente zu reduzieren, die einen Einfluss auf einen Drehmomentbefehl hat, wenn ein Fehler in einem Ausgangssignal eines Gebers korrigiert wird.
- (1) Um die Aufgabe zu lösen, ist eine Gebersignalverarbeitungseinrichtung (beispielsweise eine Gebersignalverarbeitungseinrichtung D, die später beschrieben ist) gemäß einem Aspekt der vorliegenden Erfindung eine Gebersignalverarbeitungseinrichtung (D), die Positionsdaten an jedem vorbestimmten Zeitintervall aus einem ursprünglichen Signal erfasst, das ein analoger Betrag ist, der in einem Geber gemäß einer Bewegung eines Messzielobjekts erzeugt wird, wobei die Gebersignalverarbeitungseinrichtung aufweist: eine Einheit zur Berechnung einer angenäherten Kurven (beispielsweise eine Berechnungsschaltung für Koeffizienten einer Kurve M-ter Ordnung 51, die nachfolgend zu beschreiben ist), die eine angenäherte Kurve bzw. einen angenäherten Verlauf eines Erfassungsfehlers, der in dem von dem Geber erzeugten ursprünglichen Signal enthalten ist, auf der Grundlage des Erfassungsfehlers der Positionsdaten an mindestens drei oder mehr Punkten berechnet, die in gleichen Intervallen innerhalb eines Zyklus des ursprünglichen Signals genommen werden, das von dem Geber erzeugt wird; eine Einheit zur Berechnung eines angenäherten bzw. approximierten Fehlers (beispielsweise eine Berechnungsschaltung für einen Erfassungsfehler gemäß einer Kurve M-ter Ordnung 52, die nachfolgend zu beschreiben ist), die einen approximierten Wert des Erfassungsfehler der Positionsdaten zu einem beliebigen Zeitpunkt auf der Grundlage der approximierten Kurve des Erfassungsfehlers berechnet, der von der Einheit zur Berechnung einer approximierten Kurve berechnet ist; und eine Positionsdaten-Korrektureinheit (beispielsweise eine Korrekturberechnungsschaltung für eine Kurve M-ter Ordnung 53, die nachfolgend zu beschreiben ist), die den Erfassungsfehler der Positionsdaten zu dem beliebigen Zeitpunkt auf der Grundlage des approximierten Wertes des Erfassungsfehlers der Positionsdaten, der von der Einheit zur Berechnung des approximierten Fehlers berechnet ist.
- (2) In der Gebersignalverarbeitungseinrichtung gemäß (1) kann die Einheit zur Berechnung einer approximierten Kurve Erfassungsfehler zu entsprechenden Zeitpunkten berechnen, die durch gleichmäßiges Unterteilen einer Zeitdauer zwischen Punkten von Positionsdaten an beiden Enden einer Positionsdatengruppe unter vorbestimmten Zeitintervallen erhalten werden, wobei die Positionsdatengruppe aus mindestens drei Punkten aus kontinuierlich erfassten (n + 1) Positionsdaten (n ≥ 2) zusammengesetzt ist, wobei die Berechnung auf der Grundlage von Werten der Positionsdatengruppe und einer geraden Linie, die die Punkte der Positionsdaten an beiden Enden der Positionsdatengruppe verbindet, wenn das Messzielobjekt sich innerhalb eines vorbestimmten Geschwindigkeitsbereichs mit einer Geschwindigkeitsschwankung innerhalb eines vorbestimmten Wertes bewegt, und es erfolgt eine Berechnung einer an einen Erfassungsfehler approximierten Kurve, die Erfassungsfehler an (M + 1) Punkten (M ≥ 2) aus Erfassungsfehlern der Positionsdaten an den (M + 1) Punkten näherungsweise wiedergibt, die vor und hinter einem beliebigen Zeitpunkt aus den Zeitpunkten liegen, die in den vorbestimmten Zeitintervallen gleichmäßig verteilt sind.
- (3) In der Gebersignalverarbeitungseinrichtung gemäß (2) kann die Einheit zur Berechnung einer approximierten Kurve eine Kurve M-ter Ordnung, die durch die (M + 1) Punkte verläuft, als die approximierte Kurve des Erfassungsfehlers berechnen.
- (4) In der Gebersignalverarbeitungseinrichtung gemäß (3) kann die Kurve M-ter Ordnung eine Kurve ungerader Ordnung sein.
- (5) In der Gebersignalverarbeitungseinrichtung gemäß einem der Aspekte (1) bis (4) kann die Einheit zur Berechnung eines approximierten Fehlers Erfassungsfehler an Positionen, die in gleichen Intervallen angeordnet sind, auf der Grundlage der approximierten Kurve des Erfassungsfehlers im Voraus berechnen und speichern und kann die gespeicherten Erfassungsfehler linear interpolieren, um den Erfassungsfehler an einer beliebigen Position zu berechnen.
- (6) Ein Geber gemäß einem Aspekt der vorliegenden Erfindung ist ein Geber bzw. Codierer, der Positionsdaten an jedem vorbestimmten Zeitintervall aus einem ursprünglichen Signal erfasst, das ein analoger Betrag ist, der entsprechend einer Bewegung eines Messzielobjekts erzeugt wird, wobei der Geber aufweist: eine Einheit zur Berechnung einer approximierten Kurve, die eine approximierte Kurve eines Erfassungsfehlers, der in dem von dem Geber erzeugten ursprünglichen Signal enthalten ist, auf der Grundlage des Erfassungsfehlers der Positionsdaten an mindestens drei oder mehr Punkten berechnet, die in gleichen Intervallen innerhalb eines Zyklus des ursprünglichen Signals, das von dem Geber erzeugt wird, genommen werden; eine Einheit zur Berechnung eines approximierten Fehlers, die einen approximierten Wert des Erfassungsfehlers der Positionsdaten an einem beliebigen Zeitpunkt auf der Grundlage der approximierten Kurve des Erfassungsfehlers, die von der Einheit zur Berechnung einer approximierten Kurve berechnet ist, berechnet; und eine Positionsdatenkorrektureinheit, die den Erfassungsfehler der Positionsdaten an dem beliebigen Zeitpunkt auf der Grundlage des approximierten Wertes des Erfassungsfehlers der Positionsdaten, der von der Einheit zur Berechnung eines approximierten Fehlers berechnet ist, korrigiert.
- (7) Ein Signalverarbeitungsverfahren gemäß einem Aspekt der vorliegenden Erfindung ist ein Gebersignalverarbeitungsverfahren zur Erfassung von Positionsdaten an jedem vorbestimmten Zeitintervall aus einem ursprünglichen Signal, das ein analoger Betrag ist, der in einem Geber gemäß einer Bewegung eines Messzielobjekts erzeugt wird, wobei das Gebersignalverarbeitungsverfahren umfasst: einen Schritt zur Berechnung einer approximierten Kurve, um eine approximierte Kurve eines Erfassungsfehlers, der in dem von dem Geber erzeugten ursprünglichen Signal enthalten ist, auf der Grundlage des Erfassungsfehlers der Positionsdaten an mindestens drei oder mehr Punkten zu berechnen, die in gleichen Intervallen innerhalb eines Zyklus des von dem Geber erzeugten ursprünglichen Signals genommen werden; einen Schritt zur Berechnung eines approximierten Fehlers, um einen approximierten Wert des Erfassungsfehlers der Positionsdaten an einem beliebigen Zeitpunkt auf der Grundlage der approximierten Kurve des Erfassungsfehlers zu berechnen, der in dem Schritt zur Berechnung einer approximierten Kurve berechnet wird; und einen Positionsdatenkorrekturschritt, um den Erfassungsfehler der Positionsdaten an dem beliebigen Zeitpunkt auf der Grundlage des approximierten Wertes des Erfassungsfehlers der Positionsdaten zu korrigieren, der in dem Schritt zur Berechnung eines approximierten Fehlers berechnet wird.
- (8) Ein Programm gemäß einem Aspekt der vorliegenden Erfindung ist ein Programm, um einen Computer, der eine Gebersignalverarbeitungseinrichtung bildet, die Positionsdaten an jedem vorbestimmten Zeitintervall aus einem ursprünglichen Signal erfasst, das ein analoger Betrag ist, der in einem Geber gemäß einer Bewegung eines Messzielobjekts erzeugt wird, veranlasst zu implementieren: eine Funktion zur Berechnung einer approximierten Kurve, um eine approximierte Kurve eines Erfassungsfehlers, der in dem von dem Geber erzeugten ursprünglichen Signal enthalten ist, auf der Grundlage des Erfassungsfehlers der Positionsdaten an mindestens drei oder mehr Punkten zu berechnen, die in gleichen Intervallen innerhalb eines Zyklus des ursprünglichen Signals, das von dem Geber erzeugt wird, genommen werden; ein Funktion zur Berechnung eines approximierten Fehlers, um einen approximierten Wert des Erfassungsfehlers der Positionsdaten an einem beliebigen Zeitpunkt auf der Grundlage der approximierten Kurve des Erfassungsfehlers zu berechnen, die von der Funktion zur Berechnung eines approximierten Kurve berechnet wird; und eine Positionsdatenkorrekturfunktion, um den Erfassungsfehler der Positionsdaten an dem beliebigen Zeitpunkt auf der Grundlage des approximierten Wertes des Erfassungsfehlers der Positionsdaten zu korrigieren, der von der Funktion zur Berechnung eines approximierten Fehlers berechnet wird.
-
Gemäß der vorliegenden Erfindung ist es möglich, eine Änderung einer Beschleunigungskomponente zu reduzieren, die einen Einfluss auf einen Drehmomentbefehl hat, wenn ein Fehler in einem Ausgangssignal eines Gebers korrigiert wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Blockansicht, die einen Aufbau einer Gebersignalverarbeitungseinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
2 ist eine detaillierte Blockansicht einer Startbedingungsbestimmungsschaltung.
-
3 ist eine erläuternde Ansicht einer ersten Ausführungsform der vorliegenden Erfindung.
-
4 ist eine schematische Ansicht, die darstellt, wie eine approximierte Kurve einer Erfassungsposition aus erfassten Positionsdaten erstellt wird.
-
5 ist eine schematische Ansicht, die eine Beziehung zwischen Erfassungspunkten, die für die Näherung verwendet wird, und einer approximierten Kurve darstellt.
-
6 ist eine Ansicht, die einen Fall zeigt, in welchen Erfassungspositionen in dem Beispiel von Positionsdaten, die in 4 dargestellt sind, linear interpoliert sind.
-
7 ist eine Ansicht, die Geschwindigkeitskomponenten an Positionen PX1 bis PX9 in dem Beispiel der Positionsdaten darstellt, die in 6 gezeigt sind.
-
8 ist eine Ansicht, die Beschleunigungskomponenten an Positionen PX1 bis PX9 in dem Beispiel der in 6 dargestellten Positionsdaten zeigt.
-
9 ist eine Ansicht, die Geschwindigkeitskomponenten an den Positionen PX1 bis PX9 in dem Beispiel der in 4 dargestellten Positionsdaten zeigt.
-
10 ist eine Ansicht, die Beschleunigungskomponenten an Positionen PX1 bis PX9 in dem Beispiel der in 4 dargestellten Positionsdaten zeigt.
-
11 ist eine schematische Ansicht, die Erfassungspunkte zeigt, die zur Berechnung von Koeffizienten für eine Vorwärtsdrehung und eine Rückwärtsdrehung verwendet werden, wenn die Ordnung einer approximierten Kurve eine ungerade Ordnung (in diesem Beispiel, eine dritte Ordnung) ist.
-
12 ist eine schematische Ansicht, die Erfassungspunkte darstellt, die zur Berechnung von Koeffizienten für eine Vorwärtsdrehung und eine Rückwärtsdrehung verwendet werden, wenn die Ordnung einer approximierten Kurve eine gerade Ordnung (in diesem Beispiel eine zweite Ordnung) ist.
-
13 ist eine schematische Ansicht, die einen Aufbau einer Schaltung zur Berechnung einer Kurve M-ter Ordnung eines Erfassungsfehlers gemäß einer dritten Ausführungsform zeigt.
-
14 ist eine schematische Ansicht, die darstellt, wie in einer Kurve M-ter Ordnung, die durch Erfassungspunkte verläuft, ein Erfassungsfehler zu einem Zeitpunkt im Voraus berechnet wird, wenn zwei benachbarte Erfassungspunkte gleichmäßig eingeteilt sind.
-
15 ist eine Blockansicht, die einen Aufbau zeigt, wenn ein Vorgang zur Berechnung von Erfassungsfehlerdaten und ein Vorgang zur Positionsdatenkorrektur durch Software ausgeführt werden.
-
16 ist ein Flussdiagramm, das den Ablauf eines Erfassungsfehlerdatenberechnungsprozesses (ein Prozess der gleichwertig zu einem Prozess ist, der von einer Schaltung zur Berechnung von Erfassungsfehlerdaten ausgeführt wird) zeigt, der von einem Prozessor ausgeführt wird.
-
17 ist ein Flussdiagramm, das den Ablauf eines Positionsdatenkorrekturprozesses (eines Prozesses, der gleichwertig zu einem Prozess ist, der von einer Schaltung zur Erfassungsfehlerkorrektur ausgeführt wird) zeigt, der von einem Prozessor ausgeführt wird.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Mit Verweis auf die Zeichnungen wird nachfolgend eine Ausführungsform der vorliegenden Erfindung beschrieben.
-
[Erste Ausführungsform]
-
[Aufbau]
-
1 ist eine Blockansicht, die einen Aufbau einer Gebersignalverarbeitungseinrichtung D gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. In der vorliegenden Ausführungsform verstärken analoge Verstärkerschaltungen 1a und 1b ursprüngliche Signale in Form eines Sinussignals Sa und eines Kosinussignals Sb, die von einer Erfassungseinheit bzw. Detektiereinheit eines Gebers gemäß der Bewegung eines Messzielobjekts ausgegeben werden, sodass sie geeignet sind, in Analog-Digital-Wandlerschaltungen 2a und 2b in der nächsten Stufe eingespeist zu werden. Die Analog-Digital-Wandlerschaltungen 2a und 2b wandeln die verstärkten analogen Signale an jedem vorbestimmten Abtastzyklus in digitale Signale um. Eine digitale Interpolationsschaltung 3 berechnet die Position innerhalb eines Zyklus bzw. einer Periode des ursprünglichen Signals (eines Zyklus des Sinussignals) auf der Grundlage des umgewandelten digitalen Wertes und gibt die berechnete Position an eine Erfassungsfehlerdatenberechnungsschaltung 4 aus.
-
Die Erfassungsfehlerdatenberechnungsschaltung 4 weist eine Startbedingungsbestimmungsschaltung 41, eine Registergruppe 42, eine Erfassungsfehlerberechnungsschaltung 43, ein Erfassungsfehlerspeicherregister 44 und eine Mittelungsschaltung 45 auf. Die Startbedingungsbestimmungsschaltung 41 empfängt Positionsdaten aus der digitalen Interpolationsschaltung 3 und ermittelt, ob eine Startbedingung erfüllt ist. Wenn die Bedingung erfüllt ist, werden eine Anzahl an Punkten von Positionsdaten P(0) bis P(n + 1), die um eine sehr kleine Anzahl (in diesem Beispiel eins) größer als die Anzahl an Abtastungen, die einem Zyklus des ursprünglichen Signals entspricht, in der Registergruppe 42 gespeichert. In diesem Beispiel sei angenommen, dass ein Zyklus (n + 1) mal (n ist eine ganze Zahl von 2 oder größer) abgetastet wird.
-
Die Erfassungsfehlerberechnungsschaltung 43 berechnet Erfassungsfehlerdaten aus Positionen, die in gleichen Intervallen bzw. Abständen innerhalb eines Zyklus angeordnet sind, auf der Grundlage der jeweiligen Zustände der Punkte der Positionsdaten P(0) bis P(n + 1), die in der Registergruppe 42 gespeichert sind. Ferner speichert das Erfassungsfehlerspeicherregister 44 die berechneten vergangenen Erfassungsfehlerdaten für einige Punkte in der Vergangenheit. Die Mittelungsschaltung 45 mittelt die mehreren Fälle der vergangenen Erfassungsfehlerdaten, die in dem Erfassungsfehlerspeicherregister 44 gespeichert sind, und gibt die gemittelten Erfassungsfehlerdaten an die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 der Erfassungsfehlerkorrekturschaltung 5 aus. Die Mittelung mehrere Punkte der Erfassungsfehlerdaten wird ausgeführt, um die Genauigkeit der Erfassungsfehlerdaten zu erhöhen. Zum Zwecke einer einfachen Berechnung sind ggf. das Erfassungsfehlerspeicherregister 44 und die Mittelungsschaltung 45 nicht vorgesehen, und die von der Erfassungsfehlerberechnungsschaltung 43 berechneten Erfassungsfehlerdaten können in der Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 ohne weitere Änderung gespeichert werden.
-
Die Erfassungsfehlerkorrekturschaltung 5 umfasst eine Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51, eine Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 und eine Schaltung zur Korrekturberechnung einer Kurve M-ter Ordnung 53. Die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 berechnet einen Koeffizienten der Kurve M-ter Ordnung, die durch (M + 1) Punkte verläuft, die vor und hinter den in dem Erfassungsfehlerspeicherregister 44 gespeicherten Erfassungsfehlern liegen. Dabei ist M eine ganze Zahl von 2 oder größer. Die Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 berechnet einen Erfassungsfehler an einem beliebigen Zeitpunkt auf der Kurve M-ter Ordnung, von welcher der Koeffizient durch die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 berechnet ist. Die Schaltung zur Korrekturberechnung einer Kurve M-ter Ordnung 53 berechnet und korrigiert einen Erfassungsfehler der Positionsdaten, die aus der digitalen Interpolationsschaltung 3 ausgegeben werden, wobei der Erfassungsfehler verwendet wird, der von der Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 berechnet ist, und gibt den korrigierten Erfassungsfehler an eine Positionsdatenerzeugungsschaltung 6 aus. Die Positionsdatenerzeugungsschaltung 6 erzeugt Positionsdaten auf der Grundlage der korrigierten Positionsdaten innerhalb eines Zyklus und den Daten, die von einem Zähler (der in der Blockansicht nicht dargestellt ist) ausgegeben werden, der den Zyklus eines ursprünglichen Signals misst.
-
2 ist eine detaillierte Blockansicht der Startbedingungsbestimmungsschaltung 41. Die Startbedingungsbestimmungsschaltung 41 umfasst drei Positionsdatenregister 411a, 411b und 411c, die die Positionsdaten eines aktuellen, eines vorhergehenden und eines dazu vorhergehenden Abtastzyklus der Punkte von Positionsdaten speichern, die in jedem vorbestimmten Abtastzyklus aus der digitalen Interpolationsschaltung 3 ausgegeben werden, und umfasst ferner eine erste und eine zweite Geschwindigkeitsberechnungsschaltung 412a und 412b, eine Nulldurchgangserfassungsschaltung 413, eine Beschleunigungsberechnungsschaltung 414 und eine Positionsdatenregisterspeicherstartbestimmungs- und Fehlerberechnungsstartsignalbestimmungsschaltung 415.
-
Die Positionsdaten für jeden der vorbestimmten Abtastzyklen, die aus der digitalen Interpolationsschaltung 3 ausgegeben werden, werden in dem Register für die aktuellen Positionsdaten 411a gespeichert, die Positionsdaten, die in dem Register für aktuelle Positionsdaten 411a gespeichert sind, werden in dem Register für vorhergehende Positionsdaten 411b gespeichert, und die Positionsdaten, die in dem Register für vorhergehende Positionsdaten 411b gespeichert sind, werden in dem Register für die zu den vorhergehenden Positionsdaten vorhergehenden Positionsdaten gespeichert. Auf diese Weise werden die Positionsdaten verschoben, sobald die Positionsdaten aus der digitalen Interpolationsschaltung 3 (bei jedem Abtastzyklus) ausgegeben werden, wodurch die Elemente der Positionsdaten für den aktuellen, den vorhergehenden, und dem dazu vorhergehenden Abtastzyklus gespeichert werden.
-
Die erste Geschwindigkeitsberechnungsschaltung 412a berechnet eine aktuelle Geschwindigkeit auf der Grundlage einer Differenz zwischen den aktuellen Positionsdaten, die in dem Register für aktuelle Positionsdaten 411a gespeichert sind, und den Positionsdaten, die in dem Register für die vorhergehenden Positionsdaten 411b gespeichert sind, und die zweite Geschwindigkeitsberechnungsschaltung 412b berechnet eine aktuelle Geschwindigkeit eines Zyklus davor auf der Grundlage einer Differenz zwischen den Elementen der Positionsdaten, die in dem Register für vorhergehende Positionsdaten 411b und dem Register für die dazu vorhergehenden Positionsdaten 411c gespeichert sind. Ferner berechnet die Beschleunigungsberechnungsschaltung 414 eine Beschleunigung auf der Grundlage der Differenz zwischen den Geschwindigkeiten, die von der ersten und zweiten Beschleunigungsberechnungsschaltung 412a und 412b berechnet sind. Die Nulldurchgangserfassungsschaltung 413 erfasst einen Nulldurchgangspunkt, der der Beginn eines Zyklus der ursprünglichen Signale Sa und Sb ist, auf der Grundlage der Elemente der Positionsdaten, die in dem Register für aktuell Positionsdaten 411a und in dem Register für vorhergehende Positionsdaten 411c gespeichert sind.
-
Wenn der Nulldurchgang von der Nulldurchgangserfassungsschaltung 413 unter der Bedingung erfasst wird, dass eine Auslesebedingung für Positionsdaten erfüllt ist, speichert die Positionsdatenregisterspeicherstartbestimmungs- und Fehlerberechnungsstartsignalbestimmungsschaltung 415 in der Registergruppe 42 Positionsdaten P(0) bis P(n + 1) für einen Zyklus oder länger des ursprünglichen Signals, das den erfassten Nulldurchgang enthält, bis zu dem nachfolgenden Nulldurchgang. Ferner liefert die Positionsdatenregisterspeicherstartbestimmungs- und Fehlerberechnungsstartsignalbestimmungsschaltung 415 ein Fehlerberechnungsstartsignal an die Erfassungsfehlerberechnungsschaltung, wenn der nachfolgende Nulldurchgang erfasst wird.
-
Die Bedingung für das Abholen bzw. Auslesen von Positionsdaten besteht darin, dass die Geschwindigkeit (die Differenz zwischen Positionsdaten P(–1) und P(0)), die von der ersten Geschwindigkeitsberechnungsschaltung 412a berechnet wird, innerhalb eines vorbestimmten Bereichs liegt, und wenn die Genauigkeit verbessert werden soll, dass eine Beschleunigung (eine Differenz zwischen der Differenz zwischen Positionsdaten P(–2) und P(–1) und der Differenz zwischen P(–1) und P(0)), die von der Beschleunigungsberechnungsschaltung 414 berechnet wird, innerhalb eines vorbestimmten Bereichs liegt und eine Beschleunigung (eine Differenz zwischen Positionsdaten (P(n – 2) und P(n – 1) und die Differenz zwischen P(n – 1) und P(n)), die von der ersten Geschwindigkeitsberechnungsschaltung 412a erfasst wird, innerhalb eines vorbestimmten Wertes liegt. Zuvor ist ein Aufbau der wesentlichen Teile der Gebersignalverarbeitungseinrichtung D gemäß der vorliegenden Ausführungsform beschrieben. Als nächstes werden diverse Ausführungsformen eines Erfassungsfehlerkorrekturverfahrens beschrieben, das in dieser Ausführungsform ausgeführt wird.
-
3 ist eine erläuternde Ansicht einer ersten Ausführungsform, in der angenommen wird, dass Positionsdaten eines Zyklus eines ursprünglichen Signals durch n Abtastungen gewonnen werden. Das heißt, es wird angenommen, dass ein Abtastzyklus gleich Ts ist und eine Bewegungsgeschwindigkeit eines sich bewegenden Objekts (eines sich drehenden Objekts), an welchem die Erfassungseinheit des Gebers angebracht ist, eine konstante Geschwindigkeit v ist. Wenn ferner ein Bewegungsbetrag (ein Drehwinkel) eines sich bewegenden Objekts für einen Zyklus gleich L ist, dann ergibt sich L = n·Ts·v. Wenn der Abtastzeitpunkt nach einem Nulldurchgang am Zeitpunkt Null erfasst wird, und wenn die an diesem Zeitpunkt abgetasteten Positionsdaten P(0) sind und die Positionsdaten an dem ersten Abtastzeitpunkt nach Erfassung des nachfolgenden Nulldurchgangs gleich P(n) sind, dann entspricht eine Zeitdauer, die verstreicht, bis die Positionsdaten P(n) aus den Positionsdaten P(0) erhalten werden, ungefähr einem Zyklus (P(n) – P(0) = L).
-
Wenn Elemente von Positionsdaten für n Abtastungen innerhalb dieses einen Zyklus in einem Graphen aufgezeichnet werden, dessen horizontale Achse eine Zeitachse und dessen vertikale Achse eine Erfassungsposition ist, werden Kreise auf einer welligen Kurve erzeugt, wie in 3 dargestellt ist. Da in 3 Punkte von Erfassungspositionsdaten 0 bis L wiederholt erfasst werden, werden die Erfassungspositionsdaten zusammenhängend auf einer geraden Linie unter Anwendung eines Erfassungspunktes gezeigt, wenn ein Zyklus L den Erfassungspunkt „0” des nächsten einzelnen Zyklus erreicht.
-
Obwohl die Positionsdaten für jeden Abtastzyklus Ts berechnet werden, ist eine Bewegungsstrecke zwischen den Abtastungen (l = v·Ts) gleichbleibend, da die Geschwindigkeit v konstant ist und der Abtastzyklus Ts ebenfalls konstant ist. Daher zeigt die horizontale Achse in 3 eine Bewegungsstrecke (einen Drehwinkel) eines sich bewegenden Objekts an. Das heißt, ein m-ter Abtastzeitpunkt ist ein Zeitpunkt, der m·Ts später auftritt als ein Abtastzeitpunkt, an welchem die Positionsdaten P(0) erhalten wurden, und ist die Position, die der Bewegungsstrecke (dem Drehwinkel) des sich bewegenden Objekts entspricht (l = m·v·Ts).
-
Da sich das bewegende Objekt mit konstanter Geschwindigkeit v bewegt und die Strecke L entsprechend einen Zyklus des ursprünglichen Signals in n Abtastzyklen Ts zurücklegt, ändert sich die Position linear und die Bewegungsstrecke bei der m-ten Abtastung beträgt l = L·m/n. Wenn daher die Positionsdaten P(n) den gleichen Wert haben wie die Positionsdaten P(0) einen Zyklus später, liegen die Positionsdaten auf einer geraden Linie, wie dies durch die gestrichelte Linie in 3 angegeben ist, die die Elemente der Positionsdaten P(0) und P(n) verbindet. Die in 3 dargestellte gestrichelte gerade Linie gibt Positionen an, die zu erfassen sind, wenn sich das bewegende Objekt während eines Zyklus bewegt. Wenn jedoch die Positionen, die tatsächlich abgetastet und erfasst wurden, die Position P(m), die durch die Kreise in 3 angegeben ist, sind, wird ein Erfassungsfehler D(m) wie folgt berechnet. D(m) = P(m) – [P(0) + L·m/n]
= P(m) – [P(0) + {P(n) – P(0)} × m/n] (1)
-
Dabei kann in der vorliegenden Ausführungsform die Erfassungsfehlerkorrekturschaltung 5 die Fehlerdaten D(m) an beliebigen Positionsdaten P(m) berechnen, ohne auf die Positionsdaten beschränkt zu sein, die abgetastet und erfasst wurden, und sie kann die Positionsdaten korrigieren. Das heißt, die Schaltung zur Koeffizientenberechnung für eine Kurve M-ter Ordnung 51 kann Koeffizienten der approximierten Kurve berechnen, die Schaltung zur Erfassungsfehlerberechnung für eine Kurve M-ter Ordnung 52 kann einen Erfassungsfehler berechnen, und die Schaltung zur Korrekturberechnung für eine Kurve M-ter Ordnung 53 kann die Positionsdaten korrigieren.
-
4 ist eine schematische Ansicht, die darstellt, wie eine approximierte Kurve einer Erfassungsposition aus erfassten Positionsdaten erstellt wird. 4 zeigt ein Beispiel, in welchem die approximierte Kurve der Erfassungsposition durch die folgende Kurve dritter Ordnung gezeichnet wird. P(tx) = Atx 3 + Btx 2 + Ctx + D (2)
-
In der Gleichung (1) sind A, B, C, und D Koeffizienten. Wie in 4 dargestellt ist, können an Positionen PX5 bis PX8 (zwischen Erfassungspunkten P(m – 1) und P(m)) die Koeffizienten einer Kurve dritter Ordnung, die durch die Erfassungspunkte P(m – 2), P(m – 1), P(m) und P(m + 1) verläuft, wobei jeweils zwei Punkte davor und danach angeordnet sind, in der folgenden Weise berechnet werden.
-
5 ist eine schematische Ansicht, die eine Beziehung zwischen Erfassungspunkten, die zur Approximation verwendet werden, und einer approximierten Kurve zeigt. Wie in 5 dargestellt ist, sind, wenn ein Zeitpunkt, an welchem ein bewegtes Objekt durch einen Erfassungspunkt P(m – 1) läuft, gleich t = 0 ist, die Zeitpunkte, an denen das bewegte Objekt die Erfassungspunkte P(m – 2), P(m) und P(m + 1) mit den Zeitpunkten mit konstanten Zeitintervallen T durchläuft, als –T, T und 2T gegeben. Daher werden die folgenden vier Gleichungen für die Koeffizienten A, B, C und D der Kurve dritter Ordnung P(t) = At3 + Bt2 + Ct + D, die durch die vier Erfassungspunkte P(m – 2), P(m – 1), P(m) und P(m + 1) läuft, erfüllt. P(m – 2) = –AT3 + BT2 – CT + D (3) P(m – 1) = D (4) P(m) = AT3 + BT2 + CT + D (5) P(m + 1) = 8AT3 + 4BT2 + 2CT + D (6)
-
Aus diesen vier Gleichungen können die Koeffizienten A, B, C und D wie folgt berechnet werden. A =(–P(m – 2) + 3P(m – 1) – 3P(m) + P(m + 1))/6T3 (7) B = (P(m – 2) – 2P(m – 1) + P(m))/2T2 (8) C = (–2P(m – 2) – 3P(m – 1) + 6P(m) – P(m + 1))/6T3 (9) D = P(m – 1) (10)
-
Wenn die Koeffizienten A, B, C und D auf diese Weise berechnet sind, ist die approximierte Kurve dritter Ordnung P(t) bestimmt, und die Erfassungsfehlerkorrekturschaltung 5 kann einen Erfassungsfehler an einem beliebigen Zeitpunkt auf der approximierten Kurve P(t) berechnen und die Positionsdaten korrigieren. Daher ist es möglich, eine Änderung der Geschwindigkeitskomponenten eines Fehlerbetrags und eine Änderung der Beschleunigungskomponenten des Fehlerbetrags zu reduzieren und einen Einfluss auf einen Drehmomentbefehl bzw. Drehmomentsollwert eines Motors zu verringern. In diesem Beispiel werden Koeffizienten beispielhaft unter Verwendung der Erfassungspunkte P(m – 1) und P(m) berechnet. Jedoch können für die anderen Erfassungspunkte P(m – 2) und P(m – 1) oder P(m) und P(m + 1) die Koeffizienten einer Kurve dritter Ordnung in ähnlicher Weise auf der Grundlange zweier Erfassungspunkte vor und nach dem Erfassungspunkt berechnet werden, und es kann ein Erfassungsfehler an einem beliebigen Zeitpunkt berechnet werden und die Positionsdaten können korrigiert werden.
-
[Vergleichsbeispiel]
-
Die Gebersignalverarbeitungseinrichtung D mit dem zuvor beschriebenen Aufbau kann eine Änderung der Beschleunigungskomponenten verringern, die Einfluss auf einen Drehmomentbefehl hat, wenn ein Fehler in dem Ausgangssignal des Gebers korrigiert wird, in Vergleich dazu, wenn Erfassungspunkte linear interpoliert werden. 6 ist eine Ansicht, die einen Fall darstellt, in welchem Erfassungspositionen für das Beispiel der in 4 dargestellten Positionsdaten linear interpoliert werden. Ferner ist 7 eine Ansicht, die Geschwindigkeitskomponenten an Positionen PX1 bis PX9 in dem Beispiel der in 6 dargestellten Positionsdaten darstellt, und 8 ist eine Ansicht, die Beschleunigungskomponenten an Positionen PX1 bis PX9 in dem in 6 dargestellten Beispiel der Positionsdaten zeigt. Die in 8 dargestellten Beschleunigungskomponenten bezeichnen Differenzen an benachbarten Zeitpunkten zwischen Geschwindigkeitskomponenten an den Zeitpunkten, die in 7 dargestellt sind. Da in 6 die entsprechenden Erfassungspunkte linear interpoliert sind, liegen die Erfassungspositionen zwischen Erfassungspunkten auf einer interpolierten geraden Linie. In diesem Falle sind die Geschwindigkeitskomponenten an den Erfassungspositionen zwischen Erfassungspunkten konstant und die Beschleunigungskomponenten sind gleich null.
-
9 ist eine Ansicht, die Geschwindigkeitskomponenten an den Positionen PX1 bis PX9 für die beispielhaften, in 4 gezeigten Positionsdaten zeigt. Ferner ist 10 ein Diagramm, das Beschleunigungskomponenten an Positionen PX1 bis PX9 in dem in 4 gezeigten Beispiel der Positionsdaten darstellt. Die in 10 dargestellten Beschleunigungskomponenten geben Unterschiede an benachbarten Zeitpunkten zwischen Geschwindigkeitskomponenten zu den in 9 dargestellten Zeitpunkten an. Im Beispiel der in 4 dargestellten Positionsdaten liegen die Erfassungspositionen zwischen Erfassungspunkten auf einer approximierten Kurve. In diesem Falle haben die Geschwindigkeitskomponenten an den Positionen PX1 bis PX9 die Werte, wie sie in 9 dargestellt sind, und die Beschleunigungskomponenten an den Positionen PX1 bis PX9 haben die Werte, wie sie in 10 dargestellt sind.
-
Wenn die Geschwindigkeitskomponenten (7), die erhalten werden, wenn Erfassungspunkte linear interpoliert sind, mit den Geschwindigkeitskomponenten (9) verglichen werden, die erhalten werden, wenn Erfassungspunkte gemäß einer approximierten Kurve interpoliert werden, ist ersichtlich, dass eine große Änderung der Geschwindigkeitskomponenten vermieden wird, wenn die Erfassungspunkte gemäß einer approximierten Kurve interpoliert werden, wie dies in der vorliegenden Erfindung der Fall ist. Wenn in ähnlicher Weise die Beschleunigungskomponenten (8), die erhalten werden, wenn Erfassungspunkte linear interpoliert werden, mit den Beschleunigungskomponenten (10) verglichen werden, die erhalten werden, wenn Erfassungspunkte gemäß einer approximierten Kurve interpoliert werden, ist zu erkennen, dass eine große Änderung in den Beschleunigungskomponenten vermieden werden kann, wenn die Erfassungspunkte gemäß einer approximierten Kurve interpoliert werden, wie dies in der vorliegenden Erfindung der Fall ist.
-
[Zweite Ausführungsform]
-
Anschließend wird eine zweite Ausführungsform der vorliegenden Erfindung beschrieben. In der zweiten Ausführungsform wird die Ordnung der approximierten Kurve, die in der ersten Ausführungsform dargestellt ist, auf eine ungerade Ordnung festgelegt, um in der Lage zu sein, Positionsdaten in geeigneter Weise zu korrigieren, selbst wenn sich ein Geber in einer Rückwärtsrichtung dreht.
-
11 ist eine schematische Ansicht, die Erfassungspunkte darstellt, die zur Berechnung von Koeffizienten für eine Vorwärtsdrehung und eine Rückwärtsdrehung verwendet werden, wenn die Ordnung einer approximierten Kurve eine ungerade Ordnung (in diesem Beispiel eine dritte Ordnung) ist. Die Erfassungspositionen für die Vorwärtsdrehung in 6 und die Erfassungspositionen für eine Rückwärtsdrehung sind zueinander vertauscht. Wie in 11 dargestellt ist, ist es möglich, wenn die Ordnung einer approximierten Kurve eine dritte Ordnung ist, die Koeffizienten A, B, C und D der Kurve dritter Ordnung unter Anwendung von vier Erfassungspunkten zu berechnen, die jeweils vor und nach einem Soll-Zeitpunkt tx angeordnet sind, und es ist möglich, einen Erfassungsfehler P(tx) an einem beliebigen Zeitpunkt innerhalb des Bereichs von tm-1 ≤ tx ≤ tm wie folgt zu berechnen. P(tx) = ATx 3 + –Btx 2 + Ctx + D
-
Da ferner im Falle der Rückwärtsdrehung die gleichen vier Erfassungspunkte, die vor und nach dem Soll-Zeitpunkt angeordnet sind, wie sie auch für die Vorwärtsdrehung verwendet sind, benutzt werden, sind die Koeffizienten der approximierten Kurve eindeutig bestimmt.
-
12 ist eine schematische Ansicht, die Erfassungspunkte darstellt, die zur Berechnung von Koeffizienten für eine Vorwärtsdrehung und eine Rückwärtsdrehung verwendet werden, wenn die Ordnung einer approximierten Kurve eine gerade Ordnung (in diesem Beispiel eine zweite Ordnung). Die Erfassungspositionen für die Vorwärtsdrehung in 12 und die Erfassungspositionen für die Rückwärtsdrehung sind zueinander vertauscht. Wenn die Ordnung einer approximierten Kurve eine zweite Ordnung ist, ist es möglich, die Koeffizienten A, B und C einer Kurve zweiter Ordnung gemäß den folgenden Gleichungen unter Anwendung eines einzelnen Erfassungspunktes eines Zeitpunktes Tm-1, der vor einem Soll-Zeitpunkt tx liegt, und unter Anwendung zweier Erfassungspunkte an Zeitpunkten tm und tm+1, die nach dem Zeitpunkt tx liegen, zu berechnen. A = (P(m – 1) – 2P(m) + P(m + 1))/2 (11) B =(–P(m – 1) + 2P(m + 1))/2 (12) C = P(m) (13)
-
Unter Verwendung dieser Koeffizienten kann ein Erfassungsfehler P(tx) an einem beliebigen Zeitpunkt innerhalb des Bereichs von tm-1 ≤ tx ≤ tm wie folgt berechnet werden. P(tx) = Atx 2 + Btx + C (14)
-
Wenn jedoch im Fade der Rückwärtsdrehung, wobei ein Erfassungspunkt zum Zeitpunkt tm-1 vor dem Soll-Zeitpunkt tx liegt und zwei Erfassungspunkte zu den Zeitpunkten tm und tm+1 nach dem Zeitpunkt tx liegen, in ähnlicher Weise wie bei der Vorwärtsdrehung verwendet werden, müssen die Koeffizienten einer Kurve zweiter Ordnung, die durch drei unterschiedliche Punkte läuft, berechnet werden. Wenn daher der Geber sich in der Rückwärtsrichtung dreht, ist es gegebenenfalls unmöglich, die Positionsdaten in geeigneter Weise zu korrigieren. Das heißt, durch Festlegen der Ordnung der approximierten Kurve auf eine ungerade Ordnung ist es möglich, die Positionsdaten in geeigneterer Weise zu korrigieren.
-
[Dritte Ausführungsform]
-
Als nächstes wird eine dritte Ausführungsform der vorliegenden Erfindung beschrieben. In der dritten Ausführungsform wird zur Vereinfachung der Berechnung eines Erfassungsfehlers und zur Beschleunigung des Vorgangs ein vorbestimmter Erfassungsfehler einer approximierten Kurve im Voraus berechnet und gespeichert. 13 ist eine schematische Ansicht, die einen Aufbau einer Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 gemäß der vorliegenden Ausführungsform zeigt. Ferner ist 14 eine schematische Ansicht, die darstellt, wie in eine Kurve M-ter Ordnung, die durch die Erfassungspunkte läuft, ein Erfassungsfehler an einem Zeitpunkt im Voraus berechnet werden kann, wenn die Erfassungspunkte gleichmäßig verteilt sind.
-
Wie in 13 dargestellt, umfasst die Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 der vorliegenden Ausführungsform ein Register 52a und kann daher einen vorbestimmten berechneten Erfassungsfehler in dem Register 52a speichern. Wie in 14 dargestellt, berechnet die Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung im Voraus einen Erfassungsfehler, der auf einer Kurve M-ter Ordnung zu einem Zeitpunkt liegt, wenn Erfassungspunkte gleichmäßig aufgeteilt sind, und speichert den berechneten Erfassungsfehler in dem Register 52a. In 14 ist ein Beispiel dargestellt, in welchem eine Zeitdauer T zwischen Erfassungspunkten P(m – 1) und P(m) gleichmäßig in acht Segmente unterteilt ist, und Erfassungsfehler P(1) bis P(7) auf der Kurve M-ter Ordnung werden an entsprechenden Zeitpunkten t1 bis t7 berechnet. Diese Erfassungsfehler P(1) bis P(7) werden in dem Register 52a gespeichert.
-
Die Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 berechnet einen Erfassungsfehler zu einem beliebigen Zeitpunkt durch lineare Interpolation einer Zeitdauer, die einen beliebigen Zeitpunkt enthält, wobei Erfassungsfehler zu Zeitpunkten vor und nach dem beliebigen Zeitpunkt verwendet werden, wenn der Erfassungsfehler des beliebigen Zeitpunkts berechnet wird. Wenn beispielsweise ein Erfassungsfehler P(X) durch lineare Interpolation einer Zeitdauer zwischen den Zeitpunkten t5 und t6 in 14 berechnet wird, dann kann der Erfassungsfehler P(X) unter Anwendung von Erfassungsfehlern P(5) und P(6) wie folgt berechnet werden. P(X) = (P(6) – P(5)) × (tx – t5)/T + P(5) (15)
-
Durch Berechnung des Erfassungsfehlers auf diese Weise ist es möglich, die Berechnung zu vereinfachen und den Vorgang zu beschleunigen im Vergleich dazu, dass Erfassungsfehler auf der Kurve M-ter Ordnung an einem beliebigen Zeitpunkt der Reihe nach berechnet werden.
-
[Modifizierung 1]
-
In dem zuvor beschriebenen Ausführungsformen ist die Startbedingungsbestimmungsschaltung 41 in der Erfassungsfehlerdatenberechnungsschaltung 4 vorgesehen, und es werden ein Datenlesebefehl an die Registergruppe 42 und ein Referenzdatenberechnungsbefehl auf der Grundlage eines Bestimmungsergebnisses ausgegeben, das durch die Startbedingungsbestimmungsschaltung 41 ermittelt wird. Jedoch ist gegebenenfalls die Startbedingungsbestimmungsschaltung 41 nicht vorgesehen, und eine Steuerung, etwa eine numerische Steuerung, die eine Anlage oder eine Einrichtung steuert, in der dieser Geber installiert ist, kann eine Startbedingung ermitteln, und die Steuerung kann einen Datenlesebefehl und einen Referenzdatenberechnungsbefehl ausgeben.
-
[Modifizierung 2]
-
In den zuvor beschriebenen Ausführungsformen können die Erfassungsfehlerdatenberechnungsschaltung 4 und die Erfassungsfehlerkorrekturschaltung 5 als Prozessoren eingerichtet sein und die Ausführung kann durch Software erfolgen. 15 ist eine Blockansicht, die einen Aufbau zeigt, wenn ein Erfassungsfehlerdatenberechnungsprozess und ein Positionsdatenkorrekturprozess durch Software ausgeführt werden.
-
Wie in 15 dargestellt, umfasst, wenn ein Erfassungsfehlerdatenberechnungsprozess und ein Positionsdatenkorrekturprozess durch Software ausgeführt werden, die Gebersignalverarbeitungseinrichtung D gemäß der vorliegenden Erfindung einen Prozessor 100, einen Nur-Lese-Speicher (ROM) 110, einen Speicher mit wahlfreiem Zugriff (RAM) 120, und eine Speichereinheit 130 anstelle der Erfassungsfehlerdatenberechnungsschaltung 4 und der Erfassungsfehlerkorrekturschaltung 5, die in 1 gezeigt sind.
-
Der Prozessor 100 führt ein Programm für einen Erfassungsfehlerdatenberechnungsprozess und ein Programm für einen Positionsdatenkorrekturprozess, die in dem ROM 110 oder der Speichereinheit 130 gespeichert sind, aus. Diverse Programme zur Steuerung der Gebersignalverarbeitungseinrichtung D werden in dem ROM 110 im Voraus abgelegt. Der RAM 120 ist durch einen Halbleiterspeicher, etwa einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) gebildet und speichert Daten, die erzeugt werden, wenn der Prozessor 100 diverse Prozesse ausführt.
-
Die Speichereinheit 130 ist durch eine nichtflüchtige Speichereinrichtung, etwa eine Festplatte oder einen Flash-Speicher gebildet und enthält diverse Programme, etwa ein Programm für einen Erfassungsfehlerdatenberechnungsprozess und ein Programm für einen Positionsdatenkorrekturprozess, und diverse Datenelemente, die in der Gebersignalverarbeitungseinrichtung D verwendet werden.
-
16 ist ein Flussdiagramm, das den Ablauf eines Erfassungsfehlerdatenberechnungsprozesses (ein Prozess, der gleichbedeutend zu dem Prozess ist, der von der Erfassungsfehlerdatenberechnungsschaltung 4 ausgeführt wird) darstellt, der von dem Prozessor 100 ausgeführt wird. Wenn ein Referenzdatenerzeugungsbefehl manuell oder als Befehl aus einer Steuerung, die eine Anlage oder eine Einrichtung steuert, in der der Geber installiert ist, eingegeben wird, ermittelt der Prozessor 100 zunächst, ob eine vorbestimmte Erfassungsfehlerberechnungsstartbedingung erfüllt ist, wobei dies auf der Grundlage von Abtastpositionsdaten erfolgt, die aus der digitalen Interpolationsschaltung 3 ausgegeben werden. Das heißt, es wird ermittelt, ob eine aktuelle Geschwindigkeit einem vorbestimmten Wert entspricht oder eine aktuelle Beschleunigung innerhalb eines vorbestimmten Wertes liegt (Schritt a1).
-
Wenn ermittelt wird, dass die vorbestimmte Erfassungsfehlerberechnungsstartbedingung erfüllt ist, werden ein oder mehr Zyklen der Abtastpositionsdaten, die aus der digitalen Interpolationsschaltung 3 ausgegeben werden, eingelesen (Schritte a2 und a3). Wenn das Einlesen der Positionsdaten abgeschlossen ist, wird ermittelt, ob eine Beschleunigung zum Zeitpunkt des Endes des Einlesens eines Zyklus an Positionsdaten innerhalb eines vorbestimmten Bereichs liegt (Schritt a4). Wenn die Beschleunigung außerhalb des vorbestimmten Bereichs liegt, kehrt der Ablauf zurück zum Schritt a1 und es werden erneut Positionsdaten eingelesen, da dies bedeutet, dass es eine Änderung der Geschwindigkeit innerhalb eines Zyklus gibt, in welchem die Positionsdaten ermittelt werden.
-
Wenn im Schritt a4 ermittelt wird, dass die Beschleunigung innerhalb des vorbestimmten Bereichs liegt, werden die eingelesenen Positionsdaten als Daten einer konstanten Geschwindigkeit betrachtet, und Positionsdaten P(0) und P(1) und P(n) und P(n + 1) an einer Soll-Position PA und die Positionen, die vor und nach einer Soll-Position PB liegen, die einen Zyklus später als die Position PA auftritt, werden aus den eingelesenen Positionsdaten berechnet (Schritte a5 und a6). Ein Abtastzeitpunkt der Positionsdaten P(0) wird auf den Zeitpunkt „0” festgelegt und die Zeitpunkte tA und tB, die den Positionen PA und PB entsprechen, werden durch Interpolation (Schritt a7) berechnet. In den Schritten a6 und a7 sind, wenn die Position PA als eine Erfassungsposition unmittelbar nach einem Nulldurchgang festgelegt ist, die Zeitpunkte tA und tB gleich „0”, ebenso das Produkt des Abtastzyklus Ts und der Anzahl an Abtastungen n, und die Interpolation ist nicht erforderlich. Wenn andererseits die Position PA auf eine beliebige Position in einem Abtastzyklus festgelegt wird, kann der Zeitpunkt tA durch Interpolation (beispielsweise lineare Interpolation) aus den Positionsdaten P(0) und P(1), die vor und nach der Position PA liegen, berechnet werden. In ähnlicher Weise kann der Zeitpunkt tB durch Interpolation aus den Positionsdaten P(n) und P(n + 1), die vor und nach der Position PB liegen, die einen Zyklus später als die Position PA auftritt, berechnet werden.
-
Eine Zeitdauer zwischen den Zeitpunkten tA und tB ist gleichmäßig unterteilt und Positionsdaten, von denen man erwartet, dass sie zu entsprechenden Teilungspunkten erfasst werden, werden in ähnlicher Weise durch Interpolation berechnet. Ferner wird ein Erfassungsfehler an der erwarteten Erfassungsposition (Position des Unterteilungspunktes) berechnet, und die erwartete Erfassungsposition (Position des Unterteilungspunkts) und der Erfassungsfehler, der diesem entspricht, werden zueinander korreliert gespeichert (Schritt a8).
-
Ein Index j wird um „1” erhöht (ein Anfangswert des index j wird auf „0” gesetzt) und es wird ermittelt, ob der Wert des Index j eine vorbestimmte Zahl erreicht hat (Schritte a9 und a10). Wenn der Wert des Index j die vorbestimmte Zahl nicht erreicht hat, geht der Ablauf zurück zum Schritt a1. Wenn die Prozesse der Schritte a1 bis a10 wiederholt ausgeführt werden und der Index j die vorbestimmte Zahl erreicht, wird ein Mittelwert der j Erfassungsfehler, die mit Bezug zu den erwarteten Erfassungspositionen (Positionen der Unterteilungspunkte) gespeichert sind, berechnet (Schritt a11), es wird ein Satz, der aus den erwarteten Erfassungspositionen (Positionen der Unterteilungspunkte) und dem Mittelwert der Erfassungsfehler zusammengesetzt ist, an die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 ausgegeben (Schritt a12), und der Prozess für die Erfassungsfehlerdatenberechnung ist beendet.
-
17 ist ein Flussdiagramm, das den Ablauf eines Positionsdatenkorrekturprozesses (eines Prozesses, der gleichbedeutend zu dem Prozess ist, der von der Erfassungsfehlerkorrekturschaltung 5 ausgeführt wird) zeigt, der von dem Prozessor 100 ausgeführt wird. Wenn der Positionsdatenkorrekturprozess beginnt, liest die Erfassungsfehlerkorrekturschaltung 5 Positionsdaten P(x) ein, die die Ausgabe der digitalen Interpolationsschaltung 3 sind (Schritt b1), und die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 berechnet Koeffizienten einer Kurve M-ter Ordnung, die durch M + 1 Punkte verläuft, die vor und nach dem in dem Erfassungsfehlerspeicherregister 4 gespeicherten Erfassungsfehler liegen (Schritt b2).
-
Nachfolgend berechnet die Schaltung zur Erfassungsfehlerberechnung für eine Kurve M-ter Ordnung 52 einen Erfassungsfehler an einem beliebigen Zeitpunkt auf der Kurve M-ter Ordnung, deren Koeffizienten durch die Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung 51 berechnet sind (Schritt b3). Anschließend berechnet die Schaltung zur Korrekturberechnung einer Kurve M-ter Ordnung 53 den Erfassungsfehler der Positionsdaten und korrigiert diese, die von der digitalen Interpolationsschaltung 3 ausgegeben werden, wobei dies unter Anwendung des Erfassungsfehlers erfolgt, der von der Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung 52 berechnet ist, und der Erfassungsfehler wird an die Positionsdatenerzeugungsschaltung 6 ausgegeben (Schritt b4). Danach erzeugt die Positionsdatenerzeugungsschaltung 6 Positionsdaten auf der Grundlage der korrigierten Positionsdaten (der korrigierten Positionsdaten innerhalb eines einzelnen Zyklus), die auf diese Weise ausgegeben werden, und auf der Grundlage der Daten, die von einem Zähler ausgegeben werden, der den Zyklus eines ursprünglichen Signals misst. Mit diesem Aufbau können die Funktionen der Erfassungsfehlerdatenberechnungsschaltung 4 und der Erfassungsfehlerkorrekturschaltung 5 durch Software eingerichtet werden, und Hinzufügungen oder Änderungen an den Funktionen können in flexiblerer Weise ausgeführt werden.
-
Die vorliegende Erfindung ist nicht auf die zuvor beschriebenen Ausführungsformen beschränkt und kann in geeigneter Weise geändert werden. Beispielsweise kann in der Erfassungsfehlerkorrekturschaltung 5 die Ordnung der Kurve M-ter Ordnung als eine approximierte Kurve in geeigneter Weise abhängig von einem speziellen Anwendungsziel der vorliegenden Erfindung bestimmt werden. Ferner kann der Abtastzyklus für die Abtastung der Positionsdaten P(n) in geeigneter Weise abhängig von der erforderlichen Genauigkeit der approximierten Kurve oder dergleichen festgelegt werden.
-
Die Gebersignalverarbeitungseinrichtung D gemäß den zuvor beschriebenen Ausführungsformen kann vollständig oder teilweise durch Hardware, Software oder eine Kombination davon eingerichtet werden. Dabei bedeutet das Einrichten der Gebersignalverarbeitungseinrichtung der Software, dass die Gebersignalverarbeitungseinrichtung durch einen Computer implementiert wird, der ein Programm einliest und dieses ausführt. Wenn die Gebersignalverarbeitungseinrichtung D in Hardware ausgebildet ist, kann die Gebersignalverarbeitungseinrichtung D vollständig oder teilweise durch eine integrierte Schaltung (IC), etwa durch eine integrierte Schaltung mit hoher Integrationsdichte (LSI), eine anwendungsspezifische integrierte Schaltung (ASIC), durch ein Gate-Array oder durch ein Feld-programmierbares Gate-Array (FPGA) eingerichtet werden, um einige Beispiele zu nennen.
-
Wenn die Gebersignalverarbeitungseinrichtung D vollständig oder teilweise durch Software eingerichtet ist, kann die Gebersignalverarbeitungseinrichtung D durch einen Computer implementiert werden, der eine Speichereinheit enthält, etwa eine Festplatte oder einen ROM, die ein Programm enthält, das die gesamte Funktion oder einen Teil der Gebersignalverarbeitungseinrichtung D beschreibt, und der Computer kann einen DRAM für Speicherung von Daten, die für Operationen erforderlich sind, eine CPU und einen Bus aufweisen, der entsprechende Einheiten miteinander verbindet, wobei der Computer die Information enthält, die zum Betrieb des DRAM erforderlich ist, und die CPU veranlasst, das Programm auszuführen.
-
Diese Programme können unter Anwendung diverse Arten von computerlesbaren Medien gespeichert und dem Computer zugeführt werden. Die computerlesbaren Medien schließen diverse Arten von dinglichen Speichermedien mit ein. Zu Beispielen von computerlesbaren Medien gehören ein magnetisches Aufzeichnungsmedium (beispielsweise eine flexible Diskette, ein Magnetband, oder ein Festplattenlaufwerk), ein magnetisch-optisches Aufzeichnungsmedium (beispielsweise eine magnetisch-optische Diskette), ein CD-Nur-Lese-Speicher (CD-ROM), eine CD-R, eine CD-R/W und ein Halbleiterspeicher (beispielsweise ein Masken-ROM, ein programmierbarer ROM (PROM), ein löschbarer PROM (EPROM), ein Flash-ROM, oder ein Speicher mit wahlfreiem Zugriff (RAM)). Ferner können diese Programme durch Herunterladen auf den Computer eines Anwenders mittels eines Netzwerkes verteilt werden.
-
Obwohl die Ausführungsformen der vorliegenden Erfindung detailliert beschrieben sind, zeigen die Ausführungsformen lediglich spezielle Beispiele davon, wie die vorliegende Erfindung implementiert wird. Der technische Bereich der vorliegenden Erfindung ist nicht auf die zuvor beschriebenen Ausführungsformen beschränkt. Es können diverse Änderungen vorgenommen werden ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen, und diese Änderungen liegen ebenfalls innerhalb des technischen Bereichs der vorliegenden Erfindung.
-
Bezugszeichenliste
-
- D
- Gebersignalverarbeitungseinrichtung
- 1a, 1b
- Analoge Verstärkerschaltung
- 2a, 2b
- Analog-Digital-Wandlerschaltung
- 3
- Digitale Interpolationsschaltung
- 4
- Erfassungsfehlerdatenberechnungsschaltung
- 41
- Startbedingungsbestimmungsschaltung
- 42
- Registergruppe
- 43
- Erfassungsfehlerberechnungsschaltung
- 44
- Erfassungsfehlerspeicherregister
- 45
- Mittelungsschaltung
- 5
- Erfassungsfehlerkorrekturschaltung
- 51
- Schaltung zur Koeffizientenberechnung einer Kurve M-ter Ordnung
- 52
- Schaltung zur Erfassungsfehlerberechnung einer Kurve M-ter Ordnung
- 52a
- Register
- 53
- Schaltung zur Korrekturberechnung einer Kurve M-ter Ordnung
- 6
- Positionsdatenerzeugungsschaltung
- 411a, 411b, 411c
- Positionsdatenregister
- 412a
- Erste Geschwindigkeitsberechnungsschaltung
- 412b
- Zweite Geschwindigkeitsberechnungsschaltung
- 413
- Nulldurchgangerfassungsschaltung
- 414
- Beschleunigungsberechnungsschaltung
- 415
- Positionsdatenregisterspeicherstartbestimmungs- und Fehlerberechnungsstartsignalbestimmungsschaltung
- 100
- Prozessor
- 110
- ROM
- 120
- RAM
- 130
- Speichereinheit
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 03772121 [0002]
- JP 249742 [0002]