System and method for starting synchronous motors
10361648 ยท 2019-07-23
Assignee
Inventors
Cpc classification
H02P21/0021
ELECTRICITY
H02P21/10
ELECTRICITY
International classification
H02P6/00
ELECTRICITY
H02P6/04
ELECTRICITY
H02P21/00
ELECTRICITY
Abstract
To avoid control failure resulting from startup of a PMSM that is windmilling, initial speed and position are determined before startup. A controller uses a FOC routine having a speed PI control loop, field-weaken control, a current PI control loop, and a speed observer. When the controller receives an instruction to start the PMSM, it delays startup and executes an estimation stage, in which the controller executes the FOC routine but with the speed PI control loop and the field-weaken control disabled. The estimation stage is repeated multiple times, with estimates converging to actual speed and position through successive iterations. When estimated speed and position values have stabilized, the motor is started using the estimates as initial speed and position for driving the PMSM. The FOC routine, with the speed PI control loop and the field-weaken control enabled, is used to drive the PMSM.
Claims
1. A motor controller configured to drive a permanent magnet synchronous motor (PMSM), the motor controller including a processor and a non-transitive machine-readable medium, the medium including instructions, the instructions, when loaded and executed by the processor, configure the motor controller to: receive a command to start the PMSM; before starting the PMSM, estimate position and speed of the PMSM by using a field-oriented control (FOC) vector control routine; during the FOC vector control routine, disable a speed proportional-integral (PI) control loop, wherein a current value output from the PI control loop is set to substantially zero to disable the speed PI control loop until an initial value for position and speed is estimated; start the PMSM using the estimated position and speed as initial speed and position of the rotor; and use the FOC vector control routine, with the speed PI control loop enabled, to drive the PMSM.
2. The motor controller of claim 1, wherein the motor controller is further configured to: during the FOC vector control routine, perform a flux-weaken routine; and disable the flux-weaken routine to estimate position and speed of the PMSM.
3. The motor controller of claim 1, wherein the motor controller is further configured to drive the PMSM without received sensor readings for speed and position.
4. The motor controller of claim 1, wherein the motor controller is further configured to: during the FOC vector control routine, perform speed observation wherein motor current and voltage are received as inputs and position and speed are determined as outputs; repeat the FOC vector control routine multiple times when estimating position and speed before starting the PMSM; and converge estimated position and speed to actual position and speed through successive iterations of the FOC vector control routine.
5. The motor controller of claim 4, wherein the motor controller is further configured to loop the FOC vector control routine until the estimated position and speed have stabilized such that there is substantially no variability in estimated position and speed between successive loops.
6. The motor controller of claim 1, wherein the motor controller is further configured to perform, during the FOC vector control routine, a current proportional-integral (PI) control loop configured to output voltages used to drive the PMSM.
7. The motor controller of claim 1, further comprising a current sensor configured to: measure a motor current of the PMSM; and to provide the motor current to the motor controller.
8. The motor controller of claim 7, wherein the motor controller is further configured to, during the FOC vector control routine, perform speed observation to determine speed and position based upon motor current input.
9. The motor controller of claim 8, wherein the motor controller is further configured to, during the FOC vector control routine, perform a proportional-integral (PI) control loop configured to output voltages for speed observation.
10. The motor controller of claim 1, wherein a delay until an initial value for position and speed is estimated ranges from tens of milliseconds to hundreds of seconds.
11. The motor controller of claim 1, wherein the motor controller is further configured to: during the FOC vector control routine, perform a flux-weaken routine; disable the flux-weaken routine when using the FOC vector control routine when estimating position and speed of the PMSM before startup.
12. The motor controller of claim 11, wherein the motor controller is further configured to: during the flux-weaken routine, identify a current value; and set the current value to substantially zero to disable the flux-weaken routine to estimate position and speed of the PMSM before startup.
13. The motor controller of claim 1, wherein the motor controller is further configured to drive the PMSM through a motor drive circuit having a multiphase bridge configured to provide the PMSM with a voltage vector.
14. A system, comprising: a permanent magnet synchronous motor (PMSM) via field-oriented control (FOC), the PMSM including a rotor that is rotatable; a motor controller including a processor and a non-transitive machine-readable medium, the medium including instructions, the instructions, when loaded and executed by the processor, configure the motor controller to: receive a command to start the PMSM; before starting the PMSM, estimate position and speed of the PMSM by using a field-oriented control (FOC) vector control routine in which both a speed proportional-integral (PI) control loop and a flux-weaken routine are disabled, wherein a current value output from the PI control loop is set to substantially zero to disable the speed PI control loop until an initial value for position and speed is estimated; start the PMSM using the estimated position and speed as initial speed and position of the rotor; and use the FOC vector control routine, with the speed PI control loop enabled, to drive the PMSM.
15. A method of controlling a permanent magnet synchronous motor (PMSM) with a rotor, comprising: receiving a command to start the PMSM; before starting the PMSM, estimating position and speed of the PMSM by using a field-oriented control (FOC) vector control routine in which a speed proportional-integral (PI) control loop is disabled, wherein a current value output from the PI control loop is set to substantially zero to disable the speed PI control loop until an initial value for position and speed is estimated; starting the PMSM using the estimated position and speed as initial speed and position; and using the FOC vector control routine, with the speed PI control loop enabled, to drive the PMSM.
16. The method of claim 15, wherein when position and speed are being estimated, a flux-weaken routine of the FOC vector control routine is disabled.
17. The method of claim 15, further comprising: during the FOC vector control routine, performing a speed observation using a motor current as input and to identify position and speed as outputs; repeating the FOC vector control routine multiple times when estimating position and speed before PMSM startup; and converging the estimated position and speed values towards actual position and speed through successive iterations of the FOC vector control routine.
18. The method of claim 17 further comprising: using a current sensor to measure a motor current of the PMSM; and inputting the motor current into a speed observer and receiving speed and position as outputs.
19. The method of claim 18, wherein the FOC vector control routine further includes a current proportional-integral (PI) control loop that outputs voltages, the method further comprising providing the voltages output by the current PI control loop to the speed observer.
20. The method of claim 15, performed without receiving position and speed measurements from sensors.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11) Although specific exemplary embodiments are shown in the drawings and are herein described in detail, it should be understood that the description herein of specific example embodiments is not intended to limit the disclosure to the particular forms disclosed herein.
DETAILED DESCRIPTION
(12) This invention is related to the startup of three-phase permanent magnet synchronous motors (PMSMs) driven under field-oriented control (FOC). FOC vector control of motors is a control method in which the stator currents of a three-phase AC electric motor are characterized by the magnetic flux of the motor and its torque. FOC is a method by which one of the fluxes (rotor, stator, or air gap) is treated as a basis for creating a reference frame for one of the other fluxes with the purpose of decoupling the torque and flux-producing components of the stator current. Such decoupling helps assure ease of control for complex three-phase motors in the same manner as DC motors with separate excitation. Armature current may be used for torque generation, and excitation current may be used for flux generation. In certain applications, the rotor flux may be considered as a reference frame for the stator and air gap flux. The principles behind FOC are discussed in the literature, including several application notes from Microchip Technology Inc., such as AN1078, Sensorless Field Oriented Control of a PMSM (2010), and AN1292, Sensorless Field Oriented Control (FOC) for a Permanent Magnet Synchronous Motor (PMSM) Using a PLL Estimator and Field Weakening (FW) Controllers (2009), both of which are incorporated by reference herein.
(13) Referring initially to the block diagram for sensorless FOC vector control in
(14) Four, error signals are formed using I.sub.d and I.sub.q, along with reference values for each. The I.sub.d reference is involved in the control of rotor magnetizing flux, and the I.sub.q reference is involved in the control of the torque output of the motor. The error signals are input to PI controllers. The outputs of the controllers provide V.sub.d and V.sub.q, which are voltage vectors that will be sent to the motor. Five, the transformation angle is estimated, in which v.sub., v.sub., i.sub., and i.sub. are the inputs. The transformation angle guides the FOC algorithm as to where to place the next voltage vector. Six, the V.sub.d and V.sub.q output values from the PI controllers are rotated back to the stationary reference frame using the transformation angle. This calculation provides the next quadrature voltage values v.sub. and v.sub.. And seven, 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 pulse width modulation (PWM) duty cycle values that generate the desired voltage vector. The process of transforming, PI iteration, transforming back, and generating PWM is illustrated in
(15) Through a series of coordinate transforms, the time invariant values of torque and flux can be indirectly determined and controlled with classic PI control loops. The process begins by measuring the 3-phase motor currents. First, the Clarke Transform moves a three-axis, two-dimensional coordinate system, referenced to the stator, onto a two-axis system, keeping the same reference (see
(16) There are three interdependent PI control loops for controlling three interactive variables independently: the rotor speed, rotor flux, and rotor torque, each controlled by a separate PI module. Specifically, one PI loop is for controlling motor velocity, and two are for controlling the transformed motor currents, I.sub.d and I.sub.q. The I.sub.d loop is involved in controlling flux, and the I.sub.q value is involved in controlling the motor torque. The implementation includes term Kc-Excess to limit integral windup, as illustrated in
(17) The final step in the vector control process is to generate pulse-width modulation (PWM) signals for each of the 3-phase motor voltage signals, which can be accomplished using Space Vector Modulation (SVM) techniques. To simplify the process, the Inverse Clarke Transform can be folded into the SVM routine. Each of the three inverter outputs can be in one of two states. The inverter output can be connected to either the plus (+) bus rail or the minus () bus rail, allowing for two-cubed (i.e., 8) possible states of the output, as shown in Table 1:
(18) TABLE-US-00001 TABLE 1 Phase Phase Phase C B A V.sub.ab V.sub.bc V.sub.ca V.sub.ds V.sub.qs Vector 0 0 0 0 0 0 0 0 U(000) 0 0 1 V.sub.DC 0 V.sub.DC 2/3V.sub.DC 0 U.sub.0 0 1 1 0 V.sub.DC V.sub.DC V.sub.DC/3 V.sub.DC/3 U.sub.60 0 1 0 V.sub.DC V.sub.DC 0 V.sub.DC/3 V.sub.DC/3 U.sub.120 1 1 0 V.sub.DC 0 V.sub.DC 2V.sub.DC/3 0 U.sub.180 1 0 0 0 V.sub.DC V.sub.DC V.sub.DC/3 V.sub.DC/3 U.sub.240 1 0 1 V.sub.DC V.sub.DC 0 V.sub.DC/3 V.sub.DC/3 U.sub.300 1 1 1 0 0 0 0 0 U(111)
(19) The two states in which all three outputs are connected to either the plus (+) bus or the minus () bus are considered null states because there is no line-to-line voltage across any of the phases. These are plotted at the origin of the SVM star. The remaining six states are represented as vectors with 60-degree rotation between each state, as shown in
(20) In can be seen in
(21) To estimate commutation angle () and motor speed (), the sensorless control technique implements the FOC algorithm by estimating the position of the motor without using position sensors.
(22) The field weakening control for the PMSM implies imposing a negative value for the stator current on the d-axis of the rotating frame, which has the role of weakening the air gap flux linkage. In the case of an inverter, the voltage output drops on the stator's resistance and inductive reactance, and the remaining voltage is used to counteract back-EMF, which is proportional to the motor's speed and the voltage constant, K, of the motor. Considering the inverter's limitation of maximum output voltage, an increase in speed (above nominal speed) can be achieved by decreasing the voltage constant (K), which is proportional with the air gap flux linkage. A decrease in air gap flux linkage is synonymous to the decrease in torque. However, for certain applications, the motor needs to run higher than the rated speeds and therefore, the field weakening feature is useful for increasing the speed range of motor beyond its nominal speed rating.
(23) Referring to
(24) In the PMSM sensorless FOC vector control routine 100, the rotor position, speed, and torque are unknown to the MCU because the system does not include the corresponding sensors (such as Hall sensors, ABZ encoders, etc.) for measuring them. The only measured response that may be available to the MCU is the motor current vector {right arrow over (I)}.sub.s. Motor current can be measured using any suitable current sensor, such as an LEM current sensor, and the MCU can convert measured currents to a total motor current vector. Because rotor position and speed are essential to PMSM FOC vector control routine, in sensorless control modes, the speed observer 130 is used to estimate the rotor speed and position. The speed observer 130 is an adaptive algorithm, which is based on control theory and electrical motor mathematical modeling, that receives {right arrow over (V)}.sub.s* and {right arrow over (I)}.sub.s as inputs and provides estimated speed {circumflex over ()}.sub.e and position {circumflex over ()}.sub.e as outputs. During subsequent control loops, the estimated speed and position outputs will converge to actual motor speed and position. The FOC vector control routine is adaptable to different types of speed observers. Speed observer types that could be used include the SMO (sliding-mode observer), phase locked loop (PLL) observer, full-order observer, the Kalman-filter observer, etc.
(25) Block 145 includes the speed PI control loop 115 and flux weaken control 120, and block 150 includes block 145 in combination with the current PI control loop 125. The function of the current PI control loop 125 is to allow the motor feedback current vector {right arrow over (I)}.sub.s and current vector command {right arrow over (I)}.sub.s* from block 145 to regulate the output voltage vector command {right arrow over (V)}.sub.s*. The function of block 145 is to regulate motor current vector command {right arrow over (I)}.sub.s* to help keep the motor running at desired speeds.
(26) Before the PMSM 105 is started, a measure-and-synchronize (MAS) stage 200 is executed. During windmilling, the rotor position .sub.e and speed .sub.e are unknown to the MCU, and this can cause the MCU to fail to start the motor 105. The new control stage 200 is used as the first control stage before the PMSM FOC vector control routine 100 is used for ongoing motor operation. During the MAS stage 200, the MCU sets the current vector command {right arrow over (I)}.sub.s to zero ({right arrow over (I)}.sub.s*=0I.sub.QREF=0=I.sub.DREF). This effectively disables block 145 but allows the remaining blocks to continue. The current PI 125 control loop remains active to force the motor current vector {right arrow over (I)}.sub.s to equal zero during the MAS stage 200. At the MAS stage 200, speed observer 130 runs and estimates the rotor's position {circumflex over ()}.sub.e and speed {circumflex over ()}.sub.e values in real time. After the MCU receives the estimated values from the MAS 200, the MCU can use them as the initial values in block 150 of the ongoing FOC control routine 100.
(27) The MAS stage 200 will continue for a period of time sufficient for estimated position and speed to become stable. The suitable period of delay, during which the MAS stage 200 is allowed run, varies from application to application. Although longer periods may be preferred because more time would be provided to allow estimated position and speed to converge to actual position and speed, longer delays may not be suitable for certain applications that require rapid motor startup. In many applications, the delay period may range from tens of milliseconds to hundreds of seconds.
(28) Referring to
(29) If it is to be determined whether PMSM 105 is windmilling, the MCU may optionally be configured to evaluate whether (and potentially to what extent) the PMSM 105 is windmilling (25) before executing the MAS stage 200 (30). To determine whether there is windmilling, the MCU may use the motor current sensor to determine if there are detectable motor current readings from the PMSM 105. If not, the MCU could skip steps 30 and 35 (i.e., the MAS stage 200) and proceed to motor startup 40 (and, subsequently, to FOC control (45)). This might be desirable in situations in which windmilling is not a common occurrence, and in which the time taken for the determination step (25) is expected to be smaller than the delay for executing the MAS 200 (blocks 30 and 35). Optionally, the system may allow the user to override MAS 200 stage (not shown) and skip ahead to startup (40) via a user override input and a corresponding instruction to the MCU to skip ahead.
(30) In alternative embodiments, the exemplary systems and methods can be used to control motors that require (or are otherwise operated with) frequent Run/Stop operations. Here, the controller can drive the motor using the FOC control routine (as shown in
(31) The present disclosure has been described in terms of one or more embodiments, and it should be appreciated that many equivalents, alternatives, variations, additions, and modifications, aside from those expressly stated, and apart from combining the different features of the foregoing versions in varying ways, can be made and are within the scope of the invention.