Low speed sensorless observation of permanent magnet synchronous motors

A motor system can include a motor, the motor including at least a rotor, and a controller configured to operate the motor. The controller can be configured to perform operations for operating the motor. The operations can include determining an initial estimated rotor angle, determining one or more estimated currents defined by an estimated rotating reference frame based at least in part on the estimated rotor angle, obtaining one or more current measurements of one or more measured currents respective to the one or more estimated currents, determining one or more current errors based at least in part on a subtractive combination of the one or more estimated currents and the one or more measured currents, determining one or more rotor flux estimates based at least in part on the one or more current errors, the one or more rotor flux estimates comprising at least an estimated δ-directed rotor flux vector, and determining an estimated rotor speed based at least in part on an integral of the estimated δ-directed rotor flux vector.

FIELD

The present subject matter relates generally to low speed sensorless observation of permanent magnet synchronous motors.

BACKGROUND

During operation of a motor, such as operation of a motor in an appliance, it can be desirable to observe speed (e.g., rotational speed) and/or angle (e.g., angular displacement) of the motor (e.g., of a rotor). One method for observing speed and/or angle of a motor is through the use of an observer that can model speed and angle of the rotor. Existing observer algorithms frequently require a minimum speed to provide useful tracking.

SUMMARY

One example aspect of the present disclosure is directed to a motor system. The motor system can include a motor, the motor including at least a rotor, and a controller configured to operate the motor. The controller can be configured to perform operations for operating the motor. The operations can include determining an initial estimated rotor angle, determining one or more estimated currents defined by an estimated rotating reference frame based at least in part on the estimated rotor angle, obtaining one or more current measurements of one or more measured currents respective to the one or more estimated currents, determining one or more current errors based at least in part on a subtractive combination of the one or more estimated currents and the one or more measured currents, determining one or more rotor flux estimates based at least in part on the one or more current errors, the one or more rotor flux estimates comprising at least an estimated δ-directed rotor flux vector, and determining an estimated rotor speed based at least in part on an integral of the estimated δ-directed rotor flux vector.

Another example aspect of the present disclosure is directed to a motorized appliance. The motorized appliance can include at least one motorized component, and a motor system configured to drive the at least one motorized appliance. The motor system can include a motor, the motor including at least a rotor, and a controller configured to operate the motor. The controller can be configured to perform operations for operating the motor. The operations can include determining an initial estimated rotor angle, determining one or more estimated currents defined by an estimated rotating reference frame based at least in part on the estimated rotor angle, obtaining one or more current measurements of one or more measured currents respective to the one or more estimated currents, determining one or more current errors based at least in part on a subtractive combination of the one or more estimated currents and the one or more measured currents, determining one or more rotor flux estimates based at least in part on the one or more current errors, the one or more rotor flux estimates comprising at least an estimated δ-directed rotor flux vector, and determining an estimated rotor speed based at least in part on an integral of the estimated δ-directed rotor flux vector.

DETAILED DESCRIPTION

A motor refers to a class of electro-mechanical device that is capable of producing revolving motion in response to electrical signals. Motors typically include a stationary, and typically mounted, stator configured to encase or surround a rotor. The rotor and/or stator are electrically and/or magnetically charged to induce rotational motion between the rotor or stator. One of ordinary skill in the art will understand that various motors exist in the state of the art, and those variations are within the scope of the present disclosure, when appropriate.

One exemplary class of motor is a synchronous motor. A synchronous motor is a motor that operates using alternating current (AC) and for which, at steady state, rotation is synchronized with a frequency of a supply current. As a result, the rotation period is equal to an integral number of AC cycles. Some synchronous motors include multiphase AC electromagnets on the stator of the motor that create a magnetic field which rotates in time with the oscillations of a line current. The rotor can include magnetic polarization such that the rotor turns in step with the stator field at the same rate and, as a result, provides the second synchronized rotating magnet field of any AC motor. Some synchronous motors, termed “permanent magnet synchronous motors” or PMSMs, include one or more permanent magnets (or other permanently-induced, nonvariant magnetic poles) at the rotor such that the rotor turns with the induced stator field.

It is often desirable to obtain an accurate knowledge of speed and/or angle information of a PMSM. For instance, it is often desirable to know revolving speed (e.g., in degrees or radians per second), angular displacement/phase, and/or other characteristics for efficient control of the motor. As an example, the speed and/or angle information can be used in a feedback mechanism for efficient control of the motor. It is possible to measure such information through sensors. However, sensorless approaches, in which the characteristics are estimated by an observer (e.g., an observer algorithm) that determines the characteristics based on a model of the motor and measured electrical signals at the motor, have become popular due to a reduced cost and/or increased reliability compared to approaches utilizing movement or displacement sensors (e.g., speed and/or angle sensors).

Some existing observer algorithms require a minimum speed to converge to proper modeling of rotor speed and/or angle. Thus, the use of these observer algorithms can require an open loop stage for the purpose of bringing the rotor to and/or above the minimum speed such that the rotor speed and angle can be estimated by the observer algorithm. During this open loop stage, it is typically not possible to use observer measurements as feedback. Furthermore, the presence of the open loop stage contributes to inefficient use of, for example, extra current to avoid stalling, in addition to and/or alternatively to increased downtime of the motor before it can operate effectively.

Systems and methods according to example aspects of the present disclosure can provide for improved observers that have improved modeling of rotor speed and/or angle. In particular, example aspects of the present disclosure provide for rotor angle and speed feedback for a PMSM based on voltage and current data that is able to track speed and angle of the rotor as the rotor speed passes through zero. For instance, systems and methods according to example aspects of the present disclosure can model rotor speed even at low speed (e.g., at zero rotations per second) and/or can have improved modeling of rotor angle or phase at low speed, such as successfully modeling rotor angle/phase as the speed passes through zero. Furthermore, systems and methods according to example aspects of the present disclosure can provide for observers that do not require an open loop stage, such as an open loop stage where extra current is applied to avoid stalling, which can contribute to time and/or energy savings.

For instance, permanent magnet synchronous motors may be driven by field oriented control (FOC), which provides for efficient and high-fidelity control. In field oriented control, a stator magnetic field is generated via a stator current provided through one or more stator windings at the stator. The stator field is oriented at a fixed angular offset ahead of a rotor magnetic field at the rotor. For instance, the rotor field may be produced by one or more permanent magnets or other permanent magnetic poles at the rotor. The angular offset between the rotor field and the stator field induces rotational motion at the rotor as the rotor field is made to be aligned with the stator field. By continually moving the stator field (e.g., per phases of the stator current), the rotor is made to synchronously rotate with the stator field.

This is explained with reference toFIG. 1.FIG. 1depicts a schematic diagram of an example permanent magnet synchronous motor100according to example embodiments of the present disclosure. As illustrated, motor100includes rotor110and stator120. Rotor110includes a north magnetic pole112and south magnetic pole114. It should be understood that rotor110is discussed with reference to a single north magnetic pole112and a single south magnetic pole114for the purposes of illustration. Rotor110can include any suitable (e.g., balanced) number of north and south magnetic poles. The angle of the rotor magnetic field, represented by θe, is related to a mechanical angle of the rotor, represented by θm, by a number of rotor poles P. In particular, the angles are related by the equation:

θe=P2⁢θm.
In addition, the (mechanical) rotor speed, represented by

ωm=d⁢θmd⁢t,
can be related to the electrical rotor speed, represented by

ωe=d⁢θed⁢t,
by the equation:

In operating the motor100, three-phase power (e.g., current/voltage signals) can be provided at each of the stator windings122,124, and126. For instance, stator winding122can be positioned along a-axis123. Stator winding124can be positioned along b-axis125and can receive a power signal that is 120 degrees out of phase with the signal of stator winding122. Additionally, stator winding126can be positioned along c-axis127and can receive a power signal that is −120 degrees or 240 degrees out of phase with stator winding122. A convenient way to represent the behavior of the motor100is to treat the three-phase voltages and currents as rotating space vectors. The rotating space vectors can be broken up into cartesian components. A first component, termed the direct component or D component, can be in phase with the rotor magnetic field. This component is directed along the d-axis115. A second component, termed the quadrature component or Q component, can be out of phase with the direct component, such as 90 degrees out of phase with the direct component. For instance, this component can be directed along the q-axis117.

In particular, voltages and currents in the rotating-space dq reference frame can be translated from the three-phase abc reference frame by suitable transforms. For instance, one example set of transforms, the Park Transform and Clarke Transform, can be performed in cascade to convert between rotating-space and three-phase. In particular, an example Park Transform is given by:

[dq]=[cos⁢⁢θesin⁢⁢θe-sin⁢⁢θecos⁢⁢θe]⁡[αβ]
and an example Clarke Transform is given by:

Note that alternate versions of the above transformations exist, accounting for variations in the location of a zero reference angle, whether the transformation preserves amplitude or power, etc.

In the dq frame, the electrical dynamics of the stator windings can be given by:

[vdvq]=[Rs-ωe⁢Lqωe⁢LdRs]⁡[IdIq]+[Ld00Lq]⁡[I.dI.q]+λm⁢ωe⁡[01]
where Rsis the resistance of the stator windings; Ld, Lqare the d and q axis inductances of the stator windings, which may differ from each other based on the rotor construction; and λmis the magnitude of the rotor magnetic flux linkage, which can be constant for a sinusoidal motor. The voltage term λmωeis known as the back electromotive force (EMF) (or counter-electromotive force), and, as can be seen in the above equation, has magnitude proportional to the rotor electrical speed ωe. Because the magnitude of the back EMF is proportional to rotor speed, it is difficult to accurately estimate at low rotor speeds. Because of this, many existing observer algorithms may fail to accurately track the back EMF term at low speeds.

In particular, for permanent magnet synchronous motors with surface-mounted magnets, Ld=Lq. Due to the equivalence between these inductances, differentiating the d-axis from the q-axis, which is used in identifying θe, can require detecting the back EMF term. As a result, many observer algorithms depend on a minimum speed such that the observer can converge on a rotor speed and angle, or, intuitively, such that the magnitude of the back EMF term can become large enough to be significant. Furthermore, many observer algorithms can require the use of an open loop stage to bring the rotor above the minimum speed before employing closed loop feedback.

In addition, many observers estimate the back EMF space vector and then align the dq frame by finding the angle θ, which yields a zero back EMF term in the d-axis. If this back EMF vector is not accurately estimated, such as due to inaccuracies in model parameters, this inaccuracy can prevent the observer from accurately tracking rotor angle and speed. This issue can be especially prevalent at lower speeds, at which the back EMF vector has relatively lower magnitude compared to the terms with discrepancies.

According to example aspects of the present disclosure, however, an observer can estimate the rotor flux space vector, which is used to align the reference frame. The back EMF space vector is the derivative of the rotor flux space vector. Furthermore, example aspects of the present disclosure can include bounding the magnitude of the estimated rotor flux based on a nominal value. Furthermore, the back EMF vector can be based at least in part on the bounded estimated rotor flux. This can provide for improved robustness to voltage discrepancies. This, in turn, can provide for tracking rotor speed and/or angle to near-zero. For instance, the estimated rotor flux vectors can be multiplied by an estimated speed to obtain the back EMF signals.

In addition, the magnitude of the rotor flux vectors can be constrained such that the amplitude of the estimated back EMF can be tied to the estimated speed. This can prevent the estimated speed from increasing out of control when the real back EMF is small, but has uncertain orientation. This can provide that, even if the estimated rotor angle is not entirely accurate, the estimated rotor angle will not increase (or decrease) out of control either, and will thus experience relatively acceptable deviation at worst, especially in cases where the speed is only near zero temporarily, such as in the case of a motor direction change.

The observer according to example aspects of the present disclosure can be provided in an estimated rotating reference frame based on an estimated rotor angle. In this reference frame, the three-phase system states, such as current, voltage, and flux, can appear as two-phase DC signals, including a component in phase with the rotor flux angle (along what is termed the “direct axis”) and a component which is orthogonal to it (along which is termed the “quadrature axis”). Representing these components as DC components can provide for improved ease of tracking the components.

In some implementations, transforming signals (e.g., current measurements) from a three-phase reference frame to the estimated rotating reference frame comprises implementing a Park transform and a Clarke transform with respect to the estimated rotor angle. For instance, according to example aspects of the present disclosure, an estimated rotor angle {circumflex over (θ)}ecan be substituted in place of an actual rotor angle θein the aforementioned Park Transform. This estimated rotor angle can be used in the absence of a known rotor angle. To differentiate from the earlier dq reference frame, the axes defined by this transformation are denoted as γδ, where the γ-axis is analogous to the d-axis and the S-axis is analogous to the q-axis. This transformation yields the following current dynamic model in an estimated rotating reference frame, the γδ frame:

[vγvδ]=[R-θ^.e⁢Lθ^.e⁢LR]⁡[IγIδ]+L⁡[I.γI.δ]+ωe⁡[-λrδλrγ]
where {circumflex over ({dot over (θ)})}eis the derivative of {circumflex over (θ)}eand where the γδ flux terms have the following form:

[λrγλrδ]=λm⁡[cos⁢⁢θ˜esin⁢⁢θ˜e]
where {tilde over (θ)}e=θe−{circumflex over (θ)}eis the angle error. As can be seen in the above equations, when {circumflex over (θ)}e=θe, meaning that the estimated rotor angle is equivalent to the actual rotor angle, the model becomes equivalent to the earlier dq model, which means λrγ=λmand λrδ=0.

Thus, according to example aspects of the present disclosure, the γδ reference frame can be useful in designing an observer that is configured to determine rotor speed and angle of a motor without requiring the use of speed or angle sensors. In particular, measured voltage and current can be used along with an estimated speed and rotor flux to estimate the rotating current vector. The estimated current vector can be compared with the measured current vector to produce a current error. This current error can then be used to update the estimated rotor flux. The estimated rotor flux can, in turn, be used to track rotor angle and/or rotor speed. For instance, the rotor flux vector can be designed to ideally have a zero magnitude at the q-axis, and, as such, the quadrature component of the rotor flux can be used as feedback to update the estimated speed and/or angle.

For instance, according to example aspects of the present disclosure, a controller can determine an initial estimated rotor angle. The initial estimated rotor angle can be determined in any suitable manner. For instance, as one example, the estimated rotor angle can be zero degrees and can be assigned upon initial energization of the motor.

The controller can additionally determine one or more estimated currents defined by an estimated rotating reference frame based at least in part on the estimated rotor angle. For instance, the γδ currents Îγ, Îδcan be determined in the estimated rotating reference frame, the γδ frame, based on the estimated rotor angle {circumflex over (θ)}e.

Additionally, the controller can obtain one or more current measurements of one or more measured currents respective to the one or more estimated currents. For instance, the actual currents can be measured from the motor and/or transformed to an appropriate reference frame. As one example, the measured currents may be measured by one or more current probes at the motor, such as at the stator windings and/or transformed by Park Transform and/or Clarke Transform.

Additionally, the controller can be configured to determine one or more current errors. For instance, the current errors can be determined by a subtractive combination of the one or more estimated currents and the one or more measured currents. As one example, the error signals can be determined by subtracting the one or more measured currents from the one or more actual currents. For instance, this is mathematically illustrated in the below equation, where Îγand Ĩδare the current errors:
Ĩγ=Îγ−Iγ
Ĩδ=Îδ−Iδ

The current estimates can be included in a closed-loop feedback system based at least in part on the one or more measured currents and the one or more current errors and based at least in part on a functional relationship between the one or more updated current estimates, the one or more measured currents, and one or more rotor flux estimates. For instance, in one example implementation according to example aspects of the present disclosure, the design of the estimated current is based on the following functional relationship(s):

I^γ=∫1Ld⁡[vγ-Rs⁢Iγ+θ^.e⁡(Lq⁢Iδ+λ^rδ)-k1⁢I˜γ]I^δ=∫1Lq⁡[vδ-Rs⁢Iδ-θ^.e⁡(Ld⁢Iγ+λ^rγ)-k1⁢I˜δ]
where k1is a feedback gain, and {circumflex over (λ)}rγ, {circumflex over (λ)}rδare rotor flux estimates. According to example aspects of the present disclosure, rotor flux estimates can be a useful component of observers, and in particular at low speeds.

For instance, according to example aspects of the present disclosure, the controller can determine one or more rotor flux estimates based at least in part on the one or more current errors. For instance, the rotor flux estimates can be space vectors in the γδ reference frame, such as vectors including a γ-directed rotor flux vector, {circumflex over (λ)}rγ, and a δ-directed rotor flux vector, λrδ. In some implementations, the rotor flux estimates can be modeled according to an integral over an additive combination of a first feedback-weighted current error of the current error(s) and the multiplicative combination of the estimated rotor angle and a second current error of the current error(s). The first current error and the second current error can be positioned with respect to differing axes of the γδ reference frame. For instance, in one example implementation, the rotor flux estimates can be defined as:
λrγ=∫[k1Ĩγ+{circumflex over ({dot over (θ)})}eĨδ]
λrδ=∫[k1Ĩδ−{circumflex over ({dot over (θ)})}eĨγ]

Note that when the estimated rotor angle is equivalent to an actual rotor angle (e.g., {circumflex over (θ)}e=θe) then the magnitude of the γ-directed rotor flux vector is equivalent to the magnitude of the rotor magnetic flux linkage (e.g., λrγ=λm). Because of this, it is possible to set bounds on the integration of {circumflex over (λ)}rγto keep it near λm. Furthermore, when the estimated rotor angle and actual rotor angle are equivalent, the magnitude of the δ-directed rotor flux estimate should be zero. Because of this, it is possible to use the estimated δ-directed rotor flux vector, {circumflex over (λ)}rδas a feedback term to update the estimated speed and angle.

For instance, the controller can additionally be configured to determine an estimated rotor speed, represented by {circumflex over (ω)}e. For instance, in some implementations, the estimated rotor speed can be determined based at least in part on an integral of the estimated δ-directed rotor flux vector. The integral term can be weighted by a feedback gain. One example implementation of the integral is given by the equation below, where kωis a feedback gain:
{circumflex over (ω)}e=∫kω{circumflex over (λ)}rδ

In addition, the controller can be configured to determine an updated estimated rotor angle of the rotor based at least in part on the estimated rotor speed. Additionally and/or alternatively, the updated estimated rotor angle of the rotor can be determined based at least in part on the one or more rotor flux estimates, such as the estimated δ-directed rotor flux vector. As one example, the updated estimated rotor angle of the rotor can be determined based at least in part on an integral of the sum of the estimated rotor speed and the estimated δ-directed rotor flux vector. The sum may be weighted based on one or more feedback gains. One example implementation of this integral is given below, where kθis a feedback gain, and wherein the term being integrated is the derivative of the estimated angle, {circumflex over ({dot over (θ)})}e:
{circumflex over (θ)}e=∫[{circumflex over (ω)}e+kθ{circumflex over (λ)}rδ]

The examples described above, and in particular the example rotor fluxes described above, are discussed with reference to the γδ reference frame as individual components projected onto each axis, (e.g., λrγ, λrδ). This is referred to as a Cartesian representation. As an alternative, the rotor flux vector can be represented in Polar form, such as by splitting the rotor flux vector into a magnitude component and a phase component. For instance, the magnitude component can be the magnitude of the rotor magnetic flux linkage, represented by λm. Additionally and/or alternatively, the phase component can be represented by the angle error {tilde over (θ)}e. These representations can have a relationship with the Cartesian components that is given by standard Polar transforms. For instance, as given below:

Thus, the observer may instead be designed to estimate the rotor magnetic flux linkage and angle error in place of the estimated rotor fluxes in the Cartesian representation. As an example, in some implementations, the magnitude of the estimated rotor flux may be based at least in part on the one or more current errors in the γδ reference frame and the estimated rotor angle. For instance, one example implementation of Polar estimated rotor flux vectors is given by the below equations:

Additionally, the controller can estimate the rotor speed and rotor angle based on the Polar estimated rotor flux vectors. As one example, the estimated rotor speed can be based at least in part on an integral of the estimated rotor angle error. Additionally and/or alternatively, the rotor angle can be based at least in part on an integral of an additive combination of the estimated rotor speed and the estimated rotor angle error. One example implementation of these integrals is given below:
{circumflex over (ω)}e=∫kω{tilde over ({circumflex over (θ)})}e
{circumflex over (θ)}e=∫[{circumflex over (ω)}e+kθ{tilde over ({circumflex over (θ)})}e]

In some implementations, designing the observer in Polar form can be useful in separately tuning a convergence rate of the magnitude component (e.g., the rotor magnetic flux linkage) and the phase component (e.g., the angle error). For instance, in some implementations, it may be desirable to have a lower convergence rate of the magnitude component than the phase component such that the phase component converges faster than the magnitude component (e.g., if the magnitude component is ideally a constant value).

For instance,FIG. 2depicts a block diagram of an example implementation of a motor system200implementing an observer algorithm according to example embodiments of the present disclosure. The motor system200can include motor202, such as a permanent magnet synchronous motor. The three-phase inverter204can be configured to control motor202. For instance, inverter204can supply current signals to windings at motor202such that the motor202produces rotational motion. As one example, the inverter204can supply three-phase current signals Ia, Ib, and Icto stator windings at the motor202in synchronous timing such that a (e.g., permanent magnet) rotor at motor202rotates. The inverter can produce the current signals in response to a control signal from a controller (e.g., current controller218).

In addition, the motor system200can include observer algorithm250. An example observer algorithm250is discussed with reference toFIG. 2B. The observer algorithm may be implemented in a different reference frame than the three phase reference frame of motor202and/or inverter204. For instance, the current signals from the inverter204can be transformed by Clarke transform212and/or Park transform214into a rotating reference frame (e.g., an estimated rotating reference frame). For instance, the current signals can be transformed into an alpha-beta reference frame by the Clarke transform212, and the signals from Clarke transform212can be used by the observer250to produce an estimated angle. The estimated angle can be used in Park transform214to produce signals in an estimated rotating reference frame.

The observer250can additionally produce an estimated speed. The estimated speed can be compared to a target speed to determine a speed error. The speed error can be provided to speed control216to determine target current signals. The target current signals can be produced in the rotating reference frame. The target current signals can be compared to the measured current signals (e.g., from Park transform214) to determine current error signals. The current error signals can be used by current controller218to produce control signals for inverter204. For instance, the control signals can be voltage signals. The voltage signals may be in the rotating reference frame. The voltage signals can be transformed (e.g., by inverse Park transform215and inverse Clarke transform213) to the three-phase reference frame to be used by inverter204.

FIG. 2Bdepicts a block diagram of an example implementation of an observer algorithm250(e.g., from the motor system200ofFIG. 2A) according to example embodiments of the present disclosure. For instance, the observer algorithm250can receive voltage signals and/or current signals in the alpha-beta reference frame. The observer algorithm250can include Park transform252that can transform the signals in the alpha-beta reference frame to the estimated rotating reference frame based at least in part on the estimated angle from the observer algorithm250. The current observer254can produce estimated currents in the estimated rotating reference frame. For instance, the current observer254can produce the estimated currents based at least in part on the measured currents in the estimated rotating reference frame, rotor flux estimates, and/or a derivative of the estimated angle. For instance, each of these values can be provided as feedback to the current observer254.

The estimated currents produced by the current observer254can be subtractively combined with the actual currents from the Park transform252to produce current errors. The current errors can be provided to flux observer256. The flux observer256can produce rotor flux estimates based at least in part on the current errors, as described herein. The rotor flux estimates can be used as feedback at current observer254. Additionally, the rotor flux estimates can be provided to speed estimator258. The speed estimator258can produce an estimated speed of the rotor based at least in part on the rotor flux estimates. The rotor flux estimates and/or the estimated rotor speed can be provided to angle observer260. The angle observer260can determine an updated estimated rotor angle of the rotor based at least in part on the estimated rotor speed and/or the rotor flux estimates.

Referring again toFIG. 2A, it should be understood that some or all of these components may be implemented by a controller210. For instance, in some embodiments, the controller210may be a computing device (e.g., including one or more processors) that is configured to implement the observer algorithm250and/or various other operations described inFIGS. 2A-2B(e.g., Clarke transform212, inverse Clarke transform213, Park transform214, inverse Park transform215, observer250, etc.). Additionally and/or alternatively, any of the operations (e.g., observer250) may be implemented by discrete circuitry (e.g., analog circuitry) such as a programmable logic gate array, integrated circuit(s), or other suitable circuitry.

Systems and methods according to example aspects of the present disclosure can provide for a number of technical effects and benefits. As one example, system and methods according to example aspects of the present disclosure can provide improved tracking of rotor speed and/or angle, especially at around zero speed (e.g., zero RPM). For instance, improvements discovered in one example implementation are discussed in greater detail with respect toFIG. 3. This improved tracking can at least contribute to improved precision and/or capability of control systems for motor systems. Additionally, and especially compared to sensorless methods, systems and methods according to example aspects of the present disclosure can provide for reduced cost and/or improved reliability associated with motor systems. For instance, by estimating rotor speed and/or angle, it is possible to omit rotor speed sensors and/or rotor angle sensors, saving costs associated with the sensors and/or reducing a likelihood of failure or inaccuracies associated with the sensors.

Additionally, systems and methods according to example aspects of the present disclosure can provide for improved solutions to various problems associated with limited near-zero-speed tracking of many existing observer algorithms. As one example, changing directions of a motor under existing observer algorithms can require braking to zero speed without observer feedback, due to the inability of existing algorithms to track speed to zero. As one example, this can be done by shorting stator windings. In this approach, it is not possible to control the rate of deceleration. Additionally, if it is necessary to identify the angle of the rotor, such as to start against a load, there is a conventional lack of reliable feedback to ensure that the rotor is at standstill, which is typically necessary to identify the angle of the rotor (e.g., by pulsed inductance test). Finally, to restart the motor, it would then be necessary to apply an open loop stage to bring the rotor up to a sufficient speed for the existing observer algorithms to converge. This typically requires greater currents and thereby increased power usage relative to closed-loop feedback mechanisms. For instance, these added steps can require increased time, current, audible noise (e.g., during angle detection stage), inconsistent low speed braking between loads, increased chance of stalling (e.g., during the open loop step) and various other challenges. Systems and methods according to aspects of the present disclosure, however, can solve these challenges by providing reliable tracking of rotor speed and/or angle at zero and/or as the rotor passes through zero (e.g., to change directions). As another example, systems and methods according to aspects of the present disclosure can newly provide for consistent closed-loop feedback while switching directions of a motor.

Example aspects of the present disclosure can find application in a number of suitable contexts. As one example, the observer algorithm according to example aspects of the present disclosure can be implemented at a controller of a motorized appliance, such as a washing machine. For example, the motor may be configured to drive a rotating wash basket or wash tub and may implement various control profiles to drive the basket or tub in such a way that clothes are sufficiently agitated to remove contaminants in the presence of detergent, water, and/or other agents. The motor may be driven in such a way that, such as during the implementation of washer agitate strokes or other profiles, the direction of the motor (e.g., clockwise vs. counterclockwise) is periodically changed. According to example aspects of the present disclosure, the direction of the motor can be changed without interrupting the wash cycle to account for the absence of closed-loop feedback. Thereby, cycle time of the washing machine and/or power usage of the washing machine may be reduced.

FIG. 3depicts correlated plots of testing results of a sensorless closed loop control using an observer algorithm according to example embodiments of the present disclosure. In particular,FIG. 3illustrates how the observer angle and speed compare with those measured by an encoder. For instance, plot302depicts a comparison between an actual phase angle and an estimated phase angle from an observer algorithm according to example aspects of the present disclosure. Furthermore, plot304depicts a plot of the observer error. Additionally, plot306depicts a comparison between an actual rotor speed and an estimated speed from the observer. As illustrated, it can be seen that the observer is able to track the speed as it passes through zero without deviating significantly from the actual speed. Additionally, it can be seen that the observer angle deviates somewhat as speed passes through zero, but the deviation is small enough such that the control loop is not destabilized, especially if the speed merely passes through zero temporarily and does not linger for a significant period of time around zero.

FIG. 4depicts an example method400for operating a motor system using an observer algorithm configured to estimate rotor flux according to example embodiments of the present disclosure.FIG. 4depicts steps performed in a certain order for the purposes of illustration. One of ordinary skill in the art will understand that various steps illustrated herein can be rearranged, omitted, modified, etc. without departing from the scope of the present disclosure.

As one example, the method400can be implemented by a controller of a washing machine. The washing machine can implement a wash cycle that is monitored to ensure proper operation.

At402, the method400can include determining an initial estimated rotor angle. The initial estimated rotor angle can be determined in any suitable manner. For instance, as one example, the estimated rotor angle can be zero degrees and can be assigned upon initial energization of the motor.

At404, the method400can include obtaining one or more current measurements of one or more measured currents respective to one or more estimated currents. For instance, the actual currents in the actual rotating reference frame, the dq frame, can be measured from the motor. As one example, the measured currents may be measured by one or more current probes at the motor, such as at the stator windings.

At406, the method400can include determining the one or more estimated currents defined by an estimated rotating reference frame based at least in part on the estimated rotor angle. For instance, the γδ currents Îγ, Îδcan be determined in the estimated rotating reference frame, the γδ frame, based on the estimated rotor angle {circumflex over (θ)}e.

At408, the method400can include determining one or more current errors based at least in part on a subtractive combination of the one or more estimated currents and the one or more measured currents. As one example, the error signals can be determined by subtracting the one or more measured currents from the one or more actual currents. For instance, this is mathematically illustrated in the below equation, where Ĩγand Ĩδare the current errors:
Ĩγ=Îγ−Iγ
Ĩδ=Îδ−Iδ

At410, the method400can include determining one or more rotor flux estimates based at least in part on the one or more current errors, the one or more rotor flux estimates comprising at least an estimated δ-directed rotor flux vector. For instance, the rotor flux estimates can be space vectors in the γδ reference frame, such as vectors including a γ-directed rotor flux vector, {circumflex over (λ)}rγ, and a δ-directed rotor flux vector, {circumflex over (λ)}rδ. In some implementations, the rotor flux estimates can be modeled according to an integral over an additive combination of a first feedback-weighted current error of the current error(s) and the multiplicative combination of the estimated rotor angle and a second current error of the current error(s). The first current error and the second current error can be positioned with respect to differing axes of the γδ reference frame. For instance, in one example implementation, the rotor flux estimates can be defined as:
{circumflex over (λ)}rγ=∫[k1Ĩγ+{circumflex over ({dot over (θ)})}eĨδ]
{circumflex over (λ)}rδ=∫[k1Ĩδ−{circumflex over ({dot over (θ)})}eĨγ]

Note that when the estimated rotor angle is equivalent to an actual rotor angle (e.g., {circumflex over (θ)}e=θe) then the magnitude of the γ-directed rotor flux vector is equivalent to the magnitude of the rotor magnetic flux linkage (e.g., λrγ=λm). Because of this, it is possible to set bounds on the integration of {circumflex over (λ)}rγto keep it near λm. Furthermore, when the estimated rotor angle and actual rotor angle are equivalent, the magnitude of the δ-directed rotor flux estimate should be zero. Because of this, it is possible to use the estimated δ-directed rotor flux vector, {circumflex over (λ)}rδas a feedback term to update the estimated speed and angle.

At412, the method400can include determining an estimated rotor speed based at least in part on an integral of the estimated δ-directed rotor flux vector. The integral term can be weighted by a feedback gain. One example implementation of the integral is given by the equation below, where kωis a feedback gain:
{circumflex over (ω)}e=∫kω{circumflex over (λ)}rδ

At414, the method400can include determining an updated estimated rotor angle of the rotor based at least in part on the estimated rotor speed. Additionally and/or alternatively, the updated estimated rotor angle of the rotor can be determined based at least in part on the one or more rotor flux estimates, such as the estimated δ-directed rotor flux vector. As one example, the updated estimated rotor angle of the rotor can be determined based at least in part on an integral of the sum of the estimated rotor speed and the estimated δ-directed rotor flux vector. The sum may be weighted based on one or more feedback gains. One example implementation of this integral is given below, where kθis a feedback gain:
{circumflex over (θ)}e=∫[{circumflex over (ω)}e+kθ{circumflex over (λ)}rδ]

At416, the method400can include modifying control of the motor based at least in part on the estimated rotor speed. As one example, if the rotor speed (and/or angle) differs significantly from intended operation of the motor, the controller may modify signals sent to the motor (e.g., current and/or voltage signals) in an attempt to bring the motor back in line with intended operation. Additionally and/or alternatively, a warning may be issued indicating that the motor is not operating properly. Additionally and/or alternatively, operation of the motor system may be terminated.

FIGS. 5 through 7illustrate an exemplary embodiment of a vertical axis washing machine appliance500. Specifically,FIGS. 5 and 6illustrate perspective views of washing machine appliance500in a closed and an open position, respectively.FIG. 7provides a side cross-sectional view of washing machine appliance500. Washing machine appliance500generally defines a vertical direction V, a lateral direction L, and a transverse direction T, each of which is mutually perpendicular, such that an orthogonal coordinate system is generally defined.

While described in the context of a specific embodiment of vertical axis washing machine appliance500, it should be appreciated that vertical axis washing machine appliance500is provided by way of example only. It will be understood that aspects of the present subject matter may be used in any other suitable washing machine appliance, such as a horizontal axis washing machine appliance. Indeed, modifications and variations may be made to washing machine appliance500, including different configurations, different appearances, and/or different features while remaining within the scope of the present subject matter.

Washing machine appliance500has a cabinet502that extends between a top portion504and a bottom portion506along the vertical direction V, between a first side (left) and a second side (right) along the lateral direction L, and between a front and a rear along the transverse direction T. As best shown inFIG. 7, a wash tub508is positioned within cabinet502, defines a wash chamber510, and is generally configured for retaining wash fluids during an operating cycle. Washing machine appliance500further includes a primary dispenser512(FIG. 6) for dispensing wash fluid into wash tub508. The term “wash fluid” refers to a liquid used for washing and/or rinsing articles during an operating cycle and may include any combination of water, detergent, fabric softener, bleach, and other wash additives or treatments.

In addition, washing machine appliance500includes a wash basket514that is positioned within wash tub508and generally defines an opening516for receipt of articles for washing. More specifically, wash basket514is rotatably mounted within wash tub508such that it is rotatable about an axis of rotation A. According to the illustrated embodiment, the axis of rotation A is substantially parallel to the vertical direction V. In this regard, washing machine appliance500is generally referred to as a “vertical axis” or “top load” washing machine appliance500. However, it should be appreciated that aspects of the present subject matter may be used within the context of a horizontal axis or front load washing machine appliance as well.

As illustrated, cabinet502of washing machine appliance500has a top panel518. Top panel518defines an opening (FIG. 6) that coincides with opening516of wash basket514to permit a user access to wash basket514. Washing machine appliance500further includes a door520which is rotatably mounted to top panel518to permit selective access to opening516. In particular, door520selectively rotates between the closed position (as shown inFIGS. 5 and 7) and the open position (as shown inFIG. 6). In the closed position, door520inhibits access to wash basket514. Conversely, in the open position, a user can access wash basket514. A window522in door520permits viewing of wash basket514when door520is in the closed position, e.g., during operation of washing machine appliance500. Door520also includes a handle524that, e.g., a user may pull and/or lift when opening and closing door520. Further, although door520is illustrated as mounted to top panel518, door520may alternatively be mounted to cabinet502or any other suitable support.

As best shown inFIGS. 6 and 7, wash basket514further defines a plurality of perforations526to facilitate fluid communication between an interior of wash basket514and wash tub508. In this regard, wash basket514is spaced apart from wash tub508to define a space for wash fluid to escape wash chamber510. During a spin cycle, wash fluid within articles of clothing and within wash chamber510is urged through perforations526wherein it may collect in a sump528defined by wash tub508. Washing machine appliance500further includes a pump assembly530(FIG. 7) that is located beneath wash tub508and wash basket514for gravity assisted flow when draining wash tub508.

An impeller or agitation element532(FIG. 7), such as a vane agitator, impeller, auger, oscillatory basket mechanism, or some combination thereof is disposed in wash basket514to impart an oscillatory motion to articles and liquid in wash basket514. More specifically, agitation element532extends into wash basket514and assists agitation of articles disposed within wash basket514during operation of washing machine appliance500, e.g., to facilitate improved cleaning. In different embodiments, agitation element532includes a single action element (i.e., oscillatory only), a double action element (oscillatory movement at one end, single direction rotation at the other end) or a triple action element (oscillatory movement plus single direction rotation at one end, single direction rotation at the other end). As illustrated inFIG. 7, agitation element532and wash basket514are oriented to rotate about axis of rotation A (which is substantially parallel to vertical direction V).

As best illustrated inFIG. 7, washing machine appliance500includes a motor assembly600(described in detail below) in mechanical communication with wash basket514to selectively rotate wash basket514(e.g., during an agitation or a rinse cycle of washing machine appliance500). In addition, motor assembly600may also be in mechanical communication with agitation element532. In this manner, motor assembly600may be configured for selectively rotating or oscillating wash basket514and/or agitation element532during various operating cycles of washing machine appliance500.

Referring still toFIGS. 5 through 7, a control panel550with at least one input selector552(FIG. 5) extends from top panel518. Control panel550and input selector552collectively form a user interface input for operator selection of machine cycles and features. A display554of control panel550indicates selected features, operation mode, a countdown timer, and/or other items of interest to appliance users regarding operation.

Operation of washing machine appliance500is controlled by a controller or processing device556that is operatively coupled to control panel550for user manipulation to select washing machine cycles and features. In response to user manipulation of control panel550, controller556operates the various components of washing machine appliance500to execute selected machine cycles and features. According to an exemplary embodiment, controller556may include a memory and microprocessor, such as a general or special purpose microprocessor operable to execute programming instructions or micro-control code associated with methods described herein. Alternatively, controller556may be constructed without using a microprocessor, e.g., using a combination of discrete analog and/or digital logic circuitry (such as switches, amplifiers, integrators, comparators, flip-flops, AND gates, and the like) to perform control functionality instead of relying upon software. Control panel550and other components of washing machine appliance500may be in communication with controller556via one or more signal lines or shared communication busses.

During operation of washing machine appliance500, laundry items are loaded into wash basket514through opening516, and washing operation is initiated through operator manipulation of input selectors552. Wash basket514is filled with water and detergent and/or other fluid additives via primary dispenser512. One or more valves can be controlled by washing machine appliance500to provide for filling wash tub508and wash basket514to the appropriate level for the amount of articles being washed and/or rinsed. By way of example for a wash mode, once wash basket514is properly filled with fluid, the contents of wash basket514can be agitated (e.g., with agitation element532as discussed previously) for washing of laundry items in wash basket514.

More specifically, referring again toFIG. 7, a water fill process will be described according to an exemplary embodiment. As illustrated, washing machine appliance500includes a water supply conduit560that provides fluid communication between a water supply source562(such as a municipal water supply) and a discharge nozzle564for directing a flow of water into wash chamber510. In addition, washing machine appliance500includes a water fill valve or water control valve566which is operably coupled to water supply conduit560and communicatively coupled to controller556. In this manner, controller556may regulate the operation of water control valve566to regulate the amount of water within wash tub508. In addition, washing machine appliance500may include one or more pressure sensors570for detecting the amount of water and or clothes within wash tub508. For example, pressure sensor570may be operably coupled to a side of tub508for detecting the weight of wash tub508, which controller556may use to determine a volume of water in wash chamber510and a subwasher load weight.

After wash tub508is filled and the agitation phase of the wash cycle is completed, wash basket514can be drained, e.g., by drain pump assembly530. Laundry articles can then be rinsed by again adding fluid to wash basket514depending on the specifics of the cleaning cycle selected by a user. The impeller or agitation element532may again provide agitation within wash basket514. One or more spin cycles may also be used as part of the cleaning process. In particular, a spin cycle may be applied after the wash cycle and/or after the rinse cycle in order to wring wash fluid from the articles being washed. During a spin cycle, wash basket514is rotated at relatively high speeds to help wring fluid from the laundry articles through perforations526. After articles disposed in wash basket514are cleaned and/or washed, the user can remove the articles from wash basket514, e.g., by reaching into wash basket514through opening516.

Referring now toFIGS. 7 and 8, a motor assembly600will be described according to an exemplary embodiment of the present subject matter. Motor assembly600may be used with washing machine appliance500, e.g., to facilitate rotation of wash basket514and/or agitation element532, as described above. In addition, motor assembly600may be used in other washing machine appliances, including both vertical and horizontal axis washing machine appliances. As described in detail below, motor assembly600includes features for rotating wash basket514while also generating a flow of cooling air to help reduce the operating temperature of motor assembly600, thereby expanding its overall operating envelope and performance capabilities. It should be appreciated that motor assembly600described herein is only an exemplary embodiment used to describe aspects of the present subject matter and is not intended to limit the scope of the present disclosure in any manner.

As shown, motor assembly600generally includes a drive motor604that is operably coupled to wash basket514for selectively rotating wash basket514. More specifically, for example, drive motor604may include a motor shaft606that defines an axial direction A, a radial direction R, and a circumferential direction C. According to the exemplary embodiment, drive motor604is a vertically oriented, e.g., such that motor shaft606extends parallel to the vertical direction V of washing machine appliance500(i.e., such that axial direction A is parallel to the vertical direction V). However, it should be appreciated that aspects of the present subject matter may apply to any other suitable motor arrangement, e.g., such as a horizontally mounted motor assembly for a front load washing machine appliance.

As used herein, “motor” may refer to any suitable drive motor and/or transmission assembly for rotating wash basket514. For example, drive motor604may be a brushless DC electric motor, a stepper motor, or any other suitable type or configuration of motor. For example, drive motor604may be an AC motor, an induction motor, a permanent magnet synchronous motor, or any other suitable type of AC motor. In addition, drive motor604may include any suitable transmission assemblies, clutch mechanisms, or other components. According to an exemplary embodiment, drive motor604may be operably coupled to controller556, which is programmed to rotate wash basket514according to predetermined operating cycles, based on user inputs (e.g. via control panel550or input selectors552), etc.

Motor assembly600may further include a transmission assembly610that is operably coupled to wash basket514and/or agitation element532for transmitting torque from motor shaft606. In general, transmission assembly610may be any suitable mechanism or device suitable for utilizing the rotational motion of motor shaft606to rotate wash basket514and/or agitation element532. Accordingly, aspects of the present subject matter are not limited to the specific transmission assembly610described herein according to an exemplary embodiment.

Specifically, as best shown inFIG. 8, transmission assembly610is a belt driven transmission. In this regard, transmission assembly610includes a drive pulley612that is directly mechanically coupled to motor shaft606. Drive pulley612is generally configured for transmitting torque to an input shaft614of transmission assembly610via a drive belt616. As shown, input shaft614and motor shaft606are both vertically oriented in parallel to each other. In addition, motor shaft606and drive pulley612both extend out of a bottom surface618of drive motor604and input shaft614extends from a bottom of wash basket514to a location proximate bottom506of cabinet502. However, it should be appreciated that according to alternative embodiments, any other suitable motor and transmission configuration may be used.

Referring still toFIG. 8, input shaft614may be mechanically coupled to an output shaft620that is coupled to wash basket514and/or agitation element532. More specifically, as shown, input shaft614and output shaft620are rotatably supported by one or more bearings622and are mechanically coupled through a gearbox624, a mode shifter626, and a clutch628. In general, gearbox624includes a plurality of gears encased in a housing for altering the torque and/or speed transmitted from input shaft614to output shaft620. In addition, mode shifter626may be any suitable mechanism, gear train, etc. that is generally configured for adjusting the rotating action of output shaft620, e.g., to facilitate various agitation profiles or programs depending on the operating cycle of washing machine appliance500. Clutch628may be any suitable device for selectively engaging or disengaging input shaft614and output shaft620, e.g., for engaging and disengaging wash basket514and/or agitation element532.

Notably, motor assembly600and transmission assembly610may operate together to facilitate multiple modes of operation of washing machine appliance500. For example, during a wash cycle or an agitation cycle, wash basket514may remain stationary and agitation element532may oscillate back and forth according to any suitable agitation profile. This may be achieved, for example, by disengaging mode shifter626and/or clutch628to mechanically decouple wash basket514from drive belt616while operating drive motor604in a bi-directional, oscillating manner. By contrast, during a drain cycle or a spin cycle, wash basket514and agitation element532may rotate in the same direction at high speeds. This may be achieved, for example, by engaging mode shifter626and/or clutch628to mechanically couple wash basket514to drive belt616while operating drive motor604in a single direction. It should be appreciated that other modes of operating, along with other means for transmitting torque from motor assembly600may be used while remaining within the scope of the present subject matter.

Notably, operation of drive motor604generates heat within cabinet502. If this heat exceeds certain thresholds and is not discharged away from drive motor604, the operating limits of drive motor604may result in restrictions on the performance capabilities and operating envelope of motor assembly600. As a result, aspects of the present subject matter are directed to systems and features for facilitating cooling of motor assembly600, e.g., thereby facilitating improved performance of motor assembly600and washing machine appliance500.

Specifically, according to exemplary embodiments of the present subject matter, washing machine appliance500may include a fan assembly640that is generally configured for cooling drive motor604during operation of washing machine appliance500. More specifically, referring still toFIG. 4, fan assembly640may generally include a cooling fan642that is mechanically coupled to motor shaft606for urging a flow of cooling air around drive motor604as it rotates motor shaft606. In addition, fan assembly640may include a fan housing or a fan cover644that is positioned over cooling fan642and is generally configured for preventing access to moving parts of drive motor604and/or fan assembly640. Each of these features of fan assembly640will be described in more detail below according to exemplary embodiments of the present subject matter.

In general, cooling fan642may generally be any suitable type and configuration of fan or other air moving device. For example, cooling fan642is illustrated as a centrifugal fan directly coupled to motor shaft606such that it rotates about the axial direction A. However, according to alternative embodiments, cooling fans642may be a tangential fan, an axial fan, or any other suitable air blower. Notably, regardless of the type and configuration of fan used, the space available within cabinet502for positioning and rotating cooling fan642is very limited. Therefore, aspects of the present subject matter are directed to unique designs of fan assembly640to facilitate improved cooling of the motor assembly600during operation.

Referring now specifically toFIG. 8, fan assembly640may include a fan cover644that generally includes an endcap650that is positioned opposite cooling fan642relative to drive motor604along the axial direction A. In other words, endcap650is generally a flat portion of fan cover644and cooling fan642is sandwiched between drive motor604and endcap650. Fan cover644further includes a peripheral portion652that extends from endcap650and wraps around a radial tip of cooling fan642, e.g., to prevent user access to moving parts of drive motor604or cooling fan642during operation.

According to the illustrated embodiment, fan cover644is designed not only to cover cooling fan642, but also to cover other portions of transmission assembly610. In this regard, for example, fan cover644may further define a belt cover654that extends from fan cover644is positioned over drive belt616, mode shifter626, clutch628, etc. Notably, to facilitate the discharge of air flow generated by cooling fan642, fan cover644and belt cover654may define a plurality of apertures. Specifically, according to the illustrated embodiment, fan cover644may define a plurality of ventilation apertures656and belt cover654may define a plurality of belt cover apertures656for passing the flow of cooling air. In general, fan cover644and belt cover654may define any suitable number, type, geometry, size, and configuration of apertures656for facilitating improved airflow from fan assembly640.

For example, according to the illustrated embodiment, a plurality of smaller ventilation apertures656may be spaced in a circular pattern on endcap650, e.g., surrounding motor shaft606. Moreover, according to an exemplary embodiment, the overall size of ventilation apertures656may increase progressively from a central axis of motor shaft606or the axial direction A toward peripheral portion652. According to the illustrated embodiment, peripheral portion652defines a plurality of ventilation apertures656that are spaced apart along the circumferential direction C.