Abstract:
Permanent magnet alternating current (PMAC) motor systems and methods for starting or restarting PMAC motor system sensorless control algorithms are provided. One system includes a PMAC motor including a rotor, an inverter, and a controller. The controller includes control logic, start/restart logic, drive logic, current detect logic, and estimation logic configured to estimate a position of the rotor, a speed of the PMAC motor, or both based on current detected in each phase of the inverter. A start/restart method includes determining to start/restart the sensorless control algorithm and modifying the inverter voltage in response to the determined start/restart. The method also includes detecting current in each inverter phase after the inverter voltage is modified and estimating a rotor position, a PMAC motor speed, or both based on the current detected in each inverter phase after the inverter voltage is modified. Another controller includes means for performing the above start/restart method.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention generally relates to electric motors, and more particularly relates to permanent magnet alternating current (PMAC) motor systems and methods for restarting a PMAC motor system control algorithm. 
       BACKGROUND OF THE INVENTION 
       [0002]    Permanent magnet alternating current (PMAC) motor systems may be utilized in many different applications and are well-known in the art. Some PMAC motor systems include a PMAC motor connected to each phase of a three-phase inverter, and a controller connected to the PMAC motor and the three-phase inverter in a configuration known as a three-phase PMAC motor. 
         [0003]    The three-phase inverter is configured to provide voltage to the PMAC motor to control the amount of torque produced by the PMAC motor. To do this, each inverter phase is coupled between a voltage source and the PMAC motor, and includes a pair of (e.g., a high-side and a low-side) field effect transistors (“FETs”) or other type of solid state switching devices that, via their switching operations (i.e., ON/OFF functions), control the amount of voltage provided to the PMAC motor. The switching operations of the switching devices are typically controlled using pulse-width-modulation (“PWM”) techniques. Specifically, the switching devices are connected to provide three-phase voltage to the A, B, and C phases of the PMAC motor. During operation, the A, B, and C phases of the PMAC motor are maintained 120 degrees (electrical) apart. For example, if phase A is at 120 degrees (i.e., θ=120°), then phase B would be at phase A plus 120 degrees (i.e., θ+120°), and phase C would be at phase A minus 120 degrees (i.e., θ−120°). 
         [0004]    The amount of torque produced by the PMAC motor is functionally related to the amplitude of the electric current in the A, B, and C phases, which is also referred to as the motor current. The frequency of the motor current is selected to create a magnetic field or flux in the phase windings that rotate about an armature at a predetermined speed, which induces a rotor in the PMAC motor to rotate. The rotational speed of the rotor is thus determined by the amplitude and frequency of the motor current. 
         [0005]    Typically, the rotating flux is commanded to lead the rotor by some angle, which is often referred to as an “advance angle.” The advance angle can be controlled by adjusting the phase angle of the current supplied to the PMAC motor windings, and is increased as the rotor speed increases, depending on the torque and power requirements of the PMAC motor. If the flux is not leading the rotor by the proper advance angle and/or if the flux does not include the proper rotational speed, the PMAC motor may experience high currents and/or torque oscillations, which can result in damage the PMAC motor system. 
         [0006]    To prevent the PMAC motor from experiencing high currents and/or torque oscillations, PMAC motor systems track the present position of the rotor (or the flux) and the present motor speed at all times. As such, PMAC motor systems typically include an absolute position sensor (e.g., a resolver) to synchronize the rotor position and the motor speed, or employ a control algorithm that estimates the rotor position and motor speed without the use of a mechanical sensor, which control algorithm is often referred to as a “sensorless algorithm” or a “sensorless control algorithm,” to track the present position of the rotor (or the flux) and the present motor speed during operation. 
         [0007]    A sensorless control algorithm is typically performed by the controller, and the controller estimates the present rotor position and present motor speed based on a measurement of the inverter output voltage (i.e., the voltage in each inverter phase) and the inverter output current (i.e., the current in each inverter phase). In some sensorless control algorithms, the controller assumes that the rotor is at a “zero position” and that the motor has a “zero speed” (i.e., is at rest) when starting (or restarting) the sensorless control algorithm. A problem may arise in this type of sensorless control algorithm because there can be times when the rotor may not be at the “zero position” because the rotor is rotating when the controller starts the sensorless control algorithm. For example, an engine fan rotor may be rotating at the start of the sensorless control algorithm because air flowing through the engine is applying a force to the fan blades, which causes the rotor to rotate, while a motor vehicle is being driven. Similarly, execution of the sensorless control algorithm may be interrupted due to external events (e.g., the PMAC motor system being exposed to strong electromagnetic interference), or by the unlikely event of a diagnostic malfunction, both of which would require that the controller restart the sensorless control algorithm while the PMAC motor is operating and the rotor is rotating. That is, in each of these situations, the sensorless control algorithm has to be started or restarted without any knowledge of the present rotor position and present motor speed (referred to hereinafter as “initial conditions”). 
         [0008]    To solve this problem, PMAC motor systems typically use one or more additional circuits and/or sensors to calculate the initial conditions. Specifically, these additional circuits and/or sensors detect the actual output voltage of the inverter and calculate the initial conditions based on the detected inverter output voltage. In these PMAC motor systems, after the sensorless control algorithm is stopped and the controller is reset, the proper initial conditions (i.e., the newly calculated rotor position and motor speed) are calculated based on the measured inverter output voltage, and a restart portion of the sensorless control algorithm is performed in order to provide the proper initial conditions to the sensorless control algorithm. 
         [0009]    Accordingly, it is desirable to provide PMAC motor systems and methods for starting or restarting a PMAC motor system sensorless control algorithm without needing additional circuits and/or sensors to detect the inverter output voltage and using the inverter output voltage to calculate the proper initial conditions. Furthermore, other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description of the invention and the appended claims, taken in conjunction with the accompanying drawings and this background of the invention. 
       BRIEF SUMMARY OF THE INVENTION 
       [0010]    PMAC motor systems are provided. One exemplary PMAC motor system comprises a PMAC motor including a rotor, a three-phase inverter coupled to the PMAC motor and configured to provide a voltage to the PMAC motor, and a controller coupled to the three-phase inverter and to the PMAC motor. The controller comprises control logic configured to perform a sensorless control algorithm for controlling the PMAC motor, start/restart logic configured to determine when to start/restart the sensorless control algorithm, and drive logic configured to drive the voltage to substantially zero volts in response to a determined start/restart of the sensorless control algorithm. The controller also comprises current detect logic configured to detect current in each phase of the three-phase inverter when the voltage is substantially zero volts and estimation logic configured to estimate a position of the rotor, a speed of the PMAC motor, or both based on the detected current. 
         [0011]    Methods are also provided for starting or restarting a sensorless control algorithm for controlling a permanent magnet AC (PMAC) motor including a rotor coupled to a three-phase inverter having a voltage. An exemplary method comprises the steps of determining to start/restart the sensorless control algorithm and modifying the voltage in response to the determined start/restart of the sensorless control algorithm. The method also comprises the steps of detecting current in each phase of the three-phase inverter after the voltage is modified and estimating a position of the rotor, a speed of the PMAC motor, or both based on the detected current. 
         [0012]    Controllers capable of being coupled to a permanent magnet AC (PMAC) motor including a rotor and to a three-phase inverter having a voltage coupled to the PMAC motor are also provided. One exemplary controller comprises means for performing a sensorless control algorithm utilized to control the PMAC motor, the performing means configured to be coupled to the rotor and the PMAC motor, means for determining to when start/restart the sensorless control algorithm in communication with the performing means, and means for driving the voltage to substantially zero volts in response to a determined start/restart of the sensorless control algorithm in communication with the determining means. The controller further comprises means for detecting current in each phase of the three-phase inverter when the voltage is substantially zero volts in communication with the driving means. and means for estimating a first position of the rotor, a speed of the PMAC motor, or both based on the detected current configured to be coupled to the rotor and the PMAC motor. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]    The present invention will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and 
           [0014]      FIG. 1  is a schematic diagram of one exemplary embodiment of a permanent magnet alternating current (PMAC) motor system; and 
           [0015]      FIGS. 2A-2C  are timing diagrams representing an exemplary embodiment of start/restart algorithms for starting or restarting a sensorless control algorithm for the PMAC motor system of  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0016]    The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background of the invention or the following detailed description of the invention. 
         [0017]      FIG. 1  is a schematic diagram of one exemplary embodiment of a permanent magnet alternating current (PMAC) motor system  100 . PMAC motor system  100  comprises a PMAC motor  110  coupled to an inverter  120  and a controller  150 , wherein inverter  120  and controller  150  are also coupled to one another. 
         [0018]    PMAC motor  110  may be any hardware and/or device capable of producing torque based on an AC voltage input. Specifically, PMAC motor  110  includes a rotor (not shown) that rotates based on the differences in potential of stators arranged in three phases (A, B, and C) and separated from one another by one hundred twenty degrees (120°). 
         [0019]    Inverter  120 , in one embodiment, is a three-phase inverter including a phase A, a phase B, and a phase C coupled to the A, B, and C phases, respectively, of PMAC motor  110 . Specifically, phase A includes a high-side switch (e.g., a semiconductor switch) Q 1  coupled in parallel with a diode D 1  via nodes  1205  and  1210  and a low-side switch (e.g., a semiconductor switch) Q 2  coupled in parallel with a diode D 2  via nodes  1215  and  1220 . Nodes  1210  and  1215  are coupled to a node  1225  that is coupled to phase A of PMAC motor  110  via a conductor (e.g., a wire)  1250 , node  1205  is coupled to a node  1230 , and node  1220  is coupled to a node  1235 . 
         [0020]    Phase B includes a high-side switch (e.g., a semiconductor switch) Q 3  coupled in parallel with a diode D 3  via nodes  1305  and  1310  and a low-side switch (e.g., a semiconductor switch) Q 4  coupled in parallel with a diode D 4  via nodes  1315  and  1320 . Nodes  1310  and  1315  are coupled to a node  1325  that is coupled to phase B of PMAC motor  110  via a conductor (e.g., a wire)  1350 , node  1305  is coupled to a node  1330 , and node  1320  is coupled to anode  1335 . 
         [0021]    Phase C includes a high-side switch (e.g., a semiconductor switch) Q 5  coupled in parallel with a diode D 5  via nodes  1405  and  1410  and a low-side switch (e.g., a semiconductor switch) Q 6  coupled in parallel with a diode D 6  via nodes  1415  and  1420 . Nodes  1410  and  1415  are coupled to a node  1425  that is coupled to phase C of PMAC motor  110  via a conductor (e.g., a wire)  1450 , node  1405  is coupled to node  1330 , and node  1420  is coupled to node  1335 . 
         [0022]    Inverter  120  also includes capacitive elements (e.g., capacitors)  124  and  128 . Specifically, capacitive element  124  is coupled to a node  1625  coupled to ground, and to a node  1630  coupled to node  1230  and a positive terminal of a voltage source (e.g., a battery)  160 . Capacitive element  128  is coupled to node  1525  and to a node  1635  coupled to node  1235  and a negative terminal of voltage source  160 . 
         [0023]    As illustrated in  FIG. 1 , controller  150  is coupled to switches Q 1 , Q 2 , Q 3 , Q 4 , Q 5 , and Q 6 , nodes  1210 ,  1220 ,  1310 ,  1320 ,  1410 , and  1420 , and conductors  1250 ,  1350 , and  1450 . Controller  150  may include any hardware, firmware, a device (e.g., a processor), and/or other logic (“logic”)  1510  capable of performing a sensorless control algorithm for controlling the amount of torque output by PMAC motor  110  based on the estimated position of the rotor in PMAC motor  110  and the estimated speed of PMAC motor  110 , as is known in the art. Specifically, logic  1510  is configured to provide control signals to switches Q 1 , Q 2 , Q 3 , Q 4 , Q 5 , and Q 6  based on a pole voltage (V A0 ) detected at conductor  1250 , a pole voltage (V B0 ) detected at conductor  1350 , and a pole voltage (V B0 ) detected at conductor  1450 . That is, logic  1510  is configured to turn switches Q 1 , Q 2 , Q 3 , Q 4 , Q 5 , and Q 6  ON/OFF depending on the inverter pole voltage command, V A0 , V B0  and V C0 , and the timing needed to create a flux in each of the phase A, B, and C stators at the proper time such that the rotor rotates at the proper speed in response thereto. 
         [0024]    Controller  150  also includes hardware, firmware, a device (e.g., a processor), and/or other logic (“logic”)  1520  capable of performing a start/restart algorithm for the sensorless control algorithm. That is, logic  1520  is configured to provide a new estimated rotor position and/or a new estimated motor speed when the sensorless control algorithm needs to be started or restarted. Specifically, logic  1520  is configured to transmit control signals to inverter  120  that result in the output voltage in inverter  120  (i.e., the output voltage in each of phases A, B, and C of inverter  120 , referred to hereinafter as the “inverter output voltage”) being increased or decreased to substantially zero volts via logic  1510 . Logic  1520  is also configured to measure currents i sa , i sb , and i sc  in conductors  1250 ,  1350 , and  1450 , respectively, and their respective current angles when the inverter output voltage is substantially zero volts. The measured currents i sa , i sb , and i sc , along with their respective current angles, are used by logic  1520  to calculate a current vector ({right arrow over (i)} s ) for currents i sa , i sb , and i sc , wherein logic  1520  is configured to calculate current vector {right arrow over (i)} s  according to equations (1) and (2), as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             i 
                             α 
                           
                         
                       
                       
                         
                           
                             i 
                             b 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               2 
                               / 
                               3 
                             
                           
                           
                             
                               
                                 - 
                                 1 
                               
                               / 
                               3 
                             
                           
                           
                             
                               
                                 - 
                                 1 
                               
                               / 
                               3 
                             
                           
                         
                         
                           
                             0 
                           
                           
                             
                               1 
                               / 
                               
                                 3 
                               
                             
                           
                           
                             
                               
                                 - 
                                 1 
                               
                               / 
                               
                                 3 
                               
                             
                           
                         
                       
                       ] 
                     
                      
                     
                       [ 
                       
                         
                           
                             
                               i 
                               sa 
                             
                           
                         
                         
                           
                             
                               i 
                               sb 
                             
                           
                         
                         
                           
                             
                               i 
                               cs 
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             i 
                             d 
                           
                         
                       
                       
                         
                           
                             i 
                             q 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               cos 
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 r 
                               
                             
                           
                           
                             
                               sin 
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 r 
                               
                             
                           
                         
                         
                           
                             
                               
                                 - 
                                 sin 
                               
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 r 
                               
                             
                           
                           
                             
                               cos 
                                
                               
                                   
                               
                                
                               
                                 θ 
                                 r 
                               
                             
                           
                         
                       
                       ] 
                     
                      
                     
                       [ 
                       
                         
                           
                             
                               i 
                               α 
                             
                           
                         
                         
                           
                             
                               i 
                               β 
                             
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Accordingly, logic  1520  is configured to calculate the current vector as {right arrow over (i)} s =i d +ji q , where “j” is an imaginary unit and {right arrow over (i)} s  the complex representation of two orthogonal currents that are analogous to the phasor. 
         [0025]    Since the rotor speed (ω r ) is proportional to the amplitude of {right arrow over (i)} s , logic  1520  is configured to determine the amplitude of {right arrow over (i)} s  and estimate (discussed below) ω r  based on the determined amplitude of {right arrow over (i)} s . Logic  1520  is also configured to utilize the measured current angles for currents i sa , i sb , and i sc  to estimate (discussed below) the rotor position (θ r ). Accordingly, logic  1520  is capable of estimating the rotor speed ω r  and rotor position θ r  by modifying the voltage in inverter  120 . That is, logic  1520  is capable of estimating the motor speed ω r  and rotor position θ r  without having to measure the actual output voltage of inverter  120 . 
         [0026]    The following discussion provides one exemplary embodiment of an algorithm for starting/restarting a sensorless control algorithm by modifying the voltage in inverter  120  to estimate the motor speed ω r  and rotor position θ r . The electrical equation of the operation of PMAC motor  110 , in complex form, is shown in equation (3). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         v 
                         → 
                       
                       s 
                     
                     = 
                     
                       
                         
                           
                             r 
                             s 
                           
                            
                           
                             
                               i 
                               → 
                             
                             s 
                           
                         
                         + 
                         
                           
                             L 
                             s 
                           
                            
                           
                              
                             
                                
                               t 
                             
                           
                            
                           
                             
                               i 
                               → 
                             
                             s 
                           
                         
                         + 
                         
                           
                             jω 
                             r 
                           
                            
                           
                             Ψ 
                             f 
                           
                            
                           
                              
                             
                               
                                 jθ 
                                 r 
                               
                                
                               
                                 ( 
                                 t 
                                 ) 
                               
                             
                           
                         
                       
                       = 
                       
                         
                           
                             r 
                             s 
                           
                            
                           
                             
                               i 
                               → 
                             
                             s 
                           
                         
                         + 
                         
                           
                             L 
                             s 
                           
                            
                           
                              
                             
                                
                               t 
                             
                           
                            
                           
                             
                               i 
                               → 
                             
                             s 
                           
                         
                         + 
                         
                           
                             E 
                             → 
                           
                           s 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       where 
                        
                       
                           
                       
                        
                       
                         
                           θ 
                           r 
                         
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                     
                     = 
                     
                       
                         
                           ω 
                           r 
                         
                          
                         t 
                       
                       + 
                       
                         
                           θ 
                           
                             r 
                              
                             
                                 
                             
                              
                             0 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0027]    The motor voltage, {right arrow over (v)} s , is constructed by the inverter pole voltage, V A0 , V B0  and V C0 , at conductors  1250 ,  1350 , and  1450 , respectively, when switches Q 1 , Q 3 , and Q 5 , or switches Q 2 , Q 4 , and Q 6  conduct currents i sa , i sb , and i sc , respectively. Here, the inverter pole voltages V A0 , V B0  and V C0  become equal to the back electromotive force ({right arrow over (E)} s ) when inverter  120  is OFF. In other words, by turning ON either all of the high-side switches Q 1 , Q 3  and Q 5  or all of the low-side switches Q 2 , Q 4  and Q 6 , phases A, B, and C in inverter  120  are each shorted and the increase in current in phases A, B, and C of inverter  120  can be measured. When phases A, B, and C of inverter  120  become shorted, the inverter output voltage becomes zero volts or close to zero volts, and the solution to equation (3) can be calculated, as indicated in equation (4) below, provided that the initial current is zero at time zero, {right arrow over (i)} s (t=0)=0. Notably, the effect of the voltage drop by switches Q 1 , Q 3 , Q 5  or switches Q 2 , Q 4 , and Q 6  in equation (4) is neglected. Furthermore, by assuming that the motor speed ω r  does not change when the inverter output voltage is substantially zero volts, the motor speed ω r  can be treated as a constant. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           i 
                           → 
                         
                         s 
                       
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             ω 
                             r 
                           
                            
                           
                             Ψ 
                             f 
                           
                         
                         
                           j 
                            
                           
                               
                           
                            
                           
                             L 
                             s 
                           
                         
                       
                       · 
                       
                         
                           exp 
                            
                           
                             ( 
                             
                               θ 
                               
                                 r 
                                  
                                 
                                     
                                 
                                  
                                 0 
                               
                             
                             ) 
                           
                         
                         
                           
                             1 
                             τ 
                           
                           + 
                           
                             jω 
                             r 
                           
                         
                       
                       · 
                       
                         [ 
                         
                           
                             exp 
                              
                             
                               ( 
                               
                                 
                                   jω 
                                   r 
                                 
                                  
                                 t 
                               
                               ) 
                             
                           
                           - 
                           
                             exp 
                              
                             
                               ( 
                               
                                 - 
                                 
                                   t 
                                   τ 
                                 
                               
                               ) 
                             
                           
                         
                         ] 
                       
                     
                   
                   , 
                   
                     
                       where 
                        
                       
                           
                       
                        
                       τ 
                     
                     = 
                     
                       
                         
                           L 
                           s 
                         
                         
                           r 
                           s 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0028]    Assuming time (t) is sufficiently smaller than the winding time constant τ, equation (4) can be approximated as equation (5). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         i 
                         → 
                       
                       s 
                     
                      
                     
                       ( 
                       t 
                       ) 
                     
                   
                   ≈ 
                   
                     
                       
                         2 
                          
                         
                           Ψ 
                           f 
                         
                       
                       
                         L 
                         s 
                       
                     
                     · 
                     
                       sin 
                        
                       
                         ( 
                         
                           
                             
                               ω 
                               r 
                             
                              
                             t 
                           
                           2 
                         
                         ) 
                       
                     
                     · 
                     
                       
                         exp 
                          
                         
                           [ 
                           
                             j 
                              
                             
                               ( 
                               
                                 
                                   θ 
                                   
                                     r 
                                      
                                     
                                         
                                     
                                      
                                     0 
                                   
                                 
                                 + 
                                 
                                   
                                     
                                       ω 
                                       r 
                                     
                                      
                                     t 
                                   
                                   2 
                                 
                                 - 
                                 
                                   π 
                                   2 
                                 
                               
                               ) 
                             
                           
                           ] 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0029]    From equation (5), the rotor (or flux) position θ r  and the absolute value of the motor speed ω r  at t=T x  can be calculated as shown in equations (6) and (7) below. Equation (7) can be simplified even further as equation (8) assuming that the amplitude of {right arrow over (i)} s  is less than the demagnetization current level (Ψ f /L s ) of PMAC motor  110 , wherein Ψ f /L s  is a known constant in PMAC motors. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       θ 
                       r 
                     
                      
                     
                       ( 
                       
                         T 
                         x 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           ω 
                           r 
                         
                          
                         
                           T 
                           x 
                         
                       
                       + 
                       
                         θ 
                         
                           r 
                            
                           
                               
                           
                            
                           0 
                         
                       
                     
                     = 
                     
                       
                         
                           arg 
                         
                          
                         
                           [ 
                           
                             
                               
                                 i 
                                 → 
                               
                               s 
                             
                              
                             
                               ( 
                               
                                 T 
                                 x 
                               
                               ) 
                             
                           
                           ] 
                         
                       
                       + 
                       
                         
                           
                             ω 
                             r 
                           
                            
                           
                             T 
                             x 
                           
                         
                         2 
                       
                       + 
                       
                         
                           π 
                           2 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
             
               
                 
                   
                      
                     
                       ω 
                       r 
                     
                      
                   
                   = 
                   
                     
                       2 
                       
                         T 
                         x 
                       
                     
                     · 
                     
                       
                         
                           sin 
                           
                             - 
                             1 
                           
                         
                         ( 
                         
                           
                             
                               L 
                               s 
                             
                             
                               2 
                                
                               
                                 Ψ 
                                 f 
                               
                             
                           
                           · 
                           
                              
                             
                               
                                 
                                   i 
                                   → 
                                 
                                 s 
                               
                                
                               
                                 ( 
                                 
                                   T 
                                   x 
                                 
                                 ) 
                               
                             
                              
                           
                         
                         ) 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
             
               
                 
                   
                      
                     
                       ω 
                       r 
                     
                      
                   
                   ≈ 
                   
                     
                       
                         L 
                         s 
                       
                       
                         
                           Ψ 
                           f 
                         
                          
                         
                           T 
                           x 
                         
                       
                     
                     · 
                     
                       
                          
                         
                           
                             
                               i 
                               → 
                             
                             s 
                           
                            
                           
                             ( 
                             
                               T 
                               x 
                             
                             ) 
                           
                         
                          
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
         [0030]    Accordingly, equations (1)-(8) provide a start/restart algorithm that logic  1520  is configured to perform to estimate motor speed ω r  and the rotor (or flux) position θ r  to restart the sensorless control algorithm performed by logic  1510 . In another embodiment, logic  1520  is also configured to perform the start/restart algorithm a second time to determine the direction (positive or negative) of motor speed ω r . 
         [0031]    To determine if motor speed ω r  is a negative speed or a positive speed, logic  1520  is configured to compare the determined rotor/flux position (θ r1 ) in a first time cycle to the determined rotor/flux position in a second time cycle (θ r2 ). If θ r1  is greater than θ r2 , the motor speed ω r  is a negative speed or a speed in a negative direction, whereas if θ r1  is greater than θ r2 , the motor speed ω r  is a positive speed or a speed in a positive direction (see equation (9) below). 
         [0000]    
       
         
           
             
               
                 
                   
                     ω 
                     r 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               + 
                               
                                  
                                 
                                   ω 
                                   r 
                                 
                                  
                               
                             
                             ; 
                           
                         
                         
                           
                             
                               
                                 if 
                                  
                                 
                                     
                                 
                                  
                                 
                                   θ 
                                   
                                     r 
                                      
                                     
                                         
                                     
                                      
                                     1 
                                   
                                 
                               
                               - 
                               
                                 θ 
                                 
                                   r 
                                    
                                   
                                       
                                   
                                    
                                   2 
                                 
                               
                             
                             &gt; 
                             0 
                           
                         
                       
                       
                         
                           
                             
                               - 
                               
                                  
                                 
                                   ω 
                                   r 
                                 
                                  
                               
                             
                             ; 
                           
                         
                         
                           
                             
                               
                                 if 
                                  
                                 
                                     
                                 
                                  
                                 
                                   θ 
                                   
                                     r 
                                      
                                     
                                         
                                     
                                      
                                     1 
                                   
                                 
                               
                               - 
                               
                                 θ 
                                 
                                   r 
                                    
                                   
                                       
                                   
                                    
                                   2 
                                 
                               
                             
                             &lt; 
                             0. 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0032]      FIGS. 2A-C  illustrate an exemplary embodiment of a timing diagram for start/restart algorithms configured to start or restart a sensorless control algorithm for a PMAC motor system (e.g., PMAC motor system  100 ). In the embodiment illustrated in  FIG. 2A , three high-side switches (e.g., switches Q 1 , Q 3 , and Q 5 ) or three low-side switches (e.g., switches Q 2 , Q 4 , and Q 6 ) are turned ON during cycle  0  or the PWM period, which causes the inverter output voltage to increase or decrease to substantially zero volts. The phase currents (e.g., currents i sa , i sb , and i sc ) are sampled at T x , which occurs during cycle  0 . 
         [0033]    In the start/restart algorithm represented by  FIG. 2A , the phase currents are sampled at a time that does not match with a sample time in the sensorless control algorithm, which may require an additional calculation of ω r T y  during cycle  1 . An estimate of the rotor (or flux) position θ r  may be calculated using equation (10) in conjunction with equation (6), and the position θ r  will advance by ω r T s  in cycle  1 , assuming that the motor speed ω r  is a constant. In cycle  2 , the new estimated rotor/flux position θ r  and the new estimated motor speed ω r  generated by the start/restart algorithm in cycles  0  and  1  may then be used by logic (e.g., logic  1510 ) performing the sensorless control algorithm without making an unwanted transient response (e.g., an overshoot of the current and/or speed) in the motor. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       θ 
                       r 
                     
                      
                     
                       [ 
                       
                         t 
                         = 
                         
                           kT 
                           s 
                         
                       
                       ] 
                     
                   
                   = 
                   
                     
                       
                         
                           θ 
                           r 
                         
                          
                         
                           ( 
                           
                             T 
                             x 
                           
                           ) 
                         
                       
                       + 
                       
                         
                           ω 
                           r 
                         
                          
                         
                           T 
                           y 
                         
                       
                     
                     = 
                     
                       
                         
                           arg 
                         
                          
                         
                           [ 
                           
                             
                               
                                 i 
                                 → 
                               
                               s 
                             
                              
                             
                               ( 
                               
                                 T 
                                 x 
                               
                               ) 
                             
                           
                           ] 
                         
                       
                       + 
                       
                         
                           
                             ω 
                             r 
                           
                            
                           
                             T 
                             x 
                           
                         
                         2 
                       
                       + 
                       
                         π 
                         2 
                       
                       + 
                       
                         
                           ω 
                           r 
                         
                          
                         
                           
                             T 
                             y 
                           
                           . 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0034]    With reference to the start/restart algorithm represented by  FIG. 2B , three high-side switches (e.g., switches Q 1 , Q 3 , and Q 5 ) or three low-side switches (e.g., switches Q 2 , Q 4 , and Q 6 ) are turned ON during cycle  0  or the PWM period, which causes the inverter output voltage to increase or decrease to substantially zero volts. The phase currents (e.g., currents i sa , i sb , and i sc ) are sampled after T x1 , which is at the beginning of cycle  1 . An estimate of the rotor or flux position θ r1  is calculated using equation (6), and an estimate of the motor speed ω r1  is calculated using equation (7) or (8) in cycle  1 . The estimated new rotor or flux position θ r1  and the estimated new motor speed ω r1  are then used in the sensorless control algorithm in cycle  2  so that the logic (e.g., logic  1510 ) can continue performing the sensorless control algorithm without making an unwanted transient response (e.g., an overshoot of the current and/or speed) in the motor. 
         [0035]    Referring to the start/restart algorithm represented by  FIG. 2C , this start/restart algorithm includes the steps represented by cycles  0  and  1  in the timing diagram of the start/restart algorithm represented by  FIG. 2B , and also includes a step for determining the direction (positive direction of negative direction) of the motor speed ∫ r . In cycle  2 , the phase currents are sampled after T x2 , which occurs at the beginning of cycle  2 . An estimate of the rotor or flux position θ r2  is calculated using equation (6), and an estimate of the motor speed or 2 is calculated using equation (7) or (8) in cycle  2  using the phase currents sampled after T x2 . The rotor or flux positions θ r1  and θ r2  are compared to one another to determine the direction using equation (9). The new rotor or flux position θ r2 , the new motor speed ∫ r2 , and the direction may then be used in the sensorless control algorithm during cycle  3  so that the logic can continue performing the sensorless control algorithm without making an unwanted transient response (e.g., an overshoot of the current and/or speed) in the motor. 
         [0036]    While at least one exemplary embodiment has been presented in the foregoing detailed description of the invention, it should be appreciated that a vast number of variations exist. It should also be appreciated that the exemplary embodiment or exemplary embodiments are only examples, and are not intended to limit the scope, applicability, or configuration of the invention in any way. Rather, the foregoing detailed description will provide those skilled in the art with a convenient road map for implementing an exemplary embodiment of the invention, it being understood that various changes may be made in the function and arrangement of elements described in an exemplary embodiment without departing from the scope of the invention as set forth in the appended claims and their legal equivalents.