DE102007057476A1 - Geschwindigkeitserfassungsvorrichtung - Google Patents

Geschwindigkeitserfassungsvorrichtung Download PDF

Info

Publication number
DE102007057476A1
DE102007057476A1 DE102007057476A DE102007057476A DE102007057476A1 DE 102007057476 A1 DE102007057476 A1 DE 102007057476A1 DE 102007057476 A DE102007057476 A DE 102007057476A DE 102007057476 A DE102007057476 A DE 102007057476A DE 102007057476 A1 DE102007057476 A1 DE 102007057476A1
Authority
DE
Germany
Prior art keywords
calculator
coordinate
calculation
equations
calculates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102007057476A
Other languages
English (en)
Other versions
DE102007057476B4 (de
Inventor
Ryuji Numazu Aono
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Publication of DE102007057476A1 publication Critical patent/DE102007057476A1/de
Application granted granted Critical
Publication of DE102007057476B4 publication Critical patent/DE102007057476B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
    • G01P3/489Digital circuits therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P13/00Indicating or recording presence, absence, or direction, of movement
    • G01P13/02Indicating direction only, e.g. by weather vane
    • G01P13/04Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement
    • G01P13/045Indicating positive or negative direction of a linear movement or clockwise or anti-clockwise direction of a rotational movement with speed indication

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

Diese Offenbarung betrifft einen Geschwindigkeitsdetektor, der umfasst einen Speicher, der voreingestellte vorläufige Winkel und einen trigonometrischen Funktionswert entsprechend jedem der voreingestellten vorläufigen Winkel speichert; ein erstes Register, das eine erste Koordinate (x1, y1) eines Körpers speichert; ein zweites Register, das eine zweite tatsächliche Koordinate (x2, y2) des Körpers speichert; einen ersten Kalkulator, der eine erste Kalkulationskoordinate kalkuliert, die durch eine Addition oder eine Subtraktion zwischen x1 und einem Ergebnis einer Verschiebung einer Zahl von y1 basierend auf dem trigonometrischen Funktionswert dargestellt wird; einen zweiten Kalkulator, der eine zweite Kalkulationskoordinate kalkuliert, die durch die Addition oder die Subtraktion zwischen y2 und einem Ergebnis einer Verschiebung einer Zahl von x2 basierend auf dem trigonometrischen Funktionswert dargestellt wird, wobei der erste und der zweite Kalkulator die erste bzw. zweite Kalkulationskoordinate so kalkulieren, dass die erste tatsächliche Koordinate (x1, y1) und die zweite tatsächliche Koordinate (x2, y2) einander näher sind.

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNG
  • Diese Anmeldung basiert auf und beansprucht den Nutzen der Priorität von der früheren japanischen Patentanmeldung Nr. 2006-328311 , eingereicht am 5. Dezember 2006, deren gesamter Inhalt hierin durch Verweis einbezogen wird.
  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Geschwindigkeitsdetektor.
  • Stand der Technik
  • In einer Bewegungssteuerung eines Servomotors werden ein SIN-Signal und ein COS-Signal basierend auf einem Bewegungsabstand einer Maschine oder einem Bewegungswinkel einer Welle der Maschine in einem Positionsdetektor generiert. Eine arithmetische Schaltung des Positionsdetektors tastet SIN-Signale und COS-Signale in Intervallen einer Einheitszeit ab, und kalkuliert eine Bewegungsgeschwindigkeit oder eine Winkelgeschwindigkeit aus einer Abstandsdifferenz oder einer Winkeldifferenz zwischen zwei Abtastungen und einem Zeitintervall zwischen zwei Abtastungsoperationen.
  • Falls z. B. Koordinaten, die durch die zwei Abtastungsoperationen erhalten werden, (x1, y1) und (x2, y2) sind, und ein Abtastungszeitintervall t (sek) ist, kann eine Winkelgeschwindigkeit ω (rad/sek) durch die folgende Gleichung 0 ausgedrückt werden. ω = (Θ2 – Θ1)/t = (tan–1(y2/x2) – tan–1(y1/x1))/t (Gl. 0)
  • In der Gleichung 1 sind Θ1 (rad) und Θ2 (rad) jeweils absolute Winkel (Neigungen) in zwei Abtastungszeitpunkten. Wie in der Gleichung 1 gezeigt, ist es notwendig, die Neigungen aus den Koordinaten so zu kalkulieren, um die Winkelgeschwindigkeit ω zu erhalten.
  • Um das Problem zu bewältigen, wird Verwendung einer CPU oder einer kundenangepassten LSI (Large-Scale Integrated Circuit, hoch integrierten Schaltung) als die arithmetische Schaltung vorgeschlagen, um die Kalkulation der Gleichung 1 unter Verwendung einer digitalen logischen Schaltung zu realisieren.
  • Um einen arctangens (tan–1) zu kalkulieren, ist es notwendig, eine Division von sin/cos durchzuführen. Für die Kalkulation des arctangens treten jedoch zwei Probleme wie folgt auf. Falls sich ein COS-Signal in einem Einheitspreis Null nähert, wird zuerst ein Absolutwert eines tangens (sin/cos) ziemlich groß. Dies führt zu einer beträchtlichen Erhöhung eines Fehlers in dem Kalkulationsergebnis des arctangens.
  • Zweitens ist es notwendig, eine Division (sin/cos) so durchzuführen, um den arctangens und den tangens zu kalkulieren. Ein Teiler ist eine Schaltung, die durch eine digitale Schaltung schwierig zu realisieren ist. Um den Teiler durch eine digitale Schaltung zu realisieren, ist es notwendig, eine digitale Schaltung in einem weit größeren Maßstab als einen Addierer oder einen Subtrahierer einzusetzen.
  • Um einen Multiplizierer durch eine digitale Schaltung zu realisieren ist es notwendig, eine digitale Schaltung in einem weit größeren Maßstab als den Addierer oder den Subtrahierer einzusetzen.
  • Es ist ein Ziel der vorliegenden Erfindung, eine Geschwindigkeitserfassungsvorrichtung vorzusehen, die zum äußerst genauen Erfassen einer Geschwindigkeit eines beweglichen Körpers unter Verwendung einer arithmetischen Schaltung kleinen Maßstabs fähig ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Geschwindigkeitserfassungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zum regelmäßigen Abtasten einer Koordinate, die eine Position eines beweglichen Körpers anzeigt, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt, und Erfassen einer Winkelgeschwindigkeit des beweglichen Körpers basierend auf der Koordinate, die Vorrichtung umfasst einen Speicher, der eine Vielzahl von voreingestellten vorläufigen Winkeln und einen trigonometrischen Funktionswert entsprechend jedem der voreingestellten vorläufigen Winkel speichert; ein erstes Register, das eine erste tatsächliche Koordinate (x1, y1) des beweglichen Körpers speichert, die durch eine erste Abtastung erhalten wird; ein zweites Register, das eine zweite tatsächliche Koordinate (x2, y2) des beweglichen Körpers speichert, die durch eine zweite Abtastung als Nächstes zu der ersten Abtastung erhalten wird; einen ersten Kalkulator, der eine erste Kalkulationskoordinate kalkuliert, die durch eine Addition oder eine Subtraktion zwischen x1 und einem Wert dargestellt wird, der als ein Ergebnis einer Verschiebung einer Zahl von y1 erhalten wird basierend auf dem trigonometrischen Funktionswert; einen zweiten Kalkulator, der eine zweite Kalkulationskoordinate kalkuliert, die durch die Addition oder die Subtraktion zwischen y2 und einem Wert dargestellt wird, der als ein Ergebnis einer Verschiebung einer Zahl von x2 erhalten wird basierend auf dem trigonometrischen Funktionswert; und einen dritten Kalkulator, der die vorläufigen Winkel aufaddiert, die in einer Kalkulation des ersten oder des zweiten Kalkulators verwendet werden, wobei der erste und der zweite Kalkulator die erste bzw. zweite Kalkulationskoordinate so kalkulieren, dass die erste tatsächliche Koordinate (x1, y1) und die zweite tatsächliche Koordinate (x2, y2) näher zueinander sind.
  • Eine Geschwindigkeitserfassungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zum regelmäßigen Abtasten einer Koordinate, die eine Position eines beweglichen Körpers anzeigt, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt, und Erfassen einer Winkelgeschwindigkeit des beweglichen Körpers basierend auf der Koordinate, die Vorrichtung umfasst einen Speicher, der eine Vielzahl von voreingestellten vorläufigen Winkeln Φi, wobei Φ0 > Φ1 > Φ2 > ... > Φi > ... Φn, i = 0, 1, 2, ..., n sind, und n eine natürliche Zahl ist, einen trigonometrischen Funktionswert tanΦi entsprechend jedem der voreingestellten vorläufigen Winkel, speichert; ein erstes Register, das eine erste tatsächliche Koordinate (x1, y1) des beweglichen Körpers speichert, die durch eine erste Abtastung erhalten wird; ein zweites Register, das eine zweite tatsächliche Koordinate (x2, y2) des beweglichen Körpers speichert, die durch eine zweite Abtastung als Nächstes zu der ersten Abtastung erhalten wird; einen ersten Kalkulator, der folgende Gleichungen 1 oder 2 basierend auf der ersten tatsächlichen Koordinate (x1, y1) und dem trigonometrischen Funktionswert tanΦi kalkuliert
    Figure 00050001
    einen zweiten Kalkulator, der die Gleichung 1 oder 2 basierend auf der zweiten tatsächlichen Koordinate (x2, y2) und dem trigonometrischen Funktionswert tanΦi kalkuliert; und einen dritten Kalkulator, der die vorläufigen Winkel tanΦi aufaddiert, die in einer Kalkulation des ersten oder des zweiten Kalkulators verwendet werden, wobei
    Φi = tan–22–i (i = 0, 1, 2, ..., n), falls i = 0, dann sind xxci-1 = x1 und yyci-1 = y1 für den ersten Kalkulator, und xxci-1 = x2 und yyci-1 = y2 für den ersten Kalkulator,
    jeder der ersten und zweiten Kalkulatoren die Gleichungen 1 oder 2 in einer Ordnung von i = 0, 1, 2, ..., n kalkuliert, und
    der dritte Kalkulator die vorläufigen Winkel für jedes i aufaddiert.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer Geschwindigkeitserfassungsvorrichtung 100 gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ist ein Blockdiagramm, das eine interne Konfiguration der Kalkulationseinheit 50 zeigt;
  • 3 ist ein Diagramm, das eine Positionsbeziehung zwischen einer ersten tatsächlichen Koordinate (sinΘ, cosΘ) und einer zweiten tatsächlichen Koordinate (sin(Θ + Φ), cos(Θ + Φ)) zeigt;
  • 4 ist ein konzeptionelles Diagramm der ersten Kalkulationskoordinate und der zweiten Kalkulationskoordinate, die in die Zwischenkoordinate zwischen der ersten tatsächlichen Koordinate (x1, y1) und der zweiten tatsächlichen Koordinate (x2, y2) konvergieren;
  • 5 ist ein Diagramm, das acht Bereiche zeigt, die geteilte Bereiche eines Koordinatensystems sind;
  • 6 ist ein Flussdiagramm, das eine Verarbeitung zum Unterscheiden zeigt, zu welchem von in 5 gezeigten Bereichen I bis VIII eine gewisse Koordinate (x, y) gehört; und
  • 7A und 7B sind Tabellen zum Spezifizieren von Rotationsrichtungen (CCW oder CW) der ersten und zweiten Kalkulationskoordinaten basierend auf den Bereichen, zu denen die ersten und zweiten tatsächlichen Koordinaten oder die ersten und zweiten Kalkulationskoordinaten gehören.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Nachstehend werden Ausführungsformen der vorliegenden Erfindung mit Bezug auf die begleitenden Zeichnungen detailliert erläutert. Es wird vermerkt, dass die Erfindung nicht darauf begrenzt ist.
  • 1 ist ein Blockdiagramm einer Geschwindigkeitserfassungsvorrichtung 100 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Geschwindigkeitserfassungsvorrichtung 100 enthält einen Rotationsmessgeber oder eine lineare Skala 10, einen A/D-Wandler 50 und eine Kalkulationseinheit 50. Die Kalkulationseinheit 50 ist eine Allzweck-CPU oder eine kundenangepasste LSI. Die Kalkulationseinheit 50 kann z. B. durch ein FPGA (Field Programmable Gate Array) gebildet werden. Die Geschwindigkeitserfassungsvorrichtung 100 kann z. B. in einem Servomotor angeordnet sein, der einen beweglichen Körper enthält, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt. Der bewegliche Körper ist z. B. ein Rotor des Servomotors, der in einem Maschinenwerkzeug angeordnet ist, oder ein Arm, der eine Hin- und Herbewegung durchführt. Die Geschwindigkeitserfassungsvorrichtung 100 kann z. B. in einer Positionierungsvorrichtung angeordnet sein, die den Rotationsmessgeber oder die lineare Skala 10 verwendet.
  • Der Rotationsmessgeber oder die lineare Skala 10 gibt ein Signal einer Koordinate (sin, cos) aus, was eine Position eines beweglichen Körpers anzeigt, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt. Diese Koordinate (sin, cos) ist ein Wert einer Sinuswelle mit einer orthogonalen Phase. Der A/D-Wandler 40 wandelt das SIN-Signal und das COS-Signal von dem Rotationsmessgeber oder der linearen Skala 10 in digitale Signale. Die Kalkulationseinheit 50 empfängt die digitalen Signale basierend auf dem SIN-Signal bzw. dem COS-Signal von dem A/D-Wandler 40, und kalkuliert eine Winkelgeschwindigkeit oder eine Geschwindigkeit des beweglichen Körpers.
  • Während das FPGA als die Kalkulationseinheit 50 verwendet werden kann, kann eine beliebige andere LSI als die Kalkulationseinheit 50 an Stelle des FPGA verwendet werden. Falls die Kalkulationseinheit 50 als eine logische Schaltung in der kundenangepassten LSI realisiert ist, kann die Kalkulationseinheit 50 eine iterative Verarbeitung zum Wiederholen der gleichen Verarbeitung in einer kurzen Zeit durchführen. Alternativ kann die Kalkulationseinheit 50 durch eine Allzweck-CPU und Software realisiert sein. Falls die Kalkulationsein heit 50 durch eine Allzweck-CPU und Software realisiert ist, kann die Kalkulationseinheit 50 verschiedene Prozesse durch Ändern von Programmen durchführen.
  • 2 ist ein Blockdiagramm, das eine interne Konfiguration der Kalkulationseinheit 50 zeigt. Die Kalkulationseinheit 50 enthält eine CORDIC-Rotation (hierin nachstehend auch "Dreheinrichtung") 51, die als ein erster Kalkulator dient, eine CORDIC-Rotation 58, die als ein zweiter Kalkulator dient, Speicher 52 und 59, einen Rotationsrichtungsdiskriminator 53, Bereichsdiskriminatoren 54 und 55, Selektoren 56 und 57, erste bis vierte Register R11, R21, R31 und R41, ein Rotationswinkelregister 51, das als ein fünftes Register dient, ein Winkelgeschwindigkeitshalteregister R61 und einen Addierer 80, der als ein dritter Kalkulator dient.
  • 3 ist ein Diagramm, das eine Positionsbeziehung zwischen einer ersten tatsächlichen Koordinate (sinΘ, cosΘ) und einer zweiten tatsächlichen Koordinate (sin(Θ + Φ), cos(Θ + Φ)) zeigt. Die zweite tatsächliche Koordinate (sin(Θ + Φ), cos(Θ + Φ)) ist eine tatsächliche Koordinate, wenn der bewegliche Körper (z. B. Rotor) um Φ von der ersten tatsächlichen Koordinate (sinΘ, cosΦ) dreht, wie in 3 gezeigt. In einem Raum von 3 dreht der Rotor in einer CCW-(entgegen dem Uhrzeigersinn) Richtung (eine Pfeilrichtung in 3). Es ist zu vermerken, dass Einheiten von Θ und Φ Radian sind.
  • Mit Bezug auf 2 und 3 wird ein Prozess zum Kalkulieren einer Winkelgeschwindigkeit des Rotors, wenn der Rotor von der ersten tatsächlichen Koordinate zu der zweiten tatsächlichen Koordinate dreht, basierend auf dem SIN-Signal und dem COS-Signal beschrieben. Da die Geschwindigkeit des beweglichen Körpers, der eine Hin- und Herbewegung durchführt, einfach aus der Winkelgeschwindigkeit kalkuliert werden kann, wird hierin nur die Kalkulation der Winkelgeschwindigkeit beschrieben.
  • In der vorliegenden Ausführungsform wird ein CORDIC (KOordinaten-Rotations-Digital-Computer) Algorithmus verwendet, um die Winkelgeschwindigkeit zu kalkulieren. Der CORDIC-Algorithmus hat einen Vektorierungsmodus und einen Rotationsmodus. In der Ausführungsform wird der Rotationsmodus verwendet, und der CORDIC-Algorithmus ist in der Kalkulationseinheit 50 enthalten und wird durch eine logische Schaltung realisiert.
  • Um das Verständnis zu erleichtern, wird angenommen, dass der Rotationsmessgeber 10 eine Sinuswelle und eine Cosinuswelle in einem Zyklus ausgibt, wenn der Rotor, der als der bewegliche Körper dient, einmal rotiert. Die Geschwindigkeitserfassungsvorrichtung 100 tastet die Koordinate des Rotors periodisch (in Intervallen von Perioden T) in einem Zyklus ab. Die Geschwindigkeitserfassungsvorrichtung 100 erlangt eine zweidimensionale Koordinate (Euklidische Koordinate) (x1, y1) des Rotors durch eine erste Abtastung, und erlangt eine zweidimensionale Koordinate (x2, y2) durch eine zweite Abtastungszeit nach der ersten Abtastung. Werte x1 und x2 sind SIN-Werte, und y1 und y2 sind COS-Werte. Die Geschwindigkeitserfassungsvorrichtung 100 kalkuliert den Winkel Φ aus der Position des Rotors in der ersten Abtastungszeit zu der in der zweiten Abtastungszeit basierend auf den Koordinaten (x1, y1) und (x2, y2) unter Verwendung des CORDIC-Algorithmus. Da Abtastung in vorbestimmten Intervallen durchgeführt wird, kann die Winkelgeschwindigkeit des Rotors erhalten werden, falls der Winkel Φ kalkuliert wird.
  • Der Speicher 52 speichert darin eine Vielzahl von voreingestellten vorläufigen Winkeln Φ0 bis Φn0 > Φ1 > Φ2 > ... > Φn) (wobei n eine natürliche Zahl ist) und trigonometrische Funktionswerte tanΦ0 bis tanΦn entsprechend den jeweiligen vorläufigen Winkeln. In einem Anfangszustand der Geschwindigkeitserfassungsvorrichtung 100 sind keine spezifischen Werte in den ersten bis vierte Registern R11, R21, R31 und R41 gespeichert. Das fünfte Register R51 ist auf Null gesetzt. Das fünfte Register R51 wird in jeder Abtastung auf Null zurückgesetzt.
  • Zuerst empfängt die Kalkulationseinheit 50 die erste tatsächliche Koordinate (x1, y1) = (sinΘ, cosΘ), die durch die erste Abtastung erhalten wird von dem A/D-Wandler 50 als digitale Werte. Die erste Koordinate wird in dem zweiten Register R21 gespeichert.
  • In dem Anfangszustand sind die ersten, dritten und vierten Register R11, R31 und R41 instabil. Da kalkulierte Werte in dieser Zeit auf instabilen Werten beruhen, werden sie ausgeschlossen.
  • Als Nächstes führt die Kalkulationseinheit 50 die zweite Abtastung in einer nächsten Periode durch. Die Kalkulationseinheit 50 empfängt die zweite tatsächliche Koordinate (x2, y2) = (sin(Θ + Φ), cos(Θ + Φ)) des Rotors, die durch die zweite Abtastung erhalten wird, von dem A/D-Wandler 50 als digitale Werte. Zu dieser Zeit wird die erste tatsächliche Koordinate (sinΘ, cosΘ) zu dem ersten Register R11 verschoben, und die zweite tatsächliche Koordinate (sin(Θ + Φ), cos(Θ + Φ)) wird in dem zweiten Register R21 gespeichert.
  • Das dritte Register R31 ist noch instabil, wenn die Kalkulationseinheit 50 die zweite tatsächliche Koordinate (sin(Θ + Φ), cos(Θ + Φ)) empfängt. Deswegen wählt der Selektor 56 das erste Register R11, um die erste tatsächliche Koordinate (sinΘ, cosΘ) zu dem Bereichsdiskriminator 54 und der Dreheinrichtung 51 zu verschieben. Ferner ist das vierte Register R41 zu dieser Zeit noch instabil. Deswegen wählt der Selektor 57 das zweite Register R21, um die zweite tatsächliche Koordinate (sin(Θ + Φ), cos(Θ + Φ)) zu dem Bereichsdiskriminator 55 und der Dreheinrichtung 58 zu verschieben.
  • Die Dreheinrichtung 51 kalkuliert eine erste Kalkulationskoordinate (xxc1, yyc1) unter Verwendung der ersten Koordinate (x1, y1) = (sinΘ, cosΘ) und des trigonometrischen Funktionswertes tanΦ0 aus dem Speicher 52. Die Dreheinrichtung 58 kalkuliert eine zweite Kalkulationskoordinate (xxc1, yyc1) unter Verwendung der zweiten Koordinate (x2, y2) = (sin(Θ + Φ), cos(Θ + Φ)) und des trigonometrischen Funktionswertes tanΦ0 aus dem Speicher 59. Der spezifische Kalkulationsinhalt der Dreheinrichtung 51 und 58 wird später beschrieben. Da die Dreheinrichtungen 51 und 58 die Gleichungen 1 und 2 kalkulieren, was später beschrieben wird, werden die ersten und zweiten Kalkulationskoordinaten jeweils durch (xxci, yyci) ausgedrückt. Es ist jedoch zu vermerken, dass sich die erste Kalkulationskoordinate von der zweiten Kalkulationskoordinate unterscheidet. Das Symbol i ist gleich der Zahl von Kalkulationen, die durch jede der Dreheinrichtungen 51 und 58 bereits durchgeführt sind.
  • Das dritte Register R31 speichert die erste Kalkulationskoordinate (xxc1, yyc1). Das vierte Register R41 speichert die zweite Kalkulationskoordinate (xxci, yyci). Danach wählen die Selektoren 56 und 57 das dritte und vierte Register R31 bzw. R41, bis die Abtastungsoperation in der nächsten Periode durchgeführt ist. Die Dreheinrichtungen 51 und 58 wiederholen ähnliche Kalkulationen unter Verwendung jeweils der Koordinaten, die in den dritten und vierten Registern R31 und R41 gespeichert sind, und des trigonometrischen Funktionswertes tanΦ1. Kalkulationsergebnisse der Dreheinrichtungen 51 und 58 werden zu den dritten und vierten Registern R31 und R41 als die erste Kalkulationskoordinate (xxci, yyci) bzw. die zweite Kalkulationskoordinate (xxci, yyci) überschrieben. Auf diese Art und Weise kalkulieren die Dreheinrichtungen 51 und 58 die erste Kalkulationskoordinate bzw. die zweite Kalkulationskoordinate, während die trigonometrischen Funktionswerte tanΦ0, tanΦ1, tanΦ2, ..., tanΦi sequenziell verwendet werden. In den jeweiligen Kalkulationen entsprechend i = 0, 1, 2, ... kalkulieren die Dreheinrichtungen 51 und 58 die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate so, um sie einander näher zu bringen. Dadurch konvergieren die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate in eine Zwischenkoordinate (sin(Θ + Φ/2), cos(Θ + Φ/2)) zwischen den ersten und zweiten tatsächliche Koordinaten, wann immer die Dreheinrichtungen 51 und 58 Kalkulationen durchführen. Die Zwischenkoordinate wird für jede Abtastung entschieden und zu dem Rotationswinkelregister R51 übertragen. Daten, die in dem Rotationswinkelregister R51 gespeichert sind, werden für jede Abtastung aktualisiert.
  • Der Addierer 80 addiert einen vorläufigen Winkel +Φi oder –Φi zu einem vorläufigen Winkel +Φi-1 oder -Φi-1, die in dem Rotationswinkelhalteregister R51 gespeichert sind, und gibt das Additionsergebnis zu dem Rotationswinkelregister R41 zurück. Auf diese Weise addiert der Addierer 80 vorläufige Winkel +Φ0 oder –Φ0, +Φ1 oder –Φ1, +Φ2 oder –Φ2, ..., +Φn oder –Φn auf, und das Rotationswinkelhalteregister R51 hält den addierten vorläufigen Winkel. Wenn der vorläufige Winkel Φ1 konvergiert, ist der Winkel, der in dem Rotationswinkelhalteregister R51 gespeichert ist, gleich einem Rotationswinkel Φ/2 des Rotors von der ersten tatsächlichen Koordinate zu der Zwischenkoordinate. Der Rotationswinkel, der in dem Rotationswinkelhalteregister R51 gespeichert ist, wird für jede Abtastung aktualisiert. Die "Addition" bedeutet hierin eine Kalkulation durch Wiederholen von Addition oder Subtraktion mit Bezug auf ein vorheriges Kalkulationsergebnis. Z. B. kann der addierte vorläufige Winkel als Φ0 – Φ1 + Φ2 – Φ3 +... ausgedrückt werden.
  • Der tatsächliche Rotationswinkel des Motors kann durch Doppeln der Daten erhalten werden, die in dem Rotationswinkelregister R51 gespeichert sind. Um die Daten zu doppeln, ist es ausreichend, einen digitalen Wert um ein Bit nach links zu verschieben. "Nach links zu verschieben" bedeutet, eine Zahl eines gewissen numerischen Wertes in einer Richtung zu verschieben, in der der Wert ein größerer Wert wird. Entsprechend gibt es keine Notwendigkeit, zu dieser Zeit einen Multiplizierer für die Kalkulation zu verwenden. Diese Kalkulation kann durch ein beliebiges des Rotationswinkelregisters R51, des Winkelgeschwindigkeitshalteregisters R61 oder einer externen Schaltung außerhalb der Kalkulationseinheit 50 durchgeführt werden.
  • Da eine Abtastungsperiode zum Abtasten tatsächlicher Koordinaten fixiert ist, kann der Wert des Rotationswinkels Φ des Rotors als eine relative Winkelgeschwindigkeit verwendet werden wie er ist. Falls die Abtastungsperiode zum Abtasten tatsächlicher Koordinaten als eine Einheitszeit eingestellt ist, kann der Wert des Rotationswinkels Φ des Rotors als eine absolute Winkelgeschwindigkeit verwendet werden wie er ist. Die Winkelgeschwindigkeit ist in dem Winkelgeschwindigkeitshalteregister R61 gespeichert und wird ausgegeben, falls es notwendig ist dies zu tun. Die Winkelgeschwindigkeit, die in dem Winkelgeschwindigkeitshalteregister R61 gespeichert ist, wird für jede Abtastung aktualisiert.
  • Alternativ kann der Addierer 80 die Zwischenkoordinate (sin(Θ + Φ/2), cos(Θ + Φ/2)) von der Dreheinrichtung 58 erlangen. Dies ist so, da die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate in die gleiche Zwischenkoordinate konvergieren.
  • Der Bereichsdiskriminator 54 unterscheidet, ob der Bereich der Bereich ist, zu dem die erste tatsächliche Koordinate, die in dem ersten Register R11 gespeichert ist, gehört, oder der Bereich, zu dem die erste tatsächliche Koordinate, die in dem dritten Register R31 gespeichert ist, gehört. Der Bereichsdiskriminator 54 unterscheidet nämlich den Bereich, zu dem die Koordinate gehört, die durch den Selektor 56 ausgewählt wird. Der Bereichsdiskriminator 55 unterscheidet, ob der Bereich der Bereich ist, zu dem die zweite tatsächliche Koordinate, die in dem zweiten Register R21 gespeichert ist, gehört, oder der Bereich, zu der die zweite tatsächliche Koordinate, die in dem vierten Register R41 gespeichert ist, gehört. Der Bereichsdiskriminator 55 unterscheidet nämlich den Bereich, zu dem die Koordinate gehört, die durch den Selektor 57 ausgewählt wird.
  • Der spezifische Kalkulationsinhalt der Dreheinrichtungen 51 und 58 wird als Nächstes beschrieben. Die ersten und zweiten Kalkulationskoordinatenn (xxci, yyci) können durch die folgenden Gleichungen 1 bzw. 2 ausgedrückt werden. Der Komparator 53 wählt eine der Gleichungen 1 und 2 basierend auf Unterscheidungsergebnissen der Diskriminatoren 54 und 55. Die Dreheinrichtungen 51 und 58 führen jeweils Kalkulationen der Gleichungen 1 und 2 basierend auf einem Vergleichsergebnis des Komparators 53 aus. Die Dreheinrichtung 58 empfängt ein invertiertes Signal mit Bezug auf das Vergleichsergebnis des Komparators 53 über einen Invertierer 60. Entsprechend führt die Dreheinrichtung 58 eine Kalkulation so aus, um die zweite tatsächliche Koordinate oder die zweite Kalkulationskoordinate in einer Richtung entgegengesetzt zu einer Bewegungsrichtung der ersten tatsächliche Koordinate oder der ersten Kalkulationskoordinate zu verschieben.
  • Figure 00150001
  • In den Gleichungen 1 und 2 ist tanΦi = 2–i (i = 0, 1, 2, ..., n). Falls i = 0 ist, ist die erste tatsächliche Koordinate, die ein Anfangswert ist, der der Dreheinrichtung 51 zu geben ist, xxci-1 = x1 und yyci-1 = y1. Die zweite tatsächliche Koordinate, die ein Anfangswert ist, der der Dreheinrichtung 58 zu geben ist, ist xxci-1 = x2 und yyci-1 = y2. Es werden die Gleichungen 1 und 2 beschrieben. Zuerst können die erste tatsächliche Koordinate und die zweite tatsächliche Koordinate durch die folgenden Gleichungen 3 bis 6 ausgedrückt werden. x(i-1) = cosΘ (Gl. 3) y(i-1) = sinΘ (Gl. 4) x(i) = cos(Θ + Φ) (Gl. 5) y(i) = sin(Θ + Φ) (Gl. 6)
  • Die Gleichungen 5 und 6 werden in die folgenden Gleichungen 7 bzw. 8 transformiert, unter Verwendung des Additionstheorems der trigonometrischen Funktion. x(i) = cosΘ·cosΦ – sinΘ·sinΦ (Gl. 7) y(i) = sinΘ·cosΦ + cosΘ·sinΦ (Gl. 8)
  • Durch Zuweisen der Gleichungen 3 und 4 zu den Gleichungen 7 und 8, um die Gleichungen 3 und 4 zu transformieren, werden jeweils die folgenden Gleichungen 9 und 12 erhalten. x(i)/cosΦ = x(i-1) – y(i-1)·tanΦ (Gl. 9) y(i)/cosΦ = y(i-1) + x(i-1)·tanΦ (Gl. 10)
  • Falls angenommen wird, dass x(i)/cosΦ durch xxc(i) ersetzt wird und y(i)/cosΦ durch yyc(i) ersetzt wird, können die Gleichungen 9 und 10 jeweils als die folgenden Gleichungen 9' und 10' ausgedrückt werden. xxc(i) = x(i-1) – y(i-1)·tanΦ (Gl. 9') yyc(i) = y(i-1) + x(i-1)·tanΦ (Gl. 10')
  • In diesem Moment wird der CORDIC-Algorithmus verwendet. Genauer ist der Wert von tanΦ auf +2–i oder –2–i begrenzt, wie in der Gleichung 11 gezeigt. Der auf diese Weise begrenzte tanΦ wird durch "tanΦi" bezeichnet. tanΦi = ±2–i = ±1, ±2–1, +2–2, ... (i = 0,1,2, ... n) (Gl. 11)
  • In diesem Fall ist der mögliche Wert von Φi begrenzt, wie in der Gleichung 12 gezeigt. Dieser Winkel Φi ist ein diskreter numerischer Wert und ein "vorläufiger Winkel". Φi = tan–1(±2–i) = ±0,78 rad, ±0,46 rad, ±0,25 rad, ±0,12 rad (Gl. 12)
  • Durch Zuweisen des trigonometrischen Funktionswertes tanΦi zu den Gleichungen 9 und 10 kann die Kalkulationskoordinate erhalten werden. Anfangswerte (i = 0) der jeweiligen Dreheinrichtungen 51 und 58 sind die erste tatsächliche Koordinate (x1, y1), die in dem ersten Register R11 gespeichert ist, und die zweite tatsächliche Koordinate (x2, y2), die in dem zweiten Register R21 gespeichert ist, die jeweils in 2 gezeigt werden. Die Anfangswerte der Dreheinrichtungen 51 und 58 sind nämlich (xxc(0)), xxc(0)) = (x1, y1) bzw. (xxc(0), xxc(0)) = (x2, y2). Die ersten und zweiten tatsächlichen Koordinaten sind durch die ersten und zweiten Abtastungsoperationen bekannt.
  • (Erste Kalkulation (i = 0))
  • Die Dreheinrichtung 51 führt zuerst eine Kalkulation aus, in der die erste tatsächliche Koordinate (x1, y1) jeder der Gleichungen 9 und 10 als ein Anfangswert zugewiesen wird. Die Dreheinrichtung 51 führt nämlich Kalkulationen der folgenden Gleichungen 13 und 14 aus. Zu dieser Zeit wählt der Selektor 56 das erste Register R11. xxc1 = x1 – y1·tanΦ0 (Gl. 13) yyc1 = y1 + x1·tanΦ0 (Gl. 14)
  • Wie in der Gleichung 11 gezeigt, ist tanΦi = +2–i oder –2–i. Entsprechend ist es ausreichend, dass die Dreheinrichtung 51 einfach Zahlen von y1 und x1 verschiebt, die als digitale Werte (binäre Werte) ausgedrückt werden basierend auf dem trigonometrischen Funktionswert tanΦi = +2–i oder –2–i für Multiplikationsterme (y1·tanΦ0) und (x1·tanΦ0), die in den jeweiligen Gleichungen 13 und 14 enthalten sind. Mit anderen Worten ist es für die Dreheinrichtung 51 nicht notwendig, tatsächlich eine Multiplikation durchzuführen. Dadurch kann auf eine Einbeziehung eines Multiplizierers in die Dreheinrichtung 51 verzichtet werden. Wegen tanΦ0 = 1 verschiebt die Dreheinrichtung 51 jedoch nicht die Zahlen von y1 und x1 in der ersten Kalkulation, die durch die Gleichungen 13 und 14 angezeigt wird. Danach führt die Dreheinrichtung 51 eine Addition oder eine Subtraktion zwischen x1 oder y1 und dem resultierenden Wert von jedem der Multiplikationsterme durch. Die Dreheinrichtung 51 kann dadurch die Gleichungen 13 und 14 kalkulieren, ohne eine Multiplikation durchzuführen.
  • Unterdessen führt die Dreheinrichtung 58 zuerst eine Kalkulation aus, in der die zweite tatsächliche Koordinate (x2, y2) jeder der Gleichungen 9 und 10 als ein Anfangswert zugewiesen wird. Die Dreheinrichtung 58 führt nämlich Kalkulationen der folgenden Gleichungen 15 und 16 aus. Zu dieser Zeit wählt der Selektor 57 das zweiten Register R21. xxc1 = x2 + y2·tanΦ0 (Gl. 15) yyc1 = y2 – x2·tanΦ0 (Gl. 16)
  • Ähnlich zu der Dreheinrichtung 51 ist es für die Dreheinrichtung 58 nicht notwendig, eine Multiplikation durchzuführen, um Multiplikationsterme (y2·tanΦ0) und (x2·tanΦ0) zu kalkulieren, die in den jeweiligen Gleichungen 15 und 16 enthalten sind. Es ist ausreichend, dass die Dreheinrichtung 58 einfach Zahlen von y2 und x2 verschiebt, die als digitale Werte (binäre Werte) ausgedrückt sind. Dadurch kann auf eine Einbeziehung eines Multiplizierers in die Dreheinrichtung 58 verzichtet werden. Wegen tanΦ0 = 1 verschiebt jedoch die Dreheinrichtung 58 die Zahlen von y1 und x1 in der ersten Kalkulation nicht, die durch die Gleichungen 15 und 16 angezeigt werden. Danach führt die Dreheinrichtung 58 eine Addition oder eine Subtraktion zwischen x2 oder y2 und dem resultierenden Wert von jedem der Multiplikationsterme durch. Die Dreheinrichtung 58 kann dadurch die Gleichungen 15 und 16 kalkulieren, ohne eine Multiplikation durchzuführen.
  • (Zweite und folgende Kalkulationen (i = 1, ...))
  • In der zweiten und den folgenden Kalkulationen verwenden die Dreheinrichtungen 51 und 58 die Gleichung 1 oder 2.
  • Die erste Kalkulationskoordinate (xxc1, yyc1), die durch die Dreheinrichtung 51 kalkuliert wird, wird in dem dritten Register R31 gespeichert. Danach wählt der Selektor 56 das dritte Register R31 und überträgt die erste Kalkulationskoordinate (xxc1, yyc1) zu der Dreheinrichtung 51. Die Drehein richtung 51 wiederholt Kalkulationen durch Zuweisen der ersten Kalkulationskoordinate (xxc1, yyc1) zu xxci-1 bzw. yyci-1 in Gleichung 1 oder 2. Dadurch wird die erste Kalkulationskoordinate (xxc2, yyc2) erhalten. Die erste Kalkulationskoordinate (xxc2, yyc2) wird zu dem dritten Register R31 in Stelle (xxc1, yyc1) überschrieben. Die Dreheinrichtung 51 kalkuliert nämlich die Gleichungen 13 und 14 in der ersten Kalkulation, und kalkuliert wiederholt die Gleichung 1 oder 2 in den folgenden Kalkulationen.
  • Um Multiplikationsterme (yyci-1·tanΦ0) und (xxci-1·tanΦ0) zu kalkulieren, die in den jeweiligen Gleichungen 1 und 2 enthalten sind, ist es ausreichend, dass die Dreheinrichtung 51 einfach Zahlen von yyci-1 und xxci-1 verschiebt, die als digitale Werte (binäre Werte) ausgedrückt sind, basierend auf dem trigonometrischen Funktionswert tanΦi = +2–i oder –2–i. In der vorliegenden Ausführungsform verschiebt die Dreheinrichtung 51 die Zahlen von yyci-1 und xxci-1 um i nach rechts. "Nach rechts verschieben" bedeutet, eine Zahl eines gewissen numerischen Wertes in einer Richtung zu verschieben, in der der Wert ein kleinerer Wert wird. Entsprechend ist es für die Dreheinrichtung 51 nicht notwendig, tatsächlich eine Multiplikation für die Gleichungen 1 und 2 durchzuführen. Danach führt die Dreheinrichtung 51 eine Addition oder eine Subtraktion zwischen xxci-1 oder yyci-1 und dem resultierenden Wert von jedem der Multiplikationsterme durch. Die Dreheinrichtung 51 kann dadurch die Gleichungen 1 und 2 kalkulieren, ohne eine Multiplikation durchzuführen. Da sich der Wert i um eins für jede Kalkulation erhöht, erhöht sich ein Verschiebungsbetrag des Multiplikationsterms für jede Kalkulation. Die Kalkulationskoordinate (xxci, yyci) konvergiert dadurch in jeder Kalkulation. Der vorläufige Winkel Φi, der in der Kalkulation verwendet wird, wird dem Rotationswinkelregister R51 für jede Kalkulation hinzugefügt.
  • Außerdem wird die zweite Kalkulationskoordinate (xxc1, yyc1), die durch die Dreheinrichtung 58 kalkuliert wird, in dem vierten Register R41 gespeichert. Danach wählt der Selektor 57 das vierte Register R41 und überträgt die zweite Kalkulationskoordinate (xxc1, yyc1) zu der Dreheinrichtung 58. Die Dreheinrichtung 58 wiederholt Kalkulationen durch Zuweisen jeweils der zweiten Kalkulationskoordinate (xxc1, yyc1) zu xxi-1 bzw. yyi-1 in der Gleichung 1 oder 2. Dadurch wird die zweite Kalkulationskoordinate (xxc2, yyc2) erhalten. Die Dreheinrichtung 58 kalkuliert nämlich die Gleichungen 15 und 16 in der ersten Kalkulation, und kalkuliert wiederholt die Gleichung 1 oder 2 in den folgenden Kalkulationen.
  • Ähnlich wie bei der Dreheinrichtung 51 ist es für die Dreheinrichtung 58 nicht notwendig, eine Multiplikation für die Gleichungen 1 und 2 durchzuführen. Danach führt die Dreheinrichtung 58 eine Addition oder eine Subtraktion zwischen xxci-1 oder yyci-1 und dem resultierenden Wert von jedem der Multiplikationsterme durch. Die Dreheinrichtung 58 kann dadurch die Gleichungen 1 und 2 kalkulieren, ohne eine Multiplikation durchzuführen.
  • Der Grund zum Ersetzen von x(i)/cosΦ durch xxc(i) und y(i)/cosΦ durch yyc(i) in den Gleichungen 9 und 10 besteht darin, eine Multiplikation von cosΦ aus der Kalkulation auszuschließen. Durch ein derartiges Ersetzen ist es für die Dreheinrichtung im wesentlichen unnötig, eine Multiplikation durchzuführen. Es ist zu vermerken, dass das Ergebnis (xxc1, yyc2), das als die Kalkulationskoordinate erhalten wird, ein Wert ist, der durch Dividieren der Koordinaten durch cosΦ erhalten wird. Dies ist nur das Kalkulationsergebnis in dem Verlauf der Kalkulation und zulässig, solange wie schließlich der Winkel Φ/2 erhalten wird.
  • Die Dreheinrichtungen 51 und 58 führen Kalkulationsoperationen gleichzeitig durch, um die Operationszeit zu reduzieren. Vorzeichen + und – in den Gleichungen 13 bis 16 sind häufig entgegengesetzt gesetzt.
  • Der diskrete numerische Wert für jedes i in den Gleichungen 11 und 12 wird im voraus gesetzt und in den Speichern 52 und 59 gespeichert. Die Speicher 52 und 59 speichern nämlich den vorläufigen Winkel Φi und den trigonometrischen Funktionswert tanΦi entsprechend dem vorläufigen Winkel Φi für jedes i.
  • Jede der Dreheinrichtungen 51 und 58 erlangt den numerischen Wert, der in jedem der Speicher 52 und 59 gespeichert ist und durch die Gleichung 11 ausgedrückt wird. Die Dreheinrichtungen 51 und 58 kalkulieren die ersten und zweiten Kalkulationskoordinaten (xxci, yyci), die jeweils durch die Gleichung 1 oder 2 ausgedrückt werden für jedes i in der Ordnung von i = 0, 1, 2, ...
  • Die Gleichung 1 ist eine Gleichung, falls der vorläufige Winkel Φi positiv ist, wohingegen die Gleichung 2 eine Gleichung ist, falls der vorläufige Winkel Φi negativ ist. Der vorläufige Winkel Φi in den Gleichungen 1 und 2 wird als der Absolutwert dargestellt. D. h. die Gleichung 2 ist eine Gleichung, die durch Zuweisen von –Φi zu dem vorläufigen Winkel Φi in der Gleichung 1 erhalten wird. Falls der vorläufige Winkel Φi positiv ist (+Φi), verschieben die Dreheinrichtungen 51 und 59 die jeweiligen Kalkulationskoordinaten in einer Richtung entgegen dem Uhrzeigersinn (CCW), was in 4 gezeigt wird. Falls der vorläufige Winkel Φi negativ ist (–Φi), verschieben die Dreheinrichtungen 51 und 59 die jeweiligen Kalkulationskoordinaten in einer Richtung im Uhrzeigersinn (CW), was in 4 gezeigt wird. Jede der Dreheinrichtungen 51 und 58 wählt eine der Gleichungen 1 und 2 gemäß dem Signal, das von dem Rotationsrichtungsdiskriminator 53 übertragen wird.
  • Die Dreheinrichtungen 51 und 58 kalkulieren abwechselnd oder komplementär die Gleichungen 1 und 2 in der Ordnung von i = 0, 1, 2, ..., sodass die erste und zweite Kalkulationskoordinate einander näher sind. Wenn nämlich die Dreheinrichtung 51 die Gleichung 1 kalkuliert, kalkuliert die Dreheinrichtung 58 die Gleichung 2. Wenn die Dreheinrichtung 51 die Gleichung 2 kalkuliert, kalkuliert die Dreheinrichtung 58 die Gleichung 1. Falls eine der Bewegungsrichtung der ersten Kalkulationskoordinate und die der zweiten Kalkulationskoordinate entschieden ist, wird die andere entsprechend entschieden. Es ist deshalb ausreichend, einen Rotationsrichtungsdiskriminator 53 vorzusehen.
  • Wie in der Gleichung 12 ausgedrückt, ist der vorläufige Winkel Φi kleiner, falls i größer ist. Deswegen können, wie in 4 gezeigt, die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate in die Zwischenkoordinate zwischen der ersten tatsächlichen Koordinate (x1, y1) und der zweiten tatsächlichen Koordinate (x2, y2) konvergieren. Die Dreheinrichtungen 51 und 58 kalkulieren die Gleichungen 1 und 2, sodass die erste und zweite Kalkulationskoordinate einander näher sind. Deswegen wird der vorläufige Winkel Φi die Hälfte des tatsächlichen Rotationswinkels (Φ/2) als ein Ergebnis der Konvergenz. Die Addition des vorläufigen Winkels +Φi oder –Φi geschieht, indem der Addierer 80 veranlasst wird, Kalkulationsergebnisse der Dreheinrichtung 51, die in dem Register R51 gespeichert sind für die jeweiligen Kalkulationen, die durch die Dreheinrichtung 51 durchgeführt werden, aufzuaddieren. Gleichermaßen kann die Addition des vorläufigen Winkels +Φi oder –Φi durchgeführt werden, indem der Addierer 80 veranlasst wird, Kalkulationsergebnisse der Dreheinrichtung 58 für die jeweiligen Kalkulationen, die durch die Dreheinrichtung 58 durchgeführt werden, aufzuaddieren.
  • Mit Bezug auf 4 wird eine Operation, die durch die Kalkulationseinheit 50 durchgeführt wird, konzeptionell beschrieben. Zuerst dreht die Dreheinrichtung 51 die erste tatsächliche Koordinate (x1, y1) um Φ0 in der CCW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 51 die Gleichungen 13 und 14, wobei dadurch die erste Kalkulationskoordinate (xxc1, yyc1) kalkuliert wird. Die CCW ist eine Richtung von der ersten tatsächlichen Koordinate (x1, y1) zu der zweiten tatsächlichen Koordinate (x2, y2).
  • Zur gleichen Zeit dreht die Dreheinrichtung 58 die zweite tatsächliche Koordinate (x2, y2) um Φ0 in der CW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 58 die Gleichungen 15 und 16, wobei dadurch jeweils die zweite Kalkulationskoordinate (xxc1, yyc1) kalkuliert wird. Die CW ist eine Richtung von der zweiten tatsächlichen Koordinate (x2, y2) zu der ersten tatsächlichen Koordinate (x1, y1). Als ein Ergebnis kalkulieren die Dreheinrichtungen 51 und 58 die relevanten Gleichungen, um die erste tatsächliche Koordinate und die zweite tatsächliche Koordinate jeweils in einer Richtung zu drehen, in der die erste tatsächliche Koordinate und die zweite tatsächliche Koordinate einander näher sind (in einer Richtung, in der sie einander gegenüberliegen).
  • Als Nächstes dreht die Dreheinrichtung 51 die erste Kalkulationskoordinate (xxc1, yyc1) um Φ1 in der CW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 51 die Gleichung 2 (i = 1), wobei dadurch die erste Kalkulationskoordinate neu kalkuliert wird.
  • Zur gleichen Zeit dreht die Dreheinrichtung 58 die zweite Kalkulationskoordinate (xxc2, yyc2) um Φ1 in der CCW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 58 die Gleichung 1 (i = 1), wobei dadurch die zweite Kalkulationskoordinate neu kalkuliert wird.
  • Als Nächstes dreht die Dreheinrichtung 51 die erste Kalkulationskoordinate (xxc1, yyc1) um Φ1 in der CW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 51 die Gleichung 2 (i = 1), wobei dadurch die erste Kalkulationskoordinate (xxc1, yyc1) neu kalkuliert wird. Zur gleichen Zeit dreht die Dreheinrichtung 58 die zweite Kalkulationskoordinate (xxc2, yyc2) um Φ1 in der CCW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 58 die Gleichung 1 (i = 1), wobei dadurch die zweite Kalkulationskoordinate (xxc2, yyc2) neu kalkuliert wird.
  • Als Nächstes dreht die Dreheinrichtung 51 die erste Kalkulationskoordinate (xxc1, yyc1) um Φ2 in der CCW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 51 die Gleichung 2 (i = 2), wobei dadurch die erste Kalkulationskoordinate (xxc1, yyc1) neu kalkuliert wird. Zur gleichen Zeit dreht die Dreheinrichtung 58 die zweite Kalkulationskoordinate (xxc2, yyc2) um Φ2 in der CW-Richtung. Tatsächlich kalkuliert die Dreheinrichtung 58 die Gleichung 2 (i = 2), wobei dadurch die zweite Kalkulationskoordinate (xxc2, yyc2) neu kalkuliert wird.
  • Wie in der Gleichung 12 ausgedrückt, ist der vorläufige Winkel Φi kleiner, falls i größer ist. Ferner kalkulieren die Dreheinrichtungen 51 und 58 die relevanten Gleichungen, um die erste tatsächliche Koordinate und die zweite tatsächliche Koordinate jeweils in der Richtung zu drehen, in der die erste tatsächliche Koordinate und die zweite tatsächliche Koordinate einander näher sind (in der Richtung, in der sie einander gegenüberliegen). Deswegen können die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate in die Zwischenkoordinate (sin(Θ + Φ/2), cos(Θ + Φ/2)) konvergieren, wann immer die Dreheinrichtungen 51 und 58 Kalkulationen wiederholen. Wenn die erste Kalkulationskoordinate und die zweite Kalkulationskoordinate in die Zwischenkoordinate (sin(Θ + Φ/2), cos(Θ + Φ/2)) konvergieren, ist der vorläufige Winkel Φi nahezu gleich Φ/2.
  • Als Nächstes wird ein Verfahren beschrieben, um den Rotationsrichtungsdiskriminator 53 zu veranlassen, die Richtung CW oder CCW (die Gleichung 1 oder 2) auszuwählen.
  • 5 ist ein Diagramm, das acht Bereiche zeigt, die geteilte Bereiche eines Koordinatensystems sind. 6 ist ein Flussdiagramm, das eine Verarbeitung zum Unterscheiden zeigt, zu welchem von Bereichen I bis VIII, die in 5 gezeigt werden, eine gewisse Koordinate (x, y) gehört. Die Diskriminatoren 54 und 55 unterscheiden, zu welchem der Bereiche I bis VIII, die in 5 gezeigt werden, die ersten und zweiten Kalkulationskoordinaten jeweils gehören. Um zu unterscheiden, zu welchem der Bereiche I bis VIII die erste tatsächliche Koordinate gehört, kann der Diskriminator 54 (x1, y1) zu (x, y) zuweisen, was in 6 gezeigt wird. Um zu unterscheiden, zu welchem der Bereiche I bis VIII die zweite tatsächliche Koordinate gehört, kann der Diskriminator 55 (x2, y2) zu (x, y) zuweisen, was in 6 gezeigt wird. Um zu unterscheiden, zu welchem der Bereiche I bis VII die erste oder zweite Kalkulationskoordinate gehört, kann der Diskriminator 54 oder 55 (xxci, yyci) zu (x, y) zuweisen, was in 6 gezeigt wird.
  • Falls in Schritt S11 bzw S12 bestimmt wird, dass x > 0 und y > 0 sind, gehört die Koordinate (x, y) zu dem Bereich I oder II, die in 5 gezeigt werden. Falls in Schritt S13 bestimmt wird, dass x ≥ y ist, gehört die Koordinate (x, y) zu dem Bereich I. Falls in Schritt S13 bestimmt wird, dass x ≤ y ist, gehört die Koordinate (x, y) zu dem Bereich II.
  • Falls in den Schritten S11 bzw. S12 bestimmt wird, dass x > 0 und y ≤ 0 sind, gehört die Koordinate (x, y) zu dem Bereich VII oder VIII, die in 5 gezeigt werden. Falls in Schritt S14 bestimmt wird, dass |x| ≥ |y| ist, gehört die Koordinate (x, y) zu dem Bereich VIII. Falls in Schritt S14 bestimmt wird, dass |x| < |y| ist, gehört die Koordinate (x, y) zu dem Bereich VII.
  • Falls in den Schritten S11 bzw. S15 bestimmt wird, dass x ≤ 0 und y > 0 sind, gehört die Koordinate (x, y) zu dem Bereich III oder IV, die in 5 gezeigt werden. Falls in einem Schritt S16 bestimmt wird, dass |x| ≥ |y| ist, gehört die Koordinate (x, y) zu dem Bereich IV. Falls in dem Schritt S16 bestimmt wird, dass |x| < |y| ist, gehört die Koordinate (x, y) zu dem Bereich III.
  • Falls in den Schritten S11 bzw. S15 bestimmt wird, dass x≤0 und y ≤ 0 sind, gehört die Koordinate (x, y) zu dem Bereich V oder VI, die in 5 gezeigt werden. Falls in einem Schritt S17 bestimmt wird, dass |x|≥|y| ist, gehört die Koordinate (x, y) zu dem Bereich V. Falls in dem Schritt S17 bestimmt wird, dass |x|<|y| ist, gehört die Koordinate (x, y) zu dem Bereich VI.
  • Die Bereichsdiskriminatoren 54 und 55 können durch eine kundenangepasste LSI gebildet werden, wie etwa eine ASIC (anwendungsspezifische integrierte Schaltung), um den in 6 gezeigten Fluss auszuführen.
  • 7A und 7B sind Tabellen zum Spezifizieren von Rotationsrichtungen (CCW oder CW) der ersten und zweiten Kalkulationskoordinaten basierend auf den Bereichen, zu denen die ersten und zweiten tatsächlichen Koordinaten oder die ersten und zweiten Kalkulationskoordinaten gehören. Der Rotationsrichtungsdiskriminator 53 wählt die Operationsgleichung (die Gleichung 1 oder 2), die durch die Dreheinrichtungen 51 und 58 verwendet werden, gemäß den Tabellen von 7A und 7B.
  • In 7A und 7B zeigt "Ziel" einen Bereich an, zu dem eine Zielkoordinate gehört. Eine der ersten tatsächlichen Koordinate und der zweiten tatsächlichen Koordinate erachtet die andere als ein Ziel. "Vorherige" in 7A und 7B zeigt einen Bereich an, zu dem die Kalkulationskoordinate (xxci-1, yyci-1), die durch eine vorherige Kalkulation erhalten wird, gehört. In der ersten Kalkulation zeigt die "vorherige "die erste tatsächliche Koordinate oder die zweite tatsächliche Koordinate an. Falls z. B. die erste tatsächliche Koordinate zu dem Bereich I gehört, und die zweite tatsächliche Koordinate zu dem Bereich II gehört, ist das Ziel der ersten tatsächlichen Koordinate der Bereich II. Entsprechend wählt der Rotationsrichtungsdiskriminator 53 die Rotationsrichtung CCW entsprechend dem "Ziel"-Bereich von II und dem "vorherigen" Bereich von I. Der Rotationsrichtungsdiskriminator 53 überträgt nämlich ein Signal, sodass die Dreheinrichtung 51 die Gleichung 1 auswählt. Zu dieser Zeit wählt die Dreheinrichtung 58 die Gleichung 2.
  • Falls die erste Kalkulationskoordinate zu dem Bereich II gehört, und die zweite Kalkulationskoordinate zu dem Bereich I gehört für i = 1, ist gleichermaßen das Ziel der ersten Kalkulationskoordinate der Bereich I. Entsprechend wählt der Rotationsrichtungsdiskriminator 53 die Rotationsrichtung CW entsprechend dem "Ziel"-Bereich von I und dem "vorherigen" Bereich von II. Der Rotationsrichtungsdiskriminator 53 überträgt nämlich ein Signal, sodass die Dreheinrichtung 51 die Gleichung 2 auswählt. Zu dieser Zeit wählt die Dreheinrichtung 58 die Gleichung 1.
  • Falls die ersten und zweiten tatsächlichen Koordinaten zu dem gleichen Bereich gehören, wird x1 mit x2 verglichen, oder y1 wird mit y2 verglichen. Falls z. B. die ersten und zweiten tatsächlichen Koordinaten beide zu dem Bereich I gehören, wird y1 mit y2 verglichen. Falls y1 < y2 ist, wird die erste tatsächliche Koordinate in der CCW-Richtung gedreht, und die zweite tatsächliche Koordinate wird in der CW-Richtung gedreht.
  • Falls die ersten und zweiten Kalkulationskoordinaten zu dem gleichen Bereich gehören, wird xxci in der ersten Kalkulationskoordinate mit xxci in der zweiten Kalkulationskoordinate verglichen. Alternativ wird yyci in der ersten Kalkulationskoordinate mit yyci in der zweiten Kalkulationskoordinate verglichen. Falls z. B. die ersten und zweiten Kalkulationskoordinaten beide zu dem Bereich I für i = 1 gehören, wird xxci in der ersten Kalkulationskoordinate mit xxci in der zweiten Kalkulationskoordinate verglichen. Falls xxc1 in der ersten Kalkulationskoordinate größer als xxc1 in der zweiten Kalkulationskoordinate ist, wird die erste Kalkulationskoordinate in der CCW-Richtung gedreht, und die zweite Kalkulationskoordinate wird in der CW-Richtung gedreht.
  • Selbst wenn die ersten und zweiten tatsächlichen Koordinaten zu dem gleichen Bereich gehören, oder die ersten und zweiten Kalkulationskoordinaten zu dem gleichen Bereich gehören, kann auf diese Art und Weise der Rotationsdiskriminator 53 die Gleichung 1 oder 2 akkurat auswählen.
  • Der Rotationsrichtungsdiskriminator 53 kann durch eine kundenangepasste LSI, wie etwa eine ASIC, für Auswahlbedingungen gebildet werden, die in 7A und 7B gezeigt werden.
  • In der vorliegenden Ausführungsform kalkuliert die Geschwindigkeitserfassungsvorrichtung 100 die Winkelgeschwindigkeit des Rotors. Alternativ kann die Geschwindigkeitserfassungsvorrichtung 100 auf einen beweglichen Körper angewendet werden, der eine Hin- und Herbewegung durchführt. In dieser Alternative ist es ausreichend, dass die Geschwindigkeitserfassungsvorrichtung 100 die Winkelgeschwindigkeit, die durch das FPGA 50 erhalten wird, in die Geschwindigkeit des beweglichen Körpers wandeln kann.
  • Gemäß der vorliegenden Ausführungsform kann die Geschwindigkeitserfassungsvorrichtung 100 den Rotationswinkel erfassen, indem nur die Addition oder Subtraktion für das SIN-Signal und das COS-Signal durchgeführt wird, ohne dass die Division oder die Multiplikation durchgeführt werden, die herkömmlich und nachteiliger Weise die Genauigkeit für Geschwindigkeitserfassung verschlechtern. Die Geschwindigkeitserfassungsvorrichtung 100 kann deshalb eine Erfassung hoher Genauigkeit sicherstellen. In diesem Fall enthält jede der Gleichungen 1 und 2 den Multiplikationsterm, der ein Vielfaches von tanΦi ist. Da jedoch tanΦi = 2–1 ist, ist die Multiplikation von tanΦi äquivalent zu der Verschiebung des digitalen Wertes von xxci-1 oder yyci-1 um i Bit nach rechts. Entsprechend enthält jede der Dreheinrichtungen 51 und 58 nicht tatsächlich einen Multiplizierer, sondern enthält nur eine Schaltung, die die Zahl des digitalen Wertes reduziert.
  • Um eine arithmetische Schaltung durch eine logische Schaltung zu realisieren, sind im allgemeinen der Teiler und der Multiplizierer weit größer im Schaltungsmaßstab als der Addierer und der Subtrahierer. In der vorliegenden Ausführungsform enthält das FPGA 50 die zwei Dreheinrichtungen. Durch Beseitigen des Teilers und des Multiplizierers aus jeder der Dreheinrichtungen ist der gesamte Schaltungsmaßstab ziemlich klein. Ferner kann das FPGA 50 gemäß der Ausführungsform durch die kundenangepasste logische LSI einfach realisiert werden, da das FPGA 50 den Teiler und den Multiplizierer nicht enthält. Jede der Dreheinrichtungen 51 und 58 in der Ausführungsform kalkuliert wiederholt die einfache Gleichung, wie oben angegeben. Die kundenangepasste logische LSI ist geeignet, eine derartige einfache Kalkulation bei hoher Geschwindigkeit durchzuführen. Deshalb kann das FPGA 50 gemäß der Ausführungsform eine Beschleunigung der Operationsgeschwindigkeit durch Verwenden der kundenangepassten logischen LSI realisieren. Mit anderen Worten ist das FPGA 50 gemäß der Ausführungsform besonders effektiv, falls das FPGA 50 durch die logische LSI realisiert ist.
  • In der vorliegenden Ausführungsform kann das Rotationswinkelregister R51 einen Wert halten, der durch Doppeln des vorläufigen Winkels für jede Kalkulation der Dreheinrichtung 51 erhalten wird. In diesem Fall kann der Wert, der durch den Addierer 80 kalkuliert, in dem Rotationswinkelregister R51 gespeichert wird, und dem vorläufigen Winkel entspricht als der Rotationswinkel des Rotors betrachtet werden wie er ist.

Claims (18)

  1. Eine Geschwindigkeitserfassungsvorrichtung zum regelmäßigen Abtasten einer Koordinate, die eine Position eines beweglichen Körpers anzeigt, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt, und Erfassen einer Winkelgeschwindigkeit des beweglichen Körpers basierend auf der Koordinate, umfassend: einen Speicher, der eine Vielzahl von voreingestellten vorläufigen Winkeln und einen trigonometrischen Funktionswert entsprechend jedem der voreingestellten vorläufigen Winkel speichert; ein erstes Register, das eine erste tatsächliche Koordinate (x1, y1) des beweglichen Körpers speichert, die durch eine erste Abtastung erhalten wird; ein zweites Register, das eine zweite tatsächliche Koordinate (x2, y2) des beweglichen Körpers speichert, die durch eine zweite Abtastung als Nächstes zu der ersten Abtastung erhalten wird; einen ersten Kalkulator, der eine erste Kalkulationskoordinate kalkuliert, die dargestellt wird durch eine Addition oder eine Subtraktion zwischen x1 und einem Wert, der erhalten wird als ein Ergebnis einer Verschiebung einer Zahl von y1 basierend auf dem trigonometrischen Funktionswert; einen zweiten Kalkulator, der eine zweite Kalkulationskoordinate kalkuliert, die dargestellt wird durch die Addition oder Subtraktion zwischen y2 und einem Wert, der erhalten wird als ein Ergebnis einer Verschiebung einer Zahl von x2 basierend auf dem trigonometrischen Funktionswert; und einen dritten Kalkulator, der die vorläufigen Winkel aufaddiert, die in einer Kalkulation des ersten oder des zweiten Kalkulators verwendet werden, wobei der erste und der zweite Kalkulator die erste bzw. die zweite Kalkulationskoordinate kalkulieren, sodass die erste tatsächliche Koordinate (x1, y1) und die zweite tatsächliche Koordinate (x2, y2) einander näher sind.
  2. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 1, wobei der erste und der zweite Kalkulator die erste und die zweite Kalkulationskoordinate wiederholt kalkulieren, sodass die erste und die zweite Kalkulationskoordinate konvergieren, während sich die vorläufigen Winkel reduzieren, und der dritte Kalkulator die vorläufigen Winkel aufaddiert, in denen die erste und die zweite Kalkulationskoordinate in der Kalkulation des ersten oder des zweiten Kalkulators konvergieren, und die Winkelgeschwindigkeit des beweglichen Körpers basierend auf den vorläufigen Winkeln erfasst, in denen die erste und die zweite Kalkulationskoordinate konvergieren.
  3. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 1, wobei der Speicher Φi, wobei Φ0 > Φ1 > Φ2 ... Φi > ... Φn, i = 0, 1, 2, ..., n sind, und n eine natürliche Zahl ist, als die vorläufigen Winkel speichert, und tanΦi als den trigonometrischen Funktionswert speichert, wenn die erste oder die zweite Kalkulationskoordinate (xxci, yyci) ist, wird die erste oder die zweite Kalkulationskoordinate durch die folgenden Gleichungen 1 und 2 ausgedrückt:
    Figure 00330001
    wobei Φi = tan–12–i, (i = 0, 1, 2, ..., n), und falls i = 0 ist, dann kalkuliert der erste Kalkulator die erste Kalkulationskoordinate als xxci-1 = x1 und yyci-1 = y1, und der zweite Kalkulator kalkuliert die zweite Kalkulationskoordinate als xxci-1 = x2 und yyci-1 = y2, der erste und der zweite Kalkulator die Gleichungen 1 oder 2 in einer Ordnung von i = 0, 1, 2, ..., n kalkulieren, und der dritte Kalkulator die vorläufigen Winkel für jedes i aufaddiert.
  4. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 2, wobei der Speicher Φi, wobei Φ0 > Φ1 > Φ2 ... Φi > ... Φn, i = 0, 1, 2, ..., n sind, und n eine natürliche Zahl ist, als die vorläufigen Winkel speichert, und tanΦi als den trigonometrischen Funktionswert speichert, wenn die erste oder die zweite Kalkulationskoordinate (xxci, yyci) ist, wird die erste oder die zweite Kalkulationskoordinate durch die folgenden Gleichungen 1 und 2 ausgedrückt:
    Figure 00340001
    wobei Φi = tan–12–i, (i = 0, 1, 2, ..., n), und falls i = 0 ist, dann kalkuliert der erste Kalkulator die erste Kalkulationskoordinate als xxci-1 = x1 und yyci-1 = y1, und der zweite Kalkulator kalkuliert die zweite Kalkulationskoordinate als xxci-1 = x2 und yyci-1 = y2, der erste und der zweite Kalkulator die Gleichungen 1 oder 2 in einer Ordnung von i = 0, 1, 2, ..., n kalkulieren, und der dritte Kalkulator die vorläufigen Winkel für jedes i aufaddiert.
  5. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 3, wobei der erste und der zweite Kalkulator die Gleichungen 1 und 2 in der Ordnung von i = 0, 1, 2, ..., n abwechselnd oder komplementär kalkulieren, wenn der erste Kalkulator die Gleichungen 1 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 2, und wenn der erste Kalkulator die Gleichungen 2 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 1.
  6. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 4, wobei der erste und der zweite Kalkulator die Gleichungen 1 und 2 in der Ordnung von i = 0, 1, 2, ..., n abwechselnd oder komplementär kalkulieren, wenn der erste Kalkulator die Gleichungen 1 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 2, und wenn der erste Kalkulator die Gleichungen 2 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 1.
  7. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 2, ferner umfassend: ein drittes Register, das die erste Kalkulationskoordinate hält; ein viertes Register, das die zweite Kalkulationskoordinate hält; und ein fünftes Register, das die vorläufigen Winkel hält, die durch den dritten Kalkulator aufaddiert werden.
  8. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 2, wobei ein Wert, der durch Doppeln der vorläufigen Werte erhalten wird, die durch den dritten Kalkulator aufaddiert werden, als die Winkelgeschwindigkeit des beweglichen Körpers betrachtet wird, indem ein Abtastintervall als eine Einheitszeit definiert wird.
  9. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 3, wobei ein Wert, der durch Doppeln der vorläufigen Werte erhalten wird, die durch den dritten Kalkulator aufaddiert werden, als die Winkelgeschwindigkeit des beweglichen Körpers betrachtet wird, indem ein Abtastintervall als eine Einheitszeit definiert wird.
  10. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 5, wobei ein Wert, der durch Doppeln der vorläufigen Werte erhalten wird, die durch den dritten Kalkulator aufaddiert werden, als die Winkelgeschwindigkeit des beweglichen Körpers betrachtet wird, indem ein Abtastintervall als eine Einheitszeit definiert wird.
  11. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 7, wobei ein Wert, der durch Doppeln der vorläufigen Werte erhalten wird, die durch den dritten Kalkulator aufaddiert werden, als die Winkelgeschwindigkeit des beweglichen Körpers betrachtet wird, indem ein Abtastintervall als eine Einheitszeit definiert wird.
  12. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 2, wobei die vorläufigen Winkel, die durch den dritten Kalkulator aufaddiert werden, eine Hälfte eines Rotationswinkels des beweglichen Körpers sind.
  13. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 3, wobei die vorläufigen Winkel, die durch den dritten Kalkulator aufaddiert werden, eine Hälfte eines Rotationswinkels des beweglichen Körpers sind.
  14. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 5, wobei die vorläufigen Winkel, die durch den dritten Kalkulator aufaddiert werden, eine Hälfte eines Rotationswinkels des beweglichen Körpers sind.
  15. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 7, wobei die vorläufigen Winkel, die durch den dritten Kalkulator aufaddiert werden, eine Hälfte eines Rotationswinkels des beweglichen Körpers sind.
  16. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 1, wobei die Geschwindigkeitserfassungsvorrichtung in einem Rotationsmesswertgeber oder einer linearen Skala angeordnet ist.
  17. Eine Geschwindigkeitserfassungsvorrichtung zum regelmäßigen Abtasten einer Koordinate, die eine Position eines beweglichen Körpers anzeigt, der eine Rotationsbewegung oder eine Hin- und Herbewegung durchführt, und Erfassen einer Winkelgeschwindigkeit des beweglichen Körpers basierend auf der Koordinate, umfassend: einen Speicher, der eine Vielzahl von voreingestellten vorläufigen Winkeln Φi, wobei Φ0 > Φ1 > Φ2 ... Φi > ... n, i = 0, 1, 2, ..., n sind, und n eine natürliche Zahl ist, einen trigonometrischen Funktionswert tanΦi entsprechend jedem der voreingestellten vorläufigen Winkel speichert; ein erstes Register, das eine erste tatsächliche Koordinate (x1, x2) des beweglichen Körpers speichert, die durch eine erste Abtastung erhalten wird; ein zweites Register, das eine zweite tatsächliche Koordinate (x2, y2) des beweglichen Körpers speichert, die durch eine zweite Abtastung als Nächstes zu der ersten Abtastung erhalten wird; einen ersten Kalkulator, der folgende Gleichungen 1 oder 2 basierend auf der ersten tatsächlichen Koordinate (x1, y1) und dem trigonometrischen Funktionswert tanΦi kalkuliert
    Figure 00380001
    einen zweiten Kalkulator, der die Gleichung 1 oder 2 basierend auf der zweiten tatsächlichen Koordinate (x2, y2) und dem trigonometrischen Funktionswert tanΦi kalkuliert; und einen dritten Kalkulator, der die vorläufigen Winkel tanΦi aufaddiert, die in einer Kalkulation des ersten oder des zweiten Kalkulators verwendet werden, wobei Φi = tan–22–i (i = 0, 1, 2, ... n), falls i = 0 ist, dann sind xxci-1 = x1 und yyci-1 = y1 für den ersten Kalkulator, und xxci-1 = x2 und yyci-1 = y2 für den ersten Kalkulator, jeder des ersten und des zweiten Kalkulators die Gleichungen 1 oder 2 in einer Ordnung von i = 0, 1, 2, ..., n kalkuliert, und der dritte Kalkulator die vorläufigen Winkel für jedes i aufaddiert.
  18. Die Geschwindigkeitserfassungsvorrichtung nach Anspruch 17, wobei der erste und der zweite Kalkulator die Gleichungen 1 und 2 in der Ordnung von i = 0, 1, 2, ..., n abwechselnd oder komplementär kalkuliert, wenn der erste Kalkulator die Gleichungen 1 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 2, und wenn der erste Kalkulator die Gleichungen 2 kalkuliert, kalkuliert der zweite Kalkulator die Gleichungen 1.
DE102007057476A 2006-12-05 2007-11-29 Geschwindigkeitserfassungsvorrichtung Expired - Fee Related DE102007057476B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-328311 2006-12-05
JP2006328311A JP4987448B2 (ja) 2006-12-05 2006-12-05 速度検出装置

Publications (2)

Publication Number Publication Date
DE102007057476A1 true DE102007057476A1 (de) 2008-06-26
DE102007057476B4 DE102007057476B4 (de) 2010-09-09

Family

ID=39432006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007057476A Expired - Fee Related DE102007057476B4 (de) 2006-12-05 2007-11-29 Geschwindigkeitserfassungsvorrichtung

Country Status (5)

Country Link
US (1) US7668689B2 (de)
JP (1) JP4987448B2 (de)
KR (1) KR100959215B1 (de)
CN (1) CN101196532B (de)
DE (1) DE102007057476B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987269B2 (ja) * 2005-08-22 2012-07-25 東芝機械株式会社 速度検出装置およびサーボモータ
JP5079346B2 (ja) * 2007-01-30 2012-11-21 東芝機械株式会社 波形補正装置および波形補正方法
JP2009281883A (ja) * 2008-05-22 2009-12-03 Toshiba Mach Co Ltd 速度検出装置およびサーボモータ
DE102014219004A1 (de) * 2014-09-22 2016-03-24 Continental Teves Ag & Co. Ohg Signalverarbeitungsvorrichtung zur Verarbeitung eines Messsignals in einem Kraftfahrzeug
CN114707110B (zh) * 2022-06-07 2022-08-30 中科亿海微电子科技(苏州)有限公司 一种三角函数和双曲函数扩展指令计算装置及处理器核

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4152645A (en) * 1977-05-26 1979-05-01 Acurex Corporation Method and apparatus for producing an analogue output proportional to rotational speed employing digital to analogue conversion
JPH07294992A (ja) * 1994-04-27 1995-11-10 Nikon Corp 振れ補正機能を有する撮影装置
KR19990085924A (ko) * 1998-05-22 1999-12-15 윤종용 삼각함수 생성장치 및 방법
EP1471332A1 (de) * 2003-04-17 2004-10-27 Dialog Semiconductor GmbH Digitale Schnittstelle für einen Winkelsensor
WO2005073841A1 (en) * 2004-01-28 2005-08-11 Koninklijke Philips Electronics, N.V. Implementation of the cordic algorithm for complex phase rotation
EP1559636B1 (de) * 2004-01-29 2009-02-18 Panasonic Corporation Verfahren und Vorrichtung zu Berechnung der Lenkwinkelgeschwindigkeit
JP2006201148A (ja) 2004-12-22 2006-08-03 Toshiba Mach Co Ltd 信号処理装置、信号処理方法、信号処理プログラム、信号処理プログラムを記録した記録媒体、速度検出装置、サーボ機構
JP4987269B2 (ja) * 2005-08-22 2012-07-25 東芝機械株式会社 速度検出装置およびサーボモータ
US7932692B2 (en) * 2006-11-13 2011-04-26 Denso Corporation Control system for rotary electric machine with salient structure

Also Published As

Publication number Publication date
JP4987448B2 (ja) 2012-07-25
CN101196532A (zh) 2008-06-11
DE102007057476B4 (de) 2010-09-09
US7668689B2 (en) 2010-02-23
KR100959215B1 (ko) 2010-05-19
US20080133172A1 (en) 2008-06-05
KR20080052418A (ko) 2008-06-11
CN101196532B (zh) 2010-12-22
JP2008139257A (ja) 2008-06-19

Similar Documents

Publication Publication Date Title
DE102007057476B4 (de) Geschwindigkeitserfassungsvorrichtung
DE112009000121B4 (de) Rotationswinkel-Erfassungsvorrichtung
US5657403A (en) Vision coprocessing
DE10137098A1 (de) Verfahren und Vorrichtung zum Bestimmen der absoluten Winkelstellung eines rotierenden Körpers
DE2425226A1 (de) Verfahren und vorrichtung zum ausmessen von oberflaechen
JP2720391B2 (ja) 対象物構造の認識装置
DE102006039176B4 (de) Geschwindigkeits-Erfassungsvorrichtung und Servomotor
DE102008006526B4 (de) Wellenform-Korrekturvorrichtung und Wellenform-Korrekturverfahren
CN112792821A (zh) 惯性辅助长曝光下的运动机器人视觉去模糊的方法及***
DE112009000846B4 (de) Geschwindigkeitsdetektionsvorrichtung und Servomotor
EP1776564B9 (de) Verfahren und vorrichtung zur korrektur systematischer spursignalfehler von inkrementellen positions- oder drehwinkelgebern
CN109579898A (zh) 一种智能制造传感器数据空间校准方法及装置
CN110888123A (zh) 一种基于旋转矩阵的雷达坐标转换方法
CN112104292B (zh) 电机控制方法、装置、终端设备及存储介质
CN112381769B (zh) 一种基于月相图形函数化拟合的过采样校正方法及***
DE112011104780T5 (de) Fehleranzeigevorrichtung und Fehleranzeigeverfahren
CN112070810A (zh) 定位方法、可移动设备及计算机可读存储介质
KR100676626B1 (ko) 5축 가공용 범용 이-포스트 시스템
CN111856075B (zh) 旋转方向判断方法和装置及旋转方向检测装置
CN110728022B (zh) 一种基于均匀五元圆阵的测向方法、装置与设备
DE4335925A1 (de) Schaltungsanordnung zur Signalverarbeitung nach dem CORDIC-Verfahren
Bruckstein et al. How to catch a crook
JP2008185459A (ja) 位置検出装置
Kozubowski Determination of the crystal orientation from intersections of kikuchi lines
JPH045955B2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140603