DE19845626A1 - Elektronisch kommutierter Motor - Google Patents
Elektronisch kommutierter MotorInfo
- Publication number
- DE19845626A1 DE19845626A1 DE19845626A DE19845626A DE19845626A1 DE 19845626 A1 DE19845626 A1 DE 19845626A1 DE 19845626 A DE19845626 A DE 19845626A DE 19845626 A DE19845626 A DE 19845626A DE 19845626 A1 DE19845626 A1 DE 19845626A1
- Authority
- DE
- Germany
- Prior art keywords
- time
- hall
- timer
- rotor
- interrupt
- 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
Links
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02K—DYNAMO-ELECTRIC MACHINES
- H02K29/00—Motors or generators having non-mechanical commutating devices, e.g. discharge tubes or semiconductor devices
- H02K29/06—Motors or generators having non-mechanical commutating devices, e.g. discharge tubes or semiconductor devices with position sensing devices
- H02K29/08—Motors or generators having non-mechanical commutating devices, e.g. discharge tubes or semiconductor devices with position sensing devices using magnetic effect devices, e.g. Hall-plates, magneto-resistors
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/15—Controlling commutation time
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
- H02P6/18—Circuit arrangements for detecting position without separate position detecting elements
Abstract
Bei einem elektronisch kommutierten Motor (M) werden mittels eines galvanomagnetischen Rotorstellungssensors (40) Rotorstellungssignale erzeugt. Hierbei wird über einen Timer (CNT_HL) eine verfrühte Kommutierung verwirklicht, welche erst ab einer bestimmten Drehzahl des Motors auftritt und deren Größe eine Funktion der Drehzahl ist.
Description
Die Erfindung betrifft einen elektronisch kommutierten Motor, und
insbesondere einen elektronisch kommutierten Motor mit einem
"Vorzündwinkel". Hierunter versteht man, daß die Kommutierung auf einen
früheren Zeitpunkt verschoben wird, meist abhängig von der Drehzahl.
Selbstverständlich wird bei einem Elektromotor nichts "gezündet", aber
wegen seiner Anschaulichkeit verwendet man in der Praxis gerne diesen
(aus der Automobiltechnik entlehnten) Begriff und spricht deshalb von einer
"Zündwinkelverschiebung". Dieser Begriff wird deshalb nachfolgend
verwendet, auch wenn er wissenschaftlich nicht völlig korrekt ist.
Elektronisch kommutierte Motoren mit Vorzündwinkel sind z. B. aus DE-
A,197 00 479.2 (intern: D201i) bekannt. Hierbei ist die Genauigkeit der
Kommutierung für manche Fälle nicht ausreichend groß, und das Programm
muß nach einem festgelegten Zeitschema ablaufen, was aufwendig ist und
die Rechenleistung eines Prozessors in manchen Fällen nur unzureichend
ausnutzt. Auch können die Kommutierungsvorgänge zeitlich etwas
schwanken, was die Geräusche eines solchen Motors erhöht.
Es ist deshalb eine Aufgabe der Erfindung, einen neuen elektronisch
kommutierten Motor, und ein Verfahren zum Betreiben eines solchen
Motors, bereitzustellen.
Nach einem ersten Aspekt der Erfindung wird diese Aufgabe gelöst durch
einen elektronisch kommutierten Motor gemäß dem Patentanspruch 1. Ein
solcher Motor arbeitet besonders bei höheren Drehzahlen mit einem
besseren Wirkungsgrad, weil die Kommutierung mit zunehmender Drehzahl
immer mehr nach früh verschoben werden kann. Durch die Verwendung
einer Interruptroutine ergibt sich eine zeitlich präzise Steuerung des
Kommutierungsvorgangs und damit ein ruhiger Lauf des Motors.
Eine andere Lösung der gestellten Aufgabe ergibt sich durch ein
erfindungsgemäßes Verfahren gemäß dem Patentanspruch 11. Dadurch,
daß anschließend an den Ablauf der ersten Zeit noch eine zweite Zeit
gemessen wird, erhält man in sehr einfacher Weise durch Addition dieser
beiden Zeiten, und ggf. eines Korrekturfaktors, eine zur Drehzahl des
Motors im wesentlichen umgekehrt proportionale Zeitgröße, welche bei
einem nachfolgenden Kommutierungsvorgang als aktualisierte Zeitgröße
zur Berechnung eines neuen Zahlenwerts für die erste Zeit dienen kann.
Dabei wird gemäß Patentanspruch 17 diese Zeitgröße bevorzugt für einen
Kommutierungsvorgang verwendet, der eine Rotorumdrehung später als
die Messung der ersten und der zweiten Zeit liegt, weil sich dann ein
besonders ruhiger Lauf des Motors ergibt. Wenn z. B. die Zeitgröße im
Drehwinkelbereich 0° bis 180° el. gemessen wird, kann sie eine
Umdrehung später die Basis für die Steuerung einer Kommutierung sein,
die dort etwa im gleichen Winkelbereich 0° bis 180° el. stattfindet.
Auch wird in besonders bevorzugter Weise mindestens ein nicht
zeitkritischer Verfahrensschritt als Unterroutine ausgebildet, welche im
Programmablauf dann aufgerufen wird, wenn hierfür Prozessorzeit
verfügbar ist. Dies ermöglicht es, im Gegensatz zu einem Programm mit
festem Zeitschema, die Ressourcen eines Prozessors optimal zu nutzen, da
bei dieser Verfahrensweise die Unterroutine dann abgearbeitet wird, wenn
der Prozessor sonst gerade nichts zu tun hat.
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 übrigen
Unteransprüchen. Es zeigt:
Fig. 1 eine beispielhafte Übersichtsdarstellung einer
Ausführungsform der Erfindung,
Fig. 2 die Pinbelegung des µC COP842CJ,
Fig. 3 ein Schaltbild, welches die Bauteile für die Verarbeitung des
Hallsignals zeigt,
Fig. 4 eine Darstellung des Hallsignals und einer Kommutierung
ohne Zündwinkelverschiebung,
Fig. 5 eine schematische Darstellung zur Erläuterung der
Berechnung eines (verfrühten) Kommutierungszeitpunkts TN
aus Werten, die aus einem Signal HALL abgeleitet werden,
Fig. 6A und 6B
eine Darstellung der Berechnung der Hall-Länge, wenn kein
Timer-Interrupt vorliegt,
Fig. 7A und 7B
eine Darstellung der Berechnung der Hall-Länge bei Vorliegen
eines Timer-Interrupts,
Fig. 8A und 8B
ein Flußdiagramm einer Hall-Interruptroutine mit
Zündwinkelverschiebung,
Fig. 9 ein Flußdiagramm einer Zündwinkelberechnungsroutine,
Fig. 10 ein Flußdiagramm einer Timer-Interruptroutine mit
Zündwinkelberechnung
Fig. 11 eine Darstellung des Hallsignals beim Hochlauf eines Motors,
Fig. 12A und 12B
eine Darstellung des Hallsignals und der zugehörigen
Variablen der Antriebsfunktion,
Fig. 13 ein Schaltbild mit Teilen, die für die Regelung und den Antrieb
des elektronisch kommutierten Motors wichtig sind,
Fig. 14 ein Schaltbild mit für die Ansteuerung eines EEPROMs und die
Datenverbindung über einen Bus 30 wichtigen Teilen,
Fig. 15 eine Darstellung einer bevorzugten Ausführungsform eines
Funktionsmanagers,
Fig. 16 ein in dem Funktionsmanager verwendetes Funktionsregister,
Fig. 17 eine schematische Darstellung des Permanentmagneten eines
vierpoligen Außenrotors,
Fig. 18A und 18B
Schaubilder zur Erläuterung der Wirkung von
Magnetisierungsfehlern des Außenrotors der Fig. 17,
Fig. 19 ein Flußdiagramm zur Zündwinkelberechnung, analog Fig. 9,
aber in einer bevorzugten, modifizierten Form,
Fig. 20 ein Flußdiagramm einer Hall-Interruptroutine für eine
Kommutierung, wie sie in Fig. 4 dargestellt ist,
Fig. 21 eine schematische Darstellung des Ablaufs der Kommutierung
für den Fall, daß die Kommutierungszeitpunkte elektronisch
nach früh verschoben werden,
Fig. 22 den zeitlichen Verlauf des Signals HALL und des Stromes i_M
in einer Motorwicklung ohne eine Verschiebung des
Kommutierungszeitpunkts in Richtung früh, und
Fig. 23 den zeitlichen Verlauf des Signals HALL und des Stromes i_M
in einer Motorwicklung bei einer Verschiebung des
Kommutierungszeitpunkts in Richtung früh.
Fig. 1 zeigt eine Übersicht über ein bevorzugtes Ausführungsbeispiel
eines erfindungsgemäßen elektronisch kommutierten Motors (ECM).
Dieser wird gesteuert mittels eines Mikrocontrolllers (µC) 11 oder
alternativ eines Mikroprozessors. Die Anschlüsse des beim
Ausführungsbeispiel verwendeten µC 11 (COP842CJ) sind in Fig. 2
beispielhaft dargestellt.
Das in dem µC 11 ablaufende Programm ist mit Hilfe eines
Funktionsmanagers strukturiert, welcher nachfolgend anhand von Fig. 15
und 16 beschrieben wird.
Der µC 11 hat über die Funktion "CTL EEPROM" 24 Zugriff auf einen
nichtflüchtigen Speicher, hier ein EEPROM 26, von dem er
Betriebsparameter in ein RAM 25 laden kann. Auch kann er
Betriebsparameter im RAM 25 und im EEPROM 26 speichern. Der µC 11
kann über eine Kommunikationsfunktion COMM 28 und ein Businterface
30 Daten empfangen und senden. Die empfangenen Daten kann er zur
Motorsteuerung verwenden oder im RAM 25 oder EEPROM 26 speichern.
Das EEPROM 26 und das Businterface 30 sind bei Fig. 14 beschrieben.
Als einfaches Beispiel ist in Fig. 1 ein elektronisch kommutierter Motor M
mit einer einzigen Phase 38 dargestellt. Ein solcher Motor ist z. B. in der
DE 23 46 380 C dargestellt. Die Bestromung dieser Phase 38 geschieht
durch eine Transistorendstufe 36. Die Ausgänge OUT1 und OUT2 des µC
11 steuern die als H-Brücke 37 geschalteten npn-Transistoren 141, 142,
143 und 144. Je nachdem, ob OUT1 auf HIGH und OUT2 auf LOW gesetzt
sind, oder umgekehrt, verläuft der Strom durch die Statorwicklung 38 in
die eine oder die andere Richtung. Selbstverständlich eignet sich die
Erfindung in gleicher Weise für jede Art von elektronisch kommutiertem
Motor, z. B. für dreiphasige Motoren und andere. Es handelt sich also nur
um ein Ausführungsbeispiel.
Die Kommutierung erfolgt elektronisch. Hierzu wird die Stellung des
permanentmagnetischen Rotors 39 über einen Hallsensor 40 erfaßt, über
eine elektronische Hall-Schaltung 41, welche in Fig. 3 näher beschrieben
wird, zu einem Signal HALL aufbereitet und an eine Antriebsfunktion AF
42 weitergeleitet, welche eine Hall-Interruptroutine HIR (Fig. 8), eine
Timer-Interruptroutine TIR (Fig. 10), eine Zündwinkelberechnungsroutine
ZWR (Fig. 9), und einen Timer CNT_HL aufweist. Der Timer CNT_HL ist
beim Ausführungsbeispiel Bestandteil des verwendeten µC 11, könnte
aber auch ein separates Bauteil sein. Er dient dazu, Zeiten mit hoher
Präzision zu messen und ist durch Befehle des µC 11 steuerbar.
Die Antriebsfunktion 42 sorgt für die richtige Kommutierung der
Transistorendstufe 36 und den sicheren Betrieb, z. B. bei Überlastung der
Transistorendstufe 36. Eine Kommutierung ohne Zündwinkelverschiebung
wird bei Fig. 4 beschrieben. Die Kommutierung mit Zündwinkelverschie
bung wird bei den Fig. 6 bis 12B beschrieben und ist in Fig. 21 dargestellt.
Ein Drehzahlregler RGL 43 regelt beim Ausführungsbeispiel die
Motordrehzahl. (Selbstverständlich kann der Motor M auch ohne
Drehzahlregler 43 betrieben werden.) Die Drehzahlregelung kann z. B.
mittels eines Pulsweitenmodulation-Generators (PWM-Generators) 34
oder über eine Blocksteuerung geschehen, die bei 60 mit gestrichelten
Linien schematisch angedeutet ist. Zur Blocksteuerung wird beispielhaft
auf DE 44 41 372.6 (intern: D183i) verwiesen, die ein Beispiel einer
solchen Blocksteuerung zeigt.
Der PWM-Generator 34 weist einen Dreiecksgenerator 35, eine
Regelspannungserzeugung 45 und einen Komparator 120 auf und ist bei
Fig. 13 näher erläutert. Die Erfindung kann selbstverständlich auch bei
einem ECM ohne Drehzahlregelung verwendet werden.
Eine Strombegrenzung "I < Imax" 44 vermindert die Bestromung der
Endstufe 36, falls der Strom in der einzigen Phase 38 zu hoch wird, z. B.
beim Start des Motors. Die Strombegrenzung 44 wird bei Fig. 13 näher
beschrieben.
Am Ende der Beschreibung sind für die in den einzelnen Figuren des
Ausführungsbeispiels verwendeten elektronischen Bauteile bevorzugte
Werte angegeben. Der Leser wird hierauf verwiesen.
Fig. 2 zeigt die Pinbelegung des beim Ausführungsbeispiel verwendeten
Mikrokontrollers (µC) 11 vom Typ COP842CJ der Firma National
Semiconductors. Die Beschriftung innerhalb des µC 11 entspricht der
Beschriftung des Herstellers, die äußere Beschriftung der jeweiligen
Leitungen zeigt die hauptsächlich in der Anmeldung verwendeten Be
zeichnungen. Zur Kennzeichnung der Lage ist links oben ein schwarzer
Viertelkreis eingezeichnet, der sich in den folgenden Figuren wiederfindet.
Fig. 3 zeigt ein detailliertes Schaltbild der Bauteile für die Hall-Schaltung
41, welche das Signal des Hall-Sensors 40 aufbereitet, die Beschaltung
der Takteingänge CK0 und CK1 und die Beschaltung des Reseteingangs
RES. Die übrigen Bauteile sind in Fig. 3 nicht dargestellt.
Ein Schwingquarz 97, der an die Anschlüsse CK0 und CK1 (vgl. Fig. 3)
des µC 11 angeschlossen ist, gibt dessen Taktfrequenz vor, z. B. 10 MHz.
Der Reseteingang Res (Fig. 3) ist über einen Kondensator 99 mit Masse
100 und über einen Widerstand 101 mit +Vcc verbunden. Diese beiden
Bauelemente erzeugen in der üblichen Weise beim Einschalten einen
Power-Up-Reset.
Der Hallgenerator 40 ist zur Stromversorgung über einen Widerstand 106
mit + Vcc, und mit Masse 100, verbunden. Sein Ausgangssignal uH wird
den beiden Eingängen eines Komparators 108 zugeführt, dessen Vcc-
Eingang ein Siebkondensator 110 zugeordnet ist. Der Ausgang des
Komparators 108 ist über einen Rückführwiderstand 112 mit dem
positiven Eingang des Komparators 108 und über einen sogenannten
Pullup-Widerstand 114 mit +Vcc verbunden. Weiterhin ist der Ausgang
des Komparators 108 direkt mit dem Port Hall (Fig. 3) des µC 11
verbunden, so daß man an diesem ein vom Rotormagneten 39 (Fig. 2)
gesteuertes, rechteckförmiges Signal HALL erhält.
Fig. 4 zeigt ein Diagramm mit dem Signal HALL (Fig. 3) und der
zugehörigen Kommutierung für den Fall, daß keine
"Zündwinkelverschiebung" verwendet wird, d. h. daß die Kommutierung
direkt durch das Signal HALL gesteuert wird.
Das Signal HALL hat - in seiner idealisierten Form - während einer
Rotordrehung von 180° el. den Wert HALL = 0, und während der
anschließenden Drehung von 180° el. den Wert HALL = 1. Jede Änderung
von HALL = 1 zu HALL = 0, oder umgekehrt, bewirkt einen Interrupt
vorgang im µC 11, welcher in Fig. 4 in der Reihe HALL-INT mit einem Y
bezeichnet ist.
Die Zeit zwischen zwei Hallwechseln, z. B. zwischen den Zeitpunkten t_O
und t_E, wird nachfolgend Hall-Länge HL oder auch Hallzeit t_H genannt
und ist in Fig. 4 als Ist-Hall-Länge HL eingezeichnet. Die Hall-Länge ist
ein Maß für die Drehzahl des Motors. Je kleiner sie ist, desto größer ist die
Drehzahl des Rotors 39 (Fig. 1). (Ein Istwert ist der aktuelle Wert, der am
Motor gemessen wird.)
Die Bestromung der Statorwicklungen wird bei diesem Beispiel durch die
Ausgangssignale OUT1 und OUT2 des µC 11 (Fig. 1 und 2) gesteuert,
welche in Fig. 4 beispielhaft für den Betrieb bei niederen Drehzahlen
angegeben sind und in Fig. 21 beschrieben werden.
Ist OUT1 auf 1 (HIGH) und OUT2 auf 0 (LOW), so fließt der Strom (Fig. 1)
von der Plusspannung UN über den Transistor 144, die Statorwicklung 38,
den Transistor 141 und den Meßwiderstand 140 nach Masse.
Ist dagegen OUT1 auf 0 und OUT2 auf 1, so fließt der Strom (Fig. 1) von
der Plusspannung UN über den Transistor 142, in umgekehrter Richtung
durch die Statorwicklung 38, über den Transistor 143 und den
Meßwiderstand 140 nach Masse. Die Statorwicklung 38 wird dann
umgekehrt bestromt.
Wenn keine Zündwinkelverschiebung vorgenommen wird, werden dort,
wo sich das Signal HALL ändert, also bei den Hall-Interrupts Y, beide
Werte OUT1 und OUT2 durch den µC 11 kurzzeitig zu Null gemacht, z. B.
während 50 µs, um alle vier Transistoren 141 bis 144 kurzzeitig zu
sperren und einen Kurzschluß in der Brücke 37 zu vermeiden. Dies ist in
Fig. 4 dargestellt.
Eine einfache Hall-Interruptroutine für die Kommutierung gemäß Fig. 4
wird nachfolgend bei Fig. 20 beschrieben.
Die Hall-Länge HL ist in Fig. 4 dargestellt. Ihr Zusammenhang mit der
Drehzahl n wird im folgenden aufgezeigt. Dieser Zusammenhang ist eine
Funktion der Polzahl P des Rotors 39.
Mißt man die Hall-Länge HL' in Sekunden, so gilt
HL' = T/P (1)
Hierbei bedeuten:
T = Dauer einer Rotorumdrehung in Sekunden
P = Polzahl des Rotors 39.
T = Dauer einer Rotorumdrehung in Sekunden
P = Polzahl des Rotors 39.
Mißt man die Drehzahl n in U/min. so gilt
HL' = 60/(n × P) (2)
Hierbei bedeuten:
n = Drehzahl in U/min
P = Polzahl des Rotors 39.
n = Drehzahl in U/min
P = Polzahl des Rotors 39.
Da die Hall-Länge HL beim Ausführungsbeispiel in µs vorliegt, HL' aber in
Sekunden, wird HL' zu HL renormiert
HL = 1 000 000 HL' (3)
Für P = 4, also einen vierpoligen Rotor, ergibt sich
HL = 15 000 000/n (4)
Umgekehrt ist bei P = 4
n = 15 000 000/HL (5)
Hierbei bedeuten:
n = Drehzahl in U/min
HL = Hall-Länge in µs.
n = Drehzahl in U/min
HL = Hall-Länge in µs.
Der Drehzahl n = 2870 min-1 entspricht z. B. bei einem vierpoligen Rotor
eine Hall-Länge HL von
HL = 15 000 000/2870 = 5226 µs.
HL = 15 000 000/2870 = 5226 µs.
Die prozessorinterne Hexadezimaldarstellung hierfür ist 0x146A. (Hexa
dezimalzahlen werden durch ein vorangestelltes 0x gekennzeichnet.)
Beim Motor nach Fig. 1 ist der Rotorstellungssensor 40 in einer Pollücke
des Stators angeordnet, also bei 0° el., und ein Wechsel des Signals
HALL wird folglich erzeugt bei 0° el., 180° el., 360° el. etc., wie in Fig. 4
beispielhaft dargestellt. Für eine solche Anordnung des Hallgenerators
wird beispielhaft verwiesen auf DE-A-197 00 479.2 (intern: D201 i), Fig. 1,
Teil 25.
Bei schnellaufenden Motoren ist es jedoch zur Optimierung der Leistung
und des Wirkungsgrads notwendig, die Kommutierung des Stroms in der
Statorwicklung 38 vor dem Wechsel des Hallsignals durchzuführen, also
in Fig. 4 zeitlich vor t_0, ebenso zeitlich vor t_E. Man kann das als
Vorzündung oder Frühzündung bezeichnen. Hierzu wäre es möglich, den
Rotorstellungssensor 40 relativ zum Stator des Motors 39 zu verschieben.
Da der Motor aber meist in beiden Richtungen laufen soll, und der
Vorzündwinkel bei beiden Drehrichtungen mit zunehmender Drehzahl
zunehmen soll, ist dies nicht praktikabel.
Die Zündwinkelverschiebung wird deshalb elektronisch gesteuert. Hierzu
wird der bereits beschriebene 16 Bit-Timer CNT_HL (Fig. 1) verwendet.
Der Timer CNT_HL wird bei jedem Hall-Interrupit Y mit einem (zuvor
berechneten) Anfangswert t_TI geladen und anschließend
heruntergezählt, bis er den Wert 0 erreicht. Beim Erreichen der Null löst
der Timer CNT_HL im µC 11 einen sogenannten Timer-Interrupt aus, und
der Timer wird automatisch mit dem Inhalt t_AR eines sogenannten
Autoreload-Registers AR (ebenfalls im µC 11) nachgeladen und erneut
gestartet, vgl. S302 in Fig. 10.
Bei einem Hall-Interrupt Y wird der Timer CNT_HL nun so eingestellt, daß
er zu dem Zeitpunkt die Null erreicht und dadurch einen Interrupt auslöst,
zu dem die Kommutierung stattfinden soll. Dieser Timer-Interrupt wird in
Fig. 5 mit TN, TN+1 etc. bezeichnet, und ein Hall-Interrupt mit HN, HN+1 etc.
Die Arbeitsweise des Timers ist durch den verwendeten µC vorgegeben,
der diesen Timer enthält. Dabei ist ggf. die Möglichkeit gegeben, den
Timer über ein Register des µC zu konfigurieren. Mögliche Konfigu
rationen betreffen z. B. das Auslösen eines Interrupts beim Erreichen der 0,
oder automatisches Wiederaufladen des Timers bei Erreichen der 0.
Zusätzlich wird hier der Timer CNT_HL in sehr vorteilhafter Weise für die
Messung der Hall-Länge HL (Fig. 4) verwendet, die in Fig. 5 mit t_HN
bezeichnet ist.
Fig. 5 zeigt die Berechnung des Timerstartwerts t_TI. Dargestellt sind das
Signal HALL, das an dem Eingang Hall (Fig. 2) des µC 11 anliegt, die
Hall-Interrupts HN-1, HN etc., die Timer-Interrupts TN-1, TN etc. und die Hall-
Längen t_HN-1, t_HN etc., welche beim Ausführungsbeispiel die Zeit
angeben, die der vierpolige Rotor 39 für eine Viertel-Umdrehung
benötigt, also für 180° el.
Die Begriffe Hall-Länge HL und Hallzeit t_H werden im folgenden
synonym verwendet. Eine Hallzeit t_HN+1 beginnt jeweils nach und
exklusive einem Hall-Interrupt HN und endet mit und inklusive dem
folgenden Hall-Interrupt HN+1. Die Hall- und Timer-Interrupts werden nach
der Hallzeit, in der sie stattfinden, numeriert. Zur Hallzeit t_HN gehört also
der Timer-Interrupt TN und - am Ende dieser Zeit - der Hall-Interrupt HN.
Unter dem Signal HALL sind in Fig. 5 die Werte des Timers CNT_HL
eingetragen. Zwischen den jeweiligen Werten zählt der Timer CNT_HL
herunter, z. B. im Zeitraum 310 von t_TI auf 0, und im Zeitraum 312 von t_TI
auf t_E.
Der Timerstartwert t_TI für die Hallzeit t_HN+2 wird bei diesem Beispiel aus
der Hall-Länge t_HN berechnet. Hierzu wird, wie bei 300 symbolisch
angegeben, während der Hallzeit t_HN+1 ein Wert t_TI berechnet nach der
Beziehung
t_TI := t_HN - t_ZW (6)
d. h. von der Hall-Länge t_HN wird eine (hier konstante) Zündwinkelzeit
t_ZW abgezogen. Analog wird t_TI für die Hallzeit t_HN+3 aus der Hall-
Länge t_HN+1 berechnet, wie bei 301 symbolisch angegeben, usw.
Auf diese Weise wird also zu den Zeitpunkten TN, TN+1, TN+2 etc.
kommutiert. TN liegt etwa um die Zeit t_ZW früher als HN, d. h. die
Kommutierung wird nach früh verschoben. Analog liegt TN+1 früher als
HN+1, etc. Die Zeitpunkte TN, TN+1 etc. sind durch einen nach oben
ragenden Pfeil angedeutet.
Nachfolgend wird anhand der Fig. 17 bis 19 beschrieben, wie bei einem
vierpoligen Rotor 39 in sehr vorteilhafter Weise z. B. der
Kommutierungszeitpunkt TN+4 durch die zeitlich vorhergehende Hall-
Länge t_HN bestimmt werden kann, was einen besonders ruhigen Lauf
des Motors ergibt. Diese Variante ist in Fig. 5 mit 304 bezeichnet und
durch die strichpunktierten Linien 306, 308 symbolisiert. Bei einem
sechspoligen Rotor würde analog der Kommutierungszeitpunkt TN+6 durch
die Hall-Länge t_HN bestimmt werden.
Fig. 6 und Fig. 7 zeigen die beiden möglichen Fälle, die bei der
Messung der Hall-Längen t_H mit dem Timer CNT_HL auftreten können.
Dargestellt sind das Signal HALL, das an dem Eingang Hall (Fig. 2) des
µC 11 anliegt, die Hall-Interrupts HN und HN+1, ein Timer-Interrupt TN+1 (in
Fig. 7), und an der Zeitachse stehen in Fig. 7A die Startwerte t_B und die
Stoppwerte t_E des Timers CNT_HL, die bei der Berechnung der Hall-
Länge t_HN+1, die ja erst während der folgenden Hallzeit t_HN+2
ausgeführt wird, zur Verfügung stehen. t_B entspricht dem (zuvor
berechneten) Startwert t_TI des Timers CNT_HL beim Hall-Interrupt HN
und t_E dem Stoppwert des Timers CNT_HL beim Hall-Interrupt HN+1.
Es können nun zwei Fälle auftreten.
Der erste Fall (Fig. 6) ist, daß der Motor so stark beschleunigt, daß der
Hall-Interrupt HN+1 auftritt, bevor der Timer CNT_HL den Wert 0 erreicht. In
diesem Fall wird in der durch den Hall-Interrupt HN+1 ausgelösten Hall-
Interruptroutine der Stoppwert des Timers CNT_HL in t_E gespeichert
(S202 in Fig. 8A), der Motor wird kommutiert, der Timer CNT_HL und das
Autoreload-Register AR werden erneut mit einem aus der Hall-Länge
t_HN-1 berechneten Wert (Fig. 5) geladen, und der Timer CNT_HL wird
erneut gestartet (S238 in Fig. 8B). Bei Fig. 6 tritt also während der Hallzeit
t_HN+1 kein Timer-Interrupt TN+1 auf.
Die Hall-Länge t_HN+1 berechnet sich in diesem Fall nach der Beziehung
t_HN+1 := t_B - t_E + t_CORR (7)
t_CORR ist hierbei ein Korrekturwert, der in Fig. 9 bei S258 näher erläutert
wird und in Fig. 6B dargestellt ist.
Der zweite Fall (Fig. 7A) ist, daß der Timer CNT_HL vor dem Auftreten des
Hall-Interrupts HN+1 die 0 erreicht. Beim Erreichen der Null wird ein Timer-
Interrupt TN+1 ausgelöst, der in Fig. 10 dargestellt ist. Der Timer CNT_HL
wird beim Timer-Interrupt TN+1 automatisch mit dem Wert t_AR aus dem
Autoreload-Register AR (Fig. 1) nachgeladen und erneut gestartet, vgl.
S302 in Fig. 10. t_B hat hier den gleichen Wert wie t_TI und entspricht
damit auch t_AR.
Dies zeigt Fig. 7B. In der Zeitspanne ab einem Zeitpunkt kurz nach HN bis
TN+1 zählt der Timer CNT_HL von t_B auf 0 herunter und löst beim Wert 0
den Timer-Interrupt TN+1 aus. Am Anfang dieses Interrupts wird der Timer
CNT_HL erneut mit t_B geladen, vgl. Fig. 10, S302, und zählt dann
während der Zeit bis HN+1 erneut herunter, erreicht dabei aber nicht den
Wert 0, sondern nur den Wert t_E. Beim Hall-Interrupt HN+1 wird der Timer
CNT_HL erneut mit einem (zuvor berechneten) Wert t_B' geladen, und die
ganze Prozedur wiederholt sich.
In der durch das Auftreten des Timer-Interrupts TN+1 aufgerufenen Timer-
Interruptroutine wird, sofern die Zündwinkelverschiebung eingeschaltet ist,
die Kommutierung durchgeführt, vgl. Fig. 10, S318, S320, S322, und ein
Flag KD (Kommutierung Durchgeführt) wird auf 1 gesetzt, vgl. Fig. 10,
S324.
Bei dem darauffolgenden Hall-Interrupt HN+1 wird der Timer CNT_HL
erneut gestoppt und seine Endzeit t_E abgespeichert, vgl. Fig. 8A, S202.
Die Hall-Länge t_HN+1 (Fig. 7) wird aufgrund des gesetzten Flags KD (Fig.
9, S252) in den Schritten S254 und S258 von Fig. 9 folgendermaßen
berechnet:
t_1 := t_B - t_E (8)
t_HN+1 := t_B + t_1 + t_CORR (9)
Hierbei ist t_1 die Zeit zwischen dem Timer-Interrupt TN+1 und dem Hall-
Interrupt HN+1, wie in Fig. 7 dargestellt. Für die Berechnung der Hall-Länge
t_HN+1 muß zu dem Wert t_1 der Wert t_B addiert werden, da der Timer
CNT_HL zwischen dem Hall-Interrupt HN und dem Timer-Interrupt TN+1
diesen Wert auf Null heruntergezählt hat. Außerdem wird ggf. ein
Korrekturwert t_CORR addiert, der in Fig. 7B dargestellt ist, z. B. 40 µs
beträgt und nachfolgend bei Fig. 9, S258, näher erläutert wird. Nach dem
Hall-Interrupt HN+1 und einer Drehzahlberechnung (S274 in Fig. 9) muß
das Flag KD wieder zurückgesetzt werden (KD := 0, vgl. S272 in Fig. 9).
Bei HN wird der Timer CNT_HL z. B. auf den (zuvor im Schritt 303 der Fig.
5 berechneten) Wert t_TI = t_B = 9800 gesetzt. t_B hat also bei der
Berechnung den Wert 9800 µs. Bei TN+1 hat der Timer CNT_HL den Wert
0 erreicht, bewirkt einen Timer-Interrupt, und wird erneut mit 9800 geladen
und gestartet (S302 in Fig. 10). Bei HN+1 hat der Zähler CNT_HL den Wert
t_E = 9640 erreicht. Der Wert t_CORR soll 40 µs betragen. Dann ist nach
den Gleichungen (8) und (9)
t_1 := 9800 - 9640 = 160 µs
t_HN+1 := 9800 + 160 + 40 = 10000 µs.
t_HN+1 := 9800 + 160 + 40 = 10000 µs.
Die Hall-Länge t_HN+1 ist in diesem Beispiel also 10 000 µs lang,
entsprechend einer Drehzahl (Gleichung 5; vierpoliger Rotor) von
n_i = 15 000 000/t_HN+1 = 15 000 000/10 000 = 1500 U/min.
Anschließend wird kurz nach HN+1 der Timer CNT_HL auf einen neuen
Wert t_B' geladen, der dem (zuvor berechneten) Wert t_TI' entspricht, vgl.
den Schritt 300 in Fig. 5.
Fig. 8A und 8B zeigen das Flußdiagramm einer beispielhaften
Ausführungsform einer bevorzugten Hall-Interruptroutine, also einer
rotorstellungsabhängigen Interruptroutine. Diese wird ausgelöst beim
Erreichen von vorgegebenen Rotorstellungen und ist zuständig für die
Bestimmung der Hall-Länge t_HN und auch für die Kommutierung, sofern
letztere nicht in der Timer-Interruptroutine durchgeführt worden ist. Alle
nachfolgend beschriebenen Register bzw. Variablen sind beim
Ausführungsbeispiel 16 Bit groß.
In S202 wird der Timer CNT_HL gestoppt und die Stoppzeit des Timers
CNT_HL in t_E gespeichert.
In den folgenden Schritten S204-S208 wird im µC 11 die Flanke für den
nächsten Hall-Interrupt eingestellt. Hierzu wird in S204 überprüft, ob HALL
= 1 ist. Ist dies der Fall, wird in S206 die Flanke, bei der der nächste Hall-
Interrupt ausgelöst werden soll, auf eine fallende Flanke (HIGH → LOW)
gesetzt. Ansonsten wird in S208 die Flanke auf steigende Flanke (LOW →
HIGH) gesetzt.
In S210 wird nun anhand des Flags DE (Drehzahl Erreicht) zwischen zwei
Fällen unterschieden:
- - Ist DE = 1, so ist entweder kein Timer-Interrupt aufgetreten, oder ein Timer- Interrupt ist aufgetreten, und die Zündwinkelverschiebung war eingeschaltet. Beides sind, wie später weiter erläutert wird, Zeichen dafür, daß der Motor seine Drehzahl erreicht hat.
- - Ist DE = 0, so war die Zündwinkelverschiebung ausgeschaltet (SZW = 0), und ein Timer-Interrupt ist aufgetreten. Dies ist, wie später erläutert wird, ein Zeichen dafür, daß die Mindestdrehzahl n_min. ab der die Zündwinkelverschiebung eingeschaltet wird, noch nicht erreicht ist.
Für den Fall DE = 0 wird die Kommutierung durchgeführt und der Timer
CNT_HL auf einen festen Wert t_max (maximale Hall-Länge) gesetzt, der
der Mindestdrehzahl n_min entspricht. Ist z. B. die Mindestdrehzahl 300
U/min. so beträgt nach Gleichung (4)
t_max = 15 000 000/300 = 50 000 µs.
t_max = 15 000 000/300 = 50 000 µs.
Hierzu werden in S212 OUT1 und OUT2 auf 0 gesetzt.
In S214 werden das Autoreload-Register AR und der Zähler CNT_HL auf
t_max (z. B. 50000) gesetzt. Der Timer CNT_HL arbeitet in diesem Beispiel
mit einer Auflösung von 1 µs. Das Setzen von CNT_HL auf eine Länge
von 50000 µs entspricht einer Drehzahl von 300 U/min. Daraufhin wird der
Timer CNT_HL gestartet.
In S216 wird das Flag DE (war 0) auf 1 gesetzt und in S218-S222 die
Kommutierung durchgeführt. Ist in S218 HALL = 1, so wird in S220 OUT1
auf HIGH, ansonsten in S222 OUT2 auf HIGH gesetzt. Für die zwischen
dem Ausschalten der Ports OUT1 und OUT2 in S212 und dem
Einschalten von OUT1 bzw. OUT2 in S220 bzw. S222 durchgeführten
Programmschritte S214-S218 hat das Programm eine gewisse Zeit
benötigt, so daß eine ausreichende Kommutierungslücke (Fig. 21: t_G)
eingehalten wurde, z. B. 50 µs.
In S224 wird schließlich der Hall-Interrupt verlassen.
Falls in S210 DE = 1 war, wird in S230 die Berechnung der Hall-Länge
t_H und des neuen Timerwerts t_TI für die Zündwinkelverschiebung
angefordert. Das Hauptprogramm ist mit Hilfe eines Funktionsmanagers
aufgebaut, der nachfolgend in Fig. 15 näher beschrieben ist. Der
Funktionsmanager ermöglicht es, durch Setzen von Flags Routinen
anzufordern und durch das Zurücksetzen der Flags die Anforderung zu
löschen. Für die Anforderung der Berechnung wird in S230 ein Flag
FCT_ZWV auf 1 gesetzt.
Eine mögliche Alternative zu S230 besteht darin, die Berechnung direkt in
der Hall-Interruptroutine (Fig. 8) durchzuführen. Dies soll durch S232
angedeutet werden. Wird die Berechnung in S232 ausgeführt, so kann für
die Berechnung der Timer-Interruptzeit t_TI welche der Hallzeit t_HN (z. B.
t_H5) zugeordnet ist, die Hallzeit t_HN-1 (z. B. t_H4) verwendet werden.
Wird S230 verwendet, so wird die Hallzeit t_HN-2 (z. B. t_H3) verwendet,
oder eine noch frühere Hallzeit, wie bei den Fig. 17 bis 19 beschrieben.
Wird die Berechnung im Hallinterrupt durchgeführt (S232), so entfällt
S230. Die nachfolgende Beschreibung bezieht sich auf eine Version ohne
S232.
In S234 (Fig. 8B) wird geprüft, ob das Flag KD = 1 ist (KD = Kommutierung
Durchgeführt). Falls KD = 1 ist, so ist in der zu dem Hall-Interrupt
gehörenden Hallzeit ein Timer-Interrupt aufgetreten, wie in Fig. 7A für HN+1
dargestellt, und die Zündwinkelverschiebung war eingeschaltet. In diesem
Fall wurde die Kommutierung bereits im Timer-Interrupt (TN+1 in Fig. 7A)
durchgeführt, und es wird direkt zu S238 gesprungen.
Ist in S234 KD = 0, so ist in der zu dem Hall-Interrupt gehörigen Hallzeit
kein Timer-Interrupt aufgetreten, d. h. man hat die Situation gemäß Fig. 6.
Die Kommutierungslücke (t_G in Fig. 21) wird in S236 durch das Setzen
beider Ports OUT1 und OUT2 auf Null gestartet, d. h. die Statorwicklung 38
(Fig. 1) erhält kurzzeitig keine Energie zugeführt. Der Fall, daß ein Timer-
Interrupt aufgetreten ist, aber aufgrund inaktiver Zündwinkelverschiebung
bei diesem Interrupt nicht kommutiert worden ist, wird in dem Zweig unter
S210 für DE = 0 berücksichtigt (Fig. 8A).
In S238 werden das Autoreload-Register AR und der Timer CNT_HL mit
dem in der nachfolgend beschriebenen Zündwinkelberechnung (Fig. 9
oder 19) berechneten Wert t_TI geladen, und der Timer CNT_HL wird
gestartet.
In S240 wird die Zündwinkelverschiebung durch das Setzen des Flags
SZW := 1 auf aktiv gesetzt, da die erforderliche Drehzahl erreicht war (DE
= 1), z. B. bei diesem Beispiel die Drehzahl 300 U/min.
In S242 wird wieder anhand des Flags KD (Kommutierung Durchgeführt)
überprüft, ob die Kommutierung bereits stattgefunden hat. Falls nicht (KD
= 0), wird in S244 anhand des Signals HALL überprüft, ob entweder in
S246 OUT1 auf HIGH oder in S248 OUT2 auf HIGH gesetzt wird. Die
Kommutierungslücke (t_G in Fig. 21) wird hierbei durch die zwischen dem
Ausschalten der Ports OUT1 und OUT2 (S236) und dem Einschalten
liegenden Schritte S238 bis S244 erzeugt.
In S250 wird die Hall-Interruptroutine schließlich verlassen.
Fig. 9 zeigt ein Flußdiagramm für eine beispielhafte Routine zur
Zündwinkelberechnung, welche bei erreichter Mindestdrehzahl bei jeder
Hall-Interruptroutine (Fig. 8) durch Setzen des Anforderungsbits
FCT_ZWV (Fig. 15) angefordert wird, vgl. S230 in Fig. 8A. Die Zündwinkel
berechnung wird durch den Funktionsmanager 190 (Fig. 15) aufgerufen,
wenn keine Aufgaben höherer Priorität angefordert sind. Man kann
deshalb nicht genau sagen, wann diese Berechnung stattfindet. Die
Zeitpunkte BN (z. B. in Fig. 12A und 12B), an denen die Zündwinkel
berechnung ausgeführt wird, sind also nicht genau festgelegt, sondern
stellen Beispielzeitpunkte dar.
Es ist zu beachten, daß die Berechnung der Hall-Länge t_H immer für
eine vorhergehende Hallzeit gilt. So wird z. B. während der Hallzeit t_HN
die Hall-Länge t_HN-1 berechnet.
In S252 wird anhand des Flags KD überprüft, ob in dem Timer-Interrupt
(z. B. TN+1 in Fig. 7) eine Kommutierung durchgeführt wurde, vgl. S234 in
Fig. 10. Falls ja (KD = 1), so ergibt sich gemäß S254, wie in Fig. 7 gezeigt
und dort beschrieben, die Hall-Länge t_H aus der Startzeit t_B und der
Zeit t_1, welche die Differenz von t_B und t_E ist. Falls nein (KD = 0),
ergibt sich gemäß S256 die Hall-Länge t_H aus der Differenz von t_B und
t_E, vgl. Fig. 6.
In S258 wird zu der Hall-Länge t_H eine Korrekturzeit t_CORR addiert.
Diese ergibt sich daraus, daß der Timer CNT_HL am Anfang der Hall-
Interruptroutine (Fig. 8A und 8B) bei S202 angehalten, aber erst später in
S232 erneut gestartet wird. Bis dahin hat die Hall-Interruptroutine eine
gewisse Zeit benötigt, die nun als t_CORR (z. B. 40 µs) addiert wird, um in
S258 die exakte Hall-Länge t_H zu erhalten.
In S260 wird die augenblickliche Hall-Länge t_H in dem Ist-Hallwert t_i
abgespeichert, damit der momentane Ist-Hallwert allen anderen
Programmteilen (z. B. der Regelung) als Maß für die augenblickliche
Drehzahl zur Verfügung steht.
In S262 wird die aktuelle Startzeit des Timers CNT_HL in t_B gesichert, so
daß sie für die Berechnung von t_TI während der nächsten Hallzeit
verfügbar ist.
Es folgt eine Überprüfung der Drehzahl, da erst ab einer vorgegebenen
Mindestdrehzahl n_min. z. B. 300 U/min. eine Zündwinkelverschiebung
durchgeführt werden soll. Hierzu wird in S264 verglichen, ob t_H < t_SZW
ist. t_SZW (z. B. 49664 µs, was 0xC200 entspricht) ist die maximale Hall-
Länge, bis zu der eine Zündwinkelverschiebung durchgeführt werden soll.
Ist t_H größer als t_SZW, so ist der Motor zu langsam, und in S266 wird
mit SZW := 0 die Zündwinkelverschiebung ausgeschaltet.
In S268 wird der Kommutierungszeitpunkt t_TI, also der Zeitpunkt, zu dem
ein Timer-Interrupt ausgelöst werden soll, berechnet. Hierzu wird in S268
ein Wert t_ZW, nämlich die Zeit, um die der Zeitpunkt der Kommutierung
nach früh verschoben werden soll, subtrahiert, z. B. 200 µs. Das kann ein
konstanter Wert sein, oder auch ein Wert, der von einem Motorparameter
abhängig ist. Über den Bus 30 (Fig. 14) kann dieser Wert t_ZW von außen
verändert werden. Ist t_ZW = 0, so ist die Zündwinkelverschiebung
abgeschaltet.
Die Zündwinkelberechnungsroutine ist nun abgearbeitet worden. Das
Anforderungsbit FCT_ZWV (Fig. 15) wird in S270 auf 0 gesetzt, in S272
wird das Flag KD wieder auf 0 gesetzt, damit es für die folgende Hallzeit
genutzt werden kann, und in S274 wird das Anforderungsbit FCT_RGL
(Fig. 15) der Regelung des Motors gesetzt, so daß diese angefordert wird.
Die Hauptaufgaben der Zündwinkelberechnungsroutine gemäß Fig. 9
waren also das Bestimmen der Zeitdauer der vorhergehenden Hall-Länge
(S258), das Berechnen des Kommutierungszeitpunkts für die folgende
Hallzeit (S268), und das Anfordern der Regelung (S274).
Fig. 10 zeigt ein Flußdiagramm für eine beispielhafte Timer-
Interruptroutine, welche zur Motorsteuerung dient und ausgelöst wird,
wenn der in dem vorhergehenden Hall-Interrupt initialisierte und
gestartete Timer CNT_HL auf 0 zurückgezählt hat, bevor der nächste Hall-
Interrupt ausgelöst wird, vgl. Fig. 7A und 7B.
Beim Erreichen des Wertes 0 wird der Timer CNT_HL in S302 mit dem
Wert t_AR des Autoreload-Registers AR geladen und erneut gestartet, da
er gleichzeitig für die Berechnung der Hall-Länge t_H dient. Dieser Schritt
wird von dem µC 11 bei Erreichen der 0 für diesen Zähler automatisch
ausgeführt und ist nur zur Verdeutlichung in das Flußdiagramm
aufgenommen worden.
In S304 wird anhand des Flags SZW überprüft, ob die
Zündwinkelverschiebung aktiv ist. Ist sie nicht aktiv, so läuft der Motor
langsamer als die minimale Drehzahl. Dies wird ersichtlich, da bei nicht
aktiver Zündwinkelverschiebung, wenn der Timer-Interrupt stattgefunden
hat, in der Hall-Interruptroutine in S214 das Autoreloadregister AR und der
Timer CNT_HL auf die der minimalen Drehzahl n_min entsprechende
maximale Hall-Länge t_max gesetzt werden. Findet trotzdem der Timer-
Interrupt (TN+1 in Fig. 7) vor dem Hall-Interrupt (HN+1 in Fig. 7) statt, so ist
die minimale Drehzahl n_min nicht erreicht, und das Flag DE (Drehzahl
Erreicht) wird auf 0 gesetzt und in S308 die Timer-Interruptroutine
verlassen.
Bei aktiver Zündwinkelverschiebung (SZW = 1) wird von S304 nach S310
gesprungen, wo die beiden Ports OUT1 und OUT2 zum Beginn der
Kommutierungslücke auf 0 gesetzt werden.
Die Schritte S312 bis S316 bilden eine Programmschleife, welche eine
ausreichend lange Kommutierungslücke (t_G in Fig. 21) bewirkt. Hierzu
wird in S312 einem Zähler DEL_CNT ein Verzögerungswert t_DEL
zugeordnet, z. B. die Zahl 5. In S314 wird der Zähler DEL_CNT um 1
dekrementiert und in S316 wird überprüft, ob DEL_CNT schon den Wert 0
erreicht hat, die Verzögerungsschleife also vollständig abgearbeitet ist.
Falls nicht, wird wieder nach S314 zurückgesprungen und die Schleife
setzt fort. Wenn ein Durchlauf der Schleife z. B. 10 µs benötigt, so erhält
man mit den oben genannten Werten eine Verzögerung von 50 µs,
während der die Ports OUT1 und OUT2 beide das Ausgangssignal 0
haben, was die Kommutierungslücke t_G bewirkt.
Anschließend findet in gewohnter Weise die Kommutierung statt, wie
bereits in Fig. 8A bei S218 bis S224 beschrieben. Ist in S318 der Hallwert
HALL = 1, so wird in S320 OUT1 auf HIGH gesetzt, ansonsten wird in
S322 OUT2 auf HIGH gesetzt. Die Kommutierung ist also - mit
Zündwinkelverschiebung - im Timer-Interrupt und vor dem Hall-Interrupt
durchgeführt worden, also in Fig. 7 zum Zeitpunkt TN+1 vor dem Hall-
Interrupt HN+1.
In S324 wird das Flag KD (Kommutierung Durchgeführt) auf 1 gesetzt,
damit die Hall-Interruptroutine und die Zündwinkelberechnungsroutine
dies erkennen können, und daraufhin wird die Hall-Interruptroutine in
S326 verlassen.
Fig. 11 zeigt beispielhaft eine Darstellung des Signals HALL, der
Zeitpunkte der Hall-Interrupts HN und der Timer-Interrupts TN beim
Hochlauf eines erfindungsgemäßen Motors. Die Hallzeiten t_HN, welche
jeweils zwischen den Hall-Interrupts HN-1 und HN stehen, werden immer
kürzer, da der Motor beschleunigt. Es tritt nicht während jeder Hallzeit ein
Timer-Interrupt auf. In diesem Beispiel wird in t_H2 und den folgenden
Hallzeiten eine Zündwinkelberechnung ausgeführt, aufgrund der
Beschleunigung des Motors treten in diesem Beispiel jedoch nur die
Timer-Interrupts T1, T10 und T11 auf, da die Drehzahl erst ab t_H8
einigermaßen konstant wird.
In Fig. 12A und 12B ist der Verlauf der Fig. 11 in vergrößertem Maßstab
dargestellt und mit zusätzlichen Erläuterungen versehen.
Fig. 12A und 12B zeigen einen zeitlichen Beispielverlauf eines Starts
eines erfindungsgemäßen Motors. Dieser soll das Zusammenspiel des
Hall-Interrupts, der Zündwinkelberechnung und des Timer-Interrupts
verdeutlichen.
In Fig. 12A und 12B werden folgende Variablen verwendet:
DE: Flag "Drehzahl Erreicht"
KD: Flag "Kommutierung Durchgeführt"
SZW: Flag "Start ZündwinkelVerschiebung"
t_AR: Wert im Autoreloadregister AR (Fig. 1)
CNT_HL: Timer für Timer-Interrupt und Berechnung der Hall-Länge
t_E: Stoppzeit (Zeit des Endes)
t_H: Hall-Länge (Hallzeit)
t_B: Startzeit (Zeit des Beginns)
OUT1: Port des µC 11 zur Bestromung des Motors
OUT2: Port des µC 11 zur Bestromung des Motors.
DE: Flag "Drehzahl Erreicht"
KD: Flag "Kommutierung Durchgeführt"
SZW: Flag "Start ZündwinkelVerschiebung"
t_AR: Wert im Autoreloadregister AR (Fig. 1)
CNT_HL: Timer für Timer-Interrupt und Berechnung der Hall-Länge
t_E: Stoppzeit (Zeit des Endes)
t_H: Hall-Länge (Hallzeit)
t_B: Startzeit (Zeit des Beginns)
OUT1: Port des µC 11 zur Bestromung des Motors
OUT2: Port des µC 11 zur Bestromung des Motors.
Das Signal HALL am Eingang Hall des µC 11 ist eingetragen. Die Hall-
Längen t_H stehen jeweils zwischen den sie unnschließenden Hall-
Interrupts, z. B. t_H2 = 40 ms zwischen H1 und H2, t_H3 = 35 ms zwischen
H2 und H3, etc. Hall-Interrupts sind jeweils mit HN, Timer-Interrupts mit TN
und Ausführungen der Zündwinkelberechnung mit BN angezeigt, wobei N
die Indexzahl der zugehörigen Hall-Länge t_HN ist.
Unter dem Signal HALL befinden sich einige wichtige Variablen, welche
in dem in dem µC 11 ablaufenden Programm verwendet werden. Die
Angabe von Zeiten erfolgt aus Platzgründen in ms, wohingegen
programmintern mit µs-Zeiten gearbeitet wird. Beim Start des Motors
werden einige der Variablen initialisiert (Spalte INIT). t_TI und t_B werden
mit 50 ms initialisiert. Dies entspricht einer Drehzahl von 300 U/min. und
erst ab dieser Drehzahl wird in diesem Ausführungsbeispiel die
Zündwinkelverschiebung eingeschaltet. DE und KD werden auf 0 gesetzt,
da die erforderliche Drehzahl anfangs noch nicht erreicht ist, und SZW ist
auch mit 0 initialisiert, da die Zündwinkelverschiebung ausgeschaltet ist.
Bei dem ersten Hall-Interrupt H0 werden das Autoreload-Register AR und
der Timer CNT_HL das erste Mal mit 50 ms geladen, und der Timer
CNT_HL wird gestartet. Die Hall-Länge t_H1 beträgt 60 ms, so daß der
Timer-Interrupt T1 vor dem Hallinterrupt H1 auftritt.
Da die Zündwinkelverschiebung ausgeschaltet ist (SZW = 0), wird in der
Timer-Interruptroutine als einziges der Wert DE auf 0 gesetzt (S306 in Fig.
10). Dies zeigt dem Hall-Interrupt an, daß der Motor noch nicht die
Mindestdrehzahl n_min erreicht hat, da die Hall-Länge t_H1 größer als die
maximale Hall-Länge t_max ist, die der Mindestdrehzahl n_min entspricht.
Der Timer CNT_HL wird automatisch mit dem Autoreload-Wert t_AR von
50 ms aufgeladen und gestartet.
Durch den Hall-Interrupt H1 wird die Hall-Interruptroutine (Fig. 8)
aufgerufen. Die Stoppzeit t_E von 40 ms, die sich daraus ergibt, daß
zwischen dem Timer-Interrupt T1, bei dem der Timer CNT_HL erneut auf
50 ms gesetzt wurde, und dem Hall-Interrupt H1 10 ms vergangen sind,
wird gesichert. Da DE = 0 ist, wird die Kommutierung zum Zeitpunkt H1
durchgeführt, t_AR und CNT_HL werden mit 50 ms geladen und der Timer
CNT_HL wird gestartet. DE wird auf 1 gesetzt. Es wird keine Berechnung
angefordert.
Während der Hall-Länge t_H2 erreicht der Motor erstmals im Durchschnitt
die Mindestdrehzahl von 300 U/min, so daß der Hall-Interrupt H2
ausgelöst wird, bevor der Timer CNT_HL auf Null heruntergezählt hat. Es
findet also kein Timer-Interrupt T2 statt.
In der Hall-Interruptroutine beim Hallwechsel H2 wird dis Stoppzeit t_E
des Timers CNT_HL von 10 ms gesichert. DE hat dadurch, daß während
der Hall-Länge t_H2 kein Timer-Interrupt aufgetreten ist, seinen Wert DE =
1 behalten. Dadurch erkennt die Hall-Interruptroutine, daß die Drehzahl
von 300 U/min überschritten wurde. In der HalHnterruptroutine wird die
Zündwinkelberechnungsroutine (Fig. 9) angefordert und die
Zündwinkelverschiebung wird durch SZW := 1 aktiviert. Da innerhalb der
Hall-Länge t_H2 noch nicht kommutiert wurde (KD = 0), wird die
Kommutierung während der Hall-Interruptroutine zum Zeitpunkt H2
durchgeführt. Das Autoreload-Register AR und der Timer CNT_HL werden
mit dem beim Start des Motors auf 50 initialisierten Wert t_TI geladen, da
noch keine Zündwinkelberechung durchgeführt wurde, und der Timer
CNT_HL wird erneut gestartet.
Während der Hall-Länge t_H3 wird das erste Mal die Berechnung der
Zündwinkelverschiebung ausgeführt. Es ist kein Timer-Interrupt
aufgetreten (KD = 0), so daß sich die während der Hall-Länge t_H3
berechnete Hall-Länge t_H2 aus t_B = 50 ms und t_E = 10 ms zu t_H = 40
ms ergibt. Hieraus ergibt sich bei einer Zündwinkelverschiebungszeit von
t_ZW = 0,2 ms eine Timer-Interruptzeit von 39,8 ms. Die Timerstartzeit der
Hallzeit t_H3 wird in t_B gesichert.
Die Hall-Interruptroutine zum Hall-Interrupt H3 läuft analog zu der Hall-
Interruptroutine zum Hall-Interrupt H2 ab, da der Motor weiterhin
beschleunigt und der Hall-Interrupt auftritt, bevor der Timer CNT_HL den
Wert 0 erreicht. Es tritt deshalb in dieser Hallzeit kein Timer-Interrupt auf.
Dies geschieht ebenso bei den Hall-Interrupts H4, H5, H5 und H7. Die
Zündwinkelberechnungsroutinen B4, B5, B6 und B7 werden ebenfalls in
der jeweiligen Hallzeit aufgerufen.
In der Hallzeit t_H8 erreicht der Motor schließlich seine Solldrehzahl von
1500 U/min., die einer Hall-Länge von 10 ms entspricht. Da bei diesem
Beispiel die Timer-Interruptzeit t_TI für die Hallzeit t_HN immer während
der Hallzeit t_HN-1 aus der Hall-Länge t_HN-2 berechnet wird, ist ein
"Nachlauf" von zwei Hallzeiten vorhanden, d. h. die erste Hallzeit, bei der
der Timer CNT_HL mit der korrekten Timer-Interruptzeit t_TI gestartet ist,
ist t_H10, da die Hallzeit t_H8 die erste Hallzeit mit 10 ms war und das
Ergebnis aus der Hall-Längenberechnung der Hallzeit von t_H8 erst in
t_H10 verwendet wird.
Während der Hallzeit t_H10 wird die Zündwinkelberechnung B10 normal
ausgeführt. Der Startwert t_TI für das Autoreload-Register AR und den
Timer CNT_HL betrug während der Hall-Interruptroutine zu H9 9,8 ms.
Deshalb wird 9,8 ms nach dem Hall-Interrupt H9 ein Timer-Interrupt T10
ausgelöst. Der Timer CNT_HL wird automatisch mit dem Wert t_AR (9,8
ms) aufgeladen und erneut gestartet. Die Zündwinkelverschiebung ist
eingeschaltet (SZW = 1), so daß in der Timer-Interruptroutine (T10)
kommutiert wird. Das Flag KD wird auf 1 gesetzt, um der folgenden Hall-
Interruptroutine zu H10 und der Zündwinkelberechnung anzuzeigen, daß
kommutiert wurde.
In der Hall-Interruptroutine zum Hall-Interrupt H10 wird der Stoppwert des
Timers CNT_HL in t_E gesichert, die Zündwinkelberechnungsroutine
angefordert, das Autoreload-Register AR und der Timer CNT_HL geladen,
und der Timer CNT_HL gestartet. Da die Kommutierung bereits in der
Timer-Interruptroutine zum Timer-Interrupt T10 stattgefunden hat, wird nicht
mehr kommutiert.
Die folgenden Hallzeiten t_H11 usw. verlaufen wie t_H10, falls sich
Istdrehzahl oder Solldrehzahl des Motors nicht ändern.
Fig. 13 zeigt den für Regelung und Antrieb des Motors wichtigen Teil der
Schaltung. Gleiche oder gleich wirkende Teile wie in den
vorhergehenden Figuren sind mit denselben Bezugszeichen bezeichnet
wie dort und werden gewöhnlich nicht nochmals beschrieben.
Die Belegung der Anschlüsse des µC 11 ist wieder Fig. 3 zu entnehmen.
Die Ausgänge OUT1 und OUT2 des µC 11 steuern die als H-Brücke 37
geschalteten npn-Transistoren 141, 142, 143 und 144.
Ein Ausgang RGL des µC 11 ist über einen Widerstand 123 an einen
Kondensator 124 angeschlossen. Wird RGL auf HIGH gesetzt, so wird der
Kondensator 124 aufgeladen, ist RGL auf LOW, so wird der Kondensator
entladen, und ist RGL auf TRISTATE, so ist der Kondensator 124 von RGL
abgekoppelt und hält seine Spannung. Ohne die Strombegrenzung 44,
welche weiter unten beschrieben wird, könnte der Punkt 125 direkt mit
dem Pluseingang des Komparators 120 verbunden werden.
Ist der npn-Transistor 150 nicht leitend, die Strombegrenzung 44 also
inaktiv, so stellt sich über den Widerstand 126 an einem kleineren
Kondensator 127 die gleiche Spannung wie die des Kondensators 124
ein. Über den Ausgang RGL des µC 11 kann also die Spannung an dem
Pluseingang des Komparators 120 beeinflußt werden.
An dem Minuseingang des Komparators 120 liegt ein durch einen
Dreiecksoszillator 35 erzeugtes Dreiecksignal an. Der Dreiecksoszillator
35 weist einen Komparator 130 auf. Vom Ausgang P3 des Komparators
130 führt ein Mitkopplungswiderstand 132 zu dessen Pluseingang, und
ebenso führt ein Gegenkopplungswiderstand 131 vom Ausgang P3 des
Komparators 130 zum Minuseingang des Komparators 130. Ein
Kondensator 135 liegt zwischen dem Minuseingang des Komparators 130
und Masse 100. Der Ausgang des Komparators 130 ist ferner über einen
Widerstand 133 mit +Vcc verbunden. Der Pluseingang des Komparators
130 ist über zwei Widerstände 134 und 136 mit +Vcc bzw. Masse 100
verbunden.
Zur Erläuterung der Wirkungsweise des Dreiecksgenerators 35 und der
Steuerung des Ausgangs RGL des µC 11 durch den µC 11 wird auf
DE 198 36 882.8 (intern: D216) verwiesen.
Liegt die Spannung des Dreiecksignals am Minuseingang des
Komparators 120 unter der des Referenzsignals am Pluseingang des
Komparators 120, so ist der Ausgang OFF des Komparators 120 auf HIGH,
und die unteren Transistoren 141 bzw. 143 können über die logischen
UND-Glieder 147 bzw. 148 durch OUT1 bzw. OUT2 aus- und
eingeschaltet werden. Liegt die Spannung des Dreieckssignals über der
des Referenzsignals, so ist der Ausgang OFF des Komparators 120 auf
LOW und damit kann die Statorwicklung 38 nicht bestromt werden.
Über die Spannung am Kondensator 124 und damit auch am
Kondensator 127 wird also das sogenannte Tastverhältnis eingestellt, das
Verhältnis der Dauer, die der Ausgang des Komparators 120 während
einer Periode des Dreieckssignals auf HIGH ist zu einer ganzen Periode.
Das Tastverhältnis kann zwischen 0% und 100% liegen. Ist die
Motordrehzahl z. B. zu hoch, so wird der Kondensator 124 über RGL
entladen und damit das Tastverhältnis verkleinert. Das Ganze wird als
Pulsweitenmodulation (PWM) bezeichnet. Der Pullup-Widerstand 128
dient dazu, den Open-Collector-Ausgang OFF des Komparators 120 bei
HIGH auf +Vcc zu ziehen.
Um beim Einschalten den Motor starten zu können, wird der Kondensator
124 bei der Initialisierung eine vorgegebene Zeitdauer über RGL
aufgeladen, damit die Spannung am Kondensator 127 den erforderlichen
Mindestwert für das Einschalten des Komparators 120 und damit der
Brücke 37 erreicht.
Eine Strombegrenzung 44 wird dadurch verwirklicht, daß der Strom in der
Statorwicklung 38 über einen Meßwiderstand 140 zu Masse 100 fließt. Je
höher der Strom durch den Widerstand 140 ist, desto höher ist die
Spannung an ihm und damit auch das Potential am Punkt 149.
Erreicht das Potential an 149 einen bestimmten Wert, so wird der
Transistor 150 leitend und reduziert die Spannung am Kondensator 127,
und das Tastverhältnis am Ausgang des Komparators 120 wird dadurch
kleiner. Der Widerstand 126 verhindert, daß der große Kondensator 124
bei einer Strombegrenzung ebenfalls entladen wird, und er beschleunigt
die Strombegrenzung, da der kleine Kondensator 127 schneller entladen
werden kann. Nach dem Ende der aktiven Strombegrenzung wird der
kleinere Kondensator 127 durch den großen Kondensator 124 wieder
aufgeladen und so auf dessen Spannung gesetzt. Der Widerstand 126
und der Kondensator 127 bewirken also, daß die Strombegrenzung 44
eine höhere Priorität als die Regelung besitzt.
Die Strombegrenzung 44 weist ein Filterglied aus einem Widerstand 151
und einem Kondensator 152 gegen Masse, gefolgt von dem npn-
Transistor 150, der bei einer genügend hohen Spannung an seiner Basis
den Pluseingang des Komparators 120 auf Masse 100 zieht, auf. Dahinter
folgt ein weiteres aus den Widerständen 153 und 155 und dem
Kondensator 154 bestehendes Siebglied.
Für die Beschreibung einer alternativen Form der Strombegrenzung wird
auf DE 198 26 458.5 (intern: D215) verwiesen. Sie kann wie dort auch mit
Hilfe eines Komparators aufgebaut werden und programmgesteuert sein.
Fig. 14 zeigt den Ausschnitt der Schaltung, der das EEPROM 26 und das
Businterface 30 betrifft. Die Pinbelegung des µC 11 ist wieder Fig. 3 zu
entnehmen. Gleiche oder gleich wirkende Teile wie in den
vorhergehenden Figuren sind mit denselben Bezugszeichen bezeichnet
wie dort. Das EEPROM 26 ist z. B. vom Typ "2-Wire Serial CMOS EEPROM
AT24C01A" (ATMEL).
Das EEPROM 26 erhält an seinem Dateneingang SDA das Signal ESDA
(Fig. 2) des µC 11 und an seinem Eingang SCL das Signal ESCL. Beide
Leitungen sind über Widerstände 172, 173 mit +Vcc verbunden.
Der Schreibschutzeingang WP des EEPROM 26 ist mit dem Pin CS (Chip
Select) des µC 11 verbunden. Ist CS auf HIGH, so ist das EEPROM 26
schreibgeschützt, ist CS auf LOW, so können Daten in das EEPROM 26
geschrieben werden. Die Anschlüsse VSS, A0, A1 und A2 des EEPROM
26 sind mit Masse 100 verbunden, und der Anschluß VCC des EEPROM
26 mit +Vcc.
Die Leitungen ESDA und ESCL stellen also den seriellen Bus zwischen
dem µC 11 und dem EEPROM 26 dar, der hier als IIC-Bus betrieben wird.
Normalerweise wird das EEPROM 26 in der Fabrik einmal über das
Businterface 30 programmiert, eine Neuprogrammierung ist jedoch
jederzeit möglich. Alternativ kann der Motor auch ohne den Bus 30
betrieben werden, wobei das EEPROM 26 dann mittels einer bekannten
Vorrichtung programmiert wird, ehe man es in den Motor einsetzt.
Das Businterface 30 arbeitet mit einem IIC-Bus. Es verfügt über eine
Datenleitung DATA mit einem Anschluß 160, die über einen Widerstand
162 an den Anschluß SDA des µC 11 angeschlossen ist. Vom Anschluß
SDA führt ein Widerstand 165 zu +Vcc und ein Kondensator 167 zu
Masse 100. Außerdem ist der Anschluß SDA mit dem Emitter eines pnp-
Transistors 168 verbunden, dessen Kollektor mit Masse 100 und dessen
Basis über einen Widerstand 169 mit dem Anschluß N16 des µC 11
verbunden sind.
Weiterhin hat das Businterface 30 eine Taktleitung CLOCK mit einem
Anschluß 161, die über einen Widerstand 163 an den Anschluß SCL des
µC 11 angeschlossen ist. Vom Anschluß SCL des µC 11 führt ein
Widerstand 164 zu +Vcc und ein Kondensator 166 zu Masse 100.
Die Schaltung mit dem pnp-Transistor 168 dient dazu, sowohl den
Ausgang N16 als auch den Eingang SDA des µC 11 mit der
bidirektionalen Leitung DATA des IIC-Buses zu verbinden.
Für eine weitergehende Beschreibung des EEPROM 26, des
Businterfaces 30 und deren Programmierung wird auf DE 198 26 458.5
(intern: D215) verwiesen.
Mit dem Businterface 30 ist es möglich, Werte im EEPROM 26 zu
verändern. So kann z. B. die minimale Drehzahl n_min. ab der die
Kommutierung mit Zündwinkel eingeschaltet werden soll, durch das
Setzen des Werts t_SZW im EEPROM verändert werden und somit die
Konfiguration des Motors geändert werden. Ebenso geändert werden
kann z. B. die Zündwinkelzeit t_ZW.
Fig. 15 zeigt ein Flußdiagramm mit einer möglichen Ausführungsform
des in dem µC 11 ablaufenden Gesamtprogramms. Nach dem
Einschalten des Lüfters wird in dem µC 11 ein interner Reset ausgelöst. In
S600 erfolgt die Initialisierung des µC 11. Es werden z. B. Parameter aus
dem EEPROM 26 in das RAM des µC 11 übertragen.
Nach der Initialisierung erfolgt ein Sprung in den bereits erwähnten
Funktionsmanager 190, der in S602 beginnt. Dieser regelt den Ablauf der
einzelnen Unterprogramme und bestimmt deren Prioritäten.
Als erstes werden die Funktionen abgearbeitet, die zeitkritisch sind und
bei jedem Durchlauf abgearbeitet werden müssen. Hierzu zählt die
Kommunikationsfunktion COMM in S602, da der IIC-Bus 30 (Fig. 14) z. B.
bei einer Baudrate von 2 k alle 250 µs überprüft werden muß.
Fig. 16 zeigt ein beispielhaftes Funktionsregister 195, in dem für jede
weitere Funktion ein Bit reserviert ist.
In diesem Beispiel ist das Funktionsregister 195 1 Byte groß, und es sind,
von dem niederwertigsten Bit (LSB) beginnend, die folgenden
Anforderungsbits für die unten erklärten anforderbaren Funktionen
definiert:
- - Bit1: FCT_ZWV für die Zündwinkelberechnungsroutine,
- - Bit2: FCT_RGL für eine Regelroutine beliebiger Art.
Die restlichen Bits sind für zusätzliche anforderbare Funktionen reserviert,
die bei Bedarf in den Funktionsmanager 190 eingefügt werden können.
Soll eine bestimmte anforderbare Funktion durch eine andere Funktion
oder eine Interruptroutine angefordert werden, so wird das Bit der anzu
fordernden Funktion auf 1 gesetzt. Das nächste Mal, wenn der Funktions
manager 190 bei einem Durchlauf keine andere anforderbare Funktion
mit höherer Priorität aufgerufen hat, so wird diese Funktion ausgeführt.
Ist eine angeforderte Funktion abgearbeitet, so setzt sie ihr Bit (Fig. 16)
wieder auf 0, z. B. FCT_RGL := 0.
In Fig. 15 wird nach S602 in einer vorbestimmten Reihenfolge, von der
wichtigsten anforderbaren Funktion ausgehend, jeweils geprüft, ob deren
Anforderungsbit gesetzt ist. Ist dies bei einer Funktion der Fall, so wird
diese ausgeführt, und daraufhin wird wieder an den Anfang S602 des
Funktionsmanagers 190 gesprungen. Die Reihenfolge der Überprüfung
des Funktionsregisters 195 gibt die Prioritierung der anforderbaren
Funktionen vor. Je höher eine solche Funktion in dem Funktionsmanager
190 steht, desto höher ist ihre Priorität.
Die aufgerufenen Funktionen müssen so kurz sein, daß ihre
Abarbeitungszeit, addiert zu den immer ausgeführten Funktionen (hier
S602) und den Interruptroutinen, nie größer als die maximal zulässige Zeit
zwischen zwei Abfragen des IIC-Buses 30 ist. In dem obigen Beispiel mit
einer Baudrate von 2 k und einer maximal zulässigen Zeit von 250 µs
liegt die maximale Abarbeitungszeit für die in S610 oder S614
aufgerufenen Funktionen bei ca. 100 µs.
In S610 wird überprüft, ob das Anforderungsbit FCT_ZWV für die Zünd
winkelverschiebung gesetzt ist, also den Wert 1 hat. Ist es gesetzt, so wird
nach S612 gesprungen, und die Zündwinkel-Berechnungsroutine (Fig. 9
oder 19) wird ausgeführt. Vor der Beendigung setzt die Zündwinkel-
Berechnungsroutine ihr Anforderungsbit FCT_ZWV zurück und fordert in
S274 durch Setzen des Anforderungsbits FCT_RGL die Regelroutine an.
War in S610 FCT_ZWV nicht gesetzt, so wird in S614 überprüft, ob
FCT_RGL gesetzt ist. Ist dies der Fall, so wird in S618 eine Regelroutine
zur Regelung der Motordrehzahl aufgerufen.
Waren keine der in S610 und S614 überprüften Bits gesetzt, so wird
wieder nach S602 gesprungen, und die Funktionen, die bei jedem
Durchlauf des Funktionsmanagers 190 ausgeführt werden, werden erneut
aufgerufen.
Fig. 15 zeigt auch bei 620 symbolisch einen Hall-Interrupt, der die höchste
Priorität L1 (Level 1) hat. Ein Hall-Interrupt hat diese hohe Priorität, weil
die genaue Erfassung der Hall-Signale für einen ruhigen Lauf des Motors
39 sehr wichtig ist. Er unterbricht alle Prozesse des Funktionsmanagers
190, wie durch einen Pfeil 621 symbolisiert.
Unter dem Hall-Interrupt ist bei 622 ein Timer-Interrupt dargestellt. Dieser
hat eine niedrigere Priorität L2 und unterbricht alle Prozesse unter ihm,
wie durch den Pfeil 623 angedeutet. Eine exakte Kommutierung ist
ebenfalls sehr wichtig für einen ruhigen Lauf des Motors, und deshalb hat
der Timer-Interrupt 622 die zweithöchste Priorität.
Wenn Hall-Interrupt und Timer-Interrupt gleichzeitig angefordert würden,
würden sie nach der Reihenfolge ihrer Priorität abgearbeitet.
Die nächstniedere Priorität L3 hat die Funktion COMM, da bei der
Kommunikation über den Bus 30 keine Daten verlorengehen dürfen.
Die nächstniedere Priorität L4 hat die Funktion ZWV, die in S230
angefordert werden kann und die in Fig. 9 (oder 19) dargestellt ist.
Die niedrigste Priorität L5 hat die Funktion RGL (S614), da sich die
Drehzahl eines Motors - wegen dessen mechanischer Trägheit -
gewöhnlich langsam ändert, so daß die Regelfunktion meist nicht
zeitkritisch ist. Ggf. kann man aber auch die Reihenfolge der Schritte S610
und S614, und damit deren Priorität, vertauschen.
Auf diese Weise gelingt es, die verschiedenen "Bedürfnisse" des Motors
39 in eine vorgegebene Hierarchie einzuordnen und die Ressourcen des
µC 11 optimal für den Betrieb des Motors zu nutzen.
Fig. 17 zeigt einen vierpoligen Außenrotor 39. Dieser hat vier radial
magnetisierte Pole 534, 535, 536, 537, die in der dargestellten Weise
durch (symbolisch angedeutete) Übergangsbereiche 530 bis 533
voneinander getrennt sind. Es wird als Beispiel eine sogenannte
trapezförmige Magnetisierung angenommen, vgl. Fig. 18A.
Wegen der Inhomogenitäten des Magnetmaterials, und wegen
unvermeidbarer Fehler in der (nicht dargestellten)
Magnetisierungsvorrichtung, ist der Verlauf der Magnetflußdichte
besonders in den Übergangsbereichen 530 bis 533 nicht exakt definiert,
sondern von Rotor zu Rotor etwas verschieden.
Nimmt man an, daß sich der Rotor 39 in Richtung des Pfeiles 540 am
Hallgenerator 40 vorbeidreht, so erhält man am Hallgenerator 40 eine
Hallspannung uH, deren Verlauf in Fig. 18A - wegen der Anschaulichkeit
stark übertrieben - dargestellt ist. Der Teil 534' dieser Hallspannung uH
wird vom Rotorpol 534 (Nordpol) erzeugt und ist etwas zu kurz, d. h. die
Nulldurchgänge dieser Hallspannung liegen bei 0° el. und etwa 170° el.
statt - wie gewünscht - bei 0° el. und exakt 180° el.
Der Teil 535' der Hallspannung wird vom Rotorpol 535 erzeugt. Er beginnt
bei etwa 170° el., endet bei etwa 370° el., und ist zu lang.
Der Teil 536' wird vom Rotorpol 536 erzeugt und erstreckt sich von etwa
370° el. bis etwa 550° el., hat also zwar die richtige Länge, aber nicht die
richtige Phasenlage.
Der Teil 537' wird vom Rotorpol 537 erzeugt und erstreckt sich von etwa
550° el. bis 720° el., ist also etwas zu kurz. 720° el. entspricht bei diesem
Motor wieder 0° el., weil sich der Rotor 39 dann einmal voll gedreht hat,
und der Spannungsverlauf wiederholt sich dann, was in Fig. 18A bei
534'A angedeutet ist.
Fig. 18B zeigt das zugehörige Signal HALL, welches ein Spiegelbild der
eben erläuterten Magnetisierungsfehler ist, d. h. sein erster Abschnitt 534"
ist zu kurz, sein zweiter Abschnitt 535" ist zu lang, sein dritter Abschnitt
536" ist phasenverschoben, und sein vierter Abschnitt 537" ist zu kurz.
Nach dem Winkel 720° el. beginnt ein Abschnitt 534"A, der - bei
konstanter Drehzahl - dem Abschnitt 534" entspricht.
Die Abschnitte 534" und 537" täuschen also eine zu hohe Drehzahl vor,
und der Abschnitt 535" eine zu niedrige Drehzahl.
Wird der Abschnitt 534" verwendet, um die Zeit t_TI für den Abschnitt 536"
zu berechnen, wie das bei dem vorhergehenden Ausführungsbeispiel
erläutert wurde, so wird im Abschnitt 536" zu früh kommutiert.
Wird der Abschnitt 535" verwendet, um die Zeit t_TI für den Abschnitt 537"
zu berechnen, so wird dort zu spät kommutiert.
Dies kann zu einem unregelmäßigen Lauf des Motors und zu erhöhten
Motorgeräuschen führen.
Deshalb wird nach der Erfindung bevorzugt die Hall-Länge eines
Abschnitts des Signals HALL dazu verwendet, um die Zeit t_TI für den
eine Rotorumdrehung späteren Abschnitt zu berechnen, wie das in Fig. 5
mit den Bezugszeichen 304, 306, 308 für einen vierpoligen Rotor
symbolisch an einem Beispiel dargestellt ist. Z. B. wird in Fig. 18B die
Hall-Länge t_HN des Abschnitts 534" dazu verwendet, um die Zeit t_TI für
den Abschnitt 534"A zu berechnen, wie das symbolisch und beispielhaft
bei 542, 544, 546 dargestellt ist. Dann treten diese Fehler nicht auf, denn
bei konstanter Drehzahl sind z. B. die Abschnitte 534" und 534"A
identisch, so daß sich Fehler nicht addieren können.
Fig. 19 zeigt eine entsprechende geänderte Zündwinkelberechnungs
routine für die Kommutierung mit Zündwinkelverschiebung, wobei in der
beschriebenen bevorzugten Weise eine Kompensation der
Magnetisierungsfehler des Rotors 39 stattfindet. Alle Teile, die bereits in
Fig. 9 vorgekommen sind, erhalten die gleichen Bezugszeichen wie dort
und werden deshalb nicht nochmals beschrieben. Der Leser wird auf die
dortige Beschreibung verwiesen.
Im Schritt 268' werden anstatt der direkten Berechnung des
Timerstartwerts t_TI (vgl. S268 in Fig. 9) zwei Variablen t_4 und t_3
zusätzlich verwendet, um die berechneten Timerstartwerte t_TI
zwischenzuspeichern. Dem für die folgende Halllzeit t_HN verwendeten
Timer Startwert t_TI wird der aus der Hall-Länge t_HN-4 berechnete
Timerstartwert t_4 zugeordnet.
Anschließend werden die berechneten Timerstartwerte verschoben, so
daß sie für die nächste Zündwinkelberechnung in der richtigen Variablen
stehen. Der Wert t_3, der aus der Hall-Länge t_HN-3 berechnet wurde, wird
nach t_4 verschoben, und der in der aktuellen Zündwinkelberechnung
berechnete Timer Startwert (t_H - t_ZW), wird in t_3 gespeichert. (Hierbei
ist t_H die Hall-Länge t_HN-2).
Weiterhin ist der Schritt S267 neu eingefügt. Die Speichervariablen t_4
und t_3 werden beim Ausschalten der Zündwinkelverschiebung (in S266:
SZW: = 0) auf den Wert 50.000 gesetzt, damit sie einen definierten
Zustand haben.
Fig. 20 zeigt eine beispielhafte Hall-Interruptroutine für eine
erfindungsgemäße Kommutierung ohne Zündwinkelverschiebung, wie sie
in Fig. 4 dargestellt ist. Bei jedem Hall-Interrupt (Y in Fig. 4) wird das
gerade ablaufende Programm unterbrochen, die sogenannte Umgebung
des µC 11 (z. B. der Stapelzeiger [stack pointer] und die Register) wird
abgespeichert, und die zu dem Interrupt gehörige Interrupt-Routine wird
aufgerufen. Wenn die Interrupt-Routine abgearbeitet ist, gibt sie einen
Befehl RETI (Return From Interrupt). Daraufhin wird die Umgebung des µC
11 so, wie sie vor dem Interrupt war, wieder hergestellt, und das
unterbrochene Programm arbeitet weiter.
In diesem Ausführungsbeispiel wird für die Messung der Hall-Länge HL
(Fig. 4) ebenfalls der 16 Bit-Timer CNT_HL verwendet, der, beginnend bei
einem vorgegebenen Startwert, fortlaufend herunterzählt und beim
Erreichen von 0, wenn die Zählung fortgesetzt wird, wieder auf seinen
maximalen Wert springt, sich also wie ein Ringz ähler verhält. Dieser Timer
ist auch hier Bestandteil des µC 11. Die Hall-Länge HL kann hier z. B. für
eine Drehzahlregelung verwendet werden.
In S702 wird die Ist-Hall-Länge HL (vgl. Fig. 4) bestimmt. Ein aktueller
Timerwert t_E (Fig. 4) wird aus dem Timer CNT_HL ausgelesen, und
durch die Subtraktion eines gespeicherten "alten" Timerwerts t_O (Fig. 4:
Der Zeitpunkt des vorhergehenden Timer-Interrupts Y) wird die Hall-
Länge HL berechnet. Hierzu wird t_E - t_O berechnet und von dem
Ergebnis das Zweierkomplement gebildet. So erhält man immer die
korrekte Zählerdifferenz, falls der Zähler nicht mehr als die Hälfte seines
maximalen Werts weitergelaufen ist.
Daraufhin wird der aktuelle Timerwert t_E in t_O gespeichert (S702). Die
Auflösung des in diesem Ausführungsbeispiels verwendeten Timers
CNT_HL ist 1 µs, die Hall-Länge HL liegt also in µs vor.
Ist z. B. t_O = 45000 und t_E = 35000, so erhält man eine Hall-Länge HL =
(45000 - 35000) = 10000, was 10000 µs entspricht.
In den folgenden Schritten wird die Kommutierung ausgeführt. In S704
wird geprüft, ob HALL = 1 (HIGH) ist. Ist HALL = : 1, so wird in S710 OUT2
auf LOW gesetzt. Jetzt sind OUT1 und OUT2 auf LOW, und in S712 wird
eine zeitliche Kommutierungslücke eingefügt, um bei der Kommutierung
einen Kurzschluß in der Brückenschaltung 37 zu verhindern. Die
Kommutierungslücke hat z. B. eine Dauer von 50 µs. In S714 wird OUT1
auf HIGH gesetzt. In S716 wird schließlich der Port Hall des µC 11
konfiguriert, bei welcher Flanke er einen Hall-Interrupt HALL_INT
auslösen soll. Die Flanke kann entweder so eingestellt werden, daß bei
dem Übergang HIGH nach LOW (fallende Flanke) ein Interrupt ausgelöst
wird, oder aber bei dem Übergang von LOW nach HIGH (steigende
Flanke). Da in dem Zweig S710 bis S716 das Hall-Signal auf HIGH ist,
muß der Port HALL auf einen Interrupt bei fallender Flanke, also HIGH
nach LOW eingestellt werden, damit beim nächsten Hall-Wechsel wieder
ein Hall-Interrupt ausgelöst wird. Dies geschieht in S716.
Ist in S704 HALL = 0 (LOW), so geschieht in S720, S722, S724 analog
die umgekehrte Kommutierung, und bei S726 das umgekehrte Setzen
von HALL_INT. - In S730 wird die Hall-Interruptroutine gemäß Fig. 20
verlassen.
Fig. 21 zeigt schematisch den Ablauf der Kommutierung bei
n < 300 U/min. z. B. bei 2.000 U/min. also mit Zündwinkelverschiebung.
Bei Fig. 21A ist das Rotorstellungssignal HALL dargestellt, das jeweils an
den Stellen HN, HN+1, HN+2 einen rotorstellungsabhängigen Interrupt (Fig.
8) auslöst, also einen Hall-Interrupt, wie in Fig. 4 bei Y angegeben.
Beginnend beim Hall-Interrupt HN wird durch den Timer CNT_HL die Zeit
t_TI gemessen, die nach der Gleichung (6) aus den Werten t_HN und
t_ZW berechnet wurde. Der Wert t_ZW kann, wie bereits angegeben, über
den Bus 30 geändert werden.
Zum Zeitpunkt TN+1 erreicht der Timer CNT_HL den Wert 0 und löst eine
Motorsteuerungs-Interruptroutine gemäß Fig. 10 aus, also einen Timer-
Interrupt.
Gemäß S310 in Fig. 10 werden zum Zeitpunkt TN+1 die Signale OUT2 (Fig.
21 B) und OUT1 (Fig. 21C) beide zu Null gemacht, d. h. die Wicklung 38
wird von der Stromzufuhr getrennt, und nach einer Kommutierungslücke
t_G (bewirkt durch die Programmschritte S312, S314, S316) wird bei
S322 das Signal OUT1 auf HIGH gesetzt, da HALL = 1 ist, während OUT2
auf LOW bleibt, wie im Schritt S310 gespeichert. OUT1 = HIGH bedeutet,
daß in Fig. 1 die Transistoren 141 und 144 leitend werden.
Ebenso werden zum Zeitpunkt TN+2 durch den Schritt S310 der Routine
gemäß Fig. 10 die beiden Signale OUT1 und OUT2 auf LOW gesetzt, und
anschließend wird nach der Kommutierungslücke t_G der Wert OUT2 auf
HIGH gesetzt, da HALL = 0 ist, vgl. die Schritte S318, S322 der Fig. 10,
während der Wert OUT1 den Wert LOW beibehält, der im Schritt S310
gespeichert wurde. Dadurch werden in Fig. 1 die Transistoren 142 und
143 leitend.
Fig. 22 zeigt unten das Signal HALL, und oben den Strom i_M (Fig. 1) in
der einzigen Statorwicklung 38. Bei Fig. 22 ist die Zündwinkel
verschiebung ausgeschaltet, d. h. t_ZW = 0. Man erkennt, daß sich nach
einer Kommutierung zum Zeitpunkt HN (Änderung des Signals HALL) der
Strom i_M nur langsam ändert. Er erreicht deshalb in diesem Fall nur eine
niedrige Amplitude, d. h. der Motor M erzeugt nur eine niedrige Leistung.
Fig. 23 zeigt wieder unten das Signal HALL, und darüber den Strom i_M
(Fig. 1), aber mit verfrühter Kommutierung ("Frühzündung"), d. h. der Strom
i_M wird um die Zeit t_ZW früher als der Hallwechsel HN kommutiert. Man
erkennt deutlich, daß sich der Strom i_M nach der Kommutierung sofort
sehr rasch ändert und eine wesentlich höhere Amplitude erreicht als bei
Fig. 22, d. h. der Motor M erzeugt in diesem Fall eine höhere Leistung und
kann deshalb eine höhere Drehzahl erreichen. Die Kommutierung liegt
bei Fig. 23 etwa 15° el. vor einem Wechsel des Signals HALL.
Es folgt eine Tabelle mit typischen Beispielen für die Werte der
verwendeten Bauteile:
Kondensatoren: | |
135 | 1,5 nF |
127, 152 | 10 nF |
99, 110, 166, 167 | 33 nF |
154 | 100 nl |
Tantalkondensator 124 | 3,3 µF |
AL=L<Widerstände: | |
140 | 3 Ω |
162, 163 | 47 Ω |
153, 155 | 1 Ω |
133, 136 | 2,2 Ω |
106 | 3,3 Ω |
164, 165 | 4,7 Ω |
123, 131, 132 | 10 Ω |
172, 173 | 22 Ω |
114, 126 | 33 Ω |
134 | 47 Ω |
101, 112, 128, 169 | 100 Ω |
npn-Transistor 150 | BC846 |
pnp-Transistor 168 | BC856B |
Komparatoren 108, 120, 130 | LM2901D |
Hallsensor 40 | HW101A |
EEPROM 26 | 2-Wire Serial CMOS EEPROM AT24C01A (ATMEL) |
Mikrocontroller 11 | COP842CJ (Nat. Semicond.) |
Claims (25)
1. Elektronisch kommutierter Motor
mit einem Stator, einem Rotor (39), und mit einem zur Steuerung der Kommutierung des Motors dienenden programmgesteuerten Mikroprozessor oder Mikrocontroller (11), im folgenden Mikroprozessor genannt,
mit einer Vorrichtung zur Erfassung einer der Drehzahl des Rotors (39) im wesentlichen umgekehrt proportionalen Zeitgröße (t_H),
mit einer Vorrichtung zur Berechnung einer von dieser Zeitgröße (t_H) abhängigen Zeit (t_TI),
mit einer Vorrichtung zur Auslösung einer Motorsteuerungs-Interruptroutine (Fig. 10) in einem zeitlichen Abstand (t_TI) von einer vorgegebenen Rotorstellung, welcher Abstand der von der erfaßten Zeitgröße (t_H) abhängigen Zeit (t_TI) entspricht,
wobei diese Motorsteuerungs-Interruptroutine Programmschritte (S310, S318, S320, S322) zum Bewirken einer Kommutierung des Motors enthält.
mit einem Stator, einem Rotor (39), und mit einem zur Steuerung der Kommutierung des Motors dienenden programmgesteuerten Mikroprozessor oder Mikrocontroller (11), im folgenden Mikroprozessor genannt,
mit einer Vorrichtung zur Erfassung einer der Drehzahl des Rotors (39) im wesentlichen umgekehrt proportionalen Zeitgröße (t_H),
mit einer Vorrichtung zur Berechnung einer von dieser Zeitgröße (t_H) abhängigen Zeit (t_TI),
mit einer Vorrichtung zur Auslösung einer Motorsteuerungs-Interruptroutine (Fig. 10) in einem zeitlichen Abstand (t_TI) von einer vorgegebenen Rotorstellung, welcher Abstand der von der erfaßten Zeitgröße (t_H) abhängigen Zeit (t_TI) entspricht,
wobei diese Motorsteuerungs-Interruptroutine Programmschritte (S310, S318, S320, S322) zum Bewirken einer Kommutierung des Motors enthält.
2. Motor nach Anspruch 1, bei welchem die Motorsteuerungs-Interruptroutine
(Fig. 10) Programmschritte (S304, S306) enthält, welche das Bewirken einer
Kommutierung verhindern, wenn die von der erfaßten Zeitgröße abhängige
Zeit (t_TI) größer ist als eine Zeitspanne (t_H), die der Rotor (39) aktuell zum
Durchlaufen eines vorgegebenen Winkelwegs benötigt.
3. Motor nach Anspruch 2, mit einer Vorrichtung, welche an vorgegebenen
Rotorstellungen eine rotorstellungsabhängige Interruptroutine (Fig. 8) auslöst.
4. Motor nach Anspruch 3, bei welchem zur Erfassung der der Drehzahl des
Rotors im wesentlichen umgekehrt proportionalen Zeitgröße ein von den
rotorstellungsabhängigen Interruptroutinen (Fig. 8) steuerbarer Timer
(CNT_HL) vorgesehen ist.
5. Motor nach Anspruch 4, bei welchem der Timer (CNT_HL) auch zur
Auslösung einer Motorsteuerungs-Interruptroutine (Fig. 10) ausgebildet ist.
6. Motor nach Anspruch 5, bei welchem der Timer (CNT_HL) während eines
rotorstellungsabhängigen Interrupts (Fig. 8) mit einem ersten vorgegebenen
Zählwert (t_B) ladbar ist, welcher dem von der erfaßten Zeitgröße (t_H)
abhängigen zeitlichen Abstand (t_TI) entspricht,
und welcher nach Zählen dieses ersten vorgegebenen Zählwerts einen
Motorsteuerungs-Interrupt (Fig. 10) bewirkt.
7. Motor nach einem oder mehreren der vorhergehenden Ansprüche, bei
welchem ein rotorstellungsabhängiger Interrupt (Fig. 8) eine höhere Priorität
hat als ein Motorsteuerungs-Interrupt (Fig. 10).
8. Motor nach einem oder mehreren der Ansprüche 4 bis 7, bei welchem der
Timer (CNT_HL) während eines Motorsteuerungs-lnterrupts (Fig. 10: S302)
mit einem vorgegebenen Zählwert (t_AR) ladbar ist,
und im Anschluß an diesen Ladevorgang eine Zählung bis zum nächsten
rotorstellungsabhängigen Interrupt (Fig. 8) erfolgt, um durch Bildung der
Differenz zwischen dem vorgegebenen Zählwert (t_AR) und dem Zählerstand
(t_E) bei Erreichen des nächsten rotorstellungsabhängigen Interrupts (Fig. 8)
einen zeitlichen Abstand (Fig. 7A: t_1) zwischen diesen Interruptvorgängen zu
ermitteln.
9. Motor nach Anspruch 8, bei welchem zum Laden des vorgegebenen
Zählwerts (t_AR) ein Autoreload-Register (AR) vorgesehen ist, welches den
ersten vorgegebenen Zählwert (t_TI) speichert und dem Timer (CNT_HL)
während des Motorsteuerungs-Interrupts (Fig. 10) als vorgegebenen Zählwert
zuführt.
10. Verfahren zur drehzahlabhängigen Kommutierung eines elektronisch
kommutierten Motors, welcher einen Stator und einen Rotor aufweist, ferner
einen zur Steuerung seiner Kommutierung dienenden programmgesteuerten
Mikroprozessor oder Mikrocontroller, im folgenden Mikroprozessor genannt,
mit folgenden Schritten:
- a) eine zur Drehzahl des Rotors im wesentlichen umgekehrt proportionale Zeitgröße (t_H) wird ermittelt;
- b) aus dieser Zeitgröße (t_H) wird nach einer vorgegebenen Rechenregel ein Zahlenwert (t_TI) errechnet;
- c) beginnend bei einer vorgegebenen ersten Rotorstellung wird eine diesem errechneten Zahlenwert entsprechende erste Zeit gemessen;
- d) nach Ablauf dieser ersten Zeit wird eine Kommutierung (TN) ausgelöst;
- e) im Anschluß hieran wird bis zum Erreichen einer vorgegebenen zweiten Rotorstellung eine zweite Zeit (t_1) gemessen;
- f) erste und zweite Zeit werden addiert, und ihre Summe wird, ggf. durch mindestens einen Korrekturfaktor korrigiert, als eine zur Drehzahl des Motors im wesentlichen umgekehrt proportionale Zeitgröße (t_H) verwendet.
11. Verfahren nach Anspruch 10, bei welchem die vorgegebene Rechenregel
einen Subtraktionsschritt aufweist, bei welchem von der zur Drehzahl des
Rotors im wesentlichen umgekehrt proportionalen Zeitgröße (t_H) eine
vorgegebene Zeit (t_ZW) subtrahiert wird.
12. Verfahren nach Anspruch 10 oder 11, bei welchem dann, wenn die dem
errechneten Zahlenwert (t_TI) entsprechende erste Zeit größer ist als der
zeitliche Abstand zwischen der vorgegebenen ersten Rotorstellung und der
vorgegebenen zweiten Rotorstellung, der zeitliche Abstand zwischen diesen
beiden Rotorstellungen direkt erfaßt und als eine zur Drehzahl des Motors im
wesentlichen umgekehrt proportionale Zeitgröße (t_H) verwendet wird
(S256).
13. Verfahren nach einem oder mehreren der Ansprüche 10 bis 12, bei welchem
die zur Drehzahl des Motors im wesentlichen umgekehrt proportionale Zeitgröße (t_H) mit einem einer Mindestdrehzahl entsprechenden vorgegebenen Wert (t_SZW) verglichen wird (Fig. 9: S264), ein dem Vergleichsresultat entsprechender logischer Wert (SZW) zwischengespeichert wird (Fig. 9: S266), und bei einem vorgegebenen Wert dieses logischen Werts (SZW) die nach Ablauf der ersten Zeit (t_TI) erfolgende Auslösung einer Kommutierung unterdrückt wird (Fig. 10: S304, S306).
die zur Drehzahl des Motors im wesentlichen umgekehrt proportionale Zeitgröße (t_H) mit einem einer Mindestdrehzahl entsprechenden vorgegebenen Wert (t_SZW) verglichen wird (Fig. 9: S264), ein dem Vergleichsresultat entsprechender logischer Wert (SZW) zwischengespeichert wird (Fig. 9: S266), und bei einem vorgegebenen Wert dieses logischen Werts (SZW) die nach Ablauf der ersten Zeit (t_TI) erfolgende Auslösung einer Kommutierung unterdrückt wird (Fig. 10: S304, S306).
14. Verfahren nach einem oder mehreren der Ansprüche 10 bis 13, bei welchem
bei Erreichen einer vorgegebenen Rotorstellung ein rotorstellungsabhängiger
Interrupt mit einer Interruptroutine (Fig. 8A, 8B) ausgeführt wird, zu deren
Beginn ein zur Zeitmessung dienender Timer (CNT_HL) angehalten (S202)
und sein augenblicklicher Wert in einer Variablen (t_E) gespeichert wird.
15. Verfahren nach Anspruch 14, bei welchem in der rotorstellungsabhängigen
Interruptroutine der zur Zeitmessung dienende Timer (CNT_HL) zeitlich nach
seinem Anhalten (S202) mit einem zuvor nach der vorgegebenen
Rechenregel berechneten Zahlenwert (t_TI) geladen und dann gestartet wird
(Fig. 8B: S238).
16. Verfahren nach Anspruch 14 und 15, bei welchem die Zeitspanne zwischen
dem Anhalten des zur Zeitmessung dienenden Timers (CNT_HL) und seinem
Starten als Korrekturfaktor (t_CORR) verwendet wird, wenn die zur Drehzahl
des Motors im wesentlichen umgekehrt proportionale Zeitgröße (t_H) ermittelt
wird.
17. Verfahren nach einem oder mehreren der Ansprüche 10 bis 16, bei welchem
die dem errechneten Zahlenwert (t_TI) entsprechende erste Zeit, welche ab
einer vorgegebenen ersten Rotorstellung gemessen wird, aus einer der
Drehzahl des Rotors im wesentlichen umgekehrt proportionalen Zeitgröße
errechnet wird, welche etwa eine Rotorumdrehung vor dem Zeitpunkt ermittelt
wurde, an dem die aktuelle Messung der ersten Zeit erfolgt (Fig. 18: 542, 544,
546).
18. Verfahren nach einem oder mehreren der Ansprüche 10 bis 17, bei welchem
mindestens ein nicht zeitkritischer Verfahrensschritt als Unterroutine (Fig. 9)
ausgebildet ist, welche im Programmablauf aufgerufen wird, wenn
Prozessorzeit verfügbar ist (Fig. 15).
19. Verfahren nach Anspruch 18, bei welchem die Berechnung der zur Drehzahl
des Motors im wesentlichen umgekehrt proportionalen Zeitgröße (t_H) und
die Berechnung des der Messung der ersten Zeit zugrundeliegenden
Zahlenwerts (t_TI) in einer solchen Unterroutine (Fig. 9) erfolgen.
20. Verfahren nach einem oder mehreren der Ansprüche 10 bis 19, bei welchem
mindestens ein für Berechnungen erforderlicher Parameter (t_ZW) aus einem
dem Motor zugeordneten nichtflüchtigen Speicher (26) in ein RAM (25) des
Mikroprozessors (11) geladen wird.
21. Verfahren nach Anspruch 20, bei welchem dem nichtflüchtigen Speicher (26)
ein Bus (30) zugeordnet ist, über welchen mindestens ein Parameter im
nichtflüchtigen Speicher (26) veränderbar ist.
22. Elektronisch kommutierter Motor mit einem Stator, einem Rotor (39), und mit
einem zur Steuerung der Kommutierung des Motors (M) dienenden
programmgesteuerten Mikroprozessor oder Mikrocontroller (11), im folgenden
Mikroprozessor genannt,
wobei bei mindestens einer vorgegebenen Rotorstellung ein Timer (CNT_HL)
mit einem vorgegebenen Startwert (t_TI) gestartet wird, welcher Timer
(CNT_HL) nach Ablauf einer von dem Startwert (t_TI) abhängigen Zeit einen
Interrupt (Fig. 10) im Programm des Mikroprozessors (11) auslöst, während
dessen eine Kommutierung (Fig. 10: S318, S320, S322) des Motors (M)
erfolgt.
23. Motor nach Anspruch 22, bei welchem der Startwert (t_TI) des Timers
(CNT_HL) eine Funktion einer drehzahlabhängigen Zeit (t_H) ist, die der
Rotor (39) in einem dieser Kommutierung vorausgehenden Zeitbereich für
seine Drehung um einen vorgegebenen Drehwinkel benötigt hat.
24. Motor nach Anspruch 23, bei welchem zur Berechnung des Startwerts (t_TI)
eine vorgegebene Zeit (t_ZW) von der drehzahlabhängigen Zeit (t_H)
subtrahiert wird.
25. Verfahren zur Bestimmung einer drehzahlabhängigen Größe bei einem
elektronisch kommutierten Motor (M), welcher einen Stator, einen
permanentmagnetischen Rotor (39), einen von diesem Rotor gesteuerten
galvanomagnetischen Sensor (40), einen Mikroprozessor oder
Mikrocontroller (11), im folgenden Mikroprozessor genannt, ein diesem
Mikroprozessor zugeordnetes Steuerprogramm, und einen Timer (CNT_HL)
aufweist, mit folgenden Schritten:
- a) Das Ausgangssignal des galvanomagnetischen Sensors (40) wird in ein rechteckförmiges Signal (HALL) umgeformt;
- b) vorgegebene Signaländerungen des rechteckförmigen Signals (HALL) werden vom Mikroprozessor erfaßt und durch das Steuerprogramm jeweils in einen rotorstellungsabhängigen Interrupt (Fig. 4: Y) umgesetzt;
- c) bei einem rotorstellungsabhängigen Interrupt (Y) wird ein erster Zählerstand (Fig. 4: t_0) des Timers festgehalten;
- d) bei einem darauffolgenden rotorstellungsabhängigen Interrupt (Y) wird ein zweiter Zählerstand (t_E) des Timers festgehalten;
- e) aus der Differenz der beiden Zählerstände (t_0, t_E) wird als drehzahlabhängige Größe ein Wert (Fig. 4: HL) ermittelt, welcher der Zeit entspricht, die der Rotor (39) für das Durchlaufen eines vorgegebenen Drehwinkels benötigt (Fig. 4, Fig. 20).
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19845626A DE19845626A1 (de) | 1998-10-05 | 1998-10-05 | Elektronisch kommutierter Motor |
JP2000575211A JP4618890B2 (ja) | 1998-10-05 | 1999-07-23 | 電子コミュテーション式モータ |
DE1999511247 DE59911247D1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
AU52870/99A AU5287099A (en) | 1998-10-05 | 1999-07-23 | Electronically commutated motor |
PCT/EP1999/005282 WO2000021189A1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
CA002346118A CA2346118C (en) | 1998-10-05 | 1999-07-23 | Electronically commutated motor |
US09/806,619 US7230400B1 (en) | 1998-10-05 | 1999-07-23 | Electronically commutated motor |
AT99938328T ATE284580T1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
EP99938328A EP1118152B1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19845626A DE19845626A1 (de) | 1998-10-05 | 1998-10-05 | Elektronisch kommutierter Motor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19845626A1 true DE19845626A1 (de) | 2000-04-06 |
Family
ID=7883319
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19845626A Withdrawn DE19845626A1 (de) | 1998-10-05 | 1998-10-05 | Elektronisch kommutierter Motor |
DE1999511247 Expired - Lifetime DE59911247D1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999511247 Expired - Lifetime DE59911247D1 (de) | 1998-10-05 | 1999-07-23 | Elektronisch kommutierter motor |
Country Status (8)
Country | Link |
---|---|
US (1) | US7230400B1 (de) |
EP (1) | EP1118152B1 (de) |
JP (1) | JP4618890B2 (de) |
AT (1) | ATE284580T1 (de) |
AU (1) | AU5287099A (de) |
CA (1) | CA2346118C (de) |
DE (2) | DE19845626A1 (de) |
WO (1) | WO2000021189A1 (de) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002054577A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co Kg | Verfahren zum regein einer physikalischen grösse bei einem elektronisch kommutierten motor, und motor zur durchführung eines solchen vergahrens |
WO2002054578A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co Kg | Verfahren zum steuern der kommutierung eines elektronisch kommutierten motors |
WO2002054576A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co. Kg | Elektronisch kommutierter gleichstrommotor |
EP1295386A1 (de) * | 2000-04-21 | 2003-03-26 | NMB (USA), Inc. | Ansteuerschaltung für einen bürstenlosen gleichstrommotor |
WO2003052920A1 (de) * | 2001-12-15 | 2003-06-26 | Papst-Motoren Gmbh & Co Kg | Verfahren zur verarbeitung von daten bei einem elektronisch kommutierten motor, und motor zur durchführung eines solchen verfahrens |
WO2006097393A1 (de) * | 2005-03-17 | 2006-09-21 | Pierburg Gmbh | Elektrisch kommutierter motor und verfahren zu seiner steuerung |
DE102010060186A1 (de) | 2010-10-26 | 2012-04-26 | Clean Mobile Ag | Motorsteuerschaltung und Verfahren zum Ansteuern eines Elektromotors |
EP4096087A1 (de) * | 2021-05-27 | 2022-11-30 | Hilti Aktiengesellschaft | Elektrische antriebseinheit für eine handwerkzeugmaschine |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10152170A1 (de) * | 2001-10-23 | 2003-04-30 | Bosch Gmbh Robert | Schaltungsanordnung zum Betreiben eines Elektromotors |
US8368331B2 (en) * | 2008-08-29 | 2013-02-05 | Rbc Manufacturing Corporation | Methods and apparatus for monitoring average current and input power in an electronically commutated motor |
US8049456B2 (en) * | 2008-08-29 | 2011-11-01 | Nidec Motor Corporation | Dynamoelectric machine assemblies operable with serial communication signals and PWM control signals |
EP2596893A1 (de) | 2011-11-25 | 2013-05-29 | Klingelnberg AG | Semi-Completing-Wälzschälverfahren mit zwei Achskreuzwinkeln und Verwendung eines entsprechenden Wälzschälwerkzeugs zum Semi-Completing-Wälzschälen |
US9300235B2 (en) * | 2013-03-27 | 2016-03-29 | Allegro Microsystems, Llc | System and method for serial communication by an electronic circuit |
WO2015045669A1 (ja) * | 2013-09-30 | 2015-04-02 | マブチモーター株式会社 | ブラシレスモータの位相制御回路、ブラシレスモータおよびブラシレスモータの位相制御方法 |
KR101655537B1 (ko) * | 2014-09-25 | 2016-09-07 | 현대자동차주식회사 | 홀센서를 이용한 모터의 위치 검출 및 속도 계산 방법 |
BR112019012981A2 (pt) * | 2016-12-21 | 2019-12-31 | Dana Automotive Systems Group | método para operar uma embreagem de unidade de acionamento final |
TWI763039B (zh) * | 2020-09-16 | 2022-05-01 | 茂達電子股份有限公司 | 馬達輸出穩定電路及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0505159A2 (de) * | 1990-09-10 | 1992-09-23 | Fujitsu Limited | System zum Steuern des elektrischen Winkels für einen bürstenlosen Gleichstrommotor |
EP0657989A1 (de) * | 1993-11-28 | 1995-06-14 | PAPST-MOTOREN GMBH & CO. KG | Verfahren zur Beeinflussung der Drehzahl eines kollektorlosen Gleichstrommotors, und kollektorloser Gleichstrommotor zu seiner Durchführung |
DE19519248A1 (de) * | 1994-11-21 | 1996-11-28 | Papst Motoren Gmbh & Co Kg | Verfahren zur Strombegrenzung bei einem Gleichstrommotor, und Gleichstrommotor zur Durchführung eines solchen Verfahrens |
US5590235A (en) * | 1993-12-03 | 1996-12-31 | Papst-Motoren Gmbh & Co. Kg | DC motor control with periodic reset |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3873897A (en) | 1972-05-25 | 1975-03-25 | Papst Motoren Kg | Collector-less D-C motor |
FR2244290A2 (en) | 1973-09-14 | 1975-04-11 | Papst Motoren Kg | Low power armatureless DC motor - has external rotor, Hall effect field sensor and non-linear rotor-stator space |
CH660264A5 (de) * | 1982-05-27 | 1987-03-31 | Papst Motoren Gmbh & Co Kg | Kollektorloser gleichstrommotor. |
JPS5969754A (ja) * | 1982-10-14 | 1984-04-20 | Fuji Photo Film Co Ltd | ハロゲン化銀カラ−感光材料 |
US4680515A (en) * | 1985-05-21 | 1987-07-14 | Crook James C | Digital speed control of motors |
US4748386A (en) * | 1985-09-20 | 1988-05-31 | Sanyo Electric Co., Ltd. | Controller of brushless DC motor |
US4743815A (en) | 1987-09-01 | 1988-05-10 | Emerson Electric Co. | Brushless permanent magnet motor system |
US4926099A (en) * | 1989-04-07 | 1990-05-15 | General Motors Corporation | Bimodal controller for a multi-phase brushless DC motor |
US5350988A (en) * | 1990-07-10 | 1994-09-27 | Alliedsignal, Inc. | Digital motor controller |
SE9002420L (sv) * | 1990-07-12 | 1992-01-13 | Skf Ab | Omriktare 3 |
NZ280025A (en) * | 1990-12-19 | 1997-12-19 | Fisher & Paykel | Speed control of multiphase electronically controlled motor |
NZ236543A (en) * | 1990-12-19 | 1995-11-27 | Fisher & Paykel | Electronic control of laundry machine motor for agitation |
DE4132881A1 (de) | 1991-10-03 | 1993-07-29 | Papst Motoren Gmbh & Co Kg | Ansteuerschaltung fuer buerstenlose gleichstrommotoren |
US6348752B1 (en) * | 1992-04-06 | 2002-02-19 | General Electric Company | Integral motor and control |
US5270622A (en) * | 1992-04-13 | 1993-12-14 | Smith & Nephew Dyonics, Inc. | Brushless motor control system |
US5285135A (en) | 1992-09-23 | 1994-02-08 | Sgs-Thomson Microelectronics, Inc. | Automatic adjustment of commutation delay for brushless DC motor for improved efficiency |
GB2305314B (en) * | 1992-11-19 | 1997-05-14 | Toshiba Kk | Electric motor control device |
US5486743A (en) | 1992-11-19 | 1996-01-23 | Kabushiki Kaisha Toshiba | Inverter and air conditioner controlled by the same |
JP3420317B2 (ja) * | 1993-12-24 | 2003-06-23 | 株式会社ミツバ | ブラシレスモータの進角制御方法 |
US6768279B1 (en) * | 1994-05-27 | 2004-07-27 | Emerson Electric Co. | Reprogrammable motor drive and control therefore |
JPH08223973A (ja) * | 1995-02-17 | 1996-08-30 | Fujitsu General Ltd | ブラシレスモータの制御方法 |
JP3550584B2 (ja) * | 1995-04-21 | 2004-08-04 | 正 深尾 | 電磁回転機械 |
US5847523A (en) | 1995-05-25 | 1998-12-08 | Papst-Motoren Gmbh & Co. Kg | Method of limiting current in a DC motor and DC motor system for implementing said method |
ATE190775T1 (de) * | 1995-09-29 | 2000-04-15 | Papst Motoren Gmbh & Co Kg | Elektronisch kommutierter aussenläufermotor |
WO1997025768A1 (de) | 1996-01-10 | 1997-07-17 | Papst-Motoren Gmbh & Co. Kg | Verfahren zum starten eines elektronisch kommutierten gleichstrommotors, und motor zur durchführung eines solchen verfahrens |
DE69713773T2 (de) * | 1997-10-08 | 2002-10-17 | St Microelectronics Srl | Synchronisation der geregelten und der gesteuerten Phasenansteuerung von Gleichstrommotoren |
US6104113A (en) * | 1998-05-14 | 2000-08-15 | General Electric Company | Coil assembly for sensorless rotor angular position control of single phase permanent magnet motor |
-
1998
- 1998-10-05 DE DE19845626A patent/DE19845626A1/de not_active Withdrawn
-
1999
- 1999-07-23 AU AU52870/99A patent/AU5287099A/en not_active Abandoned
- 1999-07-23 US US09/806,619 patent/US7230400B1/en not_active Expired - Lifetime
- 1999-07-23 JP JP2000575211A patent/JP4618890B2/ja not_active Expired - Fee Related
- 1999-07-23 CA CA002346118A patent/CA2346118C/en not_active Expired - Fee Related
- 1999-07-23 WO PCT/EP1999/005282 patent/WO2000021189A1/de active IP Right Grant
- 1999-07-23 EP EP99938328A patent/EP1118152B1/de not_active Expired - Lifetime
- 1999-07-23 DE DE1999511247 patent/DE59911247D1/de not_active Expired - Lifetime
- 1999-07-23 AT AT99938328T patent/ATE284580T1/de not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0505159A2 (de) * | 1990-09-10 | 1992-09-23 | Fujitsu Limited | System zum Steuern des elektrischen Winkels für einen bürstenlosen Gleichstrommotor |
EP0657989A1 (de) * | 1993-11-28 | 1995-06-14 | PAPST-MOTOREN GMBH & CO. KG | Verfahren zur Beeinflussung der Drehzahl eines kollektorlosen Gleichstrommotors, und kollektorloser Gleichstrommotor zu seiner Durchführung |
US5590235A (en) * | 1993-12-03 | 1996-12-31 | Papst-Motoren Gmbh & Co. Kg | DC motor control with periodic reset |
DE19519248A1 (de) * | 1994-11-21 | 1996-11-28 | Papst Motoren Gmbh & Co Kg | Verfahren zur Strombegrenzung bei einem Gleichstrommotor, und Gleichstrommotor zur Durchführung eines solchen Verfahrens |
Non-Patent Citations (1)
Title |
---|
BEIERKE,Stefan: Ein-Chip-Lösung für DSP- Motorsteuerungen. In: Elektronik 23/1996, S.96-98,100-102 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1295386A4 (de) * | 2000-04-21 | 2007-08-15 | Minebea Co Ltd | Ansteuerschaltung für einen bürstenlosen gleichstrommotor |
EP1295386A1 (de) * | 2000-04-21 | 2003-03-26 | NMB (USA), Inc. | Ansteuerschaltung für einen bürstenlosen gleichstrommotor |
WO2002054577A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co Kg | Verfahren zum regein einer physikalischen grösse bei einem elektronisch kommutierten motor, und motor zur durchführung eines solchen vergahrens |
WO2002054576A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co. Kg | Elektronisch kommutierter gleichstrommotor |
US6825627B2 (en) | 2000-12-28 | 2004-11-30 | Ebm-Papst St. Georgen Gmbh & Co. Kg | Method for controlling the commutation of an electronically commutated motor |
WO2002054578A1 (de) * | 2000-12-28 | 2002-07-11 | Papst-Motoren Gmbh & Co Kg | Verfahren zum steuern der kommutierung eines elektronisch kommutierten motors |
US6956343B2 (en) | 2000-12-28 | 2005-10-18 | Ebm-Papst St. Georgen Gmbh & Co. Kg | Method of controlling a physical variable in an electronically commutated motor, and motor for carrying out said method |
WO2003052920A1 (de) * | 2001-12-15 | 2003-06-26 | Papst-Motoren Gmbh & Co Kg | Verfahren zur verarbeitung von daten bei einem elektronisch kommutierten motor, und motor zur durchführung eines solchen verfahrens |
US6956340B2 (en) | 2001-12-15 | 2005-10-18 | Ebm-Papst St. Georgen Gmbh & Co. Kg | Method for processing data for an electronically commutated motor and motor for carrying out said method |
WO2006097393A1 (de) * | 2005-03-17 | 2006-09-21 | Pierburg Gmbh | Elektrisch kommutierter motor und verfahren zu seiner steuerung |
JP2008533968A (ja) * | 2005-03-17 | 2008-08-21 | ピエルブルク ゲーエムべーハー | 電気的整流モータおよびそのモータの制御方法 |
US7646159B2 (en) | 2005-03-17 | 2010-01-12 | Pierburg Gmbh | Electrically commutated motor and method for controlling said motor |
DE102010060186A1 (de) | 2010-10-26 | 2012-04-26 | Clean Mobile Ag | Motorsteuerschaltung und Verfahren zum Ansteuern eines Elektromotors |
EP4096087A1 (de) * | 2021-05-27 | 2022-11-30 | Hilti Aktiengesellschaft | Elektrische antriebseinheit für eine handwerkzeugmaschine |
WO2022248383A1 (de) * | 2021-05-27 | 2022-12-01 | Hilti Aktiengesellschaft | Elektrische antriebseinheit für eine handwerkzeugmaschine |
Also Published As
Publication number | Publication date |
---|---|
US7230400B1 (en) | 2007-06-12 |
CA2346118C (en) | 2009-08-18 |
ATE284580T1 (de) | 2004-12-15 |
JP2002528029A (ja) | 2002-08-27 |
EP1118152A1 (de) | 2001-07-25 |
WO2000021189A1 (de) | 2000-04-13 |
CA2346118A1 (en) | 2000-04-13 |
JP4618890B2 (ja) | 2011-01-26 |
EP1118152B1 (de) | 2004-12-08 |
AU5287099A (en) | 2000-04-26 |
DE59911247D1 (de) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1118152B1 (de) | Elektronisch kommutierter motor | |
EP1087232B1 (de) | Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens | |
EP0865681B1 (de) | Verfahren zum regeln einer physikalischen grösse, und anordnung zur durchführung eines solchen verfahrens | |
EP0657989B1 (de) | Verfahren zur Beeinflussung der Drehzahl eines kollektorlosen Gleichstrommotors, und kollektorloser Gleichstrommotor zu seiner Durchführung | |
EP1786093B1 (de) | Verfahren und Anordnung zur Kommutierung eines elektronisch kommutierten Motors | |
EP0744807B1 (de) | Verfahren zur Strombegrenzung bei einem Gleichstrommotor, und Gleichstrommotor zur Durchführung eines solchen Verfahrens | |
DE3044056C2 (de) | Zweipulsiger kollektorloser Gleichstrommotor | |
EP1471628B1 (de) | Elektronisch kommutierter Motor, und Verfahren zum Betreiben eines solchen | |
EP1253707B1 (de) | Verfahren zum Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens | |
EP1214602B1 (de) | Verfahren zur drehzahlregelung eines motors und motor zur durchführung eines solchen verfahrens | |
DE10026212A1 (de) | Verfahren zur Konfiguration der Alarmvorrichtung eines Elektromotors und Motor zur Durchführung eines solchen Verfahrens | |
DE102006052966A1 (de) | Verfahren und Anordnung zur Kommutierung eines elektronisch kommutierten Motors | |
EP1535388A1 (de) | Verfahren und Vorrichtung zur Drehzahlregelung eines mit Hilfsmoment arbeitenden zweipulsigen Motors | |
EP0741449A1 (de) | Elektronisch kommutierter Motor, und Verfahren zur Ansteuerung eines solchen Motors | |
DE19518991A1 (de) | Verfahren zum Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens | |
DE19517665A1 (de) | Elektronisch kommutierter Motor, und Verfahren zur Ansteuerung eines drei- oder mehrsträngigen, elektronisch kommutierten Motors | |
DE3607014A1 (de) | Schaltungsanordnung zur ansteuerung eines gleichstrommotors | |
EP0780962B1 (de) | Elektronisch kommutierter Motor | |
DE102022129284A1 (de) | Motorsteuerungsvorrichtung und motorsteuerungsverfahren | |
DE19515944A1 (de) | Verfahren zur Verbesserung des Wirkungsgrades eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8181 | Inventor (new situation) |
Free format text: DUFNER, THOMAS, DIPL.-ING., 78136 SCHONACH, DE HORNBERGER, JOERG, DIPL.-ING., 72280 DORNSTETTEN, DE JESKE, FRANK, DIPL.-ING., 78112 ST GEORGEN, DE KARWATH, ARNO, DIPL.-ING., 78628 ROTTWEIL, DE RAPPENDECKER, HERMANN, DIPL.-ING., 78147 VOEHRENBACH, DE |
|
8127 | New person/name/address of the applicant |
Owner name: EBM-PAPST ST. GEORGEN GMBH & CO. KG, 78112 ST. GEO |
|
8110 | Request for examination paragraph 44 | ||
R082 | Change of representative |
Representative=s name: RAIBLE, DEISSLER, LEHMANN PATENTANWAELTE PARTN, DE Representative=s name: RAIBLE, DEISSLER, LEHMANN PATENTANWAELTE PARTG, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |