Beschreibung
Titel
Elektronisch kommutierter Elektromotor mit einer Rotorpositions-Prädiktion und Verfahren
Stand der Technik
Die Erfindung betrifft einen elektronisch kommutierten Elektromotor. Der elektronisch kommutierte Elektromotor weist einen Stator und einen insbesondere permanentmagnetisch ausgebildeten Rotor auf. Der Elektromotor weist auch eine Steuereinheit auf, welche mit dem Stator wirkverbunden und ausgebildet ist,
Steuersignale zum Kommutieren des Stators derart zu erzeugen, dass der Stator ein magnetisches Drehfeld zum Drehbewegen des Rotors erzeugen kann. Der Elektromotor weist auch wenigstens einen Rotorpositionssensor auf, welcher ausgebildet ist, eine Rotorposition, insbesondere eine Winkelposition, des Rotors zu erfassen und ein die Rotorposition repräsentierendes Rotorpositionssignal zu erzeugen. Die Steuereinheit ist ausgebildet, die Steuersignale in Abhängigkeit von dem Rotorpositionssignal zu erzeugen.
Aus der DE 103 57 504 A1 ist ein Elektromotor bekannt, bei dem eine Rotorlage eines Rotors mittels eines Sensors und eines auf das Ausgangssignal des Sen- sors synchronisierten Oszillators bestimmt wird. Dabei wird die Rotorlage zwischen Erfassungspositionen des Ausgangssignals mittels einer Schwingung des Oszillators abgeleitet.
Bei schnell drehenden elektronisch kommutierten Elektromotoren besteht das Problem, dass während eines Betriebes des Elektromotors die Rotorpositionser- fassung mit einer hohen Erfassungsfrequenz durchgeführt werden muss, wenn während einer Rotorumdrehung ein häufiger Wechsel eines Kommutierungs-
musters erfolgen soll. Die Steuereinheit des Elektromotors muss dann dazu eine entsprechend hohe Rechenkapazität aufweisen.
Offenbarung der Erfindung
Erfindungsgemäß ist die Steuereinheit des elektronisch kommutierten Elektromotors der eingangsgenannten Art ausgebildet, das Rotorpositionssignal abzutasten und zu quantisieren, und ein digitales Prädiktions-Rotorpositionssignal zu erzeugen. Das digitale Prädiktions- Rotorpositionssignal bildet einen zeitlichen Datenstrom, welcher dem abgetasteten und quanti- sierten Rotorpositionssignal entspricht und wenigstens einen oder eine Mehrzahl von zukünfti- gen, über das Rotorpositionssignal zeitlich hinausführende Rotorpositionswerte umfasst. Durch das so gebildete Prädiktions-Rotorpositionssignal kann vorteilhaft die Rotorposition für eine aktuelle Rotorposition, oder für zukünftige Rotorpositionen zum Kommutieren des Elektromotors zur Verfügung stehen. Weiter vorteilhaft kann die so vorausgesagte Rotorposition zum Kommutieren des Elektromotors zur Verfügung stehen, bevor der Rotorpositionssensor, insbesondere ein Winkelsensor, nach Wandlung eines beispielsweise analogen Rotorpositionssignals in ein digitales Rotorpositionssignal, das so gewandelte Rotorpositionssignal zur weiteren Signalverarbeitung zur Verfügung stellen kann.
Der Rotorpositionssensor ist bevorzugt einen Winkelsensor. Der Winkelsensor ist beispielsweise ein Giant-Magneto-Resistiver-Sensor (GMR-Sensor) oder ein Anisotroper-Magneto- Resistiver-Sensor (AMR-Sensor). In einer anderen Ausführungsform weist der Elektromotor beispielsweise eine Mehrzahl von Hall-Sensoren auf, welche jeweils ausgebildet sind, ein analoges Rotorpositionssignal zu erzeugen. Bevorzugt ist der Winkelsensor, insbesondere der GMR-Sensor oder AMR-Sensor, ausgebildet, ein zeitkontinuierliches, analoges Rotorpositionssignal zu erzeugen. Eine Winkelauflösung des Winkelsensors ist dann durch eine Abtastrate ei- nes das analoge Rotorpositionssignal analog-zu-digital wandelnden Analog-Digital-Wandlers bestimmt.
In einer bevorzugten Ausführungsform ist die Steuereinheit ausgebildet, das insbesondere digitale Prädiktions-Rotorpositionssignal in Abhängigkeit von weiteren, mittels des Rotorpositionssensors erfassten Rotorpositionen insbesondere gemäß einem Prinzip FIFO (FIFO = First-In- First-out) zu korrigieren. Dazu kann das Prädiktions-Rotorpositionssignal beispielsweise durch eine vorbestimmte Anzahl von Rotorpositionswerten gebildet sein, wobei die Rotorpositionswerte mit jedem neuen von dem Winkelsensor erfassten - weiter bevorzugt zusätzlich von einem Analog-Digitalwandler gewandelten - Rotorpositionswert nach dem Prinzip FIFO aktualisiert werden. Damit kann vorteilhaft die Kommutierung des Elektromotors auch mit nicht-stationären Bewegungsmustern erfolgen. Beispielsweise kann die Steuereinheit während einer Rotorum-
drehung eine Vielzahl zueinander verschiedener Kommutierungsmuster auf den Stator beaufschlagen.
In einer bevorzugten Ausführungsform ist die Steuereinheit ausgebildet, das digitale Prädikti- ons-Rotorpositionssignal mittels einer Approximationsfunktion in Abhängigkeit des Rotorpositi- onssignals als zu approximierende Ausgangsfunktion zu erzeugen. Dadurch kann vorteilhaft das mittels des Rotorpositionssensors erzeugte Rotorpositionssignal für zukünftige Rotorpositionen vorteilhaft geschätzt werden.
Bevorzugt ist die Approximationsfunktion ein Polynom, insbesondere wenigstens zweiten Grades oder genau zweiten oder dritten Grades. Weitere vorteilhafte Ausführungsbeispiele für eine Approximationsfunktion sind eine Spline-Funktion oder eine Exponentialfunktion.
Die Steuereinheit weist in einer vorteilhaften Ausführungsform einen Zeitgeber auf, und ist ausgebildet, in Abhängigkeit eines von dem Zeitgeber erzeugten Zeitsignals und in Abhängigkeit des Prädiktions-Rotorpositionssignal den Stator, insbesondere mittels des Kommutierungsmusters, zu kommutieren. Dadurch kann der Stator vorteilhaft nach Ablauf eines von dem Zeit- geber erzeugten Zeitsignals, beispielsweise eines so gebildeten Zeitintervalls, zu einem gemäß der Approximationsfunktion ermittelten Zeitpunkt kommutiert werden.
Bevorzugt kann die Steuereinheit dazu ausgebildet sein, den Kommutierungszeitpunkt mittels Linearinterpolation zwischen zwei insbesondere aufeinander folgenden, bevorzugt zukünftigen, Rotorpositionswerten des Prädiktions-Rotorpositionssignal zu ermitteln.
Die Erfindung betrifft auch ein Verfahren zum Betreiben eines elektronisch kommutierten Elektromotors, insbesondere des zuvor beschriebenen Elektromotors. Bei dem Verfahren wird mittels eines Rotorpositionssensors eine Rotorposition erfasst und ein der Rotorposition entsprechendes Rotorpositionssignal erzeugt. Weiter wird bei dem Verfahren bevorzugt das Rotorpositionssignal abgetastet und quantisiert, und ein insbesondere digitales, einen zeitlichen Daten- ström bildendes Prädiktions-Rotorpositionssignal erzeugt. Das Prädiktions-Rotorpositionssignal repräsentiert das abgetastete und quantisierte Rotorpositionssignal und umfasst wenigstens einen, oder eine Mehrzahl von zukünftigen, über das Rotorpositionssignal zeitlich hinausreichende Rotorpositionswerte.
In einer bevorzugten Ausführungsform des Verfahrens wird das digitale Prädiktions- Rotorpositionssignal in Abhängigkeit von weiteren, mittels des Rotorpositionssensors erfassten
Rotorpositionen korrigiert.
In einer vorteilhaften Ausführungsvariante des Verfahrens wird das digitale Prädiktions- Rotorpositionssignal durch Bilden einer Approximationsfunktion in Abhängigkeit des Rotorpositionssignals als Ausgangsfunktion erzeugt. Die Ausgangsfunktion ist dabei die zu approximie- rende Funktion, welche Stützstellen zum Erzeugen der Approximationsfunktion bilden kann.
Dadurch kann das Prädiktions-Rotorpositionssignal auch über einen durch die Stützstellen, bei-
spielsweise mittels des Rotorpositionssignals gebildeten - oder aus diesem erzeugten - Bereich hinaus extrapoliert sein. Die Approximationsfunktion ist bevorzugt eine Polynomfunktion zweiten oder dritten Grades.
In einer bevorzugten Ausführungsform des Verfahrens erfolgt in Abhängigkeit des Prädiktions- Rotorpositionssignals nach Ablauf eines Zeitintervalls ein Kommutieren des Stators, wobei der
Ablauf einem vorbestimmten Kommutierungszeitpunkt entspricht. Bevorzugt erfolgt das Kommutieren mittels wenigstens eines, bevorzugt vorbestimmten, Kommutierungsmusters. Dadurch kann das Kommutieren vorteilhaft bereits vor einem Vorliegen eines mittels des Rotorpositionssensors erzeugten Rotorpositionswertes erfolgen.
Bei dem Verfahren wird bevorzugt der Ablauf des Zeitintervalls mittels Linearinterpolation zwischen zwei Rotorpositionswerten des Prädiktions-Rotorpositionssignals ermittelt. Dadurch kann der zukünftige Rotorpositionswert vorteilhaft schnell ermittelt werden. Die Steuereinheit weist in dieser Ausführungsform für die Linearinterpolation nur Addierer als Rechenoperatoren auf. Denkbar ist auch ein Ermitteln des zukünftigen Rotorpositionswertes in Abhängigkeit der Ap- proximationsfunktion. Die dazu notwendigen Multiplikationen können vorteilhaft durch eine entsprechend schnelle Recheneinheit erfolgen.
Die Steuereinheit kann beispielsweise ein Mikroprozessor, ein Mikrocontroller oder ein FPGA (FPGA = Field-Programmable-Gate-Array), oder ein ASIC (ASIC = Application-Specific- Integrated-Circuit) sein. Die Steuereinheit wird beispielsweise durch ein Steuerprogramm ge- steuert, welches auf einem Datenträger gespeichert ist und zusammen mit dem Datenträger ein
Computer-Programmprodukt bildet.
Die Erfindung betrifft auch eine Steuereinheit gemäß der vorbeschriebenen Art für einen Elektromotor der vorbeschriebenen Art. Die Steuereinheit weist dann keinen Rotor und keinen Stator auf und ist ausgebildet, mit einem Stator eines Elektromotors verbunden zu werden.
Die Erfindung wird nun im Folgenden anhand von Figuren und weiteren Ausführungsbeispielen beschrieben. Weitere vorteilhafte Ausführungsvarianten ergeben sich aus den zuvor beschriebenen Merkmalen, sowie den in der Figurenbeschreibung angegebenen Merkmalen, und den in den abhängigen Ansprüchen angegebenen Merkmalen.
Figur 1 zeigt ein Ausführungsbeispiel für einen elektronisch kommutierten Elektromotor mit der erfindungsgemäßen Steuereinheit;
Figur 2 zeigt ein Verfahren zum Betreiben des in Figur 1 dargestellten Elektromotors;
Figur 3 zeigt ein Diagramm, welches die Arbeitsweise des in Figur 1 dargestellten Elektromotors sowie das in Figur 2 dargestellte Verfahren verdeutlicht.
Figur 1 zeigt - schematisch - ein Ausführungsbeispiel für einen elektronisch kommutierten E- lektromotor 1. Der Elektromotor 1 weist einen Stator 10 mit drei Statorspulen, nämlich eine Sta-
torspule 12, eine Statorspule 14 und eine Statorspule 16 auf. Der Stator 10 weist auch einen Winkelsensor auf, welcher ein beispielsweise analoges Rotorpositionssignal erzeugen kann. Der Winkelsensor 18 ist ausgebildet, eine Rotorposition eines Rotors 1 1 des Elektromotors 1 zu erfassen. Der Winkelsensor 18, ist mittels einer Verbindung 50 mit einer Steuereinheit 30 des Elektromotors 1 verbunden. Die Steuereinheit 30 weist einen Analog-Digital-Wandler 27 auf, welcher eingangsseitig mit der Verbindung 50 und so mit dem Winkelsensor 18 verbunden ist. Eine Winkel-Auflösung des Winkelsensors ist im Falle des analogen, insbesondere zeitkontinuierlich gebildeten Rotorpositionssignals durch eine Abtastrate des Analog-Digitalwandlers bestimmt. Der Analog-Digital-Wandler 27 ist ausgangsseitig über eine Verbindungsleitung 54 mit einem Polynomerzeuger 29 verbunden.
Der Analog-Digitalwandler 27 ist ausgebildet, das eingangsseitig über die Verbindung 50 empfangene Rotorpositionssignal abzutasten und eine zeitliche Folge von Abtastwerten zu erzeugen, welche jeweils einen Amplitudenwert des Rotorpositionssignals repräsentieren. Der Analog-Digitalwandler 27 ist ausgangsseitig über eine Verbindungsleitung 54 mit einem Polynomer- zeuger 29 verbunden. Der Polynomerzeuger 29 ist ausgebildet, in Abhängigkeit von den über die Verbindungsleitung 54 empfangenen, - die Rotorposition des Rotors 1 1 repräsentierenden - Abtastwerten eine Approximationsfunktion zu erzeugen, welche einen durch die Abtastwerte stellenweise repräsentierten Kurvenzug wenigstens näherungsweise repräsentiert.
Der Polynomerzeuger ist vorzugsweise ausgebildet, die Approximationsfunktion mittels einer Methode des kleinsten Fehlerquadrats zu erzeugen.
Die Approximationsfunktion ist bevorzugt ein Polynom, insbesondere ein Polynom zweiten oder dritten Grades. Denkbar ist auch - insbesondere in Abhängigkeit der benötigten Rechenzeit des Polynomerzeugers - ein Polynom mehr als dritten Grades.
Der Polynomerzeuger 29 ist ausgebildet, Polynom-Koeffizienten der zuvor ermittelten Approxi- mationsfunktion, insbesondere des Polynoms zu bestimmen und diese ausgangsseitig über eine Verbindungsleitung 56 an einen Koeffizientenspeicher 32 auszugeben. Dazu weist der Polynomerzeuger 29 beispielsweise für jeden Polynomkoeffizienten ein FIR-Filter auf, in diesem Ausführungsbeispiel drei beispielhaft dargestellte FIR-Filter 36, 38 und 39. Der Koeffizientenspeicher 32 ist ausgebildet, die von dem Polynomerzeuger 29 erzeugten Polynom-Koeffizienten vorrätig zu halten. Der Koeffizientenspeicher 32 ist ausgangsseitig über eine Verbindungsleitung 58 mit einem Prädiktor 34 verbunden. Der Prädiktor 34 ist ausgebildet, die in dem Koeffizientenspeicher 32 gespeicherten Koeffizienten über die Verbindungsleitung 58 auszulesen, und einen zeitlich aufeinander folgenden, Rotorpositionswerte repräsentierenden Datenstrom zu erzeugen und diesen ausgangsseitig über die Verbindungsleitung 60 an eine Steuereinheit 42 auszugeben. Der Datenstrom umfasst dabei zeitlich aufeinander folgende zukünftige Rotorpositionswerte - in diesem Ausführungsbeispiel punktiert dargestellt -, welche jeweils eine zukünftige, von dem Winkelsensor 18 noch nicht erfasste Rotorposition repräsentieren. Der Da-
tenstrom bildet in diesem Ausführungsbeispiel das vorab erwähnte Prädiktions- Rotorpositionssignal.
Die Approximationsfunktion, insbesondere das Polynom, kann beispielsweise wie folgt gebildet sein: ye,n M = ye {{n + An)■ Ta ) » £ a . - An1 ,
i=0
mit
ye n(An) = Prädiktorpolynom als Approximationsfunktion;
n = Abtastwert, ganze Zahl oder Zahl < 1 ;
Ta = Abtastperiode;
g = Grad des Polynoms ;
a = Polynom koeffizient.
Die Steuereinheit 42 ist mit einem Zeitgeber 40 verbunden und ist ausgebildet, wenigstens in Abhängigkeit von dem über die Verbindungsleitung 60 empfangenen Prädiktions- Rotorpositionssignal den Stator 10 zu kommutieren.
Die Steuereinheit 42 ist ausgangsseitig über eine Verbindung 53 mit einer Leistungsendstufe 25 des Elektromotors 1 verbunden. Die Steuereinheit 42 ist ausgebildet, die Leistungsendstufe 25 zum Erzeugen eines magnetischen Drehfeldes mittels der Statorspulen 12, 14 und 16 anzusteuern. Die Leistungsendstufe 25 ist dazu ausgangsseitig über eine Verbindung 52 mit dem Stator 10, und dort mit den Statorspulen 12, 14 und 16 verbunden. Die Steuereinheit 42 ist aus- gebildet, in Abhängigkeit des von dem Zeitgeber 40 empfangenen, insbesondere hochauflösenden Zeitsignals die Kommutierungszeitpunkte zum Kommutieren des Stators 10 genau zu bestimmen.
Der Polynomerzeuger 29 kann vorteilhaft für jeden Polynom-Koeffizienten der in dem Koeffizientenspeicher 32 vorrätig gehaltenen Polynom-Koeffizienten ein FIR-Filter (FIR= Finite- Impulse-Response) aufweisen.
Die Steuereinheit 42 ist auch eingangsseitig über die Verbindungsleitung 54 mit dem Analog- Digitalwandler 27 verbunden und kann von dem Analog-Digitalwandler das digitalisierte Rotorpositionssignal empfangen.
Die Steuereinheit 42 ist ausgebildet, die von dem Prädiktor 34 errechneten Rotorpositionswerte mittels Linearinterpolation zwischen zwei aufeinander folgenden Prädiktionswerten einen Kommutierungszeitpunkt zum Kommutieren der Statorspulen zu ermitteln und die Leistungsendstufe 35 zum Kommutieren der Statorspulen entsprechend anzusteuern.
In einer anderen Ausführungsform ist der Polynomerzeuger 29 und der Prädiktor 34 gemeinsam durch eine Mehrzahl von FIR-Filtern gebildet, wobei für jeden, insbesondere zukünftigen, Ro- torpositonswert ein FIR-Filter ausgebildet ist. Dadurch sind beispielsweise für zwei zukünftige Rotorpositionswerte zwei FIR-Filter vorhanden. Der Koeffizientenspeicher 32 kann in dieser Ausführungsform entfallen.
Figur 2 zeigt ein Ausführungsbeispiel für ein Verfahren zum Kommutieren eines elektronisch kommutierten Elektromotors. Bei dem Verfahren wird in einem Schritt 70 eine Rotorposition eines Rotors des elektronisch kommutierten Elektromotors insbesondere mittels eines Winkelsensors erfasst und ein Rotorpositionssignal erzeugt, welches wenigstens eine Rotorposition des Rotors repräsentiert. In einem Schritt 72 wird das Rotorpositionssignal mittels eines Analog-
Digitalwandlers digitalisiert und ein digitalisiertes Rotorpositionssignal erzeugt. In einem Schritt 74 wird in Abhängigkeit des digitalisierten Rotorpositionssignals ein Polynom erzeugt, welches die digitalisierten Rotorpositionswerte wenigstens näherungsweise approximiert. In einem Schritt 76 werden Polynom-Koeffizienten zwischengespeichert, welche das zuvor gebildete Po- lynom repräsentieren. In einem Schritt 78 wird mittels eines Prädiktors ein Polynom in Abhängigkeit der zuvor erzeugten Polynom-Koeffizienten gebildet und in Abhängigkeit des Polynoms ein Datenstrom erzeugt, welcher Rotorpositionswerte in einem Zeitbereich umfasst, in welchem die von dem Winkelsensor erfassten Rotorpositionswerte liegen, und zusätzlich dazu zukünftige Rotorpositionswerte aufweist, welche von dem Winkelsensor noch nicht erfasst worden sind und/oder durch das von dem Analog-Digitalwandler 24 erzeugte Signal noch nicht repräsentiert sind. In einem Schritt 80 wird in Abhängigkeit von dem Datenstrom ein Kommutierungsmuster - beispielsweise aus einer Mehrzahl vorrätig gehaltener Kommutierungsmuster - ausgewählt und in einem Schritt 82 der Stator mit dem Kommutuierungsmuster bestromt.
Figur 3 zeigt ein Diagramm 90. Das Diagramm 90 weist eine Zeitachse 91 und eine Amplitu- denachse 92 auf.
Das Diagramm 90 zeigt eine Kurve 95, welche Abtastwerte 101 , 102, 104, 106, 108, 1 10 und 1 12 miteinander verbindet. Die Kurve 95 entspricht einem Polynom, welches beispielsweise mittels des in Figur 1 dargestellten Polynomerzeugers 29 erzeugt worden ist, und welches einen Rotorpositionsverlauf repräsentiert. Das Polynom 95 ist in diesem Ausführungsbeispiel ein Polynom dritten Grades.
Dargestellt sind auch Rotorpositionswerte 101 , 103, 105, 107, 109, 1 1 1 und 1 13.
Der Rotorpositionswert 101 ist von dem Winkelsensor, so beispielsweise von dem in Figur 1 dargestellten Winkelsensor 18 erfasst worden.
Dargestellt sind auch ein Zeitintervall 96 und ein Zeitintervall 98. Das Zeitintervall 96 repräsen- tiert eine Abtastperiode eines Analog-Digital-Wandlers, beispielsweise des in Figur 1 dargestellten Analog-Digital-Wandlers 27.
Die Rotorpositionswerte 100, 102, 104, 106, 108 1 10 und 1 12 sind jeweils zu vorangehenden und zu nachfolgenden Rotorpositionswerten durch das Zeitintervall 96 beabstandet.
Der Rotorpositionswert 101 folgt nach dem Zeitintervall 98 auf den Rotorpositionswert 100. Der Rotorpositionswert 103 folgt nach dem Zeitintervall 98 auf den Rotorpositionswert 102. Das Zeitintervall 98 repräsentiert dabei eine Rechenzeit, die der Analog-Digitalwandler benötigt, um die Digitalisierung der von dem Winkelsensor gesendeten Rotorpositionssignale durchzuführen.
Der Steuereinheit - beispielsweise der Steuereinheit 30 in Figur 1 - stehen somit zur weiteren Signalverarbeitung und zur Steuerung der Kommutierungszeitpunkte die von dem Winkelsensor erfassten Rotorpositionssignale in digitalisierter Form später - in diesem Beispiel um das Zeitin- tervall 98 verzögert - zur Verfügung, als diese von dem Winkelsensor erfasst worden sind. Dargestellt sind die Kommutierungszeitpunkte 1 15 und 1 17. Der Kommutierungszeitpunkt 1 15 ist von dem Rotorpositionswert 102 um das Zeitintervall 99 beabstandet. Das Zeitintervall 99 ist kürzer als das Zeitintervall 98, so dass der Kommutierungszeitpunkt 1 15 nach dem Vorliegen des digitalen Rotorpositionswertes 103 - welcher der Rotorposition des Rotorpositionswertes 102 entspricht - erfolgt.
Durch das Erzeugen des Prädiktorpolynoms und das Vorhersagen von den zukünftigen Rotorpositionswerten, welche von dem Winkelsensor noch nicht erfasst worden sind, kann vorteilhaft eine Abtastfrequenz zum Erfassen einer Rotorposition des Rotors niedriger sein als ohne die Vorhersage mittels des Prädiktor-Polynoms.
Wenn beispielsweise die Rotorpositionswerte 100, 102, 104 und 106 von dem Winkelsensor erfasst worden sind, so können der Rotorpositionswert 108, der Rotorpositionswert 1 10 und der Rotorpositionswert 1 12 mittels des Prädiktor-Polynoms erzeugt worden sein.
In einem weiteren Verlauf des Verfahrens zum Kommutieren des Elektromotors kann die Steuereinheit, beispielsweise die Steuereinheit 42 in Figur 1 , die mittels des Prädiktors erzeugten Rotorpositionswerte 108, 1 10 und 1 12 mit denen von dem Winkelsensor erfassten Rotorpositionswerte 109, 1 1 1 beziehungsweise 1 13 vergleichen und zum Bilden eines weiteren Polynomverlaufs des Prädiktor-Polynoms heranziehen.