METHOD OF OPERATING A SYNCHRONOUS MOTOR IN A FLUX WEAKENING MODE AND A CONTROLLER THEREFOR
20230223877 · 2023-07-13
Inventors
Cpc classification
H02P6/08
ELECTRICITY
H02P21/0003
ELECTRICITY
H02P2207/05
ELECTRICITY
International classification
H02P21/00
ELECTRICITY
H02P21/14
ELECTRICITY
Abstract
Described is a method of controlling operation of a synchronous motor. The method comprises, during constant power/speed motor operation, determining a value of a stator voltage (v.sub.s.sup.2) for an orthogonal rotating reference frame of the motor. Comparing the value of the determined stator voltage (v.sub.s.sup.2) to a threshold voltage (v.sub.s_max1.sup.2), said threshold voltage (v.sub.s_max1.sup.2) having a value between that of a maximum stator voltage (v.sub.s_max0.sup.2) for a basic speed mode of operation of the motor and that of a maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller. If the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2), then controlling operation of the motor in a flux weakening mode of operation until a value of a current component (i.sub.d−Δi.sub.d) in a d-axis reaches a maximum negative value (−i.sub.dmax), or until the value of the stator voltage (v.sub.s.sup.2) is less than the value of the threshold voltage (v.sub.s_max1.sup.2).
Claims
1. A method of controlling operation of a synchronous motor using a closed loop controller, the method comprising: during constant power or constant speed motor operation, determining a value of a stator voltage (v.sub.s.sup.2) for an orthogonal rotating reference frame of the motor; comparing the value of the determined stator voltage (v.sub.s.sup.2) to a threshold voltage (v.sub.s_max1.sup.2) in the orthogonal rotating reference frame, the threshold voltage (v.sub.s_max1.sup.2) having a value between a value of a maximum stator voltage (v.sub.s_max0.sup.2) in the orthogonal rotating reference frame for a basic speed mode of operation of the motor and a value of a maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller; wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2), controlling operation of the motor in a flux weakening mode of operation to cause a value of a current component (i.sub.d−Δi.sub.d) in a d-axis of the orthogonal rotating reference frame to reduce the current component (i.sub.d−Δi.sub.d) in the d-axis of the orthogonal rotating reference frame by a targeted amount below a value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor.
2. The method of claim 1, wherein the step of reducing the value of the current component (i.sub.d−Δi.sub.d) in the d-axis of the orthogonal rotating reference frame comprises causing the value of the current component (i.sub.d−Δi.sub.d) in the d-axis of the orthogonal rotating reference frame to reduce below the value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor until the value of the current component (i.sub.d−Δi.sub.d) reaches a maximum negative value (−i.sub.dmax), or until the value of the stator voltage (v.sub.s.sup.2) is less than the value of the threshold voltage (v.sub.s_max1.sup.2).
3. The method of claim 1, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) becomes greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller, controlling operation of the motor to cause a value (v.sub.q′) of a voltage component in a q-axis of the orthogonal rotating reference frame to have a value derived from a difference between the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller and a value (v.sub.d.sup.2) of a voltage component in the d-axis of the orthogonal rotating reference frame
4. The method of claim 1, wherein the method further comprises determining values of stator voltage components (v.sub.d.sup.2, v.sub.q.sup.2) in both the d-axis and the q-axis of the orthogonal rotating reference frame when determining the value of the stator voltage (v.sub.s.sup.2) where v.sub.s.sup.2=v.sub.d.sup.2+v.sub.q.sup.2.
5. The method of claim 1, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) becomes less than the value of the maximum stator voltage (v.sub.s_max0.sup.2) for the basic speed mode of operation of the motor, stopping the flux weakening mode of operation and controlling operation of the motor to cause a value of the current component (i.sub.d+Δi.sub.d) in the d-axis to increase until it reaches the value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor.
6. The method of claim 3, wherein the value of the voltage component (v.sub.q′) in the q-axis is determined from:
v.sub.q′=√{square root over (Vs.sup.2_max2−v.sub.d.sup.2)}.
7. A method of controlling operation of a synchronous motor using a closed loop controller, the method comprising: during constant power motor operation, determining a value of a stator voltage (v.sub.s.sup.2) for an orthogonal rotating reference frame of the motor; comparing the value of the determined stator voltage (v.sub.s.sup.2) to a threshold voltage (v.sub.s_max1.sup.2) in the orthogonal rotating reference frame, the threshold voltage (v.sub.s_max1.sup.2) having a value between a value of a maximum stator voltage (v.sub.s_max0.sup.2) in the orthogonal rotating reference frame for a basic speed mode of operation of the motor and a value of a maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller; wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2) and if a target value of the stator current (Target_i.sub.s) less a value of a current component (i.sub.q.sup.2) in a q-axis is less than a maximum value (i.sub.dmax) of the current component in the d-axis, controlling operation of the motor in a flux weakening mode of operation by reducing a value of the current component (Target_i.sub.d) in the d-axis based on the target value of the stator current (Target_i.sub.s) less the value of the current component (i.sub.q.sup.2) in the q-axis; wherein the method further comprises determining values of the target stator current (Target_i.sub.s) based on the equation:
Target=_is2=i.sub.s.sup.2=i.sub.q.sup.2+i.sub.d.sup.2≤i.sub.s max.sup.2.
8. The method of claim 7, wherein, in the flux weakening mode of operation, the value of the current component (Target_i.sub.d) in the d-axis is reduced according to the equation:
Target_id=−√{square root over (Target_is.sup.2−lpf(i.sub.q).sup.2)}.
9. The method of claim 7, wherein the method further comprises determining values of stator voltage components (v.sub.d.sup.2, v.sub.q.sup.2) in both the d-axis and a q-axis of the orthogonal rotating reference frame when determining the value of the stator voltage (v.sub.s.sup.2) where v.sub.s.sup.2=v.sub.d.sup.2+v.sub.q.sup.2.
10. The method of claim 7, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller, controlling operation of the motor to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value derived from a difference between the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller and a value (v.sub.d.sup.2) of a voltage component in the d-axis of the orthogonal rotating reference frame.
11. The method of claim 10, wherein the value of the voltage component (v.sub.q′) in the q-axis is determined from:
v.sub.q′=√{square root over (Vs.sup.2_max2−v.sub.d.sup.2)}.
12. The method of claim 7, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller, controlling operation of the motor to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value equal to a value of the voltage component (v.sub.q) in the q-axis for the basic speed mode of operation of the motor.
13. A method of controlling operation of a synchronous motor using a closed loop controller, the method comprising: during constant power motor operation, determining a value of a stator voltage (v.sub.s.sup.2) for an orthogonal rotating reference frame of the motor; comparing the value of the determined stator voltage (v.sub.s.sup.2) to a threshold voltage (v.sub.s_max1.sup.2) in the orthogonal rotating reference frame, the threshold voltage (v.sub.s_max1.sup.2) having a value between a value of a maximum stator voltage (v.sub.s_max0.sup.2) in the orthogonal rotating reference frame for a basic speed mode of operation of the motor and a value of a maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller; wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2), controlling operation of the motor in a flux weakening mode of operation until a value of a current component (Target_i.sub.d) in a d-axis of the orthogonal rotating reference frame reaches a maximum negative value (−i.sub.dmax) of the current component in the d-axis, wherein the method includes determining values of the target stator current (Target_i.sub.s) based on the equation:
Target_is2=i.sub.s.sup.2=i.sub.q.sup.2+i.sub.d.sup.2≤i.sub.s max.sup.2.
14. The method of claim 13, wherein, in the flux weakening mode of operation, the value of the current component (Target_i.sub.d) in the d-axis is reduced according to the equation:
Target_id=−√{square root over (Target_is.sup.2−lpf(i.sub.q).sup.2)}.
15. The method of claim 13, wherein the method further comprises determining values of stator voltage components (v.sub.d.sup.2, v.sub.q.sup.2) in both the d-axis and a q-axis of the orthogonal rotating reference frame when determining the value of the stator voltage (v.sub.s.sup.2) where v.sub.s.sup.2=v.sub.d.sup.2+v.sub.q.sup.2.
16. The method of claim 13, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller, controlling operation of the motor to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value derived from a difference between the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller and a value (v.sub.d.sup.2) of a voltage component in the d-axis of the orthogonal rotating reference frame.
17. The method of claim 16, wherein the value of the voltage component (v.sub.q′) in the q-axis is determined from:
v.sub.q′=√{square root over (Vs.sup.2_max2−v.sub.d.sup.2)}.
18. The method of claim 13, wherein, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller, controlling operation of the motor to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value equal to a value of the voltage component (v.sub.q) in the q-axis for the basic speed mode of operation of the motor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The foregoing and further features of the present invention will be apparent from the following description of preferred embodiments which are provided by way of example only in connection with the accompanying figures, of which:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
DESCRIPTION OF PREFERRED EMBODIMENTS
[0040] The following description is of preferred embodiments by way of example only and without limitation to the combination of features necessary for carrying the invention into effect.
[0041] Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments, but not other embodiments.
[0042] It should be understood that the elements shown in the Figs. may be implemented in various forms of hardware, software, or combinations thereof. These elements may be implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, a memory and input/output interfaces.
[0043] The present description illustrates the principles of the present invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope.
[0044] Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
[0045] Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of systems and devices embodying the principles of the invention.
[0046] The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage.
[0047] In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode, or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
[0048] One advantage of the invention is that it can be implemented on an existing closed-loop controller for synchronous operation without significant modification save for changes in the controller's control algorithm or algorithms. The closed-loop control algorithm in accordance with the invention can be implemented by software, firmware, hardware, or any combination of the foregoing. It may be embodied as an application specific integrated circuit or chip.
[0049]
[0050] In the illustrated embodiment, the closed-loop controller 100 may comprise a plurality of functional blocks 110 for performing various functions thereof. For example, the closed-loop controller 100 may comprise a suitably modified or suitably configured known vector-based closed-loop controller such as a direct torque control (DTC) closed-loop controller or a Field Oriented Control (FOC) closed-loop controller as described in the publication entitled “Sensorless Field Oriented Control of PMSM Motors” authored by Jorge Zambada, published by Microchip Technology Inc. in 2007 as paper AN1078, the content of which is incorporated herein by way of reference, and as illustrated in
[0051] Vector control of a synchronous motor can be summarized as follows:
[0052] (i) The 3-phase stator currents are measured. These measurements typically provide values for i.sub.a and i.sub.b. i.sub.c calculated because i.sub.a, i.sub.b and i.sub.c have the following relationship:
i.sub.a+i.sub.b+i.sub.c=0.
[0053] (ii) The 3-phase currents are converted to a two-axis system. This conversion provides the variables i.sub.α and i.sub.β from the measured i.sub.a and i.sub.b and the calculated is values. i.sub.α and i.sub.β are time-varying quadrature current values as viewed from the perspective of the stator, i.e., a two-dimensional stationary orthogonal reference frame or coordinate system.
[0054] (iii) The two-axis coordinate system is rotated to align with the rotor flux using a transformation angle calculated at the last iteration of the control loop. This conversion provides the I.sub.d and I.sub.q variables from i.sub.α and i.sub.β. I.sub.d and I.sub.q are the quadrature currents transformed to the rotating coordinate system, a two-dimensional rotating orthogonal reference frame or coordinate system. For steady state conditions, I.sub.d and I.sub.q are constant.
[0055] (iv) Error signals are formed using I.sub.d, I.sub.q and reference values for each. [0056] The I.sub.d reference controls rotor magnetizing flux. [0057] The I.sub.q reference controls the torque output of the motor. [0058] The error signals are input to PI controllers. [0059] The output of the proportional integral (PI) controllers provide V.sub.d and V.sub.q, which is a voltage vector that will be sent to the motor.
[0060] (v) A new transformation angle is estimated where v.sub.α, v.sub.β, i.sub.α and i.sub.β are the inputs. The new angle guides the FOC algorithm as to where to place the next voltage vector.
[0061] (vi) The V.sub.d and V.sub.q output values from the PI controllers are rotated back to the stationary reference frame using the new angle. This calculation provides the next quadrature voltage values v.sub.α and v.sub.β.
[0062] (vii) The v.sub.α and v.sub.β values are transformed back to 3-phase values v.sub.a, v.sub.b and v.sub.c. The 3-phase voltage values are used to calculate new PWM duty cycle values that generate the desired voltage vector. The entire process of transforming, PI iteration, transforming back and generating PWM is schematically illustrated in at least
[0063] The closed-loop controller 100 may, for example, be implemented using logic circuits and/or executable code/machine readable instructions stored in a memory for execution by a processor 120 to thereby perform functions as described herein. For example, the executable code/machine readable instructions may be stored in one or more memories 130 (e.g., random access memory (RAM), read only memory (ROM), flash memory, magnetic memory, optical memory, or the like) suitable for storing one or more instruction sets (e.g., application software, firmware, operating system, applets, and/or the like), data (e.g., configuration parameters, operating parameters and/or thresholds, collected data, processed data, and/or the like), etc. The one or more memories 130 may comprise processor-readable memories for use with respect to one or more processors 120 operable to execute code segments of the closed-loop controller 100 and/or utilize data provided thereby to perform functions of the closed-loop controller 100 as described herein. Additionally, or alternatively, the closed-loop controller 100 may comprise one or more special purpose processors (e.g., application specific integrated circuit (ASIC), field programmable gate array (FPGA), graphics processing unit (GPU), and/or the like configured to perform functions of the closed-loop controller 100 as described herein.
[0064] In a broad aspect, the invention comprises using the closed-loop controller 100 of
[0065] In some embodiments, the module 140 may comprise a rotor position and speed estimation module 140 of the modified FOC controller 200 of
[0066] In some embodiments, the module 140 may comprise a rotor flux observer module 150 of a type as described in pages 1-3 of the publication entitled “improved Rotor Flux Observer for Sensorless Control of PMSM With Adaptive Harmonic Elimination and Phase Compensation” authored by Wei Xu et al, CES Transactions on Electrical Machines and Systems, vol. 3, no. 2, June 2019, the content of which is herein incorporated by reference.
[0067]
[0068] The present invention therefore also seeks to supplement the known closed-loop method for operating a synchronous motor, especially a PMSM, by one of a number of novel methods of flux weakening as hereinafter described.
[0069] The following describes a mathematical model of synchronous motors such as PMSMs and all variables are in normalized units and established in the d-q rotor reference frame. The stator voltage equations in the rotor reference frame are given as follows:
[0078] For motor drives, the maximum current and voltage must be limited within the system limits. Considering both motor and inverter ratings, they can be expressed as follows:
v.sub.q.sup.2+v.sub.d.sup.2≤v.sub.s max.sup.2 (2) and
i.sub.q.sup.2+i.sub.d.sup.2≤i.sub.s max.sup.2 (3),
[0079] where i.sub.s max and v.sub.s max are respectively the normalized maximum current of the motor 10 and the normalized maximum stator voltage which is equal to the maximum DC-link voltage of the motor system. The voltage and current limits affect the maximum-speed-with-rated torque capability and the maximum torque-producing capability of the motor drive system, i.e., the FOC controller 200, respectively. For an application such as an electric vehicle drivetrain, for example, it is desirable for the motor drive to possess a wide constant-power operating region by means of flux weakening.
[0080] In a basic vector control of the motor 10 using the FOC controller 200, the stator d-axis current (i.sub.d) is zero, i.e., “Target_i.sub.d=0”. The stator q-axis current (i.sub.q) defines the motor torque by equation:
Torque=ki.sub.q (4)
[0081] where k is the flux linkage constant for the motor 10.
[0082] Operation of the motor 10 is constrained by voltage (v.sub.s max) and current (i.sub.s max) in accordance with equations (2) and (3) above. In the basic vector control operation of the motor 10, the motor 10 runs in a base speed mode where Target_i.sub.d=0 until maximum voltage (v.sub.s max) and/or maximum current (i.sub.s max) is reached.
[0083] It is possible to drive the motor 10 in a flux weakening mode where Target_i.sub.d<0 to thereby spin the motor 10 at a higher speed than the basic speed mode. The flux weakening methods of the invention allow for constant power control of a motor 10 to have the same input power as for basic speed operation but with significantly higher rotation which provides higher motor drive efficiency. Using the flux weakening methods of the invention provides an extended speed range for operation of the motor 10 under constant power operation.
[0084] Flux weakening uses stator current components to counter the fixed-amplitude magnetic airgap flux generated by the rotor permanent magnets 14 thereby allowing the motor 10 to spin faster than the the basic speed mode.
[0085] The simplified motor equations along the d and q-axes are as follows:
e.sub.q=v.sub.q−i.sub.qr−ωLi.sub.d (5) and
v.sub.d=i.sub.dr−ωLi.sub.q (6),
[0086] where e.sub.q is the back-emf of the motor 10; [0087] r is the motor resistance; [0088] L is the motor inductance; and [0089] ω is the motor angular speed.
[0090] At the point where v.sub.q.sup.2+v.sub.d.sup.2=v.sub.s max.sup.2, the angular speed (ω) of the motor 10 and the back-emf (e.sub.q) of the motor 10 reach their respective maximum values for the basic speed mode where i.sub.d=0.
[0091] To implement flux weakening in accordance with the invention, it is necessary to apply the condition i.sub.d<0 from equation (5) such that the back-emf (e.sub.q) of the motor 10 increases. The implication of this is that the angular speed (ω) of the motor 10 can increase which is indeed the case. This is equivalent to the stator current components (i.sub.d) in the d-axis countering the fixed-amplitude magnetic airgap flux generated by the rotor permanent magnets 14 thereby allowing the motor 10 to spin faster than the basic speed mode for the same input power, i.e., under constant power operation.
[0092] Referring now to
[0093] The closed loop controller 100/200 of
[0094] The following description of the implementation of the first main aspect of the invention refers to operation of a vacuum cleaner synchronous motor 10 by way of example only but it will be understood that the method described can be applied to any synchronous motor whose load may be subject to changes and, in particular, whose load may be subjected to changes by external forces such as wind in the case of a fan motor or blocking in the case of a vacuum cleaner motor, etc.
[0095]
[0096] It is assumed that the vacuum cleaner motor 10 is initially operating normally, i.e., at stage 1 of
[0097] When blocking of the vacuum cleaner occurs as per stage 2 in
[0098] When v.sub.s.sup.2=v.sub.s_max2.sup.2, the motor closed loop controller 100/200 may be configured to lock the value of v.sub.s.sup.2=v.sub.s_max2.sup.2. At this moment with v.sub.s.sup.2>v.sub.s_max1.sup.2, the motor closed loop controller 100/200 is configured to operate the motor 10 in a flux weakening mode of operation. Preferably, the motor closed loop controller 100/200 implements the flux weakening mode of operation of the motor 10 such that it adjusts a value of the stator current component (i.sub.d) in the d-axis to decrease. As the value of the stator current component (i.sub.d) in the d-axis is zero during normal operation, the motor closed loop controller 100/200 implements the flux weakening mode of operation of the motor 10 preferably by making the stator current component (i.sub.d) in the d-axis more or increasingly negative such that:
Target_i.sub.d=Target_i.sub.d−Δi.sub.d (7)
[0099] where Aid comprises a target reduction in the value of the stator current component (i.sub.d) in the d-axis. The flux weakening mode of operation of the motor 10 continues with Target_i.sub.d becoming more negative. As Target_i.sub.d becomes more negative, the stator voltage component (v.sub.d) in the d-axis adjusts such as to make the stator current component (i.sub.d) in the d-axis more negative. The PI controllers 180A,B of the closed loop controller 100/200 cause the motor 10 back-emf (e.sub.q) and the motor speed (ω) to increase. As the motor speed (ω) increases, this causes motor torque and the stator current component (i.sub.q) in the q-axis to also increase. Consequently, control of the motor 10 is based on adjustments to one or both of the values of the stator voltage components (v.sub.d, v.sub.q) in the d-axis and the q-axis.
[0100] Under constant power control of the motor 10, any increase in the stator current components (i.sub.d, i.sub.q) implies that the stator voltage components (v.sub.d, v.sub.q) will decrease to keep the power constant as Power=v.sub.q*i.sub.q+v.sub.d*i.sub.d. This suggests that the stator voltage (v.sub.s.sup.2) will drop as the Target_i.sub.d and the stator current component (i.sub.d) change to become more negative.
[0101] When the stator voltage (v.sub.s.sup.2) becomes less than threshold (v.sub.s_max1.sup.2), i.e., v.sub.s.sup.2<v.sub.s_max1.sup.2, the Target_i.sub.d and the stator current component (i.sub.d) stop changing. Under this condition, the motor 10 is operating in the flux weakening mode.
[0102] When the vacuum cleaner blocking condition is partially removed or disappears, the motor load increases and the motor speed (ω) drops. For the same Target_i.sub.d, the stator voltage component (v.sub.d) in the d-axis also decreases as the motor speed (ω) decreases. Hence, the stator voltage (v.sub.s.sup.2) may decrease below the maximum stator voltage (v.sub.s_max0.sup.2) in the orthogonal rotating reference frame for the basic speed mode of operation of the motor 10 even though both the stator current component (i.sub.q) and the stator voltage component (v.sub.q) in the q-axis are increasing. Under this condition, the method of the first main aspect of the invention includes stopping the flux weakening mode of operation and controlling operation of the motor 10 to cause a value of the current component (i.sub.d+Δi.sub.d) in the d-axis to increase until it reaches the value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor such that the motor 10 returns to the basic speed mode of operation as per stage 4 of
Target_i.sub.d=Target_i.sub.d+Δi.sub.d. (8)
[0103]
[0104] The following description of this example of the implementation of the first main aspect of the invention also refers to operation of a vacuum cleaner synchronous motor 10 by way of example only. In this instance, the motor 10 is being operated in a constant speed mode.
[0105] Referring to both
i.sub.d.sup.2+i.sub.q.sup.2<i.sub.s-max.sup.2. (9)
[0106] When the load of the motor 10 increases, the stator current component (i.sub.q) in the q-axis further must increase further to maintain the same constant such that the stator voltage (v.sub.s.sup.2) increases above the threshold (v.sub.s_max1.sup.2), i.e., v.sub.s.sup.2>v.sub.s_max1.sup.2. In this case, both of the stator current components (i.sub.d, i.sub.q) in the d-axis and the q-axis increases so that speed of the motor is maintained at its constant speed. In the case where the product of the stator current components (i.sub.d, i.sub.q) in the d-axis and the q-axis become equal to the maximum stator current (i.sub.s.sup.2) according to the relationship: i.sub.d.sup.2+i.sub.q.sup.2=i.sub.s_max.sup.2, the stator current component (i.sub.d) in the d-axis stops increasing. The stator current component (i.sub.q) in the q-axis and stator voltage component (v.sub.q) in the q-axis also stop increasing when the product of the stator voltage components (v.sub.d, v.sub.q) in the d-axis and the q-axis become equal to the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200 according to the relationship: v.sub.d.sup.2+v.sub.q.sup.2=v.sub.s_max2.sup.2. Operation of the motor 10 moves to point “4” in
[0107] The first main aspect of the invention provides a method of controlling operation of the motor 10 using the suitably modified closed loop controller 100/200 of any of
[0108] The step of operating the motor 10 in a flux weakening mode of operation may include causing a value of the current component (i.sub.d−Δi.sub.d) in the d-axis to reduce below a value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor 10 until the value of the current component (i.sub.d−Δi.sub.d) in the d-axis reaches the maximum negative value (−i.sub.d), or until the value of the stator voltage (v.sub.s.sup.2) is less than the value of the threshold voltage (v.sub.s_max1.sup.2).
[0109] Optionally, the method of the first main aspect of the invention may include the step of, if the determined value of the stator voltage (v.sub.s.sup.2) is less than the value of the maximum stator voltage (v.sub.s_max0.sup.2) for the basic speed mode of operation of the motor 10, then stopping the flux weakening mode of operation and controlling operation of the motor 10 to cause a value of the current component (i.sub.d+αi.sub.d) in the d-axis to increase until it reaches the value of the current component (i.sub.d) in the d-axis for the basic speed mode of operation of the motor 10.
[0110] Optionally, the method of the first main aspect of the invention may include the step of, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200, then controlling operation of the motor 10 to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value derived from a difference between the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200 and a value (v.sub.d.sup.2) of a voltage component in the d-axis of the orthogonal rotating reference frame. The value of the voltage component (v.sub.q′) in the q-axis may be determined from:
v.sub.q′=/Vs.sup.2_max2−v.sub.d.sup.2. (10)
[0111] Optionally, the method of the first main aspect of the invention may include the step of, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200, then controlling operation of the motor 10 to cause a value (v.sub.q′) of a voltage component in the q-axis of the orthogonal rotating reference frame to have a value equal to a value of the voltage component (v.sub.q) in the q-axis for the basic speed mode of operation of the motor 10.
[0112] Referring now to
[0113] The closed loop controller 100/200 of
[0114] The following description of the implementation of the second main aspect of the invention also refers to operation of a vacuum cleaner synchronous motor 10 by way of example only but it will again be understood that the method described can be applied to any synchronous motor whose load may be subject to changes during operation of the motor 10.
[0115] The power of the motor 10 is defined by either of the following equations:
power=v.sub.q*i.sub.q+v.sub.d*i.sub.d or (11)
power=e.sub.q*i.sub.q+i.sub.s.sup.2r, (12)
[0116] where r is the resistance of the stator 16.
[0117] Drive efficiency of the motor 10 is defined by following equation:
[0118] For a field or flux weakening mode of operation of the motor 10 by stator current, the quantity i.sub.s.sup.2r is defined as a target stator current value (Target_i.sub.s.sup.2) where:
Target_i.sub.s.sup.2=i.sub.s.sup.2=i.sub.q.sup.2+i.sub.d.sup.2≤i.sub.s max.sup.2, (14)
[0119] where i.sub.s max.sup.2 maximum value of the stator current.
[0120] Under constant power control operation of the motor 10, the motor power defined by power=e.sub.q*i.sub.q+i.sub.s.sup.2r remains constant too. Therefore, the drive efficiency of the motor 10 also remains constant during a flux weakening mode of operation of the motor 10. It is therefore preferred that the target stator current value (Target_i.sub.s.sup.2) is set or controlled to be as low as possible to maximize motor drive efficiency.
[0121] During a flux weakening mode of operation of the motor 10, the operating point defined by the stator current components (i.sub.d, i.sub.q) is confined within a circle defined by the target stator current value (Target_i.sub.s.sup.2) as shown in
[0122]
[0123] In stage 1, the motor 10 on start-up is controlled to run in the basic speed mode where the stator current component (i.sub.d) in the d-axis is equal to zero. In this case, the speed of the motor 10 increases as the value of stator current component (i.sub.q) in the q-axis increases. In the basic speed mode of operation of the motor 10, the motor torque is small and the motor back-emf (e.sub.q) is small. Also, as the value of stator current component (i.sub.q) in the q-axis increases, the value of the motor back-emf (e.sub.q) increases.
[0124] In stage 2 of
[0125] In stage 3, the load of the motor 10 changes due to, for example, blocking of the vacuum cleaner. The closed loop controller 100/200 implements the flux weakening mode of operation of the motor where the stator current component (i.sub.d) in the d-axis is controlled to be less than zero such that the motor speed increases as the value of stator current component (i.sub.d) in the d-axis increases where the stator current component (i.sub.d) in the d-axis is controlled in accordance with the relationship:
i.sub.d≈−√{square root over (Target_is.sup.2−lpf(i.sub.q).sup.2)}. (15)
[0126] In stage 4 where the vacuum cleaner in this example is now partially blocked, the motor 10 continues in the flux weakening mode of operation with the stator current component (i.sub.d) in the d-axis is controlled to be less than zero. The speed of the motor 10 decreases causing the value of the stator current component (i.sub.q) in the q-axis to increase where the stator current component (i.sub.d) in the d-axis continues to be controlled in accordance with the above relationship (15). When the value of the stator current component (i.sub.d) in the d-axis becomes zero, the flux weakening mode of operation is ended and the closed loop controller 100/200 returns control of the motor 10 to the basic speed mode of operation (stage 1).
[0127] Referring again to
[0128] The method in accordance with the second aspect of the invention therefore provides a method of controlling operation the motor 10 using a suitable modified closed loop controller 100/200. During constant power motor operation, the closed loop controller 100/200 determines a value of the stator voltage (v.sub.s.sup.2) for the orthogonal rotating reference frame of the motor 10. The determined stator voltage (v.sub.s.sup.2) is compared to the threshold voltage (v.sub.s_max1.sup.2). If the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2), then the motor 10 is controlled to operate in a flux weakening mode until a value of a current component (Target_i.sub.d) in the d-axis reaches a maximum negative value (−i.sub.dmax). Or, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2) and if a target value of the stator current (Target_i.sub.s) less a value of a current component (i.sub.q.sup.2) in a q-axis is less than a maximum value (i.sub.dmax) of the current component in the d-axis, then the motor 10 is controlled to operate in a flux weakening mode of operation by reducing a value of the current component (Target_i.sub.d) in the d-axis based on the target value of the stator current (Target_i.sub.s) less the value of the current component (i.sub.q.sup.2) in the q-axis. In the flux weakening mode, the value of the current component (Target_i.sub.d) in the d-axis may be reduced according to the equation:
Target_id=Target_is.sup.2−lpf(i.sub.q).sup.2. (16)
[0129] Referring now to
[0130] The closed loop controller 100/200 of
[0131] For the motor 10 where it is known when and how the flux weakening mode of operation is to be implemented, it is possible to tabulate the motor speed (denoted herein as “FW_speed”) versus the target stator current component (Target_i.sub.d) in the d-axis and construct a flux weakening (FW) look-up table stored in the memory 130 of the closed loop controller 100/200. An example of a FW look-up table 194 is shown in
[0132] For flux weakening mode of operation of the motor 10 under the control of motor speed, the “FW_speed; Target_i.sub.d” pairs in the look-up table 194 are obtained by measurement of the motor operation under specified conditions, i.e., measurements will be taken of the speed of the motor 10 for certain motor DC supply voltage over the closed loop controller bus voltage (denoted herein as “V.sub.nominal”). Whenever the motor DC supply voltage over the closed loop controller bus voltage (V.sub.BUS) deviates from V.sub.nominal an adjustment/compensation on the FW_speed index (left-most column in
[0133] FW_speed is calculated as follows prior to table look-up and possible linear approximation:
[0134] The following description of the implementation of the second main aspect of the invention also refers to operation of a vacuum cleaner synchronous motor 10 by way of example only but it will again be understood that the method described can be applied to any synchronous motor whose load may be subject to changes during operation of the motor 10.
[0135] Referring to the look-up table 194 of
[0136] For Fw_speed smaller than the Fw_speed(0) (i.e., index 0 in the FW table 194) then the value of the target i.sub.d will be set to zero (Target_i.sub.d=0).
[0137] For Fw_speed larger than the Fw_speed(end), (i.e., index 3 in the FW table 194), the value of the target i.sub.d will be set to −0.165 (Target_i.sub.d=−0.165) in this embodiment.
[0138] It will be understood that the actual values of Target_i.sub.d for different scenarios will be dependent on the measured FW_speed; Target_i.sub.d pairs in the FW table 194.
[0139] The method in accordance with the third aspect of the invention therefore provides a method of controlling operation the motor 10 using a suitably modified closed loop controller 100/200. During a flux weakening mode of operation of the motor 10, the closed loop controller 100/200 controls a value of a stator current component (Target_i.sub.d) in a d-axis by selecting a target value of the stator current component (Target_i.sub.d) in the d-axis from the look-up table 194 by reference to motor speed (Fw_speed) values and/or by linear approximation of a selected pair of motor speed (Fw_speed) value and stator current component (Target_i.sub.d) value.
[0140] The stator voltage component (v.sub.q) in the q-axis adjustment module 192 is optional. The q-axis adjustment module 192 is configured to implement to implement equation (2). The method includes determining the value of a stator voltage (v.sub.s.sup.2) and, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the closed loop controller 100/200, then controlling operation of the motor 10 to cause a value (v.sub.q′) of a voltage component in the q-axis to have a value derived from a difference between the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200 and the value (v.sub.d.sup.2) of a voltage component in the d-axis. The value of the voltage component (v.sub.q′) in the q-axis may be determined from equation (10).
[0141] The method may include, if the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller 100/200, then controlling operation of the motor 10 to cause the value (v.sub.q′) of the voltage component in the q-axis of the orthogonal rotating reference frame to have a value equal to a value of the voltage component (v.sub.q) in the q-axis for the basic speed mode of operation of the motor.
[0142] The closed-loop motor operating method according to the various aspects of the invention can be utilized in synchronous motors 10 with various stator winding configurations as illustrated by
[0143]
[0144] In contrast to
[0145]
[0146] Described are methods of controlling operation of a synchronous motor in a flux weakening mode. One such method comprises, during constant power/speed motor operation, determining a value of a stator voltage (v.sub.s.sup.2) for an orthogonal rotating reference frame of the motor. Comparing the value of the determined stator voltage (v.sub.s.sup.2) to a threshold voltage (v.sub.s_max1.sup.2), said threshold voltage (v.sub.s_max1.sup.2) having a value between that of a maximum stator voltage (v.sub.s_max0.sup.2) for a basic speed mode of operation of the motor and that of a maximum stator voltage (v.sub.s_max2.sup.2) of the motor closed loop controller. If the determined value of the stator voltage (v.sub.s.sup.2) is greater than or equal to the value of the threshold voltage (v.sub.s_max1.sup.2), then controlling operation of the motor in a flux weakening mode of operation until a value of a current component (i.sub.d−Δi.sub.d) in a d-axis reaches a maximum negative value (−i.sub.dmax), or until the value of the stator voltage (v.sub.s.sup.2) is less than the value of the threshold voltage (v.sub.s_max1.sup.2).
[0147] The invention also provides a closed-loop controller for a motor, said controller comprising a non-transitory computer-readable medium storing machine-readable instructions and a processor, wherein, when the machine-readable instructions are executed by said processor, they configure the controller to start a synchronous motor having a permanent magnet rotor and stator windings in accordance with any of the methods of the first to third main aspects of the invention.
[0148] The invention also provides a synchronous motor including the closed loop controller of the preceding paragraph.
[0149] The apparatus described above may be implemented at least in part in software. Those skilled in the art will appreciate that the apparatus described above may be implemented at least in part using general purpose computer equipment or using bespoke equipment.
[0150] Here, aspects of the methods and apparatuses described herein can be executed on any apparatus comprising the communication system. Program aspects of the technology can be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine-readable medium. “Storage” type media include any or all of the memory of the mobile stations, computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives, and the like, which may provide storage at any time for the software programming. All or portions of the software may at times be communicated through the Internet or various other telecommunications networks. Such communications, for example, may enable loading of the software from one computer or processor into another computer or processor. Thus, another type of media that may bear the software elements includes optical, electrical, and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links, or the like, also may be considered as media bearing the software. As used herein, unless restricted to tangible non-transitory “storage” media, terms such as computer or machine “readable medium” refer to any medium that participates in providing instructions to a processor for execution.
[0151] While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only exemplary embodiments have been shown and described and do not limit the scope of the invention in any manner. It can be appreciated that any of the features described herein may be used with any embodiment. The illustrative embodiments are not exclusive of each other or of other embodiments not recited herein. Accordingly, the invention also provides embodiments that comprise combinations of one or more of the illustrative embodiments described above. Modifications and variations of the invention as herein set forth can be made without departing from the spirit and scope thereof, and, therefore, only such limitations should be imposed as are indicated by the appended claims.
[0152] In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e., to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
[0153] It is to be understood that, if any prior art publication is referred to herein, such reference does not constitute an admission that the publication forms a part of the common general knowledge in the art.