Abstract:
A vehicle includes one or more inverter-fed electric machines such as permanent magnet synchronous motors. In response to a torque request, a controller issues commands to an inverter calculated to cause the motor to produce the requested torque at the current temperature. A method adjusts the direct component of the winding current such that the requested torque is delivered efficiently. For a given rotor speed, bus voltage, and torque, the direct component increases as the temperature increases.

Description:
TECHNICAL FIELD 
     This disclosure relates to control of electric motors. 
     BACKGROUND 
     Permanent magnet synchronous motors (PMSMs) are utilized in various applications because they have generally favorable efficiency characteristics relative to other types of motors. Typically, PMSMs have three separate electrical windings within the stator which are each powered by alternating current (AC) voltages V a , V b , and V c . In operation, the winding currents I a , I b , and I c  each oscillate at a frequency proportional to the rotor speed and are separated by 120 degrees in phase from one another. These winding currents induce a rotating magnetic field which may be out of phase with the rotor. The resulting shaft torque depends upon both the magnitude of the magnetic field and the phase angle relative to the rotor. The magnetic properties of the permanent magnets are impacted by temperature which impacts the resulting torque. Accurate torque delivery requires compensation for the effects of temperature. 
     For convenience, the winding voltages and currents may be represented by vectors with respect to a rotating reference frame that rotates with the rotor. The mapping between rotor position and the rotating reference frame depends upon the number of poles in the motor. The voltage vector has a direct component V d  and a quadrature component V q . Similarly, the current has a direct component I d  and a quadrature component I q . V d , V q , I d , and I q  do not oscillate based on rotor position. 
     In certain applications, such as electric vehicles and hybrid electric vehicles, electrical power is available from a non-oscillating direct current (DC) voltage source such as a battery. Therefore, inverters are utilized to convert the non-oscillating voltage V dc  into three oscillating voltages. Inverters contain a discrete number of switching devices and are therefore capable of supplying only a discrete number of voltage levels at each of the three motor terminals. For a 2-level inverter, at any moment in time, the switching devices are set to electrically connect each of the three AC motor terminals to either the positive or the negative DC terminal. Thus, eight switching states are available. Two of these switching states, in which all three AC terminals are connected to the same DC terminal, are called zero states. In the remaining six states, one AC terminal is connected to one of the DC terminals and the other two AC terminals are connected to the opposite DC terminal. The inverter is capable of switching rapidly among these eight states. 
     SUMMARY OF THE DISCLOSURE 
     In one embodiment, a method of compensating for temperature is disclosed. In response to a torque request, the method adjusts the torque request based on temperature. The direct and quadrature components of the winding current are calculated based on this adjusted torque request. The calculated direct component is further adjusted based on the temperature. Finally, commands are issued to an inverter to effectuate the target winding current. In some embodiments, the calculated direct component is not adjusted when the torque request is less than a threshold. The threshold may be based on rotor speed and bus voltage. 
     In another embodiment, a vehicle includes a bus, an electric machine such as a permanent magnet synchronous motor, an inverter, and a controller. The inverter is configured to supply the electric machine a winding current having a direct component (I d ) and a quadrature component (I q ). The controller is configured to issue pulse width modulation commands to the inverter to adjust the winding current such that for a given speed, torque, and voltage, the direct component increases as the temperature increases. The direct component may be less than zero at the given speed, torque, and voltage. 
     In another embodiment, a controller includes an input interface, an output interface, and control logic. The input interface receives signals indicating a voltage of an electrical bus and a temperature and a rotor speed of an electric machine. The output interface is configured to send pulse width modulation commands to an inverter causing the inverter to supply the electric machine with a winding current such that the electric machine produces torque. The control logic is programmed to adjust the pulse width modulation commands such that for a given rotor speed, bus voltage, and torque, the direct component increases as temperature increases. The direct component may be less than zero at the given speed, torque, and voltage. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of an exemplary hybrid electric powertrain; 
         FIG. 2  is a controller schematic in an exemplary hybrid electric powertrain; 
         FIG. 3  is a graph of general characteristics of permanent magnet synchronous motors in terms of the direct and quadrature components of the winding current at a particular reference temperature; 
         FIG. 4  is a graph of general characteristics of permanent magnet synchronous motors in terms of the direct and quadrature components of the winding current as temperature varies; 
         FIG. 5  is a flow chart for the control method for permanent magnet synchronous motors. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 3  illustrates typical characteristics of an inverter-fed PMSM at a particular reference temperature with respect to the winding current in the rotor reference frame. In this Figure, the direct component I d  is represented by the horizontal axis and the quadrature component I q  is represented by the vertical axis. Curve  310  represents different combinations of I d  and I q  that would produce a particular output torque. Curves  312 ,  314 , and  316  represent the combinations for progressively higher output torques. Although every point along each of these curves produces the same output torque, some combinations will be associated with higher losses than others. Line  318  represents the most efficient operating point for each level of torque. However, it is not always possible to operate at this condition. Point  320  represents the current that would be induced in the windings by the permanent magnets in the rotor as the rotor spins at a particular speed if the three motor terminals were directly connected to one another as would happen with the inverter in a zero state. This may be called the short circuit current. The voltage applied by the inverter alters the winding current from this condition. Curve  322  represents the boundary of the conditions that are achievable by the inverter at a particular rotor speed and bus voltage level. At higher bus voltages or lower rotor speeds, the boundary expands as shown by curve  324 . 
     Two basic control methods are known for switching among inverter states to regulate torque output of a PMSM. In the six-step method, the inverter cycles through the six non-zero states once per cycle of the rotor, producing an oscillating voltage and current in each winding. A rotor cycle is defined relative to motor poles and does not necessarily correspond to a complete revolution. The amplitude of the AC voltage is dictated by the DC voltage. The torque is dictated by the DC voltage, the rotor speed, and the phase difference between these quasi-sinusoidal AC voltage signals and the rotor position. A controller issues commands to the inverter indicating when to switch to the next state in the sequence. In six-step mode, the components of the winding current, I d , and I q , are located on a curve such as curve  122  or  124  in  FIG. 1 . The curve is determined by the bus voltage V dc  and the rotor speed ω. The position along the curve is determined by the voltage angle, Θ V . The controller adjusts Θ V  by adjusting the timing at which it switches the inverter to the next non-zero inverter states. The target voltage angle Θ* V  is a non-linear function of the torque request, rotor speed, and bus voltage. 
     In the PWM method, the inverter switches very rapidly among two of the non-zero states and one of the zero states. A controller specifies what fraction of the time should be spent in each of these three states by specifying pulse width modulation (PWM) duty cycles. The controller updates these duty cycles at regular intervals such that the frequency of updates is significantly higher than the frequency of the rotor rotation. In PWM mode, the components of the winding current, I d , and I q , are located in a region bounded by a curve such as curve  122  or  124  in  FIG. 2 . As with the six-step method, the curve is determined by the bus voltage V dc  and the rotor speed ω, although the curve may be slightly inside the six-step curve for a particular V dc  and ω. The controller adjusts I d  and I q  by adjusting V d  and V q  using closed loop control. The controller then translates V d  and V q  into PWM duty cycle commands to the inverter based on the rotor position Θ R . 
     The target components of the winding current, I* d , and I* q , are non-linear functions of the torque request, rotor speed, and bus voltage. At low torque requests, low speeds, and high bus voltages, I* d  and I* q  are selected along the line  118  in  FIG. 1  to yield the most efficient operation. However, at high torque requests, high speeds, and low bus voltages, operation along line  118  is not possible. The most efficient achievable operating point is located along a curve, such as  122 , which represents the boundary of the operating region at the current rotor speed and bus voltage. This area of operation is called the field weakening region. 
     Two basic control methods are known for switching among inverter states to regulate torque output of a PMSM. In the six-step method, the inverter cycles through the six non-zero states once per cycle of the rotor, producing an oscillating voltage and current in each winding. A rotor cycle is defined relative to motor poles and does not necessarily correspond to a complete revolution. The amplitude of the AC voltage is dictated by the DC voltage. The torque is dictated by the DC voltage, the rotor speed, and the phase difference between these quasi-sinusoidal AC voltage signals and the rotor position. A controller issues commands to the inverter indicating when to switch to the next state in the sequence. In six-step mode, the components of the winding current, I d , and I q , are located on a curve such as curve  322  or  324  in  FIG. 3 . The curve is determined by the bus voltage V dc  and the rotor speed ω. The position along the curve is determined by the voltage angle, Θ V . The controller adjusts Θ V  by adjusting the timing at which it switches the inverter to the next non-zero inverter states. The target voltage angle Θ* V  is a non-linear function of the torque request, rotor speed, and bus voltage. 
     In the PWM method, the inverter switches very rapidly among two of the non-zero states and one of the zero states. A controller specifies what fraction of the time should be spent in each of these three states by specifying pulse width modulation (PWM) duty cycles. The controller updates these duty cycles at regular intervals such that the frequency of updates is significantly higher than the frequency of the rotor rotation. In PWM mode, the components of the winding current, I d , and I q , are located in a region bounded by a curve such as curve  322  or  324  in  FIG. 3 . As with the six-step method, the curve is determined by the bus voltage V dc  and the rotor speed ω, although the curve may be slightly inside the six-step curve for a particular V dc  and ω. The controller adjusts I d  and I q  by adjusting V d  and V q  using closed loop control. The controller then translates V d  and V q  into PWM duty cycle commands to the inverter based on the rotor position Θ R . 
     The target components of the winding current, I* d , and I* q , are non-linear functions of the torque request, rotor speed, and bus voltage. At low torque requests, low speeds, and high bus voltages, I* d  and I* q  are selected along the line  318  in  FIG. 3  to yield the most efficient operation. However, at high torque requests, high speeds, and low bus voltages, operation along line  318  is not possible. The most efficient achievable operating point is located along a curve, such as curve  322 , which represents the boundary of the operating region at the current rotor speed and bus voltage. This area of operation is called the field weakening region. 
       FIG. 4  illustrates the impact of temperature. At an elevated temperature above the reference temperature, the permanent magnets become weaker. At the reference temperature, line  310  represents the various combinations of I d  and I q  that generate a particular torque. At the higher temperature, this curve shifts to dotted line  410 . Because the permanent magnets are weaker, the winding current must be higher to generate the same torque. Also, the short circuit current becomes less negative. Point  320  represents the short circuit current at the reference temperature while point  420  represents the short circuit current at the elevated temperature. Consequently, the operating region achievable at a given rotor speed and bus voltage also shift as indicated by curve  322  and dotted curve  422 . At the reference temperature, the controller would respond to a request for the torque associated with curve  310  by selecting I* d  and I* q  for point  430 . At the elevated temperature, one approach would be to add a value ΔT to the requested torque to compensate for the shift in the lines of constant torque. With this approach, the controller would select I* d  and I* q  for point  432 . Although this would result in the desired torque, it would not select the most efficient operating point. Point  434 , which also generates the desired torque at the elevated temperature, is closer to the maximum efficiency line  318  so it generates the torque more efficiently. If the simple approach of adjusting the requested torque is used to compensate for a decreased temperature, the resulting operating point would move outside the achievable region due to the leftward shift of this region. Consequently, the I* d  and I* q  table must be calibrated at the minimum operating temperature and the efficiency suffers at higher temperatures. 
       FIG. 5  illustrates a temperature compensation method that compensates for both the shift in the lines of constant torque and the shift in the achievable operating region. At  510 , the controller computes an estimated magnetic flux, λ m   _   est , by scaling a known magnetic flux at 20 degrees Celsius based on a measured temperature. K Tmag  is a calibratable constant. At  512 , the controller calculates a change in magnetic flux, Δλ m . Next, the controller calculates a parameter, TaperId that operates to limit the temperature adjustment when the motor is not operating on the boundary of the achievable region. When TaperId is equal to 1, the method fully compensates for the shift in the achievable region. However, when the motor is operating along line  318  far from the boundary of the achievable region, TaperId is set to 0. If the motor is operating in six-step mode, then TaperId is set to 1 at  516 . If the motor is operating in PWM mode, then the modulation index is calculated at  518 . At  520 , TaperId is set to 0 if the modulation index is below a lower threshold, set to 1 if the modulation index is above an upper threshold, and set to an intermediate value if it is between these thresholds. At  522 , the controller computes ΔI d . If TaperId is equal to 1, then ΔI d  is the change in the winding current induced by the rotor. At  524 , the controller looks up L diff , the inductance difference between the quadrature and direct axes, in a table. Next, the controller calculates a torque request adjustment, T adj , using a formula at  526 . Here, the measured value of I q  is used. P is the number of pole pairs in the motor. At  528 , the torque adjustment is added to the requested torque. At  530 , the controller looks up torque control parameters I* d , I* q , and Θ* V  based on the adjusted torque command, the rotor speed ω, and the bus voltage V dc . Finally, at  532 , the controller adds ΔI d  to I* d . If I* d  is negative, then increasing I* d  makes I* d  less negative and decreasing I* d  makes I* d  more negative.