Beschreibung
Verfahren und Vorrichtung zum ermitteln einer Drehzahl mit Schätzung eines Messwertes bei geringen Drehzahlen
Die Erfindung betrifft ein Verfahren zum Ermitteln einer Drehzahl gemäß dem Oberbegriff des Patentanspruchs 1 und eine Vorrichtung zum Ermitteln einer Drehzahl gemäß dem Oberbegriff des Patentanspruchs 5.
In vielen Bereichen der Technik ist es notwendig, eine genaue Drehzahl oder eine genaue Drehposition eines Motors zu kennen. Beispielsweise ist es bei Gleichstrommotoren bekannt, die Drehzahl zu erfassen. Dabei bedient man sich verschiedener Verfahren. Eine kostengünstige Variante besteht darin, die Drehzahl mit Hilfe von Hall-Sensoren zu berechnen, wobei ein Hall-Sensor die Lage eines Rotors erfasst und diese an ein Steuergerät weitergibt. Die Hall-Sensoren reagieren dabei auf das Magnetfeld des rotierenden Rotors, der aus einem magnetischen Material besteht. Zur Berechnung der Drehzahl wird die Zeit zwischen zwei Flanken eines Hall-Signals gemessen und daraus die Drehzahl berechnet.
Die Aufgabe der Erfindung besteht darin, ein schnelles Verfahren zum Ermitteln einer Drehzahl und eine Vorrichtung zur Durchführung des Verfahrens bereitzustellen.
Die Aufgabe der Erfindung wird durch das Verfahren gemäß den Merkmalen des Patentanspruchs 1 und durch die Vorrichtung gemäß den Merkmalen des Patentanspruchs 5 gelöst.
Ein Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass eine Drehzahlschätzung vorgenommen wird, wenn ein zu empfangendes Signal eines Positionssensors sich verzögert. Das Eintreffen eines neuen Positionssignals verzögert sich nämlich, wenn sich die Drehzahl verringert hat. Vorzugsweise wird dazu die vergangene Zeit seit dem letzten Positionssignal und dem Eintreffen des nächsten Positionssignals gemessen und mit der zuletzt gemessenen Drehzahl verglichen. Ist die seit dem letzten Positionssignal vergangene Zeit größer als aufgrund der Drehzahl zu erwarten ist, wird die Drehzahl aufgrund der seit dem letzten Positionssignal verstrichenen Zeit ermittelt.
Auf diese Weise wird eine genaue und schnelle Ermittlung der Drehzahl ermöglicht.
In einer bevorzugten AusfLlhrungsform wird als verstrichene Zeit, ab der eine Drehzahlschätzung durchgeführt wird, die Differenz zweier vorhergehender Positionssignale verwendet. Durch die Verwendung der Positionssignale ist eine aufwendige Umrechnung nicht erforderlich. Somit ist das Verfahren schnell durchzuführen und erfordert nur eine geringe Rechenleistung.
In einer bevorzugten Ausführungsform wird in festgelegten Zeitabständen die Drehzahl berechnet. Somit wird laufend eine aktuelle Drehzahlinformation geliefert.
Vorzugsweise wird zur Berechnung der verstrichenen Zeit ein Zähler verwendet, der in festgelegten Zeitabständen einen Zählerwert um einen festgelegten Wert erhöht. Somit ist der Zählstand proportional zu der seit dem letzten Positionssignal verglichenen Zeit. Durch die Verwendung eines Zählers ist eine einfache und kostengünstige Ausführung des erfindungsgemäßen Verfahrens möglich.
In einer bevorzugten Ausführungsform wird in die Drehzahlregelung des elektrischen Motors eingegriffen, wem die Zeit seit dem letzten Positionssignal länger ist als sie gemäß der zuletzt gemessenen Drehzahl sein dürfte. Dann wird die Drehzahl auf Grund der seit dem letzten Positionssignal verstrichenen Zeit geschätzt. Auf diese Weise wird eine schnelle und präzise Regelung des elektrischen Motors erhalten. Insbesondere bietet diese Vorgehensweise bei Gleichstrommotoren mit niedrigen Drehzahlen ein sicheres Verfahren, um eine konstante Drehzahlregelung zu erhalten. Insbesondere bei Gleichstrommotoren, die mit den niedrigen Drehzahlen laufen, können Drehmomentschwankungen zu einem unsauberen Motorlauf führen und der Motor kann zu Schwingungen angeregt werden. Ein Aufschwingen des Motors kann beispielsweise sogar bis zum Stillstand des Motors fuhren. Aufgrund des erfindungsgemäßen Verfahrens werden diese nachteiligen Effekte sicher vermieden.
Die Erfindung wird im Folgenden anhand der Figuren näher erläutert. Es zeigen
Fig. 1 eine erfindungsgemäße Vorrichtung mit einem Motor,
Fig. 2 ein Diagramm, das Hall-Signale in Abhängigkeit von den drei Phasenströmen zeigt und
Fig. 3 eine schematische Darstellung des erfindungsgemäßen Verfahrens mit Hilfe eines Blockdiagramms.
Die Erfindung wird im Folgenden anhand eines Gleichstrommotors 1 erläutert, ist aber auf jede Art von Motor anwendbar. Vorzugsweise wird der Gleichstrommotor in Form eines
Pumpenmotors für eine elektrohydraulische Servolenkung in einem Kraftfahrzeug eingesetzt. Mit Hilfe des Motors 1 kann jedoch jede andere Art von Vorrichtung, insbesondere in einem Kraftfahrzeug, angesteuert werden.
Fig. 1 zeigt schematisch einen kommutierten Motor 1, der mit Gleichstrom betrieben wird. Der Motor 1 weist einen drehbar gelagerten Rotor 10 auf, der in der dargestellten Ausfüh- rungsform drei Magnetpole 30, 31, 32 aufweist, die im Abstand von 120° Winkel beabstandet sind. Um den Rotor 10 ist ein Stator 11 angeordnet, der in Form von Magnetspulen 13, 14, 15 ausgebildet ist. Der Stator 11 steht über eine Versorgungsleitung mit einer Endstufe 12 in Verbindung. Die Endstufe 12 ist zur Ansteuerung der ersten, der zweiten und der dritten Magnetspule 13, 14, 15 mit einer Gleichspannungsquelle 16 verbunden. Die Endstufe 12 ist über eine Steuerleitung mit einem Steuergerät 5 verbunden. Weiterhin sind am Motor 1 ein erster, ein zweiter und ein dritter Hall-Sensor 2, 3, 4 angeordnet. Der erste, der zweite und der dritte Hall-Sensor 2, 3, 4 sind um den Motor 1 in äquidistanten Winkelabständen angeordnet. Die Hall-Sensoren 2, 3, 4 dienen zur Positionserfassung des Rotors 10. Bewegt sich ein Magnetpol 30, 31, 32 des Rotors 10 an einem Hall-Sensor 2, 3, 4 vorbei, so wird aufgrund des Magnetfeldes des Rotors 10 im Hall-Sensor eine Hall-Spannung erzeugt. Die Hall-Spannung wird über eine Signalleitung 7 an das Steuergerät 5 weitergeleitet. Somit erkennt das Steuergerät 5, da es die Winkellage des ersten, zweiten und dritten Hall-Sensors 2, 3, 4 in Bezug auf eine Drehung des Rotors 10 kennt, die örtliche Lage des Rotors 10. Das Steuergerät 5 steht zudem über eine Resetleitung 8 und eine zweite Signalleitung 9 mit einem Zähler 6 in Verbindung.
In Abhängigkeit von der Lage des Rotors 10 steuert das Steuergerät 5 die Bestromung der Magnetspulen 13, 14, 15 des Stators 11. Durch die Wechselwirkung zwischen den Magnetfeldern, die von den Magnetspulen erzeugt werden, und den Magnetfeldern des Rotors 10 wird der Rotor 10 zu einer Drehung mit einer gewünschten Drehzahl angeregt.
Fig. 2 zeigt ein Diagramm, in dem über Spannungsverläufe der ersten, der zweiten und der dritten Magnetspule 13, 14, 15 die Hall-Signale der Hall-Sensoren 2, 3, 4 aufgetragen sind. In dem Diagramm ist mit Uli ein Spannungsverlauf der ersten Spule 13, mit UI2 der Spannungsverlauf der zweiten Spule 14 und mit UI3 der Spannungsverlauf der dritten Spule 15 dargestellt. Die Spannungsverläufe sind in der Figur 2 wegen einer besseren
Anschaulichkeit sinusförmig eingezeichnet. In Abhängigkeit von dem gewünschten Magnetfeld werden die erste, zweite oder dritte Magnetspule 13, 14, 15 über jeweils zwei Schalttransistoren Tl, T2, T3, T4, T5, T6 mit einem Strom mit positiver oder negativer Polung versorgt. In dem dargestellten Ausführungsbeispiel ist zur vereinfachten
Darstellung eine Blockkommutierung vorgesehen, bei der die Magnetspulen 13, 14, 15 mit einem blockförmigen Strom (schraffierte Felder in Figur 2) angesteuert werden. Es kann jedoch auch jede andere Art von Ansteuerverfahren wie z.B. eine Sinuskommutierung verwendet werden. Bei einer Sinuskommutierung werden die Magnetspulen 13, 14, 15 mit einem getakteten Stromsignal versorgt, das im Wesentlichen sinusförmig ausgebildet ist.
Zeitlich parallel zu der Stromversorgung der Magnetspulen 13, 14, 15 ist in dem Diagramm der Fig. 2 ein erstes Hall-Signal HSl des ersten Hall-Sensors 2, ein zweites Hall-Signal HS2 des zweiten Hall-Sensors 3 und ein drittes Hall-Signal HS3 des dritten Hall-Sensors 4 dargestellt, die die Hall-Sensoren 2, 3, 4 an das Steuergerät 5 melden. Die Hall-Signale HSl, HS2, HS3 wechseln zwischen einem Low-Pegel und einem High-Pegel in Form eines rechteckförmigen Signales. Ein Low- oder High-Pegel wird von einem Hall- Sensor 2, 3, 4 erfasst, wenn ein Nord- oder Südpol des Rotors 10 auf den Hall-Sensor 2, 3, 4 einwirkt. Durch eine das Hall-Signal auswertende Schaltung kann die Zuordnung eines High- oder Low-Pegels zum Nord oder Südpol festgelegt werden. Beispielsweise springt das Hall-Signal des ersten Hall-Sensors 1 zum Zeitpunkt tl von einem Low-Pegel auf einen High-Pegel und zum Zeitpunkt t4 von einem High-Pegel auf einen Low-Pegel. Die Zeitpunkte sind in Abhängigkeit von einem elektrischen Winkel aufgetragen, wobei 1080° elektrischer Winkel eine gesamte Umdrehung des Rotors 10 darstellen.
Üblicherweise berechnet das Steuergerät 5 mit Hilfe der Hall-Signale HSl, HS2, HS3 die Drehzahl des Rotors 10. Dabei verwendet das Steuergerät 5 beispielsweise die steigenden oder fallenden Flanken eines Hall-Signals HSl, HS2, HS3. Das Steuergerät weiß, dass drei der Hall-Sensoren 2, 3, 4 um den Motor 1 angeordnet sind. Zudem werden pro Umdrehung des Rotors 10 drei Hall-Signale in jedem Hall-Sensor 2, 3, 4 erzeugt. Damit haben die steigenden Flanken eines Hall-Signals eines Hall-Sensors einen zeitlichen Abstand von 120° Winkel, wobei 360° einer Umdrehung des Rotors 10 entsprechen.
Dreht sich nun der Rotor 10 durch eine entsprechende Bestromung der Magnetspulen 13, 14, 15, so bewegt sich zum Zeitpunkt tl ein Magnetpol des Rotors am ersten Hall-Sensor 2 vorbei. Dabei wird im ersten Hall-Sensor 2 eine steigende Flanke eines Hall-Signals zum Zeitpunkt tl erzeugt. Dieses wird an das Steuergerät 5 weitergemeldet. Zum Zeitpunkt t2 erhält das Steuergerät 5 eine steigende Flanke vom zweiten Hall-Sensor 3 gemeldet. Zum
Zeitpunkt t3 erhält das Steuergerät 5 eine steigende Flanke vom dritten Hall-Sensor 4 gemeldet. Zum Zeitpunkt t7 wird erneut eine steigende Flanke im ersten Hall-Sensor 2 und zum Zeitpunkt t8 wird erneut eine steigende Flanke im zweiten Hall-Sensor 3 erzeugt.
Fig. 3 zeigt eine schematische Darstellung zur Erläuterung des erfindungsgemäßen Verfahrens. Die Hall-Sensoren 2, 3, 4 geben in der beschriebenen Art und Weise steigende und fallende Flanken eines Hall-Signals HSl, HS2, HS3 an das Steuergerät 5. Das Steuergerät 5 misst mit Hilfe eines internen Timers 33 die Zeit, die nach Erfassen einer steigenden oder fallenden Flanke eines Hall-Signals eines Hall-Sensors 2, 3, 4 bis zur nächsten steigenden oder fallenden Flanke des gleichen Hall-Sensors 2, 3, 4 vergeht. Dabei liest das Steuergerät 5 über eine Capture-Funktion den Zählerstand des internen Timers 33 jeweils bei einer steigenden oder fallenden Flanke des gleichen Hall-Signals aus und berechnet aus der Differenz die Drehzahl des Rotors.
Beträgt der Zählstand des internen Timers 3 beispielsweise einen Differenzwert von 8000 zwischen zwei steigenden Flanken des gleichen Hall-Signals, wobei der interne Zähler 33 alle 2 μs den Zählstand erhöht, so ist zwischen zwei steigenden Flanken des ersten Hall- Signals HSl eine Zeit von 16.000 μs vergangen. Während einer Umdrehung des Rotors 10 werden drei steigende flanken in einem Hall-Sensor erzeugt. Die gemessene Zeit stellt ein Drittel einer Umdrehung dar. Das Steuergerät berechnet nach folgender Formel die Drehzahl U:
U = 1/(3 • 0,016 s) = 20,833 = 1/s - 1250 U/min.
Anstelle der Drehzahlberechnung mit den steigenden Flanken können auch die fallenden Flanken der Hall-Signale HSl, HS2, HS3 verwendet werden. Im dargestellten Ausfuhrungsbeispiel erhält das Steuergerät 5 zum Zeitpunkt t4 eine fallende Flanke des ersten Hall-Signals HSl, zum Zeitpunkt t5 eine fallende Flanke des zweiten Hall-Signals HS2 und zum Zeitpunkt t6 eine fallende Flanke des dritten Hall-Signals HS3. In entsprechender Weise berechnet das Steuergerät 5 nach dem Verfahren, das für die steigenden Flanken erläutert wurde, die Drehzahl des Motors 1.
Parallel dazu läuft der Timer 6, der immer bei Eintreffen eines Hall-Signals zurückgesetzt wird. Das Steuergerät 5 startet beim Empfang der steigenden Flanke des ersten Hall-Signals HSl zum Zeitpunkt tl den Timer 6. Der Timer 6 zählt in festgelegten Zeitstufen einen internen Zähler hoch. Erhält nun das Steuergerät 5 zum Zeitpunkt t2 die steigende Flanke des zweiten Hall-Signals HS2, so stoppt das Steuergerät 5 den Timer 6, liest den Zählstand aus, stellt den Zählerstand auf den Wert Null und startet den Timer 6 erneut. Mit dem
Timer 6 wird unabhängig von der Capture-Funktion und dem internen Timer 33 die verstrichene Zeit seit der letzten Flanke eines Hall-Signals erfasst. Da die Hall-Signale
zeiτversetzt eintreten, ist der Zählerstand des Timers 6 um den Faktor sechs kleiner als die Zeit zwischen zwei steigenden oder fallenden Flanken eines Hall-Signals.
Ist keine neue fallende oder steigende Flanke eines Hall-Signals eingetroffen, wird vom Steuergerät 5 die zuletzt berechnete Drehzahl mit der verstrichenen Zeit seit dem Eintreffen der letzten steigenden oder fallenden Flanke verglichen. Ist die verstrichene Zeit länger als sie aufgrund der zuletzt berechneten Drehzahl sein dürfte, wird eine Drehzahlberechnung aufgrund des Zählerstandes des Zählers 6 vorgenommen. Dieser Schätzvorgang wird wiederholt, bis eine steigende oder fallende Flanke eines Hall-Signals erfasst wird oder ein Time-out-Signal für ein wahrscheinliches Blockieren des Motors eintrifft.
Fig. 3 zeigt die Funktionsweise des erfindungsgemäßen Verfahrens, bei dem das Steuergerät 5 bei jeder neuen Flanke eines ersten, zweiten oder dritten Hall-Signals ein Reset-Signal über die Reset-Leitung 8 an den Zähler 6 abgibt. Fortlaufend vergleicht das Steuergerät 5, ob der Zählerstand des Zählers 6 größer ist als der Zeitabstand der letzten zwei steigenden oder fallenden Flanken eines Hall-Signals.
Ergibt der Vergleich, dass der Zählerstand größer ist als der Zeitabstand, dann wird die Drehzahl aus dem Zählerstand des Timers 6 berechnet. Der Timer 6 weist vorzugsweise einen größeren Zeittakt als der interne Zähler 33 auf. Vorzugsweise liegt der Zeittakt im Bereich von 1 ms, nach der der Timer 6 seinen Zählerstand erhöht.
Ergibt der Vergleich, dass der Zählerstand größer ist als der Zeitabstand der letzten zwei steigenden oder fallenden Flanken der Hall-Signale, so wird folgendes Verfahren durchgeführt.
Überschreitet der Zählerstand des Zählers 6 eine vorgegebene Zählzeit, die dem zeitlichen Abstand der letzten zwei steigenden oder fallenden Flanken eines Hall-Signals entspricht, so wird die Drehzahl aufgrund des Zählerstandes des Timers 6 nach folgender Formel geschätzt:
U =- 1/(3 • Zählstand • n), wobei n die Anzahl der Hall-Sensoren bezeichnet und der Faktor 3 davon herrührt, dass der Rotor drei Magnetpole 30, 31, 32 aufweist.
Beträgt beispielsweise der Zählstand (0,017/n) s, so ergibt sich eine Drehzahl von
1/(3 - 0,017 s) = 19,608 l/s = 1176 1/min.
Somit wird eine geschätzte Drehzahl erhalten, obwohl noch kein Flankensignal des gleichen Hall-Signals erfasst wurde.
Vorzugsweise wird die Schätzung der Drehzahl in festgelegten Zeitabständen, beispielsweise jede Millisekunde durchgeführt. In dem beschriebenen Fall wird somit bei einem Zählstand von (0,018/n) s die neue Drehzahl U berechnet:
U = 1/(3 - 0,018 s) = 18,519 l/s = 1111 1/min.
In entsprechender Weise wird jede Millisekunde eine Drehzahlschätzung durchgeführt, bis ein neuer Capture-Wert für eine Flanke eines Hall-Signals erfasst wurde oder in Time-out- Signal eintritt. Vorzugsweise vergleicht das Steuergerät 5 die Zeit seit dem letzten Positionssignal mit der zuletzt gemessenen Drehzahl. Ergibt der Vergleich, dass die Zeit seit dem letzten Positionssignal größer als die Zeit ist, aus der die zuletzt ermittelte Drehzahl abgeleitet worden ist, dann wird die Drehzahl auf Grund der Zeit seit dem letzten Positionssignal geschätzt. Auf diese Weise kann schneller auf Drehzahlschwankungen oder einen Drehzahlabfall reagiert werden.
Anstelle der Hall-Sensoren 2, 3, 4 können auch andere Arten von Positionsgebern verwendet werden.