This disclosure relates to electric motor drives and in particular to detecting and distinguishing between current measurement scaling errors and resistance imbalance in a synchronous motor drive system operating under feedback current control.
A vehicle, such as a car, truck, sport utility vehicle, crossover, mini-van, marine craft, aircraft, all-terrain vehicle, recreational vehicle, or other suitable forms of transportation, typically includes a steering system, such as an electronic power steering (EPS) system, a steer-by-wire (SbW) steering system, a hydraulic steering system, or other suitable steering system. The steering system and/or other features of the vehicle may include one or more electric motors. Such electric motors may comprise synchronous motors, such as permanent magnet synchronous motors (PMSM).
Safety-critical, high performance and fault-tolerant applications employing PMSM drives such as electric steering and automotive traction, to name a few, require intelligent diagnostic algorithms that can, in addition to detect issues in different parts of the motor drive system, be able to differentiate between different non-idealities or failures that may have similar signatures.
Synchronous machines under feedback current control operation produce current and voltage harmonics at twice the synchronous frequency in response to interphase resistance imbalance and current sensor gain (scaling) errors. The similarity of the signatures of both these non-idealities creates difficulty in developing algorithms that utilize different signals for detecting the presence of or distinguishing between either of the two issues particularly when they both occur simultaneously.
This disclosure relates generally to control of electric motors.
An aspect of the disclosed embodiments includes a method for detecting and distinguishing a current measurement gain error and a resistance imbalance in a motor drive system. The method includes: determining, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; computing, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determining a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; computing, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and computing, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. The resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error. The current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
Another aspect of the disclosed embodiments includes an electronic controller. The electronic controller includes a processor and a memory. The memory includes instructions that, when executed by the processor, cause the processor to: determine, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; compute, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determine a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; compute, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. The resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error. The current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
Another aspect of the disclosed embodiments includes a system for detecting and distinguishing a current measurement gain error and a resistance imbalance in a motor drive system. The system includes: a controller configured to: determine, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; compute, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determine a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; compute, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. The resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error. The current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
These and other aspects of the present disclosure are disclosed in the following detailed description of the embodiments, the appended claims, and the accompanying figures.
The disclosure is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings are not to-scale. On the contrary, the dimensions of the various features are arbitrarily expanded or reduced for clarity.
The following discussion is directed to various embodiments of the disclosure. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.
The present disclosure uses a ∧(hat) to indicate estimated parameters, an * (asterisk) to indicate a command parameter, and a −(overbar) to indicate a vector parameter.
The present disclosure provides a detailed mathematical model for synchronous motor drives considering both issues simultaneously and explains specific effects of each issue and their relative dominance on the signals in different operating ranges, in order to enable identifying and segregating them. The present disclosure also provides a strategy to distinguish between different types of errors (current gain/resistance imbalance/both) throughout a range of operating conditions.
The present disclosure provides an algorithm which detects the presence of resistance imbalance and/or current measurement gain errors during the run time in the vehicle. The systems and methods of the present disclosure can serve as a diagnostic to take necessary action after the detection of the error, such as generating a corresponding error message, and/or utilizing a fallback or redundant set of motor windings and/or current sensors, depending on the type of error that is identified.
In some embodiments, the current regulator 114, the commutation controller 106, the gate driver 107, the inverter 104, the motor 102, the current sensor 110, and the current estimator 118 form a closed-loop current control system. It should be noted that fewer or more components may be included in the system 100 as desired to perform the techniques disclosed herein and the components depicted are for explanatory purposes.
In some embodiments, the synchronous motor drive system 100 may function as follows. The current regulator 114 receives a command or reference current and outputs a corresponding voltage command signal. The position sensor 108 may be configured to sense a position of the motor 102. The position sensor 108 may communicate the sensed position to the position estimator 116. The position estimator 116 may estimate one or more positions of the motor 102 based on the position sensed by the position sensor 108.
With the foregoing described, additional details and operation of the system 100 will now be discussed. The motor 102 may generate rotational or linear force used to power a machine, such as those described herein. The motor 102 may include a synchronous motor, such as a PMSM or other suitable motor. The system 100 may selectively control electrical energy provided to the motor 102. The system 100 may provide the electrical energy to the motor 102 in varying amounts and at varying frequencies, thereby indirectly controlling the speed and torque of the motor 102.
The current sensor 110 may include any suitable current sensor configured to sense or measure an electric current in a circuit. The current sensor 110 may provide signals indicating the current to the current estimator 118. The current sensor 110 may be configured to receive the signals indicating the current and to measure the amount of current output by the motor 102 (e.g., based on the current indicated by the signals). The current estimator 118 may be configured to either transmit the stationary frame currents of the motor 102 or transform the measured current using a position estimate from the position estimator 116 of the motor 102 into a synchronous reference frame.
The current command generator 112 may receive a torque command Te*. The current command generator 112 may generate a commanded current I*dq based on the torque command. The current command I* may be composed of a direct axis (direct-axis) Id* and a quadrature axis (quadrature-axis) Iq* current component. The current regulator 114 receives the commanded current and transmits a voltage command signal Vdq* to the commutation controller 106. The voltage command V* may be composed of a direct-axis component Vd* and a quadrature-axis component Vq*. The commutation controller 106 may control a proportion of time the output voltage signal is high compared to when it is low over a consistent period of time, which may control a direction and speed of the motor 102. The gate driver 107 receives one or more signals from the commutation controller 106, and uses those one or more signals to control a conductive state of one or more switches within the inverter 104. The inverter 104 may include a voltage source inverter or other suitable inverter and may be configured to vary the frequency of the supply electrical energy provided to the motor 102 to control the speed of the motor 102. The motor 102 may receive an output voltage signal Vabc as an input (e.g., which may include Va, Vb, and Vc). The motor 102 may use the input to generate an amount of current Iabc as output (e.g., which may include Ia, Ib, and Ic) that may be equal to the commanded current or vary from the commanded current (e.g., when there is a current harmonic).
The current Iabc output from the motor 102 may be sensed by the current sensor 110 to determine a measured current. The current estimator 118 may receive the measured current and determine the estimated current Îdq. The current estimator 118 outputs the estimated current Îdq to the current regulator 114. Accordingly, as depicted a closed-loop is used by the system 100. However, as discussed, in some instances, the measured current may be incorrect due to circuitry degradation, drift, or the like.
The current regulator 114 may receive the estimated current and compare it to the commanded current Idq*. If there is any variation, the current regulator 114 may transmit an output voltage command signal Vdq* that will cause the estimated current Îdq to closely match the commanded current Idq*. As such, since the commanded current I*dq is constant (or varying slowly) and the estimated current Îdq equals the commanded current Idq*, then the estimated current Îdq is also constant. When current harmonic exists in the current measurement system, the current regulator 114 may include a pulsating component in the output voltage command signal Vdq*.
In some embodiments, and as shown in
A mathematical model 200 for closed-loop current control in the presence of both a current gain error and a resistance imbalance is shown in
having direct-axis and quadrature-axis components and which supplies a difference signal to a forward path current controller 204, which is also labeled
The mathematical model 200 also includes a BEMF compensator 206, also labeled Ê that generates a back-EMF compensation voltage signal that compensates for back-EMF generated in the motor 102. The BEMF compensator 206 may generate the back-EMF compensation voltage signal with direct-axis and quadrature-axis components, and which may be defined as:
The mathematical model 200 also includes a first adder 208 that adds an output of the forward path current controller 204 to the back-EMF compensation voltage signal to produce a voltage command signal
having direct-axis and quadrature-axis components and which represents a voltage command for the inverter 104.
The mathematical model 200 also includes an inverter model 210, also labeled Ā, and which computes an actual voltage signal
based on the voltage command signal
and which models a delay caused by operation of the inverter 104. The voltage generation model 210 may be defined as:
where Tp represents a propagation delay.
The mathematical model 200 also includes a plant model 212, 214, 216, 218, 220 which, together, model the operation of the motor 102 to determine an actual current signal
based on the actual voltage signal
The plant model 212, 214, 216, 218, 220 includes a resistance imbalance model 212, also called
where Kr is a magnitude of resistance imbalance and ϕr is a resistance imbalance angle that represents an angle of the resistance imbalance error, and which may be used to indicate one or more specific stator windings having a resistance imbalance. The plant model 212, 214, 216, 218, 220 also includes a second subtractor 214 that subtracts an output of the resistance imbalance model 212 from the actual voltage signal
The plant model 212, 214, 216, 218, 220 also includes a BEMF model 216 that models back-EMF effects of the motor 102. The BEMF model 216 may be defined as:
The plant model 212, 214, 216, 218, 220 also includes a third subtractor 218 that subtracts an output of the BEMF model 216 from the output of the second subtractor 214.
The plant model 212, 214, 216, 218, 220 also includes a plant winding model 220, which is also labeled
The plant winding model 220 may implement a transfer function
The mathematical model 200 also includes a current measurement model 222, 224, 226 which, together, model the operation of the current sensor to determine a measured current signal
based on the actual current signal
The current measurement model 222, 224, 226 includes a position-independent model 222, which is also labeled
and computes a position-independent measured current signal, which does not vary with the position of the motor 102. The position-independent sensor model 222 may be defined as:
The current measurement model 222, 224, 226 also includes a position-dependent sensor model 224, which is also labeled
and computes a position-dependent measured current signal, which varies with the position of the motor 102. The position-dependent sensor model 224 may be defined as:
and which uses the phase of error due to current sensing gain errors ϕgp, to indicate one or more specific phases having a current measurement error. The current measurement model 222, 224, 226 also includes a second adder 226 that adds the position-independent measured current signal and the position-dependent measured current signal from the position-independent sensor model 222 and the position-dependent sensor model 224, respectively, to produce the measured current signal
In some embodiments, the system of the present disclosure may include a controller 150, as is generally illustrated in
The controller 150 may be operably connected to an electrical actuator 156. The electrical actuator 156 may include the motor 102 and the inverter 104. The controller 150 may be configured to command the inverter to drive the motor 102 to rotate at a given speed or to produce a given amount of torque. The controller 150 may receive one or more signals from electrical actuator 156, such as signals indicating voltages applied to the motor 102. In some embodiments, the electrical actuator 156 may include the position sensor 108, which may be configured to measure a rotational position of the motor 102. Alternatively or additionally, the electrical actuator 156 may include the current sensor 110, which may measure phase currents of one or more conductors between the inverter 104 and the motor 102. In some embodiments, the electrical actuator 156 may include one or more other sensors, such as one or more torque sensors or devices, one or more handwheel position sensors or devices, one or more motor position sensor or devices, one or more position sensors or devices, other suitable sensors or devices, or a combination thereof.
In some embodiments, the controller 150 may perform the methods described herein. However, the methods described herein as performed by the controller 150 are not meant to be limiting, and any type of software executed on a controller or processor can perform the methods described herein without departing from the scope of this disclosure. For example, a controller, such as a processor executing software within a computing device, can perform the methods described herein.
In order to understand and differentiate between and in-turn to develop and implement appropriate detection and mitigation techniques in a stable manner, it is informative to develop a detailed mathematical model of the simultaneous occurrence of both a current measurement gain error and a resistance imbalance.
A mathematical model for resistance imbalance in PMSMs in the synchronous or dq reference frame is given in equation set (1):
where V represents an actual voltage applied to stator windings of the motor 102, which may also be written as
p−1 is the inverse plant model; I is the actual current signal, which may also be written as
E is a BEMF model that represents voltage generated by back-EMF in the motor 102; N is a noise transfer function, which describes the effect of imbalance in phase resistances in the motor 102; Ld and Lq are the direct-axis and quadrature-axis inductances, respectively; R is a nominal winding resistance of the motor 102, ωe is an electrical rotational speed, s is a derivative operator, which may be discretized based on a control loop implementation; ωe and θe are the electrical velocity and electrical position, respectively, λm is the PM flux linkage, Kr represents a magnitude of error in the voltage command due to phase resistance imbalance; ϕr represents a phase of the error injected due to imbalance in phase resistances; ΔRx represents the deviation (imbalance) of resistance of phase x from the nominal winding resistance R of the motor 102; and ΔRy represents the deviation (imbalance) of resistance of phase y from the nominal winding resistance R of the motor 102. The subscripts x, y, and z may refer to phases a, b, and c of the motor 120, respectively.
The measured motor phase currents with only gain errors in current measurement (i.e. without any phase resistance imbalance) may be written as follows:
where Ix and Ixm represent the actual and measured currents for phase x while ΔKgx represents the gain error in measurement.
Synchronous frame current estimates in terms of the actual motor currents for gain error Kgx for phase x are modeled as provided in equation set (2):
where Î is the measured dq current matrix; I is the actual dq current matrix, ϕgp represents a phase of error due to current sensing gain errors; Kgp represents a magnitude of error due to current sensing gain errors; and Msi and Mpi are inverse matrices of Ms and Mp, respectively.
When feedback current regulation is used, the current measurement gain error and the resistance imbalance modulate and manifest themselves in a (mathematically) complex manner in different signals. Assuming high bandwidth current regulation is employed, the estimated current may be approximated to be equal to the commanded currents to obtain the actual currents as given in equation set (3):
where Î is the estimated current, Ī*is the current command, Ī is the actual current,
The voltage commands, which may be assumed to be equal to the actual voltage signal may be computed as shown in equation (4):
where
Expanding equation (4), the voltage signal may be segregated into three separate terms as shown in equation set (5):
where VDC is a constant voltage term, Vθ is a position-dependent voltage term that varies with the position θ of the motor 102, Vθω is a position and speed-dependent voltage term that varies with both the position θ and the speed ω of the motor 102, and Δg is defined in equation set (2).
By demodulating the dq voltage waveforms, the pulsating components that are unique to imbalance and current measurement gain errors may be segregated. An inverse frame transformation from the synchronous frame to the 2-phase stationary frame with the appropriate frequency of two per electrical revolution is employed as set forth in equation set (6):
where Vu and Vv are demodulated diagnostic voltages, and θe is the electrical position.
Based on equation set (6), a resistance imbalance flag A and a current gain error flag B are defined, as set forth in equation set (7):
The resistance imbalance flag A and the current gain error flag Beach provide for a corresponding error to be individually identified. The resistance imbalance flag A has a non-zero value in response to a resistance imbalance in the motor 102 and is unaffected by a current sensing gain error, and the current gain error flag B has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor 102.
To determine the type of errors in the system, the system and method of the present disclosure considers two operating conditions, one at low speed ωm1 and one at high speed ωm2.
At very low speed ωm1=ωe1 (i.e. in a first region where the motor 102 produces a torque that is invariant of speed), the direct-axis current command I*d1=0, and first demodulated voltages Vu1, Vv1 corresponding to the first speed ωe1 may be defined by equation set (8):
where ωm1 represents a first mechanical motor speed and ωe1 is a corresponding first electrical motor speed. Usually in torque speed curves, torque is plotted as a function of mechanical speed, whereas in equations both mechanical and electrical speed terms may be used. The conversion is ωe=number of pole pairs*ωm.
At high speed ωm2=ωe2 (i.e. a higher speed than the first mechanical motor speed ωm1 and which has a direct-axis current command I*d2=0), and second demodulated voltages Vu2, Vv2 corresponding to the second speed ωe2 may be defined by equation set (9)
Solving the four equations of equation sets (8) and (9) provides values for each of the four unknown variables (i.e. resistance imbalance flag A, current gain error flag B, current gain error angle ϕgp, and resistance imbalance angle ϕr), as set forth in equation set (10):
Once values are determined for the resistance imbalance flag A and the current gain error flag B, a type of the error can be determined based on Table 1, below:
As indicated in Table 1, a value of zero for both of the resistance imbalance flag A and the current gain error flag B indicates presence of neither a resistance imbalance error nor a current gain error. A non-zero value of the resistance imbalance flag A, and a zero value of the current gain error flag B indicates presence of only a resistance imbalance error. A zero value of the resistance imbalance flag A, and a non-zero value of the current gain error flag B indicates presence of only a current gain error. A non-zero value of the resistance imbalance flag A, and a non-zero value of the current gain error flag B indicates presence of both a resistance imbalance error and a current gain error.
At 502, the method 500 determines, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed. For example, the processor 152 may execute instructions to implement the current regulator 114 to compute the first voltage command V*d, V*q when the motor 102 is rotating at the first speed ωm1. The controller 150 may also determine the first motor position signal θ1. For example, the processor 152 may execute instructions to implement the position estimator 116 to determine the first motor position signal θ1 based on the estimated position {circumflex over (θ)}e when the motor 102 is rotating at the first speed ωm1. In some embodiments, the processor 152 may execute instructions to cause the controller 150 to command the inverter 104 to drive the motor 102 to rotate at the first speed ωm1, which is a relatively low speed. In cases where the method 500 is performed during normal operation, the system may wait until the motor 102 is operated to rotate at the first speed ωm1, and only then perform the subsequent steps that depend on the motor 102 being driven at the first speed ωm1.
At 504 the method 500 computes, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal. For example, the processor 152 may execute instructions to compute the first demodulated voltage signal Vu1, Vv1 based on the first motor position signal θe, and the corresponding first voltage command signal Vd1, Vq1, and based on the equation:
as set forth in equation set (7).
At 506 the method 500 determines, for the motor, a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed. For example, the processor 152 may execute instructions to implement the current regulator 114 to determine the voltage command V*d, V*q when the motor 102 is rotating at the second speed ωm2. The controller 150 may also determine the second motor position signal θ2. For example, the processor 152 may execute instructions to implement the position estimator 116 to determine the second motor position signal θ2 based on the estimated position {circumflex over (θ)}e when the motor 102 is rotating at the second speed ωm2. In some embodiments, the processor 152 may execute instructions to selectively command the inverter 104 to drive the motor 102 to rotate at the second speed ωm2, which is higher than the first speed ωm1. In cases where the method 500 is performed during normal operation, the system may wait until the motor 102 is commanded to rotate at the second speed ωm2, and only then perform the subsequent steps that depend on the motor 102 being driven at the first speed ωm2.
At 508 the method 500 computes, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal. For example, the processor 152 may execute instructions to compute the second demodulated voltage signal Vu2, Vv2, based on the second motor position signal θe, and the corresponding second voltage command signal Vd2, Vq2, based on the equation:
as set forth in equation set (7).
At 510 the method 500 computes, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. The resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error, and the current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor. For example, the processor 152 may execute instructions to solve each of the four equations of equation sets (9) and (10) to calculate the values for each of: the resistance imbalance flag A, the current gain error flag B, the current gain error angle ϕgp, and the resistance imbalance angle ϕr.
The present disclosure provides a method for detecting and distinguishing a current measurement gain error and a resistance imbalance in a motor drive system. The method includes: determining, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; computing, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determining a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; computing, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and computing, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. In some embodiments, the resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error, and the current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
In some embodiments, the first speed corresponds to the motor producing a torque that is invariant of speed, and the second speed is greater than the first speed and corresponds to a d-axis current command I*d=0.
In some embodiments, each of the first demodulated voltage signal and the second demodulated voltage signal includes two components Vu, Vv which are computed as:
where θe is a corresponding one of the first motor position signal or the second motor position signal representing an electrical position of the motor, and Vd, Vq are direct-axis and quadrature-axis components of a corresponding one of the first voltage command signal or the second voltage command signal.
In some embodiments, computing the resistance imbalance flag includes calculating the resistance imbalance flag in accordance with an equation:
where A is the resistance imbalance flag, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, B is the current gain error flag, R is a nominal winding resistance of the motor, and ϕgp is a current gain error angle.
In some embodiments, computing the current gain error flag includes calculating the current gain error flag in accordance with an equation:
where B is the current gain error flag, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, and, L is a nominal synchronous inductance of the motor.
In some embodiments, the method further includes: computing, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, a current gain error angle; and in some embodiments, the current gain error angle indicates a particular one or more current sensors having a current sensing gain error.
In some embodiments, computing the current gain error angle includes calculating the current gain error angle in accordance with an equation:
where ϕgp is the current gain error angle, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, and I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2.
In some embodiments, the method further includes computing, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, a resistance imbalance angle, and in some embodiments the resistance imbalance angle indicates a particular one or more windings of the motor having a resistance imbalance.
In some embodiments, computing the resistance imbalance angle includes calculating the resistance imbalance angle in accordance with an equation:
where ϕr is the resistance imbalance angle, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, B is the current gain error flag, R is a nominal winding resistance of the motor, and ϕgp is a current gain error angle.
The present disclosure provides an electronic controller. The electronic controller includes a processor; and a memory that includes instructions. The instructions, when executed by the processor, cause the processor to: determine, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; compute, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determine a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; compute, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. In some embodiments, the resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error, and the current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
In some embodiments, the first speed corresponds to the motor producing a torque that is invariant of speed, and the second speed is greater than the first speed and corresponds to a d-axis current command equal
In some embodiments, each of the first demodulated voltage signal and the second demodulated voltage signal includes two components Vu, Vv which are computed as:
where θe is a corresponding one of the first motor position signal or the second motor position signal representing an electrical position of the motor, and Vd, Vq are direct-axis and quadrature-axis components of a corresponding one of the first voltage command signal or the second voltage command signal.
In some embodiments, the instructions cause the processor to calculate the resistance imbalance flag in accordance with an equation:
where A is the resistance imbalance flag, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, B is the current gain error flag, R is a nominal winding resistance of the motor, and ϕgp is a current gain error angle.
In some embodiments, the instructions cause the processor to calculate the current gain error flag in accordance with an equation:
where B is the current gain error flag, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, and, L is a nominal synchronous inductance of the motor.
In some embodiments, the instructions further cause the processor to compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, a current gain error angle; and in some embodiments, the current gain error angle indicates a particular one or more current sensors having a current sensing gain error.
In some embodiments, the instructions cause the processor to calculate the current gain error angle in accordance with an equation:
where ϕgp is the current gain error angle, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1 is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, and I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2.
In some embodiments, the instructions cause the processor to compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, a resistance imbalance angle; and in some embodiments, the resistance imbalance angle indicates a particular one or more windings of the motor having a resistance imbalance.
In some embodiments, the instructions cause the processor to calculate the resistance imbalance angle in accordance with an equation:
where ϕr is the resistance imbalance angle, Vu1 and Vv1 are two components of the first demodulated voltage signal, Vu2 and Vv2 are two components of the second demodulated voltage signal, I*q1, is the first quadrature-axis current command when the motor is rotating at the first speed ωe1, I*q2 is the second quadrature-axis current command when the motor is rotating at the second speed ωe2, B is the current gain error flag, R is a nominal winding resistance of the motor, and ϕgp is a current gain error angle.
The present disclosure provides a system for detecting and distinguishing a current measurement gain error and a resistance imbalance in a motor drive system. The system includes: an inverter operably connected to a motor, and a controller operably connected to the inverter. The controller is configured to: determine, for a motor, a first voltage command signal, a first motor position signal, and a first quadrature-axis current command when the motor is rotating at a first speed; compute, based on the first voltage command signal and the first motor position signal, a first demodulated voltage signal; determine a second voltage command signal, a second motor position signal, and a second quadrature-axis current command when the motor is rotating at a second speed that is different from the first speed; compute, based on the second voltage command signal and the second motor position signal, a second demodulated voltage signal; and compute, based on the first demodulated voltage signal, the second demodulated voltage signal, the first quadrature-axis current command, and the second quadrature-axis current command, each of a resistance imbalance flag and a current gain error flag. In some embodiments, the resistance imbalance flag has a non-zero value in response to a resistance imbalance in the motor and is unaffected by a current sensing gain error, and the current gain error flag has a non-zero value in response to a current sensing gain error and is unaffected by a resistance imbalance in the motor.
In some embodiments, the first speed corresponds to the motor producing a torque that is invariant of speed, and the second speed is greater than the first speed and corresponds to a d-axis current command substantially equal to zero.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
The word “example” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word “example” is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X includes A or B” is intended to mean any of the natural inclusive permutations. That is, if X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form. Moreover, use of the term “an implementation” or “one implementation” throughout is not intended to mean the same embodiment or implementation unless described as such.
“A”, “an”, and “the” as used herein refers to both singular and plural referents unless the context clearly dictates otherwise. By way of example, “a processor” programmed to perform various functions refers to one processor programmed to perform each and every function, or more than one processor collectively programmed to perform each of the various functions.
Implementations the systems, algorithms, methods, instructions, etc., described herein can be realized in hardware, software, or any combination thereof. The hardware can include, for example, computers, intellectual property (IP) cores, application-specific integrated circuits (ASICs), programmable logic arrays, optical processors, programmable logic controllers, microcode, microcontrollers, servers, microprocessors, digital signal processors, or any other suitable circuit. In the claims, the term “processor” should be understood as encompassing any of the foregoing hardware, either singly or in combination. The terms “signal” and “data” are used interchangeably.
As used herein, the term module can include a packaged functional hardware unit designed for use with other components, a set of instructions executable by a controller (e.g., a processor executing software or firmware), processing circuitry configured to perform a particular function, and a self-contained hardware or software component that interfaces with a larger system. For example, a module can include an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit, digital logic circuit, an analog circuit, a combination of discrete circuits, gates, and other types of hardware or combination thereof. In other embodiments, a module can include memory that stores instructions executable by a controller to implement a feature of the module.
Further, in one aspect, for example, systems described herein can be implemented using a general-purpose computer or general-purpose processor with a computer program that, when executed, carries out any of the respective methods, algorithms, and/or instructions described herein. In addition, or alternatively, for example, a special purpose computer/processor can be utilized which can contain other hardware for carrying out any of the methods, algorithms, or instructions described herein.
Further, all or a portion of implementations of the present disclosure can take the form of a computer program product accessible from, for example, a computer-usable or computer-readable medium. A computer-usable or computer-readable medium can be any device that can, for example, tangibly contain, store, communicate, or transport the program for use by or in connection with any processor. The medium can be, for example, an electronic, magnetic, optical, electromagnetic, or a semiconductor device. Other suitable mediums are also available.
The above-described embodiments, implementations, and aspects have been described in order to allow easy understanding of the present invention and do not limit the present invention. On the contrary, the invention is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which scope is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structure as is permitted under the law.