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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000001914 filtration Methods 0.000 claims abstract description 6
- 230000003111 delayed effect Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000001939 inductive effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000001955 cumulated effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
- H02P6/18—Circuit arrangements for detecting position without separate position detecting elements
- H02P6/185—Circuit arrangements for detecting position without separate position detecting elements using inductance sensing, e.g. pulse excitation
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups
- G01D3/028—Indicating or recording apparatus with provision for the special purposes referred to in the subgroups mitigating undesired influences, e.g. temperature, pressure
- G01D3/036—Indicating 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING 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/00—Mechanical 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/12—Mechanical 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/14—Mechanical 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/20—Mechanical 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/204—Mechanical 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/2046—Mechanical 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
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P25/00—Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
- H02P25/02—Arrangements 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/022—Synchronous motors
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P2203/00—Indexing scheme relating to controlling arrangements characterised by the means for detecting the position of the rotor
- H02P2203/01—Motor 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.
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)
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)
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 |
-
2020
- 2020-10-29 GB GB2017181.5A patent/GB2600688B/en active Active
-
2021
- 2021-09-15 WO PCT/EP2021/075372 patent/WO2022089829A1/en active Application Filing
Patent Citations (3)
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 |