Method for determining the angle of the rotor of an electric motor control unit and vehicle
11689126 · 2023-06-27
Assignee
Inventors
Cpc classification
H02P2203/01
ELECTRICITY
G01D5/145
PHYSICS
International classification
Abstract
A method for determining the angle of the rotor of an electric motor includes receiving a first rotor position signal from a rotor position sensor by using a control unit, the first rotor position signal including a plurality of orders; determining the angular velocity of the electric motor at least by way of the first rotor position signal by using an angular velocity module of the control unit; determining a first base signal by way of the determined angular velocity and the first rotor position signal by using a first filter module of the control unit; and determining the angle of the rotor at least by way of the determined first base signal by using an angle module of the control unit.
Claims
1. A method for determining an angle of a rotor of an electric motor that has a rotor and a stator with at least one coil, the method comprising: obtaining a first rotor position signal from a rotor position sensor by a control unit, the first rotor position signal comprising a position value along a first of two directions in a plane of rotation of the rotor, and the first rotor position signal comprising a first number of orders, determining an angular velocity of the electric motor at least based on the first rotor position signal by using an angular velocity module of the control unit, determining a first base signal based on the determined angular velocity and the first rotor position signal by using a first filter module of the control unit, determining the angle of the rotor based on at least the determined first base signal by using an angle module of the control unit, obtaining a second rotor position signal from the rotor position sensor by the control unit, the second rotor position signal comprising a position value along a second of the two directions in the plane of rotation of the rotor, and the second rotor position signal comprising a second number of orders, determining a second base signal based on the determined angular velocity and the second rotor position signal by using a second filter module of the control unit, and determining the angle of the rotor based on at least the determined first base signal and the determined second base signal by using the angle module of the control unit.
2. The method according to claim 1, wherein at least one of the first base signal or the second base signal has just one fundamental oscillation.
3. The method according to claim 2, wherein a fundamental oscillation of the first base signal and a fundamental oscillation of the second base signal are phase-shifted.
4. The method according to claim 3, wherein the fundamental oscillation of the first base signal and the fundamental oscillation of the second base signal are phase-shifted.
5. The method according to claim 1, wherein the angle module determines the angle by using an arc tangent function with two variables.
6. The method according to claim 1, wherein: at least one of the first rotor position signal or the second rotor position signal is preprocessed by a preprocessing module before being fed to at least one of a respective filter module or the angular velocity module, and the preprocessing module fits a real trigonometric series to the at least one of the first rotor position signal or the second rotor position signal, and transfers the real trigonometric series as the at least one of the first rotor position signal or the second rotor position signal to at least one of the respective filter module or the angular velocity module.
7. The method according to claim 1, wherein the electric motor is controlled by the control unit at least based on the determined angle by: determining at least one current correction value for the at least one coil by the control unit at least based on at least one of the determined angle or the angular velocity of the rotor, and adapting a current flow through the at least one coil based on the at least one current correction value by the control unit.
8. The method according to claim 1, wherein at least one of the first rotor position signal or the second rotor position signal is provided by a magnetoresistive rotor position sensor.
9. The method according to claim 1, wherein at least one of the first filter module or the second filter module applies a filter to a respective rotor position signal, in order to generate a respective base signal.
10. The method according to claim 9, wherein the filter at least one of is based on a phase control loop or has an effect of a low-pass filter.
11. The method according to claim 10, further comprising assuming, when applying the filter, that at least one of: the amplitude A.sub.1 of the fundamental oscillation G.sub.1(t) of at least one of the first rotor position signal or the second rotor position signal is known, or the filter obtains the determined angular velocity as a parameter.
12. The method according to claim 10, wherein the filter is stored as a transfer function in at least one of the first filter module or the second filter module.
13. The method according to claim 10, wherein: the control unit has a diagnostic module, the diagnostic module obtains at least one parameter of the filter from at least one of the first filter module or the second filter module, and the at least one parameter is used for performing a diagnostic analysis of at least one of the electric motor, the rotor position sensor, or the filter.
14. The method according to claim 13, wherein the diagnostic analysis is performed by a comparison of the at least one parameter with a predetermined threshold value.
15. The method according to claim 9, wherein the filter is described by the following equations:
16. The method according to claim 15, wherein orders of i>3 are at least one of suppressed or negligible.
17. The method according to claim 1, wherein the at least one coil comprises three coils.
18. A control unit for a vehicle, wherein the control unit is configured to perform a method for determining an angle of a rotor of an electric motor that has a rotor and a stator with at least one coil, the method comprising: obtaining a first rotor position signal from a rotor position sensor by a control unit, the first rotor position signal comprising a position value along a first of two directions in a plane of rotation of the rotor, and the first rotor position signal comprising a first number of orders, determining an angular velocity of the electric motor at least based on the first rotor position signal by using an angular velocity module of the control unit, determining a first base signal based on the determined angular velocity and the first rotor position signal by using a first filter module of the control unit, determining the angle of the rotor based on at least the determined first base signal by using an angle module of the control unit, obtaining a second rotor position signal from the rotor position sensor by the control unit, the second rotor position signal comprising a position value along a second of the two directions in the plane of rotation of the rotor, and the second rotor position signal comprising a second number of orders, determining a second base signal based on the determined angular velocity and the second rotor position signal by using a second filter module of the control unit, and determining the angle of the rotor based on at least the determined first base signal and the determined second base signal by using the angle module of the control unit.
19. A vehicle, comprising: an electric motor, a rotor position sensor, and a control unit according to claim 18.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
DETAILED DESCRIPTION OF THE DRAWINGS
(6)
(7) The electric motor 12 is connected to the wheels of the vehicle 10 and provides the propulsion of the vehicle 10.
(8) The vehicle 10 may be an electric vehicle, so that the electric motor 12 is the only drive motor.
(9) It is also conceivable that the vehicle 10 is a hybrid electric vehicle, according to which the propulsion of the vehicle 10 is provided by the electric motor 12 and an additional internal combustion engine.
(10) The block diagram of
(11) The electric motor 12 is for example a known synchronous three-phase machine and has a stator 16 and a rotor 18.
(12) The stator 16 encloses the rotor 18 and has on its inner side, that is to say on the side of the stator 16 opposite from the rotor 18, three electromagnets 20. It goes without saying that a different number of electromagnets 20 is also conceivable.
(13) The three electromagnets 20 are arranged offset in relation to one another at an angle of 120° and respectively generate a magnetic field if a voltage with a corresponding voltage value U is applied to the electromagnets 20. In this case, a corresponding current with a current value I flows through the electromagnets 20.
(14) In the embodiment of
(15) The rotor 18 is arranged rotatably about an axis of rotation 22 and is magnetic. For this, the rotor has for example permanent magnets (not shown).
(16) If the electromagnets 20 of the stator 16 generate a corresponding magnetic field, the rotor 18 rotates about the axis of rotation 22 with an angular velocity w.
(17) The rotor position sensor 15 is a magnetoresistive sensor, the sensing surface of which is arranged perpendicular to the axis of rotation 22 and which is at a distance from the rotor 18.
(18) The rotor position sensor 15 measures the rotational movement of the rotor 18 contactlessly.
(19) For this, the rotor position sensor 15 has for example magnetoresistive regions, the resistances of which change according to the orientation of the magnetic rotor 18.
(20) To be more precise, the rotor position sensor 15 provides two rotor position signals P.sub.1, P.sub.2, which respectively have a position value along a direction in the plane of rotation 23 (
(21) The magnetic effect of the rotor 18 is represented in
(22) At the point in time represented in
(23) The rotor position sensor 15 determines the projection of the rotational movement into the first and second directions 24, 26, according to which the rotor position sensor 15 provides a position value along the first direction 24 for the first rotor position signal P.sub.1 and a position value along the second direction 24 for the second rotor position signal P.sub.2.
(24) The rotation of the rotor 18 may be understood as a vector rotating about the axis of rotation 22, so that the first rotor position signal P.sub.1 is the cosine value of the position of the vector and the second rotor position signal P.sub.2 is the sine value of the position of the vector.
(25) The arrangement of the rotor position sensor 15 should be understood as only given by way of example. It goes without saying that the rotor position sensor 15 may also be arranged in or on a shaft of the rotor 18.
(26) As represented in
(27) It is generally of course conceivable that the control unit 14 determines different current correction values I′ and voltage correction values U′ for the three coils 21. For reasons of overall clarity, however, only one current correction value I′ and one voltage correction value U′ is assumed here for all coils 21.
(28) For example, the control unit 14 uses a field-oriented control to determine current correction values I′ and/or voltage correction values U′.
(29) To be more precise, the control unit 14 uses one method to determine the angle ϕ and the angular velocity w of the rotor 18.
(30) The control unit 14 has a first filter module 28, a second filter module 30 separate from the first filter module 28, an angular velocity module 32, an angle module 34 and a current value correction module 36.
(31) In a first step, the control unit obtains the rotor position signals P.sub.1 and P.sub.2 of the rotor position sensor 15. The rotor position signals P.sub.1 and P.sub.2 have in this case a number of orders of the rotational velocity w and disruptive terms of the measurement by the rotor position sensor 15.
(32) The first rotor position signal P.sub.1 is transferred to the first filter module 28 and the angular velocity module 32 and the second rotor position signal P.sub.2 is transferred to the second filter module 28 and the angular velocity module 32.
(33) Subsequently, the angular velocity model 32 determines the angular velocity w of the rotation of the rotor 18, for example on the basis of the change over time of one or both rotor position signals P.sub.1, P.sub.2.
(34) The determined angular velocity w is subsequently transferred to the first filter module 28, the second filter module 30 and the angle module 34.
(35) The first filter module 28 in this case filters a first base signal G.sub.1 out of the first rotor position signal P.sub.1 and the second filter module 30 filters a second base signal P.sub.2 out of the second rotor position signal P.sub.2.
(36) For this, the first filter module 28 and the second filter module 30 respectively use a filter 38, which is based on a phase control loop. The filter 38 is represented in the block diagram of
(37) The filter 38 has a comparison module 40, two multiplication modules 42, an amplification module 44, an addition module 46, a counting module 48 and two trigonometry modules 50.
(38) The way in which the filter 38 functions is explained below on the basis of an example. For this, it is assumed that the rotor position signals P.sub.1, P.sub.2 are transferred to the filter module 28, 30 as a time-dependent rotor position signal P(t).
(39) The time-dependent rotor position signal P(t) is in this case made up of the movement x.sub.1(t)=A.sub.1 sin(ω.Math.t+δ.sub.1) of the rotor 18, where δ.sub.1 is the starting angle of the rotor 18 at the point in time t=0 and the rotor angle is given by ϕ(t)=ω.Math.t+δ.sub.1, and an error term x.sub.F(t), i.e.
P(t)=x.sub.1(t)+x.sub.F(t).
(40) The error term x.sub.F(t) is the sum of the undesired signals, such as harmonics, offsets, orthogonality errors, i.e. phase offsets between the rotor position signals (P.sub.1, P.sub.2) and/or gain errors.
(41) If the error term x.sub.F(t) is not taken into account in the analysis, inaccuracies may occur in the determination of the angle of the rotor 18 of the electric motor 12, so that the electric motor 12 does not run true and/or has harmonic contents.
(42) The rotor position signal P(t) can be represented for example as a real trigonometric series:
(43)
with amplitudes A.sub.i and phase offsets δ.sub.i of the harmonics i and an offset C.
(44) The filter 38 then filters the base signal G(t) out of the rotor position signal P(t)
(45)
(46) It should be noted that the base signal only has a finite number of harmonics.
(47) In particular, the harmonics with high i values are filtered out, so that the filter 38 acts as a low-pass filter.
(48) The parameters Π of the base signal, that is to say A.sub.i, ϕ.sub.i, δ.sub.i, ω.sub.i, C, can be determined by forming a cost function J(t, π)
J(t,Π)=½[P(t)−G(t,Π)].sup.2
and minimizing the cost function by way of the gradient method, so that the temporal derivative of the parameters Π is given by
(49)
where μ, are the gain factors or increments of the gradient method. Accordingly, the following equations are obtained for the filter 38:
(50)
(51) According to embodiments of the invention, harmonics i>3, in particular harmonics i>1, are suppressed and the amplitude A.sub.1(t)=1 set.
(52) The way in which the filter 38 functions is explained below by way of example for a base signal G(t) of the form G(t)=G.sub.1(t) where A.sub.1(t)=1, i.e.
G(t)=sin(ϕ.sub.1(t)).
(53) The base signal G(t) therefore has just one fundamental oscillation.
(54) Typically, the base signals G(t) of the first rotor position signal P.sub.1 and of the second rotor position signal P.sub.2 are phase-shifted.
(55) In particular, the fundamental oscillations G.sub.1(t) are phase-shifted by 90°, so that the fundamental oscillation G.sub.1(t) of the first rotor position signal P.sub.1 is given by G.sub.1(t)=sin(ϕ.sub.1(t)) and that of the second rotor position signal P.sub.2 is given by G.sub.1(t)=cos(ϕ.sub.1(t)).
(56) In the filter 38 of
(57) The comparison module 40 uses this to determine the error function e.sub.1(t)=P(t)−G.sub.1(t) in accordance with equation (6) and transfers it to the multiplication module 42, which multiplies the error function e.sub.1(t) by cos(ϕ.sub.1(t)).
(58) The product of the error function e.sub.1(t) and cos(ϕ.sub.1(t)) is subsequently amplified in the application module 44 with the gain factor μ. In accordance with equation (3), this then gives the temporal derivative of the angular velocity
(59)
i.e. the change over time of the angular velocity w.
(60) The filter 38 also obtains the angular velocity w determined from the angular velocity model 32, so that the change over time of the angular velocity
(61)
is added to the angular velocity w, in order to obtain in accordance with equation (4) the change over time of the angle
(62)
(63) It is generally conceivable that the signal
(64)
is additionally amplified by a further gain factor μ.
(65) Furthermore, it is possible to determine the angular velocity w from the integration of the temporal derivative
(66)
The filter 38 of
(67) Following that, the incremental change dϕ.sub.1(t) of the angle ϕ.sub.1(t) is determined by the multiplication of the change over time of the angle
(68)
by the sampling interval Ts of the rotor position sensor 15 in the second multiplication module 42.
(69) The incremental change dϕ.sub.1(t) s finally added to the angle ϕ.sub.1(t) of the previous iteration of the filter 38 in the counting module 48. For this, the output of the counting module 48 is connected to one of its inputs.
(70) Finally, the counting module 48 transfers the angle ϕ.sub.1(t) to the two trigonometry modules 50.
(71) One trigonometry module 50 is in this case a sine module 52, which forms the sine value of the angle ϕ.sub.1(t) and thereby determines the base signal G.sub.1(t). The other trigonometry module 50 is a cosine module 54, which forms the cosine value of the angle ϕ.sub.1(t) and transfers it to the first multiplication module 42.
(72)
(73) For example, the control unit 14 comprises a MATLAB Simulink implementation of the filter 38 analogous to the block diagram of
(74) Generally, the filter 38 of the first filter module 28 filters the base signal G.sub.1 out of the first rotor position signal P.sub.1 and the filter 38 of the second filter module 30 filters the second base signal G.sub.2 out of the second rotor position signal P.sub.2.
(75) As represented in
(76) For this, the angle module 34 calculates for example the arc tangent of the fundamental oscillations G.sub.1.1(t) of the first base signal G.sub.1 and of the fundamental oscillations G.sub.1.2(t) of the second base signal G.sub.2.
(77)
(78) Subsequently, both the angular velocity w and the angle ϕ are transferred from the angle module 34 to the current-value correction module 36.
(79) The current-value correction model 36 determines a current correction value I′ and a corresponding voltage correction value U′ on the basis of the angular velocity w and the angle ϕ.
(80) Finally, the control unit 14 adapts the current flow through at least one electromagnet 20 of the electric motor 12 (
(81) For example, the control unit 14 controls the at least one electromagnet 20 in such a way that a current with the current correction value I′ flows through the electromagnet 20.
(82) In
(83) As a difference from the first embodiment, the control unit 14 of
(84) Furthermore, the determined angular velocity is not transferred to the filter modules 28, 30 but only to the angle module 34.
(85) The first preprocessing model 56 generates a first preprocessed rotor position signal V.sub.1 from the first rotor position signal P.sub.1.
(86) For example, the first preprocessing model 56 fits the real trigonometric series of the equation (1) to the first rotor position signal P.sub.1.
(87) By analogy, the second preprocessing module 58 generates a second preprocessed rotor position signal V.sub.2 from the second rotor position signal P.sub.2.
(88) The preprocessed rotor position signals V.sub.1, V.sub.2 are then transferred in a way corresponding to the first embodiment to the first filter module 28, the second filter model 30 and the angular velocity module 32.
(89) The diagnostic module 60 obtains the first base signal G.sub.1 of the first rotor position signal P.sub.1 and the second base signal G.sub.2 of the second rotor position signal P.sub.2 and performs a diagnostic analysis of the electric motor 12, the rotor position sensor 15 and/or the filter 38 on the basis of the signals transmitted.
(90) To be more precise, the diagnostic module 60 obtains the parameters, for example the harmonic amplitudes A.sub.i, the phase offsets δ.sub.i and/or the offsets C.sub.1 from the first and/or second filter module 28, 30 and generates an error message F if one of the parameters overshoots or undershoots a threshold value predetermined for this parameter.
(91) It goes without saying that the various features of the two embodiments can be combined with one another as desired. In particular, the features listed as differences with respect to the second embodiment are independent and may also be present in various ways in the first embodiment.
(92) In particular, the first and second embodiments each use both rotor position signals P.sub.1, P.sub.2.