DE102019215949B4 - Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors - Google Patents

Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors Download PDF

Info

Publication number
DE102019215949B4
DE102019215949B4 DE102019215949.4A DE102019215949A DE102019215949B4 DE 102019215949 B4 DE102019215949 B4 DE 102019215949B4 DE 102019215949 A DE102019215949 A DE 102019215949A DE 102019215949 B4 DE102019215949 B4 DE 102019215949B4
Authority
DE
Germany
Prior art keywords
angle
output signals
lut
angle sensor
sensor
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.)
Active
Application number
DE102019215949.4A
Other languages
English (en)
Inventor
Benjamin Kollmitzer
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102019215949.4A priority Critical patent/DE102019215949B4/de
Priority to US16/949,012 priority patent/US11946772B2/en
Application granted granted Critical
Publication of DE102019215949B4 publication Critical patent/DE102019215949B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • G01D18/008Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00 with calibration coefficients stored in memory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • G01D18/001Calibrating encoders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B7/00Measuring arrangements characterised by the use of electric or magnetic techniques
    • G01B7/30Measuring arrangements characterised by the use of electric or magnetic techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • G01D18/002Automatic recalibration
    • G01D18/004Continuous recalibration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • G01D18/002Automatic recalibration
    • G01D18/006Intermittent recalibration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/14Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage
    • G01D5/142Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices
    • G01D5/145Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices influenced by the relative movement between the Hall device and magnetic fields
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24471Error correction
    • G01D5/2449Error correction using hard-stored calibration data

Landscapes

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

Abstract

Das hierin beschriebene Konzept betrifft eine Vorrichtung (200) sowie ein Verfahren (100) zum Bestimmen der Übertragungsfunktion (207) eines Winkelsensors (201) im laufenden Betrieb. Hierfür wird eine Sequenz (205) von Winkel-Ausgangssignalen (502) des Winkelsensors (201) während zumindest einem Zeitintervall (Δt) empfangen, in dem der Winkelsensor (201) einem sich drehenden Magnetfeld (202) ausgesetzt ist. Ferner wird die Übertragungsfunktion (207) des Winkelsensors (201) basierend auf der Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmt. Das Verfahren (100) kann während des regulären Betriebs des Winkelsensors (201) ausgeführt werden.

Description

  • Die vorliegende Offenbarung betrifft eine Vorrichtung sowie ein Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors in dessen laufendem Betrieb. Einige nicht-limitierende Ausführungsbeispiele betreffen eine Autokalibrierung einer Lookup-Tabelle basierend auf den empfangenen Winkel-Ausgangssignalen des Winkelsensors zum Bestimmen der Übertragungsfunktion des Winkelsensors. Weitere nicht-limitierende Ausführungsbeispiele betreffen eine Autokalibrierung einer Lookup-Tabelle basierend auf einem probabilistischen Ansatz basierend auf einer empirischen Ermittlung von Wahrscheinlichkeitsdichtewerten von Winkel-Ausgangssignalen zum Bestimmen der Übertragungsfunktion des Winkelsensors.
  • Winkelsensoren werden dazu verwendet, um den überstrichenen Winkel zweier sich relativ zueinander bewegenden Teile zu bestimmen. Hierfür gibt der Winkelsensor ein Signal aus, das einen Rückschluss auf den tatsächlichen Winkelwert zulässt. Aufgrund von Nichtidealitäten, und insbesondere aufgrund von anharmonischen Nichtidealitäten des Sensors, kann die tatsächliche Übertragungsfunktion des Sensors von einer idealen (linearen) Übertragungsfunktion abweichen, sodass das vom Sensor ausgegebene Signal von dem tatsächlichen Winkelwert abweicht. Dies führt zu Ungenauigkeiten im Messverhalten des Sensors, da der vom Sensor gemessene Wert nicht mit dem tatsächlich überstrichenen Winkel übereinstimmt.
  • Zur Behebung dieser Ungenauigkeiten können Winkelsensoren kalibriert werden. Mittels der Kalibrierung kann die Übertragungsfunktion des Winkelsensors linearisiert werden. Beispielsweise beschreiben Lookup-Tabellen eine Methode, um Übertragungsfunktionen von Sensoren zu linearisieren. Sie können unter anderem dafür eingesetzt werden, um anharmonische Nichtidealitäten bei (magnetischen) Winkelsensoren zu kompensieren.
  • Hierfür kann beispielsweise eine Lookup-Tabelle mit Werten befüllt werden, die dazu dienen, die Nichtidealitäten in der Übertragungsfunktion des Sensors zu kompensieren. Dies wird auch als Kalibrierung einer Lookup-Tabelle bezeichnet. Winkelsensoren werden für gewöhnlich einmalig, zum Beispiel am Ende des Herstellungsprozesses in der Fabrik, kalibriert, beispielsweise mittels entsprechender Kalibrierung einer Lookup-Tabelle.
  • Zur konventionellen Kalibrierung des Winkelsensors beziehungsweise der Lookup-Tabelle muss der tatsächliche Winkelwert bekannt sein, damit man die Abweichungen im gemessenen Winkelwert bestimmen und kompensieren kann. Hierfür wird wiederum ein Referenzwinkelsignal benötigt, das einen Basiswinkel beschreibt, mit dem der mittels des Sensors gemessene Winkel abgeglichen und der Sensor beziehungsweise die Lookup-Tabelle anschließend entsprechend kalibriert werden kann. Diese Notwendigkeit des Vorhandenseins des Referenzwinkelsignals ist mitunter ein Grund, weshalb die Winkelsensoren lediglich am Ende ihres Herstellungsprozesses einmalig kalibriert werden. Somit können jedoch beispielsweise temperaturbedingte bzw. Lifetime-Drifts der anharmonischen Nichtidealitäten nicht im laufenden Betrieb am eigentlichen Bestimmungsort des Winkelsensors kompensiert werden, was wiederum zu residualen Fehlern im Sensorsignal führt. Die Übertragungsfunktion des Sensors kann also, trotz erfolgter einmaliger Kalibrierung, am eigentlichen Einsatzort des Sensors von einer idealen (linearen) Übertragungsfunktion abweichen, was nachträglich nicht mit einfachen Mitteln korrigierbar ist.
  • Beispielsweise zeigt die DE 10 2005 024 879 B4 ein Verfahren zum Bestimmen von Restfehler- Kompensationsparametern, welches auf der Ermittlung einer Anpassungsfunktion an Wertepaaren aus Drehwinkelwerten und zugeordneten Messwerten basiert.
  • Die DE 10 2004 024 398 A1 offenbart ein Verfahren zum Einstellen einer Bestimmungsvorschrift eines Winkelsensors, das zur Berechnung von Offset- und/oder Amplituden- und/oder Achs-Winkelfehlern Werte von aus einer ersten und einer zweiten vorbestimmten Komponente bestehenden Komponentenpaaren erfasst.
  • Die US 2015/0362348 A1 zeigt ein Verfahren zum Bestimmen einer Winkelposition und zum Kompensation von Messungen einer Laufabweichung Messvorrichtungen, gemäß welchem eine Übertragungsfunktion basierend auf einer Analyse einer Laufabweichung eines Lagers erstellt wird.
  • Insbesondere anharmonische Nichtidealitäten lassen sich mit den bekannten Verfahren aber nicht oder nur unzureichend ausgleichen.
  • Es wäre demnach wünschenswert, bekannte Vorrichtungen und Verfahren zum Bestimmen einer Übertragungsfunktion eines Winkelsensors hinsichtlich der oben genannten bestehenden technischen Nachteile zu verbessern.
  • Ein Aspekt der vorliegenden Offenbarung betrifft daher ein Verfahren zum Bestimmen einer Übertragungsfunktion eines Winkelsensors im laufenden Betrieb. Das Verfahren beinhaltet das Empfangen einer Sequenz von Winkel-Ausgangssignalen des Winkelsensors während zumindest einem Zeitintervall, in dem der Winkelsensor einem sich drehenden Magnetfeld ausgesetzt ist. Ferner umfasst das Verfahren das Bestimmen der Übertragungsfunktion des Winkelsensors basierend auf der Sequenz von Winkel-Ausgangssignalen und während des regulären Betriebs des Winkelsensors.
  • Gemäß einem weiteren Aspekt wird eine Vorrichtung zum Bestimmen einer Übertragungsfunktion eines Winkelsensors im laufenden Betrieb vorgeschlagen. Die Vorrichtung weist einen Signalempfänger auf, der ausgestaltet ist, um eine Sequenz von Winkel-Ausgangssignalen des Winkelsensors während zumindest einem Zeitintervall zu empfangen, in dem der Winkelsensor einem sich drehenden Magnetfeld ausgesetzt ist. Ferner weist die Vorrichtung eine Signalauswertevorrichtung auf, die ausgestaltet ist, um die Übertragungsfunktion des Winkelsensors basierend auf der Sequenz von Winkel-Ausgangssignalen und während des regulären Betriebs des Winkelsensors zu bestimmen.
  • Ausführungsformen und weitere vorteilhafte Aspekte des Verfahrens beziehungsweise der Vorrichtung sind in den jeweils abhängigen Patentansprüchen genannt.
  • Einige Ausführungsbeispiele sind exemplarisch in der Zeichnung dargestellt und werden nachstehend erläutert. Es zeigen:
    • 1 ein Blockdiagramm zur Darstellung eines Verfahrens gemäß einem Ausführungsbeispiel,
    • 2 ein schematisches Blockdiagramm einer Vorrichtung gemäß einem Ausführungsbeispiel,
    • 3 ein schematisches Blockdiagramm einer Lookup-Tabelle gemäß einem Ausführungsbeispiel,
    • 4 ein schematisches Blockdiagramm zur Aktualisierung bzw. Rekalibrierung der Lookup-Tabelle gemäß einem Ausführungsbeispiel
    • 5 ein Diagramm zur Darstellung von Winkelsignalen und Winkelgeschwindigkeitssignalen zur Berechnung der Aktualisierung der Lookup-Tabelle gemäß einem Beispiel,
    • 6 ein Diagramm zur Darstellung von diskretisierten Winkelsignalen und diskretisierten Winkelgeschwindigkeitssignalen zur Berechnung der Aktualisierung der Lookup-Tabelle gemäß einem Beispiel,
    • 7 ein Blockdiagramm zur Darstellung der Anwendung des hierin beschriebenen Konzepts der LUT-Autokalibrierung in einer Sensoranwendung gemäß einem Ausführungsbeispiel,
    • 8 ein Blockdiagramm zur Darstellung der Anwendung des hierin beschriebenen Konzepts der iterativen LUT-Autokalibrierung in einer Sensoranwendung gemäß einem Ausführungsbeispiel,
    • 9A, 9B Abbildungen zur Veranschaulichung einer Signalanalyse von Sensorsignalen zur Verifikation des hierin beschriebenen Konzepts der LUT-Autokalibrierung,
    • 10A, 10B Abbildungen zur Veranschaulichung einer Signalanalyse von Sensorsignalen zur Verifikation des hierin beschriebenen Konzepts der iterativen LUT-Autokalibrierung,
    • 11 ein Diagramm zur exemplarischen Darstellung einer Wahrscheinlichkeitsdichte von Winkel-Ausgangssignalen eines Winkelsensors im Vergleich zu einem idealen Sensor und der daraus ableitbaren Übertragungsfunktion des Winkelsensors,
    • 12 ein Blockdiagramm zur Darstellung der Anwendung des hierin beschriebenen Konzepts der LUT-Autokalibrierung nach dem probabilistischen Ansatz in einer Sensoranwendung gemäß einem Ausführungsbeispiel,
    • 13 ein Blockdiagramm zur Darstellung der Anwendung des hierin beschriebenen Konzepts der iterativen LUT-Autokalibrierung nach dem probabilistischen Ansatz in einer Sensoranwendung gemäß einem Ausführungsbeispiel,
    • 14A, 14B Abbildungen zur Veranschaulichung einer Signalanalyse von Sensorsignalen zur Verifikation des hierin beschriebenen Konzepts der LUT-Autokalibrierung nach dem probabilistischen Ansatz, und
    • 15A, 15B Abbildungen zur Veranschaulichung einer Signalanalyse von Sensorsignalen zur Verifikation des hierin beschriebenen Konzepts der iterativen LUT-Autokalibrierung nach dem probabilistischen Ansatz.
  • Im Folgenden werden Ausführungsbeispiele mit Bezug auf die Figuren näher beschrieben, wobei Elemente mit derselben oder ähnlichen Funktion mit denselben Bezugszeichen versehen sind.
  • Verfahrensschritte, die in einem Blockdiagramm dargestellt und mit Bezugnahme auf das selbige erläutert werden, können auch in einer anderen als der abgebildeten beziehungsweise beschriebenen Reihenfolge ausgeführt werden. Außerdem sind Verfahrensschritte, die ein bestimmtes Merkmal einer Vorrichtung betreffen mit ebendiesem Merkmal der Vorrichtung austauschbar, was ebenso anders herum gilt. Insbesondere sind die auf das Verfahren gerichteten abhängigen Patentansprüche auch mit der beanspruchten Vorrichtung entsprechend kombinierbar.
  • 1 zeigt ein schematisches Blockdiagramm eines Verfahrens 100 gemäß einem Ausführungsbeispiel des hierin beschriebenen innovativen Konzepts. 2 zeigt eine entsprechende Vorrichtung 200 zur Durchführung des Verfahrens 100.
  • Das Verfahren 100 dient zum Bestimmen der Übertragungsfunktion 207 eines Winkelsensors 201, und zwar im laufenden Betrieb des Winkelsensors 201. Dies unterscheidet das hierin beschriebene Verfahren 100 von der konventionellen einmaligen Kalibrierung des Sensors am Ende seiner Herstellung, zum Beispiel in der Fabrik.
  • In Block 101 wird zunächst eine Sequenz 205 von Winkel-Ausgangssignalen 502 des Winkelsensors 201 empfangen, und zwar während zumindest einem Zeitintervall, in dem der Winkelsensor 201 einem sich drehenden Magnetfeld 202 ausgesetzt ist.
  • In Block 102 wird dann die Übertragungsfunktion 207 des Winkelsensors 201 bestimmt, und zwar basierend auf der zuvor empfangenen Sequenz 205 von Winkel-Ausgangssignalen 502. Zudem wird das Verfahren 100 während des regulären Betriebs des Winkelsensors 201 durchgeführt.
  • Das Verfahren 100 kann zumindest einmalig während der Verwendung des Winkelsensors 201 an seinem vorgesehenen Bestimmungsort ausgeführt werden. Es ist ebenso denkbar, dass das Verfahren 100 mehrfach, und insbesondere kontinuierlich, während der Verwendung des Winkelsensors 201 an seinem vorgesehenen Bestimmungsort ausgeführt wird.
  • Bei dem Winkelsensor 201 kann es sich beispielsweise um einen magnetischen oder induktiven Winkelsensor zur Überwachung von rotierenden Bauteilen handeln. Der Bestimmungsort beziehungsweise Einsatzort des Winkelsensors 201 wäre demnach der Ort, an dem der Winkelsensor 201 nach seiner Herstellung und Auslieferung platziert (zum Beispiel eingebaut) ist, um dort seinen vorgesehenen Einsatz zu verrichten, zum Beispiel das Messen des Rotationswinkels eines rotierenden Bauteils, wie zum Beispiel einer Welle in einem Motor. Bei konventionellen Winkelsensoren hingegen wird deren Übertragungsfunktion lediglich einmalig, zum Beispiel am Ende ihres Herstellungsprozesses in der Fabrik, ermittelt und der Winkelsensor wird vor Auslieferung einmalig kalibriert. Änderungen in der Übertragungsfunktion des Winkelsensors, die sich erst nach dessen Auslieferung am Einsatzort ergeben, können daher bei konventionellen Winkelsensoren nicht mehr im laufenden Betrieb kompensiert werden.
  • 2 zeigt ein schematisches Blockdiagramm einer entsprechenden Vorrichtung 200 zum Bestimmen der Übertragungsfunktion 207 eines Winkelsensors 201 im laufenden Betrieb gemäß einer Ausführungsform des hierin beschriebenen Konzepts.
  • Die Vorrichtung 200 weist einen Winkelsensor 201 auf. Der Winkelsensor 201 ist einem sich drehenden Magnetfeld 202 ausgesetzt. Das Magnetfeld 202 kann von einer Magnetquelle 203 stammen, die beispielsweise an einem rotierenden Bauteil angeordnet sein kann. Das Signal 701, das der Winkelsensor 201 hierbei von dem sich drehenden Magnetfeld 202 abgreift, wird hierin auch gelegentlich als Winkel-Eingangssignal, oder als echter bzw. realer Winkel, oder einfach als Rotationswinkel bezeichnet.
  • Der Winkelsensor 201 ist ausgestaltet, um den während eines bestimmten Zeitintervalls überstrichenen Rotationswinkel der Relativbewegung zwischen dem Winkelsensor 201 und dem sich drehenden Magnetfeld 202 zu bestimmen. Hierfür kann der Winkelsensor 201 das Winkel-Eingangssignal in ein entsprechendes Winkel-Ausgangssignal 502, beziehungsweise in eine Sequenz 205 von aufeinanderfolgenden Winkel-Ausgangssignalen 502, umwandeln.
  • Die Vorrichtung 200 weist ferner eine Signalverarbeitungsvorrichtung 204 auf. Die Signalverarbeitungsvorrichtung 204 ist ausgestaltet, um die Sequenz 205 von Winkel-Ausgangssignalen 502 des Winkelsensors 201 zu empfangen, und zwar während dem Zeitintervall, in dem der Winkelsensor 201 dem sich drehenden Magnetfeld 202 ausgesetzt ist. In dem hier dargestellten nicht-limitierenden Beispiel überstreicht der Winkelsensor 201 innerhalb des abgebildeten Zeitintervalls insgesamt viermal volle 360°, was zu den in Block 205 gezeigten vier Kurven bzw. Winkel-Ausgangssignalen 502 führt.
  • Die Signalverarbeitungsvorrichtung 204 ist ferner ausgestaltet, um die Übertragungsfunktion 207 des Winkelsensors 201 zu bestimmen, und zwar basierend auf der Sequenz 205 von Winkel-Ausgangssignalen 502. Ferner ist die Vorrichtung 200 dazu ausgestaltet, um die Übertragungsfunktion 207 während des regulären Betriebs des Winkelsensors 201 zu ermitteln.
  • Ein Vorteil der hierin offenbarten Vorrichtung 200 sowie des hierin beschriebenen entsprechenden Verfahrens 100 liegt darin, dass das Bestimmen der Übertragungsfunktion 207 nicht nur im laufenden Betrieb des Winkelsensors 201 ausgeführt werden kann, sondern dass dies auch ohne Vorhandensein eines ansonsten benötigten Referenzwinkelsignals, welches einen Basiswinkel beschreibt, durchführbar ist.
  • 3 zeigt ein nicht-limitierendes Ausführungsbeispiel, bei dem der Winkelsensor 201 mittels einer Lookup-Tabelle 301 kalibriert werden kann. Die Lookup-Tabelle 301 kann ein oder mehrere Korrekturwerte K1, K2, ..., Kn zum Linearisieren der Übertragungsfunktion 207 des Winkelsensors 201 aufweisen.
  • Die Lookup-Tabelle 301 kann vorkalibriert sein, beispielsweise ab Werk. Das heißt, die vorkalibrierte Lookup-Tabelle 301 kann vor dem ersten Einsatz des Winkelsensors 201 an seinem Bestimmungsort mit einer entsprechenden vorkalibrierten Version 303 von Korrekturwerten K1, K2, ..., Kn befüllt sein. Beispielsweise können diese Korrekturwerte K1, K2, ..., Kn in der Fabrik bzw. im Labor ermittelt werden, oder sie können einen vordefinierten Default-Wert aufweisen, oder sie können auch anfänglich zu Null gesetzt sein.
  • Die vorkalibrierte Version 303 der ein oder mehreren Korrekturwerte K1, K2, ..., Kn kann dann dazu verwendet werden, um Irregularitäten in der Übertragungsfunktion 207 des Winkelsensors 201 zu korrigieren, und um die Übertragungsfunktion 207 zu linearisieren und ein entsprechend korrigiertes Winkel-Ausgangssignal zu erhalten.
  • Wie in 4 gezeigt ist, kann die Lookup-Tabelle 301 gemäß dem hierin beschriebenen Konzept mindestens einmal, oder auch mehrfach und wiederholt, rekalibriert werden, indem die Lookup-Tabelle 301 mit einer aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 befüllt wird, wobei diese aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 basierend auf der empfangenen Sequenz 205 von Winkel-Ausgangssignalen 502 bestimmt werden kann. Ein Vorteil hierbei ist, dass kein Referenzwinkelsignal benötigt wird. Stattdessen werden direkt die empfangenen Winkel-Ausgangssignale 502 zur Kalibrierung bzw. Rekalibrierung der Lookup-Tabelle 301 verwendet, obwohl der tatsächliche Rotationswinkel gar nicht bekannt ist.
  • Das Rekalibrieren der Lookup-Tabelle 301, kurz LUT, wird hierin auch als LUT-Autokalibrierung bezeichnet und ist im Wesentlichen gleichbedeutend mit dem (wiederholten) Befüllen der Lookup-Tabelle 301 mit der jeweils aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1.
  • Nachfolgend werden einige Beispiele genannt, die beschreiben, wie die Rekalibrierung der Lookup-Tabelle 301 basierend auf der Sequenz 205 von Winkel-Ausgangssignalen 502 durchgeführt werden kann.
  • 5 zeigt ein derartiges Beispiel. Im obersten Diagramm ist die Sequenz 205 von Winkel-Ausgangssignalen 502 abgebildet. In dem rein beispielhaft gewählten Zeitintervall Δt wird insgesamt viermal der Winkel von 360° überstrichen, und zwar in den Intervallen t21, t32, t43 und t54. Das heißt, das rotierende Magnetfeld 202 hat insgesamt vier volle Rotationen relativ zu dem Winkelsensor 201 ausgeführt.
  • Die Kennlinie 501 mit Steigung y = 1 repräsentiert den tatsächlichen Winkelwert, d.h. den wahren Rotationswinkel. Diese Kennlinie 501 entspricht somit einer vollständig linearisierten Übertragungsfunktion eines idealen Winkelsensors. Die Kennlinie 502 repräsentiert die vom realen, und nicht idealen, Winkelsensor 201 empfangenen Winkel-Ausgangssignale. Wie zu erkennen ist, weicht diese Kennlinie 502 aufgrund von (harmonischen) Nichtidealitäten von der vollständig linearisierten Übertragungsfunktions-Kennlinie 501 ab.
  • Bei dem sich drehenden Magnetfeld 202 kann die Annahme gemacht werden, dass es Zeitintervalle gibt, in denen das Magnetfeld 202 eine im Wesentlichen konstante Drehzahl aufweist, zum Beispiel bei einer Anwendung des Winkelsensors 201 an einer drehenden Welle. Die konstante Drehzahl bedingt eine konstante Winkelgeschwindigkeit. Das heißt, es kann die Annahme erfolgen, dass es Zeitintervalle gibt, in denen das Magnetfeld 202 eine im Wesentlichen konstante Winkelgeschwindigkeit aufweist.
  • Derartige Zeitintervalle können direkt vom Winkel-Ausgangssignal des Winkelsensors 201 abgeleitet werden, zum Beispiel indem die Periode des Winkel-Ausgangssignals 502 auf Schwankungen hin überprüft wird. Die Periode kann beispielsweise gemessen werden, indem die Zeitdifferenz zwischen den Nulldurchgängen der Sinus und Cosinus Signalanteile analysiert wird.
  • Die Winkelgeschwindigkeit ist in dem mittleren Diagramm in 5 abgebildet. Darin ist die tatsächliche, als konstant angenommene, Winkelgeschwindigkeit in Form der Linie 503 eingezeichnet, die auch als wahre Winkelgeschwindigkeit bezeichnet wird. Außerdem ist die Kurve 504 zu erkennen, die die dem Winkelsensor 201 zugehörige Winkelgeschwindigkeit beschreibt, die auch als lokale Winkelgeschwindigkeit bezeichnet wird. Die lokale Winkelgeschwindigkeit kann gemessen, oder vom Winkel-Ausgangssignal 502 des Winkelsensors 201 abgeleitet werden, zum Beispiel mittels zeitlicher Ableitung des Winkel-Ausgangssignal 502.
  • Während des Zeitintervalls Δt, in dem die Winkelgeschwindigkeit als im Wesentlichen konstant angenommen werden kann, kann also die lokale Winkelgeschwindigkeit aus dem Winkel-Ausgangssignal 502 des Winkelsensors 201 bestimmt werden. Beispielsweise kann die lokale Winkelgeschwindigkeit geschätzt werden, indem man den finiten Differenzenquotienten von zwei aufeinanderfolgenden Winkelwerten bestimmt und durch die Abtastrate teilt.
  • Bei einem idealen Sensor würde die lokale Winkelgeschwindigkeit 504 exakt der wahren Winkelgeschwindigkeit 503 gleichen. Das heißt, in Zeitintervallen Δt mit konstanter Winkelgeschwindigkeit 503 müsste an und für sich auch die lokale Winkelgeschwindigkeit 504 konstant sein. Da aber, wie eingangs erwähnt, (harmonische) Nichtidealitäten zu einem nicht idealen Verhalten des realen Winkelsensors 201 führen können, kann die lokale Winkelgeschwindigkeit 504 von der wahren Winkelgeschwindigkeit 503 abweichen, wie dies rein beispielhaft in dem mittleren Diagramm in 5 zu sehen ist. Das heißt, Abweichungen von der idealen Übertragungskennlinie 503 des Winkelsensors 201 führen zu Änderungen bzw. Varianzen in der lokalen Winkelgeschwindigkeit 504.
  • Ein Beispiel sieht vor, dass diese Varianzen in der lokalen Winkelgeschwindigkeit 504 integriert werden können, um so die eigentliche Übertragungsfunktion 207 des Winkelsensors 201 zu bestimmen bzw. zu schätzen. Wenn man die frei wählbare Integrationskonstante in Form des Mittelwerts abzieht, erhält man die Lookup-Tabelle 301 bzw. die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 zum Rekalibrieren der Lookup-Tabelle 301.
  • Das Verfahren sieht gemäß einem Beispiel also vor, den Mittelwert der lokalen Winkelgeschwindigkeit 504 zu bilden und die Abweichungen der lokalen Winkelgeschwindigkeit 504 (siehe 5, Mitte) gegenüber dem Mittelwert zu bestimmen. Als Mittelwert kann beispielsweise die wahre Winkelgeschwindigkeit 503 herangezogen werden. Diese Abweichungen vom Mittelwert können dann aufintegriert werden (siehe 5, Unten), und die integrierten Werte 505 entsprechen dann der aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 zum Aktualisieren bzw. Rekalibrieren der Lookup-Tabelle 301.
  • Es ist hierbei nochmals wichtig zu erwähnen, dass die Lookup-Tabelle 301 bzw. die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 nicht direkt aus dem Winkel-Ausgangssignal 502 des Winkelsensors 201 bestimmt werden, da weder der wahre Rotationswinkel zu einem bestimmten Zeitpunkt noch die wahre Winkelgeschwindigkeit bekannt sind. Daher wird gemäß dem hierin offenbarten Konzept, auch wenn es auf den ersten Blick nicht intuitiv erscheinen mag, zunächst das Winkel-Ausgangssignal 502 des Winkelsensors 201 differenziert, der Mittelwert abgezogen, anschließend integriert, und dann kann nochmals der Mittelwert abgezogen werden. Dieses Konzept wird hierin auch als Autokalibrierung der Lookup-Tabelle 301 bzw. abgekürzt als LUT-Autokalibrierung bezeichnet.
  • Dementsprechend sehen Beispiele vor, dass das zumindest eine Zeitintervall Δt, in dem die Sequenz 205 von Winkel-Ausgangssignalen empfangen wird, ein Zeitintervall beinhaltet, während dem die tatsächliche Winkelgeschwindigkeit 502 einer Rotation zwischen dem rotierenden Magnetfeld 203 und dem Winkelsensor 201 im Wesentlichen konstant ist, und wobei die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 basierend auf einem Winkelgeschwindigkeits-Signal 504 ermittelt wird, welches aus der empfangenen Sequenz 205 von Winkel-Ausgangssignalen 502 bestimmbar ist.
  • Die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 kann dann basierend auf einer Differenz zwischen dem Winkelgeschwindigkeits-Signal 504 und einem Mittelwert dieses Winkelgeschwindigkeits-Signals 504 bestimmt werden.
  • Zusammenfassend zeigt 5 also zunächst die Winkel-Ausgangssignale 502 während eines Zeitintervalls Δt, in dem sich das rotierende Magnetfeld 202 relativ zu dem Winkelsensor 201 mit im Wesentlichen konstanter Winkelgeschwindigkeit dreht. Dabei ändert sich der wahre Rotationswinkel 501 linear (mit 360° Periodizität) als Funktion der Zeit (siehe 5, Oben). Jegliche Abweichungen des Winkel-Ausgangssignals 502 gegenüber dem wahren Rotationswinkel 501 reflektieren die nicht perfekte Übertragungsfunktion 207 des Winkelsensors 201, die mittels Kompensation der Abweichungen möglichst linearisiert werden kann, zum Beispiel mittels der Lookup-Tabelle 301.
  • Eine zeitliche Ableitung des Winkel-Ausgangssignals 502 ergibt die lokale Winkelgeschwindigkeit 504 (siehe 5, Mitte). Dabei führen die Unregelmäßigkeiten in der Übertragungsfunktion 207 des Winkelsensors 201 zu Varianzen in der lokalen Winkelgeschwindigkeit 504. Diese Varianzen können beispielsweise bestimmt werden, indem der Mittelwert der Winkelgeschwindigkeit von der lokalen Winkelgeschwindigkeit 504 subtrahiert wird.
  • Anschließend können die so ermittelten Differenzen zwischen der lokalen Winkelgeschwindigkeit 504 und dem Mittelwert integriert werden (siehe 5, unten). Die Integration, und optional noch eine geeignete Skalierung, ergeben die gesuchten und zuvor unbekannten Unregelmäßigkeiten in der Übertragungsfunktion 207 des Winkelsensors 201.
  • Diese so bestimmten Unregelmäßigkeiten entsprechen der Lookup-Tabelle 301 bzw. der aktualisierten Version der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1 zum Aktualisieren bzw. Rekalibrieren der Lookup-Tabelle 301.
  • 6 zeigt eine graphische Repräsentation eines möglichen Beispiels. Dabei wird in der Digitaldomäne mit Abtastung und Diskretisierung des Winkel-Ausgangssignals 502 bzw. des Winkelgeschwindigkeitssignals 504 gearbeitet. Dabei zeigt 6 unter anderem das Binning, sprich die Zuordnung bzw. Einteilung, einzelner Samples (schwarze Punkte) in unterschiedliche Register (grüne und graue Balken im vorletzten bzw. letzten Diagramm von 6 - graue Balken bei ungeraden Zahlen, grüne Balken bei geraden Zahlen).
  • Es folgt eine mathematische Abhandlung eines Beispiels, unter anderem mit Bezugnahme auf die 5 und 6. Dabei sind wahre Werte mit dem Zirkumflex ^ bezeichnet. Die angenommene konstante Winkelgeschwindigkeit, bezeichnet mit ω̂, führt zu einem wahren Rotationswinkel als Funktion der Zeit α̂(t) = ω̂ · t + α̂0. Hierbei ist α̂0 der frei wählbare, aber feste Anfangswinkel. Während einer konstanten Samplingdauer Ts erhält man eine Anzahl NSamples von Ausgangs-Winkelsignalen. Diese Samples werden mit αi, bezeichnet, wobei der Sample Index i von 1 bis NSamples reicht. Die entsprechenden wahren Rotationswinkel sind sodann gegeben als α̂(ti) = ω̂ · Ts · (i - 1) + α̂0.
  • Die wahre Lookup-Tabelle 301 wiederum, die mit den Abweichungen der Übertragungsfunktion 207 des Winkelsensors 201 gegenüber dem wahren Winkelwert übereinstimmt, wird definiert als L U T ^ ( α ) = α α ^ ( α ) .
    Figure DE102019215949B4_0001
    Dies entspricht somit (bei einem bestimmten Winkel α, und abgesehen von Signalrauschen) der Differenz zwischen dem vom Winkelsensor 201 gelieferten Wert, d.h. zwischen dem Winkel-Ausgangssignal 502, und dem wahren Winkelwert 501. Da die wahre Lookup-Tabelle 301 lediglich die anharmonischen Fehler beschreiben soll, kann angenommen werden, dass das Mittel über 360° verschwindet, d.h.
    1 360 ° 0 360 ° L U T ^ ( α ) d α = 0.
    Figure DE102019215949B4_0002
    (1)
  • In der Realität wird die Lookup-Tabelle 301 lediglich eine finite Anzahl an Stützstellen aufweisen, welche mit NLUT bezeichnet werden.
  • Nichtsdestotrotz erlaubt es die wahre Lookup-Tabelle 301, das Winkel-Ausgangssignal 502 in Bezug auf den wahren Winkel auszudrücken, nämlich über die Gleichung
    α i = L U T ^ ( α i ) + α ^ i + ε i = L U T ^ ( α i ) + ω ^ T s ( i 1 ) + α ^ 0 + ε i .
    Figure DE102019215949B4_0003
    (2)
  • In Gleichung (2) wird das Sensorrauschen εi eingeführt, von dem jedoch angenommen werden kann, dass sein Erwartungswert verschwindet. Die Mittelwertbildung, die später in Kombination mit dem Binning beschrieben wird, erlaubt es, das Sensorrauschen in der nachfolgenden Herleitung zu vernachlässigen.
  • Die Berechnung der lokalen Winkelgeschwindigkeit 504 anhand von zwei aufeinanderfolgenden Samples mittels der finiten Differenzenquotienten-Methode ergibt:
    ω i = α i α i 1 T s = ( L U T ^ ( α i ) L U T ^ ( α i 1 ) ) T s + ω ^
    Figure DE102019215949B4_0004
    (3)
  • Aus Gleichung (1) ist bekannt, dass wenn man den Mittelwert über eine vollständige Drehung von 360° bildet, die Beiträge der Lookup-Tabelle 301 verschwinden, was zu folgender Gleichung führt:
    ω ¯ = 1 N s a m p l e s i = 1 N s a m p l e s ω i ω ^
    Figure DE102019215949B4_0005
    (4)
  • Subtraktion des Mittelwerts der Winkelgeschwindigkeit aus Gleichung (4) ergibt:
    ω i ω ¯ = ( L U T ^ ( α i ) L U T ^ ( α i 1 ) ) T s .
    Figure DE102019215949B4_0006
    (5)
  • Numerische Integration dieser Gleichung führt zu einer Lookup-Tabelle 301 mit folgender Gleichung, wobei die Lookup-Tabelle 301 jedoch nach wie vor einen nicht unerheblichen Offset aufweisen kann, z.B. aufgrund der anfänglichen beliebig wählbaren Integrationskonstante:
    l u t ( α j ) = T s i = 1 j ( ω i ω ¯ ) = L U T ^ ( α j ) L U T ^ ( α 0 ) .
    Figure DE102019215949B4_0007
    (6)
  • Unter Anwendung der Randbedingung aus Gleichung (1) kann die Integrationskonstante jedoch eindeutig bestimmt werden zu
    C = 1 N s a m p l e s j = 1 N s a m p l e s l u t ( α j ) = L U T ^ ( α 0 ) .
    Figure DE102019215949B4_0008
    (7)
  • Einfügen dieser Integrationskonstante in Gleichung (6) ergibt:
    L U T ^ ( α j ) = l u t ( α j ) + C = L U T ^ ( α j ) ,
    Figure DE102019215949B4_0009
    (8)
  • Daraus ergibt sich, dass die hierin beschriebene LUT-Autokalibrierung die wahre Lookup-Tabelle 301 zur Rekalibrierung des Winkelsensors 201 wiedergibt. In anderen Worten entspricht dies der aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K12, ..., Kn1, mit der die Lookup-Tabelle 301 befüllt werden kann, um diese im laufenden Betrieb und am vorgesehenen Einsatzort des Winkelsensors 201 zu aktualisieren. Die Aktualisierung der Lookup-Tabelle 301 kann dabei natürlich wiederholt erfolgen.
  • Die obige Herleitung kann nun noch auf eine finite Anzahl NLUT von LUT Stützstellen begrenzt werden, um eine numerische Implementierbarkeit gemäß 6 zu gewährleisten. Für jede Stützstelle vom Index k von 1 bis NLUT, können zunächst zwei Registerwerte mit Null initialisiert werden, beispielsweise ein erster Registerwert wk zum Aufsummieren der diskretisierten lokalen Winkelgeschwindigkeiten, und ein zweiter Registerwert nk zum Zusammenzählen der Anzahl von Samples im jeweiligen Bin.
  • Für jedes Sample mit Index i kann diejenige Stützstelle (z.B. mit Index k) ermittelt werden, die am nächsten zum aktuellen Winkel-Sample αi liegt. Hier kann die lokale Winkelgeschwindigkeit aus Gleichung (3) zum Register hinzuaddiert werden, mit wk = wk + ωi, und nk kann um 1 erhöht werden, d.h. nk = nk + 1. Für eine größere Genauigkeit kann ein gewichtetes Binning durchgeführt werden, wobei ein Sample auf die zwei nächstgelegenen Stützstellen verteilt wird. Das Binning erlaubt es, eine Vielzahl von Samples in einer Stützstelle zu sammeln, wodurch das Sensorrauschen ausgemittelt werden kann, sofern eine ausreichend hohe Anzahl an Samples akquiriert werden kann. Nachdem alle Samples verarbeitet wurden, können die Register skaliert werden, gemäß wk' = wk/ nk.
  • Abgesehen von einer geeigneten Skalierung und dem Ersetzen von Nsamples durch NLUT bleiben die restlichen Gleichungen auch mit Binning soweit unverändert bestehen. Dies führt zu den entsprechend modifizierten Gleichungen:
    w ¯ = 1 N L U T k = 1 N L U T w k ' ω ^ ,
    Figure DE102019215949B4_0010
    (9)
    l u t ( α l ) = T s k = 1 l ( w k w ¯ ) = L U T ^ ( α l ) L U T ^ ( α 0 ) ,
    Figure DE102019215949B4_0011
    (10)
    C = 1 N L U T l = 1 N L U T l u t ( α l ) ,
    Figure DE102019215949B4_0012
    (11)
    L U T ( α l ) = N s a m p l e s N L U T N r e v s ( l u t ( α l ) + C ) = L U T ^ ( α l ) .
    Figure DE102019215949B4_0013
    (12)
  • In der letzten Gleichung wurde die Anzahl Nrevs an Umdrehungen, die während des Sampling Prozesses stattgefunden haben, eingeführt. Da diese aufgrund der Periodizität von 360° nicht direkt über (αNsampies1) zugänglich ist, kann sie beispielsweise mittels Integration über die gesammelten lokalen Winkelgeschwindigkeiten (z.B. vor der Skalierung) erhalten werden.
    N r e v s = 1 360 ° k = 1 N L U T w k .
    Figure DE102019215949B4_0014
    (13)
  • Es gibt mehrere Möglichkeiten, um die fundamentale Annahme der im Wesentlichen konstanten Winkelgeschwindigkeit während der Rekalibrierung zu überprüfen. Beispielsweise kann ein Polynom Npoly-ter Ordnung auf die lokalen Winkelgeschwindigkeiten angewendet werden. Anschließend kann überprüft werden, ob alle Polynomialkoeffizienten mit Ausnahme der konstanten Polynomialkoeffizienten hinreichend klein sind (zum Überprüfen der konstanten Winkelgeschwindigkeit), und ob die Residualnorm hinreichend klein ist (was einem guten Polynom-Fit entspricht). Ein Polynom-Fitting mit einem Polynom 0-ter Ordnung, d.h. eine konstante Funktion, ist besonders geeignet.
  • Vor der Anwendung einer Lookup-Tabelle 301 können harmonische Nichtidealitäten (d.h. konstant und/oder proportional zum Sinus bzw. Cosinus des Winkels) mittels einer sogenannten Amplituden-Phasen-Offset (AOP) Kompensation korrigiert werden. Hierfür können Autokalibrierungsverfahren eingesetzt werden, mittels derer die Parameter für die Kompensation während der Anwendung optimiert werden können. Dies reduziert unerwünschte Effekte, die harmonische Nichtidealitäten, beispielsweise bedingt durch Temperatur oder Lifetime-Drift, auf den residualen Winkelfehler haben.
  • Die 7 und 8 zeigen nicht-limitierende Beispiele für das hierin beschriebene Konzept, um mittels Blockdiagrammen darzustellen, wie die hierin beschriebene LUT-Autokalibrierung in einer Winkelsensor-Anwendung integriert werden kann.
  • Das Winkel-Eingangssignal 701 ist ein im Wesentlichen periodisches Signal, das sich bei einer Drehung mit einer im Wesentlichen konstanten Winkelgeschwindigkeit ergibt. Der reelle und in der Regel nicht-ideale Winkelsensor 201 übersetzt dieses Winkel-Eingangssignal 701 in ein elektrisches bzw. logisches Zwischensignal 502. Anschließend kann eine AOP-Kompensation 702, 802 und optional eine AOP-Autokalibrierung 703, 803 durchgeführt werden, um die harmonischen Nicht-Idealitäten zu korrigieren bzw. zu kompensieren. Sowohl die AOP-Kompensation 702, 802 als auch die AOP-Autokalibrierung 703, 803 sind jedoch optional.
  • Das (optional AOP-korrigierte) Signal 502 des Winkelsensors 201 kann dann einer Winkelberechnungseinheit 704, 804 zugeführt werden. Die Winkelberechnungseinheit 704, 804 rechnet das Signal 502 des Winkelsensors 201 in Winkelwerte um, die dann wiederum als Input für die nachfolgende LUT-Kompensation 705, 805 und LUT-Autokalibrierung 706, 806 verwendet werden können. Die LUT-Autokalibrierung 706, 806 kann die Lookup-Tabelle 301 bzw. die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 mittels der Winkelsignalwerte sowie mittels der daraus ableitbaren Winkelgeschwindigkeiten gemäß den obigen Ausführungen und Gleichungen berechnen.
  • Das heißt, die LUT-Autokalibrierung 706, 806 wird gemäß den obigen Ausführungen verwendet, um die für den jeweiligen Winkelsensor 201 optimale Lookup-Tabelle 301 zu ermitteln. Diese optimale Lookup-Tabelle 301 kann dann in der LUT-Kompensation 705, 805 verwendet werden, um die Nicht-Idealitäten des Winkelsensors 201 zu korrigieren bzw. zu kompensieren und so das bestmögliche korrigierte bzw. kompensierte Winkel-Ausgangssignal 707, 807 zu erhalten, welches möglichst gut, oder im besten Falle exakt, dem wahren Winkelwert, d.h. dem Winkel-Eingangssignal 701 entspricht.
  • Das in 8 beispielhaft abgebildete Blockdiagramm unterscheidet sich von dem in 7 abgebildeten Blockdiagramm unter anderem dadurch, dass das in der LUT-Kompensation 705, 805 korrigierte bzw. kompensierte Winkel-Ausgangssignal 807 in die LUT-Autokalibrierung 806 rückgeführt wird. Es handelt sich bei dem in 8 abgebildeten Ausführungsbeispiel somit um eine iterative LUT-Autokalibrierung 806, welche die Qualität der LUT-Kompensation 805 verbessern kann.
  • Das heißt, die LUT-Autokalibrierung 806 kann aus dem bereits LUT-kompensierten Winkel-Ausgangssignal 807 des Winkelsensors 201 berechnet werden. Das Ergebnis einer einmaligen LUT-Autokalibrierung ist somit nicht die Lookup-Tabelle 301 selbst, sondern ein Inkrement, das zu der bestehenden Lookup-Tabelle 301 hinzuaddiert wird. Es ist sinnvoll, die Lookup-Tabelle 301 zu initialisieren, wofür beispielsweise alle in der Lookup-Tabelle 301 anfänglich enthaltenen Korrekturwerte K1, K2, ..., Kn zu Null gesetzt werden, was einem idealen Sensor entspräche.
  • Zusammengefasst wäre demnach also der Ablauf in der in 8 dargestellten iterativen LUT-Autokalibrierung 806 wie folgt:
    1. 1. Initialisiere die Lookup-Tabelle (z.B. durch Nullsetzen)
    2. 2. Führe die LUT-Autokalibrierung durch
    3. 3. Addiere das erhaltene Ergebnis zu der bereits bestehenden Lookup-Tabelle
    4. 4. Fahre fort bei Schritt 2.
  • Dieser Ablauf kann in der Sensorapplikation beispielsweise kontinuierlich im Hintergrund ausgeführt werden.
  • Generell kann die (iterative) LUT-Autokalibrierung 706, 806 während der Anwendung des Winkelsensors 201 im laufenden Betrieb und im vorgesehenen Einsatzfeld des Winkelsensors 201 erfolgen. Die Berechnung der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 der Lookup-Tabelle 301 kann direkt in dem Winkelsensor 201 selbst ausgeführt werden. Alternativ oder zusätzlich kann die Berechnung beispielsweise in einem externen Mikrocontroller ausgeführt werden. Für eine derartige externe LUT-Autokalibrierung 706, 806 könnte beispielsweise die resultierende Lookup-Tabelle 301 im externen Mikrocontroller für die LUT-Kompensation 705, 805 genutzt werden, oder sie könnte in den Winkelsensor 201 selbst einprogrammiert sein und direkt von dem Winkelsensor 201 für die LUT-Kompensation 705, 805 verwendet werden.
  • Nachfolgend soll eine mögliche Implementierung des hierin beschriebenen Konzepts in Matlab beschrieben werden:

 function LUT = autocalLUT(uniformly_sampled_angles, N_LUT)
 % Autocalibration of the look-up table (LUT) of an angle sensor using the
 % finite difference approach. Requires constant angular acceleration during
 % sample acquisition.
 %
 % Inputs:
 % uniformly_sampled_angles ... Sensor's angle Output, sampled at a 



 % constant sampling frequency.
 % N_LUT ... Number of grid points of the LUT
    % angular distance between two LUT grid points
    LUT_delta = 360/N_LUT; % [deg]
    % Only necessary to check „constant angular velocity“ assumption:
    sum_of_angle_changes = 0;
    sum_of_squared_angle_changes = 0;
    accum_angle changes = zeros(1, N_LUT);
    accum_N = zeros(1,N_LUT);
    for cnt = 2:numel(uniformly_sampled_angles)
         % Binning with linear weights:
         % The 0.5 centers the final LUT w.r.t. the true one. This is
         % necessary due to the finite (N_LUT) grid point integration.
         float_index = 1 ...
             + mod(0.5+uniformly_sampled_angles(cnt)/LUT_delta, N_LUT);
         left = floor(float_index);
         weight = float_index - left;
         if left < N_LUT
             right = left+1;
         else
             % due to periodicity, the right neighbor of the last LUT grid
             % point is the first grid point
             right = 1;
         end
         angle_change = wrapTol80(uniformly_sampled_angles(cnt) ...
             -uniformly_sampled_angles(cnt-1)); % [deg]
         accum_angle_changes(left) = ...
             accum_angle_changes(left) + angle_change*(1-weight); % [deg]
         accum_angle_changes(right) = ...
             accum_angle_changes(right) + angle_change*weight; % [deg]
         accumN(left) = accum N(left) + (1-weight);
         accum_N(right) = accum_N(right) + weight;
         sum_of_angle_changes = sum_of_angle_changes + angle_change; %
         [deg] sum_of_squared_angle_changes = ...
             sum _of_squared_angle_changes + angle_change^2; % [deg^2]
    end
    % Only necessary to check „constant angular velocity“ assumption:
    % average of angle changes
    avg_angle_change = sum_of_angle_changes...
         /(numel(uniformly_sampled_angles)-1); % [deg]
    avg_squared_angle_change = sum_of_squared_angle_changes...
         /(numel(uniformly_sampled_angles)-1);% [deg^2]
    % variance of angle changes
    var_angle_change = ...
         avg_squared-angle_change^2_avg_angle_change^2; % [deg^2]
    % not implemented: check that variance of angle changes is sufficiently
    % small 



    num revs = sum(accum_angle_changes)/360; % number of revolutions/turns
    % average accumulated angle_changes
    angle_changes = accum_angle_changes./accum_N; % [deg]
    % estimate for the true angle change (which is constant for uniformly
    % sampled angles and constant angular velocity (assumption)!)
    est_true_angle_change = mean(angle_changes); % [deg]
    % deviation from true angle change
    deviation_of_angle_changes = ...
         angle_changes - est_true_angle_change; % [deg]
    % integrate to obtain deviations from ideal angle
    deviation_of_angle = cumsum(deviation_of_angle_changes); % [deg]
    % estimate for the true angle offset
    est_angle_offset = mean(deviation_of_angle); % [deg]
    unscaled_LUT = deviation_of_angle - est_angle_offset; % [deg]
    scaling = numel(uniformly_sampled_angles)/N_LUT/num_revs;
    LUT = unscaled_LUT * scaling; % [deg]; the final estimator for the
    LUT
    end
  • Der komplette Prozess wurde von den Erfindern in Matlab implementiert und darin verifiziert. Hierbei wurde eine Sensormodell mit einer zufällig gewählten Übertragungsfunktion modelliert. Eine gewisse Anzahl an äquidistant beabstandeten Referenzwinkel-Samples wurden in das Sensormodell eingegeben. Der Sensorausgang wurde in die Funktion autocaILUT() eingegeben, welche die optimale Lookup-Tabelle gemäß dem hierin beschriebenen Konzept berechnet.
  • In den 9A und 9B sind die Simulationsergebnisse abgebildet. In 9A wurde die berechnete optimale Lookup-Tabelle 301 (orange) nach der LUT-Autokalibrierung mit der Übertragungsfunktion 207 (blau) des Winkelsensors 201 verglichen. Die berechnete optimale Lookup-Tabelle 301 wurde zur Korrektur bzw. Kompensierung des Winkel-Ausgangssignals des Winkelsensors 201 eingesetzt. In 9B ist der entsprechende residuale Winkelfehler 901 (blau) ohne LUT-Autokalibrierung und LUT-Kompensation sowie der residuale Winkelfehler 902 (orange) mit der hierin beschriebenen LUT-Autokalibrierung 706 und LUT-Kompensation 705 gezeigt.
  • Auch die mit Bezug auf 8B beschriebene iterative LUT-Autokalibrierung 806 wurde simuliert. Die 10A und 10B zeigen die Simulationsergebnisse, wobei zu erkennen ist, dass die berechnete Lookup-Tabelle 301 in diesem Fall sogar noch genauer der Übertragungsfunktion 207 des Winkelsensors 201 entspricht als dies bei einer einmaligen Iteration der Fall ist.
  • 10A zeigt den Vergleich zwischen der Übertragungsfunktion 207 (blau) des Sensormodells und der berechneten Lookup-Tabelle 301 (orange) nach bereits zwei Iterationen mit der iterativen LUT-Autokalibrierung 806 und LUT-Kompensation 805. 10B zeigt den entsprechenden residualen Winkelfehler 901 (blau) ohne LUT-Autokalibrierung und LUT-Kompensation sowie den residualen Winkelfehler 902 (orange) mit der hierin beschriebenen iterativen LUT-Autokalibrierung 806 und LUT-Kompensation 805.
  • Zusammenfassend kann demnach also bei im Wesentlichen konstanten Winkelgeschwindigkeiten davon ausgegangen werden, dass ein idealer Sensor bei einer konstanten Abtastrate ein perfekt lineares Ausgangssignal liefert, d.h. Ausgangssignale, die bezüglich des Winkels gleich beabstandet sind. Für einen realen, nicht idealen, Winkelsensor 201 hingegen sieht das hierin beschriebene Konzept vor, dass von der ermittelten Abweichung von dieser Eigenschaft eine Lookup-Tabelle 301 erstellt werden kann (LUT Autokalibrierung). Diese Lookup-Tabelle 301 kann dann dafür verwendet werden, um die Nicht-Idealitäten des Winkelsensors 201 zu korrigieren bzw. zu kompensieren (LUT-Kompensation).
  • In dem nachfolgend beschriebenen nicht-limitierenden Ausführungsbeispiel können diese Nicht-Idealitäten sogar unter der Annahme einer nicht konstanten Winkelgeschwindigkeit korrigiert bzw. kompensiert werden. Stattdessen kann ein probabilistischer Ansatz verfolgt werden. Dieser basiert auf der Annahme, dass jedes Winkel-Eingangssignal bzw. jeder Eingangswinkel (input angle), d.h. jeder vom Winkelsensor 201 gemessene wahre Rotationswinkel, mit gleicher Wahrscheinlichkeit auftritt. Diese Annahme sollte auf die allermeisten rotierenden Anwendungen zutreffen, und zwar unabhängig von der aktuellen Winkelgeschwindigkeit.
  • Gesetz dem Falle, dass alle Winkel-Eingangssignale 701 mit derselben Wahrscheinlichkeit auftreten, würde ein idealer Sensor eine gleichmäßige Wahrscheinlichkeitsdichteverteilung in den ausgegebenen Winkel-Ausgangssignalen 502 aufweisen. Das heißt, auch die Winkel-Ausgangssignale 502 sollten ebenso gleichmäßig verteilt sein wie die Winkel-Eingangssignale 701. Ein realer, nicht perfekter, Winkelsensor 201 hingegen würde Abweichungen von der idealen Sensorübertragungsfunktion 207 aufweisen, welche dann wiederum die resultierende Wahrscheinlichkeitsdichte der Winkel-Ausgangssignale 502 beeinflussen.
  • Wenn man die Wahrscheinlichkeitsdichte empirisch bestimmen kann, indem man eine ausreichend hohe Anzahl an Samples betrachtet, kann auf die reale Übertragungsfunktion 207 des Winkelsensors 201 rückgeschlossen werden. Die Abweichungen der realen Übertragungsfunktion 207 des Winkelsensors 201 entspricht dann wiederum der gesuchten Lookup-Tabelle 301 bzw. der aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 zum Rekalibrieren der Lookup-Tabelle 301.
  • 11 zeigt schematisch einen solchen probabilistischen Ansatz zum Bestimmen der Übertragungsfunktion 207 eines Winkelsensors 201 basierend auf der Wahrscheinlichkeitsdichteverteilung von Winkel-Eingangssignalen 701 und den entsprechenden Winkel-Ausgangssignalen 502.
  • In 11, unten, ist die Wahrscheinlichkeitsdichteverteilung 209 von Winkel-Eingangssignalen 701 abgebildet. Es wird angenommen, dass über eine vollständige Rotation von 360° alle Winkel-Eingangssignale 701 mit derselben Wahrscheinlichkeit, d.h. mit 1/360, auftreten.
  • In 11, Mitte, sind die Übertragungsfunktion 208 eines idealen Sensors sowie die Übertragungsfunktion 207 eines realen, nicht idealen, Winkelsensors 201 abgebildet. Die Übertragungsfunktion 208 des idealen Sensors weist eine Steigung von 1 auf, d.h. die Winkel-Ausgangssignale 502 des idealen Sensors treten, ebenso wie die Winkel-Eingangssignale 701, mit derselben Wahrscheinlichkeit auf. Die Übertragungsfunktion 207 des realen, nicht idealen, Winkelsensors 201 weicht hingegen von dieser idealen Sensorübertragungsfunktion 208 ab.
  • In 11, links, sind die Wahrscheinlichkeitsdichteverteilung 210 der Winkel-Ausgangssignale 502 des idealen Sensors sowie die Wahrscheinlichkeitsdichteverteilung 211 der Winkel-Ausgangssignale 502 des realen, nicht idealen, Winkelsensors 201 abgebildet.
  • Wie eingangs erwähnt, ist die Übertragungsfunktion 207 des realen, nicht idealen, Winkelsensors 201 anfangs nicht bekannt und soll daher mit dem hierin beschriebenen Konzept, basierend auf dem probabilistischen Ansatz, ermittelt werden. Mit der Durchführung einer Vielzahl an Messungen erhält man eine entsprechende Vielzahl an Winkel-Ausgangssignalen 502 (Samples). Aufgrund der erwähnten nicht-Idealitäten des Winkelsensors 201 treten manche Winkel-Ausgangssignale 502 häufiger auf als andere.
  • Dies ist in 11, links, zu sehen. Beispielsweise gibt es ein erstes Maximum 221 bei etwa 80° sowie ein zweites Maximum 222 bei etwa 290°. Das heißt, der Winkelsensor 201 weist in diesem Bereich eine Streuung in der Messung auf und weist mehreren Werten bzw. Winkel-Eingangssignalen 701 einen Wert im Bereich des jeweiligen Maximums 221, 222 zu. Beispielsweise kann der Winkelsensor 201 aufgrund von nicht-Idealitäten Werte im Bereich von 80° ±5° als 80° interpretieren, sodass das entsprechende Winkel-Ausgangssignal für 80° im Vergleich zu anderen Winkel-Ausgangssignalen mit höherer Wahrscheinlichkeit auftritt, weshalb die Wahrscheinlichkeitsdichteverteilung im Bereich von 80° das erste Maximum 221 ausbildet. Selbiges gilt für das zweite Maximum 222 im Bereich von 290°.
  • Dementsprechend kann auf Basis dieser Wahrscheinlichkeitsdichteverteilung 211 der Winkel-Ausgangssignale 502 auf die Übertragungsfunktion 207 des Winkelsensors 201 rückgeschlossen werden. Im Bereich der Maxima 221, 222 weist die Übertragungsfunktion 207 (11, Mitte) des Winkelsensors 201 eine verhältnismäßig flache Steigung auf, d.h. die Steigung der Übertragungsfunktion 207 ist an dieser Stelle kleiner als 1 und somit flacher als bei der Übertragungsfunktion 208 des idealen Sensors. Es werden also mehrere Eingangswinkel (11, unten) auf dasselbe Winkel-Ausgangssignal (11, links) gemapped, sodass sich dort das jeweilige Maximum 221, 222 in der Wahrscheinlichkeitsdichteverteilung 211 einstellt.
  • Genau anders herum verhält es sich bei den rein beispielhaft abgebildeten ersten und zweiten Minima 231, 232 in der Wahrscheinlichkeitsdichteverteilung 211 der Winkel-Ausgangssignale (11, links). Die beiden Minima 231, 232 treten in diesem nicht-limitierenden Beispiel bei etwa 200° sowie bei etwa 320° auf. Beispielsweise zeigt der Winkelsensor 201 aufgrund von nicht-Idealitäten die entsprechenden Werte bei etwa 200° bzw. bei etwa 320° weniger häufig an als andere Werte. Beispielsweise kann der tatsächliche Eingangswinkel von 200° vom Winkelsensor 201 häufig als ein von 200° abweichender Wert (z.B. 198°, 199°, 201°, 202°, ...) interpretiert werden, sodass das eigentliche Winkel-Ausgangssignal nur selten bzw. mit geringer Wahrscheinlichkeit genau mit 200° wiedergegeben wird.
  • Im Bereich der Minima 231, 232 weist die Übertragungsfunktion 207 (11, Mitte) des Winkelsensors 201 somit eine verhältnismäßig große Steigung auf, d.h. die Steigung der Übertragungsfunktion 207 ist an dieser Stelle größer als 1 und somit steiler als bei der Übertragungsfunktion 208 des idealen Sensors. Es wird also ein Winkel-Eingangssignal (11, unten) auf unterschiedliche Winkel-Ausgangssignale (11, links) gemapped, sodass sich dort das jeweilige Minimum 231, 232 in der Wahrscheinlichkeitsdichteverteilung 211 einstellt.
  • Zusammenfassend kann also gesagt werden, dass eine Vielzahl von Winkel-Ausgangssignalen erfasst wird, deren Wahrscheinlichkeitsdichte 211 bestimmt werden kann. In der ermittelten Wahrscheinlichkeitsdichte 211 ergeben sich, je nach Verhalten des Winkelsensors 201, Abweichungen von der idealen Kennlinie für die Winkel-Ausgangssignale. Basierend hierauf kann die Steigung der Übertragungsfunktion 207 des Winkelsensors 201 ermittelt werden. Diese so ermittelte Übertragungsfunktion 207 repräsentiert die nicht-Idealitäten des realen, nicht idealen, Winkelsensors 201 und entspricht somit der gewünschten Lookup-Tabelle 301 bzw. der aktualisierten Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1.
  • Gemäß einer solchen Ausführungsform kann also das hierin offenbarte Verfahren nach dem probabilistischen Ansatz einen Schritt des Bestimmens einer Wahrscheinlichkeitsdichte 211 mehrerer Winkel-Ausgangssignale 502 aufweisen. Die Bestimmung der Wahrscheinlichkeitsdichte 211 basiert hierbei auf einer Vielzahl von Winkel-Ausgangssignalen 502 aus der empfangenen Sequenz 205 von Winkel-Ausgangssignalen 502 und/oder auf einer Vielzahl von weiteren Winkel-Ausgangssignalen aus einer oder mehreren weiteren Sequenzen von Winkel-Ausgangssignalen. Die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 kann dann basierend auf dieser Wahrscheinlichkeitsdichte 211 bestimmt werden.
  • Die Abweichungen der Übertragungsfunktion 207 des realen, nicht idealen, Winkelsensors 201 von der optimalen Übertragungsfunktion 208 (Steigung y = 1) eines idealen Sensors können beispielsweise durch Differenzenbildung der jeweiligen Wahrscheinlichkeitsdichte 210, 211 bestimmt werden. Das heißt, die Differenz zwischen der ermittelten bzw. bestimmten Wahrscheinlichkeitsdichte 211 (11, links) des realen, nicht idealen, Winkelsensors 201 und der angenommenen gleichmäßig verteilten Wahrscheinlichkeitsdichte 210 eines idealen Sensors repräsentieren die Unregelmäßigkeiten in der Übertragungsfunktion 207 des Winkelsensors 201 (11, Mitte), wodurch sich wiederum die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 bestimmen lässt.
  • Gemäß einer solchen Ausführungsform kann also die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 basierend auf einer Differenz zwischen der bestimmten Wahrscheinlichkeitsdichte 211 und einer angenommenen gleichmäßig verteilten Wahrscheinlichkeitsdichte 210 von Winkel-Ausgangssignalen bestimmt werden.
  • Dabei basiert die angenommene gleichmäßig verteilte Wahrscheinlichkeitsdichte 211 auf der Annahme, dass jeder gemessene Winkel (Eingangswinkel bzw. Winkel-Eingangssignalen 701) während einer tatsächlichen Rotation zwischen dem Winkelsensor 201 und dem sich drehenden Magnetfeld 202 statistisch mit derselben Wahrscheinlichkeit auftritt.
  • Es folgt eine kurze mathematische Abhandlung zu dem unter Bezugnahme auf 11 beschriebenen Ausführungsbeispiel zur LUT-Autokalibrierung basierend auf dem probabilistischen Ansatz. Dabei sind wahre Werte mit dem Zirkumflex ^ bezeichnet. Es wird zunächst eine Anzahl NSamples willkürlich beabstandeter Winkel-Ausgangssignale erfasst. Diese Winkel-Ausgangssignale werden mit αm bezeichnet, mit einem Sample Index m zwischen 1 bis NSamples. Die entsprechenden wahren Rotationswinkel werden dann mit α̂m bezeichnet.
  • Wie eingangs erwähnt, wird angenommen, dass die wahren Rotationswinkel gemäß p(α̂) = 1/360° gleichmäßig verteilt sind.
  • Die wahre Lookup-Tabelle 301, die, wie eingangs erwähnt, den Abweichungen der Übertragungsfunktion 207 des Winkelsensors 201 von der idealen Übertragungsfunktion 208 entspricht, wird definiert als LUT(α) = α - α̂(α). Dies entspricht (für ein gewisses Winkel-Ausgangssignal a und abgesehen von Signalrauschen) der Differenz zwischen dem Winkel-Ausgangssignal und dem wahren Rotationswinkel. Da die Lookup-Tabelle 301 lediglich die anharmonischen Fehler beschreiben sollte, kann angenommen werden, dass deren Mittel über 360° verschwindet, d.h.
    1 360 ° 0 360 ° L U T ( α ) d α = 0.
    Figure DE102019215949B4_0015
    (14)
  • In der Realität wird die Lookup-Tabelle 301 für gewöhnlich eine finite Anzahl an Stützstellen aufweisen, die mit NLUT bezeichnet wird. Nichtsdestotrotz soll zunächst einmal das mathematische Konzept für kontinuierliche Variablen beschrieben werden.
  • Die Erhaltung von Wahrscheinlichkeiten p(x) dx = p(y) dy ermöglicht die Berechnung der Wahrscheinlichkeitsdichtefunktion für die Winkel-Ausgangssignale, gemäß
    p ( α ) = p ( α ^ ) d α ^ d α = 1 360 ° d α ^ d α .
    Figure DE102019215949B4_0016
    (15)
  • Eine Integration dieser Gleichung ergibt die kumulierte Verteilungsfunktion
    F ( α ) = 0 α p ( α ) d α + C 1 = 0 α 1 360 ° d α ^ d α d α + C 1 = α ^ ( α ) α ^ ( 0 ) 360 ° + C 1 = α ^ ( α ) 360 ° + C 2 ,
    Figure DE102019215949B4_0017
    (16)
    mit der Integrationskonstanten Cn. Aufgelöst nach α̂ und unter Verwendung der definierenden Gleichung für die Lookup-Tabelle ergibt sich, abgesehen von der Integrationskonstante
    l u t ( α ) : = L U T ( α ) + C 3 = α α ^ ( α ) + C 3 = α 360 ° 0 α p ( α ) d α .
    Figure DE102019215949B4_0018
    (17)
  • Unter Verwendung von Gleichung (1) ergibt sich die Integrationskonstante zu
    C 3 = 1 360 ° 0 360 ° l u t ( α ) d α .
    Figure DE102019215949B4_0019
    (18)
  • Subtraktion dieser Konstanten von Gleichung (4) ergibt letztlich
    L U T ( α ) = l u t ( α ) C 3 .
    Figure DE102019215949B4_0020
    (19)
  • Die Gleichungen (4) bis (6) zeigen wie die optimale Lookup-Tabelle 301, beziehungsweise die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1, basierend auf der Wahrscheinlichkeitsdichtefunktion der Winkel-Ausgangssignale berechnet werden kann. Die obigen Gleichungen sollten nun noch auf eine finite Anzahl NLUT von Stützstellen für die Lookup-Tabelle 301 begrenzt werden, um das Verfahren numerisch implementierbar zu machen.
  • Für genügend viele Samples über eine genügend hohe Anzahl (bevorzugt ein ganzzahliges Vielfaches) an Umdrehungen werden die jeweiligen Samples αm der Winkel-Ausgangssignale des Winkelsensors 201 betrachtet. Die Anzahl der betrachteten Samples ni kann beispielsweise unter Verwendung eines gewichteten Binnings für jede Lookup-Tabelle bin i ∈ {1...NLUT} akkumuliert werden. Die Summation aller ni ergibt demnach die Gesamtzahl der Samples gemäß
    N s a m p l e s = i = 1 N L U T n i ,
    Figure DE102019215949B4_0021
    (20)
    und eine geeignete Normalisierung ergibt die empirische Wahrscheinlichkeit ein Sample in der entsprechenden Lookup-Tabelle LUT bin i zu finden
    P i = n i N s a m p l e s .
    Figure DE102019215949B4_0022
    (21)
  • Die Angabe „genügend viele Samples „sowie „genügend hohe Anzahl an Umdrehungen“ beziehen sich auf diese Wahrscheinlichkeiten. Sie sollten groß genug sein, sodass diese Wahrscheinlichkeiten einen stationären Zustand einnehmen. Für diskretisierte Bins können die Integrationen durch Summenbildungen ersetzt werden. Dementsprechend ergäbe sich für die Gleichungen (4) bis (6):
    l u t i : = l u t ( α i ) = α i 360 ° j = 1 i P j ,
    Figure DE102019215949B4_0023
    (22)
    C 3 = 1 N L U T l = 1 N L U T l u t i ,
    Figure DE102019215949B4_0024
    (23)
    L U T i : = L U T ( α i ) = l u t i C 3 .
    Figure DE102019215949B4_0025
    (24)
  • Die Gleichungen (7) bis (12) zeigen, wie die optimale Lookup-Tabelle 301 aus einer finiten Anzahl an Winkel-Ausgangssignalen des Winkelsensors 201 berechnet werden kann. Die Winkel-Ausgangssignale können hierbei direkt in der Sensorapplikation erfasst werden.
  • Auch bei dem hier beschriebenen probabilistischen Ansatz können vor der Anwendung der ermittelten optimalen Lookup-Tabelle 301 harmonische Nichtidealitäten (d.h. konstant und/oder proportional zum Sinus bzw. Cosinus des Winkels) mittels einer sogenannten Amplituden-Phasen-Offset (AOP) Kompensation korrigiert werden. Hierfür können Autokalibrierungsverfahren eingesetzt werden, mittels derer die Parameter für die Kompensation während der Anwendung optimiert werden können. Dies reduziert die unerwünschten Effekte, die harmonische Nichtidealitäten, beispielsweise bedingt durch Temperatur oder Lifetime-Drift, auf den residualen Winkelfehler ausüben.
  • Die 12 und 13 zeigen nicht-limitierende Beispiele für das hierin beschriebene probabilistische Konzept, ähnlich zu den zuvor diskutierten 7 und 8, weshalb Blöcke mit gleicher oder ähnlicher Funktion mit denselben Bezugszeichen gekennzeichnet sind.
  • Das Winkel-Eingangssignal 701 kann zunächst ein beliebiges Rotationssignal sein. Beispielsweise kann es sich um ein im Wesentlichen periodisches Signal handeln, das sich bei einer Drehung mit einer im Wesentlichen konstanten Winkelgeschwindigkeit ergibt. Alternativ kann es sich bei dem hier beschriebenen probabilistischen Ansatz aber auch um ein nicht periodisches Signal, d.h. unabhängig von einer konstanten Winkelgeschwindigkeit, handeln. Der reelle und in der Regel nicht-ideale Winkelsensor 201 übersetzt das Winkel-Eingangssignal 701 in ein elektrisches bzw. logisches Zwischensignal 502 (Winkel-Ausgangssignal) bzw. in eine Sequenz 205 von Zwischensignalen.
  • Anschließend kann eine AOP-Kompensation 702, 802 und optional eine AOP-Autokalibrierung 703, 803 durchgeführt werden, um die harmonischen Nicht-Idealitäten zu korrigieren bzw. zu kompensieren. Sowohl die AOP-Kompensation 702, 802 als auch die AOP-Autokalibrierung 703, 803 sind jedoch optional.
  • Das (optional AOP-korrigierte) Signal 502 des Winkelsensors 201 kann dann als Input der nachfolgenden LUT-Kompensation 705, 805 und LUT-Autokalibrierung 706, 806 zugeführt werden. Die LUT-Autokalibrierung 706, 806 kann die LUT-Tabelle 301 bzw. die aktualisierte Version 403 der ein oder mehreren Korrekturwerte K11, K21, ..., Kn1 mittels der Vielzahl von Winkel-Ausgangssignalen und deren Wahrscheinlichkeitsdichtefunktion 211 gemäß den obigen Ausführungen und Gleichungen berechnen.
  • Das heißt, die LUT-Autokalibrierung 706, 806 wird gemäß den obigen Ausführungen verwendet, um die für den jeweiligen Winkelsensor 201 optimale Lookup-Tabelle 301 basierend auf der ermittelten Wahrscheinlichkeitsdichtefunktion 211 der Vielzahl von Winkel-Ausgangssignalen 502 des Winkelsensors 201 zu bestimmen. Diese optimale Lookup-Tabelle 301 kann dann in der LUT-Kompensation 705, 805 verwendet werden, um die Nicht-Idealitäten des Winkelsensors 201 zu korrigieren bzw. zu kompensieren und so das bestmögliche korrigierte bzw. kompensierte Winkel-Ausgangssignal 707, 807 zu erhalten, welches möglichst gut, oder im besten Falle exakt, dem wahren Rotationswinkel, d.h. dem Winkel-Eingangssignal 701, entspricht.
  • Das in 13 beispielhaft abgebildete Blockdiagramm unterscheidet sich von dem in 12 abgebildeten Blockdiagramm unter anderem dadurch, dass das in der LUT-Kompensation 705, 805 korrigierte bzw. kompensierte Winkel-Ausgangssignal 807 in die LUT-Autokalibrierung 806 rückgeführt wird. Es handelt sich bei dem in 13 abgebildeten Ausführungsbeispiel somit um eine iterative LUT-Autokalibrierung 806, welche die Qualität der LUT-Kompensation 805 verbessern kann.
  • Das heißt, die LUT-Autokalibrierung 806 kann aus dem bereits LUT-kompensierten Winkel-Ausgangssignal 807 des Winkelsensors 201 berechnet werden. Das Ergebnis einer einmaligen LUT-Autokalibrierung ist somit nicht die Lookup-Tabelle 301 selbst, sondern ein Inkrement, das zu der bestehenden Lookup-Tabelle 301 hinzuaddiert werden kann. Es ist sinnvoll, die Lookup-Tabelle 301 zu initialisieren, wofür beispielsweise alle in der Lookup-Tabelle 301 anfänglich enthaltenen Korrekturwerte K1, K2, ..., Kn zu Null gesetzt werden, was einem idealen Sensor entspräche.
  • Zusammengefasst wäre demnach also der Ablauf in der in 13 dargestellten iterativen LUT-Autokalibrierung 806 wie folgt:
    1. 1. Initialisiere die Lookup-Tabelle (z.B. durch Nullsetzen)
    2. 2. Führe die LUT-Autokalibrierung durch
    3. 3. Addiere das erhaltene Ergebnis zu der bereits bestehenden Lookup-Tabelle
    4. 4. Fahre fort bei Schritt 2.
  • Dieser Ablauf kann in der Sensorapplikation beispielsweise kontinuierlich im Hintergrund ausgeführt werden.
  • Nachfolgend soll eine mögliche Implementierung des hierin beschriebenen Konzepts in Matlab beschrieben werden:
  • 
     function LUT = autocalLUTProbabilistic(sampled_angles, N_LUT)
     % Autocalibration of the look-up table (LUT) of an angle sensor using the
     % probabilistic approach.
     %
     %
     % Inputs:
     % sampled angles ... Sensor's angle output, arbitrarily sampled
     % N LUT ... Number of grid points of the LUT
        % angular distance between two LUT grid points
        LUT delta = 360/N_LUT; % [deg]
        % LUT grid points
        LUT_angles = 0:LUT_delta:360-LUT_delta; % [deg]
        accum_N = zeros(1,N LUT);
        for cnt = 1:numel(sampled_angles)
             % Binning with linear weights:
             % The 0.5 centers the final LUT w.r.t. the true one. This is
             % necessary due to the finite (N_LUT) grid point integration.
             float index = 1 + mod(0.5+sampled_angles(cnt)/LUT_delta, N_LUT);
             left = floor(float_index);
             weight = float_index - left;
             if left < N_LUT
                  right = left+1;
             else
                  % due to periodicity, the right neighbor of the last LUT grid
                  % point is the first grid point
                  right = 1;
             end
             accum N(left) = accum_N(left) + (1-weight);
             accum_N(right) = accum_N(right) + weight;
        end 
    
    
    
        % empirical probabilities of finding samples in LUT bins
        emp_prob = accum_N/numel(sampled_angles);
        % LUT including an offset (Integration constant)
        LUT_tilde = LUT_angles - 360*cumsum(emp_prob); % [deg]
        % estimate for the offset (Integration constant)
        angle_offset = mean(LUT_tilde); % [deg]
        % the final estimator for the LUT
        LUT = LUT_tilde - angle_offset; % [deg]
        end
  • Der komplette Prozess der LUT-Autokalibrierung 706, 806 sowie der LUT-Kompensation 705, 805 mittels des hierin beschriebenen probabilistischen Ansatzes wurde von den Erfindern in Matlab implementiert und darin verifiziert. Hierbei wurde eine Sensormodell mit einer zufällig gewählten Übertragungsfunktion modelliert. Eine gewisse Anzahl an zufällig ausgewählten, gleichmäßig zwischen 0° und 360° verteilten, Referenz-Winkelsignalen wurde in das Sensormodell eingegeben. Der Sensorausgang wurde in die Funktion autocaILUT() eingegeben, welche die optimale Lookup-Tabelle gemäß dem hierin beschriebenen probabilistischen Ansatz berechnet.
  • In den 14A und 14B sind die Simulationsergebnisse abgebildet. In 14A wurde die berechnete optimale Lookup-Tabelle 301 (orange) nach der LUT-Autokalibrierung mit der Übertragungsfunktion 207 (blau) des Winkelsensors 201 verglichen. Die berechnete optimale Lookup-Tabelle 301 wurde zur Korrektur bzw. Kompensierung des Winkel-Ausgangssignals des Winkelsensors 201 eingesetzt. In 14B sind der entsprechende residuale Winkelfehler 1401 (braun/orange) ohne der hierin beschriebenen LUT-Autokalibrierung und LUT-Kompensation sowie der residuale Winkelfehler 1402 (gelb) mit der hierin beschriebenen LUT-Autokalibrierung 706 und LUT-Kompensation 705 nach dem probabilistischen Ansatz gezeigt.
  • Auch die mit Bezug auf 13 beschriebene iterative LUT-Autokalibrierung 806 wurde simuliert. Die 15A und 15B zeigen die Simulationsergebnisse, wobei zu erkennen ist, dass die berechnete Lookup-Tabelle 301 in diesem Fall sogar noch genauer der Übertragungsfunktion 207 des Winkelsensors 201 entspricht als dies bei einer einmaligen Iteration der Fall ist.
  • 15A zeigt den Vergleich zwischen der Übertragungsfunktion 207 (blau) des Sensormodells und der berechneten Lookup-Tabelle 301 (orange) nach bereits zwei Iterationen mit der iterativen LUT-Autokalibrierung 806 und LUT-Kompensation 805. 15B zeigt den entsprechenden residualen Winkelfehler 1401 (braun/orange) ohne der hierin beschriebenen LUT-Autokalibrierung 706, 806 und LUT-Kompensation 705, 805 sowie den residualen Winkelfehler 1402 (gelb) mit der hierin beschriebenen iterativen LUT-Autokalibrierung 806 und LUT-Kompensation 805 nach dem probabilistischen Ansatz.
  • Zusammenfassend kann also festgehalten werden, dass für gleichmäßig verteilte Winkel-Eingangssignale 701 ebenso gleichmäßig verteilte Winkel-Ausgangssignale 502 von einem idealen Sensor zu erwarten sind. Für einen realen, nicht idealen Winkelsensor 201, kann gemäß dem hierin beschriebenen probabilistischen Ansatz, eine Lookup-Tabelle 301 basierend auf einer empirischen und probabilistischen Winkelverteilung innerhalb der Sensorapplikation bestimmt werden, was hierin auch als LUT-Autokalibrierung 706, 806 bezeichnet wird. Diese Lookup-Tabelle 301 kann dann zur Korrektur bzw. Kompensation der nicht-Idealitäten des realen Winkelsensors 201 verwendet werden.
  • In anderen Worten werden in dieser Offenbarung, unter anderem, unterschiedliche Verfahren zur Autokalibrierung von Lookup-Tabellen 301 für Winkelsensoren 201 beschrieben, sowie unterschiedliche Konzepte von Sensorsystemen, die geeignet sind, um die besagten Verfahren zu implementieren. Mit der hierin beschriebenen LUT-Autokalibrierung kann beispielsweise eine durch anharmonische Unregelmäßigkeiten hervorgerufene Sensordrift korrigiert bzw. kompensiert werden.
  • Ein Verfahren beschreibt die Durchführung der LUT-Autokalibrierung 706, 806 basierend auf der finiten Differenzenmethode unter der Annahme einer im Wesentlichen konstanten Winkelgeschwindigkeit. Der Rechenaufwand hierbei liegt bei (3 mult + 6 add + 1 sub) / sample+const. Der Speicherbedarf liegt bei 2*LUT + ein paar wenige Skalare.
  • Ein weiteres Verfahren beschreibt die Durchführung der LUT-Autokalibrierung 706, 806 basierend auf einem probabilistischen Ansatz basierend auf der Annahme, dass alle Winkel-Eingangssignale mit gleicher Wahrscheinlichkeit auftreten, z.B. ausreichend schnell. Der Rechenaufwand hierbei liegt bei 2 add / sample+const. Der Speicherbedarf liegt bei 1*LUT + ein paar wenige Skalare.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der hierin beschriebenen Prinzipien dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass das hierin beschriebene Konzept durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
  • Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden.
  • Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele des hierin beschriebenen Konzepts in Hardware oder in Software oder zumindest teilweise in Hardware oder zumindest teilweise in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
  • Manche Ausführungsbeispiele gemäß des hierin beschriebenen Konzepts umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
  • Allgemein können Ausführungsbeispiele des hierin beschriebenen Konzepts als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
  • Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
  • Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinen-lesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des hierin beschriebenen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
  • Ein weiteres Ausführungsbeispiel des hierin beschriebenen Konzepts ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger oder das digitale Speichermedium oder das computerlesbare Medium sind typischerweise greifbar und/oder nicht flüchtig.
  • Ein weiteres Ausführungsbeispiel des hierin beschriebenen Konzepts ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
  • Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
  • Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
  • Ein weiteres Ausführungsbeispiel umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen.
  • Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
  • Claims (10)

    1. Verfahren (100) zum Bestimmen der Übertragungsfunktion (207) eines Winkelsensors (201) im laufenden Betrieb, wobei das Verfahren (100) die folgenden Schritte aufweist: Empfangen (101) einer Sequenz (205) von Winkel-Ausgangssignalen (502) des Winkelsensors (201) während zumindest einem Zeitintervall (Δt), in dem der Winkelsensor (201) einem sich drehenden Magnetfeld (202) ausgesetzt ist, und Bestimmen (102) der Übertragungsfunktion (207) des Winkelsensors (201) basierend auf der Sequenz (205) von Winkel-Ausgangssignalen (502) und während des regulären Betriebs des Winkelsensors (201), Beziehen von ein oder mehreren Korrekturwerten (K1, K2, ..., Kn) aus einer Lookup-Tabelle (301), Verwenden der ein oder mehreren Korrekturwerte (K1, K2, ..., Kn), um Irregularitäten der Übertragungsfunktion (207) des Winkelsensors (201) zu korrigieren, und/oder um die Übertragungsfunktion (207) zu linearisieren und ein entsprechend korrigiertes Winkel-Ausgangssignal (707, 807) zu erhalten, ein mindestens einmaliges Rekalibrieren der Lookup-Tabelle (301), indem die Lookup-Tabelle (301) mit einer aktualisierten Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) befüllt wird, wobei diese aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmt wird, und Bestimmen einer Wahrscheinlichkeitsdichte (211) mehrerer Winkel-Ausgangssignale (502), wobei die Bestimmung der Wahrscheinlichkeitsdichte (211) auf einer Vielzahl von Winkel-Ausgangssignalen (502) aus der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) und/oder auf einer Vielzahl von weiteren Winkel-Ausgangssignalen aus einer oder mehreren weiteren Sequenzen von Winkel-Ausgangssignalen basiert, und wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf dieser Wahrscheinlichkeitsdichte (211) bestimmt wird.
    2. Verfahren (100) nach Anspruch 1, wobei der Schritt (102) des Bestimmens der Übertragungsfunktion (207) im laufenden Betrieb unabhängig von einem Referenzwinkelsignal geschieht, welches einen Basiswinkel beschreibt.
    3. Verfahren (100) nach Anspruch 1 oder 2, wobei das Verfahren (100) zumindest einmalig oder kontinuierlich während der Verwendung des Winkelsensors (201) an seinem vorgesehenen Bestimmungsort ausgeführt wird.
    4. Verfahren (100) nach einem der Ansprüche 1 bis 3, wobei das Verfahren (100) beinhaltet, dass die Lookup-Tabelle (301) mehrfach und wiederholt rekalibriert wird, indem die Lookup-Tabelle (301) mit einer jeweils aktualisierten Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) befüllt wird, wobei die jeweilige aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmt wird.
    5. Verfahren (100) nach einem der Ansprüche 1 bis 4, wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf einer Differenz zwischen der bestimmten Wahrscheinlichkeitsdichte (211) und einer angenommenen gleichmäßig verteilten Wahrscheinlichkeitsdichte (210) von Winkel-Ausgangssignalen (502) bestimmt wird.
    6. Verfahren (100) nach Anspruch 5, wobei die angenommene gleichmäßig verteilte Wahrscheinlichkeitsdichte (210) von Winkel-Ausgangssignalen (502) auf der Annahme basiert, dass jeder gemessene Winkel einer tatsächlichen Rotation zwischen dem Winkelsensor (201) und dem sich drehenden Magnetfeld (202) statistisch mit derselben Wahrscheinlichkeit auftritt.
    7. Verfahren (100) nach einem der Ansprüche 1 bis 6, wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) den Irregularitäten der ermittelten Übertragungsfunktion (207) des Winkelsensors (201) gegenüber einer linearisierten Übertragungsfunktion entspricht.
    8. Verfahren (100) nach einem der Ansprüche 1 bis 7, wobei das Verfahren ferner das Anwenden einer Amplituden-Offset-Phasen Korrektur (AOP) auf die Sequenz (205) von Winkel-Ausgangssignalen (502) beinhaltet, wobei eine Amplitudendifferenz und/oder ein Offset und/oder eine Phasendifferenz zwischen einer ersten und einer zweiten Signalkomponente eines Winkel-Ausgangssignals (502) korrigiert wird, um eine entsprechende Amplituden-Offset-Phasen-korrigierte Sequenz von Winkel-Ausgangssignalen zu erhalten, und wobei das Verfahren (100) beinhaltet, dass diese Amplituden-Offset-Phasen-korrigierte Sequenz von Winkel-Ausgangssignalen als die Sequenz (205) von Winkel-Ausgangssignalen (502) verwendet wird.
    9. Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens (100) nach Anspruch 8, wenn das Programm auf einem Computer abläuft.
    10. Vorrichtung (200) zum Bestimmen der Übertragungsfunktion (207) eines Winkelsensors (201) im laufenden Betrieb, wobei die Vorrichtung (200) aufweist: eine Signalauswertevorrichtung (204) zum Empfangen einer Sequenz (205) von Winkel-Ausgangssignalen (502) des Winkelsensors (201) während zumindest einem Zeitintervall (Δt), in dem der Winkelsensor (201) einem sich drehenden Magnetfeld (202) ausgesetzt ist, und zum Bestimmen der Übertragungsfunktion (207) des Winkelsensors (201) basierend auf der Sequenz (205) von Winkel-Ausgangssignalen (502) und während des regulären Betriebs des Winkelsensors (201), und wobei die Vorrichtung ausgelegt ist, um ein oder mehrere Korrekturwerte (K1, K2, ..., Kn) aus einer Lookup-Tabelle (301) zu beziehen, um die ein oder mehreren Korrekturwerte (K1, K2, ..., Kn) zu verwenden, um Irregularitäten der Übertragungsfunktion (207) des Winkelsensors (201) zu korrigieren, und/oder um die Übertragungsfunktion (207) zu linearisieren und ein entsprechend korrigiertes Winkel-Ausgangssignal (707, 807) zu erhalten, um die Lookup-Tabelle (301) mindestens einmal zu rekalibrieren , indem die Lookup-Tabelle (301) mit einer aktualisierten Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) befüllt wird, wobei diese aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmt wird, und um eine Wahrscheinlichkeitsdichte (211) mehrerer Winkel-Ausgangssignale (502) zu bestimmen, wobei die Bestimmung der Wahrscheinlichkeitsdichte (211) auf einer Vielzahl von Winkel-Ausgangssignalen (502) aus der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) und/oder auf einer Vielzahl von weiteren Winkel-Ausgangssignalen aus einer oder mehreren weiteren Sequenzen von Winkel-Ausgangssignalen basiert, und wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf dieser Wahrscheinlichkeitsdichte (211) bestimmt wird.
    DE102019215949.4A 2019-10-16 2019-10-16 Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors Active DE102019215949B4 (de)

    Priority Applications (2)

    Application Number Priority Date Filing Date Title
    DE102019215949.4A DE102019215949B4 (de) 2019-10-16 2019-10-16 Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors
    US16/949,012 US11946772B2 (en) 2019-10-16 2020-10-09 Device and method for determining the transfer function of an angle sensor

    Applications Claiming Priority (1)

    Application Number Priority Date Filing Date Title
    DE102019215949.4A DE102019215949B4 (de) 2019-10-16 2019-10-16 Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors

    Publications (1)

    Publication Number Publication Date
    DE102019215949B4 true DE102019215949B4 (de) 2021-04-08

    Family

    ID=74875682

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102019215949.4A Active DE102019215949B4 (de) 2019-10-16 2019-10-16 Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors

    Country Status (2)

    Country Link
    US (1) US11946772B2 (de)
    DE (1) DE102019215949B4 (de)

    Families Citing this family (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP4174444A1 (de) * 2021-10-28 2023-05-03 Renesas Electronics America Inc. Verfahren zur dynamischen fehlerkompensierung eines positionssensors und positionssensor mit dynamischer fehlerkompensierung

    Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102004024398A1 (de) * 2004-05-17 2005-12-15 Infineon Technologies Ag Verfahren und Vorrichtungen zum Einstellen einer Bestimmungsvorschrift eines Winkelsensors
    US20150362348A1 (en) * 2014-06-12 2015-12-17 Faro Technologies, Inc. Metrology device and a method for compensating for bearing runout error
    DE102005024879B4 (de) * 2005-05-31 2018-12-06 Infineon Technologies Ag Verfahren zum Bestimmen von Restfehler-Kompensationsparametern für einen magnetoresistiven Winkelsensor und Verfahren zum Verringern eines Restwinkelfehlers bei einem magnetoresistiven Winkelsensor

    Family Cites Families (11)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    KR100478978B1 (ko) 2004-12-28 2005-03-28 (주)다림시스템 홀아이씨를 이용한 회전각도 측정장치 및 그 방법
    JP2009303358A (ja) * 2008-06-12 2009-12-24 Canon Inc 変位検出方法、補正テーブル作成方法、モータ制御装置及び工作機械装置
    CN104169687B (zh) * 2012-03-16 2016-08-24 三菱电机株式会社 角度检测装置
    JP6191840B2 (ja) * 2015-07-31 2017-09-06 Tdk株式会社 角度センサの補正装置および補正方法ならびに角度センサ
    WO2017090153A1 (ja) * 2015-11-26 2017-06-01 三菱電機株式会社 角度検出装置および電動パワーステアリング装置
    JP6430565B2 (ja) 2016-03-23 2018-11-28 アナログ・デヴァイシズ・グローバル 磁界検出器
    US10884092B2 (en) 2016-06-13 2021-01-05 Allegro Microsystems, Llc Non-orthogonality compensation of a magnetic field sensor
    DE102016115624A1 (de) * 2016-08-23 2018-03-01 Fraba B.V. Verfahren zum Kalibrieren eines Drehgebers und Drehgeber
    US10393555B2 (en) * 2016-12-14 2019-08-27 Infineon Technologies Ag Calibration of an angle sensor without a need for regular rotation
    JP2018151180A (ja) 2017-03-10 2018-09-27 パナソニックIpマネジメント株式会社 シフト位置検出装置
    EP3742130A1 (de) * 2019-05-21 2020-11-25 Melexis Technologies SA Magnetische positionssensoranordnung

    Patent Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE102004024398A1 (de) * 2004-05-17 2005-12-15 Infineon Technologies Ag Verfahren und Vorrichtungen zum Einstellen einer Bestimmungsvorschrift eines Winkelsensors
    DE102005024879B4 (de) * 2005-05-31 2018-12-06 Infineon Technologies Ag Verfahren zum Bestimmen von Restfehler-Kompensationsparametern für einen magnetoresistiven Winkelsensor und Verfahren zum Verringern eines Restwinkelfehlers bei einem magnetoresistiven Winkelsensor
    US20150362348A1 (en) * 2014-06-12 2015-12-17 Faro Technologies, Inc. Metrology device and a method for compensating for bearing runout error

    Also Published As

    Publication number Publication date
    US20210116264A1 (en) 2021-04-22
    US11946772B2 (en) 2024-04-02

    Similar Documents

    Publication Publication Date Title
    DE102016002069B4 (de) Kodierersignalprozessor mit automatischer Einstellfunktion
    EP1933117A2 (de) Verfahren und Vorrichtung zur Korrektur nichtidealer Zwischenfrequenzsignale in einem FMCW-Radar
    EP1794552B1 (de) Fertigungsseitiges abgleichen eines messgeräts zur kapazitiven füllstandsmessung
    EP1271093A2 (de) Justierung eines magnetoresistiven Winkelsensors
    DE102019215949B4 (de) Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors
    DE102019009211B4 (de) Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors
    DE102015103219B4 (de) Gainkalibrierung
    DE112007003533T5 (de) Winkelkorrekturverfahren für einen Drehgeber
    DE102018201249A1 (de) Verfahren und Anordnung zur Detektorkorrektur für das Erzeugen von Objekt-Durchstrahlungsbildern
    EP1150186B1 (de) Modellbasierte Online-Optimierung
    EP3258176B1 (de) Haushalts-gargerät und verfahren zum betreiben eines solchen
    EP0360348A2 (de) Verfahren und Vorrichtung zur Messung kleiner elektrischer Signale
    DE60220014T2 (de) Fokalebenen-array-kalibrationssystem
    DE19721488A1 (de) Verfahren zum Ausgleich von Abweichungen eines Raddrehzahlsensors
    DE102013009052A1 (de) System und Verfahren zur Skalierung einer Ausgabe eines Modulators eines Sigma-Delta-Analog/Digital-Wandlers und Systeme und ein Verfahren zur Kompensierung von temperaturabhängigen Schwankungen einer Referenzspannung in einem Sigma-Delta-Analog/Digital-Wandler
    EP3109646A1 (de) Verfahren zur analyse eines signals sowie vorrichtung zur durchführung des verfahrens
    DE102019100863A1 (de) Temperaturkompensation für Wirbelstromsensoren
    EP1776563B1 (de) Adaptive regelvorrichtung, verwendung der regelvorrichtung, sensor mit einer derartigen regelvorrichtung und adaptives verfahren zur selbstkompensation von störsignalen eines sensors
    EP1396701B1 (de) Verfahren zur Bestimmung lateralen und angularen Versatzes zweier hintereinander angeordneter Wellen
    DE19713182A1 (de) Verfahren und Vorrichtung zur Bestimmung der Motordrehzahl eines Kraftfahrzeuges
    DE102010003948A1 (de) Verfahren zum Bearbeiten eines zeitdiskreten, eindimensionalen Messsignals
    DE102010042625B4 (de) Verfahren zum Bestimmen eines Bode-Diagramms
    DE102004058621B4 (de) Verfahren zum Ermitteln von Größen in einem Motorsteuergerät
    DE102007052440B4 (de) Verfahren und Anordnung eines Messverstärkers zur Korrektur von Eingangssignalen
    DE102014215307A1 (de) Messgerät und Messverfahren zur Vermessung insbesondere von FMCW-Signalen

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R016 Response to examination communication
    R018 Grant decision by examination section/examining division
    R130 Divisional application to

    Ref document number: 102019009211

    Country of ref document: DE

    R020 Patent grant now final
    R082 Change of representative
    R084 Declaration of willingness to licence