[go: up one dir, main page]

DE102006052966A1 - Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value - Google Patents

Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value Download PDF

Info

Publication number
DE102006052966A1
DE102006052966A1 DE102006052966A DE102006052966A DE102006052966A1 DE 102006052966 A1 DE102006052966 A1 DE 102006052966A1 DE 102006052966 A DE102006052966 A DE 102006052966A DE 102006052966 A DE102006052966 A DE 102006052966A DE 102006052966 A1 DE102006052966 A1 DE 102006052966A1
Authority
DE
Germany
Prior art keywords
hcnt
value
motor current
commutation
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102006052966A
Other languages
German (de)
Inventor
Thomas Dufner
Frank Heller
Arno Karwarth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ebm Papst St Georgen GmbH and Co KG
Original Assignee
Ebm Papst St Georgen GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ebm Papst St Georgen GmbH and Co KG filed Critical Ebm Papst St Georgen GmbH and Co KG
Priority to DE102006052966A priority Critical patent/DE102006052966A1/en
Publication of DE102006052966A1 publication Critical patent/DE102006052966A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/15Controlling commutation time
    • H02P6/153Controlling commutation time wherein the commutation is advanced from position signals phase in function of the speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)

Abstract

The method involves determining a value of a current of an electronically commutated motor (120), after a change of rotor position signals, which are assigned to a pole change. A new commutation is executed after expiration of a preset time period after the pole change. Another value for the current is determined after a change of the signals, which take place on the new commutation. The value for the time period is changed based on the difference between the two values of the motor current to cause adjustment of the values for the motor current during an application of the changed value. An independent claim is also included for an electronically commutated motor with a permanent magnetic rotor.

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur Kommutierung eines elektronisch kommutierten Motors.The The invention relates to a method and an arrangement for commutation an electronically commutated motor.

Beim Betrieb von elektronisch kommutierten Motoren (ECM) können bei der Kommutierung Unsymmetrien auftreten, welche den Wirkungsgrad beeinflussen. Die Gründe hierfür kann man unterscheiden in statische Einflüsse und dynamische Einflüsse.At the Operation of electronically commutated motors (ECM) may be included the commutation imbalances occur, which increases the efficiency influence. The reasons therefor one can distinguish between static influences and dynamic influences.

Beispiele für statische Einflüsse sind Hallsensoren (oder sonstige Sensoren für die Rotorstellung), welche ungenau angeordnet sind; Permanentmagnete des Rotors, die unsymmetrisch magnetisiert oder montiert sind; Streuflüsse im Stator; Unsymmetrien des Motorstroms.Examples for static influences are Hall sensors (or other sensors for the rotor position), which are arranged inaccurately; Permanent magnets of the rotor, the unbalanced magnetized or mounted; Leakage flux in the stator; asymmetries of the motor current.

Beispiele für dynamische Einflüsse sind Drehzahlschwankungen durch externe Einflüsse, insbesondere Temperaturänderungen; Rotorschwingungen; Softwarejitter. Darunter versteht man kleine Zeitdifferenzen bei der Ausführung von Befehlen, die meist nur wenige Mikrosekunden betragen und zufallsbedingt auftreten, also nicht beeinflussbar sind.Examples for dynamic influences are speed fluctuations due to external influences, in particular temperature changes; Rotor vibration; Softwarejitter. By this one understands small time differences in the execution of commands, which are usually only a few microseconds and random occur, so are not influenced.

Es ist eine Aufgabe der Erfindung, ein neues Verfahren und eine neue Anordnung zur Kommutierung eines elektronisch kommutierten Motors bereit zu stellen.It It is an object of the invention, a new method and a new one Arrangement for commutating an electronically commutated motor to provide.

Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 und einen elektronisch kommutierten Motor nach Anspruch 20 gelöst.These The object is achieved by a method according to claim 1 and an electronic Commutated motor according to claim 20 solved.

Der Erfindung liegt die Erkenntnis zugrunde, dass statische und dynamische Einflüsse, also z.B. Fertigungstoleranzen bei der Herstellung eines ECM, sowie gewisse Randbedingungen und Betriebsparameter, zu Unsymmetrien des Motorstroms führen können. Ein Grundgedanke der Erfindung besteht nun darin, den Motorstrom eines ECM durch eine individualisierte Kommutierung derart zu beeinflussen, dass diese Unsymmetrien reduziert werden und somit der Wirkungsgrad des ECM verbessert wird. Die Erfindung ist hierbei nicht auf einen bestimmten Motorentyp beschränkt.Of the The invention is based on the finding that static and dynamic influences, ie e.g. Manufacturing tolerances in the manufacture of an ECM, as well as certain Boundary conditions and operating parameters, to asymmetries of the motor current being able to lead. One The basic idea of the invention is now to reduce the motor current To influence ECM by an individualized commutation such that these asymmetries are reduced and thus the efficiency of the ECM is improved. The invention is not limited to a particular Motor type limited.

Insbesondere wird die Aufgabe der vorliegenden Erfindung durch ein Verfahren gemäß Anspruch 1 gelöst. Dementsprechend wird eine Unsymmetrie im Motorstrom durch Bestimmung einer Abweichung ermittelt, welche eine Änderung des Motorstroms während der Drehung des Rotors des ECM angibt. In Abhängigkeit von der ermittelten Abweichung wird ein Offset-Wert ermittelt, der dazu geeignet ist, einen vorgegebenen Zeitpunkt für eine Kommutierung des Stators des ECM bei der Drehung des Rotors zu beeinflussen, um eine Symmetrierung des Motorstroms zu bewirken.Especially The object of the present invention is achieved by a method according to claim 1 solved. Accordingly, an imbalance in the motor current is determined by determination determines a deviation, which is a change of the motor current during the Rotation of the rotor of the ECM indicates. Depending on the determined Deviation, an offset value is determined which is suitable a given time for a commutation of the stator of the ECM during the rotation of the rotor to influence, in order to effect a symmetrization of the motor current.

Auf diese Weise können Unsymmetrien des Motorstroms eines ECM bei laufendem Motor korrigiert werden. Somit kann auf aufwändige Verfahren zur Kompensation von Fertigungstoleranzen nach der Herstellung verzichtet werden, und ungünstige Randbedingungen und Betriebsparameter können einfach und schnell ausgeglichen werden. Beispielsweise kann anstelle eines gebräuchlichen Wuchtens in eine Tasche des Rotors das billigere und schnellere Fräswuchten bei den Rotoren solcher ECM verwendet werden, da auch ein nicht optimales Fräsergebnis im Betrieb des ECM durch die erfindungsgemäße Stromsymmetrierung kompensiert wird.On this way you can Imbalances of the motor current of an ECM corrected with the engine running become. Thus can on elaborate Method for compensating manufacturing tolerances after production be waived, and unfavorable boundary conditions and operating parameters can be simple and be compensated quickly. For example, instead of a common Weighing into a pocket of the rotor the cheaper and faster Fräswuchten used in the rotors of such ECM, as well as a not optimal milling result compensated during operation of the ECM by the current balancing according to the invention becomes.

Die Aufgabe der vorliegenden Erfindung wird ebenfalls durch einen ECM gemäß Anspruch 20 gelöst.The Object of the present invention is also by an ECM according to claim 20 solved.

Weitere Einzelheiten und vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den im Folgenden beschriebenen und in den Zeichnungen dargestellten Ausführungsbeispielen. Es zeigt:Further Details and advantageous developments of the invention result from those described below and illustrated in the drawings Embodiments. It shows:

1 ein vereinfachtes Schaltbild einer Vorrichtung zur Symmetrierung des Motorstroms eines ECM gemäß einer bevorzugten Ausführungsform der Erfindung, 1 2 is a simplified circuit diagram of an apparatus for balancing the motor current of an ECM according to a preferred embodiment of the invention;

2 eine schematische Darstellung eines Verfahrens zur Kommutierung des ECM von 1 gemäß einer Ausführungsform der Erfindung, 2 a schematic representation of a method for commutation of the ECM of 1 according to an embodiment of the invention,

3A eine schematische Darstellung des Motorstroms des ECM der 1 bei einer Frühkommutierung, aber ohne Symmetrierung der Ströme, 3A a schematic representation of the motor current of the ECM the 1 at an early commutation, but without balancing the currents,

3B eine schematische Darstellung des Motorstroms des ECM von 1 bei einer Kommutierung gemäß einer Ausführungsform der Erfindung, also mit symmetrierten Strömen, 3B a schematic representation of the motor current of the ECM of 1 in a commutation according to an embodiment of the invention, ie with balanced currents,

4 ein Flussdiagramm eines Verfahrens zur Stromsymmetrierung des Motorstroms des ECM von 1 gemäß einer Ausführungsform der Erfindung, 4 a flowchart of a method for current balancing of the motor current of the ECM of 1 according to an embodiment of the invention,

5 eine schematische Darstellung des Ablaufs eines erfindungsgemäßen Verfahrens zur Stromsymmetrierung des Motorstroms des ECM von 1 gemäß einer Ausführungsform der Erfindung, 5 a schematic representation of the sequence of a method according to the invention for the current balancing of the motor current of the ECM of 1 according to an embodiment of the invention,

6 ein Flussdiagramm eines Verfahrens zur Durchführung einer Interrupt Service Routine gemäß einer Ausführungsform der Erfindung, 6 a flowchart of a method for performing an interrupt service routine according to an embodiment of the invention,

7 ein Flussdiagramm eines Verfahrens zur Bestimmung eines Kommutierungs-Offsets gemäß einer Ausführungsform der Erfindung, und 7 a flowchart of a method for determining a commutation offset according to an embodiment of the invention, and

8 ein Flussdiagramm eines Verfahrens zur Durchführung einer Frühkommutierung gemäß einer Ausführungsform der Erfindung. 8th a flowchart of a method for performing an early commutation according to an embodiment of the invention.

1 zeigt ein vereinfachtes Schaltbild, welches die prinzipielle Funktionsweise einer Vorrichtung 100 zum Betrieb eines ECM 120 gemäß der vorliegenden Erfindung illustriert. Die Vorrichtung 100 ist dazu ausgebildet, durch eine geeignete Kommutierung des ECM 120 eine Symmetrierung der im Motor fließenden Ströme zu bewirken zu bewirken, wie sie z.B. in 3A ohne Symmetrierung und in 3B mit Symmetrierung dargestellt sind. 1 shows a simplified circuit diagram showing the basic operation of a device 100 to operate an ECM 120 illustrated in accordance with the present invention. The device 100 is designed by a suitable commutation of the ECM 120 to effect a symmetrization of the currents flowing in the motor, as in eg 3A without symmetrization and in 3B are shown with symmetrization.

Der ECM 120 hat einen Rotor 124 und einen Stator 125 mit mindestens einem Strang 126. Der Rotor 124 ist beispielhaft als permanentmagnetischer Rotor mit zwei Magnetpolpaaren, also vier Magnetpolen 183, 186, 188, 189, dargestellt. Alternativ kann der Rotor 124 durch Zuführung von Strom erregt werden, so dass auf Permanentmagnete verzichtet werden kann. Der Stator 125 ist einsträngig dargestellt, d.h. mit einem einzigen Strang (Phase) 126. Ebenso wäre auch eine andere Strangzahl möglich. Der Strang 126 hat zwei Anschlüsse U und V, über die er mit der Endstufe 122 verbunden ist. Als einsträngiger Motor wird gewöhnlich ein Motor mit einem Reluktanz-Hilfsmoment verwendet, damit sich der Rotor beim Einschalten in einer Drehstellung befindet, aus der er sicher starten kann.The ECM 120 has a rotor 124 and a stator 125 with at least one strand 126 , The rotor 124 is exemplary as a permanent magnetic rotor with two magnetic pole pairs, so four magnetic poles 183 . 186 . 188 . 189 represented. Alternatively, the rotor 124 be energized by supplying current, so that can be dispensed with permanent magnets. The stator 125 is shown as single-stranded, ie with a single strand (phase) 126 , Likewise, another strand number would be possible. The strand 126 has two ports U and V, over which it connects to the power amp 122 connected is. As a single-stranded motor, a motor with a reluctance auxiliary torque is usually used to allow the rotor to be in a rotational position when it is turned on, from which it can safely start.

Die Endstufe 122 dient zur Beeinflussung des Motorstroms im Strang 126 und ist beispielhaft als Vollbrückenschaltung mit vier Halbleiterschaltern 192, 194, 196, 198 ausgebildet. Die Halbleiterschalter 192, 194 sind mit dem Anschluss U des Strangs 126 verbunden und bilden eine erste Halbbrücke. Der Anschluss V des Strangs 126 ist mit den Halbleiterschaltern 196, 198 verbunden, welche eine zweite Halbbrücke bilden.The final stage 122 serves to influence the motor current in the string 126 and is exemplary as a full bridge circuit with four semiconductor switches 192 . 194 . 196 . 198 educated. The semiconductor switches 192 . 194 are with the U terminal of the strand 126 connected and form a first half bridge. The connection V of the strand 126 is with the semiconductor switches 196 . 198 connected, which form a second half-bridge.

Eingangsseitig ist die Endstufe 122 mit einer Versorgungsspannung +UB verbunden. Ausgangsseitig ist die Endstufe 122 mit einem Knotenpunkt 160 verbunden. Dieser ist über einen Fußpunktwiderstand 150 mit Masse (GND) und über eine Leitung 165 mit einer Steuerung 130 (μC) verbunden. Der Fußpunktwiderstand 150 dient zur Messung des Motorstroms I_MEAS. Hierzu wird eine dem Motorstrom I_MEAS proportionale Spannung UI_MEAS am Fußpunktwiderstand 150 abgegriffen und einem A/D-Wandler 132 der Steuerung 130 zugeführt, welche daraus einen Wert für den Motorstrom I_MEAS ermittelt.Input side is the power amplifier 122 connected to a supply voltage + U B. The output side is the power amplifier 122 with a node 160 connected. This is about a footpoint resistance 150 with ground (GND) and via a line 165 with a controller 130 (μC) connected. The base point resistance 150 is used to measure the motor current I_MEAS. For this purpose, a voltage U I_MEAS proportional to the motor current I_MEAS is applied at the base point resistance 150 tapped and an A / D converter 132 the controller 130 supplied, which determines therefrom a value for the motor current I_MEAS.

Die Steuerung 130 ist eingangsseitig mit mindestens einem Rotorstellungssensor 140 verbunden und erhält von diesem ein Rotorstellungssignal 182 (HALL). Die Steuerung 130 erzeugt Kommutierungssignale 184 (HSL, HSR, LSL, LSR) für die Endstufe 122 in Abhängigkeit vom Rotorstellungssignal 182. Die Kommutierungssignale 184 werden den Halbleiterschaltern 192, 194, 196, 198 zugeführt, und bewirken dort Kommutierungsvorgänge. Diese liegen jeweils im Bereich der Stellen, an denen der Rotorstellungssensor 140 einen Polwechsel des Rotormagneten 124 erfasst. In 2 sind diese Stellen mit 261, 262, 263, 264 bezeichnet. Wie man sieht, liegt z.B. der Kommutierungsvorgang 252 etwas vor der Stelle 262, an der sich das Hallsignal 182 ändert und dadurch einen Polwechsel anzeigt, also eine bestimmte Drehstellung des Rotors 124.The control 130 is input side with at least one rotor position sensor 140 connected and receives from this a rotor position signal 182 (HALL). The control 130 generates commutation signals 184 (HSL, HSR, LSL, LSR) for the power amplifier 122 depending on the rotor position signal 182 , The commutation signals 184 become the semiconductor switches 192 . 194 . 196 . 198 supplied, and cause there Kommutierungsvorgänge. These lie in each case in the area where the rotor position sensor 140 a pole change of the rotor magnet 124 detected. In 2 are these posts with 261 . 262 . 263 . 264 designated. As you can see, for example, the commutation process 252 something in front of the place 262 , at which the Hall signal 182 changes and thereby indicates a pole change, so a certain rotational position of the rotor 124 ,

Gemäß einer bevorzugten Ausführungsform der Erfindung ist die Steuerung 130 dazu ausgebildet, die Kommutierungssignale 184 für die Endstufe 122 unter Verwendung einer Steuerroutine 176 (ADVANCE_COMMUT) derart zu erzeugen, dass eine Frühkommutierung des ECM 120 mit einem so genannten Zündwinkel, welcher die Phasenlage der Kommutierung beschreibt, bewirkt wird. Unter dem „Zündwinkel" versteht man den Beginn der Kommutierung, die bei einer Frühkommutierung nicht zum Zeitpunkt einer Änderung des Rotorstellungssignals, sondern zeitlich versetzt hierzu erfolgt. Ein Vorgabe-Zündwinkel wird z.B. bei einer Kalibrierung des ECM 120, beispielsweise einer Selbstkalibrierung, als Default-Zündwinkel bestimmt und von der Steuerung 130 in einem Speicher 131 gespeichert. (Der Begriff „Zündwinkel" ist wegen seiner Anschaulichkeit aus der Automobiltechnik übernommen worden, obwohl bei einem Elektromotor nichts „gezündet" wird.) Bei einem Motor 120, der im Betrieb eine etwa konstante Drehzahl hat, kann dieser Winkel in Form einer Vorgabezeit T_Default gespeichert werden.According to a preferred embodiment of the invention, the controller 130 adapted to the commutation signals 184 for the final stage 122 using a control routine 176 (ADVANCE_COMMUT) such that an early commutation of the ECM 120 with a so-called ignition angle, which describes the phase position of the commutation, is effected. The "ignition angle" is understood to mean the beginning of the commutation, which does not take place at an early commutation at the time of a change in the rotor position signal but at a time offset from it 120 , For example, a self-calibration, determined as the default ignition angle and the controller 130 in a store 131 saved. (The term "ignition angle" has been adopted because of its vividness in the automotive industry, although nothing is "ignited" in an electric motor.) In an engine 120 , which has an approximately constant speed in operation, this angle can be stored in the form of a default time T_Default.

Für jeden Kommutierungsvorgang der Endstufe 122 bestimmt die Steuerung 130 unter Verwendung einer Steuerroutine 178 (I_SYM) geeignete Offset-Werte zur individuellen Modifikation des Zündwinkels für jeden Polwechsel. Somit kann die Kommutierung bei jeder Änderung 261, 262, 263, 264 des Rotorstellungssignals 182 bzw. jedem Polwechsel am Rotorstellungssensor 140 mit einem separaten, individuellen Zündwinkel erfolgen, welcher unter Verwendung eines entsprechenden, zugeordneten Offset-Wertes aus dem Vorgabe-Zündwinkel ermittelt wird, vgl. S810 in 8. Dies ermöglicht eine Ansteuerung der Halbleiterschalter 192 bis 198 der Endstufe 122 derart, dass über geeignete Ein- bzw. Ausschaltzeiten eine Symmetrierung des Motorstroms erreicht wird, wie ein Vergleich von 3A (ohne Symmetrierung) mit 3B (mit Symmetrierung) zeigt.For each commutation process of the power amplifier 122 determines the control 130 using a control routine 178 (I_SYM) suitable offset values for the individual modification of the ignition angle for each pole change. Thus, the commutation at each change 261 . 262 . 263 . 264 the rotor position signal 182 or each pole change on the rotor position sensor 140 take place with a separate, individual ignition angle, which is determined using a corresponding, assigned offset value from the default ignition angle, cf. S810 in 8th , This allows a control of the semiconductor switches 192 to 198 the power amplifier 122 in such a way that a symmetrization of the motor current is achieved via suitable on or off times, such as a comparison of 3A (without symmetrization) with 3B (with symmetry) shows.

Wie 1 zeigt, hat die Steuereinheit 130 eine Einheit 150, mit der ein Augenblickswert I_MEAS(HCnt) gemessen, digitalisiert und über eine Leitung 151 dem Softwaremodul 178 (I_SYM) zugeführt wird.As 1 shows, the control unit has 130 one unity 150 , with which an instantaneous value I_MEAS (HCnt) is measured, digitized and transmitted via a line 151 the software module 178 (I_SYM) is supplied.

Das Modul 178 erhält auch von einem Modul 152 (ISR_HALL) über eine Leitung 153 ein digitalisiertes Signal HCnt, welches anzeigt, in welchem Drehstellungsbereich sich der Rotor 124 befindet.The module 178 also receives from a module 152 (ISR_HALL) over a line 153 a digitized signal HCnt indicating in which rotational position range the rotor 124 located.

Hierzu folgendes: Beim Ausführungsbeispiel hat der Rotormagnet 124 vier Pole 183, 186, 188, 189. Wenn also das Signal 182 einen Nordpol anzeigt, kann dies bedeuten, dass dem Sensor 140 der Nordpol 183 oder der Nordpol 186 gegenüberliegt.For this, the following: In the embodiment, the rotor magnet 124 four poles 183 . 186 . 188 . 189 , So if the signal 182 indicating a north pole, this may mean that the sensor 140 the North Pole 183 or the North Pole 186 opposite.

Um die Rotorstellung für das Modul 152 eindeutig zu machen, hat dieses einen Zähler 155 HCnt, der bei laufendem Motor ständig die Pole des Rotors 124 in der Folge (1)-(2)-(3)-(4)-(1)-(2)-(3)-(4)-(1) ... zählt, d.h. die Steuereinheit 130 weiß dann, dass der gemessene Strom I_MEAS(1) der Strom ist, der gemessen wurde, während sich der Rotor 124 im Bereich (1) befindet, ebenso dass I_MEAS(2) der Strom ist, der gemessen wurde, während sich der Rotor 124 im Bereich (2) befindet, etc. Allgemein ausgedrückt bedeutet also
I_MEAS(HCnt) den Strom, der gemessen wurde, während sich der Rotor 124 im aktuellen Rotorbereich HCnt befindet, also z.B. im Bereich (4), und
I_MEAS(HCnt-1) bedeutet analog den Strom, der gemessen wurde, während sich der Strom im vorhergehenden Rotorbereich (HCnt-1) befand, also z.B. im Bereich (3), wobei die Bereiche (wegen der Drehung des Rotors 124) im Betrieb ständig durchlaufen werden.
To the rotor position for the module 152 To make it clear, this one has a counter 155 HCnt, with the engine running constantly the poles of the rotor 124 in the sequence (1) - (2) - (3) - (4) - (1) - (2) - (3) - (4) - (1) ... counts, ie the control unit 130 then knows that the measured current I_MEAS (1) is the current measured while the rotor 124 is in region (1), so that I_MEAS (2) is the current that was measured while the rotor 124 was running in the range (2), etc. Generally speaking, means
I_MEAS (HCnt) the current that was measured while the rotor was spinning 124 is in the current rotor area HCnt, that is, for example, in the area (4), and
I_MEAS (HCnt-1) analogously means the current that was measured while the current was in the preceding rotor region (HCnt-1), ie in the region ( 3 ), the areas (due to the rotation of the rotor 124 ) are constantly run during operation.

Das Modul 178 (I_SYM) erhält beim Ausführungsbeispiel zwei Stromsignale, die mit
I_MEAS(HCnt)
und mit
I_MEAS(HCnt-1)
bezeichnet werden, also den Strom, der im aktuellen Rotorbereich HCnt gemessen wurde, und den Strom, der im vorhergehenden Rotorbereich (HCnt-1) gemessen wurde. Das ist in 7 in den Schritten S720 und S730 dargestellt. Dort werden diese Ströme fortlaufend miteinander verglichen. Bei einem idealen Motor sollten sie gleich groß sein. Im Modul 178 (I_SYM) werden die Zündwinkel für den Rotorbereich (1), für den Rotorbereich (2), für den Rotorbereich (3) und für den Rotorbereich (4) fortlaufend optimiert, um diesem Ideal gleich großer Ströme möglichst nahe zu kommen. Dies wird nachfolgend beschrieben. Diese Optimierung findet also im Normalfall fortlaufend statt, d.h. wenn sich z.B. die Temperatur des Motors ändert, ändern sich auch die Zündwinkel für alle vier Bereiche (1), (2), (3) und (4), aber die Werte für die Zündwinkel werden sich im Normalfall voneinander unterscheiden, um einen optimierten Motor zu erhalten.
The module 178 (I_SYM) receives in the embodiment of two current signals with
I_MEAS (HCnt)
and with
I_MEAS (HCnt-1)
that is, the current measured in the current rotor region HCnt and the current measured in the preceding rotor region (HCnt-1). Is in 7 in steps S720 and S730. There, these streams are continuously compared. For an ideal engine, they should be the same size. In the module 178 (I_SYM) the firing angles for the rotor area (1), for the rotor area (2), for the rotor area (3) and for the rotor area (4) are continuously optimized in order to come as close as possible to the ideal of equal currents. This will be described below. Normally, this optimization takes place continuously, ie if, for example, the temperature of the engine changes, the ignition angles for all four ranges (1), (2), (3) and (4), but the values for the ignition angles, also change will normally differ from each other to get an optimized engine.

Die Funktionsweise der Vorrichtung 100 zur Kommutierung des ECM 120 mit individuellen Zündwinkeln wird unter Bezugnahme auf 2 weiter beschrieben.The operation of the device 100 for commutation of the ECM 120 with individual ignition angles is with reference to 2 further described.

2 zeigt ein Ablaufdiagramm 200 eines Verfahrens zur Kommutierung des ECM 120 gemäß einer bevorzugten Ausführungsform der Erfindung. Das Ablaufdiagramm 200 zeigt oben das vom Rotorstellungssensor 140 erzeugte Rotorstellungssignal 182, und es zeigt in seinem unteren Teil die von der Steuerung 130 erzeugten Kommutierungssignale 184, die in der gleichen Weise wie in 1 mit HSR, LSL, HSL und LSR bezeichnet sind. Man erkennt, dass bei diesem Beispiel die Kommutierungssignale gegenüber dem Rotorstellungssignal 182 unterschiedlich stark in der Phase verschoben sind, d.h. für jedes Hallsegment ist die Phasenverschiebung anders. Die Erfindung befasst sich mit der Optimierung dieser unterschiedlichen Phasenverschiebungen. 2 shows a flowchart 200 a method for commutating the ECM 120 according to a preferred embodiment of the invention. The flowchart 200 shows the top of the rotor position sensor 140 generated rotor position signal 182 , and it shows in its lower part that of the controller 130 generated commutation signals 184 in the same way as in 1 with HSR, LSL, HSL and LSR are designated. It can be seen that in this example the commutation signals are opposite to the rotor position signal 182 Different phase shifts are different, ie the phase shift is different for each Hall segment. The invention deals with the optimization of these different phase shifts.

Das Rotorstellungssignal 182 ist für eine komplette mechanische Umdrehung des Rotors 124 mit den vier Magnetpolen 183, 186, 188, 189 dargestellt und hat vier unterschiedliche, als Hallsegmente (1) bis (4) gekennzeichnete Bereiche 212, 214, 216, 218. Jeder dieser Bereiche 212, 214, 216, 218 wird von der Steuerung 130 unter Verwendung der Variablen HCnt einem bestimmten Pol des Rotors 124 zugeordnet. Wie oben beschrieben, ist bei diesem Beispiel der Rotor 124 vierpolig. Deshalb ist HCnt = (Cnt mod 4) + 1, wobei Cnt eine Ganzzahl mit Cnt ≥ 0 ist, welche bei Inbetriebnahme des ECM 120 an einer beliebigen Drehstellung des Rotors 124 zu Cnt = 0 gesetzt wird und anschließend im Betrieb des ECM 120 bei jedem Polwechsel um 1 inkrementiert wird. Somit kann die Variable HCnt die ganzzahligen Werte (1) bis (4) annehmen, sodass das Rotorstellungssignal 182 zu jedem beliebigen Zeitpunkt im Betrieb der Vorrichtung 100 von 1 einem bestimmten Pol zugeordnet werden kann. Wie 2 zeigt, wird dem Bereich 212 ein erster Pol (HCnt = (1)), dem Bereich 214 ein zweiter Pol (HCnt = (2)), dem Bereich 216 ein dritter Pol (HCnt = (3)) und dem Bereich 218 ein vierter Pol (HCnt = (4)) des Rotors 124 zugeordnet. Hierbei entspricht der erste Pol beispielsweise dem Pol 188, der zweite Pol dem Pol 186, der dritte Pol dem Pol 189 und der vierte Pol dem Pol 183 des Rotors 124 von 1. Diese Zuordnung ändert sich gewöhnlich, wenn der Motor ausgeschaltet war und wieder eingeschaltet wird.The rotor position signal 182 is for a complete mechanical rotation of the rotor 124 with the four magnetic poles 183 . 186 . 188 . 189 and has four different, as Hall segments (1) to (4) marked areas 212 . 214 . 216 . 218 , Each of these areas 212 . 214 . 216 . 218 is from the controller 130 using the variable HCnt a particular pole of the rotor 124 assigned. As described above, in this example, the rotor 124 four poles. Therefore, HCnt = (Cnt mod 4) + 1, where Cnt is an integer with Cnt ≥ 0, which is at start-up of the ECM 120 at any rotational position of the rotor 124 is set to Cnt = 0 and then in operation of the ECM 120 is incremented by 1 at each pole change. Thus, the variable HCnt can take the integer values (1) to (4), so that the rotor position signal 182 at any time in the operation of the device 100 from 1 can be assigned to a specific pole. As 2 shows is the area 212 a first pole (HCnt = (1)), the range 214 a second pole (HCnt = (2)), the area 216 a third pole (HCnt = (3)) and the area 218 a fourth pole (HCnt = (4)) of the rotor 124 assigned. Here, the first pole corresponds to the pole, for example 188 , the second pole to the pole 186 , the third pole to the pole 189 and the fourth pole to the pole 183 of the rotor 124 from 1 , This mapping usually changes when the engine is off and on again.

Jedes der Kommutierungssignale 184 (HSR, LSL, HSL, LSR) ist in 2 als ein separates Signal 232 bis 238 dargestellt, welches den Zustand „HOCH" oder „NIEDRIG" annehmen kann. Das Signal 232 zeigt das Kommutierungssignal HSR („High Side Right") zur Ansteuerung des Halbleiterschalters 196. Das Signal 234 zeigt das Kommutierungssignal LSL („Low Side Left") zur Ansteuerung des Halbleiterschalters 194. Das Signal 236 zeigt das Kommutierungssignal HSL („High Side Left") zur Ansteuerung des Halbleiterschalters 192. Das Signal 238 zeigt das Kommutierungssignal LSR („Low Side Right") zur Ansteuerung des Halbleiterschalters 198.Each of the commutation signals 184 (HSR, LSL, HSL, LSR) is in 2 as a separate signal 232 to 238 which can assume the state "HIGH" or "LOW". The signal 232 shows the commutation signal HSR ("High Side Right") for driving the semiconductor switch 196 , The signal 234 shows the commutation signal LSL ("Low Side Left") for driving the semiconductor switch 194 , The signal 236 shows the commutation signal HSL ("High Side Left") to the control tion of the semiconductor switch 192 , The signal 238 shows the commutation signal LSR ("Low Side Right") for driving the semiconductor switch 198 ,

Für jede Kommutierung werden die Kommutierungssignale 232 bis 238 derart erzeugt, dass diejenigen von den Halbleiterschaltern 192 bis 198, die im Augenblick eingeschaltet sind, ausgeschaltet werden, und dass diejenigen von den Halbleiterschaltern 192 bis 198, die ausgeschaltet sind, eingeschaltet werden.For each commutation, the commutation signals 232 to 238 generated such that those of the semiconductor switches 192 to 198 that are turned on at the moment, are turned off, and that those of the semiconductor switches 192 to 198 that are turned off, be turned on.

Beispielsweise werden beim Übergang vom Bereich 212 („Hallsegment 1") des ersten Pols (HCnt = (1)) zum Bereich 214 („Hallsegment 2") des zweiten Pols (HCnt = (2)) zunächst an einem Zeitpunkt 250 die Kommutierungssignale 236 (HSL) und 238 (LSR) von „HOCH" auf „NIEDRIG" gesetzt. Dadurch werden die Halbleiterschalter 192 und 198 ausgeschaltet. Nach einer so genannten „Kommutierungslücke" bzw. „Totzeit" 260 werden die Kommutierungssignale 232 (HSR) und 234 (LSL) dann zum Zeitpunkt 252 von „NIEDRIG" auf „HOCH" gesetzt. Dadurch werden die Halbleiterschalter 196 und 194 eingeschaltet. Die Kommutierungslücke 260 definiert eine minimale Zeitdauer zwischen den durchgeführten Aus- und Einschaltvorgängen, welche erforderlich ist, um einen Brückenkurzschluss in der Endstufe 122 zu vermeiden.For example, when transitioning from the area 212 ("Hall segment 1") of the first pole (HCnt = (1)) to the area 214 ( "Hall segment 2 ' ) of the second pole (HCnt = (2)) first at a time 250 the commutation signals 236 (HSL) and 238 (LSR) is set from "HIGH" to "LOW". This will cause the semiconductor switches 192 and 198 switched off. After a so-called "commutation gap" or "dead time" 260 become the commutation signals 232 (HSR) and 234 (LSL) then at the time 252 set from "LOW" to "HIGH". This will cause the semiconductor switches 196 and 194 switched on. The commutation gap 260 defines a minimum amount of time between the power cycles that are required to complete a bridge short in the final stage 122 to avoid.

Für den Fall, dass ein Abbauen des Motorstroms wünschenswert ist, kann die Kommutierungslücke jedoch auch ausreichend groß gewählt werden, um ein „Kreisen" (Zirkulieren) des Stromes durch den Strang 126 und die beiden Halbleiterschalter 194, 198 zu ermöglichen, damit dieser Strom mechanische Energie erzeugt, wenn sein Wert abnimmt. Bei dieser Alternative sind dann die beiden Halbleiterschalter 192, 196 während der Kommutierungslücke nicht leitend.However, in the event that degradation of the motor current is desirable, the commutation gap can also be chosen to be large enough to "circulate" the current through the strand 126 and the two semiconductor switches 194 . 198 to allow this current to generate mechanical energy as its value decreases. In this alternative, then the two semiconductor switches 192 . 196 not conductive during the commutation gap.

Wie 2 zeigt, werden oberhalb einer bestimmten Mindestdrehzahl bei Umschaltvorgängen der Kommutierungssignale 232 bis 238 diejenigen der Halbleiterschalter 192 bis 198, die eingeschaltet werden, nicht zu Zeitpunkten eingeschaltet, an denen Polwechsel am Rotorstellungssensor 140 erfolgen. (Diese Zeitpunkte sind mit 261, 262, 264, 266, 268 bezeichnet.) Vielmehr werden die Einschaltvorgänge zeitlich verfrüht durchgeführt, d.h. es handelt sich wie erläutert um eine Frühkommutierung.As 2 shows are above a certain minimum speed during switching operations of the commutation signals 232 to 238 those of the semiconductor switches 192 to 198 that are turned on, not turned on at times when pole changes on the rotor position sensor 140 respectively. (These dates are with 261 . 262 . 264 . 266 . 268 Instead, the switch-on processes are carried out prematurely in terms of time, ie, as explained, this is an early commutation.

Beispielsweise werden die Kommutierungssignale 232 (HSR) und 234 (LSL) beim Polwechsel vom ersten Pol (HCnt = 1) zum zweiten Pol (HCnt = 2) nicht zum Zeitpunkt 262 des Polwechsels von „NIEDRIG" auf „HOCH" umgeschaltet, sondern schon zu einem früheren Zeitpunkt 252, welcher um einen Zündwinkel 242 (AdvanceAngle_1) vor diesem Zeitpunkt 262 liegt. Dieser Zündwinkel 242 ist individuell für diesen Polwechsel bestimmt, wie bei 4 bis 8 erläutert wird. Analog hierzu wird für jeden Polwechsel ein individueller Zündwinkel bestimmt. Gemäß 2 wird hierbei für den Polwechsel vom zweiten Pol (HCnt = 2) zum dritten Pol (HCnt = 3) ein Zündwinkel 244 (AdvanceAngle_2), für den Polwechsel vom dritten Pol (HCnt = 3) zum vierten Pol (HCnt = 4) ein Zündwinkel 246 (AdvanceAngle_3) und für den Polwechsel vom vierten Pol (HCnt = 4) zurück zum ersten Pol (HCnt = 1) ein Zündwinkel 248 (AdvanceAngle_4) bestimmt.For example, the commutation signals 232 (HSR) and 234 (LSL) at the pole change from the first pole (HCnt = 1) to the second pole (HCnt = 2) not at the time 262 the pole change from "LOW" to "HIGH" switched, but at an earlier date 252 , which is about a firing angle 242 (AdvanceAngle_1) before this time 262 lies. This ignition angle 242 is individually designed for this pole change, as in 4 to 8th is explained. Analogously, an individual ignition angle is determined for each pole change. According to 2 Here, for the pole change from the second pole (HCnt = 2) to the third pole (HCnt = 3) an ignition angle 244 (AdvanceAngle_2), for the pole change from the third pole (HCnt = 3) to the fourth pole (HCnt = 4) an ignition angle 246 (AdvanceAngle_3) and for the pole change from the fourth pole (HCnt = 4) back to the first pole (HCnt = 1) an ignition angle 248 (AdvanceAngle_4).

Die individuellen Zündwinkel 242 bis 248, die jeweils aus einem Vorgabe-Zündwinkel („Default-Zündwinkel") und einem individuellen Offset-Wert bestehen, haben in 2 beispielhaft unterschiedliche, durch unterschiedliche Offset-Werte erzielte Längen bzw. Zeitdauern und dienen, wie oben erwähnt, zur Symmetrierung bzw. zur Amplitudenangleichung des Motorstroms.The individual ignition angle 242 to 248 , each consisting of a default ignition angle ("default ignition angle") and an individual offset value have in 2 By way of example, different lengths or durations achieved by different offset values serve, as mentioned above, for balancing or for equalizing the amplitude of the motor current.

Um zu bestimmen, ob der Motorstrom im Wesentlichen symmetrisch ist bzw. wird, wird der Motorstrom I_MEAS jeweils nach einer vorgegebenen Zeitdauer nach einer Änderung des Rotorstellungssignals, also nach jedem Polwechsel am Rotorstellungssensor 140, gemessen. Dementsprechend werden folgende Werte gemessen:
Für den 1. Pol (HCnt = 1) zum Zeitpunkt 222 ein Motorstrom I_MEAS(1);
für den 2. Pol (HCnt = 2) zum Zeitpunkt 224 ein Motorstrom I_MEAS(2);
für den 3. Pol (HCnt = 3) zum Zeitpunkt 226 ein Motorstrom I_MEAS(3);
für den 4. Pol (HCnt = 4) zum Zeitpunkt 228 ein Motorstrom I_MEAS(4).
In order to determine whether the motor current is or becomes substantially symmetrical, the motor current I_MEAS is in each case after a predetermined period of time after a change in the rotor position signal, ie after each pole change at the rotor position sensor 140 , measured. Accordingly, the following values are measured:
For the 1st pole (HCnt = 1) at the time 222 a motor current I_MEAS (1);
for the 2nd pole (HCnt = 2) at the time 224 a motor current I_MEAS (2);
for the 3rd pole (HCnt = 3) at the time 226 a motor current I_MEAS (3);
for the 4th pole (HCnt = 4) at the time 228 a motor current I_MEAS (4).

Der Strom I_MEAS wird gemessen, wenn nach einem Wechsel 261, 262, 264, 266 des Rotorstellungssignals 182 eine vorgegebene Zeitspanne T_MEAS_I abgelaufen ist, vgl. 5, wo diese Zeitspanne mit 502 bezeichnet ist.The current I_MEAS is measured when after a change 261 . 262 . 264 . 266 the rotor position signal 182 a predetermined period T_MEAS_I has expired, cf. 5 where this time span is with 502 is designated.

Jeder gemessene Motorstrom wird mit dem zuvor gemessenen Motorstrom verglichen, um eine Abweichung von diesem zu ermitteln. Beispielsweise wird der Motorstrom I_MEAS(2) mit dem Motorstrom I_MEAS(1) verglichen, um eine Abweichung A(1) = I_MEAS(2) – I_MEAS(1) (1)zu bestimmen.Each measured motor current is compared with the previously measured motor current to determine a deviation therefrom. For example, the motor current I_MEAS (2) is compared with the motor current I_MEAS (1) to a deviation A (1) = I_MEAS (2) - I_MEAS (1) (1) to determine.

Der Motorstrom I_MEAS(3) wird mit dem Motorstrom I_MEAS(2) verglichen, um eine Abweichung A(2) = I_MEAS(3) – I_MEAS(2) (2)zu bestimmen, usw.The motor current I_MEAS (3) is compared with the motor current I_MEAS (2) to a deviation A (2) = I_MEAS (3) - I_MEAS (2) (2) to determine, etc.

Dieser Vergleich findet in der Steuerroutine I_SYMM (7) statt, und der Vergleich ist dort im Schritt S730 dargestellt. Je nach dem Resultat des Vergleichs wird entweder im Schritt S750 die Zeit T_Offset(HCnt) um einen vorgegebenen Wert vergrößert, oder sie wird im Schritt S770 um einen vorgegebenen Wert verkleinert.This comparison takes place in the control routine I_SYMM ( 7 ), and the comparison is shown there in step S730. Depending on the result of the comparison, the time T_Offset (HCnt) is either increased by a predetermined value in step S750, or it is reduced by a predetermined value in step S770.

Die Tatsache, dass eine Abweichung A(n) ermittelt wurde, bewirkt also, dass der Offset-Wert eines entsprechenden individuellen Zündwinkels – unter Berücksichtigung einer bereits erreichten Amplitudenangleichung – justiert, also nachgestellt, wird. Bevorzugt wird der Offset-Wert des Zündwinkels 242 unter Verwendung der Abweichung A(1) angepasst, der Offset-Wert des Zündwinkels 244 unter Verwendung der Abweichung A(2) usw. Die Bestimmung geeigneter Offset-Werte und der individuellen Zündwinkel 242 bis 248 wird bei 4 bis 8 ausführlich beschrieben.The fact that a deviation A (n) has been determined thus has the effect that the offset value of a corresponding individual ignition angle is adjusted, that is to say readjusted, taking into account an already achieved amplitude equalization. The offset value of the ignition angle is preferred 242 adjusted using the deviation A (1), the offset value of the ignition angle 244 using deviation A (2), etc. Determining appropriate offset values and individual firing angles 242 to 248 is at 4 to 8th described in detail.

3A zeigt eine Darstellung 300 eines beispielhaften Verlaufs eines Motorstroms 320, der im Betrieb des ECM 120 bei einer Frühkommutierung ohne Symmetrierung der Ströme gemessen wurde. Diese Frühkommutierung wurde unter Verwendung eines Vorgabe-Zündwinkels durchgeführt, welcher zu Beginn der Stromsymmetrierung bei allen Polwechseln als Zündwinkel 342, 344, 346, 348 verwendet wird, da zu Beginn der Frühkommutierung alle Offset-Werte auf Null gesetzt werden. 3A shows a representation 300 an exemplary course of a motor current 320 who is in operation of the ECM 120 was measured at an early commutation without symmetrization of the currents. This early commutation was performed using a default firing angle which, at the beginning of current balancing, is the firing angle for all pole changes 342 . 344 . 346 . 348 is used, since at the beginning of the early commutation all offset values are set to zero.

Bei der Frühkommutierung werden beispielsweise zum Zeitpunkt 350 (3A) die Halbleiterschalter 192, 198 der Endstufe 122 ausgeschaltet, und zum Zeitpunkt 352 werden die Halbleiterschalter 194, 196 eingeschaltet. Zum Zeitpunkt 262 wird dann durch eine Änderung des Rotorstellungssignals 182 ein Polwechsel erfasst, z.B. der Polwechsel vom ersten Pol (HCnt = 1) zum zweiten Pol (HCnt = 2) gem. 2.At the Frühkommutierung example, at the time 350 ( 3A ) the semiconductor switches 192 . 198 the power amplifier 122 off, and at the time 352 become the semiconductor switches 194 . 196 switched on. At the time 262 is then by a change in the rotor position signal 182 detects a pole change, eg the pole change from the first pole (HCnt = 1) to the second pole (HCnt = 2) acc. 2 ,

Allerdings treten bei der Verwendung des Default-Zündwinkels zur einheitlichen Frühkommutierung Unsymmetrien im Motorstrom 320 auf, wie das 3A zeigt.However, when using the default firing angle for uniform early commutation, imbalances in the motor current occur 320 on, like that 3A shows.

Wie beschrieben, ist zur Stromsymmetrierung die Messung von Momentanwerten für den Motorstrom 320 erforderlich. Deshalb wird zum Zeitpunkt 222 (3A) ein Momentanwert 322 für den Motorstrom 320 gemessen, der den Motorstrom I_MEAS(1) darstellt. Analog hierzu wird zum Zeitpunkt 224 ein Momentanwert 324 bestimmt, der den Motorstrom I_MEAS(2) darstellt, usw. Wie 3A zeigt, ist bei diesem Beispiel der Momentanwert 324 größer als der Momentanwert 322. Somit kann eine Abweichung festgestellt werden, die größer als Null ist und zur Veränderung des entsprechenden Offset-Wertes für den Zündwinkel führt, wie nachfolgend beschrieben wird. Der Zündwinkel 342 kann dann, wie bei 2 beschrieben, für jeden Polwechsel durch einen jeweils zugeordneten Offset-Wert individualisiert werden.As described, for the current balancing, the measurement of instantaneous values for the motor current 320 required. That's why at the time 222 ( 3A ) an instantaneous value 322 for the motor current 320 measured, which represents the motor current I_MEAS (1). Analogously, at the time 224 an instantaneous value 324 determined, which represents the motor current I_MEAS (2), etc. Like 3A shows, in this example, the instantaneous value 324 greater than the instantaneous value 322 , Thus, a deviation greater than zero may be detected, resulting in a change in the corresponding offset value for the firing angle, as described below. The ignition angle 342 then, as with 2 described, be individualized for each pole change by an associated offset value.

3B zeigt die Darstellung 360 eines beispielhaften Verlaufs des Motorstroms 320 bei einer Frühkommutierung des ECM 120 unter Verwendung der individuellen Zündwinkel 242, 244, 246, 248 von 2. Wie aus 3B ersichtlich, ist der Motorstrom 320 bei dieser Art der Kommutierung im Wesentlichen symmetrisch, beispielsweise hinsichtlich der Amplitude und/oder der Form. Dies führt zu einem ruhigeren Motorlauf und zu einem besseren Wirkungsgrad. 3B shows the presentation 360 an exemplary course of the motor current 320 at an early commutation of the ECM 120 using the individual firing angle 242 . 244 . 246 . 248 from 2 , How out 3B can be seen, is the motor current 320 in this type of commutation is substantially symmetrical, for example, in terms of amplitude and / or shape. This leads to a quieter engine running and to a better efficiency.

4 zeigt ein Flussdiagramm eines erfindungsgemäßen Verfahrens 400 zur Kommutierung des ECM 120, welches von der Steuerung 130 von 1 durchgeführt wird. Das Verfahren 400 (4) wird bevorzugt als Hauptprogramm der Steuerung 130 in Form einer Endlosschleife durchgeführt, deren Ausführung bei der Inbetriebnahme des ECM 120 nach einer Initialisierung beginnt und nur bei einer Unterbrechung bzw. Beendigung des Betriebs wieder endet. Die Initialisierung der Endlosschleife erfolgt in Schritt S410, wobei die Steuerung 130 und ihre Ein- und Ausgänge, beispielsweise der A/D-Wandler 132, initialisiert werden. 4 shows a flowchart of a method according to the invention 400 for commutation of the ECM 120 which is from the controller 130 from 1 is carried out. The procedure 400 ( 4 ) is preferred as the main program of the controller 130 executed in the form of an endless loop, whose execution during commissioning of the ECM 120 after an initialization begins and ends only at an interruption or termination of the operation again. The initialization of the endless loop is performed in step S410, wherein the controller 130 and their inputs and outputs, such as the A / D converter 132 , to be initialized.

In Schritt S420 wird überprüft, ob ein Funktionsbit FCT_I_SYM gesetzt ist, d.h. ob FCT_I_SYM = 1 ist. Falls das der Fall ist, ist eine Stromsymmetrierung des Motorstroms angefordert. In diesem Fall ruft das Hauptprogramm in Schritt S425 die Steuerroutine I_SYM 178 von 1 auf. Eine beispielhafte Steuerroutine I_SYM wird bei 7 beschrieben. Falls FCT_I_SYM = 0 ist, d.h. dieses Funktionsbit ist nicht gesetzt, ist keine Stromsymmetrierung angefordert und das Hauptprogramm fährt in Schritt S430 fort. Dies ist bei niedrigen Drehzahlen der Fall.In step S420, it is checked whether a function bit FCT_I_SYM is set, that is, whether FCT_I_SYM = 1. If this is the case, current balancing of the motor current is required. In this case, the main program calls the control routine I_SYM in step S425 178 from 1 on. An exemplary control routine I_SYM is added 7 described. If FCT_I_SYM = 0, ie this function bit is not set, no current balancing is requested and the main program proceeds to step S430. This is the case at low speeds.

In Schritt S430 wird überprüft, ob ein Funktionsbit FCT_ADVANCE_COMMUT gesetzt ist. Falls FCT_ADVANCE_COMMUT = 1 ist, ist eine Frühkommutierung des Motorstroms angefordert. In diesem Fall ruft das Hauptprogramm in Schritt S435 die Steuerroutine ADVANCE_COMMUT 176 von 1 auf. Eine beispielhafte Steuerroutine ADVANCE_COMMUT wird bei 8 beschrieben. Falls FCT_ADVANCE_COMMUT = 0 ist, d.h. dieses Funktionsbit ist nicht gesetzt, ist keine Frühkommutierung angefordert und das Hauptprogramm fährt in Schritt S440 fort.In step S430, it is checked if a function bit FCT_ADVANCE_COMMUT is set. If FCT_ADVANCE_COMMUT = 1, an early commutation of the motor current is requested. In this case, the main program calls the control routine ADVANCE_COMMUT in step S435 176 from 1 on. An example control routine ADVANCE_COMMUT is included 8th described. If FCT_ADVANCE_COMMUT = 0, ie this function bit is not set, no early commutation is requested and the main program proceeds to step S440.

In Schritt S440 werden andere erforderliche Steuerroutinen ausgeführt, z.B. eine I/O-Routine, eine Alarmroutine oder eine 250ms-Routine. Letzteres ist eine Funktion, die alle 250 ms aufgerufen wird. Wenn der Motor blockiert ist, bestimmt diese Routine, wie lange dem ECM 120 Strom zugeführt wird, um einen erneuten Start zu versuchen, und wie lange anschließend der Strom abgeschaltet wird, wenn der Startversuch nicht erfolgreich war. Anschließend kehrt das Hauptprogramm zum Schritt S420 zurück.In step S440, other required control routines are executed, eg, an I / O routine, an alarm routine, or a 250ms routine. The latter is a function called every 250 ms. When the engine is stalled, this routine determines how long the ECM 120 power is supplied to try to restart and how long then the power is turned off if the attempt to start was unsuccessful. Subsequently, the main program returns to step S420.

Die von dem Hauptprogramm (4) ausgeführte Endlosschleife wird bei jeder Änderung des Rotorstellungssignals 182 von 1 bzw. 2, d.h. bei jedem Polwechsel am Rotorstellungssensor 140, von einer Interrupt Service Routine in Schritt S480 (ISR_HALL) unterbrochen. Die ISR_HALL wird durch ein Interrupt-Signal 490 (HALL-INTERRUPT) ausgelöst, welches z.B. bei jeder Änderung des Rotorstellungssignals 182 erzeugt wird. Eine beispielhafte Interrupt Service Routine ISR_HALL wird bei 6 beschrieben.Those of the main program ( 4 ) runs at each change of the rotor position signal 182 from 1 respectively. 2 , ie at each pole change on the rotor position sensor 140 , interrupted by an interrupt service routine in step S480 (ISR_HALL). The ISR_HALL is triggered by an interrupt signal 490 (HALL INTERRUPT) triggered, which, for example, at every change of the rotor position signal 182 is produced. An example ISR_HALL interrupt service routine is included 6 described.

Ein beispielhafter erfindungsgemäßer Kommutierungsablauf unter Verwendung des Hauptprogramms wird bei 5 beschrieben.An exemplary commutation process according to the invention using the main program is included 5 described.

5 zeigt ein Ablaufdiagramm 500, welches den Ablauf des Hauptprogramms 400 von 4 in der Vorrichtung 100 (1) gemäß einer Ausführungsform der Erfindung illustriert. Das Ablaufdiagramm 500 umfasst das Rotorstellungssignal 182 von 2 mit den vier Hallsegmenten 212, 214, 216, 218, welche zu den Zeitpunkten 261, 262, 264 bzw. 266 beginnen. Ausgehend von den Zeitpunkten 261, 262, 264, 266 wird in Bezug auf jeden Polwechsel des Rotors 124 des ECM 120 ein individueller Kommutierungszeitpunkt bestimmt, wie weiter unten im Detail beschrieben wird. 5 shows a flowchart 500 which is the flow of the main program 400 from 4 in the device 100 ( 1 ) according to an embodiment of the invention. The flowchart 500 includes the rotor position signal 182 from 2 with the four Hall segments 212 . 214 . 216 . 218 which at the times 261 . 262 . 264 respectively. 266 kick off. Starting from the times 261 . 262 . 264 . 266 is with respect to each pole change of the rotor 124 of the ECM 120 an individual commutation time is determined, as described in more detail below.

Wie 5 zeigt, wird beim Übergang vom Hallsegment 501 zum Hallsegment 212 im Zeitpunkt 261 eine erste Änderung des Rotorstellungssignals 182 erfasst, die durch einen Polwechsel vom vierten Pol (HCnt = 4) zum ersten Pol (HCnt = 1) bewirkt wird. Bei diesem Polwechsel wird einer Zeitvariablen t_HALL der Zeitpunkt 261 zugewiesen und das HALL-INTERRUPT-Signal 490 wird erzeugt, wodurch die Interrupt Service Routine ISR_HALL gemäß Schritt S480 von 4 ausgelöst wird.As 5 shows, is at the transition from the Hall segment 501 to the Hall segment 212 at the time 261 a first change of the rotor position signal 182 detected by a pole change from the fourth pole (HCnt = 4) to the first pole (HCnt = 1) is effected. At this pole change, a time variable t_HALL becomes the time 261 assigned and the HALL INTERRUPT signal 490 is generated, whereby the interrupt service routine ISR_HALL according to step S480 of 4 is triggered.

In der ISR_HALL (6) wird in S670 das Funktionsbit FCT_I_SYM und in S680 das Funktionsbit FCT_ADVANCE_COMMUT zu 1 gesetzt, wenn gemäß S640 die Drehzahl des Rotors 124 eine vorgegebene Mindestdrehzahl bzw. eine untere Grenzdrehzahl überschreitet, die motorabhängig z.B. bei 450 rpm liegt. Eine beispielhafte Interrupt Service Routine ISR_HALL wird bei 6 beschrieben.In the ISR_HALL ( 6 ), the function bit FCT_I_SYM is set in S670, and the function bit FCT_ADVANCE_COMMUT is set to 1 in S680, if, according to S640, the speed of the rotor 124 exceeds a predetermined minimum speed or a lower limit speed, which is motor dependent, for example, at 450 rpm. An example ISR_HALL interrupt service routine is included 6 described.

Für die weitere Beschreibung des Ablaufdiagramms 500 wird angenommen, dass die Drehzahl des Rotors 124 zum Zeitpunkt 261 über der unteren Grenzdrehzahl liegt und somit die Funktionsbits FCT_I_SYM und FCT_ADVANCE_COMMUT in der ISR_HALL zu 1 gesetzt werden. Dementsprechend wird nach Durchführung der ISR_HALL gemäß Schritt S425 des Hauptprogramms 400 (4) die Steuerroutine 178 (I_SYM) und gemäß Schritt S435 die Steuerroutine 176 (ADVANCE_COMMUT) aufgerufen.For further description of the flowchart 500 It is assumed that the speed of the rotor 124 at the time 261 is above the lower limit speed and thus the function bits FCT_I_SYM and FCT_ADVANCE_COMMUT are set to 1 in the ISR_HALL. Accordingly, after performing the ISR_HALL in step S425 of the main program 400 ( 4 ) the control routine 178 (I_SYM) and in step S435 the control routine 176 (ADVANCE_COMMUT).

Die Steuerroutine 178 (I_SYM) wird, ausgehend vom Zeitpunkt t_HALL, nach Ablauf einer vorgegebenen Wartezeit 502 (T_Meas_I) aufgerufen. Eine beispielhafte Steuerroutine I_SYM wird bei 7 beschrieben. In dieser Routine 178 wird im Schritt S720 der augenblickliche Strom I_MEAS(HCnt) gemessen und digitalisiert.The control routine 178 (I_SYM) is, starting from the time t_HALL, after a predetermined waiting time 502 (T_Meas_I) is called. An exemplary control routine I_SYM is added 7 described. In this routine 178 In step S720, the instantaneous current I_MEAS (HCnt) is measured and digitized.

Die Steuerroutine 176 (ADVANCE_COMMUT) wird, ebenfalls ausgehend vom Zeitpunkt t_HALL, nach Ablauf einer vorgegebenen Zeitdauer 504 (T_Default + T_Offset(1)) aufgerufen. Hierbei ist T_Default ein Default-Wert zur Einstellung des Zündwinkels für die Frühkommutierung, und T_Offset(1) ist ein Kommutierungs-Offset zur Individualisierung des Default-Wertes für den Polwechsel vom ersten Pol (HCnt = 1) zum zweiten Pol (HCnt = 2). (Der Wert T_Offset(1) wird vor Erreichen des Zeitpunkts 260 berechnet.) Eine beispielhafte Steuerroutine ADVANCE_COMMUT wird bei 8 beschrieben.The control routine 176 (ADVANCE_COMMUT), also starting from the time t_HALL, after a predetermined period of time 504 (T_Default + T_Offset (1)) called. In this case, T_Default is a default value for setting the ignition angle for the early commutation, and T_Offset (1) is a commutation offset for individualizing the default value for the pole change from the first pole (HCnt = 1) to the second pole (HCnt = 2) , (The value T_Offset (1) will be reached before the time 260 An example control routine ADVANCE_COMMUT is included 8th described.

Der in Bezug auf das erste Hallsegment 212 beschriebene Ablauf wird anschließend für jedes der Hallsegmente 214, 216, 218 wiederholt. Hierbei wird der Variablen t_HALL zu Beginn des zweiten Hallsegments 214 der Zeitpunkt 262, zu Beginn des dritten Hallsegments 216 der Zeitpunkt 264 und zu Beginn des vierten Hallsegments 218 der Zeitpunkt 266 zugewiesen. Die vorgegebene Zeitdauer 504 wird im zweiten Hallsegment 214 durch T_Default + T_Offset(2), im dritten Hallsegment 216 durch T_Default + T_Offset(3) und im vierten Hallsegment 218 durch T_Default + T_Offset(4) festgelegt, wobei der entsprechende T Offset-Wert jeweils einen Kommutierungs-Offset zur Individualisierung des Vorgabewertes für einen entsprechenden Polwechsel festlegt.The one with respect to the first Hall segment 212 described procedure is then for each of the Hall segments 214 . 216 . 218 repeated. Here, the variable t_HALL at the beginning of the second Hall segment 214 point of time 262 , at the beginning of the third Hall segment 216 point of time 264 and at the beginning of the fourth Hall segment 218 point of time 266 assigned. The predetermined period of time 504 will be in the second hall segment 214 by T_Default + T_Offset (2), in the third Hall segment 216 by T_Default + T_Offset (3) and in the fourth Hall segment 218 determined by T_Default + T_Offset (4), wherein the corresponding T offset value in each case defines a commutation offset for individualizing the default value for a corresponding pole change.

Wie 5 zeigt, werden die individuellen Kommutierungs-Offsets nach jeder mechanischen Umdrehung des Rotors 124 aktualisiert. Somit wird der Zeitpunkt der Frühkommutierung für jeden Polwechsel nach jeder Umdrehung des Rotors 124 in Abhängigkeit von einer bereits erzielten Amplitudenangleichung des Motorstroms bei den Bestromungsphasen des Strangs 126 aktualisiert. Dies ermöglicht eine iterative Symmetrierung des Motorstroms in den einzelnen Drehwinkelbereichen, vgl. 3B, und damit eine Verbesserung des Wirkungsgrads des ECM 120.As 5 shows, the individual commutation offsets after each mechanical revolution of the rotor 124 updated. Thus, the timing of the early commutation for each pole change after each revolution of the rotor 124 as a function of an already achieved amplitude equalization of the motor current during the energization phases of the string 126 updated. This allows an iterative symmetrization of the motor current in the individual rotation angle ranges, cf. 3B , and thus an improvement in the efficiency of the ECM 120 ,

6 zeigt ein Flussdiagramm eines Verfahrens 600, mit dem die Interrupt Service Routine (ISR_HALL), welche in Schritt S480 von 4 ausgeführt wird, gemäß einer bevorzugten Ausführungsform der Erfindung realisiert wird. 6 shows a flowchart of a procedural proceedings 600 with which the interrupt service routine (ISR_HALL), which in step S480 of FIG 4 is executed, is realized according to a preferred embodiment of the invention.

Die Routine ISR_HALL beginnt in Schritt S610, in dem ein aktueller Zeitpunkt bzw. ein Momentanzeitwert t_Timer1 bestimmt wird. Der Wert t_Timer1 ist eine Zeitvariable, welche immer durch einen Momentanzeitwert festlegt wird. Dieser Momentanzeitwert kann beispielsweise unter Verwendung eines Zeitgebers ermittelt werden, welcher von der Steuerung 130 von 1 realisiert wird. Der zu Beginn der Ausführung der ISR_HALL ermittelte Momentanzeitwert t_Timer1 wird in Schritt S610 der Variablen t HALL zugewiesen. Beispielsweise wird für den Fall, dass als Momentanzeitwert t_Timer1 der Zeitpunkt 261 gem. 5 bestimmt wird, dieser Zeitpunkt 261 der Variablen t_HALL zugewiesen.The routine ISR_HALL starts in step S610, in which a current time or a current time value t_Timer1 is determined. The value t_Timer1 is a time variable, which is always determined by an instantaneous value. This instantaneous value can be determined, for example, using a timer which is provided by the controller 130 from 1 is realized. The instantaneous value t_Timer1 determined at the beginning of the execution of the ISR_HALL is assigned to the variable t HALL in step S610. For example, if the instantaneous value t_Timer1 is the time 261 gem. 5 is determined, this time 261 assigned to the variable t_HALL.

In Schritt S620 wird der Wert HCnt eines Hallsegment-Zählers, welcher z.B. von der Steuerung 130 (1) realisiert wird, inkrementiert. Der Wert HCnt des Hallsegment-Zählers dient zur Zuordnung eines zu Beginn der Durchführung der ISR_HALL erfassten Hallsegments zu einem entsprechenden Pol des Rotors 124 von 1. Beispielsweise erfolgt zum Zeitpunkt 261 der 5 der Polwechsel vom vierten Pol zum ersten Pol des Rotors 124. Somit ist vor dem Polwechsel HCnt = 4 und wird dementsprechend in Schritt S620 von HCnt = 4 zu HCnt = 5 inkrementiert.In step S620, the value HCnt of a Hall segment counter, for example, from the controller 130 ( 1 ) is realized, incremented. The value HCnt of the Hall segment counter is used to assign a Hall segment detected at the beginning of the execution of the ISR_HALL to a corresponding pole of the rotor 124 from 1 , For example, at the time 261 of the 5 the pole change from the fourth pole to the first pole of the rotor 124 , Thus, before the pole change, HCnt = 4 and, accordingly, it is incremented from HCnt = 4 to HCnt = 5 in step S620.

In dem in den 1 bis 5 dargestellten Ausführungsbeispiel wird davon ausgegangen, dass der Rotor 124 vierpolig ist, d.h. dass er vier Magnetpole 183, 186, 188, 189 hat. Da jedem Pol ein bestimmtes Hallsegment zugewiesen wird, kann HCnt im vorliegenden Beispiel nur ganzzahlige Werte von 1 bis 4 annehmen. Deshalb wird in Schritt S630 überprüft, ob HCnt = 5 ist. Falls HCnt kleiner als 5 ist, fährt die ISR_HALL in Schritt S640 fort. Da im vorliegenden Beispiel HCnt = 5 ist, wird HCnt in Schritt S632 zu HCnt = 1 gesetzt, bevor die ISR_HALL in Schritt S640 fortfährt. Dadurch wird berücksichtigt, dass das aktuelle Hallsegment durch Erfassung des ersten Pols am Rotorstellungssensor 140 von 1 erzeugt wird. Dementsprechend ergibt sich, dass bei der nächsten Kommutierung des Motorstroms der Polwechsel vom ersten Pol zum zweiten Pol erfolgt. Der Zeitpunkt dieser nächsten Kommutierung ist gemäß 5 durch die vorgegebene Zeitdauer 504 im ersten Hallsegment 212, d.h. durch T_Default + T_Offset(1) festgelegt.In the in the 1 to 5 illustrated embodiment, it is assumed that the rotor 124 is four-pole, ie that it has four magnetic poles 183 . 186 . 188 . 189 Has. Since each pole is assigned a specific Hall segment, HCnt in the present example can only take integer values from 1 to 4. Therefore, in step S630, it is checked if HCnt = 5. If HCnt is less than 5, the ISR_HALL proceeds to step S640. Since HCnt = 5 in the present example, HCnt is set to HCnt = 1 in step S632 before the ISR_HALL proceeds to step S640. This takes into account that the current Hall segment by detecting the first pole on the rotor position sensor 140 from 1 is produced. Accordingly, it follows that at the next commutation of the motor current, the pole change takes place from the first pole to the second pole. The time of this next commutation is according to 5 by the predetermined time period 504 in the first Hall segment 212 ie defined by T_Default + T_Offset (1).

In Schritt S640 wird bestimmt, ob die Drehzahl N des Rotors 124 über der unteren Grenzdrehzahl Nmin liegt. Falls N ≤ Nmin ist, wird die nächste Kommutierung des Motorstroms im Strang 126 von 1 in Schritt S642 auf gebräuchliche Art durchgeführt, d.h. es erfolgt keine Frühkommutierung, sondern die Kommutierung wird direkt durch das Hallsignal 182 gesteuert. Falls bereits N > Nmin ist, erfolgt bei der nächsten Kommutierung eine Frühkommutierung mit einem individuellen Zündwinkel, und die ISR_HALL fährt in Schritt S652 fort.In step S640, it is determined whether the rotational speed N of the rotor 124 above the lower limit speed Nmin. If N ≤ Nmin, the next commutation of the motor current will be in progress 126 from 1 in step S642 performed in the usual way, ie there is no early commutation, but the commutation is directly by the Hall signal 182 controlled. If already N> Nmin, an early commutation with an individual firing angle occurs at the next commutation, and the ISR_HALL proceeds to step S652.

In Schritt S652 wird überprüft, ob HCnt = 1 ist. Falls HCnt = 1 ist, fährt die ISR_HALL in Schritt S662 fort. Ansonsten wird in Schritt S654 überprüft, ob HCnt = 2 ist. Falls in Schritt S654 HCnt = 2 ist, fährt die ISR_HALL in Schritt S664 fort. Ansonsten wird in Schritt S656 überprüft, ob HCnt = 3 ist. Falls Ja, fährt die ISR_HALL in Schritt S666 fort. Ansonsten wird in Schritt S658 überprüft, ob HCnt = 4 ist. Falls in Schritt S658 bestimmt wird, dass HCnt = 4 ist, fährt die ISR_HALL in Schritt S668 fort.In Step S652 checks if HCnt = 1. If HCnt = 1, moves the ISR_HALL continues in step S662. Otherwise, it is checked in step S654 whether HCnt = 2. If HCnt = 2 in step S654, ISR_HALL goes to step S664 continues. Otherwise, it is checked in step S656 if HCnt = 3. If so, she drives ISR_HALL continues in step S666. Otherwise, it is checked in step S658 whether HCnt = 4. If it is determined in step S658 that HCnt = 4, the ISR_HALL continues in step S668.

In Schritt S662 wird einem Kommutierungs-Offset T_Offset der Wert des Kommutierungs-Offsets T_Offset(1) zur Beeinflussung des Default-Wertes T_Default zugewiesen, um den Zeitpunkt der Frühkommutierung vor dem Polwechsel vom ersten Pol zum zweiten Pol, welcher gem. 5 zum Zeitpunkt 262 erfolgt, individuell zu verändern. In Schritt S664 wird T_Offset der Wert T_Offset(2) zugewiesen, mit dem der Zeitpunkt der Frühkommutierung vor dem Polwechsel vom zweiten Pol zum dritten Pol, welcher gem. 5 zum Zeitpunkt 264 erfolgt, individualisiert wird. In Schritt S666 wird T Offset der Wert T_Offset(3) zugewiesen, mit dem der Zeitpunkt der Frühkommutierung vor dem Polwechsel vom dritten Pol zum vierten Pol, welcher gem. 5 zum Zeitpunkt 266 erfolgt, individualisiert wird. In Schritt S668 wird T Offset der Wert T_Offset(4) zugewiesen, mit dem der Zeitpunkt der Frühkommutierung vor dem Polwechsel vom vierten Pol zum ersten Pol, welcher gem. 5 zum Zeitpunkt 261 erfolgt, individualisiert wird.In step S662, a commutation offset T_Offset is assigned the value of the commutation offset T_Offset (1) for influencing the default value T_Default in order to determine the time of the early commutation before the pole change from the first pole to the second pole, which acc. 5 at the time 262 done, to change individually. In step S664, the value T_Offset (2) is assigned to T_Offset, with which the time of the early commutation before the pole change from the second pole to the third pole, which gem. 5 at the time 264 done, is individualized. In step S666, the value T_Offset (3) is assigned to T Offset, with which the time of the early commutation before the pole change from the third pole to the fourth pole, which acc. 5 at the time 266 done, is individualized. In step S668, the value T_Offset (4) is assigned to T Offset, with which the time of the early commutation before the pole change from the fourth pole to the first pole, which acc. 5 at the time 261 done, is individualized.

In Schritt S670 wird das Funktionsbit FCT_I_SYM zu 1 gesetzt, um das Hauptprogramm von 4 zu veranlassen, in Schritt S425 die Steuerroutine I_SYM auszuführen, um den jeweiligen zugewiesenen Kommutierungs-Offset für den Default-Wert des Zündwinkels zu aktualisieren. Eine beispielhafte Steuerroutine I_SYM wird bei 7 beschrieben.In step S670, the function bit FCT_I_SYM is set to 1 to be the main program of 4 to cause in step S425 to execute the control routine I_SYM to update the respective assigned commutation offset for the default value of the ignition angle. An exemplary control routine I_SYM is added 7 described.

In Schritt S680 wird das Funktionsbit FCT_ADVANCE_COMMUT auf 1 gesetzt, um das Hauptprogramm von 4 zu veranlassen, in Schritt S435 die Steuerroutine ADVANCE_COMMUT auszuführen, um die Frühkommutierung mit dem jeweils ermittelten, individuellen Zündwinkel zu bewirken. Eine beispielhafte Steuerroutine ADVANCE_COMMUT wird bei 8 beschrieben.In step S680, the function bit FCT_ADVANCE_COMMUT is set to 1 to be the main program of 4 in step S435, execute the control routine ADVANCE_COMMUT to effect the early commutation with the respectively determined individual firing angle. An example control routine ADVANCE_COMMUT is included 8th described.

Die ISR_HALL (6) wird dann in Schritt S690 beendet, und die Ausführung des Hauptprogramms von 4 wird wieder aufgenommen.The ISR_HALL ( 6 ) is then terminated in step S690, and execution of the main pro grams of 4 will be resumed.

7 zeigt ein Flussdiagramm eines Verfahrens 700, mit dem die Steuerroutine 178 (I_SYM) von 1 gemäß einer bevorzugten Ausführungsform der Erfindung realisiert wird. Wie bei 4 beschrieben ist, wird diese Steuerroutine I_SYM in Schritt S425 des Hauptprogramms von 4 ausgeführt, wenn das Funktionsbit FCT_I_SYM zu 1 gesetzt ist. 7 shows a flowchart of a method 700 with which the control routine 178 (I_SYM) of 1 is realized according to a preferred embodiment of the invention. As in 4 is described, this control routine I_SYM in step S425 of the main program of 4 executed when the function bit FCT_I_SYM is set to 1.

Die Steuerroutine I_SYM beginnt mit Schritt S710, in dem (wie oben bei 6 beschrieben) ein aktueller Zeitpunkt bzw. ein Momentanzeitwert für die Variable t_Timer1 bestimmt wird, welcher mit einem Zeitwert verglichen wird, der aus t HALL und der vorgegebenen Wartezeit T_Meas_I (5) gebildet wird. Somit wird in Schritt S710 überprüft, ob in einem vorgegebenen Hallsegment HCnt seit dem Polwechsel zum Zeitpunkt t HALL zu Beginn dieses Hallsegments HCnt die vorgegebene Wartezeit T_Meas_I abgelaufen ist. Falls die vorgegebene Wartezeit T_Meas_I noch nicht abgelaufen ist (d.h. t_Timer1 ≤ t_HALL + T_Meas_I), endet die Steuerroutine in Schritt S790. Ansonsten fährt die Steuerroutine in Schritt S720 fort.The control routine I_SYM starts with step S710, in which (as in at 6 described) a current time or a momentary time value for the variable t_Timer1 is determined, which is compared with a time value consisting of t HALL and the predetermined waiting time T_Meas_I ( 5 ) is formed. Thus, it is checked in step S710 whether in a given Hall segment HCnt since the pole change at time t HALL at the beginning of this Hall segment HCnt the predetermined waiting time T_Meas_I has expired. If the predetermined waiting time T_Meas_I has not yet elapsed (ie t_Timer1 ≤ t_HALL + T_Meas_I), the control routine ends in step S790. Otherwise, the control routine continues in step S720.

In Schritt S720 wird, wie bei 1 beschrieben, eine Messung des Motorstroms I_MEAS durchgeführt. Hierbei wird für das aktuelle Hallsegment HCnt der Motorstrom I_MEAS(HCnt) ermittelt, also z.B. der Motorstrom I_MEAS(1) für das Hallsegment 1, falls dieses aktuell ist.In step S720, as with 1 described a measurement of the motor current I_MEAS performed. In this case, the motor current I_MEAS (HCnt) is determined for the current Hall segment HCnt, that is, for example, the motor current I_MEAS (1) for the Hall segment 1, if this is current.

In Schritt S730 wird der im aktuellen Hallsegment HCnt gemessene Motorstrom I_MEAS(HCnt) mit dem im zuvor erfassten Hallsegment HCnt-1 gemessenen Motorstrom I_MEAS(HCnt-1) verglichen. Hierbei wird eine Abweichung des Motorstroms I_MEAS(HCnt) von dem Motorstrom I_MEAS(HCnt-1) bestimmt. Falls diese Abweichung kleiner als Null ist, d.h. I_MEAS(HCnt) < I_MEAS(HCnt-1), fährt die Steuerroutine I_SYM in Schritt S760 fort. Sonst fährt sie im Schritt S740 fort.In Step S730 becomes the motor current measured in the current Hall segment HCnt I_MEAS (HCnt) with the previously detected Hall segment HCnt-1 measured Motor current I_MEAS (HCnt-1) compared. This is a deviation of the motor current I_MEAS (HCnt) from the motor current I_MEAS (HCnt-1). If this deviation is less than zero, i. I_MEAS (HCnt) <I_MEAS (HCnt-1), she drives Control routine I_SYM in step S760. Otherwise she drives in step S740.

In Schritt S760 wird bestimmt, ob der Kommutierungs-Offset T_Offset(HCnt-1) größer als ein vorgegebener unterer Grenzwert (hier Null) ist. Dieser untere Grenzwert kann anwendungsspezifisch vorgegeben werden. Falls der Kommutierungs-Offset T_Oftset(HCnt-1) größer als der untere Grenzwert ist, wird T_Oftset(HCnt-1) in Schritt S770 bevorzugt um den Wert 1 dekrementiert, bevor die Steuerroutine I_SYM in Schritt S780 fortfährt. Ansonsten wird keine Dekrementierung des Kommutierungs-Offsets durchgeführt, so dass die Steuerroutine I_SYM nach Schritt S760 in Schritt S780 fortfährt. Somit kann vermieden werden, dass der untere Grenzwert für den Kommutierungs-Offset T_Oftset(HCnt-1) durch die Dekrementierung in Schritt S770 unterschritten wird (Vermeidung eines Underflow).In Step S760 determines whether the commutation offset T_Offset (HCnt-1) greater than is a predetermined lower limit (here zero). This lower one Limit can be specified application-specific. If the Commutation offset T_Oftset (HCnt-1) is greater than the lower limit, T_Oftset (HCnt-1) is preferably decremented by the value 1 in step S770, before the control routine I_SYM continues in step S780. Otherwise if no decrementation of the commutation offset is performed, then the control routine I_SYM proceeds to step S780 after step S760. Consequently can be avoided that the lower limit for the commutation offset T_Oftset (HCnt-1) by decrementing in step S770 below will (avoid an underflow).

In Schritt S740 wird geprüft, ob der Kommutierungs-Offset T_Offset(HCnt-1) größer als ein vorgegebener oberer Grenzwert ist. Dieser obere Grenzwert kann anwendungsspezifisch vorgegeben werden und ist in 7 beispielhaft zu 200 gesetzt. Falls der Kommutierungs-Offset T_Offset(HCnt-1) nicht größer ist als der obere Grenzwert (d.h. T_Offset(HCnt-1) ≤ 200), wird T_Offset(HCnt-1) in Schritt S750 bevorzugt um den Wert 1 inkrementiert, bevor die Steuerroutine I_SYM in Schritt S780 fortfährt. Andernfalls wird keine Inkrementierung des Kommutierungs-Offsets durchgeführt, sodass die Steuerroutine I_SYM nach Schritt S740 in Schritt S780 fortfährt. So wird vermieden, dass durch eine Inkrementierung im Schritt S750 der obere Grenzwert für den Kommutierungs-Offset T_Oftset(HCnt-1) überschritten wird, wodurch ein Overflow auftreten würde. Die Begrenzung des Kommutierungs-Offsets nach oben und nach unten stellt sicher, dass dieser keine ungeeigneten Werte annimmt.In step S740, it is checked whether the commutation offset T_Offset (HCnt-1) is greater than a predetermined upper limit value. This upper limit can be specified application-specific and is in 7 set to 200, for example. If the commutation offset T_Offset (HCnt-1) is not greater than the upper limit (ie, T_Offset (HCnt-1) ≤ 200), then T_Offset (HCnt-1) is incremented by the value 1 in step S750 before the control routine I_SYM continues in step S780. Otherwise, no incrementation of the commutation offset is performed so that the control routine I_SYM proceeds to step S780 after step S740. This avoids that the upper limit value for the commutation offset T_Oftset (HCnt-1) is exceeded by an incrementation in step S750, whereby an overflow would occur. Limiting the commutation offset up and down ensures that it does not take inappropriate values.

In Schritt S780 wird das Funktionsbit FCT_I_SYM zu Null zurückgesetzt, bevor die Steuerroutine I_SYM von 7 in Schritt S790 endet und das Hauptprogramm von 4 wie oben beschrieben bei Schritt S430 fortfährt. Dadurch, dass FCT_I_SYM in S780 zurückgesetzt wird, kann ein weiterer Aufruf der Steuerroutine I_SYM durch das Hauptprogramm (4) bis zur nächsten Ausführung der ISR_HALL (6) verhindert werden. Somit wird eine zweite oder weitere Inkrementierung oder Dekrementierung ein und desselben Kommutierungs-Offsets innerhalb eines einzelnen Hallsegments, d.h. vor Auftreten eines nächsten Polwechsels, verhindert.In step S780, the function bit FCT_I_SYM is reset to zero before the control routine I_SYM of 7 in step S790 ends and the main program of 4 as described above, proceeds to step S430. Because FCT_I_SYM is reset in S780, another call of the control routine I_SYM by the main program ( 4 ) until the next execution of ISR_HALL ( 6 ) be prevented. Thus, a second or further incrementing or decrementing one and the same commutation offset within a single Hall segment, ie before the occurrence of a next pole change, prevented.

Es wird darauf hingewiesen, dass in der Steuerroutine I_SYM (7) wie beschrieben im aktuellen Hallsegment HCnt der Kommutierungs-Offset T_Offset(HCnt-1) aktualisiert wird. Dieser Kommutierungs-Offset dient zur Individualisierung des Zündwinkels beim Polwechsel vom Hallsegment HCnt-1 zum Hallsegment HCnt. Dementsprechend wird der aktualisierte Kommutierungs-Offset T_Offset(HCnt-1) erst nach einer im Wesentlichen vollständigen mechanischen Umdrehung des Rotors 124 zur Individualisierung des Zündwinkels bei der Frühkommutierung vor dem nächsten Auftreten dieses Polwechsels verwendet.It should be noted that in the control routine I_SYM ( 7 ) as described in the current Hall segment HCnt the commutation offset T_Offset (HCnt-1) is updated. This commutation offset is used to individualize the ignition angle during pole change from the Hall segment HCnt-1 to the Hall segment HCnt. Accordingly, the updated commutation offset T_Offset (HCnt-1) does not become effective until after a substantially complete mechanical revolution of the rotor 124 used for individualizing the ignition angle at the Frühkommutierung before the next occurrence of this pole change.

8 zeigt ein Flussdiagramm eines Verfahrens 800, mit dem die Steuerroutine 176 (ADVANCE_COMMUT) von 1 gemäß einer bevorzugten Ausführungsform der Erfindung realisiert wird. Wie oben bei 4 beschrieben, wird diese Steuerroutine ADVANCE_COMMUT bevorzugt im Schritt S435 des Hauptprogramms (4) ausgeführt, wenn das Funktionsbit FCT_ADVANCE_COMMUT = 1 ist. 8th shows a flowchart of a method 800 with which the control routine 176 (ADVANCE_COMMUT) from 1 is realized according to a preferred embodiment of the invention. As above 4 this control routine ADVANCE_COMMUT is preferred in step S435 of the main program ( 4 ) is executed when the function bit FCT_ADVANCE_COMMUT = 1.

Die Routine ADVANCE_COMMUT beginnt mit Schritt S810, in dem, wie bei 6 beschrieben, ein aktueller Zeitpunkt bzw. ein Momentanzeitwert für die Variable t_Timer1 bestimmt wird, welcher mit einem Zeitwert verglichen wird, der aus t HALL, dem Default-Wert T_Default für den Zündwinkel zur Frühkommutierung und dem Kommutierungs-Offset T_Offset(HCnt) gebildet wird. Somit wird in Schritt S810 überprüft, ob in einem entsprechenden Hallsegment HCnt seit dem Polwechsel zum Zeitpunkt t_HALL zu Beginn dieses Hallsegments HCnt die vorgegebene Zeitdauer T_Default + T_Offset(HCnt) bis zur Auslösung der Frühkommutierung abgelaufen ist. Falls die vorgegebene Zeitdauer noch nicht abgelaufen ist (d.h. t_Timer1 ≤ t_HALL + T_Default + T_Offset(HCnt)), endet die Routine ADVANCE_COMMUT in Schritt S840. Ansonsten fährt die Routine in Schritt S820 fort.The routine ADVANCE_COMMUT begins with step S810 in which, as with 6 described, a current time or a momentary value for the variable t_Timer1 is determined, which is compared with a time value, which is formed from t HALL, the default value T_Default for the firing angle for early commutation and the commutation offset T_Offset (HCnt). Thus, it is checked in step S810 whether in a corresponding Hall segment HCnt since the pole change at the time t_HALL at the beginning of this Hall segment HCnt the predetermined time T_Default + T_Offset (HCnt) has expired until the initiation of the early commutation. If the predetermined period of time has not yet elapsed (ie, t_Timer1≤t_HALL + T_Default + T_Offset (HCnt)), the routine ADVANCE_COMMUT ends in step S840. Otherwise, the routine continues in step S820.

In Schritt S820 wird der Motorstrom im Strang 126 wie oben bei 2 beschrieben kommutiert. In Schritt S830 wird dann das Funktionsbit FCT_ADVANCE_COMMUT zu FCT_ADVANCE_COMMUT = 0 zurückgesetzt, bevor die Steuerroutine ADVANCE_COMMUT in Schritt S840 endet und das Hauptprogramm von 4 wie oben beschrieben bei Schritt S440 fortfährt. Dadurch, dass FCT_ADVANCE_COMMUT in Schritt S830 zurückgesetzt wird, kann ein weiterer Aufruf der Steuerroutine ADVANCE_COMMUT durch das Hauptprogramm (4) bis zur nächsten Ausführung der Routine ISR_HALL (6) verhindert werden. Somit wird eine zweite oder weitere Kommutierung innerhalb eines einzelnen Hallsegments, d.h. vor Auftreten des nächsten Polwechsels, verhindert.In step S820, the motor current is stranded 126 as above at 2 described commutated. In step S830, the function bit FCT_ADVANCE_COMMUT is then reset to FCT_ADVANCE_COMMUT = 0 before the control routine ADVANCE_COMMUT ends in step S840 and the main program of 4 as described above, proceeds to step S440. By resetting FCT_ADVANCE_COMMUT in step S830, another call of the ADVANCE_COMMUT control routine by the main program (FIG. 4 ) until the next execution of routine ISR_HALL ( 6 ) be prevented. Thus, a second or further commutation within a single Hall segment, ie before the occurrence of the next pole change, prevented.

Erfindungsgemäß können Unsymmetrien im Motorstrom des ECM 120 während des Betriebs unter Verwendung geeigneter, individueller Zündwinkel mit entsprechenden individuellen Kommutierungs-Offsets kompensiert werden, wobei ungünstige Randbedingungen und Betriebsparameter einfach und schnell ausgeglichen werden.According to the invention, imbalances in the motor current of the ECM 120 be compensated for during operation using appropriate, individual firing angles with corresponding individual commutation offsets, whereby unfavorable boundary conditions and operating parameters are easily and quickly compensated.

Durch die stufenweise Inkrementierung/Dekrementierung dieser individuellen Kommutierungs-Offsets wird hierbei eine kontinuierliche Amplitudenangleichung des Motorstroms in unterschiedlichen Bestromungsphasen erreicht, d.h. dieser Vorgang erstreckt sich ggf. über eine größere Zahl von Umdrehungen des Rotors 124, besonders nach dem Einschalten des Motors 120.Due to the stepwise incrementation / decrementation of these individual commutation offsets, a continuous amplitude equalization of the motor current in different energization phases is achieved, ie this process possibly extends over a larger number of revolutions of the rotor 124 , especially after switching on the engine 120 ,

Naturgemäß sind im Rahmen der vorliegenden Erfindung vielfache Abwandlungen und Modifikationen möglich.By nature are in the Under the present invention multiple modifications and modifications possible.

So kann beispielsweise der Aufruf der Routine I_SYM 178 (7) nach der Zeit T_Meas_I und/oder der Aufruf der Routine ADVANCE_COMMUT (8) nach der Zeit T_Default + T_Offset(HCnt) durch einen auf die entsprechende Zeit gesetzten Timer und ggf. einen durch den Timer ausgelösten Timer-Interrupt gesteuert werden. Dies vermeidet das wiederholte Überprüfen (Polling), ob die entsprechende Zeit bereits abgelaufen ist (S710 in 7 und S810 in 8).For example, calling the routine I_SYM 178 ( 7 ) after the time T_Meas_I and / or the call of the routine ADVANCE_COMMUT ( 8th ) after the time T_Default + T_Offset (HCnt) are controlled by a timer set to the appropriate time and possibly a timer interrupt triggered by the timer. This avoids repeated checking (polling) whether the corresponding time has already expired (S710 in 7 and S810 in 8th ).

Anstelle der Addition eines individualisierenden Werts T_Offset(HCnt) zu einem Grundwert T_Default kann auch für jeden Rotorpol eine Variable T_Commut(HCnt) verwendet werden, wobei sämtliche Werte T_Commut(HCnt) bei der Initialisierung bspw. auf den Wert T_Default gesetzt werden. Die Symmetrierung erfolgt dann durch eine Anpassung der jeweiligen Werte T_Commut(HCnt).Instead of adding an individualizing value T_Offset (HCnt) A basic value T_Default can also have a variable T_Commut (HCnt) for each rotor pole. be used, with all Values T_Commut (HCnt) during initialization eg to the value T_Default be set. The symmetrization then takes place through a Adaptation of the respective values T_Commut (HCnt).

Mit dem erfindungsgemäßen Verfahren kann eine Frühkommutierung und/oder eine Spätkommutierung durchgeführt werden.With the method according to the invention can be an early commutation and / or a late commutation carried out become.

Solche und ähnliche Modifikationen liegen im Rahmen des fachmännischen Handelns.Such and similar Modifications are within the scope of expert action.

Claims (20)

Verfahren zur Kommutierung eines elektronisch kommutierten Motors (120), welcher einen Rotor (124), mindestens einen Strang (126), eine Endstufe (122) zur Beeinflussung eines durch den mindestens einen Strang (126) fließenden Motorstrom (320), und einen Rotorstellungssensor (140) zur Erzeugung eines Rotorstellungssignals (182) aufweist, welches Verfahren folgende Schritte aufweist: A) Nach einer Änderung des Rotorstellungssignals (182), welche einem Polwechsel zugeordnet ist, der auf eine Kommutierung des Motorstroms (320) durch den mindestens einen Strang (126) folgt und nachfolgend als erster Polwechsel bezeichnet wird, wird ein erster Wert (I_MEAS(HCnt-1)) des Motorstroms ermittelt; B) nach Ablauf einer vorgegebenen Zeitdauer (T_Default + T_Offset(HCnt-1)) nach dem ersten Polwechsel wird eine neue Kommutierung durchgeführt; C) nach einer Änderung des Rotorstellungssignals (182), welche auf die neue Kommutierung folgt und einem Polwechsel zugeordnet ist, der nachfolgend als zweiter Polwechsel bezeichnet wird, wird ein zweiter Wert für den Motorstrom (I_MEAS(HCnt)) ermittelt; D) abhängig vom Unterschied zwischen erstem Wert (I_MEAS(HCnt-1)) und zweitem Wert (I_MEAS(HCnt) wird der Wert für die vorgegebene Zeitdauer (T_Default + T_Offset(HCnt-1)) verändert, um bei einer Verwendung dieses veränderten Wertes eine Angleichung von erstem Wert für den Motorstrom und zweitem Wert für den Motorstrom zu bewirken.Method for commutating an electronically commutated motor ( 120 ), which has a rotor ( 124 ), at least one strand ( 126 ), an amplifier ( 122 ) for influencing one by the at least one strand ( 126 ) flowing motor current ( 320 ), and a rotor position sensor ( 140 ) for generating a rotor position signal ( 182 ), which method comprises the following steps: A) After a change in the rotor position signal ( 182 ), which is assigned to a pole change, which depends on a commutation of the motor current ( 320 ) through the at least one strand ( 126 ) and hereinafter referred to as a first pole change, a first value (I_MEAS (HCnt-1)) of the motor current is determined; B) after the lapse of a predetermined period of time (T_Default + T_Offset (HCnt-1)) after the first pole change, a new commutation is carried out; C) after a change of the rotor position signal ( 182 ), which follows the new commutation and is assigned a pole change, which will be referred to as second pole change hereinafter, a second value for the motor current (I_MEAS (HCnt)) is determined; D) Depending on the difference between the first value (I_MEAS (HCnt-1)) and the second value (I_MEAS (HCnt)), the value for the predetermined time period (T_Default + T_Offset (HCnt-1)) is changed to use this changed value to effect an equalization of the first value for the motor current and the second value for the motor current. Verfahren nach Anspruch 1, bei welchem nach Erreichen einer Mindestdrehzahl (Nmin) des Motors die Schritte A) bis D) ständig wiederholt werden.The method of claim 1, wherein Reaching a minimum speed (Nmin) of the motor, the steps A) to D) are repeated constantly. Verfahren nach Anspruch 1 oder 2, bei welchem im Schritt D) durch die Veränderung des Werts für die vorgegebene Zeitdauer (T_Default + T_Offset(HCnt-1)) der Zeitpunkt der neuen Kommutierung nach einer nächsten Erfassung des ersten Polwechsels geändert wird, um eine Amplitudenangleichung des Motorstroms (320) in verschiedenen Drehwinkelbereichen (212, 214, 216, 218) des mindestens einen Strangs (126) zu bewirken.The method of claim 1 or 2, wherein in step D) by changing the value for the predetermined period of time (T_Default + T_Offset (HCnt-1)) the time of the new commutation is changed after a next detection of the first pole change to an amplitude equalization of the motor current ( 320 ) in different rotation angle ranges ( 212 . 214 . 216 . 218 ) of the at least one strand ( 126 ) to effect. Verfahren nach einem der Ansprüche 1 bis 3, bei welchem die vorgegebene Zeitdauer (T_Default + T_Offset(HCnt-1)) derart festgelegt wird, dass oberhalb einer vorgegebenen Mindestdrehzahl (Nmin) jede Kommutierung des Motorstroms eine Frühkommutierung ist.Method according to one of claims 1 to 3, wherein the predetermined period of time (T_Default + T_Offset (HCnt-1)) so determined is that above a given minimum speed (Nmin) every Commutation of the motor current is an early commutation. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem nach jedem Polwechsel nach Ablauf der zugeordneten vorgegebenen Zeitdauer (T_Default + T_Offset(HCnt-1)) eine Kommutierung des Motorstroms durchgeführt wird, wobei für die Ermittlung der vorgegebenen Zeitdauer ein Vorgabewert (5: T_Default) als Ausgangswert verwendet wird, der um einen Kommutierungs-Offset (T_Oftset(HCnt-1)) erhöht wird.Method according to one of the preceding claims, wherein after each pole change after expiration of the assigned predetermined period of time (T_Default + T_Offset (HCnt-1)) a commutation of the motor current is performed, wherein for the determination of the predetermined time duration a default value ( 5 : T_Default) is used as the output value, which is increased by a commutation offset (T_Oftset (HCnt-1)). Verfahren nach Anspruch 4, bei welchem der Vorgabewert (T_Default) in einem dem Motor zugeordneten nichtflüchtigen Speicherelement (131) gespeichert wird.Method according to Claim 4, in which the default value (T_Default) in a nonvolatile memory element assigned to the motor ( 131 ) is stored. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem der Vorgabewert (T_Default) bei einer Kalibrierung des Motors ermittelt wird.Method according to one of the preceding claims, in which the default value (T_Default) at a calibration of the engine is determined. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem im Schritt D) der erste Wert des Motorstroms (I_MEAS(HCnt-1)) mit dem zweiten Wert (I_MEAS(HCnt)) verglichen wird (7: S730), um eine Abweichung des Motorstroms nach dem zweiten Polwechsel von dem Motorstrom nach dem ersten Polwechsel zu ermitteln, und in Abhängigkeit von der ermittelten Abweichung (7: S730) die vorgegebene Zeitdauer (T_Default + T_Oftset(HCnt-1)) verändert wird.Method according to one of the preceding claims, in which in step D) the first value of the motor current (I_MEAS (HCnt-1)) is compared with the second value (I_MEAS (HCnt)) ( 7 : S730) in order to determine a deviation of the motor current after the second pole change from the motor current after the first pole change, and in dependence on the determined deviation ( 7 : S730) the predetermined time duration (T_Default + T_Oftset (HCnt-1)) is changed. Verfahren nach Anspruch 8, bei welchem die vorgegebene Zeitdauer vergrößert wird (7: S750), falls der zweite Wert (I_MEAS(HCnt)) größer ist als der erste Wert (I_MEAS(HCnt-1)).Method according to Claim 8, in which the predetermined period of time is increased ( 7 : S750) if the second value (I_MEAS (HCnt)) is greater than the first value (I_MEAS (HCnt-1)). Verfahren nach Anspruch 9, bei welchem die Vergrößerung durch Inkrementierung um einen Festwert erfolgt (7: S750).Method according to Claim 9, in which the enlargement is effected by incrementing by a fixed value ( 7 : S750). Verfahren nach Anspruch 9 oder 10, bei welchem die Vergrößerung derart erfolgt, dass für den jeweiligen Kommutierungs-Offset (T_Offset(HCnt-1)) ein vorgegebener oberer Grenzwert nicht überschritten wird (7: S740).Method according to Claim 9 or 10, in which the magnification takes place in such a way that a predetermined upper limit is not exceeded for the respective commutation offset (T_Offset (HCnt-1)) ( 7 : S740). Verfahren nach Anspruch 8, bei welchem die vorgegebene Zeitdauer (T_Default + T_Offset(HCnt-1)) verringert wird, falls der zweite Wert kleiner ist als der erste Wert (7: S770).Method according to Claim 8, in which the predetermined time duration (T_Default + T_Offset (HCnt-1)) is reduced if the second value is less than the first value ( 7 : S770). Verfahren nach Anspruch 12, bei welchem die Verringerung durch eine Dekrementierung um einen Festwert erfolgt (7: S770).Method according to Claim 12, in which the reduction takes place by decrementing by a fixed value ( 7 : S770). Verfahren nach Anspruch 13, bei welchem die Dekrementierung derart erfolgt, dass ein für den Kommutierungs-Offset vorgegebener unterer Grenzwert nicht unterschritten wird (7: S760).Method according to Claim 13, in which the decrementation takes place in such a way that a lower limit value specified for the commutation offset is not undershot ( 7 : S760). Verfahren nach einem der Ansprüche 8 bis 13, bei welchem der Kommutierungs-Offset (T_Offset(HCnt-1)) nur dann ermittelt wird, wenn der Rotor (124) sich zumindest mit einer vorgegebenen Mindestdrehzahl (Nmin) dreht.Method according to one of Claims 8 to 13, in which the commutation offset (T_Offset (HCnt-1)) is determined only when the rotor ( 124 ) rotates at least at a predetermined minimum speed (Nmin). Verfahren nach einem der Ansprüche 8 bis 15, bei welchem der Kommutierungs-Offset (T_Offset(HCnt-1)) nach jeder Umdrehung des Rotors (124) aktualisiert wird.Method according to one of claims 8 to 15, wherein the commutation offset (T_Offset (HCnt-1)) after each revolution of the rotor ( 124 ) is updated. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem der erste Wert des Motorstroms (I_MEAS(HCnt-1)) bei Schritt A) nach Ablauf einer vorgegebenen Wartezeit (2: t_MEAS) nach der ersten Änderung des Rotorstellungssignals (261, 262, 263, 264) ermittelt wird.Method according to one of the preceding claims, in which the first value of the motor current (I_MEAS (HCnt-1)) in step A) after a predetermined waiting time ( 2 : t_MEAS) after the first change of the rotor position signal ( 261 . 262 . 263 . 264 ) is determined. Verfahren nach einem der vorhergehenden Ansprüche, bei welchem zumindest die Schritte C) und D) nur dann ausgeführt werden, wenn eine Symmetrierung des Motorstroms (320) angefordert (6: S670) wird.Method according to one of the preceding claims, in which at least steps C) and D) are carried out only if a balancing of the motor current ( 320 ) requested ( 6 : S670). Verfahren nach Anspruch 18, bei welchem eine Interrupt-Serviceroutine (152; ISR_HALL) vorgesehen ist, durch welche im Betrieb die Symmetrierung des Motorstroms angefordert wird (6: S670).The method of claim 18, wherein an interrupt service routine ( 152 ; ISR_HALL) is provided, through which the symmetrization of the motor current is requested during operation ( 6 : S670). Elektronisch kommutierter Motor, welcher aufweist: Einen permanentmagnetischen Rotor (124) mit mindestens zwei Rotorpolen (183, 186, 188, 189; einen Stator (125) mit mindestens einem Strang (126); eine Endstufe (122) zur Beeinflussung eines durch den mindestens einen Strang (126) fließenden Stroms (320); einen von der Stellung des Rotors (124) gesteuerten Rotorstellungssensor (140) zur Erzeugung eines Rotorstellungssignals (182); eine Steuerschaltung (130), welche dem Motor (120) zugeordnet und dazu ausgebildet ist, folgende Schritte zwecks Vergleichmäßigung des Motorstroms (320) auszuführen: A) Nach einer Änderung (261, 262, 263, 264) des Rotorstellungssignals (182), welche einem Wechsel (t_HALL) zwischen zwei Rotorpolen zugeordnet ist und auf eine Kommutierung des Stroms (320) durch den mindestens einen Strang (126) folgt, welcher Wechsel nachfolgend als erster Polwechsel bezeichnet wird, wird ein erster Wert (I_MEAS(HCnt-1)) des Motorstroms (320) ermittelt; B) Nach Ablauf einer vorgegebenen Zeitdauer (T_Default + T_Offset(HCnt-1)) nach dem ersten Polwechsel wird eine neue Kommutierung durchgeführt; C) Nach einer Änderung (261, 262, 263, 264) des Rotorstellungssignals (182), welche auf die neue Kommutierung folgt und einem Wechsel zwischen zwei Rotorpolen zugeordnet ist, der nachfolgend als zweiter Polwechsel bezeichnet wird, wird ein zweiter Wert für den Motorstrom (I_MEAS(HCnt)) ermittelt; D) abhängig vom Unterschied zwischen erstem Wert (I_MEAS(HCnt-1)) und zweitem Wert (I_MEAS(HCnt) wird der Wert für die vorgegebene Zeitdauer (T_Default + T_Offset(HCnt-1)) verändert, um bei einer Benutzung dieses veränderten Wertes eine Angleichung von erstem Wert für den Motorstrom und zweitem Wert für den Motorstrom zu bewirken.Electronically commutated motor, comprising: a permanent magnet rotor ( 124 ) with at least two rotor poles ( 183 . 186 . 188 . 189 ; a stator ( 125 ) with at least one strand ( 126 ); an amplifier ( 122 ) for influencing one by the at least one strand ( 126 ) flowing stream ( 320 ); one of the position of the rotor ( 124 ) controlled Rotor position sensor ( 140 ) for generating a rotor position signal ( 182 ); a control circuit ( 130 ), which the engine ( 120 ) and is adapted to carry out the following steps to equalize the motor current ( 320 ): A) After an amendment ( 261 . 262 . 263 . 264 ) of the rotor position signal ( 182 ), which is assigned to a change (t_HALL) between two rotor poles and to a commutation of the current ( 320 ) through the at least one strand ( 126 ), which change is referred to as a first pole change, a first value (I_MEAS (HCnt-1)) of the motor current ( 320 ) determined; B) After the expiration of a predetermined period of time (T_Default + T_Offset (HCnt-1)) after the first pole change, a new commutation is performed; C) After a change ( 261 . 262 . 263 . 264 ) of the rotor position signal ( 182 ), which follows the new commutation and is associated with a change between two rotor poles, which is referred to as a second pole change hereinafter, a second value for the motor current (I_MEAS (HCnt)) is determined; D) depending on the difference between the first value (I_MEAS (HCnt-1)) and the second value (I_MEAS (HCnt)), the value for the predetermined time period (T_Default + T_Offset (HCnt-1)) is changed to use this changed value to effect an equalization of the first value for the motor current and the second value for the motor current.
DE102006052966A 2005-11-11 2006-11-08 Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value Withdrawn DE102006052966A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102006052966A DE102006052966A1 (en) 2005-11-11 2006-11-08 Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102005055327 2005-11-11
DE102005055327.3 2005-11-11
DE102006052966A DE102006052966A1 (en) 2005-11-11 2006-11-08 Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value

Publications (1)

Publication Number Publication Date
DE102006052966A1 true DE102006052966A1 (en) 2007-05-24

Family

ID=37989724

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006052966A Withdrawn DE102006052966A1 (en) 2005-11-11 2006-11-08 Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value

Country Status (1)

Country Link
DE (1) DE102006052966A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010112931A1 (en) * 2009-04-04 2010-10-07 Dyson Technology Limited Constant-power electric system
US8373371B2 (en) 2009-04-04 2013-02-12 Dyson Technology Limited Control of an electric machine
US8432114B2 (en) 2009-04-04 2013-04-30 Dyson Technology Limited High-speed electric system
US8487569B2 (en) 2009-04-04 2013-07-16 Dyson Technology Limited Control of an electric machine
US8561253B2 (en) 2009-04-04 2013-10-22 Dyson Technology Limited Control of an electric machine
US8604729B2 (en) 2009-04-04 2013-12-10 Dyson Technology Limited Control of a permanent-magnet motor
US8614557B2 (en) 2009-04-04 2013-12-24 Dyson Technology Limited Control of an electric machine
US8710778B2 (en) 2009-04-04 2014-04-29 Dyson Technology Limited Control of an electric machine
US8736200B2 (en) 2009-04-04 2014-05-27 Dyson Technology Limited Power tuning an electric system
US9742318B2 (en) 2009-04-04 2017-08-22 Dyson Technology Limited Control of an electric machine
US9742319B2 (en) 2009-04-04 2017-08-22 Dyson Technology Limited Current controller for an electric machine
CN119687780A (en) * 2023-09-22 2025-03-25 上海御微半导体技术有限公司 Motor commutation calibration method, device, system and medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010112931A1 (en) * 2009-04-04 2010-10-07 Dyson Technology Limited Constant-power electric system
US8373371B2 (en) 2009-04-04 2013-02-12 Dyson Technology Limited Control of an electric machine
US8432114B2 (en) 2009-04-04 2013-04-30 Dyson Technology Limited High-speed electric system
US8474095B2 (en) 2009-04-04 2013-07-02 Dyson Tehcnology Limited Constant-power electric system
US8487569B2 (en) 2009-04-04 2013-07-16 Dyson Technology Limited Control of an electric machine
US8561253B2 (en) 2009-04-04 2013-10-22 Dyson Technology Limited Control of an electric machine
US8604729B2 (en) 2009-04-04 2013-12-10 Dyson Technology Limited Control of a permanent-magnet motor
US8614557B2 (en) 2009-04-04 2013-12-24 Dyson Technology Limited Control of an electric machine
US8710778B2 (en) 2009-04-04 2014-04-29 Dyson Technology Limited Control of an electric machine
US8736200B2 (en) 2009-04-04 2014-05-27 Dyson Technology Limited Power tuning an electric system
US9742318B2 (en) 2009-04-04 2017-08-22 Dyson Technology Limited Control of an electric machine
US9742319B2 (en) 2009-04-04 2017-08-22 Dyson Technology Limited Current controller for an electric machine
CN119687780A (en) * 2023-09-22 2025-03-25 上海御微半导体技术有限公司 Motor commutation calibration method, device, system and medium

Similar Documents

Publication Publication Date Title
EP1786093B1 (en) Method and device for commutating an electronic commutated motor
EP0657989B1 (en) Method for controlling the speed of a collectorless DC motor and collectorless DC motor for performing the method
DE69731578T2 (en) Brushless motor control device and device for detecting the armature position of such a motor
DE60007878T2 (en) CONTROL OF AN ELECTRICAL RELUCTIVE MACHINE
EP2025054B1 (en) Method for operating and electronically commutated motor, and motor for carrying out a method such as this
EP1346462B1 (en) Method for limiting the current in an electric motor, and a motor for carrying out one such method
EP1105960B1 (en) Temperatur dependent speed control with microprocessor ror an electric motor
DE60201124T2 (en) Permanent magnet synchronous motor with an electronic device for starting the engine and a sensor device whose position depends on the motor-driven load
DE102006052966A1 (en) Electronically commutated motor commutation method, involves changing value for preset time period based on difference between two values of motor current to cause adjustment of values for current during application of changed value
DE102009036274A1 (en) Rotation detecting device and DC motor
EP1415390A1 (en) Method for controlling the commutation in an electronically commutated motor, and an electronically commutated motor for carrying out said method
DE102008058955A1 (en) Electronically commutated motor
DE10326606A1 (en) Method for commutating a brushless DC motor
EP1499008A2 (en) Method and control system for electronic commutation of brushless DC motors
EP1118152B1 (en) Electronically commutated motor
EP1854202A1 (en) Electric motor and method for controlling said motor
DE19804874A1 (en) Drive control arrangement for brushless motor
DE60030623T2 (en) Method and device for controlling brushless electric DC motors, in particular for moving the thread supply tube in weft supply devices for weaving machines
EP1124321B1 (en) AC-synchron motor
DE10026212A1 (en) Electric motor alarm configuration involves entering and storing parameter in motor&#39;s memory to influence alarm device routine in motor&#39;s microprocessor
DE102004033852A1 (en) Method of regulating the rotation rate of a two stroke electronic commutator motor with reduction torque such as for driving a computer fan in different rate ranges
EP2278339B1 (en) System of a single phase, electronically commutated motor and an electronic computing unit
EP1346464B1 (en) Method for controlling the commutation of an electronically commutated motor
EP1346460A2 (en) Method for commutating an electronically commutated dc motor, and motor for carrying out said method
EP1443635A1 (en) Method for driving a firing angle

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination

Effective date: 20131109