DE102013113602A1 - Auswertevorrichtung zur Erzeugung eines Drehzahlwerts - Google Patents

Auswertevorrichtung zur Erzeugung eines Drehzahlwerts Download PDF

Info

Publication number
DE102013113602A1
DE102013113602A1 DE102013113602.8A DE102013113602A DE102013113602A1 DE 102013113602 A1 DE102013113602 A1 DE 102013113602A1 DE 102013113602 A DE102013113602 A DE 102013113602A DE 102013113602 A1 DE102013113602 A1 DE 102013113602A1
Authority
DE
Germany
Prior art keywords
hall
corr
rotor
electric motor
position signal
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.)
Withdrawn
Application number
DE102013113602.8A
Other languages
English (en)
Inventor
Markus Hirt
Andreas Ginter
Markus Flaig
Wolfgang Hermann
Thomas Schmidt-Esterle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ebm Papst St Georgen GmbH and Co KG
Original Assignee
Ebm Papst St Georgen GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ebm Papst St Georgen GmbH and Co KG filed Critical Ebm Papst St Georgen GmbH and Co KG
Priority to DE102013113602.8A priority Critical patent/DE102013113602A1/de
Priority to DE112014005540.9T priority patent/DE112014005540A5/de
Priority to PCT/EP2014/075877 priority patent/WO2015082317A1/de
Publication of DE102013113602A1 publication Critical patent/DE102013113602A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/17Circuit arrangements for detecting position and for generating speed information
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/08Arrangements for controlling the speed or torque of a single motor

Abstract

Ein Elektromotor (10) hat eine Rotoranordnung (30) mit einem Rotor (32), eine Statoranordnung (20), eine Drehstellungserkennungsvorrichtung (50), welche dazu ausgebildet ist, ein Rotorstellungssignal (RS; RS1, RS2, RS3) zu erzeugen, welches an vorgegebenen Drehstellungen (97, 98, 99) des Rotors (32) einen Wechsel des Rotorstellungssignals (RS; RS1, RS2, RS3) aufweist, und eine Auswertevorrichtung (60), welche dazu ausgebildet ist, aus den Wechseln des Rotorstellungssignals einen Drehzahlwert (T_HALL_CORR; n_CORR) zu erzeugen, welcher die Drehzahl des Rotors (32) charakterisiert. Die Auswertevorrichtung (60) ist dazu ausgebildet, die folgenden Schritte auszuführen: A) Korrekturwerte (F_HALL_CORR_INV) werden ermittelt, welche jeweils die Abweichung der Drehwinkelerstreckung (PHI_m) zwischen zwei vorgegebenen Wechseln des Rotorstellungssignals von der durchschnittlichen Drehwinkelerstreckung (PHI_t) zwischen zwei Wechseln des Rotorstellungssignals charakterisieren; B) Ein erster Wert (T_HALL; n) wird ermittelt, welcher die Zeitdauer zwischen zwei vorgegebenen Wechseln des Rotorstellungssignals (RS; RS1, RS2, RS3) charakterisiert, C) Der Drehzahlwert (T_HALL_CORR; n_CORR) wird aus dem ersten Wert (T_HALL; n) und dem den vorgegebenen Wechseln des Rotorstellungssignals (RS; RS1, RS2, RS3) zugeordneten Korrekturwert (F_HALL_CORR_INV) berechnet.

Description

  • Die Erfindung betrifft eine Auswertevorrichtung zur Erzeugung eines Drehzahlwerts.
  • Bei Elektromotoren werden Drehzahlwerte bspw. verwendet, um diese einem Drehzahlregler zuzuführen oder an eine übergeordnete Steuerung auszugeben. Bei der Verwendung von Rotorstellungssensoren kann die Drehzahlformation aus den Wechseln des Rotorstellungssignals ermittelt werden. Es hat sich gezeigt, dass die ermittelte Drehzahlinformation in bestimmten Fällen ungenau war. Insbesondere bei Elektromotoren mit einer großen Anzahl von Rotorpolen und bei starken Beschleunigungen haben sich große Abweichungen von der tatsächlichen Drehzahl ergeben.
  • Es ist deshalb eine Aufgabe der Erfindung, eine neue Auswertevorrichtung zur Erzeugung eines Drehzahlwerts bereit zu stellen.
  • Die Aufgabe wird gelöst durch einen Elektromotor gemäß Anspruch 1.
  • Vorteilhafte Weiterbildungen ergeben sich aus den Unteransprüchen.
  • Weitere Einzelheiten und vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den im folgenden beschriebenen und in den Zeichnungen dargestellten, in keiner Weise als Einschränkung der Erfindung zu verstehenden Ausführungsbeispielen, sowie aus den Unteransprüchen. Es zeigt:
  • 1 einen Längsschnitt durch einen Elektromotor,
  • 2 eine raumbildliche Darstellung eines Rotorgehäuses mit einer Mehrzahl von Rotorpolen,
  • 3 ein Schaltbild für einen Elektromotor,
  • 4 ein Rotorstellungssignal, welches mit dem Motor von 1 erzeugt wurde,
  • 5 ein Schaubild zur Erläuterung der Berechnung,
  • 6 ein Diagramm, in dem ein gemessener, unkorrigierter Drehzahlwert bei einer Ermittlung nach jeweils 1 ms dargestellt ist.
  • 7 ein Diagramm, in dem ein gemessener, unkorrigierter Drehzahlwert bei einer Ermittlung nach jeweils 10 ms dargestellt ist.
  • 8 ein Diagramm, in dem ein korrigierter Drehzahlwert dargestellt ist.
  • 9 ein Flussdiagramm mit einem Programm MAIN,
  • 10 eine Interrupt-Routine HALL_Interrupt_Routine,
  • 11 eine Routine CALC_T_HALL_CORR,
  • 12 eine Routine SYNC_HALL_CNT,
  • 13 eine Routine GET_HALL_CNT_SYNC,
  • 14 eine Routine GET_F_HALL_CORR_INV,
  • 15 eine schematische Darstellung eines ersten Verfahrens zur Ermittlung der Korrekturwerte,
  • 16 eine schematische Darstellung eines zweiten Verfahrens zur Ermittlung der Korrekturwerte,
  • 17 eine Darstellung eines Elektromotors mit einer Drehzahlregelung und einer Korrektur des Drehzahlwerts, und
  • 18 eine Beispielmessung der sich durch die unterschiedlichen Rotorpole ergebenden Zeitdauern zwischen jeweils zwei Wechseln des Rotorstellungssignals.
  • 1 zeigt beispielhaft einen Elektromotor 10 zum Antrieb einer schematisch dargestellten Antriebsrolle 12, welche bspw. verwendet wird, um Postpakete in einer Förderanlage zu transportieren. Der Elektromotor 10 hat eine Achse 14, über die der Elektromotor 10 an der Förderanlage befestigt ist. An der Achse 14 ist eine Statoranordnung 20 befestigt, welche ein Blechpaket 22 und eine Wicklungsanordnung 24 umfasst. Eine Rotoranordnung 30 hat einen Rotor 32, ein Rotorgehäuse 34 und einen Rollenflansch 36, welcher mit dem Rotorgehäuse 34 verbunden ist. Am Rotorgehäuse 34 ist eine Mehrzahl von Rotormagneten 38 angeordnet. Die Rotoranordnung 30 ist über ein erstes Lager 40 und ein zweites Lager 42 an der Achse 14 drehbar gelagert, so dass sie eine Drehung um eine Drehachse 44 ausführen kann. Die Drehung der Rotoranordnung 30 wird über den Rollenflansch 36 auf die Antriebsrolle 12 übertragen, so dass der Elektromotor 10 die Antriebsrolle 12 antreiben kann. Im vorliegenden Fall ist der Elektromotor 10 ein Außenläufermotor, es kann aber z.B. auch ein Innenläufermotor oder ein Scheibenläufermotor verwendet werden.
  • Eine Drehstellungserkennungsvorrichtung (Drehstellungserfassungvorrichtung, Rotorstellungssensoranordnung) 50 ist unterhalb des Rotormagneten 38 angeordnet. Die Drehstellungserkennungsvorrichtung 50 hat bevorzugt drei Rotorstellungssensoren 51, 52, 53, vgl. 3. In diesem Ausführungsbeispiel ist der Rotormagnet 38 radial magnetisiert, so dass der magnetische Fluss hauptsächlich zwischen der Statoranordnung 20 und den Rotormagneten 38 wirkt. Der Rotorstellungssensor 51 ist dagegen aus Platzgründen bevorzugt im Streufluss der Rotormagneten 38 angeordnet und misst dort den magnetischen Fluss.
  • 2 zeigt die Rotoranordnung 30 von 1 in einer raumbildlichen Darstellung. Im Inneren des Rotorgehäuses 34 sind die permanentmagnetischen Rotormagneten 38 in Form von permanentmagnetischen Stabmagneten befestigt. In diesem Ausführungsbeispiel hat die Rotoranordnung 30 vierzehn Rotorpole, und die Statoranordnung 20 hat zwölf Statorpole. Die Anzahl der Rotorpole 38 ist beliebig, also z.B. 2, 4, 6, 8 etc. Besonders vorteilhaft ist die Erfindung bei einer Anzahl von mindestens sechs Rotorpolen 38, um die dabei auftretenden Fehler zu korrigieren.
  • 3 zeigt eine schematische Darstellung der Ansteuerschaltung des Elektromotors 10 von 1.
  • Die Wicklungsanordnung ist in diesem Ausführungsbeispiel als dreiphasige Wicklungsanordnung 24 mit den drei Phasen U, V und W ausgebildet, die als Sternpunktschaltung mit einem Sternpunkt 94 verbunden sind. Die Phase U hat einen Wicklungsanschluss 91, die Phase W einen Wicklungsanschluss 92 und die Phase W einen Wicklungsanschluss 93. Die Wicklungsanschlüsse 91, 92 und 93 sind an eine Endstufe 80 angeschlossen, die beispielhaft als Vollbrückenschaltung mit sechs Halbleiterschaltern (z. B. Mosfet oder Bipolartransistor) 81 bis 86 ausgebildet ist. Der Wicklungsanschluss 91 ist über den Halbleiterschalter 81 mit der Zwischenkreisspannung 77 und über den Halbleiterschalter 84 mit Masse GND verbunden. Der Wicklungsanschluss 92 ist über den Halbleiterschalter 82 mit der Zwischenkreisspannung 77 und über den Halbleiterschalter 85 mit Masse GND 78 verbunden. Der Wicklungsanschluss 93 ist über den Halbleiterschalter 83 mit der Zwischenkreisspannung 77 und über den Halbleiterschalter 86 mit Masse GND verbunden. Den Halbleiterschaltern 81 bis 86 sind jeweils Rückflussdioden zugeordnet. Die Rotoranordnung 30 wird durch die Wicklungsanordnung 24 angetrieben, und im Bereich der Rotoranordnung 30 sind drei Rotorstellungssensoren 51, 52, 53 angeordnet, um die Drehstellung der Rotoranordnung 30 zu detektieren. Die Rotorstellungssensoren 51, 52, 53 sind über Leitungen 61, 62, 63 mit einer Steuervorrichtung 60 verbunden und führen dieser Rotorstellungssignale RS1, RS2 und RS3 zu. Als Rotorstellungssensoren 51, 52, 52 werden üblicherweise HALL-Sensoren verwendet, es können aber beispielsweise auch MR-Sensoren (MR = magnetoresistiv), AMR-Sensoren (AMR = anisotrop magnetoresistiv) oder andere Sensortypen verwendet werden. Bevorzugt erfassen die Rotorstellungssensoren 51, 52, 53 den vom Rotor 32 erzeugten magnetischen Fluss, um das Rotorstellungssignal zu erzeugen. Einige der später verwendeten Namen von Variablen (z.B. T_HALL) enthalten den Begriff HALL, da überwiegend HALL-Sensoren verwendet werden. Dies bedeutet aber nicht, dass der Rotorstellungssensor 51, 52, 53 ein Hall-Sensor sein muss. Die Steuervorrichtung 60 ist beispielhaft als Mikrocontroller (µC) ausgebildet, sie kann aber auch als ASIC ausgebildet sein. Die Steuervorrichtung 60 kann auch als Auswertevorrichtung 60 bezeichnet werden, da in Ihr die Auswertung stattfindet. Die Steuervorrichtung 60 ist über sechs Leitungen 65 mit einem Treiberbaustein (Treiber IC, DRV) 70 verbunden, und der Treiberbaustein 70 steuert über sechs Leitungen 71 bis 76 die Halbleiterschalter 81 bis 86 an.
  • In der Steuervorrichtung 60 sind Funktionsblöcke CTRL 64, POWER 66, n_RGL (Drehzahlregler) 67 und COMMUT 68, CALC_T_HALL_CORR 57 eingezeichnet, und ein Datenspeicher MEM 56 ist vorgesehen. Der Datenspeicher 56 ist dazu ausgebildet, das Speichern von Korrekturwerten (F_HALL_CORR_INV) zu ermöglichen, wie das unten beschrieben wird.
  • Die Steuervorrichtung 60 ist über eine Datenleitung (Datenbus) 55 mit einem nichtflüchtigen Speicher (non-volatile memory) 54 verbunden, um eine Abspeicherung von Datenwerten auch dann zu ermöglichen, wenn der Elektromotor 10 ausgeschaltet ist.
  • Funktionsweise
  • Die Rotorstellungssensoren 51, 52, 53 detektieren die Drehstellung der Rotoranordnung 30. Da die Rotorstellungssensoren 51, 52, 53 hauptsächlich den durch die Rotormagneten 38 erzeugten Fluss detektieren, wiederholt sich der Ablauf der Rotorstellungssignale RS1, RS2 und RS3 bei gleichbleibender Geschwindigkeit jeweils nach einer vollen Umdrehung. Die Steuervorrichtung 60 ermittelt anhand der Rotorstellungssignale RS1, RS2 und RS3, welche Drehstellung die Rotoranordnung 30 momentan hat, und in Abhängigkeit von dieser Drehstellung erfolgt eine Kommutierung der Wicklungsanordnung 24 mit Hilfe des Treiberbausteins 70 und der Endstufe 80. Vereinfacht ausgedrückt weiß die Steuervorrichtung 60, wie sie bei der gegebenen Drehstellung der Rotoranordnung 30 über die Endstufe 80 den Strom in der Wicklungsanordnung 24 beeinflussen muss, damit die Rotoranordnung 30 angetrieben bzw. abgebremst wird.
  • 4 zeigt die tatsächlich gemessenen Rotorstellungssignale RS1, RS2 und RS3 für einen Elektromotor 10 gemäß 1. Die Rotorsignale RS1, RS2 und RS3 haben jeweils Wechsel in Form von aufsteigenden Flanken und absteigenden Flanken. An der Stelle 97 ist ein erster Zeitpunkt eingezeichnet, an dem das Signal RS1 eine aufsteigende Flanke hat. Nach vierzehn Wechseln sind vierzehn Rotorpole an dem zugeordneten Rotorstellungssensor 51 vorbei gekommen, und dies entspricht einer vollen Umdrehung der Rotoranordnung 30. Der entsprechende Zeitpunkt ist mit 98 gekennzeichnet. Bei den anderen beiden Rotorstellungssignalen RS2 und RS3 treten auch jeweils vierzehn Wechsel auf, jedoch phasenverschoben um 60° elektrisch. Ausgehend von der Stelle 97 hat das Rotorstellungssignal RS1 zuerst einen hohen Wert und anschließend einen niedrigen Wert. Beim anschließenden Wechsel auf einen hohen Wert ist das Signal grundsätzlich wieder gleich wie an der Stelle 97, und daher wird bei der Drehung von der Stelle 97 zur Stelle 99 von einer Drehung von 360° elektrisch gesprochen. Die Drehung von der Stelle 97 zur Stelle 98 entspricht dagegen 360° mechanisch.
  • Im unteren Bereich ist ein Rotorstellungssignal RS dargestellt, welches beispielsweise erzeugt wird durch die Gleichung RS = RS2 + RS3 – RS1 (1)
  • Da jedes der Signale RS1, RS2 und RS3 bei einer Umdrehung zwischen den Zeitpunkten 97 und 98 vierzehn Wechsel aufweist, hat das gemeinsame Rotorstellungssignal RS bei einer vollen Umdrehung 3·14 = 42 Wechsel.
  • Bei einem idealen Motor müsste bei konstanter Drehzahl die Zeitdauer zwischen zwei Wechseln des Rotorstellungssignal RS bzw. der Rotorstellungssignale RS1, RS2 oder RS3 jeweils konstant sein. Eine Auswertung des Signals RS hat jedoch
  • zum Teil deutliche Abweichungen zwischen den einzelnen Zeitdauern ergeben. Die prozentuale Abweichung lag bei der Beispielmessung zwischen –34% und +26%.
  • Berechnung eines korrigierten Drehzahlwerts
  • 5 zeigt eine schematische Darstellung des Rotorstellungssignals RS, aufgetragen über den Drehwinkel phi und die Zeit t. Das Rotorstellungssignal hat in der Darstellung einen Wechsel an der Stelle 96 und einen zweiten, benachbarten Wechsel an der Stelle 96'.
  • Als Drehzahlwert, welcher die Drehzahl des Rotors und damit des Elektromotors charakterisiert, wird bei Elektromotoren üblicherweise die Zeitdauer T_HALL zwischen den zwei Wechseln 96, 96' des Rotorstellungssignals RS bzw. RS1, RS2, RS3 verwendet, die bei identischen Winkelabständen zwischen den einzelnen Rotorpolen umgekehrt proportional zur Drehzahl n ist. Es gilt n = const1·(PHI_360/T_360) (2A) = const1·(PHI_t /T_HALL_CORR) (2B) = const2/T_HALL_CORR (2C) wobei PHI_360 der Drehwinkel einer ganzen Umdrehung ist, T_360 die Zeitdauer für eine ganze Umdrehung, PHI_t der theoretische Wert der Drehwinkelerstreckung zwischen zwei Wechseln des Rotorstellungssignals für einen perfekten Motor, bei dem der Winkelabstand zwischen jeweils zwei Rotorpolen immer gleich ist und die Rotorstellungssensoren perfekt positioniert sind. Dieser theoretische Wert entspricht dem Durchschnittswert der Drehwinkelerstreckung zwischen zwei Wechseln 96, 96' des Rotorstellungssignals, also im vorliegenden Ausführungsbeispiel 360°mech./42. In diesem Fall gilt T_HALL_CORR = const3/n (3)
  • Der oben beschriebene Elektromotor 10 hat jedoch unterschiedliche Winkelabstände zwischen den einzelnen Rotorpolen und/oder eine nicht perfekte Anordnung der Rotorstellungssensoren. Dies trifft insbesondere bei der Verwendung der in 2 gezeigten Stabmagneten 38 auf, bei denen der Genauigkeit der Positionierung Grenzen gesetzt sind. Daher entspricht die Messung zwischen zwei Wechseln des Rotorstellungssignals RS bzw. RS1, RS2, RS3 (in vielen Fällen) nicht der theoretischen Drehwinkelerstreckung PHI_t, die auch als durchschnittliche Drehwinkelerstreckung PHI_T = PHI_360/SPC_42 (mit SPC_42 = Anzahl der Wechsel des Rotorstellungssignals RS pro Umdrehung) bezeichnet werden kann, sondern der tatsächlichen Drehwinkelerstreckung PHI_m. Somit wird auch nicht der Wert T_HALL_CORR gemessen, sondern der Wert T_HALL. Im Ergebnis sind die Gleichungen (2C) bzw. (3) für das gemessene T_HALL nicht korrekt, und bei großen Unterschieden zwischen den einzelnen Drehwinkelerstreckungen der Rotorpole entstehen entsprechend große Fehler.
  • Daher wird eine Korrektur eingeführt, die jeweils für die Messung der Zeitdauer T_HALL zwischen einem vorgegebenen ersten und zweiten Wechsel des Rotorstellungssignals RS zu einem deutlich besseren Ergebnis führt.
  • Es gilt in guter Näherung T_HALL_CORR(n) = (PHI_t/PHI_m)·T_HALL(n) (4) = F_HALL_CORR_INV·T_HALL(n) (4A) = T_HALL(n)/F_HALL_CORR (4B) = ((PHI_360/SPC_42)/PHI_m)·T_HALL(n) (4C)
  • Der Korrekturfaktor F_HALL_CORR entspricht also dem Verhältnis der Drehwinkelerstreckung PHI_m zwischen zwei vorgegebenen Wechseln 96, 96' des Rotorstellungssignals RS zur durchschnittlichen Drehwinkelerstreckung PHI_t. Allgemein kann man sagen, dass der Korrekturfaktor F_HALL_CORR die Abweichung der Drehwinkelerstreckung PHI_m zwischen zwei vorgegebenen Wechseln 96, 96' des Rotorstellungssignals RS von der durchschnittlichen Drehwinkelerstreckung PHI_t zwischen zwei Wechseln des Rotorstellungssignals, gemittelt über eine gesamte Umdrehung, charakterisiert. Da die durchschnittliche Drehwinkelerstreckung PHI_t über die feste Anzahl der Wechsel des Rotorstellungssignals während einer Umdrehung proportional zur Gesamtumdrehung ist, kann man auch sagen, dass der Korrekturfaktor F_HALL_CORR den Anteil der Drehwinkelerstreckung PHI_m an einer ganzen Umdrehung (360° mech.) charakterisiert.
  • Bei konstanter Drehzahl n1 ist der Drehwinkel PHI proportional zur Zeitdauer für die Drehung um diesen Drehwinkel, und daher gilt bei konstanter Drehzahl n1 T_HALL_CORR(n) = (T_HALL_CORR(n1)/T_HALL(n1))·T_HALL(n) (5A) = ((T_360(n1)/SPC_42)/T_HALL(n1))·T_HALL(n) (5B) = F_HALL_CORR_INV·T_HALL(n) (5C) = T_HALL(n)/F_HALL_CORR (5D) = T_HALL(n) + T_HALL(n)·F_DIFF (5E) mit
  • T_360(n1)
    = Zeitdauer für eine ganze Umdrehung bei der Drehzahl n1,
    SPC_42
    = Anzahl der Wechsel des Rotorstellungssignals RS bei einer ganzen Umdrehung, hier SPC_42 = 42,
    F_HALL_CORR
    = Korrekturfaktor für die vorgegebenen Wechsel des Rotorstellungssignals, welcher der prozentualen Winkelabweichung entspricht,
    F_HALL_CORR_INV
    = inverser Korrekturfaktor, welcher multipliziert mit T_HALL(n) den Wert T_HALL_CORR(n) ergibt,
    F_DIFF
    = F_HALL_CORR_INV – 1, also dem eigentlichen prozentualen Fehler.
  • Der Wert T_360(n1)/SPC_42 ist somit die mittlere Zeitdauer zwischen zwei benachbarten Wechseln des Rotorstellungssignals RS.
  • Wie aus Gleichung (4B), (5C), (5D) und (5E) hervorgeht, sind hängen die beispielhaft aufgeführten Korrekturwerte F_HALL_CORR, F_HALL_CORR_INV, F_DIFF eindeutig miteinander zusammen, und daher charakterisieren sie alle jeweils die Abweichung der Drehwinkelerstreckung PHI_m zwischen zwei vorgegebenen Wechseln 96, 96' des Rotorstellungssignals RS von der durchschnittlichen Drehwinkelerstreckung PHI_t, und zwar auch dann, wenn sie über Messung der Zeitdauern T_HALL ermittelt wurden.
  • Es ist zu sehen, dass der korrigierte Drehzahlwert T_HALL_CORR(n) auf unterschiedliche Methoden bzw. mit unterschiedlichen Korrekturwerten berechnet werden kann, die alle zum gleichen Ergebnis führen.
  • Der Wert T_360(n1) kann z.B. gemessen werden, indem immer nach einer Umdrehung die Zeit gemessen wird, oder es können alle gemessenen Zeitdauern zwischen jeweils zwei benachbarten Wechseln des Rotorstellungssignals addiert werden.
  • Beispielhafte Verwendung des korrigierten Drehzahlwerts
  • 17 zeigt eine schematische Darstellung eines Elektromotors 10, der durch einen Drehzahlregler 152, 67 angesteuert wird, wobei dem Drehzahlregler 152, 167 das korrigierte Drehzahlsignal T_HALL_CORR bzw. n_CORR zugeführt wird.
  • Der Drehzahlregler 152, 67 hat einen Vergleicher 152, dem von einer Vorrichtung GET_T_HALL_s 151 ein Wert T_HALL_s bzw. n_s als Sollwert und von einer Vorrichtung CALC_T_HALL_CORR 155 ein korrigierter Drehzahlwert T_HALL_CORR bzw. n_CORR zugeführt wird. Über den Ausgang des Vergleichers 152 wird dem Regler n_RGL 67, z.B. einem P-Regler, einem PI-Regler oder einem PID-Regler, das Differenzsignal DIFF zugeführt, und der Regler n_RGL 67 gibt in Abhängigkeit vom Signal DIFF einen Stellwert SW an den Elektromotor M 10 aus, um den korrigierten Drehzahlwert T_HALL_CORR des Motors 10 dem Sollwert T_HALL_s anzugleichen. Der Elektromotor 10 erzeugt ein Rotorstellungssignal RS und gibt dieses an die Vorrichtung CALC_T_HALL 153 aus, die den Abstand T_HALL (bzw. die Drehzahl n) zwischen zwei Wechseln des Rotorstellungssignals RS ermittelt und an die Vorrichtung CALC_T_HALL_CORR 155 ausgibt. Der Vorrichtung 155 wird von einer Vorrichtung FCT_SYNC_HALL_CNT; FCT_GET_F_HALL_CORR_INV 154 ein Korrekturwert F_HALL_CORR_INV zugeführt, und die Vorrichtung 155 berechnet aus dem Wert T_HALL und dem Wert F_HALL_CORR_INV den korrigierten Drehzahlwert T_HALL_CORR bzw. n_CORR, der die Drehzahl charakterisiert und auch in 8 dargestellt ist, und führt diesen Drehzahlwert dem Vergleicher 152 als Istwert zu.
  • Durch die Zuführung des korrigierten Drehzahlsignals wird die Qualität des Drehzahlreglers 152, 67 stark erhöht.
  • Beispielmessungen
  • 6 bis 8 zeigen Diagramme mit unterschiedlichen durchgeführten Messungen der Drehzahl bei einem Elektromotor gemäß 1, der auf eine Solldrehzahl n_s = 336 U/min (Umdrehungen pro Minute bzw. min–1) geregelt wurde. An der Abszisse ist jeweils die Anzahl der Wechsel des Rotorstellungssignals RS angegeben, und die Ordinate zeigt die zugehörige Drehzahl, wobei 102 die Referenzdrehzahl 336 U/min anzeigt. Die Anzahl der Wechsel des Rotorstellungssignals ist für den Bereich 0 bis 200 eingetragen, also für ca. fünf Umdrehungen des Rotors.
  • 6 zeigt ein Diagramm 101, in dem ein Referenzwert 102 für die Drehzahl und ein unkorrigierter Drehzahlwert 103 bei einer Ermittlung nach jeweils 1 ms dargestellt sind.
  • Bei der Messung und auch bei den nachfolgend beschriebenen Messungen der 7 und 8 war die Drehzahl des Elektromotor von 1 auf ca. 336 U/min (Umdrehungen pro Minute) geregelt.
  • Der Referenzwert 102 gemäß Kurve 101 liegt ziemlich genau bei ca. 336 U/min.
  • Die unkorrigierte Drehzahl gemäß Kurve 103 (Berechnung jeweils nach 1 ms) schwankt stark und nimmt Werte zwischen 245 U/min und 420 U/min an.
  • 7 zeigt ein Diagramm 105, in dem der Referenzwert 102 für die Drehzahl und ein unkorrigierter Drehzahlwert 106 bei einer Ermittlung nach jeweils 10 ms dargestellt sind. Die unkorrigierte Drehzahl gemäß Kurve 105 (Berechnung jeweils nach 10 ms) nimmt Werte zwischen 300 U/min und 400 U/min an. Die Verbesserung gegenüber 6 kommt dadurch, dass über einen größeren Zeitraum (Summe der Wechsel des Rotorstellungssignals während der letzten 10 ms) gemittelt wird.
  • 8 zeigt ein Diagramm 107, in dem der Referenzwert 102 für die Drehzahl und ein korrigierter Drehzahlwert 108 gemäß dem angegeben Korrekturverfahren dargestellt sind.
  • Die gemäß dem oben beschriebenen Verfahren korrigierte Drehzahl 107 nimmt Werte zwischen ca. 330 U/min und 345 U/min an, wobei sich die Drehzahl 102 größtenteils in unmittelbarer Nähe der Referenzkurve 102 befindet.
  • Die korrigierte Drehzahl 107 bzw. die Zeitdauer T_HALL_CORR wurden dem Drehzahlregler 67 von 1 zugeführt, und bei einem Elektromotor 10, der eine Antriebsrolle mit 50 mm Durchmesser und 600 mm Länge angetrieben hat, konnte eine gewünschte Beschleunigung von 2 m/s2 erreicht werden. Der Elektromotor 10 wurde innerhalb von 48 Flanken (1,14 Umdrehungen des Rotors) von 0 U/min auf 312 U/min beschleunigt. Dies erfordert naturgemäß ein schnelles Regelverhalten, das durch die Bereitstellung des korrigierten Drehzahlwerts T_HALL_CORR ermöglicht wird.
  • Verfahren zur Ermittlung der Korrekturwerte
  • 15 und 16 zeigen zwei Verfahren zur Ermittlung der Korrekturwerte für die Korrektur des Drehzahlwerts n bzw. T_HALL_CORR, die alternativ oder auch kumulativ angewandt werden können. Die eigentliche Korrektur ist unabhängig davon, welches der beiden Verfahren gewählt wird. Zur Vereinfachung sind nur 14 unterschiedliche Rotorpole M0 bis M13 dargestellt. Dies wäre z.B. der Fall, wenn man nur das Rotorstellungssignal RS1 von 3 auswerten würde. Das Verfahren funktioniert aber genauso bei einer Auswertung des Signals RS mit 42 Wechseln des Rotorstellungssignals pro Umdrehung oder mit einer anderen Anzahl von Rotorpolen.
  • Verfahren 1 – In einem nichtflüchtigen Speicher gespeicherte Korrekturwerte 15 zeigt ein erstes Verfahren, bei dem die Korrekturwerte F_HALL_CORR_INV bzw. F_HALL_CORR einmalig gemessen und anschließend in einem nichtflüchtigen Speicher (englisch: non-volatile memory) NVMEM abgespeichert werden. Dies hat den Vorteil, dass die Korrekturwerte unter vorgegebenen Bedingungen (Last, Drehzahl etc.) sehr genau gemessen werden können. Dabei ist es entweder möglich, dass der Elektromotor 10 den Rotor 30 antreibt, oder der Rotor 30 kann auch von einem – nicht dargestellten – externen Motor angetrieben werden. In der oberen Hälfte und in der unteren Hälfte der 15 sind die entsprechenden Korrekturwerte F0 bis F13 in der rechten Tabelle gespeichert, und sie sind über einen Index INDEX abrufbar, der die Werte 0 bis 13 annimmt. Dabei sind die Korrekturwerte F0 bis F13 den Rotorpolen M0 bis M13 zugeordnet.
  • In vielen Anwendungsfällen von Motoren (z.B. Rollenantrieb, Lüfter etc.) hat die Steuervorrichtung 60 jedoch beim Start des Elektromotors 10 keine Information darüber, in welcher Drehstellung sich der Rotor 10 befindet. Es ist beim Start nur bekannt, dass in Abhängigkeit von der gewählten Drehrichtung die Rotorpole 38 in einer festen Reihenfolge aufeinander folgen. Die obere Hälfte der 15 zeigt den Zustand nach dem Start des Motors. Eine Variable HALL_CNT wird beispielhaft am Anfang auf den Wert 0 gesetzt, und bei jedem Wechsel des Rotorstellungssignals RS wird der Zähler HALL_CNT um den Wert 1 erhöht, wobei er beim Erreichen des Werts 14 wieder auf den Wert 0 gesetzt wird, um eine eindeutige Zuordnung zu den Rotorpolen 38 zu erlangen. Im vorliegenden Fall war der Rotorpol 38, der hier beispielhaft mit M2 bezeichnet ist und die entsprechenden Wechsel des Rotorstellungssignals RS auslöst, dem Wert HALL_CNT = 0 zugeordnet. Dem Rotorpol M2 ist dabei der Korrekturwert F2 zugeordnet, der auf der rechten Seite weiter unten abgespeichert ist. Beim Start des Motors 10 hat die Steuervorrichtung 60 jedoch keine Information darüber, dass dem Wert HALL_CNT = 0 der Rotorpol M2 zugeordnet ist. Die Werte M0 bis M13 sind daher zur Verdeutlichung in Klammern angegeben, und der Pfeil zwischen der linken und rechten Tabelle ist mit einem Fragezeichen dargestellt, da noch keine Zuordnung möglich ist.
  • Daher muss in diesen Anwendungsfällen durch Vergleich des in Abhängigkeit von den Rotorpolen 38 erzeugten Rotorstellungssignals RS mit den gespeicherten Korrekturwerten F_HALL_CORR_INV festgestellt werden, welcher Korrekturwert F0–F13 zu welchem Wechsel des Rotorstellungssignals RS bzw. zu welchem Wert der Variablen HALL_CNT gehört.
  • Hierzu wird im Folgenden eine Routine GET_HALL_CNT_SYNC () beschrieben, die diese Zuordnung bzw. Synchronisierung durchführt. Dies ist besonders einfach bei einer weitgehend konstanten Drehzahl möglich, indem die Zeiten zwischen den einzelnen Wechseln des Rotorstellungssignals RS gemessen werden. Hierdurch erhält man ein Profil der Rotorpole 38 bzw. der Abweichung der durch die nicht perfekten Rotorpole 38 erzeugten Rotorstellungssignale RS vom Ideal, und hieraus kann die Zuordnung zwischen der Variablen HALL_CNT (bzw. des einzelnen Rotorpols 38) und dem Index INDEX (bzw. dem Korrekturwert F_HALL_CORR_INV) bestimmt werden. Die Zuordnung kann aber auch bei einer beschleunigten Drehung erfolgen, wobei dann der Einfluss der Beschleunigung berücksichtigt werden muss.
  • Im Ergebnis erreicht man eine eindeutige Zuordnung zwischen dem einzelnen Rotorpol 38 und dem zugeordneten Korrekturwert F_HALL_CORR_INV, wie dies in der unteren Hälfte durch die parallel zueinander verlaufenden Pfeile dargestellt ist.
  • Ist dagegen die Startposition am Anfang bekannt, wie beispielsweise bei einem Motor, bei dem die Rotorstellungserfassung immer aktiv ist, ist eine solche Feststellung bzw. Zuordnung nicht erforderlich.
  • 18 zeigt eine Tabelle 160 mit Beispielmessungen für den Elektromotor 10 (SPC_42 = 42) für die Durchführung des Verfahrens 1.
  • In der Spalte A ist die Variable HALL_CNT eingetragen, die die Werte 0 bis 41 annimmt.
  • In der Spalte B ist die gemessene Zeitdauer T_HALL/[ms] angegeben, wobei die Messung für eine große Genauigkeit mit einem externen, drehzahlgeregelten Antrieb für den Rotor des Elektromotors 10 durchgeführt wurde, der auf Grund der großen Masse des externen Antriebs und der sehr genauen Drehzahlregelung sehr genau ist. Die Rotorstellungssignale wurden mit den Rotorstellungssensoren des Elektromotors 10 erfasst und mit einem Oszilloskop aufgenommen, das einen besseren A/D-Wandler hat als die üblichen, in Mikroprozessoren von Elektromotoren verwendeten A/D-Wandler. Anschließend ist eine manuelle Auswertung der Zeiten anhand der Aufnahme des Oszilloskops erfolgt. Man kann von einer Messung unter Laborbedingungen sprechen. Die Gesamtdauer T_TOTAL für eine Umdrehung ist 162,39 ms, und der Mittelwert zwischen zwei Wechseln des Rotorstellungssginals RS ist T_TOTAL/SPC_42 = 3,87 ms.
  • In der Spalte C ist die prozentuale Abweichung der gemessenen Zeitdauer T_HALL gemäß Spalte A vom Mittelwert angegeben. Der minimale Wert ist 74,49% bei HALL_CNT = 21, und der maximale Wert ist 134,23% bei HALL_CNT = 20.
  • In der Spalte D ist die relative Abweichung vom Mittelwert angegeben, die sich aus der Berechnung 1–C ergibt, wobei C der entsprechende Wert in der Spalte C ist. An den Werten der Spalte D kann man noch leichter ablesen, wo die größten Abweichungen aufgetreten sind, wobei diese relative Abweichung hierfür nicht zwingend benötigt wird. Auch hier sieht man, dass die größte relative Abweichung bei HALL_CNT = 20 bzw. 21 auftritt.
  • In der Spalte E ist die relative Abweichung vom Mittelwert in Bezug auf den Korrekturfaktor F_HALL_CORR angegeben, vgl. Gleichung (5D). Die Messung der Werte der Spalte E ist wie in Spalte D erfolgt, jedoch mit dem Elektromotor 10 und ohne zusätzliche Hilfsmittel. Der Elektromotor 10 hat eine Drehzahlregelung auf eine vorgegebene Soll-Drehzahl n_s bzw. T_HALL_s durchgeführt, und das Rotorstellungssignal wurde ausgewertet.
  • Die Werte der Spalte F wurden ebenfalls wie die Werte der Spalten E und D ermittelt, und sie wurden nach einem weiteren Start des Elektromotors 10 gemessen.
  • Es sind leichte Abweichungen zwischen den Messungen der Spalten D, E und F erkennbar. Bei den Messungen aus den Spalten E und F wurde der Rotor durch den Elektromotor 10 angetrieben, und das erzeugte Drehmoment und die Lagerverluste können drehstellungsabhängig sein. Daher sind diese Messungen nicht so genau wie die Messung aus der Spalte D. Andererseits ist es vorteilhaft, die Kalibrierung und die Synchronisierung mit der gleichen Messmethode durchzuführen, da damit die ggf. vorhandenen grundsätzlichen Fehler jeweils gleich sind.
  • Der minimale Wert in den Spalten D, E und F ist jeweils bei HALL_CNT = 20, und der maximale Wert jeweils bei HALL_CNT = 21. Daher kann man eindeutig die Spalten E und F zueinander zuordnen und somit die Beziehung zwischen der Variablen HALL_CNT bzw. der zugeordneten Rotorstellung einerseits und dem Korrekturfaktor gemäß Spalte E andererseits herstellen.
  • Verfahren 2 – Ermittlung der Korrekturwerte nach dem Start des Motors 16 zeigt ein zweites Verfahren, bei dem die Korrekturwerte F0 bis F13 erst nach dem Start des Elektromotors 10 ermittelt werden.
  • In der oberen Hälfte ist der Zustand des Elektromotors 10 nach dem Start dargestellt, und in der unteren Hälfte der Zustand des Elektromotors 10 nach der Ermittlung der Korrekturwert F0 bis F13 durch die Funktion GET_F_HALL_CNT_CORR_INV(). links sind wieder die Rotorpole 38 und die zugehörige Variable HALL_CNT dargestellt, die bei jedem Wechsel des Rotorstellungssignals RS um den Wert 1 erhöht wird, wobei vom Wert 13 als nächstes wieder zum Wert 0 gesprungen wird. Rechts ist eine Tabelle für die Korrekturwerte F_HALL_CORR_INV gezeigt, die jeweils einem Wert des Index INDEX zugeordnet sind. Oben ist die Tabelle (INDEX, F_HALL_CORR_INV) ungefüllt, und unten sind die Korrekturwerte F0 bis F13 ermittelt und können für die Berechnung des korrigierten Drehzahlwerts verwendet werden.
  • Die Korrekturwerte F0 bis F13 können – wie oben beschrieben – bevorzugt bei einer konstanten Drehzahl ermittelt werden, oder aber auch bei einer beschleunigten Drehzahl. Bevorzugt findet die Ermittlung statt, wenn der Elektromotor 10 auf eine vorgegebene Drehzahl geregelt ist.
  • In einigen Anwendungsfällen wie z.B. bei Rollenantrieben oder Lüftern ist es problemlos möglich, den Elektromotor 10 nach dem Start auf eine vorgegebene Solldrehzahl n_s zu regeln, die Korrekturwerte zu ermitteln und anschließend wieder abzubremsen bzw. in den normalen Betrieb über zu gehen. In anderen Fällen, wenn z.B. durch den Elektromotor 10 ein Ventil geöffnet wird, ist eine solche Probemessung jedoch nicht immer möglich, und die Messung muss im normalen Betrieb erfolgen. Da die Korrekturwerte nach dem Start ermittelt werden und der zugehörige Wert der Variablen HALL_CNT bekannt ist, sind die zugeordneten Wechsel des Rotorstellungssignals RS bekannt, und es muss keine zusätzliche Zuordnung zwischen HALL_CNT und INDEX erfolgen.
  • Es ist bei diesem Verfahren auch möglich, die Korrekturwerte wiederholt zu messen und eine Mittelung der Korrekturwerte durchzuführen, um den Fehler bei den Korrekturwerten zu verringern. Dies ist auch in Kombination mit dem Verfahren 1 möglich, wobei die Startwerte für die Mittelung der Korrekturwerte vom nichtflüchtigen Speicher genommen werden.
  • Flussdiagramme
  • Die folgenden Figuren zeigen Flussdiagramme für die Berechnung des korrigierten Drehzahlwerts T_HALL_CORR bzw. n_CORR. Soweit nicht explizit auf eines der beiden vorgenannten Verfahren 1 bzw. 2 hingewiesen wird, gelten die Flussdiagramme für beide Verfahren.
  • 9 zeigt das Hauptprogramm MAIN, welches mit S200 bezeichnet ist und nach dem Einschalten des Elektromotors 10 aufgerufen wird. Es erfolgt ein Sprung nach S202, und in der Routine INIT werden die Variablen initialisiert und ggf. Überprüfungen durchgeführt. Eine Variable CORR_ACTIVE wird auf den Wert 0 gesetzt.
  • Für das Verfahren 1 (gespeicherte Korrekturwerte) wird eine Variable FCT_SYNC_HALL_CNT auf den Wert 1 gesetzt.
  • Für das Verfahren 2 (Ermittlung Korrekturwerte) wird eine Variable FCT_GET_F_HALL_CORR_INV auf den Wert 1 gesetzt.
  • Anschließend erfolgt ein Schritt nach S204, und es wird überprüft, ob die Kommutierungsroutine COMMUT S206 aufgerufen werden soll. Hierzu wird überprüft, ob die Variable FCT_COMMUT den Wert 1 hat. Falls JA, erfolgt ein Schritt nach S206 und ansonsten ein Sprung nach S210. In S206 wird die Kommutierungsroutine COMMUT ausgeführt, und anschließend wird nach S208 gesprungen, wo die Variable FCT_COMMUT wieder auf den Wert 0 gesetzt wird. Anschließend erfolgt ein Sprung nach S210.
  • In S210 wird überprüft, ob die Variable FCT_CALC_T_HALL_CORR den Wert 1 hat, ob also die Berechnung der korrigierten Zeitdauer CALC_T_HALL angefordert wurde. Falls JA, erfolgt ein Sprung nach S212, und falls NEIN, erfolgt ein Sprung nach S216. In S212 wird die Routine CALC_T_HALL_CORR aufgerufen, und dort erfolgt eine Berechnung des korrigierten Drehzahlwerts T_HALL_CORR. Anschließend wird in S214 die Variable FCT_CALC_T_HALL_CORR wieder auf Null gesetzt, und es erfolgt ein Sprung nach S216.
  • In S216 wird überprüft, ob die Variable FCT_n_RGL den Wert 1 hat. Falls JA, erfolgt ein Sprung nach S218. Falls NEIN, erfolgt ein Sprung nach S222. In S218 wird beispielhaft eine Routine n_RGL aufgerufen, die eine Drehzahlregelung durchführt und einen Stellwert ausgibt. Anschließend wird in S220 die Variable FCT_n_RGL auf Null zurückgesetzt, und es erfolgt ein Sprung nach S222. In S222 wird die Routine OTHER aufgerufen, die sonstige Aufgaben erledigt, z.B. die Entgegennahme von Befehlen über eine externe Steuerleitung. Anschließend erfolgt ein Sprung zurück nach S204.
  • Neben dem Hauptprogramm MAIN werden noch Interrupts verwendet. Ein HALL-Interrupt HALL_Int ist mit S230 bezeichnet, und beim Auftreten des HALL-Interrupts wird die Routine HALL_Interrupt_Routine S232 aufgerufen. In dieser Routine HALL_Interrupt_Routine wird ein Wechsel des Rotorstellungssignals RS bzw. RS1, RS2, RS3 verarbeitet.
  • Ein Interrupt S236 mit der Bezeichnung TIMER_Int wird von einem Timer ausgelöst, z. B. jeweils nach einer Millisekunde. Bei jedem Auslösen wird die Routine TIMER_Interrupt_Routine S238 aufgerufen.
  • Die Anforderung der Routine CALC_T_HALL S212 durch das Setzen der Variablen FCT_CALC_T_HALL auf den Wert 1 erfolgt z.B. jeweils nach einem HALL-Interrupt S230, also nach jedem Wechsel des Rotorstellungssignals, oder aber in vorgegebenen Zeitabständen mit Hilfe des TIMER-Interrupts S236.
  • 10 zeigt die Routine HALL_Interrupt_Routine S232. In S250 wird die Zeitdauer zwischen dem Zeitpunkt t_TIMER0 des aktuellen Wechsels des Rotorstellungssignals RS und dem Zeitpunkt t_TIMER0_OLD des vorhergehenden Wechsels des Rotorstellungssignals RS berechnet und in der Variablen T_HALL_CURRENT als aktuelle Zeitdauer gespeichert. Anschließend wird der aktuelle Wert t_TIMER0 des Timers TIMER 0 in der Variablen t_TIMER0_OLD gespeichert, um nach dem nächsten Wechsel erneut die Zeitdauer T_HALL_CURRENT berechnen zu können. Die Berechnung der Zeitdauer T_HALL_CURRENT kann alternativ auch in der Routine CALC_T_HALL_CORR erfolgen.
  • Es erfolgt ein Sprung nach S252, und dort wird ein Zähler HALL_CNT um eins erhöht, und auf das Ergebnis wird die Operation mod SPC_42 angewendet. Die Variable SPC_42 gibt die Anzahl der Wechsel des Rotorstellungssignals pro Umdrehung wieder. Der Wert der Variablen HALL_CNT bewegt sich also immer im Bereich zwischen 0 und 41, da die Variable beim Erreichen der Zahl 42 durch die Modulo-Operation mod wieder auf Null zurückgesetzt wird. Da es elektromotorisch keinen Unterschied macht, ob der Motor sich 360° oder 720° gedreht hat, ist es für die Berechnung ausreichend, wenn der Zähler HALL_CNT wie beschrieben ermittelt wird. Alternativ kann der Zähler HALL_CNT ständig erhöht werden, ohne die Operation mod anzuwenden. Eine entsprechende Zuordnung zu einem Wechsel des Rotorstellungssignals kann dann z.B. beim Zugriff auf die entsprechenden Datenstrukturen wie T_HALL[] etc. erfolgen.
  • Anschließend wird nach S254 gesprungen, und die berechnete Zeitdauer T_HALL_CURRENT zwischen den letzten beiden Wechseln des Rotorstellungssignals wird in ein Datenfeld (Array, Vektor) T_HALL[] an der Stelle HALL_CNT geschrieben. Angelehnt an die Programmiersprache C wird ein Datenfeld mit eckigen Klammern gekennzeichnet, also z.B. T_HALL[], und der Index i eines Datenfelds T_HALL[] mit n Elementen beginnt bei 0 und endet bei n – 1. Wird beispielsweise der zweite Wert des Datenfelds T_HALL[] betrachtet, wird dieser mit T_HALL[1] bezeichnet. Das Datenfeld T_HALL[] enthält also im vorliegenden Ausführungsbeispiel Platz für insgesamt 42 Werte (Index von 0 bis 41), die jeweils zwei benachbarten Wechseln des Rotorstellungssignals RS zugeordnet sind. Die Verwendung von Datenfeldern ist vorteilhaft aber nicht zwingend. Es kann z.B. auch eine Mehrzahl von Variablen verwendet werden, die mit einer Logik ausgewählt werden.
  • Nach S254 wird in S255 die Variable FCT_CALC_T_HALL auf den Wert 1 gesetzt, um die Berechnung des Drehzahlwerts anzufordern.
  • Anschließend erfolgt ein Sprung nach S256, und die Interrupt-Routine wird mit dem Befehl RETI verlassen.
  • 11 zeigt die Routine CALC_T_HALL_CORR S212, die im Hauptprogramm MAIN S200 aufgerufen wird.
  • In S280 wird der Wert HALL_CNT in die Variable HALL_CNT_CURRENT gespeichert, damit die gesamte Berechnung mit dem gleichen Zählerstand ausgeführt wird. Wenn ansonsten ein Wechsel des Rotorstellungssignals RS während der Berechnung auftreten würde, könnte es zu einem Fehler kommen. Dies ist allerdings nur bei sehr schnellen Motoren oder sehr langsamen Mikroprozessoren relevant.
  • In S281 wird überprüft, ob die Variable HALL_CNT_CURRENT den Wert 1 hat. Der Wert 1 ist beliebig gewählt, es kann also z. B. auch 2, 3 oder 4 gewählt werden. Ziel ist, dass einmal pro Umdrehung des Rotors die Schritte S282, S283 und ggf. S284 und S287 aufgerufen werden, also im vorliegenden Ausführungsbeispiel dann, wenn der Wert der Variablen HALL_CNT_CURRENT den Wert 1 hat. Falls dies nicht der Fall ist, erfolgt ein Sprung nach S289.
  • In S282 wird die Routine GET_SPEED_CONST() S282 aufgerufen, die überprüft, ob die Drehzahl weitgehend konstant ist und entsprechend dem Ergebnis eine Variable SPEED_CONST auf den Wert 1 (konstant) oder 0 (nicht konstant) setzt.
  • Anschließend wird in S283 der Wert der Variablen SPEED_CONST überprüft. Falls dieser 1 ist, erfolgt ein Sprung nach S284, ansonsten ein Sprung nach S289.
  • In S284 wird überprüft, ob die Variable FCT_SYNC_HALL_CNT den Wert 1 hat. Falls NEIN, erfolgt ein Spruch nach S287. Falls JA (Verfahren 1), erfolgt ein Sprung nach S286, und die Routine GET_HALL_CNT_SYNC() wird aufgerufen. Anschließend erfolgt ein Sprung nach S287.
  • In S287 wird überprüft, ob die Variable FCT_GET_T_HALL_CORR_INV den Wert 1 hat. Falls NEIN, erfolgt ein Spruch nach S289. Falls JA, erfolgt ein Sprung nach S288, und die Routine GET_T_HALL_CORR_INV() (Verfahren 2) wird aufgerufen. Anschließend erfolgt ein Sprung nach S289.
  • In S289 wird überprüft, ob die Variable CORR_ACTIVE den Wert 1 hat. Falls NEIN, erfolgt ein Sprung nach S284, und es wird keine korrigierte Zeitdauer T_HALL_CORR berechnet. Falls JA, erfolgt ein Sprung nach S290, und die Zeitdauer T_HALL_CORR mit Korrektur wird berechnet.
  • In S290 erfolgt eine Berechnung der korrigierten Zeitdauer T_HALL_CORR für den HALL-Zähler HALL_CNT_CURRENT. Bevorzugt wird hierfür ein Datenfeld T_HALL[] vorgesehen, in dem für jeden Winkelbereich des Rotors zwischen zwei Wechseln des Rotorstellungssignals ein Wert T_HALL_CORR gespeichert wird. Alternativ kann aber auch nur der zuletzt berechnete Wert T_HALL_CORR gespeichert werden.
  • Die Berechnung des korrigierten Werts T_HALL_CORR erfolgt, indem die nicht korrigierte Zeitdauer T_HALL des entsprechenden Zählers HALL_CNT_CURRENT multipliziert wird mit einem Korrekturwert F_HALL_CORR_INV. Da der Korrekturwert F_HALL_CORR_INV abhängig ist vom aktuellen Zählerstand HALL_CNT, muss der zugeordnete Wert ausgewählt werden. Dies erfolgt, indem die Werte der Variablen HALL_CNT_CURRENT und HALL_CNT_SYNC addiert werden, und das Ergebnis anschließend mit der Operation mod SPC_42 bearbeitet wird. Die Variabel HALL_CNT_SYNC gibt den Bezug zwischen den gespeicherten Werten im Datenfeld F_HALL_CORR_INV und dem Zähler HALL_CNT_CURRENT, und sie wird in der Routine SYNC_HALL_CNT S286 gesetzt, wie dies im Folgenden beschrieben wird.
  • 12 zeigt die Routine GET_SPEED_CONST() S282, die überprüft, ob die Drehzahl des Rotors in vorgegebener Genauigkeit konstant ist.
  • In S301 wird die absolute (ohne Vorzeichen) Differenz zwischen der Zeitdauer T_HALL für den Zählerstand HALL_CNT = 1 und der Variablen T_HALL_OLD berechnet. Die Variable T_HALL_OLD wird anschließend auf den Wert T_HALL [1] gesetzt. Da die Routine S282 einmal pro Umdrehung des Rotors aufgerufen wird, wird also die Zeitdauer T_HALL der aktuellen Umdrehung mit der Zeitdauer T_HALL vor einer Umdrehung verglichen. Hierdurch erfolgt ein Vergleich im gleichen Winkelbereich des Rotors, und man kann bei diesem Vergleich davon ausgehen, dass kein Fehler oder nur ein geringer Fehler auf Grund der mechanischen Anordnung der Magneten auftritt. Anhand des Werts T_HALL_DIFF kann somit abgelesen werden, ob die Drehzahl während der letzten Umdrehung konstant war oder sich stark verändert hat.
  • Hierzu wird in S302 überprüft, ob der Quotient T_HALL_DIFF/T_HALL[1], der der positiven prozentualen Abweichung der Zeitdauern T_HALL[1] und T_HALL_OLD von einander entspricht, kleiner oder gleich einem Wert EPSILON ist, wobei der Wert EPSILON z. B. 0,05 (5%) beträgt. Wenn also die Abweichung der gemessenen Zeitdauern geringer als fünf Prozent ist, wird von einem Elektromotor mit konstant drehender Geschwindigkeit ausgegangen. Je nach gewünschter Genauigkeit kann die Variable EPSILON auch einen geringeren Wert (z. B. 0,02) für eine höhere Genauigkeit oder aber einen größeren Wert (z. B. 0,08) für eine niedrigere Genauigkeit erhalten. Ist die Bedingung in S302 nicht erfüllt, wird die Drehzahländerung zur vorhergehenden Änderung also für zu groß und damit nicht als konstant erachtet, erfolgt ein Sprung nach S304, und die Variable SPEED_CONST wird auf den Wert 0 gesetzt. Anschließend erfolgt ein Sprung nach S306, und die Routine wird verlassen.
  • Ist die Bedingung in S302 jedoch erfüllt, erfolgt ein Sprung nach S303, und dort wird die Variable SPEED_CONST auf den Wert 1 gesetzt. Anschließend erfolgt ein Sprung nach S306, und die Routine wird verlassen.
  • Als Beispiel sind beim Aufruf der Routine GET_SPEED_CONST S282 die folgenden Werte gegeben: T_HALL[1] = 200 T_HALL_OLD = 195
  • Hieraus ergeben sich die nachfolgenden Werte: T_HALL_DIFF = 5 T_HALL_DIFF/T_HALL[1] = 5/200 = 0,025
  • Der Quotient ist somit kleiner als EPSILON, also kleiner als 0,05, und es kann eine Synchronisierung stattfinden.
  • In einer einfachen Ausführungsform kann auch T_HALL_DIFF direkt mit einem absoluten Wert verglichen werden. Dies ist z.B. dann möglich, wenn die Synchronisierung bei einer vorgegebenen Drehzahl stattfindet.
  • 13 zeigt die Routine GET_HALL_CNT_SYNC S308. Diese soll im Schritt S290 der 11 die Zuordnung der in einem Korrekturwert-Datenfeld F_HALL_CORR_INV[] gespeicherten Werte zum Zähler HALL_CNT ermöglichen, wie dies zum Verfahren 1 beschrieben wurde. Man kann von einer Synchronisierung sprechen.
  • In S311 wird die Schleifenvariable i auf den Wert 0 gesetzt, und die Variable i_max wird auf den Wert 0 gesetzt. Die Variable i_max soll anzeigen, an welcher Stelle des Datenfelds T_HALL[] der gespeicherte Wert maximal ist. Anschließend wird in S312 überprüft, ob die Zeitdauer T_HALL[i] größer ist als die Zeitdauer T_HALL[i_max]. Falls JA, erfolgt ein Sprung nach S314. Falls NEIN, erfolgt ein Sprung nach S316. In S314 wird die Variable i_max auf den Wert der Variablen i gesetzt, da ein neues Maximum gefunden wurde. Anschließend erfolgt ein Sprung nach S316, wo die Variable i um den Wert 1 erhöht wird. In S318 wird überprüft, ob die Variable i kleiner als der Wert SPC_42 ist, ob also alle Felder des Datenfelds T_HALL[] durchlaufen wurden. Falls NEIN, erfolgt ein Sprung zurück nach S312. Falls JA, erfolgt ein Sprung nach S320.
  • Nach dem Durchlaufen aller Schleifendurchgänge gibt die Variable i_max an, an welcher Stelle des Datenfelds T_HALL[] sich die maximale Zeitdauer T_HALL[i_max] befindet.
  • In S320 wird die Schleifenvariable i auf den Wert 0 gesetzt, und die Variable i_min auf den Wert 0. Anschließend wird in S322 überprüft, ob der Korrekturwert F_HALL_CORR_INV[i] an der Stelle i kleiner ist als an der Stelle i_min. Falls JA, erfolgt ein Sprung nach S323, falls NEIN, ein Sprung nach 324. In S323 wird die Variable i_min auf den Wert der Variablen i gesetzt, da an der Stelle der Variablen i ein neues Minimum gefunden wurde. Anschließend erfolgt ein Sprung nach S324, wo die Variable i um 1 erhöht wird. In S326 wird anschließend überprüft, ob die Variable i kleiner dem Wert SPC_42, ob also alle Felder des Datenfelds F_HALL_CORR_INV[] durchlaufen wurden. Falls JA, erfolgt ein Sprung zurück nach S322. Falls NEIN, erfolgt ein Sprung nach S328. Nach dem Durchlaufen der Schleife hat die Variable i_min den Wert, an dem das Datenfeld F_HALL_CORR_INV[] den minimalen Wert F_HALL_CORR_INV[i_min] hat.
  • In S328 wird die Variable HALL_CNT_SYNC berechnet, indem (i_min – i_max) mod SPC_42 berechnet wird.
  • Anschließend wird in S329 die Variable CORR_ACTIVE auf den Wert 1 gesetzt, um anzuzeigen, dass die Synchronisierung durchgeführt wurde und ab diesem Zeitpunkt eine Berechnung der korrigierten Zeitdauer T_HALL_CORR erfolgen kann.
  • Anschließend erfolgt ein Sprung nach S330, und die Routine wird verlassen. Die Synchronisierung erfolgt also derart, dass einerseits das Maximum im Datenfeld T_HALL [] gesucht wird, das der maximalen Zeitdauer und damit der maximalen Winkelerstreckung entspricht. An dieser Stelle muss der inverse Korrekturfaktor F_HALL_CORR_INV entsprechend ein Minimum aufweisen, da im Ausführungsbeispiel die korrigierte Zeitdauer F_HALL_CORR_INV durch Multiplikation der beiden genannten Variablen ermittelt wird.
  • Dass die Variable HALL_CNT_SYNC eine Synchronisierung vom Zähler HALL_CNT zum Datenfeld F_HALL_CORR_INV[] ermöglicht, zeigt das Einsetzen des Zählerwerts i_max in die Berechnung gemäß S290 in 11: F_HALL_CORR_INV[(i_max + HALL_CNT_SYNC) mod SPC_42] = F_HALL_CORR_INV[i_max + (i_min – i_max) mod SPC_42] = F_HALL_CORR_INV[i_min mod SPC_42]
  • Setzt man also für HALL_CNT den Wert i_max, so kommt die Stelle i_min im Datenfeld T_HALL_CORR_INV heraus, die Zuordnung funktioniert also.
  • Alternativ kann auch einmalig die Variable HALL_CNT um den Wert HALL_CNT_SYNC erhöht werden, so dass die Variable HALL_CNT bereits dem Index des Datenfelds F_HALL_CORR_INV[] entspricht.
  • Das gezeigte Verfahren mit der Such nach dem Minimum und Maximum ist relativ einfach, hat sich jedoch in Tests als zuverlässig erwiesen. Naturgemäß sind auch komplizierte Verfahren möglich, bei denen z. B. die Variable HALL_CNT_SYNC nacheinander alle möglichen Werte 0 .. (SPC_42-1) erhält und überprüft wird, bei welchem der gewählten Werte jeweils die minimalen Abweichungen aller damit ermittelten korrigierten Zeitdauern T_HALL_CORR voneinander auftreten.
  • 14 zeigt die Routine GET_F_HALL_CORR_INV S288, in der die Korrekturwerte F_HALL_CORR_INV ermittelt werden. Diese Routine kann für das Verfahren 2 eingesetzt werden, sie kann aber auch beim Verfahren 1 verwendet werden, um die im nicht-flüchtigen Speicher gespeicherten Werte zu ermitteln.
  • In S350 werden die Variablen T_TOTAL und i auf den Wert 0 gesetzt. In S352 wird die Zeitdauer T_HALL[i] zur Variablen T_TOTAL hinzu addiert, und anschließend wird die Variable i um den Wert 1 erhöht.
  • Anschließend wird in S354 überprüft, ob die Variable i kleiner ist als die Variable SPC_42. Falls Nein, erfolgt ein Sprung nach S352. Fall Ja, erfolgt ein Sprung nach S356.
  • Durch die Schleife werden alle Zeitdauern T_HALL[i] addiert, und das Ergebnis T_TOTAL entspricht der Gesamtzeitdauer für eine Umdrehung.
  • In S356 wird die Variable T_TOTAL durch den Wert SPC_42 geteilt, und das Ergebnis T_TOTAL entspricht der durchschnittlichen Zeitdauer zwischen zwei Wechseln des Rotorstellungssignals RS, bzw. dem Mittelwert der Zeitdauer zwischen zwei Wechseln des Rotorstellungssignals RS.
  • In S358 wird die Variable i auf den Wert 0 gesetzt, und anschließend wird in S360 das Datenfeld F_HALL_CORR_INV[] mit den Korrekturwerten befüllt, wobei die Korrekturwerte berechnet werden mit der Formel T_TOTAL / T_HALL[i]. Anschließend wird die Variable i um den Wert 1 erhöht, und es erfolgt ein Sprung nach S362.
  • In S362 wird überprüft, ob die Variable i kleiner als die Variable SPC_42 ist. Falls Nein, erfolgt ein Sprung nach S360. Falls Ja, erfolgt ein Sprung nach S364. Durch diese Schleife S360, S362 wird das Datenfeld F_HALL_CORR_INV[] für alle auftretenden Wechsel des Rotorstellungssignals befüllt.
  • In S364 wird die Variable FCT_GET_F_HALL_CORR_INV auf den Wert 0 gesetzt, da die Korrekturwerte jetzt ermittelt sind und nicht neu ermittelt werden müssen.
  • In S366 wird die Variable HALL_CNT_SYNC auf den Wert 0 gesetzt, da bei der vorliegenden Variante der Zähler HALL_CNT mit dem Datenfeld F_HALL_CORR_INV [] bereits synchronisiert ist.
  • In S368 wird die Variable CORR_ACTIVE auf den Wert 1 gesetzt, um anzuzeigen, dass ab jetzt ein korrigierter Drehzahlwert berechnet werden kann. Anschließend wird in S370 die Routine S288 verlassen.
  • Naturgemäß sind im Rahmen der vorliegenden Erfindung vielfältige Abwandlungen und Modifikationen möglich.
  • So kann die Drehstellungserkennungsvorrichtung 50 alternativ als sensorlose Erfassung ausgebildet werden, bei der die Spannung erfasst wird, die im Betrieb in die Wicklungsanordnung induziert wird, wie dies z.B. offenbart ist in der EP 2 343 797 A2 , der EP 2 220 755 B1 oder in der EP 1 596 495 B1 . Die entsprechenden sensorlos detektierten Signale können als Rotorstellungssignal RS verwendet werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 2343797 A2 [0137]
    • EP 2220755 B1 [0137]
    • EP 1596495 B1 [0137]

Claims (18)

  1. Elektromotor (10), welcher aufweist: Eine Rotoranordnung (30) mit einem Rotor (32), eine Statoranordnung (20), eine Drehstellungserkennungsvorrichtung (50), welche dazu ausgebildet ist, ein Rotorstellungssignal (RS; RS1, RS2, RS3) zu erzeugen, welches an vorgegebenen Drehstellungen (97, 98, 99) des Rotors (32) einen Wechsel des Rotorstellungssignals (RS; RS1, RS2, RS3) aufweist, eine Auswertevorrichtung (60), welche dazu ausgebildet ist, aus den Wechseln des Rotorstellungssignals einen Drehzahlwert (T_HALL_CORR; n_CORR) zu erzeugen, welcher die Drehzahl des Rotors (32) charakterisiert, wobei die Auswertevorrichtung (60) dazu ausgebildet ist, die folgenden Schritte auszuführen: A) Korrekturwerte (F_HALL_CORR_INV) werden ermittelt, welche jeweils die Abweichung der Drehwinkelerstreckung (PHI_m) zwischen zwei vorgegebenen Wechseln (96, 96') des Rotorstellungssignals von der durchschnittlichen Drehwinkelerstreckung (PHI_t) zwischen zwei Wechseln des Rotorstellungssignals charakterisieren; B) Ein erster Wert (T_HALL; n) wird ermittelt, welcher die Zeitdauer zwischen zwei vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) charakterisiert, C) Der Drehzahlwert (T_HALL_CORR; n_CORR) wird aus dem ersten Wert (T_HALL; n) und dem den vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) zugeordneten Korrekturwert (F_HALL_CORR_INV) berechnet.
  2. Elektromotor (10) nach Anspruch 1, bei welchem die Drehstellungserkennungsvorrichtung (50) mindestens einen Rotorstellungssensor (51, 52, 52) aufweist.
  3. Elektromotor nach Anspruch 1 oder 2, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, die Zeitdauer (T_HALL) zwischen zwei vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) zu ermitteln, welche zwei vorgegebenen Wechsel (96, 96') unmittelbar aufeinander folgen.
  4. Elektromotor nach einem der Ansprüche 1 bis 3, welcher einen Datenspeicher (56, 54) aufweist, bei welchem das Rotorstellungssignal (RS; RS1, RS2, RS3) eine Anzahl n von Wechseln pro Umdrehung des Rotors (32) aufweist, und bei welchem im Datenspeicher (56, 54) eine Anzahl n von Korrekturwerten gespeichert ist.
  5. Elektromotor nach Anspruch 4, bei welcher der Datenspeicher (54) ein nicht-flüchtiger Speicher ist.
  6. Elektromotor nach einem der vorhergehenden Ansprüche, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, den Drehzahlwert (T_HALL_CORR; n_CORR) nach jedem Wechsel des Rotorstellungssignals zu berechnen.
  7. Elektromotor nach einem der Ansprüche 1 bis 5, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, den Drehzahlwert (T_HALL_CORR; n_CORR) in vorgegebenen Zeitabständen zu berechnen.
  8. Elektromotor nach Anspruch 7, bei welchem die vorgegebenen Zeitabstände durch einen Timer (TIMER_Int) vorgegeben werden.
  9. Elektromotor nach einem der vorhergehenden Ansprüche, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, bei drehendem Rotor (32) die Korrekturwerte (F_HALL_CORR_INV) zu ermitteln.
  10. Elektromotor nach Anspruch 9, welcher einen Drehzahlregler aufweist, und bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, den Elektromotor auf eine vorgegebene Drehzahl (n_s; T_HALL_s) zu regeln und die Korrekturwerte (F_HALL_CORR_INV) bei der vorgegebenen Drehzahl (n_s; T_HALL_s) zu ermitteln.
  11. Elektromotor nach Anspruch 10, bei welchem die Auswertevorrichtung (60) nach dem Start des Elektromotors (10) automatisch den Elektromotor auf die vorgegebene Drehzahl (n_s; T_HALL_s) regelt, die Korrekturwerte (F_HALL_CORR_INV) ermittelt und den Elektromotor (10) nach der Ermittlung wieder anhält.
  12. Elektromotor nach einem der Ansprüche 9 bis 11, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, eine erste Zeitdauer (S301) zwischen zwei vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) zu ermitteln und anschließend nach mindestens einer Umdrehung des Rotors (32) eine zweite Zeitdauer zwischen den vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) zu ermitteln, die den Drehstellungen des Rotors entsprechen, wie sie bei der Ermittlung der ersten Zeitdauer verwendet wurden, und die Korrekturwerte (F_HALL_CORR_INV) nur dann zu ermitteln, wenn die Differenz zwischen der ersten Zeitdauer und der zweite Zeitdauer geringer ist als ein vorgegebener Grenzwert (S302).
  13. Elektromotor nach einem der vorhergehenden Ansprüche, welcher einen nichtflüchtigen Speicher (54) hat, in dem die Korrekturwerte (F_HALL_CORR_INV) gespeichert sind, und bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, die Korrekturwerte (F_HALL_CORR_INV) aus dem nichtflüchtigen Speicher (54) zu laden und zur Berechnung des Drehzahlwerts (T_HALL_CORR; n_CORR) zu verwenden.
  14. Elektromotor nach Anspruch 13, bei welchem die Auswertevorrichtung (60) beim Start der Auswertevorrichtung (60) keine Zuordnung der Korrekturwerte (F_HALL_CORR_INV) aus dem nichtflüchtigen Speicher hat, und bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, eine Zuordnung der Korrekturwerte (F_HALL_CORR_INV) aus dem nichtflüchtigen Speicher (54) zu den vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) durchzuführen.
  15. Elektromotor nach Anspruch 14, bei welchem die Auswertevorrichtung (10) dazu ausgebildet ist, für eine Mehrzahl von Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) den ersten Wert (T_HALL; n) zu ermitteln, welcher die Zeitdauer zwischen zwei Wechseln des Rotorstellungssignals charakterisiert, und durch Auswertung der ersten Werte (T_HALL; n) die Zuordnung der Korrekturwerte (F_HALL_CORR_INV) zu den vorgegebenen Wechseln (96, 96') des Rotorstellungssignals (RS; RS1, RS2, RS3) durchzuführen.
  16. Elektromotor nach einem der vorhergehenden Ansprüche, welcher einen Drehzahlregler (152, 67) aufweist, welchem als zu regelnde Größe der Drehzahlwert (T_HALL_CORR; n_CORR) zugeführt wird.
  17. Elektromotor nach Anspruch 16, bei welchem die Auswertevorrichtung (60) dazu ausgebildet ist, mehrmals pro Umdrehung des Rotors (32) einen aktuellen Drehzahlwert (T_HALL_CORR; n_CORR) zu berechnen, und bei welchem der Drehzahlregler (152, 67) dazu ausgebildet ist, mehrmals pro Umdrehung den aktuellen Drehzahlwert (T_HALL_CORR; n_CORR) zu verarbeiten.
  18. Elektromotor nach einem der vorhergehenden Ansprüche, bei welchem das Rotorstellungssignal (RS; RS1, RS2, RS3) eine Anzahl n von Wechseln pro Umdrehung des Rotors (32) aufweist, und bei welchem die durchschnittliche Drehwinkelerstreckung (PHI_t) zwischen zwei Wechseln des Rotorstellungssignals einem Winkel von 360°/n entspricht.
DE102013113602.8A 2013-12-05 2013-12-06 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts Withdrawn DE102013113602A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102013113602.8A DE102013113602A1 (de) 2013-12-06 2013-12-06 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
DE112014005540.9T DE112014005540A5 (de) 2013-12-05 2014-11-27 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
PCT/EP2014/075877 WO2015082317A1 (de) 2013-12-05 2014-11-27 Auswertevorrichtung zur erzeugung eines drehzahlwerts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102013113602.8A DE102013113602A1 (de) 2013-12-06 2013-12-06 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts

Publications (1)

Publication Number Publication Date
DE102013113602A1 true DE102013113602A1 (de) 2015-06-11

Family

ID=53184971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013113602.8A Withdrawn DE102013113602A1 (de) 2013-12-05 2013-12-06 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts

Country Status (1)

Country Link
DE (1) DE102013113602A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596495B1 (de) 2004-05-12 2011-04-27 ebm-papst St. Georgen GmbH & Co. KG Verfahren zum sensorlosen Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens
EP2343797A2 (de) 2010-01-12 2011-07-13 Ebm-Papst St. Georgen GmbH & CO. KG Einphasiger elektronisch kommutierter Motor
EP2220755B1 (de) 2007-12-18 2011-09-07 Ebm-Papst St. Georgen GmbH & CO. KG Elektronisch kommutierter motor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596495B1 (de) 2004-05-12 2011-04-27 ebm-papst St. Georgen GmbH & Co. KG Verfahren zum sensorlosen Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens
EP2220755B1 (de) 2007-12-18 2011-09-07 Ebm-Papst St. Georgen GmbH & CO. KG Elektronisch kommutierter motor
EP2343797A2 (de) 2010-01-12 2011-07-13 Ebm-Papst St. Georgen GmbH & CO. KG Einphasiger elektronisch kommutierter Motor

Similar Documents

Publication Publication Date Title
EP2272162B1 (de) Offsetwinkelbestimmung bei synchronmaschinen
EP2646836B1 (de) Verfahren zur bestimmung der drehzahl einer synchronmaschine
EP1657810A1 (de) Verfahren zur automatischen Einstellung des Kommutierungswinkels bei bürstenlosen Gleichstrommotoren
EP1087232A1 (de) Verfahren zur Messung einer Frequenz, insbesondere der Drehzahl eines Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens
EP1214602B1 (de) Verfahren zur drehzahlregelung eines motors und motor zur durchführung eines solchen verfahrens
DE102013218041A1 (de) Verfahren zum Betreiben eines Elektromotors
WO2013092398A2 (de) Verfahren und vorrichtung zum korrigieren eines messwertes eines drehwinkels eines rotors einer elektrischen maschine
DE102004037584A1 (de) Antriebseinheit
DE102011055717B4 (de) Verfahren und Anordnung zur Bestimmung des dynamischen Zustands eines Elektromotors
DE69633086T2 (de) Geschwindigkeitsregelungsverfahren für einen elektrischen Motor
DE102012111799A1 (de) Elektrisch kommutierter Motor und Verfahren zum Kalibieren eines elektrisch kommutierten Motors
DE112013003790T5 (de) Hybridregelkreis-Drehzahlsteuerung unter Verwendung einer offenen Regelkreis-Stellung für die Steuerung elektrischer Maschinen
DE112019001965T5 (de) Verfahren zur bestimmung eines winkelversatzes eines positionssensors
DE102013113584A1 (de) Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
EP3464862B1 (de) Verfahren und vorrichtung zur kalibrierung eines stellgebersystems
DE102013101976B4 (de) Motorsteuerung und Verfahren zum Erfassen von Schrittfehlern eines Schrittmotors
DE102008002339A1 (de) Erregungszeitpunkt-Bestimmungsschaltung und Bestimmungsverfahren für einen Erregungszeitpunkt eines Motors
WO2015082317A1 (de) Auswertevorrichtung zur erzeugung eines drehzahlwerts
DE102013113602A1 (de) Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
DE102018128354A1 (de) Verfahren zum bestimmen einer rotorstellung eines bldc-motors
EP1443635A1 (de) Verfahren zum Steuern des Zündwinkels
DE102014211881A1 (de) Verfahren zur Überprüfung einer Lage eines Rotors einer elektrischen Maschine
EP3704790B1 (de) Verfahren zur ermittlung der rotorposition von synchron laufenden elektrischen maschinen ohne mechanischen geber
WO2017017211A1 (de) Verfahren zur bestimmung der temperatur des rotors eines elektromotors
DE102020134580A1 (de) Verfahren zum Erkennen eines Fehlerzustands bei einem elektronisch kommutierten Gleichstrommotor

Legal Events

Date Code Title Description
R118 Application deemed withdrawn due to claim for domestic priority
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H02P0006160000

Ipc: H02P0006170000