This Application claims priority to German Application 102019108725.2 filed Apr. 3, 2019, the entire content of which is incorporated herein by reference.
The present description relates to the field of controlling electric motors, in particular synchronous motors, such as brushless DC motors (BLDC motors) or permanent-magnet synchronous motors (PMSM) for example.
A technique which is generally known by the term field-oriented control (FOC) is usually used for controlling sensor-free electric motors, such as BLDC motors or PMSMs for example. Field-oriented control is also referred to as vector control. Concepts for sensor-free FOC are also known, wherein, in this context, “sensor-free” means that the motor does not have to be equipped with a rotary encoder for control of the motor. In this case, the rotation speed of the motor cannot be directly measured, but rather estimates for the angular position and the rotation speed of the rotor are ascertained on the basis of the voltages with which the motor windings are driven and the motor current. The angular position is ascertained by way of a complex value (amplitude and angle) for the magnetic flux in the rotor (rotor flux) being calculated with the aid of a mathematical model of the motor.
The estimation of the rotor flux and of the rotation speed of the rotor no longer functions correctly if the rotor comes to a standstill (for whatever reason). A stalled rotor cannot be reliably detected using the known FOC concepts, and this can result in the control arrangement continuing to drive the motor. This can lead to overheating and to damage of the motor.
A method with which stalling of a rotor of a sensor-free motor can be detected is described below. According to one exemplary embodiment, the method comprises operating an electric motor, wherein a rotation speed of the electric motor is controlled by means of field-oriented control, and wherein an estimate is calculated, which estimate represents the magnetic flux in the electric motor. The method further comprises calculating a value which represents the change in the magnitude of the estimate for the magnetic flux and comparing the calculated value with a threshold value in order to detect whether the calculated value lies below the threshold value. An error is flagged if it is detected that the calculated value lies below the threshold value for a specific time.
A system is also described, which system, according to one exemplary embodiment, comprises an electric motor and a motor control arrangement which is coupled to the electric motor and is designed to drive the electric motor and to control the rotation speed of said electric motor by means of field-oriented control. The motor control arrangement is further designed to calculate an estimate which represents the magnetic flux in the electric motor, to calculate a value which represents the change in the magnitude of the estimate for the magnetic flux, to compare the calculated value with a threshold value in order to detect whether the calculated value lies below the threshold value. An error is flagged if it is detected that the calculated value lies below the threshold value for a specific time.
An integrated circuit is furthermore described, which integrated circuit, according to one exemplary embodiment, has a circuit arrangement which is designed to carry out field-oriented control for a synchronous motor. The circuit arrangement comprises a flux estimator which is designed to calculate an estimate for a magnetic flux in the synchronous motor. The integrated circuit further has a detector circuit which is designed to detect stalling of the rotor of the synchronous motor based on the estimate by way of: a value being calculated, which value represents the change in the magnitude of the estimate for the magnetic flux, the calculated value being compared with a threshold value in order to detect whether the calculated value lies below the threshold value, and the rotor being detected as stalled if the calculated value lies below the threshold value for a specific time.
Exemplary embodiments will be explained in more detail below with reference to figures. The illustrations are not necessarily true to scale and the exemplary embodiments are not limited to the illustrated aspects. Rather, importance is placed on illustrating the principles on which the exemplary embodiments are based. In the figures:
For the purpose of field-oriented control, the three phase currents are with iU, iV and iW are transformed into a rectangular coordinate system by means of the Clarke transform (function block 21). The result of the Clarke transform are the currents iα and iβ, which can also be considered to be the real component and the imaginary component of the complex-valued current i=iα+j·iβ (j denotes the imaginary unit). The currents iα and iβ (that is to say the digital representation of said currents) are then subjected to a Park transform which is also referred to as a d/q transform (function block 22), The Park transform is substantially a further coordinate transformation from a quiescent coordinate system into a coordinate system which co-rotates with the rotor (d/q coordinate system). The transformed currents are denoted id and iq and can likewise be considered to be the real component and the imaginary component of the complex-valued current I=id+j·iq. The angular position θ the rotor is required for carrying out the Park transform, which angular position can either be directly measured (for example by means of the rotary encoder) or can be calculated from current values and voltage values (see flux estimator 23). The examples described here relate to sensor-free motors, that is to say no direct measurement of the angular position takes place.
The currents id and iq (that is to say the digital representation of said currents) are compared with an associated setpoint value and the respective difference is respectively supplied to a digital controller 26 and, respectively, 27 (for example a PI controller). The motor voltages Vd and Vq (in the d/q coordinate system) are provided at the outputs of the controllers 26 and 27 as digital values. The voltages Vd and Vq (that is to say the digital representation of said voltages) are then transformed again into the non-rotating coordinate system (α/β coordinate system) by means of an inverse Park transform (function block 28), and the voltages Vα and Vβ, which can also be considered to be the real component and the imaginary component of the complex-valued voltage V=Vα+j·Vβ, are obtained as the result. These voltages are then transformed into polar coordinates |V|, θ (magnitude and phase of the complex-valued voltage V) and the resulting values |V| and θ are supplied to the modulator 20 which carries out, for example, a PWM. modulation (space-vector modulation). The modulated output signals SU, SV, SW are supplied to the driver circuit 13 which is designed to generate the gate drive signals for the transistors contained in the inverter. In the case of a three-phase system, the inverter 11 has three half-bridges, each with two power transistors, that is to say six transistors have to be driven.
Estimating the (complex-valued) rotor flux based on the currents iα and iβ and the voltages Vα and Vβ is known per se. To this end, the flux estimator uses a mathematical model of the motor, which model can depend on the specific construction of the motor. Various concepts and models for estimating the rotor flux Ψ are known per se and therefore will not be explained in any further detail here. However, it should be noted that the current rotor angle θ directly from the estimated complex-valued flux; the rotor angle θ is equal to the argument arg{Ψ} of the complex-valued rotor flux. The rotor angle is equal to the document arg{Ψ} of the estimated value of the flux Ψ. The information about the rotor angle is supplied to a speed estimator 24 which is designed to estimate the current motor rotation speed ω based on the value Ψ (more precisely based on arg{Ψ}. Said current motor rotation speed is compared with a setpoint value ωREF and the difference from the setpoint value is supplied to the rotation speed controller 25, which can likewise be designed as a PI controller. The output of the rotation speed controller 25 supplies the setpoint value for the current iq to the input of the PI controller 27. The setpoint value for the current id at the input of the PI controller 26 can be set to zero.
In the exemplary embodiments described here, the motor controller comprises a rotor stall detector 14. Said rotor stall detector is designed to detect stalling of the rotor of the electric motor based on the estimated rotor flux Ψ and to generate a corresponding error flag in the case of stalling of the rotor having been detected. The function of the rotor stall detector will be discussed in more detail further below with reference to
As shown in
The flux estimator 23 contains a low-pass filter in order to suppress interference and noise. Significant interference is caused, for example, by the so-called DC drift which can be eliminated by the low-pass filter. The low-pass filter is used in the flux estimator 23 as an approximation of an integrator for integrating the voltages Vα and Vβ (minus the offset RS·iα or RS·iβ, where RS is the resistance of the stator windings). In this case, the integrator—using Laplace notation 1/s—is replaced by a low-pass filter 1/(s+w). In this case, s denotes the Laplace variable and w denotes a real number. The low-pass filter (as an approximation of an integrator) results in the flux estimation no longer functioning reliably at low rotation speeds. In particular, a rotation speed of zero (that is to say stalled rotor) cannot be reliably estimated. An exemplary implementation of a flux estimator is illustrated in
ΔΨ[k]=(|Ψ[k]|−|Ψ[k−1]|)/|Ψ[k]|. (1)
Here, the time parameter t is equal to k·Ts and Ts is equal to the duration of the sampling interval. It should be noted at this point that the duration of the sampling interval Ts does not necessarily have to be same as the temporal step width ΔT which is used in field-oriented control. In the examples used here, the sampling interval Ts, which is used for the rotor stall detection (
In the illustrated example, the magnitude of the estimated rotor flux Ψ drops exponentially starting from time t=1.5 s. The exponential drop is caused by the abovementioned low-pass filter, that is to say said exponential drop is substantially the sudden response r(t) of the low-pass filter with the transfer function T(s)=1/(s+w) and can be expressed as follows:
Ψ(t)=Ψ0·exp(−w·(t−t0)), for t≥t0, (2)
where t0 denotes the time at which stalling of the rotor begins (that is to say t0=1.5 s in the present example) and Ψ0 denotes the magnitude of the flux at time t0 (approximately 0.009 Wb in the present example). Insertion of equation 2 into equation 1 gives (where t=k·TS)
ΔΨ[k]=1−exp(−w·TS), (3)
which is a (theoretically) constant system parameter.
In view of the theoretical considerations discussed above, stalling of a rotor can be detected comparatively reliably by way of the phase of an exponential drop of the estimated rotor flux Ψ[k] being detected. This phase of the exponential drop is distinguished in that the change ΔΨ[k] in the estimated rotor flux suddenly drops to a constant value, which can be relatively easily detected by means of comparison with a threshold value TH. The calculated relative change in flux ΔΨ[k] remains at a comparatively low constant value for a certain time, before it increases again. In the case of a low-pass filter with the characteristic 1/(s+w), the phase in which the calculated relative change in flux ΔΨ[k] remains at the low constant value lasts for approximately 3/w. In the example illustrated here (w=100 s−1), this phase lasts for approximately 30 ms.
The waveforms illustrated here are simulation results. In practical applications, a situation of the threshold value TH being undershot once is not enough to adequately conclude that a rotor has stalled (this would lead to faulty detection operations). As can be seen in
In order to ensure that stalling of a rotor is triggered only when the threshold value TH is undershot for a certain time period, a counter is used, which counter, in each sampling interval, is incremented by one if the calculated relative change in flux ΔΨ[k] undershoots the threshold value TH, and is decremented by one if the calculated relative change in flux ΔΨ[k] does not undershoot the threshold value TH, wherein the counter value cannot be lower than zero (that is to say a counter reading of zero will not be decremented further). In the illustrated example, a sampling interval is approximately 1.7 ms. Stalling of a rotor is first identified in the example illustrated in
The error flag is a Boolean value (for example one hit) which indicates whether the counter reading has reached a critical value (maximum value). In the present example, this critical value is four. In response to an error flag which indicates a stalled rotor, the power output stage (that is to say the inverter 11), for example, can be deactivated, for example by way of the driver circuit 13 no longer turning on the transistors of the inverter. Therefore, overheating of the inverter 11 or of the motor 10 is avoided.
An example of a method for detecting stalling of the rotor of the electric motor will be summarized below with reference to the flowchart in
In the exemplary embodiments described here, the field-oriented control takes place in discrete time steps (time index k) according to a clock signal. The value ΔΨ[k], which represents the change in the magnitude of the estimate |Ψ[k]| for the magnetic flux, is likewise calculated at regular intervals in accordance with the clock signal (for example in each time step k of the field-oriented control operation or an integer multiple thereof). An error is flagged when it is detected that the calculated value ΔΨ[k] lies below the threshold value for a predefined number of clock cycles.
A counter can be used in order to determine whether the calculated value ΔΨ[k] already lies below the threshold value for the predefined time, in this case, the method comprises incrementing or decrementing the counter depending on the result of the comparison of the calculated value ΔΨ[k] and the threshold value in the individual clock cycles. For example, a counter can be initialized with zero and incremented in each clock cycle (with index k) in which the calculated value ΔΨ[k] lies below the threshold value. The counter can be decremented in each clock cycle in which the calculated value ΔΨ[k] lies above the threshold value, provided that the current counter reading is greater than zero (that is to say the counter reading is not less than zero). An error is flagged when the counter reading reaches a specific, predefined value.
Although the invention has been described and illustrated with reference to an implementation, changes and/or modifications can be made to the illustrated examples, without departing from the spirit and scope of the appended claims. Particularly with regard to the various functions which are implemented by the above-described components or structures (units, assemblies, devices, circuits, systems, etc.), the designations and terms which are used to describe components/structures of this kind are also intended to correspond to any other component/structure which implements the specific function of the described component (that is to say which is functionally equivalent), even if it is not structurally equivalent to that structure which implements this function in the implementation described here.
Number | Date | Country | Kind |
---|---|---|---|
102019108725.2 | Apr 2019 | DE | national |
Number | Name | Date | Kind |
---|---|---|---|
5140244 | Lyons | Aug 1992 | A |
5367236 | Salazar | Nov 1994 | A |
6856114 | Netz | Feb 2005 | B2 |
8432112 | Henderson | Apr 2013 | B2 |
10003287 | West | Jun 2018 | B2 |
20060193090 | Ho | Aug 2006 | A1 |
20110068724 | Henderson et al. | Mar 2011 | A1 |
20120206945 | Brogan | Aug 2012 | A1 |
20120206954 | Yoshikawa | Aug 2012 | A1 |
20170126153 | Lepka | May 2017 | A1 |
20170131340 | Tallam | May 2017 | A1 |
20180167015 | Wu | Jun 2018 | A1 |
20190229663 | Ogawa | Jul 2019 | A1 |
Number | Date | Country |
---|---|---|
102006008497 | Aug 2006 | DE |
Entry |
---|
Office Action, in the German language, from counterpart German Application No. 102019108725.2, dated Nov. 21, 2019, 4 pp. |
Number | Date | Country | |
---|---|---|---|
20200321897 A1 | Oct 2020 | US |