WO2015082317A1 - Auswertevorrichtung zur erzeugung eines drehzahlwerts - Google Patents

Auswertevorrichtung zur erzeugung eines drehzahlwerts Download PDF

Info

Publication number
WO2015082317A1
WO2015082317A1 PCT/EP2014/075877 EP2014075877W WO2015082317A1 WO 2015082317 A1 WO2015082317 A1 WO 2015082317A1 EP 2014075877 W EP2014075877 W EP 2014075877W WO 2015082317 A1 WO2015082317 A1 WO 2015082317A1
Authority
WO
WIPO (PCT)
Prior art keywords
hall
corr
rotor
position signal
rotor position
Prior art date
Application number
PCT/EP2014/075877
Other languages
English (en)
French (fr)
Inventor
Andreas Ginter
Markus Flaig
Markus Hirt
Wolfgang Hermann
Thomas SCHMIDT-ESTERLE
Original Assignee
Ebm-Papst St. Georgen Gmbh & 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
Priority claimed from DE102013113584.6A external-priority patent/DE102013113584A1/de
Priority claimed from DE102013113602.8A external-priority patent/DE102013113602A1/de
Application filed by Ebm-Papst St. Georgen Gmbh & Co. Kg filed Critical Ebm-Papst St. Georgen Gmbh & Co. Kg
Priority to DE112014005540.9T priority Critical patent/DE112014005540A5/de
Publication of WO2015082317A1 publication Critical patent/WO2015082317A1/de

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups
    • G01P21/02Testing or calibrating of apparatus or devices covered by the preceding groups of speedometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/14Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage
    • G01D5/142Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices
    • G01D5/145Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing the magnitude of a current or voltage using Hall-effect devices influenced by the relative movement between the Hall device and magnetic fields
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • G01P3/42Devices characterised by the use of electric or magnetic means
    • G01P3/44Devices characterised by the use of electric or magnetic means for measuring angular speed
    • G01P3/48Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage
    • G01P3/481Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals
    • G01P3/487Devices characterised by the use of electric or magnetic means for measuring angular speed by measuring frequency of generated current or voltage of pulse signals delivered by rotating magnets
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/17Circuit arrangements for detecting position and for generating speed information

Definitions

  • the invention relates to an evaluation device for generating a rotational speed value.
  • speed values are used to set this one
  • FIG. 2 shows a three-dimensional representation of a rotor housing with a plurality of rotor poles, a diagram for an electric motor, a rotor position signal, which was generated with the engine of Fig. 1, a diagram for explaining the calculation, a diagram in which a measured, uncorrected speed value is shown in a determination after every 1 ms. a diagram in which a measured, uncorrected speed value is shown in a determination after every 10 ms. a diagram in which a corrected speed value is shown.
  • FIG. 18 shows an example of measurement of the periods of time between each two changes of the time resulting from the different rotor poles
  • FIG. 1 shows by way of example an electric motor 10 for driving a drive roller 12, which is shown schematically, which is used, for example, to transport postal parcels in a conveyor system.
  • the electric motor 10 has an axis 14, via which the electric motor 10 is fastened to the conveyor system.
  • On the axis 14 is a
  • Stator assembly 20 attached, which a laminated core 22 and a
  • Winding arrangement 24 comprises.
  • a rotor assembly 30 has a rotor 32, a rotor housing 34 and a roller flange 36 which is connected to the rotor housing 34.
  • On the rotor housing 34 a plurality of rotor magnets 38 is arranged.
  • the rotor assembly 30 is rotatably supported by a first bearing 40 and a second bearing 42 on the axis 14, so that it can perform a rotation about a rotation axis 44.
  • the rotation of the rotor assembly 30 is transmitted to the drive roller 12 via the roller flange 36 so that the electric motor 10 can drive the drive roller 12.
  • the electric motor 10 is an external rotor motor, but it may e.g. also an internal rotor motor or a
  • Disc rotor motor can be used.
  • a rotational position detecting device (rotor position sensor assembly) 50 is disposed below the rotor magnet 38.
  • Rotary position detection device 50 preferably has three rotor position sensors 51, 52, 53, cf. Fig. 3.
  • the rotor magnet 38 is radially magnetized, so that the magnetic flux mainly between the
  • the rotor position sensor 51 is preferably arranged in the leakage flux of the rotor magnet 38 and measures the magnetic flux there.
  • FIG. 2 shows the rotor assembly 30 of FIG. 1 in a three-dimensional representation. Inside the rotor housing 34, the permanent magnet rotor magnets 38 are attached in the form of permanent magnet bar magnets. In this
  • the rotor assembly 30 fourteen rotor poles
  • the Stator assembly 20 has twelve stator poles.
  • the number of rotor poles 38 is arbitrary, ie, for example, 2, 4, 6, 8, etc. Particularly advantageous is the invention with a number of at least six rotor poles 38 in order to correct the errors that occur.
  • FIG. 3 shows a schematic representation of the drive circuit of the electric motor 10 of FIG. 1.
  • Winding arrangement 24 formed with the three phases U, V and W, which are connected as a star point circuit with a neutral point 94.
  • the phase U has a winding terminal 91, the phase W a winding terminal 92 and the phase W a winding terminal 93.
  • the winding terminals 91, 92 and 93 are connected to an output stage 80, which is exemplified as a full bridge circuit with six semiconductor switches (eg Mosfet or Bipolartransistor) 81 to 86 is formed.
  • the winding terminal 91 is connected via the semiconductor switch 81 to the intermediate circuit voltage 77 and via the semiconductor switch 84 to ground GND.
  • the winding terminal 92 is connected to the intermediate circuit voltage 77 via the semiconductor switch 82 and to ground GND 78 via the semiconductor switch 85.
  • the winding terminal 93 is connected via the semiconductor switch 83 to the intermediate circuit voltage 77 and via the semiconductor switch 86 to ground GND.
  • the semiconductor switches 81 to 86 are each associated with return diodes.
  • the rotor assembly 30 is driven by the winding assembly 24, and in the region of the rotor assembly 30 are three
  • Rotor position sensors 51, 52, 53 arranged to the rotational position of
  • Rotor assembly 30 to detect.
  • the rotor position sensors 51, 52, 53 are connected via lines 61, 62, 63 to a control device 60 and supply these rotor position signals RS1, RS2 and RS3.
  • MR magnetoresistive
  • AMR anisotropic magnetoresistive
  • the rotor position sensors 51, 52, 53 detect the magnetic flux generated by the rotor 32 to generate the rotor position signal.
  • Some of the names of variables used later (eg TJHALL) contain the term HALL, since HALL sensors are predominantly used.
  • the control device 60 is exemplified as a microcontroller ( ⁇ ), but it can also be designed as an ASIC.
  • the control device 60 can also be referred to as an evaluation device 60, since the evaluation takes place in it.
  • the control device 60 is connected via six lines 65 to a driver module (driver IC, DRV) 70, and the driver module 70 controls the six lines 71 to 76
  • control device 60 function blocks CTRL 64, POWER 66, n_RGL (speed controller) 67 and COMMUT 68, CALC_T_HALL_CORR 57 are shown, and a data memory MEM 56 is provided.
  • the data memory 56 is to
  • the control device 60 is connected via a data line (data bus) 55 to a non-volatile memory 54 to a
  • the rotor position sensors 51, 52, 53 detect the rotational position of
  • Rotor Assembly 30 Since the rotor position sensors 51, 52, 53 mainly detect the flux generated by the rotor magnets 38, the sequence of rotor position signals RS1, RS2 and RS3 repeats at constant speed, respectively, after one full revolution.
  • the control device 60 determines on the basis of the rotor position signals RS1, RS2 and RS3, which rotational position the rotor assembly 30 currently has, and in dependence on this rotational position takes place
  • the control device 60 knows how to influence the current in the winding assembly 24 at the given rotational position of the rotor assembly 30 via the output stage 80, so that the rotor assembly 30 is driven or is slowed down.
  • 4 shows the actually measured rotor position signals RS1, RS2 and RS3 for an electric motor 10 according to FIG. 1.
  • the rotor signals RS1, RS2 and RS3 each have changes in the form of ascending flanks and descending flanks.
  • a first time is plotted, at which the signal RS1 has a rising edge.
  • Time points 97 and 98 has fourteen changes, has the common
  • Rotor position signal RS at one full turn 3 * 14 42 change.
  • the time duration between two changes of the rotor position signal RS or the rotor position signals RS1, RS2 or RS3 would have to be constant at constant speed.
  • an evaluation of the signal RS has resulted in some significant deviations between the individual periods.
  • the percentage deviation in the example measurement was between -34% and + 26%. Calculation of a corrected speed value
  • FIG. 5 shows a schematic representation of the rotor position signal RS
  • the rotor position signal has in the representation a change at the point 96 and a second, adjacent change at the point 96 '.
  • electric motor usually the time TJHALL between the two changes 96, 96 'of the rotor position signal RS or RS1, RS2, RS3 used, which is reversed at identical angular intervals between the rotor poles is proportional to the speed n. It applies
  • n constl * (PHI_360 / T_360) (2A)
  • PHI_360 is the rotation angle of a complete revolution
  • T_360 is the time duration for one complete revolution
  • PHI_t is the theoretical value of the rotational angle extension between two changes of the rotor position signal for a perfect motor, where the angular distance between each two rotor poles is always the same and the rotor position sensors are perfectly positioned
  • This theoretical value corresponds to the average value of the rotational angle extension between two changes 96, 96 'of the rotor position signal, ie 360 ° mech in the present embodiment. / 42. In this case applies
  • the electric motor 10 described above has different angular distances between the individual rotor poles and / or a non-perfect arrangement of the rotor position sensors. This is particularly true when using the bar magnets 38 shown in FIG. 2, where limits are placed on the accuracy of positioning. Therefore, the measurement between two changes of the rotor position signal RS or RS1, RS2, RS3 (in many cases) does not correspond to the
  • the equations (2C) and (3), respectively, for the measured TJHALL are not correct, and large differences between the individual rotational angular extents of the rotor poles result in correspondingly large errors.
  • Rotor position signal RS leads to a significantly better result.
  • T_H ALL_CORR (n) (PH l_t / PH l_m) * T_H ALL (n) (4)
  • the correction factor F_HALL_CORR thus corresponds to the ratio of
  • Rotation angle extension PHI_m between two predetermined changes 96, 96 'of the rotor position signal RS to the average rotation angle extension PHIJ.
  • Rotation angle extension PHIJ between two changes of the rotor position signal averaged over an entire revolution, characterized. Since the average angular extent PHIJ over the fixed number of change of
  • Rotor position signal is proportional to the total rotation during one revolution, one can also say that the correction factor F_HALL_CORR the proportion of the rotational angle extension PHI_m at a complete revolution (360 ° mech.)
  • the rotational angle PHI is proportional to the time for rotation about this rotational angle, and therefore at constant rotational speed n1
  • T_360 (n1) time duration for a complete revolution at the speed n1
  • F_DIFF F_HALL_CORR_INV - 1, ie the actual percentage error.
  • the value T_360 (n1) / SPC_42 is thus the average time duration between two adjacent alternations of the rotor position signal RS.
  • Rotation angle extension PHI_t even if they were determined by measuring the durations TJHALL.
  • the value T_360 (n1) may be e.g. be measured by always following one
  • Rotation the time is measured, or it can be added all the measured time periods between each two adjacent changes of the rotor position signal.
  • 17 shows a schematic representation of an electric motor 10, which is controlled by a speed controller 152, 67, wherein the speed controller 152, 167 is supplied with the corrected speed signal T_HALL_CORR or n_CORR.
  • the speed controller 152, 67 has a comparator 152, a value T_HALL_s or n_s as a setpoint from a device GET_T_HALL_s 151, and a corrected speed value from a device CALC_T_HALL_CORR 155
  • T_HALL_CORR or n_CORR is supplied.
  • the controller n_RGL 67 e.g. a P controller, a PI controller or a PID controller, the difference signal DIFF supplied, and the controller n_RGL 67 outputs depending on the signal DIFF a control value SW to the electric motor M 10 to the corrected speed value T_HALL_CORR the motor 10 the setpoint
  • the electric motor 10 generates a rotor position signal RS and outputs this to the device CALC_T_HALL 153, which determines the distance TJHALL (or the rotational speed n) between two changes of the rotor position signal RS and outputs to the device CALC_T_HALL_CORR 155.
  • the device 155 is executed by a device FCT_SYNC_HALL_CNT;
  • FCT_GET_F_HALL_CORR_INV 154 is fed from the value TJHALL and the value F_HALL_CORR_INV the corrected speed value T_HALL_CORR or n_CORR, which characterizes the speed and is also shown in Fig. 8, and this speed value to the comparator 152 as an actual value to.
  • Speed controller 152, 67 greatly increased.
  • a very large dynamic in the speed control is possible.
  • the number of changes of the rotor position signal is entered for the range 0 to 200, ie for about five revolutions of the rotor.
  • FIG. 6 shows a diagram 101 in which a reference value 102 for the rotational speed and an uncorrected rotational speed value 103 are shown in a determination after every 1 ms.
  • the reference value 102 according to curve 101 is fairly accurate at about 336 rpm.
  • the uncorrected speed according to curve 103 (calculation after 1 ms in each case) fluctuates greatly and assumes values between 245 rpm and 420 rpm.
  • FIG. 7 shows a diagram 105 in which the reference value 102 for the rotational speed and an uncorrected rotational speed value 106 are shown in a determination after every 10 ms.
  • the uncorrected speed according to curve 105 (calculation after 10 ms in each case) assumes values between 300 rpm and 400 rpm.
  • the improvement over FIG. 6 comes from averaging over a relatively long period of time (the sum of the changes in the rotor position signal during the last 10 ms).
  • FIG. 8 shows a diagram 107 in which the reference value 102 for the rotational speed and a corrected rotational speed value 108 are shown according to the specified correction method.
  • the speed 107 corrected according to the method described above assumes values between approximately 330 rpm and 345 rpm, with the rotational speed 102 mostly being in the immediate vicinity of the reference curve 102.
  • Speed controller 67 supplied from Fig. 1, and in an electric motor 10, the one Driven drive roller with 50 mm diameter and 600 mm in length, a desired acceleration of 2 m / s 2 was achieved.
  • the electric motor 10 was accelerated from 0 rpm to 312 rpm within 48 flanks (1.14 revolutions of the rotor). This naturally requires a fast control behavior (or a high degree of dynamics), which is provided by the provision of the corrected
  • FIGS. 15 and 16 show two methods for determining the correction values for the correction of the rotational speed value n or T_HALL_CORR, which can be applied alternatively or else cumulatively.
  • the actual correction is independent of which of the two methods is chosen. For simplicity, only 14 different rotor poles MO to M13 are shown. This would be e.g. This would be the case if only the rotor position signal RS1 of FIG. 3 were evaluated. However, the method also works in an evaluation of the signal RS with 42 changes of the rotor position signal per revolution or with a different number of rotor poles.
  • FIG. 15 shows a first method in which the correction values F_HALL_CORR_INV or F_HALL_CORR are measured once and subsequently stored in a nonvolatile memory NVMEM. This has the advantage that the correction values under predetermined conditions (load,
  • the electric motor 10 drives the rotor 30, or the rotor 30 may also be driven by a - not shown - external motor.
  • the corresponding correction values F0 to F13 are stored in the right table, and are retrievable through an index INDEX taking the values 0 to 13.
  • the correction values F0 to F13 are assigned to the rotor poles MO to M13.
  • the control device 60 In many applications of motors (eg roller drive, fans, etc.), the control device 60, however, at the start of the electric motor 10, no information about the rotational position in which the rotor 10 is located. It is only known at the start that, depending on the selected direction of rotation, the rotor poles 38 in follow one another in a fixed sequence.
  • the upper half of Fig. 15 shows the state after starting the engine.
  • a variable HALL_CNT is set to the value 0, for example, at the beginning, and with each change of the rotor position signal RS, the counter HALL_CNT is increased by the value 1, where it is set to the value 0 again when the value 14 is reached, in order to assign a unique assignment to obtain the rotor poles 38.
  • the rotor pole 38 which is designated here by way of example with M2 and the corresponding changes of
  • the rotor pole M2 is associated with the correction value F2, which is stored on the right side below.
  • the values MO to M13 are therefore shown in parentheses for clarity, and the arrow between the left and right tables is shown with a question mark because no assignment is yet possible.
  • a routine GET_HALL_CNT_SYNC () is described below, which performs this assignment or synchronization. This is particularly easy at a largely constant speed possible by the times are measured between the individual changes of the rotor position signal RS. This results in a profile of the rotor poles 38 and the deviation of the rotor position signals RS generated by the imperfect rotor poles 38 from the ideal, and from this the assignment between the variables HALL_CNT (or the individual
  • Rotor pole 38 and the index INDEX (or the correction value F_HALL_CORR_INV).
  • the assignment can also take place with an accelerated rotation, in which case the influence of the acceleration must be taken into account.
  • an unambiguous association between the individual rotor pole 38 and the associated correction value F_HALL_CORR_INV is achieved, as shown in the lower half by the arrows running parallel to one another.
  • Electric motor 10 recorded and recorded with an oscilloscope having a better A / D converter than the usual, used in microprocessors of electric motors A / D converter. Subsequently, a manual evaluation of the times has taken place based on the recording of the oscilloscope. One can speak of a measurement under laboratory conditions.
  • Correction factor F_HALL_CORR specified, cf. Equation (5D).
  • the measurement of the values of column E is as in column D, but with the electric motor 10 and without additional aids.
  • the electric motor 10 has performed a speed control to a predetermined target speed n_s or T_HALL_s, and the
  • column F were also determined as the values of columns E and D, and they were measured after another start of the electric motor 10.
  • the correction values FO to F13 can - as described above - preferably be determined at a constant speed, or even at an accelerated speed. Preferably, the determination takes place when the electric motor 10 is regulated to a predetermined speed.
  • FCT_SYNC_HALL_CNT is set to the value 1.
  • FCT_GET_F_HALL_CORR_INV is set to the value 1.
  • Commutation routine COMMUT S206 is to be called. For this, it is checked whether the variable FCT_COMMUT has the value 1. If YES, a step occurs after S206 and otherwise a jump to S210. In S206 the
  • Commutation routine COMMUT is executed, and then jumped to S208, where the variable FCT_COMMUT is reset to the value 0. Subsequently, a jump to S210.
  • S210 it is checked whether the variable FCT_CALC_T_HALL_CORR has the value 1, ie whether the calculation of the corrected time period CALC_T_HALL was requested. If YES, a jump to S212, and if NO, a jump to S216.
  • the routine CALC_T_HALL_CORR is called, and there is a calculation of the corrected speed value T_HALL_CORR. Subsequently, the variable FCT_CALC_T_HALL_CORR is reset to zero in S214, and there is a jump to S216.
  • S216 it is checked whether the variable FCT_n_RGL has the value 1. If YES, a jump to S218 occurs. If NO, a jump to S222 occurs.
  • n_RGL a routine n_RGL is called, which performs a speed control and outputs a control value. Subsequently, the variable FCT_n_RGL is reset to zero in S220, and a jump to S222 occurs. In S222, the routine OTHER is called, which performs other tasks, such as receiving commands via an external control line. Subsequently, a jump back to S204.
  • a HALL interrupt HALLJnt is designated S230, and when the HALL interrupt occurs, routine HALL_lnterrupt_Routine S232 is called. In this routine
  • HALL_lnterrupt_Routine a change of the rotor position signal RS or RS1, RS2, RS3 is processed.
  • An interrupt S236 called TIMERJnt is triggered by a timer, e.g. B. each after a millisecond. At each trigger the routine becomes
  • TIMER_lnterrupt_Routine S238 is called.
  • the request of the routine CALC_T_HALL S212 by setting the variable FCT_CALC_T_HALL to the value 1 is made e.g. in each case after a HALL interrupt S230, ie after each change of the rotor position signal, or else in
  • T_HALL_CURRENT saved as current time duration. Subsequently, the current value t_TIMER0 of the timer TIMER 0 is stored in the variable t_TIMER0_OLD, and after the next change again the time duration
  • T_HALL_CURRENT can also be done in routine CALC_T_HALL_CORR. There is a jump to S252, where a counter HALL_CNT is incremented by one, and the operation mod SPC_42 is applied to the result.
  • the variable SPC_42 indicates the number of changes of the rotor position signal per
  • variable HALL_CNT thus always moves in the range between 0 and 41, since the variable is reset to zero when the number 42 is reached by the modulo operation mod. Since it does not make any difference to the motor, whether the motor has rotated 360 ° or 720 °, it is sufficient for the calculation, if the counter HALL_CNT is determined as described. Alternatively, the counter HALL_CNT can be constantly increased without the
  • Operation mod apply.
  • a corresponding assignment to a change of the rotor position signal can then be made e.g. when accessing the corresponding
  • Rotor position signal is written in a data field (array, vector) T_HALL [] at the location HALL_CNT.
  • a data field is marked with square brackets, e.g. T_HALL [], and the index i of a data field T_HALL [] with n elements starts at 0 and ends at n-1. If, for example, the second value of the data field T_HALL [] is considered, this is designated T_HALL [1].
  • the data field T_HALL [] thus contains this
  • the use of data fields is advantageous but not mandatory. It can e.g. also a plurality of variables are used, which are selected with a logic.
  • variable FCT_CALC_T_HALL is set to the value 1 in S255 to request the calculation of the speed value.
  • variable FCT_COMMUT is set to the value 1 in S256 to call the commutation routine COMMUT S206 in FIG. It is thus preferably commuted directly or directly to the change of the rotor position signal or the commutation is triggered directly by the change of the rotor position signal.
  • the commutation is then called in the main program of FIG. 9. Since the interrupt routine should be kept short, the
  • a synthetic signal can be generated which corresponds to that of a rotor with perfect magnet geometry
  • S281 it is checked whether the variable HALL_CNT_CURRENT has the value 1.
  • the value 1 is arbitrary, so it can be z. B. also 2, 3 or 4 are selected.
  • the goal is that once per revolution of the rotor steps S282, S283 and possibly S284 and S287 be called, so in the present embodiment, when the value of the variable HALL_CNT_CURRENT has the value 1. If not, a jump to S289 occurs.
  • the routine GET_SPEED_CONST () S282 is called, which checks whether the rotational speed is largely constant and, according to the result, sets a variable SPEED_CONST to the value 1 (constant) or 0 (not constant). Then in S283 the value of the variable SPEED_CONST is checked. If it is 1, a jump to S284 occurs, otherwise a jump to S289.
  • T_HALL_CORR calculated. If YES, a jump to S290 occurs, and the time T_HALL_CORR with correction is calculated.
  • the corrected time period T_HALL_CORR is calculated for the HALL counter HALL_CNT_CURRENT.
  • a data field T_HALL [] is preferably provided in which a value T_HALL_CORR is stored for each angular range of the rotor between two changes of the rotor position signal. Alternatively, only the last calculated value T_HALL_CORR can be saved.
  • the calculation of the corrected value T_HALL_CORR takes place by multiplying the non-corrected time duration TJHALL of the corresponding counter HALL_CNT_CURRENT by a correction value F_HALL_CORR_INV. Since the correction value F_HALL_CORR_INV depends on the current counter reading HALL_CNT, the assigned value must be selected. This is done by adding the values of the variables HALL_CNT_CURRENT and HALL_CNT_SYNC and then processing the result with the mod mod SPC_42.
  • HALL_CNT_SYNC specifies the relationship between the stored values in the data field F_HALL_CORR_INV and the counter HALL_CNT_CURRENT, and it is set in the routine SYNC_HALL_CNT S286, as described below.
  • Fig. 12 shows the routine GET_SPEED_CONST () S282 which checks if the
  • T_HALL_DIFF can be used to determine whether the speed during the last revolution was constant or has changed significantly.
  • the value EPSILON z. B. is 0.05 (5%). So if the deviation of the measured time is less than five percent, it is assumed that an electric motor with constant rotating speed.
  • the EPSILON variable may also have a lower value (eg 0.02) for a higher accuracy or a larger value (eg 0.08) for a lower one
  • SPEED_CONST is set to the value 0. Subsequently, a jump to S306 and the routine is exited. However, if the condition in S302 is fulfilled, a jump to S303 takes place, where the variable SPEED_CONST is set to the value 1. Subsequently, a jump to S306 and the routine is exited.
  • the quotient is thus smaller than EPSILON, ie less than 0.05, and synchronization can take place.
  • T_HALL_DIFF can also be compared directly with an absolute value. This is e.g. then possible if the
  • Synchronization takes place at a predetermined speed.
  • Fig. 13 shows the routine GET_HALL_CNT_SYNC S308. This is in step S290 of Fig. 1 1, the assignment of the in a correction value data field
  • F_HALL_CORR_INV [] allow stored values to counter HALL_CNT, as described for method 1.
  • the loop variable i is set to the value 0, and the variable i_max is set to the value 0.
  • the variable i_max is intended to indicate at which point of the data field T_HALL [] the stored value is maximum. Subsequently, it is checked in S312 whether the time period T_HALL [i] is greater than the time duration T_HALL [i_max]. If YES, a jump to S314 occurs. If NO, a jump to S316 occurs. In S314, the variable i_max is set to the value of the variable i since a new maximum was found. Subsequently, a jump to S316 occurs, where the variable i is incremented by the value 1.
  • variable i_max indicates at which point of the data field T_HALL [] the maximum time T_HALL [i_max] is located.
  • F_HALL_CORR_INV [i] is smaller at the position i than at the position i_min. If YES, a jump to S323, if NO, a jump to 324. In S323, the variable i_min is set to the value of the variable i, since a new minimum has been found at the location of the variable i. Subsequently, a jump to S324 occurs, where the variable i is incremented by one. In S326 it is then checked whether the variable i is smaller than the value SPC_42, ie whether all the fields of the data field
  • variable i_min has the value at which the data field F_HALL_CORR_INV [] has the minimum value F_HALL_CORR_INV [i_min].
  • the variable HALL_CNT_SYNC is calculated by calculating (i_min - i_max) mod SPC_42.
  • variable CORR_ACTIVE is then set to the value 1 in S329 in order to indicate that the synchronization has been carried out and from this point in time a calculation of the corrected time duration T_HALL_CORR can take place.
  • the synchronization thus takes place in such a way that, on the one hand, the maximum in the data field TJHALL [] is searched, which corresponds to the maximum time duration and thus to the maximum angular extent.
  • the inverse correction factor F_HALL_CORR_INV must have a minimum according to Embodiment, the corrected time F_HALL_CORR_INV is determined by multiplying the two variables mentioned.
  • variable HALL_CNT_SYNC enables a synchronization from the counter HALL_CNT to the data field F_HALL_CORR_INV [] shows the insertion of the
  • variable HALL_CNT may be added once by the value
  • variable HALL_CNT_SYNC successively receives all possible values 0 .. (SPC_42-1) and checks in which of the selected values the minimum deviations of all the corrected time durations T_HALL_CORR determined from each other occur in each case.
  • This routine may be used for the method 2, but it may also be used in the method 1 to determine the values stored in the non-volatile memory.
  • Result T_TOTAL corresponds to the average time duration between two changes of the rotor position signal RS, or the mean value of the time duration between two changes of the rotor position signal RS.
  • variable i is set to the value 0, and then in S360, the data field F_HALL_CORR_INV [] is filled with the correction values, and the correction values are calculated by the formula T_TOTAL / T_HALL [i].
  • variable i is incremented by the value 1, and a jump to S362 occurs.
  • variable FCT_GET_F_HALL_CORR_INV is set to the value 0, since the correction values are now determined and do not need to be recalculated.
  • variable HALL_CNT_SYNC is set to the value 0, since in the present variant the counter HALL_CNT with the data field
  • a rotor assembly 30 having a rotor 32, a stator assembly 20, a
  • Rotary position detection device 50 which is adapted to a
  • Rotor position signal RS to generate, which at predetermined rotational positions 97, 98, 99 of the rotor 32, a change of the rotor position signal RS; RS1, RS2, RS3, an evaluation device 60, which is adapted to the change of the rotor position signal, a speed value
  • T_HALL_CORR; n_CORR which characterizes the rotational speed of the rotor 32, wherein the evaluation device 60 is designed to carry out the following steps:
  • n is determined which the time duration between two predetermined changes 96, 96 'of the rotor position signal RS; RS1, RS2, RS3 characterized,
  • the rotational position detection device 50 has at least one rotor position sensor 51, 52, 52.
  • the evaluation device 60 is designed to set the time TJHALL between two predetermined changes 96, 96 'of the
  • Rotor position signal RS RS1, RS2, RS3 to determine which two predetermined changes 96, 96 'directly follow each other.
  • the electric motor has a data memory 56, 54, the rotor position signal RS; RS1, RS2, RS3 has a number n of changes per revolution of the rotor 32, and a number n of correction values are stored in the data memory 56, 54.
  • the data memory 54 is a non-volatile memory.
  • the evaluation device 60 is designed to determine the rotational speed value T_HALL_CORR; n_CORR after each change of the
  • the evaluation device 60 is designed to determine the rotational speed value T_HALL_CORR; n_CORR at predetermined time intervals to calculate.
  • the predetermined time intervals are predetermined by a timer TIMERJnt.
  • the evaluation device 60 is designed to determine the correction values F_HALL_CORR_INV when the rotor 32 rotates.
  • the electric motor has a speed controller, and the evaluation device 60 is adapted to the electric motor to a
  • the evaluation device 60 automatically regulates the electric motor to the predetermined rotational speed n_s after the start of the electric motor 10; T_HALL_s, the evaluation device 60 determines the correction values
  • the evaluation device 60 is configured to generate a first time duration S301 between two predetermined changes 96, 96 'of the rotor position signal RS; RS1, RS2, RS3 determine and then after at least one revolution of the rotor 32, a second time duration between the predetermined changes 96, 96 'of the rotor position signal RS; To determine RS1, RS2, RS3, which correspond to the rotational positions of the rotor, as in the determination have been used for the first time period and to determine the correction values F_HALL_CORR_INV only if the difference between the first time period and the second time duration is less than a predetermined limit value S302.
  • the electric motor has a non-volatile memory 54 in which the correction values F_HALL_CORR_INV are stored, and the evaluation device 60 is designed to determine the correction values
  • the evaluation device 60 has no assignment of the correction values F_HALL_CORR_INV from the nonvolatile memory at the start of the evaluation device 60, and the evaluation device 60 is configured to assign the correction values F_HALL_CORR_INV from the nonvolatile memory 54 to the predetermined changes 96, 96 'of the
  • Rotor position signal RS RS1, RS2, RS3.
  • the evaluation device 10 is designed for a plurality of changes 96, 96 'of the rotor position signal RS; RS1, RS2, RS3 the first value T_HALL; n, which characterizes the time duration between two changes of the rotor position signal, and by evaluation of the first values T_HALL; n the assignment of the correction values F_HALL_CORR_INV to the predetermined changes 96, 96 'of the rotor position signal RS; RS1, RS2, RS3.
  • the electric motor has a speed controller 152, 67, to which the speed value T_HALL_CORR; n_CORR is supplied.
  • the evaluation device 60 is designed to receive a current rotational speed value several times per revolution of the rotor 32
  • T_HALL_CORR; n_CORR, and the speed controller 152, 67 is configured to repeat the current speed value T_HALL_CORR; process n_CORR.
  • the rotor position signal RS; RS1, RS2, RS3 a number n of changes per revolution of the rotor 32, and the
  • average rotation angle extension PHI_t between two changes of the rotor position signal corresponds to an angle of 360 ° / n.
  • the electric motor is designed to be
  • Trigger rotor position signal Trigger rotor position signal
  • the rotational position detecting device 50 may be formed as a sensorless detection detecting the voltage which is induced in the winding assembly during operation, e.g. is disclosed in EP 2 343 797 A2, EP 2 220 755 B1 or in EP 1 596 495 B1.
  • the corresponding sensorless detected signals can be used as the rotor position signal RS.

Landscapes

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

Abstract

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

Description

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

Claims

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE112014005540.9T DE112014005540A5 (de) 2013-12-05 2014-11-27 Auswertevorrichtung zur Erzeugung eines Drehzahlwerts

Applications Claiming Priority (4)

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

Publications (1)

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

Family

ID=52011188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/075877 WO2015082317A1 (de) 2013-12-05 2014-11-27 Auswertevorrichtung zur erzeugung eines drehzahlwerts

Country Status (2)

Country Link
DE (1) DE112014005540A5 (de)
WO (1) WO2015082317A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016203616A1 (de) * 2016-03-04 2017-09-07 Lenze Drives Gmbh Vernier-Außenläufermaschine und Motorsystem

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19622042A1 (de) * 1996-05-31 1997-12-04 Siemens Ag Verfahren zum Erkennen und Korrigieren von Fehlern bei der Zeitmessung an sich drehenden Wellen
DE102005019515A1 (de) * 2004-05-15 2005-12-08 Luk Lamellen Und Kupplungsbau Beteiligungs Kg Verfahren zum Messen der Drehzahl eines EC-Motors
EP1596495B1 (de) 2004-05-12 2011-04-27 ebm-papst St. Georgen GmbH & Co. KG Verfahren zum sensorlosen Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens
EP2343797A2 (de) 2010-01-12 2011-07-13 Ebm-Papst St. Georgen GmbH & CO. KG Einphasiger elektronisch kommutierter Motor
EP2220755B1 (de) 2007-12-18 2011-09-07 Ebm-Papst St. Georgen GmbH & CO. KG Elektronisch kommutierter motor
DE102010062273A1 (de) * 2010-12-01 2012-06-06 Continental Teves Ag & Co. Ohg Verfahren zur Bestimmung der Drehzahl einer Synchronmaschine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19622042A1 (de) * 1996-05-31 1997-12-04 Siemens Ag Verfahren zum Erkennen und Korrigieren von Fehlern bei der Zeitmessung an sich drehenden Wellen
EP1596495B1 (de) 2004-05-12 2011-04-27 ebm-papst St. Georgen GmbH & Co. KG Verfahren zum sensorlosen Betrieb eines elektronisch kommutierten Motors, und Motor zur Durchführung eines solchen Verfahrens
DE102005019515A1 (de) * 2004-05-15 2005-12-08 Luk Lamellen Und Kupplungsbau Beteiligungs Kg Verfahren zum Messen der Drehzahl eines EC-Motors
EP2220755B1 (de) 2007-12-18 2011-09-07 Ebm-Papst St. Georgen GmbH & CO. KG Elektronisch kommutierter motor
EP2343797A2 (de) 2010-01-12 2011-07-13 Ebm-Papst St. Georgen GmbH & CO. KG Einphasiger elektronisch kommutierter Motor
DE102010062273A1 (de) * 2010-12-01 2012-06-06 Continental Teves Ag & Co. Ohg Verfahren zur Bestimmung der Drehzahl einer Synchronmaschine

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016203616A1 (de) * 2016-03-04 2017-09-07 Lenze Drives Gmbh Vernier-Außenläufermaschine und Motorsystem
US11296579B2 (en) 2016-03-04 2022-04-05 Lenze Drives Gmbh Vernier external rotor machine and motor system

Also Published As

Publication number Publication date
DE112014005540A5 (de) 2016-11-03

Similar Documents

Publication Publication Date Title
EP2272162B1 (de) Offsetwinkelbestimmung bei synchronmaschinen
DE112007001630B4 (de) Verfahren und Vorrichtung zur Bestimmung der Rotorposition bei einem bürstenlosen und sensorlosen Elektromotor
EP2646836B1 (de) Verfahren zur bestimmung der drehzahl einer synchronmaschine
EP1087232B1 (de) Verfahren zur Messung einer Frequenzinformation, insbesondere einer Drehzahlinformation bei einem Motors, und Vorrichtung zur Durchführung eines solchen Verfahrens
EP1413045A1 (de) Verfahren zum bestimmen eines numerischen wertes für die zeitliche dauer eines sich periodisch wiederholenden impulsförmigen signals, und vorrichtung zur durchführung eines solchen verfahrens
DE102012222080A1 (de) Motorsteuervorrichtung
EP1214602B1 (de) Verfahren zur drehzahlregelung eines motors und motor zur durchführung eines solchen verfahrens
WO2023208272A1 (de) Verfahren zur bestimmung einer initialen rotorlage eines rotors, computerprogrammprodukt, steuereinheit, elektrische maschine, prüf- und/oder testverfahren und prüfstand
DE102013218041A1 (de) Verfahren zum Betreiben eines Elektromotors
EP2671319A2 (de) Verfahren, vorrichtung und computerprogramm zum ermitteln eines offsetwinkels in einer elektromaschine
WO2013092398A2 (de) Verfahren und vorrichtung zum korrigieren eines messwertes eines drehwinkels eines rotors einer elektrischen maschine
EP1834401B1 (de) Verfahren und schaltungsanordnung zur geberlosen ermittlung der rotorposition eines bürstenlosen gleichstrommotors
DE102004037584A1 (de) Antriebseinheit
DE112019001965T5 (de) Verfahren zur bestimmung eines winkelversatzes eines positionssensors
DE102012111799A1 (de) Elektrisch kommutierter Motor und Verfahren zum Kalibieren eines elektrisch kommutierten Motors
DE112013003790T5 (de) Hybridregelkreis-Drehzahlsteuerung unter Verwendung einer offenen Regelkreis-Stellung für die Steuerung elektrischer Maschinen
DE102005045835A1 (de) Steuersystem für einen Synchronmotor
DE19824240B4 (de) Steuereinrichtung für einen geschalteten Reluktanzmotor
DE102013113584A1 (de) Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
EP3864746B1 (de) Verfahren zum bestimmen einer rotorstellung eines bldc-motors
WO2015082317A1 (de) Auswertevorrichtung zur erzeugung eines drehzahlwerts
DE69016794T2 (de) Verfahren und vorrichtung zum starten einer elektrischen maschine mit variabler reluktanz.
DE102013113602A1 (de) Auswertevorrichtung zur Erzeugung eines Drehzahlwerts
EP1443635A1 (de) Verfahren zum Steuern des Zündwinkels
AT520570B1 (de) Verfahren zur Ermittlung der Rotorposition von synchron laufenden elektrischen Maschinen

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14808566

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112014005540

Country of ref document: DE

REG Reference to national code

Ref country code: DE

Ref legal event code: R225

Ref document number: 112014005540

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14808566

Country of ref document: EP

Kind code of ref document: A1