Method and device for determining the rotational speed and the angle of rotation of a motor shaft of a mechanically commutated DC motor
11283380 · 2022-03-22
Assignee
Inventors
- Josef Forster (Munich, DE)
- Christian Gruber (Munich, DE)
- Norbert Seuling (Munich, DE)
- Shobhit Sharma (Munich, DE)
Cpc classification
H02P7/0094
ELECTRICITY
International classification
H02H3/04
ELECTRICITY
H02P7/00
ELECTRICITY
Abstract
A method for determining the rotational speed and the angle of rotation of a motor shaft of a mechanically commutated DC motor from the measured progression of time of the ripple in the motor current and in the motor terminal voltage occurring during the commutation. A motor state model of the DC motor, to which the measured motor terminal voltage and the measured motor current, an estimated load torque, an estimated rotational speed and an estimated angle of rotation of the DC motor are supplied to a Kalman filter as input variables. By running the motor state model, the Kalman filter provides an estimated current, an adjusted rotational speed and an adjusted angle of rotation of the DC motor as output variables. From the ripple in the measured motor current and the rotational speed, adjusted by the Kalman filter, a ripple detection unit determines the commutation times and, from the latter, derives an estimated rotational speed and an estimated angle of rotation of the DC motor and provides same to the Kalman filter as the input variables.
Claims
1. A method for determining a rotational speed and an angle of rotation of a motor shaft of a mechanically commutated DC motor from a measured progression of time of a ripple in a motor current and in a motor terminal voltage occurring during commutation, comprising: supplying a Kalman filter, which comprises a motor state model of the DC motor, with a measured motor terminal voltage and a measured motor current, an estimated load torque, an estimated rotational speed and an estimated angle of rotation of the DC motor as input variables; providing, by the Kalman filter, by running the motor state model, an estimated current, an adjusted rotational speed and an adjusted angle of rotation of the DC motor as output variables; determining, by a ripple detection unit, from the ripple in the measured motor current and the rotational speed, adjusted by the Kalman filter, as input variables, commutation times and; deriving, from the latter, an estimated rotational speed and an estimated angle of rotation of the DC motor and providing the same to the Kalman filter as the input variables.
2. The method as claimed in claim 1, in which the rotational speed adjusted by the Kalman filter and the adjusted angle of rotation of the DC motor are supplied as output variables to an evaluation unit for further processing.
3. The method as claimed in claim 1, in which the Kalman filter compares one or more of the states estimated by the motor state model of current and/or adjusted rotational speed and/or adjusted angle of rotation of the DC motor with the values determined by measurement and estimation by the ripple detection unit and, when errors are ascertained, filters same by forming a weighted average value of estimated and observed values.
4. The method as claimed in claim 1, in which the estimated load torque is determined by a load estimation unit from the measured motor terminal voltage, the measured motor current and from motor parameters of the DC motor that are stored in the load estimation unit.
5. The method as claimed in claim 1, in which the ripple detection unit determines commutation times from the adjusted rotational speed provided by the Kalman filter and processes said times as a reference if the ripples observed in the wave shape of the measured motor current have a dominant frequency or if the ripples observed in the wave shape of the measured motor current have two or more ripple frequencies.
6. The method as claimed in claim 1, in which the Kalman filter, the ripple detection unit and the load estimation unit are implemented as programs and are executed by a computing unit.
7. A non transitory computer program product which can be directly loaded into an internal memory of a digital computing unit and comprises software code sections which are used to carry out the steps according to claim 1 when the product runs on the computing unit.
8. The method as claimed in claim 2, in which the Kalman filter compares one or more of the states estimated by the motor state model of current and/or adjusted rotational speed and/or adjusted angle of rotation of the DC motor with the values determined by measurement and estimation by the ripple detection unit and, when errors are ascertained, filters same by forming a weighted average value of estimated and observed values.
9. A device for determining a rotational speed and an angle of rotation of a motor shaft of a mechanically commutated DC motor from a measured progression of time of a ripple in the motor current and in a motor terminal voltage occurring during commutation, comprising: a Kalman filter, which comprises a motor state model of the DC motor; and a ripple detection unit, wherein the Kalman filter is supplied with a measured motor terminal voltage and a measured motor current, an estimated load torque, an estimated rotational speed and an estimated angle of rotation of the DC motor as input variables, wherein, by running the motor state model, the Kalman filter provides an estimated current, an adjusted rotational speed and an adjusted angle of rotation of the DC motor as output variables; and wherein the ripple detection unit determines, from the ripple in the motor current and the rotational speed, adjusted by the Kalman filter, as input variables, the commutation times and, from the latter, derives an estimated rotational speed and an estimated angle of rotation of the DC motor and provides same to the Kalman filter as the input variables.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) An aspect of the invention is described in greater detail below with reference to an exemplary embodiment in the drawing.
(2)
(3)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(4)
(5) The ripple detection unit 10, the Kalman filter 20 and the load estimation unit 30 can be implemented as programs on a computing unit, for example a microcontroller.
(6) The Kalman filter 20 comprises a motor state model 21 of the DC motor 1. For the running of the motor state model 21, which can be implemented, for example, as in DE 197 29 238 C1 mentioned at the beginning, it requires, in addition to the measured motor terminal voltage U.sub.M,m and the measured motor current I.sub.M,m, an estimated load torque M.sub.L,c, an estimated rotational speed n.sub.M,c of the DC motor 1 and an estimated angle of rotation MP.sub.M,C of the DC motor 1 as input variables, wherein a position (motor position) of the DC motor 1 can be determined from the angle of rotation on the basis of direct proportionality. Estimated variables are provided with the additional index “c” at respective inputs. The Kalman filter estimates the states of motor current I.sub.M, rotational speed n.sub.M and motor angle of rotation MP.sub.M of the DC motor 1 by running an observer, which implements the motor state model 21, and compares the output states with the values determined by measurement and estimation. In the process, the rotational speed n.sub.M and the motor angle of rotation MP.sub.M of the Kalman filter are adjusted by the observer and are therefore also referred to as adjusted variables. The motor current I.sub.M,K estimated by the Kalman filter 20 is not required for the further function and therefore also does not necessarily need to be output.
(7) The rotational speed n.sub.M which is adjusted by the Kalman filter 20 and is provided as an output variable is supplied as an estimated input variable n.sub.M,K in addition to the measured motor current I.sub.M,m to the ripple detection unit 10. This means that n.sub.M,K=n.sub.M. From the ripple in the measured motor current I.sub.M,m and the (estimated) rotational speed n.sub.M,K, adjusted by the Kalman filter 20, as input variables, the ripple detection unit 10 determines the commutation times. This can be undertaken, for example, in a manner corresponding to DE 197 29 238 C1, which has already been mentioned. Furthermore, from the input variables, the ripple detection unit 10 derives an estimated rotational speed n.sub.M,R and an estimated motor angle of rotation MP.sub.M,R of the DC motor and provides these two output variables to the Kalman filter 20 as input variables, i.e. n.sub.M,R=n.sub.M,c and MP.sub.M,R=MP.sub.M,c.
(8) In other words, the output of the Kalman filter 20 and the ripple detection unit 10 are mutually adjusted for each calculation step by the computing unit. This leads to an optimized estimation of the motor angle of rotation MP.sub.M and rotational speed n.sub.M of the DC motor 1. The output variables of the rotational speed n.sub.M and the motor angle of rotation MP.sub.M that are provided by the Kalman filter can then be supplied to an evaluation unit, not illustrated in
(9) Errors in the output due to output malfunctions or noise-afflicted observations are filtered out on the basis of a weighted average value of estimated and observed values of the input variables of the Kalman filter 20. The output variables of the Kalman filter are therefore optimal and are the greatest possible approximation to the actual state of the observed DC motor 1.
(10) The depiction of the motor state model 21 that is provided in the Kalman filter 20 requires the load torque M.sub.L,c existing during operation of the DC motor 1. The causes of the load torque in the actual system arise from friction, rigidity and/or losses of the system, etc. and typically cannot be measured without sensors. The load torque M.sub.L,c is therefore estimated by the load estimation unit 30 from the measured motor current I.sub.M,m and the measured motor terminal voltage U.sub.M,m and from the motor parameters. Load estimation units of this kind are known to a person skilled in the art from the prior art and will therefore not be explained in detail further.
(11) The ripple detection unit 10 permits an indirect observation or measurement of the motor rotational speed n.sub.M,c and the motor angle of rotation MP.sub.M,c. For this purpose, the ripple detection unit 10 requires, as input variables, the measured motor current I.sub.M,m and the rotational speed n.sub.M,K=n.sub.M adjusted by the Kalman filter 20. The output variables are then the angular speed (rotational speed) and the motor angles of rotation through which the motor shaft passes in accordance with the number of ripples in the commutator segments present in the DC motor. The procedure in this respect is described in DE 197 29 238 C1.
(12) In order to optimize the detection of the position or angle of rotation of the DC motor 1 on the basis of the number of ripples, the ripple detection unit 10 expediently implements a procedure in which the motor rotational speed n.sub.M,K of the Kalman filter 20 is used as reference. This function is capable of precisely identifying commutation ripples if the ripples observed in the motor current wave shape are produced with a dominant frequency (as in the case of two-pole DC motors) and for two or more frequencies (as in the case of a four-pole motor or a motor which is a quadripole with an asymmetric magnetic field).
(13) The advantage of the method on the basis of the Kalman filter consists in that the inaccuracies in the estimation of the rotational speed and angle of rotation by a motor model are adjusted by observation of the motor rotational speed and motor angle of rotation with the ripple detection unit, and vice versa. Such a procedure is more robust to changes in the motor parameters in comparison to the standard motor model known from the prior art. Furthermore, the necessity of more frequent updating of the motor parameters, in order to achieve a precise estimation, is greatly reduced. Moreover, better estimation of the rotational speed leads to a more precise calculation of the motor parameters which, in turn, can be used for improving other algorithms, such as rotational speed regulation or countertorques.