DE102019009211B4 - Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors - Google Patents
Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors Download PDFInfo
- Publication number
- DE102019009211B4 DE102019009211B4 DE102019009211.2A DE102019009211A DE102019009211B4 DE 102019009211 B4 DE102019009211 B4 DE 102019009211B4 DE 102019009211 A DE102019009211 A DE 102019009211A DE 102019009211 B4 DE102019009211 B4 DE 102019009211B4
- Authority
- DE
- Germany
- Prior art keywords
- angle
- angle sensor
- output signals
- lut
- transfer function
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Mechanical 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/12—Mechanical 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/14—Mechanical 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/142—Mechanical 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/145—Mechanical 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
- G01D18/008—Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00 with calibration coefficients stored in memory
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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
- G01D3/00—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
- G01D3/02—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups with provision for altering or correcting the law of variation
- G01D3/022—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups with provision for altering or correcting the law of variation having an ideal characteristic, map or correction data stored in a digital memory
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Mechanical 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/12—Mechanical 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/244—Mechanical 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/24471—Error correction
- G01D5/2449—Error correction using hard-stored calibration data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Transmission And Conversion Of Sensor Element Output (AREA)
Abstract
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,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, undmindestens 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,wobei das zumindest eine Zeitintervall (Δt), in dem die Sequenz (205) von Winkel-Ausgangssignalen (502) empfangen wird, ein Zeitintervall beinhaltet, während dem die tatsächliche Winkelgeschwindigkeit einer Rotation zwischen dem rotierenden Magnetfeld (202) und dem Winkelsensor (201) im Wesentlichen konstant ist, undwobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf einem Winkelgeschwindigkeits-Signal (504) ermittelt wird, welches aus der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmbar ist.
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.
- Es existieren verschiedene Methoden um Messwerte eines Rotationswinkels zu kalibrieren. Beispielsweise kann die Kalibrierung basierend auf Differenzen zwischen einer Anpassungsfunktion und Messsignalwerten erfolgen (
DE 10 2005 024 879 B4 ). Andere Beispielen verwenden Messwerte für mehrere Richtungskomponenten zum Lösen einer Ellipsengleichung (DE 10 2004 024 398 A1 ). Bei einem anderen Beispiel wird eine Differenz aus Signalen mehrerer Dekodierer mittels einer Fourier-Analyse ausgewertet (US 2015/0362348 A1 - 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.
- 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 Ausführungsbeispiel, -
6 ein Diagramm zur Darstellung von diskretisierten Winkelsignalen und diskretisierten Winkelgeschwindigkeitssignalen zur Berechnung der Aktualisierung der Lookup-Tabelle gemäß einem Ausführungsbeispiel, -
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 Verfahrens100 gemäß einem Ausführungsbeispiel des hierin beschriebenen innovativen Konzepts.2 zeigt eine entsprechende Vorrichtung200 zur Durchführung des Verfahrens100 . - Das Verfahren
100 dient zum Bestimmen der Übertragungsfunktion207 eines Winkelsensors201 , und zwar im laufenden Betrieb des Winkelsensors201 . Dies unterscheidet das hierin beschriebene Verfahren100 von der konventionellen einmaligen Kalibrierung des Sensors am Ende seiner Herstellung, zum Beispiel in der Fabrik. - In Block
101 wird zunächst eine Sequenz205 von Winkel-Ausgangssignalen502 des Winkelsensors201 empfangen, und zwar während zumindest einem Zeitintervall, in dem der Winkelsensor201 einem sich drehenden Magnetfeld202 ausgesetzt ist. - In Block
102 wird dann die Übertragungsfunktion207 des Winkelsensors201 bestimmt, und zwar basierend auf der zuvor empfangenen Sequenz205 von Winkel-Ausgangssignalen502 . Zudem wird das Verfahren100 während des regulären Betriebs des Winkelsensors201 durchgeführt. - Das Verfahren
100 kann zumindest einmalig während der Verwendung des Winkelsensors201 an seinem vorgesehenen Bestimmungsort ausgeführt werden. Es ist ebenso denkbar, dass das Verfahren100 mehrfach, und insbesondere kontinuierlich, während der Verwendung des Winkelsensors201 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 Winkelsensors201 wäre demnach der Ort, an dem der Winkelsensor201 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 Vorrichtung200 zum Bestimmen der Übertragungsfunktion207 eines Winkelsensors201 im laufenden Betrieb gemäß einer Ausführungsform des hierin beschriebenen Konzepts. - Die Vorrichtung
200 weist einen Winkelsensor201 auf. Der Winkelsensor201 ist einem sich drehenden Magnetfeld202 ausgesetzt. Das Magnetfeld202 kann von einer Magnetquelle203 stammen, die beispielsweise an einem rotierenden Bauteil angeordnet sein kann. Das Signal701 , das der Winkelsensor201 hierbei von dem sich drehenden Magnetfeld202 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 Winkelsensor201 und dem sich drehenden Magnetfeld202 zu bestimmen. Hierfür kann der Winkelsensor201 das Winkel-Eingangssignal in ein entsprechendes Winkel-Ausgangssignal502 , beziehungsweise in eine Sequenz205 von aufeinanderfolgenden Winkel-Ausgangssignalen502 , umwandeln. - Die Vorrichtung
200 weist ferner eine Signalverarbeitungsvorrichtung204 auf. Die Signalverarbeitungsvorrichtung204 ist ausgestaltet, um die Sequenz205 von Winkel-Ausgangssignalen502 des Winkelsensors201 zu empfangen, und zwar während dem Zeitintervall, in dem der Winkelsensor201 dem sich drehenden Magnetfeld202 ausgesetzt ist. In dem hier dargestellten nicht-limitierenden Beispiel überstreicht der Winkelsensor201 innerhalb des abgebildeten Zeitintervalls insgesamt viermal volle 360°, was zu den in Block205 gezeigten vier Kurven bzw. Winkel-Ausgangssignalen502 führt. - Die Signalverarbeitungsvorrichtung
204 ist ferner ausgestaltet, um die Übertragungsfunktion207 des Winkelsensors201 zu bestimmen, und zwar basierend auf der Sequenz205 von Winkel-Ausgangssignalen502 . Ferner ist die Vorrichtung200 dazu ausgestaltet, um die Übertragungsfunktion207 während des regulären Betriebs des Winkelsensors201 zu ermitteln. - Ein Vorteil der hierin offenbarten Vorrichtung
200 sowie des hierin beschriebenen entsprechenden Verfahrens100 liegt darin, dass das Bestimmen der Übertragungsfunktion207 nicht nur im laufenden Betrieb des Winkelsensors201 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 Winkelsensor201 mittels einer Lookup-Tabelle301 kalibriert werden kann. Die Lookup-Tabelle301 kann ein oder mehrere KorrekturwerteK1 ,K2 , ...,Kn zum Linearisieren der Übertragungsfunktion207 des Winkelsensors201 aufweisen. - Die Lookup-Tabelle
301 kann vorkalibriert sein, beispielsweise ab Werk. Das heißt, die vorkalibrierte Lookup-Tabelle301 kann vor dem ersten Einsatz des Winkelsensors201 an seinem Bestimmungsort mit einer entsprechenden vorkalibrierten Version303 von KorrekturwertenK1 ,K2 , ...,Kn befüllt sein. Beispielsweise können diese KorrekturwerteK1 ,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 KorrekturwerteK1 ,K2 , ...,Kn kann dann dazu verwendet werden, um Irregularitäten in der Übertragungsfunktion207 des Winkelsensors201 zu korrigieren, und um die Übertragungsfunktion207 zu linearisieren und ein entsprechend korrigiertes Winkel-Ausgangssignal zu erhalten. - Wie in
4 gezeigt ist, kann die Lookup-Tabelle301 gemäß dem hierin beschriebenen Konzept mindestens einmal, oder auch mehrfach und wiederholt, rekalibriert werden, indem die Lookup-Tabelle301 mit einer aktualisierten Version403 der ein oder mehreren KorrekturwerteK11 ,K21 , ...,Kn1 befüllt wird, wobei diese aktualisierte Version403 der ein oder mehreren KorrekturwerteK11 ,K21 , ...,Kn1 basierend auf der empfangenen Sequenz205 von Winkel-Ausgangssignalen502 bestimmt werden kann. Ein Vorteil hierbei ist, dass kein Referenzwinkelsignal benötigt wird. Stattdessen werden direkt die empfangenen Winkel-Ausgangssignale502 zur Kalibrierung bzw. Rekalibrierung der Lookup-Tabelle301 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-Tabelle301 mit der jeweils aktualisierten Version403 der ein oder mehreren KorrekturwerteK11 ,K21 , ...,Kn1 . - Nachfolgend werden einige nicht-limitierende Ausführungsbeispiele genannt, die beschreiben, wie die Rekalibrierung der Lookup-Tabelle
301 basierend auf der Sequenz205 von Winkel-Ausgangssignalen502 durchgeführt werden kann. -
5 zeigt ein derartiges nicht-limitierendes Ausführungsbeispiel. Im obersten Diagramm ist die Sequenz205 von Winkel-Ausgangssignalen502 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 Magnetfeld202 hat insgesamt vier volle Rotationen relativ zu dem Winkelsensor201 ausgeführt. - Die Kennlinie
501 mit Steigung y = 1 repräsentiert den tatsächlichen Winkelwert, d.h. den wahren Rotationswinkel. Diese Kennlinie501 entspricht somit einer vollständig linearisierten Übertragungsfunktion eines idealen Winkelsensors. Die Kennlinie502 repräsentiert die vom realen, und nicht idealen, Winkelsensor201 empfangenen Winkel-Ausgangssignale. Wie zu erkennen ist, weicht diese Kennlinie502 aufgrund von (harmonischen) Nichtidealitäten von der vollständig linearisierten Übertragungsfunktions-Kennlinie501 ab. - Bei dem sich drehenden Magnetfeld
202 kann die Annahme gemacht werden, dass es Zeitintervalle gibt, in denen das Magnetfeld202 eine im Wesentlichen konstante Drehzahl aufweist, zum Beispiel bei einer Anwendung des Winkelsensors201 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 Magnetfeld202 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-Ausgangssignals502 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 Linie503 eingezeichnet, die auch als wahre Winkelgeschwindigkeit bezeichnet wird. Außerdem ist die Kurve504 zu erkennen, die die dem Winkelsensor201 zugehörige Winkelgeschwindigkeit beschreibt, die auch als lokale Winkelgeschwindigkeit bezeichnet wird. Die lokale Winkelgeschwindigkeit kann gemessen, oder vom Winkel-Ausgangssignal502 des Winkelsensors201 abgeleitet werden, zum Beispiel mittels zeitlicher Ableitung des Winkel-Ausgangssignal502 . - 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 Winkelsensors201 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 Winkelgeschwindigkeit503 gleichen. Das heißt, in Zeitintervallen Δt mit konstanter Winkelgeschwindigkeit503 müsste an und für sich auch die lokale Winkelgeschwindigkeit504 konstant sein. Da aber, wie eingangs erwähnt, (harmonische) Nichtidealitäten zu einem nicht idealen Verhalten des realen Winkelsensors201 führen können, kann die lokale Winkelgeschwindigkeit504 von der wahren Winkelgeschwindigkeit503 abweichen, wie dies rein beispielhaft in dem mittleren Diagramm in5 zu sehen ist. Das heißt, Abweichungen von der idealen Übertragungskennlinie503 des Winkelsensors201 führen zu Änderungen bzw. Varianzen in der lokalen Winkelgeschwindigkeit504 . - Ein Ausführungsbeispiel sieht vor, dass diese Varianzen in der lokalen Winkelgeschwindigkeit
504 integriert werden können, um so die eigentliche Übertragungsfunktion207 des Winkelsensors201 zu bestimmen bzw. zu schätzen. Wenn man die frei wählbare Integrationskonstante in Form des Mittelwerts abzieht, erhält man die Lookup-Tabelle301 bzw. die aktualisierte Version403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 zum Rekalibrieren der Lookup-Tabelle301 . - Das Verfahren sieht gemäß einem Ausführungsbeispiel also vor, den Mittelwert der lokalen Winkelgeschwindigkeit
504 zu bilden und die Abweichungen der lokalen Winkelgeschwindigkeit504 (siehe5 , Mitte) gegenüber dem Mittelwert zu bestimmen. Als Mittelwert kann beispielsweise die wahre Winkelgeschwindigkeit503 herangezogen werden. Diese Abweichungen vom Mittelwert können dann aufintegriert werden (siehe5 , Unten), und die integrierten Werte505 entsprechen dann der aktualisierten Version403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 zum Aktualisieren bzw. Rekalibrieren der Lookup-Tabelle301 . - Es ist hierbei nochmals wichtig zu erwähnen, dass die Lookup-Tabelle
301 bzw. die aktualisierte Version403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 nicht direkt aus dem Winkel-Ausgangssignal502 des Winkelsensors201 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-Ausgangssignal502 des Winkelsensors201 differenziert, der Mittelwert abgezogen, anschließend integriert, und dann kann nochmals der Mittelwert abgezogen werden. Dieses Konzept wird hierin auch als Autokalibrierung der Lookup-Tabelle301 bzw. abgekürzt als LUT-Autokalibrierung bezeichnet. - Dementsprechend sehen Ausführungsbeispiele 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 Winkelgeschwindigkeit502 einer Rotation zwischen dem rotierenden Magnetfeld203 und dem Winkelsensor201 im Wesentlichen konstant ist, und wobei die aktualisierte Version403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 basierend auf einem Winkelgeschwindigkeits-Signal504 ermittelt wird, welches aus der empfangenen Sequenz205 von Winkel-Ausgangssignalen502 bestimmbar ist. - Die aktualisierte Version
403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 kann dann basierend auf einer Differenz zwischen dem Winkelgeschwindigkeits-Signal504 und einem Mittelwert dieses Winkelgeschwindigkeits-Signals504 bestimmt werden. - Zusammenfassend zeigt
5 also zunächst die Winkel-Ausgangssignale502 während eines Zeitintervalls Δt, in dem sich das rotierende Magnetfeld202 relativ zu dem Winkelsensor201 mit im Wesentlichen konstanter Winkelgeschwindigkeit dreht. Dabei ändert sich der wahre Rotationswinkel501 linear (mit 360° Periodizität) als Funktion der Zeit (siehe5 , Oben). Jegliche Abweichungen des Winkel-Ausgangssignals502 gegenüber dem wahren Rotationswinkel501 reflektieren die nicht perfekte Übertragungsfunktion207 des Winkelsensors201 , die mittels Kompensation der Abweichungen möglichst linearisiert werden kann, zum Beispiel mittels der Lookup-Tabelle301 . - Eine zeitliche Ableitung des Winkel-Ausgangssignals
502 ergibt die lokale Winkelgeschwindigkeit504 (siehe5 , Mitte). Dabei führen die Unregelmäßigkeiten in der Übertragungsfunktion207 des Winkelsensors201 zu Varianzen in der lokalen Winkelgeschwindigkeit504 . Diese Varianzen können beispielsweise bestimmt werden, indem der Mittelwert der Winkelgeschwindigkeit von der lokalen Winkelgeschwindigkeit504 subtrahiert wird. - Anschließend können die so ermittelten Differenzen zwischen der lokalen Winkelgeschwindigkeit
504 und dem Mittelwert integriert werden (siehe5 , unten). Die Integration, und optional noch eine geeignete Skalierung, ergeben die gesuchten und zuvor unbekannten Unregelmäßigkeiten in der Übertragungsfunktion207 des Winkelsensors201 . - Diese so bestimmten Unregelmäßigkeiten entsprechen der Lookup-Tabelle
301 bzw. der aktualisierten Version der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 zum Aktualisieren bzw. Rekalibrieren der Lookup-Tabelle301 . -
6 zeigt eine graphische Repräsentation eines möglichen Implementierungsbeispiels. Dabei wird in der Digitaldomäne mit Abtastung und Diskretisierung des Winkel-Ausgangssignals502 bzw. des Winkelgeschwindigkeitssignals504 gearbeitet. Dabei zeigt6 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 von6 - graue Balken bei ungeraden Zahlen, grüne Balken bei geraden Zahlen). - Es folgt eine mathematische Abhandlung des hierin offenbarten Konzepts, unter anderem mit Bezugnahme auf die
5 und6 . 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 Übertragungsfunktion207 des Winkelsensors201 gegenüber dem wahren Winkelwert übereinstimmt, wird definiert als201 gelieferten Wert, d.h. zwischen dem Winkel-Ausgangssignal502 , und dem wahren Winkelwert501 . Da die wahre Lookup-Tabelle301 lediglich die anharmonischen Fehler beschreiben soll, kann angenommen werden, dass das Mittel über 360° verschwindet, d.h.(1) - In der Realität wird die Lookup-Tabelle
301 lediglich eine finite Anzahl an Stützstellen aufweisen, welche mit NLUT bezeichnet werden. -
- 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.
-
-
-
-
-
-
- Daraus ergibt sich, dass die hierin beschriebene LUT-Autokalibrierung die wahre Lookup-Tabelle
301 zur Rekalibrierung des Winkelsensors201 wiedergibt. In anderen Worten entspricht dies der aktualisierten Version403 der ein oder mehreren KorrekturwerteK11 ,K12 , ...,Kn1 , mit der die Lookup-Tabelle301 befüllt werden kann, um diese im laufenden Betrieb und am vorgesehenen Einsatzort des Winkelsensors201 zu aktualisieren. Die Aktualisierung der Lookup-Tabelle301 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.
-
- 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 (αNssmples-α1) zugänglich ist, kann sie beispielsweise mittels Integration über die gesammelten lokalen Winkelgeschwindigkeiten (z.B. vor der Skalierung) erhalten werden.
(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 Npoiy-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 und8 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 Winkelsensor201 übersetzt dieses Winkel-Eingangssignal701 in ein elektrisches bzw. logisches Zwischensignal502 . Anschließend kann eine AOP-Kompensation702 ,802 und optional eine AOP-Autokalibrierung703 ,803 durchgeführt werden, um die harmonischen Nicht-Idealitäten zu korrigieren bzw. zu kompensieren. Sowohl die AOP-Kompensation702 ,802 als auch die AOP-Autokalibrierung703 ,803 sind jedoch optional. - Das (optional AOP-korrigierte) Signal
502 des Winkelsensors201 kann dann einer Winkelberechnungseinheit704 ,804 zugeführt werden. Die Winkelberechnungseinheit704 ,804 rechnet das Signal502 des Winkelsensors201 in Winkelwerte um, die dann wiederum als Input für die nachfolgende LUT-Kompensation705 ,805 und LUT-Autokalibrierung706 ,806 verwendet werden können. Die LUT-Autokalibrierung706 ,806 kann die Lookup-Tabelle301 bzw. die aktualisierte Version403 der ein oder mehreren KorrekturwerteK11 ,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 Winkelsensor201 optimale Lookup-Tabelle301 zu ermitteln. Diese optimale Lookup-Tabelle301 kann dann in der LUT-Kompensation705 ,805 verwendet werden, um die Nicht-Idealitäten des Winkelsensors201 zu korrigieren bzw. zu kompensieren und so das bestmögliche korrigierte bzw. kompensierte Winkel-Ausgangssignal707 ,807 zu erhalten, welches möglichst gut, oder im besten Falle exakt, dem wahren Winkelwert, d.h. dem Winkel-Eingangssignal701 entspricht. - Das in
8 beispielhaft abgebildete Blockdiagramm unterscheidet sich von dem in7 abgebildeten Blockdiagramm unter anderem dadurch, dass das in der LUT-Kompensation705 ,805 korrigierte bzw. kompensierte Winkel-Ausgangssignal807 in die LUT-Autokalibrierung806 rückgeführt wird. Es handelt sich bei dem in8 abgebildeten Ausführungsbeispiel somit um eine iterative LUT-Autokalibrierung806 , welche die Qualität der LUT-Kompensation805 verbessern kann. - Das heißt, die LUT-Autokalibrierung
806 kann aus dem bereits LUT-kompensierten Winkel-Ausgangssignal807 des Winkelsensors201 berechnet werden. Das Ergebnis einer einmaligen LUT-Autokalibrierung ist somit nicht die Lookup-Tabelle301 selbst, sondern ein Inkrement, das zu der bestehenden Lookup-Tabelle301 hinzuaddiert wird. Es ist sinnvoll, die Lookup-Tabelle301 zu initialisieren, wofür beispielsweise alle in der Lookup-Tabelle301 anfänglich enthaltenen KorrekturwerteK1 ,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-Autokalibrierung806 wie folgt: - 1. Initialisiere die Lookup-Tabelle (z.B. durch Nullsetzen)
- 2. Führe die LUT-Autokalibrierung durch
- 3. Addiere das erhaltene Ergebnis zu der bereits bestehenden Lookup-Tabelle
- 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 Winkelsensors201 im laufenden Betrieb und im vorgesehenen Einsatzfeld des Winkelsensors201 erfolgen. Die Berechnung der ein oder mehreren KorrekturwerteK11 ,K21 , ...,Kn1 der Lookup-Tabelle301 kann direkt in dem Winkelsensor201 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-Autokalibrierung706 ,806 könnte beispielsweise die resultierende Lookup-Tabelle301 im externen Mikrocontroller für die LUT-Kompensation705 ,805 genutzt werden, oder sie könnte in den Winkelsensor201 selbst einprogrammiert sein und direkt von dem Winkelsensor201 für die LUT-Kompensation705 ,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_sarapled_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_LÖT) 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] accum_N(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] % integrale 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 autocalLUT() 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.
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 weiteren 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 .
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 am 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 α 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.
| (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 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äß
und eine geeignete Normalisierung ergibt die empirische Wahrscheinlichkeit ein Sample in der entsprechenden Lookup-Tabelle LUT bin i zu finden
| (20) |
| (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):
| (22) | |
| (23) | |
| (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. Initialisiere die Lookup-Tabelle (z.B. durch Nullsetzen)
- 2. Führe die LUT-Autokalibrierung durch
- 3. Addiere das erhaltene Ergebnis zu der bereits bestehenden Lookup-Tabelle
- 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 autocalLUT() 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.
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.
Das hierin beschriebene innovative Konzept kann ferner in Form der folgenden Ausführungsbeispiele realisierbar sein:
- Beispielsweise wird im Rahmen dieser Offenbarung ein Verfahren (
100 ) zum Bestimmen der Übertragungsfunktion (207 ) eines Winkelsensors (201 ) im laufenden Betrieb vorgeschlagen. Das Verfahren (100 ) weist, unter anderem, einen Schritt des Empfangens (101 ) einer Sequenz (205 ) von Winkel-Ausgangssignalen (502 ) des Winkelsensors (201 ) während zumindest einem Zeitintervall (Δt) auf, in dem der Winkelsensor (201 ) einem sich drehenden Magnetfeld (202 ) ausgesetzt ist. Außerdem weist das Verfahren einen Schritt des Bestimmens (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 ) auf.
Gemäß dem hierin beschriebenen Verfahren (100 ) kann der Schritt (102 ) des Bestimmens der Übertragungsfunktion (207 ) im laufenden Betrieb geschehen, unabhängig von einem Referenzwinkelsignal, welches einen Basiswinkel beschreibt.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen der vorhergehenden Absätze kombinierbar sind, kann das Verfahren (100 ) zumindest einmalig oder kontinuierlich während der Verwendung des Winkelsensors (201 ) an seinem vorgesehenen Bestimmungsort ausgeführt werden.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen der vorhergehenden Absätze kombinierbar sind, kann das Verfahren einen Schritt des Beziehens von ein oder mehreren Korrekturwerten (K1 , K2 , ..., Kn ) aus einer Lookup-Tabelle (301 ) beinhalten, und ein Verwenden der ein oder m ehreren 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.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorhergehenden Absatzes kombinierbar sind, kann das Verfahren (100 ) beinhalten, dass die Lookup-Tabelle (301 ) mindestens einmal rekalibriert wird, 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.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorvorhergehenden Absatzes kombinierbar sind, kann das Verfahren (100 ) beinhalten, 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.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen der beiden vorherigen Absätze kombinierbar sind, kann das zumindest eine Zeitintervall (Δt), in dem die Sequenz (205 ) von Winkel-Ausgangssignalen (502 ) empfangen wird, ein Zeitintervall beinhalten, während dem die tatsächliche Winkelgeschwindigkeit einer Rotation zwischen dem rotierenden Magnetfeld (202 ) und dem Winkelsensor (201 ) im Wesentlichen konstant ist, und die aktualisierte Version (403 ) der ein oder mehreren Korrekturwerte (K11 , K21 , ..., Kn1 ) kann basierend auf einem Winkelgeschwindigkeits-Signal (504 ) ermittelt werden, welches aus der empfangenen Sequenz (205 ) von Winkel-Ausgangssignalen (502 ) bestimmbar ist.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorhergehenden Absatzes kombinierbar sind, kann die aktualisierte Version (403 ) der ein oder mehreren Korrekturwerte (K11 , K21 , ..., Kn1 ) basierend auf einer Differenz zwischen dem Winkelgeschwindigkeits-Signal (504 ) und einem Mittelwert dieses Winkelgeschwindigkeits-Signals (504 ) bestimmt werden.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorhergehenden oder des vorvorhergehenden Absatzes kombinierbar sind, kann das Verfahren (100 ) ferner einen Schritt des Bestimmens einer Wahrscheinlichkeitsdichte (211 ) mehrerer Winkel-Ausgangssignale (502 ) beinhalten, 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 basieren kann, und wobei die aktualisierte Version (403 ) der ein oder mehreren Korrekturwerte (K11 , K21 , ..., Kn1 ) basierend auf dieser Wahrscheinlichkeitsdichte (211 ) bestimmt werden kann.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorhergehenden Absatzes kombinierbar sind, kann 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 werden.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des vorhergehenden Absatzes kombinierbar sind, kann die angenommene gleichmäßig verteilte Wahrscheinlichkeitsdichte (210 ) von Winkel-Ausgangssignalen (502 ) auf der Annahme basieren, dass jeder gemessene Winkel einer tatsächlichen Rotation zwischen dem Winkelsensor (201 ) und dem sich drehenden Magnetfeld (202 ) statistisch mit derselben Wahrscheinlichkeit auftritt.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen des fünften bis elften Absatzes kombinierbar sind, kann 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 entsprechen.
Gemäß weiteren Merkmalen des Verfahrens (100 ), welche mit den Merkmalen der vorhergehenden Absätze kombinierbar sind, kann das Verfahren ferner das Anwenden einer Amplituden-Offset-Phasen Korrektur (AOP) auf die Sequenz (205 ) von Winkel-Ausgangssignalen (502 ) beinhalten, 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.
Außerdem wird im Rahmen der vorliegenden Offenbarung ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens (100 ), wie in den vorhergehenden Absätzen beschrieben, vorgeschlagen, wenn das Programm auf einem Computer abläuft.
Ferner wird im Rahmen der vorliegenden Offenbarung eine Vorrichtung (200 ) zum Bestimmen der Übertragungsfunktion (207 ) eines Winkelsensors (201 ) im laufenden Betrieb vorgeschlagen. Die Vorrichtung (200 ) weist, unter anderem, eine Signalauswertevorrichtung (204 ) zum Empfangen einer Sequenz (205 ) von Winkel-Ausgangssignalen (502 ) des Winkelsensors (201 ) während zumindest einem Zeitintervall (Δt) auf, in dem der Winkelsensor (201 ) einem sich drehenden Magnetfeld (202 ) ausgesetzt ist. Die Signalauswertevorrichtung (204 ) dient außerdem 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 ).
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 (9)
- 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, 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, und 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, wobei das zumindest eine Zeitintervall (Δt), in dem die Sequenz (205) von Winkel-Ausgangssignalen (502) empfangen wird, ein Zeitintervall beinhaltet, während dem die tatsächliche Winkelgeschwindigkeit einer Rotation zwischen dem rotierenden Magnetfeld (202) und dem Winkelsensor (201) im Wesentlichen konstant ist, und wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf einem Winkelgeschwindigkeits-Signal (504) ermittelt wird, welches aus der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmbar ist.
- 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. - Verfahren (100) nach
Anspruch 1 oder2 , wobei das Verfahren (100) zumindest einmalig oder kontinuierlich während der Verwendung des Winkelsensors (201) an seinem vorgesehenen Bestimmungsort ausgeführt wird. - Verfahren (100) nach einem der
Ansprüche 1 bis3 , 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. - Verfahren (100) nach einem der
Ansprüche 1 bis4 , wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf einer Differenz zwischen dem Winkelgeschwindigkeits-Signal (504) und einem Mittelwert dieses Winkelgeschwindigkeits-Signals (504) bestimmt wird. - Verfahren (100) nach einem der
Ansprüche 1 bis5 , 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. - Verfahren (100) nach einem der
Ansprüche 1 bis6 , 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. - Computerprogrammprodukt mit einem Programmcode zur Durchführung des Verfahrens (100) nach einem der
Ansprüche 1 bis7 , wenn das Programm auf einem Computer abläuft, wobei der Programmcode auf einem computerlesbaren digitalen Speichermedium gespeichert ist. - 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, 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), zum Beziehen von ein oder mehreren Korrekturwerten (K1, K2, ..., Kn) aus einer Lookup-Tabelle (301), und zum 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, und zum mindestens einmaligen 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, wobei das zumindest eine Zeitintervall (Δt), in dem die Sequenz (205) von Winkel-Ausgangssignalen (502) empfangen wird, ein Zeitintervall beinhaltet, während dem die tatsächliche Winkelgeschwindigkeit einer Rotation zwischen dem rotierenden Magnetfeld (202) und dem Winkelsensor (201) im Wesentlichen konstant ist, und wobei die aktualisierte Version (403) der ein oder mehreren Korrekturwerte (K11, K21, ..., Kn1) basierend auf einem Winkelgeschwindigkeits-Signal (504) ermittelt wird, welches aus der empfangenen Sequenz (205) von Winkel-Ausgangssignalen (502) bestimmbar ist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019009211.2A DE102019009211B4 (de) | 2019-10-16 | 2019-10-16 | Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019009211.2A DE102019009211B4 (de) | 2019-10-16 | 2019-10-16 | Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102019009211A1 DE102019009211A1 (de) | 2021-04-22 |
DE102019009211B4 true DE102019009211B4 (de) | 2021-09-23 |
Family
ID=75268780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019009211.2A Active DE102019009211B4 (de) | 2019-10-16 | 2019-10-16 | Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019009211B4 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022108718A1 (de) * | 2022-04-11 | 2023-10-12 | HELLA GmbH & Co. KGaA | Verfahren zum Erkennen einer Rotorposition eines Rotorelementes, Computerprogrammprodukt sowie Sensorvorrichtung |
Citations (3)
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 |
-
2019
- 2019-10-16 DE DE102019009211.2A patent/DE102019009211B4/de active Active
Patent Citations (3)
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 |
---|---|
DE102019009211A1 (de) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3394575A1 (de) | Verfahren zum ermitteln eines physikalischen parameters einer mit gas beladenen flüssigkeit | |
EP1933117A2 (de) | Verfahren und Vorrichtung zur Korrektur nichtidealer Zwischenfrequenzsignale in einem FMCW-Radar | |
DE102016002069B4 (de) | Kodierersignalprozessor mit automatischer Einstellfunktion | |
EP1001248A2 (de) | Verfahren zur Offset-Kalibrierung eines magnetoresistiven Winkelsensors | |
DE102017222373B4 (de) | Kalibrierung eines winkelsensors ohne ein erfordernis einer regelmässigen drehung | |
DE102019009211B4 (de) | Vorrichtung und Verfahren zum Bestimmen der Übertragungsfunktion eines Winkelsensors | |
DE102019215949B4 (de) | Vorrichtung und verfahren zum bestimmen der übertragungsfunktion eines winkelsensors | |
DE102015103219B4 (de) | Gainkalibrierung | |
DE102018201249A1 (de) | Verfahren und Anordnung zur Detektorkorrektur für das Erzeugen von Objekt-Durchstrahlungsbildern | |
DE102016114642A1 (de) | Verfahren und Vorrichtung zum Erkennen und/oder Prüfen eines in ein stab- oder strangförmiges Produkt der Tabak verarbeitenden Industrie eingelegten Objekts | |
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 | |
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 | |
DE102013217230A1 (de) | Verfahren zur Kalibrierung einer Messvorrichtung in einem mobilen Endgerät | |
EP1776563B1 (de) | Adaptive regelvorrichtung, verwendung der regelvorrichtung, sensor mit einer derartigen regelvorrichtung und adaptives verfahren zur selbstkompensation von störsignalen eines sensors | |
WO2007077087A1 (de) | Verfahren zur bestimmung eines ausgangswertes eines sensors der automatisierungstechnik | |
DE102005004568A1 (de) | Verfahren zur Berücksichtigung von Messwerten von kalibrierten Sensoren in einme Kalmanfilter | |
DE19713182A1 (de) | Verfahren und Vorrichtung zur Bestimmung der Motordrehzahl eines Kraftfahrzeuges | |
DE102010003948A1 (de) | Verfahren zum Bearbeiten eines zeitdiskreten, eindimensionalen Messsignals | |
DE102021112732A1 (de) | Vorrichtung und verfahren zur kalibrierung eines magnetischen winkelsensors | |
WO2021197764A1 (de) | Verfahren zum betreiben eines coriolis-messgeräts | |
DE102004058621B4 (de) | Verfahren zum Ermitteln von Größen in einem Motorsteuergerät |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R129 | Divisional application from |
Ref document number: 102019215949 Country of ref document: DE |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R082 | Change of representative | ||
R084 | Declaration of willingness to licence |