The present disclosure relates generally to electric motors, and more particularly to a system and a method for controlling an electric motor without a position sensor.
An accurate and reliable DC-link voltage measurement is desired for normal operation of motor drives and, in particular, for position estimation of a rotor in the motor drives. The DC-link voltage may fluctuate due to various reasons. For example, DC-link capacitors are voluminous in size and down-sizing may be desirable for compactness of the motor drive, however, with diode-bridge passive front end, the downsizing leads to reduction in stiffness and oscillation in the DC-link voltage. Further, in battery powered servo-drive and propulsion applications, the DC-link voltage varies as a function of a battery state-of-charge.
To minimize impact of the DC-link voltage fluctuations, the DC-link voltage is measured using a DC-link voltage sensor and Pulse Width Modulation (PWM) duty cycles are generated accordingly. However, the DC-link voltage sensor may be subjected to temperature inflations, electromagnetic interference and other external factors, which hamper normal operation of the DC-link voltage sensor. As a result, the measured DC-link voltage is unreliable and inaccurate. In absence of the reliable and the accurate DC-link voltage measurement, a discrepancy between a reference voltage and an output inverter voltage occurs that manifests as torque error and ripples in the motor drives, adversely impacting a load of the motor drives. Further, in position sensorless motor drives, rotor position estimation techniques depend on an accuracy of flux estimation that is strongly coupled to the DC-link voltage measurement reliability. Thus, the estimation of the rotor position becomes inaccurate if the DC-link voltage measurement is unreliable/inaccurate.
Therefore, there is a need for a control technique for an electric motor that is independent and immune to errors in the DC-link voltage measurement.
It is an objective of some embodiments to provide a system and a method for controlling an electric motor without a position sensor/transducer. It is also an objective of some embodiments to provide a position estimation method, which is immune to DC-link voltage measurements errors, for estimating a position of a rotor of the electric motor.
To achieve such objectives, the present disclosure provides a controller for estimating the position of the rotor and controlling the electric motor. The controller includes a feedback controller, a modulator, a Voltage Source Inverter (VSI), a hybrid flux observer, a position observer, and a state estimator. The VSI is powered by a DC voltage source. The electric motor may be powered by a DC voltage using the VSI. The feedback controller is configured to generate a reference voltage vector for the electric motor. The modulator is configured to generate duty cycles based on a DC-link voltage to modulate DC voltage according to the reference voltage vector such that a modulated voltage powering the electric motor reduces an error between a reference value of a state of an operation of the electric motor and a corresponding estimated value of the state of operation of the electric motor. The state of operation of the electric motor includes one or a combination of a speed of the electric motor, a position of a rotor of the electric motor, a torque of the electric motor, and a current of the electric motor.
The reference voltage vector and a measured current of the electric motor are input to the hybrid flux observer. The hybrid flux observer determines a first stator flux linkage based on a voltage model that is based on the reference voltage vector. The hybrid flux observer further determines a second stator flux linkage based on the measured current and a current-flux model of the electric motor. In particular, the current-flux model of the electric motor includes a look-up table of different values of the current of the electric motor and corresponding second stator flux linkages. The hybrid flux observer determines the second stator flux linkage corresponding to the measured current inputted to the hybrid flux observer, using the look-up table. Further, the hybrid flux observer estimates a flux error vector based on a difference between the first stator flux linkage and the second stator flux linkage.
Further, the flux error vector is input to the position observer. The position observer is configured to estimate the position of the rotor based on the flux error vector.
However, some embodiments are based on the recognition that, under DC-link voltage measurement errors, the estimation of the position of the rotor yields inaccurate position of the rotor. For instance, the DC-link voltage measurement error introduces a discrepancy between the reference voltage vector and an actual voltage vector and, consequently, the first stator flux linkage determined based on such reference voltage vector is also affected. Further, the flux error vector estimated based on such first stator flux linkage becomes inaccurate, leading to inaccurate estimation of the position of the rotor.
To that end, some embodiments aim to estimate the position of the rotor without being affected by the DC-link voltage measurement error. Some embodiments are based on the realization that, to estimate the position of the rotor without being affected by the DC-link voltage measurement error, the flux error vector can be projected in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer, and based on such projected flux error vector, the position of the rotor can be estimated.
The voltage error vector is a difference between the reference voltage vector and the actual voltage vector. The voltage error vector is a result of inaccurate duty cycles output of the modulator due to the DC-link voltage measurement error. The hybrid flux observer acts as an equivalent high-pass filter on the first stator flux linkage, where a hybrid flux observer feedback gain determines a cut-off frequency. To that end, the dynamics of the hybrid flux observer is represented as an equivalent high-pass filter action on the first stator flux linkage. To compensate for the high-pass filter action, the voltage error vector is phase shifted based on the hybrid flux observer feedback gain and an estimated operating speed to produce the resulting shifted voltage error vector.
Some embodiments are based on the realization that a component of the flux error vector that is orthogonal to the shifted voltage error vector is independent of the DC-link voltage measurement error. Thus, the flux error vector is projected along a direction orthogonal to the shifted voltage error vector to obtain a flux error that is scaled to obtain a position error signal Ee that is immune to the DC-link voltage measurement error.
Further, the position error signal is input to the position observer. The position observer estimates the position of the rotor based on the position error signal. The estimated position of the rotor is input to the state estimator. The state estimator is configured to estimate the value of the state of operation of the electric motor based on the estimated position of the rotor.
Some embodiments are based on further realization that, in addition to the rotor position estimation, a component ∈v of the flux error vector along a direction of the shifted voltage error vector can be used for an accurate estimate of the DC-link voltage. To that end, a DC-link voltage observer that is configured to estimate the DC-link voltage based on a projection of the flux error vector in a direction of the shifted voltage error vector, is provided. The estimated DC-link voltage is input to the modulator to mitigate error in the duty cycles such that the actual voltage vector is identical to the reference voltage vector. The rotor position estimation is independent and decoupled from the DC link voltage estimation.
To that end, the controller provides both position sensorless operation and DC-link voltage sensorless operation capability for the electric motor.
Accordingly, one embodiment discloses a controller for controlling an electric motor powered by a DC voltage using a Voltage Source Inverter (VSI). The controller comprises a feedback controller configured to generate a reference voltage vector for the electric motor; a modulator configured to generate duty cycles based on a DC link voltage to modulate the DC voltage according to the reference voltage vector such that a modulated voltage powering the electric motor reduces an error between a reference value of a state of an operation of the electric motor and a corresponding estimated value of the state of operation of the electric motor; a hybrid flux observer configured to estimate a flux error vector based on a difference between a first stator flux linkage observed according to a voltage model based on the reference voltage vector and a second stator flux linkage determined according to a current-flux model of the electric motor; a position observer configured to estimate a position of a rotor of the electric motor based on a projection of the flux error vector in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer; and a state estimator configured to estimate the value of the state of operation of the electric motor based on the estimated position of the rotor, thereby closing a feedback control loop of the feedback controller.
Accordingly, another embodiment discloses a method for controlling an electric motor powered by a DC voltage using a Voltage Source Inverter (VSI). The method comprises generating a reference voltage vector for the electric motor; generating duty cycles based on a DC link voltage to modulate the DC voltage according to the reference voltage vector such that a modulated voltage powering the electric motor reduces an error between a reference value of a state of an operation of the electric motor and a corresponding estimated value of the state of operation of the electric motor; estimating a flux error vector based on a difference between a first stator flux linkage observed according to a voltage model based on the reference voltage vector and a second stator flux linkage determined according to a current-flux model of the electric motor; estimating a position of a rotor of the electric motor based on a projection of the flux error vector in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer; and estimating the value of the state of operation of the electric motor based on the estimated position of the rotor.
Accordingly, yet another embodiment discloses a non-transitory computer-readable storage medium embodied thereon a program executable by a processor for performing a method for controlling an electric motor powered by a DC voltage using a Voltage Source Inverter (VSI). The method comprises generating a reference voltage vector for the electric motor; generating duty cycles based on a DC link voltage to modulate the DC voltage according to the reference voltage vector such that a modulated voltage powering the electric motor reduces an error between a reference value of a state of an operation of the electric motor and a corresponding estimated value of the state of operation of the electric motor; estimating a flux error vector based on a difference between a first stator flux linkage observed according to a voltage model based on the reference voltage vector and a second stator flux linkage determined according to a current-flux model of the electric motor; estimating a position of a rotor of the electric motor based on a projection of the flux error vector in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer; and estimating the value of the state of operation of the electric motor based on the estimated position of the rotor.
The presently disclosed embodiments will be further explained with reference to the attached drawings. The drawings shown are not necessarily to scale, with emphasis instead generally being placed upon illustrating the principles of the presently disclosed embodiments.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent, however, to one skilled in the art that the present disclosure may be practiced without these specific details. In other instances, apparatuses and methods are shown in block diagram form only in order to avoid obscuring the present disclosure.
As used in this specification and claims, the terms “for example,” “for instance,” and “such as,” and the verbs “comprising,” “having,” “including,” and their other verb forms, when used in conjunction with a listing of one or more components or other items, are each to be construed as open ended, meaning that that the listing is not to be considered as excluding other, additional components or items. The term “based on” means at least partially based on. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.
The feedback controller 103 is configured to generate a reference voltage vector (Vref) for the electric motor 101. The modulator 105 is configured to generate duty cycles (dabc) based on a DC-link voltage to modulate DC voltage according to the reference voltage vector such that a modulated voltage powering the electric motor 101 reduces an error between a reference value of a state of an operation of the electric motor 101 and a corresponding estimated value of the state of operation of the electric motor 101. The state of operation of the electric motor 101 includes one or a combination of a speed of the electric motor 101, a position of a rotor of the electric motor 101, a torque of the electric motor 101, and a current of the electric motor 101.
The reference voltage vector (Vref) and a measured current (Imeas) of the electric motor 101 are input to the hybrid flux observer 109. The hybrid flux observer 109 determines a first stator flux linkage based on a voltage model that is based on the reference voltage vector. The hybrid flux observer 109 further determines a second stator flux linkage based on the measured current and a current-flux model of the electric motor 101. In particular, the current-flux model of the electric motor 101 includes a look-up table of different values of the current of the electric motor 101 and corresponding second stator flux linkages. The hybrid flux observer 109 determines the second stator flux linkage corresponding to the measured current inputted to the hybrid flux observer 109, using the look-up table. Further, the hybrid flux observer 109 estimates a flux error vector based on a difference between the first stator flux linkage and the second stator flux linkage.
Further, the flux error vector 119 is input to the position observer 111. The position observer 111 is configured to estimate the position of the rotor based on the flux error vector 119.
However, some embodiments are based on the recognition that, under DC-link voltage measurement errors, the estimation of the position of the rotor yields inaccurate position of the rotor. For instance, the DC-link voltage measurement error introduces a discrepancy between the reference voltage vector and an actual voltage vector (Vabc) and, consequently, the first stator flux linkage determined based on such reference voltage vector is also affected. Further, the flux error vector estimated based on such first stator flux linkage becomes inaccurate, leading to inaccurate estimation of the position of the rotor.
To that end, some embodiments aim to estimate the position of the rotor without being affected by the DC-link voltage measurement error. Some embodiments are based on the realization that, to estimate the position of the rotor without being affected by the DC-link voltage measurement error, the flux error vector 119 can be projected in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer 109, and based on such projected flux error vector, the position of the rotor can be estimated. Such a projection of the flux error vector 119 is described in
Referring to
Some embodiments are based on the realization that a component of the flux error vector 119 that is orthogonal to the shifted voltage error vector 123 is independent of the DC-link voltage measurement error. Thus, the flux error vector 119 is projected along a direction 125 orthogonal to the shifted voltage error vector 123 to obtain a flux error that is scaled to obtain a position error signal (∈θ) 127 that is immune to the DC-link voltage measurement error.
Further, the f position error signal 127 is input to the position observer 111. The position observer 111 estimates the position of the rotor based on the position error signal 127. The estimated position of the rotor is input to the state estimator 113. The state estimator 113 is configured to estimate the value of the state of operation of the electric motor 101 based on the estimated position of the rotor.
Some embodiments are based on further realization that, in addition to the rotor position estimation, a component (∈v) 129 of the flux error vector 119 along a direction of the shifted voltage error vector 123 can be used for an accurate estimate of the DC-link voltage. To that end, a DC-link voltage observer 131 that is configured to estimate the DC-link voltage based on a projection of the flux error vector 119 in a direction of the shifted voltage error vector 123, is provided as shown in
To that end, the controller 100 provides both position sensorless operation and DC-link voltage sensorless operation capability for the electric motor 101.
A rotor position is denoted by θ and an electrical angular speed is ω=s θ where s is a differential operator
Estimated vectors are represented by superscript ({circumflex over ( )}), called “hat”. An orthogonal rotational matrix is
and I is an identity matrix. A model of the electric motor 201 is expressed in coordinates of an estimated rotor reference frame, denoted by subscript {circumflex over (d)}q, whose {circumflex over (d)}-axis is at {circumflex over (θ)}=θ−{tilde over (θ)}, where {tilde over (θ)} is an position error. Real space vectors are used, for example, a stator current is i{circumflex over (d)}q=[i{circumflex over (d)}, i{circumflex over (q)}]T where i{circumflex over (d)} and i{circumflex over (q)} are vector components in the estimated rotor reference frame. Space vectors in a stationary reference frame are denoted by subscript αβ. For the purpose of explanation, convention of a synchronous reluctance (SyR) machine is followed, i.e, d-axis is defined along the maximum inductance path.
The PI controller 203 regulates an estimated speed {circumflex over (ω)} to a reference speed ω* (user input) through a reference torque T*. Alternatively, a user can directly input the reference torque for applications where outer speed control is not necessary (e.g., traction applications). The reference torque is translated to a current vector reference i*dq in rotating dq reference frame such that MTPA 205 condition is satisfied, to minimize copper losses in the electric motor 201 and improve efficiency. A measured three-phase current iabc is transformed to coordinates of the estimated rotor reference frame, i.e., i{circumflex over (d)}q, using an estimated rotor position {circumflex over (θ)} with the dq-abc converter 209b. The dq-abc converter 209b may, for example, use Clarke and Park transformations. The CVC 207 generates a reference voltage v*dq in the rotating dq coordinates based on iabc and i{circumflex over (d)}q. The reference voltage v*dq is transformed to a three-phase reference voltage v*abc, using the dq-abc converter 209a.
The three-phase reference voltage v*abc is fed to the PWM 211. The PWM 211 generates duty cycles dabc for the given v*abc, based on a measured DC-link voltage vdc. The VSI 213 controls the electric motor 201 based on the duty cycles dabc. The measured three-phase current iabc is transformed into a current iαβ in the stationary reference frame using the abc-αβ converter 215. The three-phase reference voltage v*abc and the current iαβ are input to the hybrid flux observer 217. The hybrid flux observer 217 estimates the first stator flux linkage {circumflex over (λ)}{circumflex over (d)}q according to the voltage model (back-emf integration) and the second stator flux linkage λ{circumflex over (d)}qi according to a current-flux model of the electric motor 201. The current-flux model of the electric motor 201 includes a look-up table of different values of the current of the electric motor 201 and corresponding second stator flux linkages.
The first stator flux linkage {circumflex over (λ)}{circumflex over (d)}q and the second stator flux linkage {circumflex over (λ)}{circumflex over (d)}qi are input to the error estimator 219. The error estimator 219 determines a flux error that is scaled to obtain a position error signal ∈θ based on a projection of a flux error vector in a direction orthogonal to a direction of a voltage error vector shifted with a phase of dynamics of the hybrid flux observer 217. The flux error vector is a difference between the first stator flux linkage {circumflex over (λ)}{circumflex over (d)}q and the second stator flux linkage {circumflex over (λ)}{circumflex over (d)}qi. The position error signal ∈θ is input to the PLL 221 tracking a rotor position of the electric motor 201. The PLL 221 estimates rotor position and speed of the electric motor 201, thereby closing control loop of the controller 200. Such an estimation of the rotor position is independent and immune to the DC-link voltage measurement error.
Additionally or alternatively, the error estimator 219 determines a flux error that is scaled to obtain a voltage error signal ∈v based on a projection of the flux error vector in a direction of the voltage error vector shifted with the phase of dynamics of the hybrid flux observer 217. The voltage error signal ∈v is input to the DC-link voltage observer 223. Based on ∈v, the DC-link voltage observer 223 estimates a DC-link voltage {circumflex over (v)}dc.
In some embodiments, the electric motor 201 is a synchronous machine. A voltage equation of the synchronous machine in the estimated rotor reference frame is given by
s{circumflex over (λ)}
{circumflex over (d)}q
=v
{circumflex over (d)}q
−R
s
i
{circumflex over (d)}q
−{circumflex over (ω)}J{circumflex over (λ)}
{circumflex over (d)}q (1)
where Rs is a stator resistance and {circumflex over (λ)}{circumflex over (d)}q is a stator flux linkage. The synchronous machine exhibits nonlinear magnetic characteristics due to both saturation and cross-saturation phenomenon. Equivalently, nonlinear stator flux linkage can be expressed as an operating point dependent linear magnetic model as
{circumflex over (λ)}{circumflex over (d)}q=eJ{tilde over (θ)}L(idq)e−J{tilde over (θ)}i{circumflex over (d)}q+eJ{tilde over (θ)}λm (2)
where an apparent inductance matrix L is a function of an operating point idq in real dq rotor reference frame and λm is an open circuit permanent-magnet flux linkage vector. The apparent inductance matrix L is given by
where λm is the open circuit permanent-magnet flux linkage and Ld, Lq are apparent inductances along d and q-axis, respectively. An average electromagnetic torque is given by
where p is a number of pole pairs.
The hybrid flux observer 217 is a combination of the back-emf integral (voltage-model) and the current-flux model, defined in the stationary reference frame as
s{circumflex over (λ)}
αβ
={circumflex over (v)}
αβ
−R
s
i
αβ
+e
J{circumflex over (θ)}
G(λ{circumflex over (d)}qi−{circumflex over (λ)}{circumflex over (d)}q) (5)
where G is a 2×2 gain matrix and λ{circumflex over (d)}qi is the stator flux linkage based on the current-flux model. In the present disclosure, accurate parameters are assumed, i.e., λdqi=λdq.
For analysis purposes, state equation is transformed to synchronous reference frame as
s{circumflex over (λ)}
{circumflex over (d)}q
={circumflex over (v)}
{circumflex over (d)}q
−R
s
i
{circumflex over (d)}q
−ωJ{circumflex over (λ)}
{circumflex over (d)}q
+G(λ{circumflex over (d)}qi−{circumflex over (λ)}{circumflex over (d)}q) (6)
where {tilde over (v)}{circumflex over (d)}q=v{circumflex over (d)}q−{circumflex over (v)}{circumflex over (d)}q is a voltage error. The error in the DC-link voltage appears as a scalar gain on a fundamental voltage and is related to the voltage error as
{tilde over (v)}
{circumflex over (d)}q
=v
{circumflex over (d)}q
{tilde over (v)}
dc (7)
where {tilde over (v)}dc=(vdc−{circumflex over (v)}dc)/vdc,n is a relative error and vdc,n is a nominal voltage.
A relationship between the real stator flux λ{circumflex over (d)}q and λ{circumflex over (d)}qi in the estimated rotor reference frame is formulated by linearizing the stator flux linkage around an operating point as
Time derivative of the stator flux linkage can be expressed with an incremental inductance matrix L∂ as
where ld, lq represents d and q-axis incremental inductance, respectively, and ldq is a cross-saturation term. A first order approximation holds for small position error, i.e., a constant incremental inductance in the vicinity of the operating point is assumed. Simplifying (8), a magnetic model accounting position error (MMAP) is derived as
λ{circumflex over (d)}q=λ{circumflex over (d)}qi+{tilde over (θ)}λ{circumflex over (d)}qa (10)
where an auxiliary-flux vector λ{circumflex over (d)}qa for nonlinear magnetic model is given by
λ{circumflex over (d)}qa=Jλ{circumflex over (d)}qi−L∂Ji{circumflex over (d)}q. (11)
To aid in further analysis, nonlinear flux estimation error dynamics is derived from (1) and (6) as
s{tilde over (λ)}
{circumflex over (d)}q
={tilde over (v)}
{circumflex over (d)}q−(G+ωJ){tilde over (λ)}{circumflex over (d)}q+G(λ{circumflex over (d)}q−λ{circumflex over (d)}qi) (12)
where {tilde over (λ)}{circumflex over (d)}q=λ{circumflex over (d)}q−{circumflex over (λ)}{circumflex over (d)}q is the flux error vector. Using MMAP (10) in (12), linearized flux estimation error dynamics as a function of position error is given by
{tilde over (λ)}{circumflex over (d)}q=(sI+G+ωJ)−1({tilde over (v)}{circumflex over (d)}q+Gλ{circumflex over (d)}qaθ). (13)
Further, (13) may be used to formulate a position error signal.
A generalized error signal e driving an observer adaptation law is expressed as a projection of difference ({circumflex over (λ)}{circumflex over (d)}q−λ{circumflex over (d)}qi) on a projection vector ϕ as
∈=ϕT({circumflex over (λ)}{circumflex over (d)}q−λ{circumflex over (d)}qi). (14)
A linearized form the error signal is derived using (10) as
∈=ϕT({circumflex over (λ)}{circumflex over (d)}qa{tilde over (θ)}−{tilde over (λ)}{circumflex over (d)}q). (15)
Following the results of the flux estimation error dynamics (13), the error signal (15) is decomposed in terms of constituent errors as
∈=ϕT[hθhv]{tilde over (x)} (16)
h
θ=(sI+G+ωJ)−1(sI+ωJ){circumflex over (λ)}{circumflex over (d)}qa
h
v=−(sI+G+ωJ)−1{circumflex over (v)}{circumflex over (d)}q (17)
where {tilde over (x)}=[{tilde over (θ)} {tilde over ({tilde over (v)})}dc]T. Transfer function matrices hθ and hv are of length 2×1.
Let ϕθ be a position error projection vector (2×1) and ∈θ be the position error signal (1×1). The position error projection vector ϕθ is designed to be immune from the DC-link voltage error in steady-state as
ϕθThv|s=0=0ϕθT(G+ωJ)−1{circumflex over (v)}{circumflex over (d)}q=0. (18)
Also, a unitary open-loop dc-gain (steady-state) of position estimation loop is desired, i.e.,
ϕθThθ|s=0=ϕθT(G+ωJ)−1ωJ{circumflex over (λ)}{circumflex over (d)}qa=1. (19)
The preceding two conditions are satisfied with a projection vector of nature:
The PLL 221 with the PI controller 203 is employed to drive the position error signal ∈θ to zero as
{circumflex over (ω)}=kp∈θ+ωi ωi=∫ki∈θdt{circumflex over (θ)}=∫ωdt (21)
where kp and ki are respective gains. Gains of the PLL 221 are tuned for a critically damped response considering ∈θ={tilde over (θ)} at s=−Ωω as
k
p=2Ωω ki=Ωω2 (22)
In addition to the position estimation, an additional and supplementary adaptation loop for the DC-link voltage estimation can be designed. Let ϕv be a DC-link voltage error projection vector and ∈v an error signal is given as
∈v=ϕvT({circumflex over (λ)}{circumflex over (d)}q−λ{circumflex over (d)}qi). (23)
To decouple the DC-link voltage estimation and the position estimation loops, an orthogonal projection vector to the position error projection vector is considered, i.e.,
ϕvTϕθ=0. (24)
Also, a unitary open-loop dc-gain of the DC-link voltage estimation loop is desired, i.e.,
ϕvTh{tilde over (v)}|s=0=1. (25)
From the preceding two conditions, the DC-link voltage error projection vector of nature is given by
Finally, a DC-link voltage adaptation law is defined as
{circumflex over (v)}
dc
=v
dc,n
+v
dc,n
·∫k
v∈vdt (27)
where kv is an integral gain.
The controller 100 of the present disclosure estimates the rotor position without any position sensor, thereby resulting in numerous advantages, for example, reduced hardware complexity and lower cost, reduced size of drive machine, elimination of sensor cable, better noise immunity, and less maintenance requirements. Further, since the controller 100 estimates the rotor position independent of the DC-link voltage measurement error, the controller 100 yields an accurate and reliable estimate of the of the rotor position.
The description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Contemplated are various changes that may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
Specific details are given in the following description to provide a thorough understanding of the embodiments. However, understood by one of ordinary skill in the art can be that the embodiments may be practiced without these specific details. For example, systems, processes, and other elements in the subject matter disclosed may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments. Further, like reference numbers and designations in the various drawings indicated like elements.
Also, individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in a figure. Furthermore, not all operations in any particularly described process may occur in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, the function's termination can correspond to a return of the function to the calling function or the main function.
Furthermore, embodiments of the subject matter disclosed may be implemented, at least in part, either manually or automatically. Manual or automatic implementations may be executed, or at least assisted, through the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.
Various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Embodiments of the present disclosure may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts concurrently, even though shown as sequential acts in illustrative embodiments.
Further, embodiments of the present disclosure and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Further some embodiments of the present disclosure can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible non transitory program carrier for execution by, or to control the operation of, data processing apparatus. Further still, program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
According to embodiments of the present disclosure the term “data processing apparatus” can encompass all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (which may also be referred to or described as a program, software, a software application, a module, a software module, a script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub programs, or portions of code.
A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. Computers suitable for the execution of a computer program include, by way of example, can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.
Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e.g., a universal serial bus (USB) flash drive, to name just a few.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.
Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Although the present disclosure has been described with reference to certain preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the present disclosure. Therefore, it is the aspect of the append claims to cover all such variations and modifications as come within the true spirit and scope of the present disclosure.