[go: up one dir, main page]

WO2022089829A1 - Method of accurately determining angular rotor position from a raw signal - Google Patents

Method of accurately determining angular rotor position from a raw signal Download PDF

Info

Publication number
WO2022089829A1
WO2022089829A1 PCT/EP2021/075372 EP2021075372W WO2022089829A1 WO 2022089829 A1 WO2022089829 A1 WO 2022089829A1 EP 2021075372 W EP2021075372 W EP 2021075372W WO 2022089829 A1 WO2022089829 A1 WO 2022089829A1
Authority
WO
WIPO (PCT)
Prior art keywords
angle
value
signal
determined
raw
Prior art date
Application number
PCT/EP2021/075372
Other languages
French (fr)
Inventor
Stephane RANDAZZO
Ertan KAYAN
Original Assignee
Delphi Automotive Systems Luxembourg S.A
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Delphi Automotive Systems Luxembourg S.A filed Critical Delphi Automotive Systems Luxembourg S.A
Publication of WO2022089829A1 publication Critical patent/WO2022089829A1/en

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/18Circuit arrangements for detecting position without separate position detecting elements
    • H02P6/185Circuit arrangements for detecting position without separate position detecting elements using inductance sensing, e.g. pulse excitation
    • 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
    • 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
    • G01D3/00Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
    • G01D3/028Indicating or recording apparatus with provision for the special purposes referred to in the subgroups mitigating undesired influences, e.g. temperature, pressure
    • G01D3/036Indicating or recording apparatus with provision for the special purposes referred to in the subgroups mitigating undesired influences, e.g. temperature, pressure on measuring arrangements themselves
    • 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/20Mechanical 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 by varying inductance, e.g. by a movable armature
    • G01D5/204Mechanical 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 by varying inductance, e.g. by a movable armature by influencing the mutual induction between two or more coils
    • G01D5/2046Mechanical 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 by varying inductance, e.g. by a movable armature by influencing the mutual induction between two or more coils by a movable ferromagnetic element, e.g. a core
    • 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
    • H02P25/00Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
    • H02P25/02Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
    • H02P25/022Synchronous motors
    • 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
    • H02P2203/00Indexing scheme relating to controlling arrangements characterised by the means for detecting the position of the rotor
    • H02P2203/01Motor rotor position determination based on the detected or calculated phase inductance, e.g. for a Switched Reluctance Motor

Definitions

  • This relates to electric motors and to a method and system of accurately determining the angular rotor position of an electric motor from a raw sensor signal indicative of (angular) rotor position. It has particular but not exclusive application to motors for electric vehicles.
  • Many vehicle electric motors are equipped with sensors to provide angular displacement information of the rotor such as a double inductive position sensor that provide analog sine and cosine signals corresponding to the rotor position. These analog signals are e.g. sampled by the ECU every lOOps to compute the actual rotor position/speed.
  • An e.g. inductive position sensor used on a power electronics application typically returns two analogue voltages which correspond to sine and cosine value of the rotor position (angle).
  • these two voltages are normalized (rescaled between -1 and 1) and filtered using ATO (Angle Tracking Observer) methodology.
  • a method of determining a refined angular position of a rotor of an electric motor comprising the steps of: a) providing, in respect of a rotating electric motor rotor, a raw signal indicative of raw angle of the rotor (Angle_raw) ; b) from step a), computing a signal indicative of the change of angle ((Angle delta) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal indicative of angular change (Angle _delta Jilt) over said time interval; d) determining a signal indicative of refined filtered angle (Angle Jilt) by adding the value of the refined filtered angle computed at the previous sample timepoint to the value of the signal determined from step c), characterized in additionally adding an angle compensation (signal) value (Angle_comp) thereto.
  • Said refined filtered angle at timepoint of sample n may be computed at step d) from the following equation:
  • Angle Jilt n Angle Jilt n-r + Angle_delta ilt n + Angle_comp
  • Angle Jilt n-r the previous sample value of the filtered angle
  • n representing an integer of the sample
  • Angle_delta ilt n is. the angle difference between two consecutive samples of Angle_raw (Angle raw n - Angle raw n -i) from step c);
  • Angle_comp is an angle/drift compensation value is computed based on the difference (Angle_error) between raw angle of step a) and refined filtered angle determined at step d).
  • Step b) may comprise determining the value of the signal of raw angle at first/current sample timepoint (t n )) and the value of the signal of raw angle at a second/previous sampled time point (t n -i), said timepoints separated by a sample time interval; and determining the difference (Angle_delta) therebetween.
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on signals from step a) and value (Angle filt determined at step d). Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signals from step a) and a time delayed value of the value Angle filt determined at step d).
  • Said time delayed value of the value Angle filt determined at step d) may be time delayed by a sample or processing interval time.
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal from step a) and the value Angle filt
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal value from step a) and a time delayed value Angle filt , said time delay being equal to a processing or sampling time.
  • Said angle compensation value may be determined based a value obtained by applying a gain to the determined angle error (Angle_error).
  • Said angle compensation value may be determined based a value obtained by integrating the angle error (Angle_error) signal value.
  • Said angle compensation value may be determined based on a value obtained by integrating the angle error (Angle_error) as well as on a value obtained by applying a gain to the determined an angle error (Angle_error).
  • sample interval means a sample time interval or a processing time interval.
  • step b) comprises determining the value of the signal of raw angle at first and second time points separated by a sample or computational time interval; and determining the difference (Angle_delta) 13 therebetween.
  • sample timepoint can be considered a “computational timepoint”
  • a method of determining a refined angular position of a rotor of an electric motor comprising the steps of: a) obtaining, from the the rotating electric motor rotor, a raw signal of raw angle of the rotor (Angle _raw) b) from step a), computing a signal of change of angle ((Angle delta) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal of angular change (Angle _delta Jilt) over said time interval; d) computing a signal of refined filtered angle (Angle Jilt) by adding the value of the refined filtered angle computed at the previous sample timepoint to the value of the signal determined from step c) and adding an angle compensation (signal) value (Angle_comp) thereto so as to provide a refined angular position of the rotor of the electric motor.
  • the method may further comprise sending the signal of refined filtered angle to the electric motor.
  • the signal of refined filtered angle may preferably be sent to a controller of the electric motor such that the controller clan make real time adjustments to the operation on the rotor in view of the provided refined filtered angle.
  • Said refined filtered angle at timepoint of sample n may be computed at step d) from the following equation:
  • Angle Jilt n Angle Jilt ⁇ + Angle_delta ilt n + Angle_comp
  • Angle Jilt n-1 the previous sample value of the filtered angle
  • n representing an integer of the sample
  • Angle jielta_filt n is. the angle difference between two consecutive samples of Angle_raw (Angle raw n - Angle raw n -i) from step c);
  • Angle_comp is an angle/drift compensation value is computed based on the difference (Angle_error) between raw angle of step a) and refined filtered angle determined at step d).
  • Angle_filt 0 Angle_raw 0
  • Step b) may comprise determining the value of the signal of raw angle at first/current sample timepoint (t n )) and the value of the signal of raw angle at a second/previous sampled time point (t n -i), said timepoints separated by a sample time interval; and determining the difference (Angle_delta) therebetween.
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on signals from step a) and value (Angle filt determined at step d).
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signals from step a) and a time delayed value of the value Angle filt determined at step d).
  • Said time delayed value of the value Angle filt determined at step d) may be time delayed by a sample or processing interval time.
  • Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal from step a) and the value Angle filt Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal value from step a) and a time delayed value Angle filt , said time delay being equal to a processing or sampling time.
  • Said angle compensation value may be determined based a value obtained by applying a gain to the determined angle error (Angle_error).
  • Said angle compensation value may be determined based a value obtained by integrating the angle error (Angle_error) signal value.
  • Said angle compensation value may be determined based on a value obtained by integrating the angle error (Angle_error) as well as on a value obtained by applying a gain to the determined an angle error (Angle_error).
  • sample interval means a sample time interval or a processing time interval.
  • step b) comprises determining the value of the signal of raw angle at first and second time points separated by a sample or computational time interval; and determining the difference (Angle_delta) 13 therebetween.
  • sample timepoint can be considered a “computational timepoint”
  • Figure 1 shows a rotor position sensor system and the resulting signals therefrom;
  • Figure 2 shows an alternative simple prior art system/method, where a raw signal indicative of rotor angular position (Angle_raw) of an electric motor is used to determine change in angle ( Angle _delta);
  • FIG. 3 illustrates an example of the invention
  • Figure 1 shows a rotor position sensor system on the left and on the right the resulting signals therefrom.
  • So figure 1 shows a diagram of an inductive motor position sensor 1, showing rotor 2, stator 3, induction 4, transmitter coil 5, receiver coil 6 and electronics (chip) 7.
  • the signals generated from such a sensor and from these a (raw) angle signal may be obtained.
  • Figure 2 shows an alternative simple prior art system/method, where a raw signal indicative of rotor angular position (Angle_raw) of an electric motor is used to determine change in angle (Angle_delta) over a time interval i.e. the angular difference between e.g. the present and the previous raw angle samples; i.e separated by a sampling time interval.
  • Angle_raw rotor angular position
  • Angle_delta change in angle
  • the block diagram shows this is performed by subtracting a time delayed value of raw angle 11 from the raw angle 10 at block 12 to give a value of the change in angle (Angle_deltd) 13.
  • Control blocks 8 and 9 (1/Z) represents the time delay.
  • a basic low pass filter 14 is used to the filter the delta angle (Angle delta)13 to provide filtered signal 15 (Angle _della Jill).
  • a final filtered angular position (Angle Jilt) 18 is obtained by summing the previous (sample) filtered angular position sample 16 (obtained by applying by applying a time delay (1/Z)) at 9 ) and the filtered angle delta 15 at 17. AGin the time delay is the sampling or processing time interval.
  • the angle delta lag (induced by the low pass filter) causes a position drift. This drift is cumulated on each filtered angle computation and can reach up to 20° at the end of speed ramp-up.
  • the problem of calibration issue, accuracy and CPU load are solved by filtering the delta position and applying a drift correction (angle compensation) to compensate filter lag while high acceleration.
  • the filtered angular position Angle_filt n is computed using the following formula:
  • Angle_filt n Angle_filt n-1 + Angle _delta_filt n + Drift /Angle _comp where:
  • Angle_filt n- 1 the previous value (sample value) of the filtered angle; n representing an integer of the sample number;
  • Angle_delta_filt n as before i.e. the angle difference between two consecutive samples of Angle _r aw (Angle raw n - Angle raw n.i) after being further filtered using low-pass filter. Again n represents and integer value representing the sample number.
  • Drift /Angle _comp (Angle_compf. the drift/angle compensation is computed based on the difference (Angle_error) between raw and filtered angle. This difference may be preferably learnt (e.g. using an integrator) to compensate growing drift. In parallel, a fast proportional correction may be is applied. So in other words, a drift or angle compensation correction value is (Angle_comp) is determined and applied to the system of figure 2 to obtain a more accurate value of the filtered angle (Angle Jill)
  • the drift may be learned by using an integrator and summed to the filtered angle delta. This correction centers the angle error around zero and what remains is the noise that to be eliminated,
  • Figure 3 shows an example of the invention. It includes the functional components of the prior art methodology/system as in figure 2, with like reference numerals representing the same, but also includes a compensation loop(s) designated by the dotted line 20.
  • a raw signal indicative of rotor angular position ( Angle _r aw) of an electric motor is used to determine change in angle (Angle_delta) which is e.g. the difference between e.g. the present and previous raw angle sample vlaues. This is implemented as described above with reference to figure 2 .
  • Control block 8 ( 1/Z) represents a time delay, which may be the sample/processing interval.
  • a basic low pass filter 14 is used to the filter the delta angle (Angle delta) 13 to provide Angle _delta Jilt 15.
  • a final filtered angular position is obtained by summing the previous filtered angle position (Angle Jilt) 18* sample designated 16 (by applying a time delay 9 (1/Z)) and the filtered angle delta 15 at 17; however in addition, at 17 there is a drift or angle correction/compensation (Angle_comp) applied.
  • a correction value (Angle_comp) 21 is added to the Angle _delta Jilt 15 and time delayed (sample) of Angle Jilt) 16 to provide the value of Angle Jilt 18* and the correction value is determined as follows:
  • a time delayed value (signal) 22 of filtered angle (Angle Jilt) 18* is provided by applying time delay block 30, represented again by 1/Z, and is then subtracted from the raw angle 10 at block 23 to produce an angle error (Angle_error) signal 24.
  • the time delay may be equal to the sample interval or the processing time. It may be tuned to an optimum depending on processing time. The time delay is preferred to overcome problems regarding algebraic loops, and preferably equal also to the sample time above.
  • a gain is then applied (via block 25) to this Angle_error signal, to provide the signal/value 26.
  • the gain may be any value including 1 i.e. no gain.
  • the value of Angle error is input to an integrator (27) i.e. the signal is integrated to provide a signal 28. Before being input to the integrator there may optionally be applied an additional gain 40 in this path also.
  • An angle compensation value (Angle_comp) 21 computed can be the value of the signal 26 and/or the value of the signal 28.
  • the angle compensation value is determined by adding the signals 26 and/or 28 (components); i.e.
  • Angle_comp 21 is determined by adding both the value of 26 and 28.

Landscapes

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

Abstract

A method of determining a refined angular position (18*) of a rotor of an electric motor comprising the steps of: a) providing, in respect of a rotating electric motor rotor, a raw signal indicative of raw angle of the rotor (Angle_raw) (10); b) from step a), computing a signal indicative of the change of angle ((Angle delta) (13) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal indicative of angular change (Angle_delta_filt) over said time interval (15); d) determining a signal indicative of refined filtered angle (Angle_filt) (18*) by adding the value of the refined filtered angle computed (18*) at the previous sample timepoint to the value of the signal determined from step c), characterized in additionally adding an angle compensation (signal) value (21) (Angle_comp) thereto.

Description

METHOD OF ACCURATELY DETERMINING ANGULAR ROTOR POSITION FROM A RAW SIGNAL
TECHNICAL FIELD
This relates to electric motors and to a method and system of accurately determining the angular rotor position of an electric motor from a raw sensor signal indicative of (angular) rotor position. It has particular but not exclusive application to motors for electric vehicles.
BACKGROUND OF THE INVENTION
Many vehicle electric motors are equipped with sensors to provide angular displacement information of the rotor such as a double inductive position sensor that provide analog sine and cosine signals corresponding to the rotor position. These analog signals are e.g. sampled by the ECU every lOOps to compute the actual rotor position/speed.
An e.g. inductive position sensor used on a power electronics application typically returns two analogue voltages which correspond to sine and cosine value of the rotor position (angle). In the prior art, these two voltages are normalized (rescaled between -1 and 1) and filtered using ATO (Angle Tracking Observer) methodology.
The problem associated with this is the fact that the 3rd order Angle Tracking Observer (ATO) is not very stable at high speed and it needs lot of CPU resources.
It is an object of the invention to overcome these problems.
SUMMARY OF THE INVENTION
In one aspect is provided a method of determining a refined angular position of a rotor of an electric motor comprising the steps of: a) providing, in respect of a rotating electric motor rotor, a raw signal indicative of raw angle of the rotor (Angle_raw) ; b) from step a), computing a signal indicative of the change of angle ((Angle delta) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal indicative of angular change (Angle _delta Jilt) over said time interval; d) determining a signal indicative of refined filtered angle (Angle Jilt) by adding the value of the refined filtered angle computed at the previous sample timepoint to the value of the signal determined from step c), characterized in additionally adding an angle compensation (signal) value (Angle_comp) thereto.
Said refined filtered angle at timepoint of sample n may be computed at step d) from the following equation:
Angle Jiltn = Angle Jiltn-r + Angle_delta iltn + Angle_comp where Angle Jilt n-r : the previous sample value of the filtered angle; n representing an integer of the sample;
Angle_delta iltn : is. the angle difference between two consecutive samples of Angle_raw (Angle rawn - Angle raw n-i) from step c);
Angle_comp : is an angle/drift compensation value is computed based on the difference (Angle_error) between raw angle of step a) and refined filtered angle determined at step d).
Step b) may comprise determining the value of the signal of raw angle at first/current sample timepoint (tn)) and the value of the signal of raw angle at a second/previous sampled time point (tn-i), said timepoints separated by a sample time interval; and determining the difference (Angle_delta) therebetween.
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on signals from step a) and value (Angle filt determined at step d). Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signals from step a) and a time delayed value of the value Angle filt determined at step d).
Said time delayed value of the value Angle filt determined at step d) may be time delayed by a sample or processing interval time.
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal from step a) and the value Angle filt
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal value from step a) and a time delayed value Angle filt , said time delay being equal to a processing or sampling time.
Said angle compensation value may be determined based a value obtained by applying a gain to the determined angle error (Angle_error).
Said angle compensation value may be determined based a value obtained by integrating the angle error (Angle_error) signal value.
Said angle compensation value may be determined based on a value obtained by integrating the angle error (Angle_error) as well as on a value obtained by applying a gain to the determined an angle error (Angle_error).
The terms “signal” and “value” can be regarded as interchangeable. “Sample interval” means a sample time interval or a processing time interval.
That is e.g. step b) comprises determining the value of the signal of raw angle at first and second time points separated by a sample or computational time interval; and determining the difference (Angle_delta) 13 therebetween. The term “sample timepoint” can be considered a “computational timepoint”
In another aspect, provided is a method of determining a refined angular position of a rotor of an electric motor comprising the steps of: a) obtaining, from the the rotating electric motor rotor, a raw signal of raw angle of the rotor (Angle _raw) b) from step a), computing a signal of change of angle ((Angle delta) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal of angular change (Angle _delta Jilt) over said time interval; d) computing a signal of refined filtered angle (Angle Jilt) by adding the value of the refined filtered angle computed at the previous sample timepoint to the value of the signal determined from step c) and adding an angle compensation (signal) value (Angle_comp) thereto so as to provide a refined angular position of the rotor of the electric motor.
The method may further comprise sending the signal of refined filtered angle to the electric motor. As such, providing the benefit of providing the rotor with an accurate angular position in a manner that is stable at high speed and minimises the use of CPU resources. The signal of refined filtered angle may preferably be sent to a controller of the electric motor such that the controller clan make real time adjustments to the operation on the rotor in view of the provided refined filtered angle.
Said refined filtered angle at timepoint of sample n may be computed at step d) from the following equation:
Angle Jiltn = Angle Jilt ^ + Angle_delta iltn + Angle_comp where Angle Jilt n-1 : the previous sample value of the filtered angle; n representing an integer of the sample; Angle jielta_filtn : is. the angle difference between two consecutive samples of Angle_raw (Angle rawn - Angle raw n-i) from step c);
Angle_comp : is an angle/drift compensation value is computed based on the difference (Angle_error) between raw angle of step a) and refined filtered angle determined at step d).
The initial signal of refined filtered angle, i.e. n=0 so there are no previous values of Angle_filtn may be determined as follows:
Angle_filt0 = Angle_raw0
Step b) may comprise determining the value of the signal of raw angle at first/current sample timepoint (tn)) and the value of the signal of raw angle at a second/previous sampled time point (tn-i), said timepoints separated by a sample time interval; and determining the difference (Angle_delta) therebetween.
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on signals from step a) and value (Angle filt determined at step d).
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signals from step a) and a time delayed value of the value Angle filt determined at step d).
Said time delayed value of the value Angle filt determined at step d) may be time delayed by a sample or processing interval time.
Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal from step a) and the value Angle filt Said compensation angle value may be determined by determining an angle error (Angle _err or), based on the difference between signal value from step a) and a time delayed value Angle filt , said time delay being equal to a processing or sampling time.
Said angle compensation value may be determined based a value obtained by applying a gain to the determined angle error (Angle_error).
Said angle compensation value may be determined based a value obtained by integrating the angle error (Angle_error) signal value.
Said angle compensation value may be determined based on a value obtained by integrating the angle error (Angle_error) as well as on a value obtained by applying a gain to the determined an angle error (Angle_error).
The terms “signal” and “value” can be regarded as interchangeable. “Sample interval” means a sample time interval or a processing time interval.
That is e.g. step b) comprises determining the value of the signal of raw angle at first and second time points separated by a sample or computational time interval; and determining the difference (Angle_delta) 13 therebetween. The term “sample timepoint” can be considered a “computational timepoint”
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is now described by way of example with reference to the accompanying drawings in which:
Figure 1 shows a rotor position sensor system and the resulting signals therefrom; Figure 2 shows an alternative simple prior art system/method, where a raw signal indicative of rotor angular position (Angle_raw) of an electric motor is used to determine change in angle ( Angle _delta);
Figure 3 illustrates an example of the invention
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Figure 1 shows a rotor position sensor system on the left and on the right the resulting signals therefrom. So figure 1 shows a diagram of an inductive motor position sensor 1, showing rotor 2, stator 3, induction 4, transmitter coil 5, receiver coil 6 and electronics (chip) 7. On the right is shown the signals generated from such a sensor and from these a (raw) angle signal may be obtained.
In prior art systems a 3rd order angle tracking observer (ATO) is used to obtain filtered position and speed from the raw angle. The disadvantages have been discussed above.
Figure 2 shows an alternative simple prior art system/method, where a raw signal indicative of rotor angular position (Angle_raw) of an electric motor is used to determine change in angle (Angle_delta) over a time interval i.e. the angular difference between e.g. the present and the previous raw angle samples; i.e separated by a sampling time interval.
The block diagram shows this is performed by subtracting a time delayed value of raw angle 11 from the raw angle 10 at block 12 to give a value of the change in angle (Angle_deltd) 13.
Control blocks 8 and 9 (1/Z) represents the time delay.
A basic low pass filter 14 is used to the filter the delta angle (Angle delta)13 to provide filtered signal 15 (Angle _della Jill).
A final filtered angular position (Angle Jilt) 18 is obtained by summing the previous (sample) filtered angular position sample 16 (obtained by applying by applying a time delay (1/Z)) at 9 ) and the filtered angle delta 15 at 17. AGin the time delay is the sampling or processing time interval.
During motor acceleration/deceleration, the angle delta lag (induced by the low pass filter) causes a position drift. This drift is cumulated on each filtered angle computation and can reach up to 20° at the end of speed ramp-up.
Invention
The problem of calibration issue, accuracy and CPU load are solved by filtering the delta position and applying a drift correction (angle compensation) to compensate filter lag while high acceleration.
In an example, the filtered angular position Angle_filtnis computed using the following formula:
Angle_filtn = Angle_filtn-1 + Angle _delta_filtn + Drift /Angle _comp where:
Angle_filtn- 1 : the previous value (sample value) of the filtered angle; n representing an integer of the sample number;
Angle_delta_filtn : as before i.e. the angle difference between two consecutive samples of Angle _r aw (Angle raw n - Angle raw n.i) after being further filtered using low-pass filter. Again n represents and integer value representing the sample number.
Drift /Angle _comp (Angle_compf. the drift/angle compensation is computed based on the difference (Angle_error) between raw and filtered angle. This difference may be preferably learnt (e.g. using an integrator) to compensate growing drift. In parallel, a fast proportional correction may be is applied. So in other words, a drift or angle compensation correction value is (Angle_comp) is determined and applied to the system of figure 2 to obtain a more accurate value of the filtered angle (Angle Jill)
So, in order to avoid the error accumulation, the drift may be learned by using an integrator and summed to the filtered angle delta. This correction centers the angle error around zero and what remains is the noise that to be eliminated,
Figure 3 shows an example of the invention. It includes the functional components of the prior art methodology/system as in figure 2, with like reference numerals representing the same, but also includes a compensation loop(s) designated by the dotted line 20.
So as before a raw signal indicative of rotor angular position ( Angle _r aw) of an electric motor is used to determine change in angle (Angle_delta) which is e.g. the difference between e.g. the present and previous raw angle sample vlaues. This is implemented as described above with reference to figure 2 .
So the block diagram shows this is performed by subtracting a time delayed value 11 of raw angle from the raw angle at 10. Control block 8 ( 1/Z) represents a time delay, which may be the sample/processing interval. A basic low pass filter 14 is used to the filter the delta angle (Angle delta) 13 to provide Angle _delta Jilt 15.
A final filtered angular position is obtained by summing the previous filtered angle position (Angle Jilt) 18* sample designated 16 (by applying a time delay 9 (1/Z)) and the filtered angle delta 15 at 17; however in addition, at 17 there is a drift or angle correction/compensation (Angle_comp) applied.
So a correction value (Angle_comp) 21 is added to the Angle _delta Jilt 15 and time delayed (sample) of Angle Jilt) 16 to provide the value of Angle Jilt 18* and the correction value is determined as follows:
A time delayed value (signal) 22 of filtered angle (Angle Jilt) 18* is provided by applying time delay block 30, represented again by 1/Z, and is then subtracted from the raw angle 10 at block 23 to produce an angle error (Angle_error) signal 24. The time delay may be equal to the sample interval or the processing time. It may be tuned to an optimum depending on processing time. The time delay is preferred to overcome problems regarding algebraic loops, and preferably equal also to the sample time above.
A gain is then applied (via block 25) to this Angle_error signal, to provide the signal/value 26. It should be noted that the gain may be any value including 1 i.e. no gain. In addition or alternatively the value of Angle error is input to an integrator (27) i.e. the signal is integrated to provide a signal 28. Before being input to the integrator there may optionally be applied an additional gain 40 in this path also.
An angle compensation value (Angle_comp) 21 computed can be the value of the signal 26 and/or the value of the signal 28. Preferably the angle compensation value is determined by adding the signals 26 and/or 28 (components); i.e. Angle_comp 21 is determined by adding both the value of 26 and 28.
The advantages of this invention compared to the prior art are: the speed and position calculation robustness by filtering the delta angle inconsistency; and the reduction of the CPU load compared to prior art methodology ATO method.

Claims

1. A method of determining a refined angular position (18*) of a rotor of an electric motor comprising the steps of : a) providing, in respect of a rotating electric motor rotor, a raw signal indicative of raw angle of the rotor (Angle_raw) (10); b) from step a), computing a signal indicative of the change of angle ((Angle delta) (13) over a sample time interval; c) processing said signal from b); wherein said processing includes a filtering step, to provide a filtered signal indicative of angular change (Angle _delta Jilt) over said time interval (15); d) determining a signal indicative of refined filtered angle (Angle Jilt) (18*) by adding the value of the refined filtered angle computed (18*) at the previous sample timepoint to the value of the signal determined from step c), characterized in additionally adding an angle compensation (signal) value (21) (Angle_comp) thereto.
2. A method as claimed in claim 1 where said refined filtered angle (18*) at timepoint of sample n is compute at step d) from the following equation:
Angle Jiltn = Angle Jilt ^ + Angle_delta iltn + Angle_comp where Angle Jilt n-1 : the previous sample value of the filtered angle; n representing an integer of the sample;
Angle_delta iltn : is. the angle difference between two consecutive samples of Angle_raw (Angle rawn - Angle raw n-i) from step c);
Angle_comp : is an angle/drift compensation value is computed based on the difference (Angle_error) between raw angle of step a) and refined filtered angle determined at step d).
3. A method as claimed in claim 1 or 2 wherein step b) comprises determining the value of the signal of raw angle at first/current sample timepoint (tn))and the value of the signal of raw angle at a second/previous sampled time point (tn-i), said timepoints separated by a sample time interval; and determining the difference (Angle_delta) (13) therebetween.
4. A method as claimed in steps 1 to 3 wherein said compensation angle value (21) is determined by determining an angle error (Angle _err or), based on signals from step a) and value (18*) Angle filt determined at step d).
5. A method as claimed in steps 1 to 4 wherein said compensation angle value (21) is determined by determining an angle error (Angle _err or), based on the difference between signals from step a) and a time delayed value of the value (18*) Angle filt determined at step d).
6. A method as claimed in claim 5 wherein said time delayed value of the value (18*) Angle filt determined at step d) is time delayed by a sample or processing interval time.
7. A method as claimed in steps 1 to 6 wherein said compensation angle value (21) is determined by determining an angle error (Angle _err or), based on the difference between signal from step a) and the value (18*) Angle filt
8. A method as claimed in steps 1 to 7 wherein said compensation angle value (21) is determined by determining an angle error (Angle _err or), based on the difference between signal value from step a) and a time delayed value (18*) Angle filt , said time delay being equal to a processing or sampling time.
9. A method as claimed in claim 7 or 8 wherein said angle compensation value (21) is determined based a value (26) obtained by applying a gain to the determined angle error (Angle_error) (24).
10. A method as claimed in claim 7 to 9 wherein said angle compensation value (21) is determined based a value (28) obtained by integrating the angle error (Angle_error) signal value (24).
11. A method as claimed in claim 7 to 10 wherein said angle compensation value (2)1 is determined based on a value (28) obtained by integrating the angle error (Angle_error) as well as on a value (26) obtained by applying a gain to the determined an angle error (Angle _err or).
12. A method as described in any preceding claim further comprising returning the signal of refined filtered angle to the electric motor.
PCT/EP2021/075372 2020-10-29 2021-09-15 Method of accurately determining angular rotor position from a raw signal WO2022089829A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2017181.5 2020-10-29
GB2017181.5A GB2600688B (en) 2020-10-29 2020-10-29 Method of accurately determining angular rotor position from a raw signal

Publications (1)

Publication Number Publication Date
WO2022089829A1 true WO2022089829A1 (en) 2022-05-05

Family

ID=73776419

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/075372 WO2022089829A1 (en) 2020-10-29 2021-09-15 Method of accurately determining angular rotor position from a raw signal

Country Status (2)

Country Link
GB (1) GB2600688B (en)
WO (1) WO2022089829A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090066324A1 (en) * 2005-05-11 2009-03-12 Makoto Nagamoto Angular position detector and rotary electric device drive unit including the same
US20100225307A1 (en) * 2006-03-14 2010-09-09 Toru Takahashi Rotational Angle Detector And Rotational Angle Detector Incorporated Bearing Assembly
DE102013224243A1 (en) * 2013-11-27 2015-05-28 Robert Bosch Gmbh Method and device for determining a position indication of a rotor of an electrical machine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5326742B2 (en) * 2009-03-30 2013-10-30 アイシン精機株式会社 AC motor control device
WO2015012576A1 (en) * 2013-07-23 2015-01-29 한국해양과학기술원 Driving apparatus for motor using time delay compensation method of current detecting sensor combined with filter
CN108282124B (en) * 2017-12-20 2020-03-24 上海辛格林纳新时达电机有限公司 Rotor position angle compensation method for motor vector control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090066324A1 (en) * 2005-05-11 2009-03-12 Makoto Nagamoto Angular position detector and rotary electric device drive unit including the same
US20100225307A1 (en) * 2006-03-14 2010-09-09 Toru Takahashi Rotational Angle Detector And Rotational Angle Detector Incorporated Bearing Assembly
DE102013224243A1 (en) * 2013-11-27 2015-05-28 Robert Bosch Gmbh Method and device for determining a position indication of a rotor of an electrical machine

Also Published As

Publication number Publication date
GB2600688A (en) 2022-05-11
GB202017181D0 (en) 2020-12-16
GB2600688B (en) 2023-05-17

Similar Documents

Publication Publication Date Title
EP2827106B1 (en) Angle detection device
US7289915B2 (en) Method of estimating load inertia for a motor
CN109302112B (en) Cancellation of fundamental harmonic position measurement errors in vector-based position sensing systems
KR101658368B1 (en) Estimation system for rotor information
US10429208B2 (en) Position sensor device and method for providing a filtered position signal
CN105987710A (en) Apparatus and method for compensating position information error of resolver
WO2015018713A1 (en) Position sensor device to determine a position of a moving device
US20070107978A1 (en) Control unit for electric power steering apparatus
CN111999555B (en) Servo system resonant frequency detection method and device, electronic equipment and storage medium
US10895866B1 (en) Position error correction for electric motors
Nguyen et al. An effective method to improve the accuracy of a Vernier-type absolute magnetic encoder
WO2020152762A1 (en) Rotation angle detection device, and electric power steering device including same rotation angle detection device
US10256754B2 (en) Apparatus and method for compensating for position error of resolver
US20190372497A1 (en) Control system for electric motor circuit
US5783925A (en) Method of interpolating output from sensor
US11929757B2 (en) Propagation delay compensation and interpolation filter
US10381962B2 (en) Method, apparatus and system for operating a rotating electric machine
US9176162B2 (en) Position encoder
CN108139427B (en) Method for determining a corrected rotational speed signal and electric motor arrangement
KR101335162B1 (en) Position aberration correction device and method for resolver
WO2022089829A1 (en) Method of accurately determining angular rotor position from a raw signal
CN108063576B (en) Error correction in vector-based position sensing systems
US11555716B1 (en) Harmonic compensation with magnitude feedback for magnetic field sensors
JP7200560B2 (en) Servo controller and servo system
Bartik et al. Angle tracking observer for the velocity estimation with the filtered control variable

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: 21778383

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21778383

Country of ref document: EP

Kind code of ref document: A1