Patent Description:
In certain prior art, back electromotive force (BEMF) can be used to estimate position of the rotor of an electric machine without using a position sensor (e.g., sensorless) to control the electric machine. However, a BEMF control scheme is optimal for a medium-to-high speed range because of a corresponding minimum signal-to-noise ratio at such speed range facilitates reliable position sensing; hence, reliable control. Typically, another non-BEMF control scheme, such as open-loop Volts per frequency (V/f) or Volts per Hertz (V/Hz), is required to robustly start up and stop the electric machine at lower speeds, such as zero speed. For example, basic, open-loop V/f control can be used, but this method is susceptible to loss of synchronization and to overcurrent fault due to its unregulated, or open-loop, current excitation. Further, current control model, such as current-frequency control (IF), can improve upon the basic, open-loop V/f control or V/Hz control by applying inherent current regulation control that considers (e.g., estimated rotational speed) the rotational current vector command (or stator current).

In some prior art, even after taking into account the above considerations, the transition between the IF mode and the BEMF mode during the startup and stop process of the electric machine (e.g., surface -mounted permanent magnet machine) may be susceptible to a lack of control responsiveness (e.g., slow dynamics) and/or overcurrent fault during any corresponding mode transition instant or transition period. Therefore, there is a need for a position sensorless startup and stop scheme to achieve a smooth transition between the IF mode and the BEMF mode, as well as a robust and fast startup and stop process.

<CIT> describes motor drive control apparatus and methods for sensorless control of a driven motor using open loop current regulated control during low-speed operation and an EMF-based position observer for position estimation during higher speed operation, with zero feedback speed during low-speed open-loop operation and feedback speed estimated by the EMF-based observer during high-speed operation and with velocity mode control over the full speed range and mode control hysteresis for smooth transitions between open loop and EMF-based observer control.

The features of the claimed invention are provided in the independent claims, to which reference should now be made. Additional, optional features are provided in the dependent claims.

In accordance with one embodiment, a system <NUM> and method for controlling an electric machine <NUM> (e.g., electric motor) via an inverter switching circuit <NUM> comprises an speed estimator (e.g., position and speed estimator <NUM>) that is configured to estimate a rotor speed of an electric machine <NUM> to determine whether to control the inverter to operate the electric machine <NUM> in a first mode or a second mode. For example, the first mode comprises a current-frequency control mode (or Volt/Hertz control mode) and wherein the second mode comprises a back electromagnetic force mode (e.g., in conjunction with field oriented control or space vector pulse with modulation control scheme).

An electronic data processor <NUM>, controller <NUM>, or data processing system <NUM> is configured to determine a first (current) command associated with a first mode of operating the electric machine <NUM>, if the estimated rotor speed is a less than a speed threshold. The electronic data processor <NUM>, controller <NUM>, or data processing system <NUM> is configured to determine a second (current) command associated with a second mode of operating the electric machine <NUM> if the estimated rotor speed is equal to or greater than the speed threshold. The electronic data processor <NUM>, controller <NUM> or data processing system <NUM> is capable of limiting an instantaneous change in the commanded voltage applied to the electric machine <NUM> during a transition (e.g., an escalating transition during start-up or acceleration of the rotor or a de-escalating transition during stopping of the rotor of the electric machine <NUM>) between the first mode and the second mode.

In accordance with one embodiment, <FIG> and <FIG>, collectively, discloses system <NUM> for controlling an electric machine <NUM> (e.g., motor) (e.g., an interior permanent magnet (IPM) motor or interior permanent magnet synchronous motor (IPSM)) or another alternating current machine. In one embodiment, the system <NUM>, aside from the electric machine <NUM> (e.g., motor), may be referred to as an inverter or a motor controller.

The system <NUM> comprises electronic modules, software modules, or both. In one embodiment, the system <NUM> comprises an electronic data processing system <NUM> to support storing, processing or execution of software instructions of one or more software modules. The electronic data processing system <NUM> is indicated by the dashed lines in <FIG> and <FIG>, collectively, and is shown in greater detail in <FIG>.

The data processing system <NUM> is coupled to an inverter switching circuit <NUM>. The inverter switching circuit <NUM> comprises a semiconductor drive circuit that drives or controls switching semiconductors (e.g., insulated gate bipolar transistors (IGBT), field-effect transistors or other power transistors) to output control signals for the electric machine <NUM> (e.g., motor).

In turn, the inverter switching circuit <NUM> is coupled to the electric machine <NUM> (e.g., motor). The electric machine <NUM> (e.g., motor) is associated with an optional sensor <NUM> (e.g., a position sensor, a resolver or encoder position sensor) that is associated with the motor shaft or the rotor. The sensor <NUM> and the electric machine <NUM> (e.g., motor) are coupled to the data processing system <NUM> to provide feedback data (e.g., current feedback data, such as ia, ib, ic at alternating current phase terminals 180a, 180b and 180c, respectively), raw position signals, among other possible feedback data or signals, for example. Other possible feedback data includes, but is not limited to, winding temperature readings (e.g., of temperature sensor <NUM>), semiconductor temperature readings of the inverter switching circuit <NUM>, three phase voltage data (e.g., at terminals 180a, 180b and 180c), or other thermal or performance information for the electric machine <NUM> (e.g., motor).

In one embodiment, the torque command generation module <NUM> is coupled to a d-q axis current generation manager <NUM> (e.g., d-q axis current generation look-up tables). D-q axis current or d-q axes current refers to the direct axis current and the quadrature axis current as applicable in the context of vector-controlled alternating current machines, such as the electric machine <NUM> (e.g., motor). The output of the d-q axis current generation manager <NUM> is inputted to a current regulator <NUM>. In turn, one or more outputs (e.g., commanded direct axis current data (id*) and commanded quadrature axis current data (iq*) or commanded direct axis voltage data and commanded quadrature axis voltage data) of the current regulator <NUM> are provided or coupled to an adjustment module <NUM>, which may adjust, modify or process the output of the current regulator <NUM> based on data from one or more sensors, such as a temperature sensor <NUM> associated with a component (e.g., winding or magnet) or housing of the electric machine <NUM> (e.g., motor).

As illustrated in <FIG> and <FIG>, collectively, the current regulator <NUM> is capable of communicating, directly or indirectly, with the pulse-width modulation (PWM) generation module <NUM> (e.g., space vector PWM generation module <NUM>). In one embodiment, the current regulator <NUM> receives respective d-q axis current commands (e.g., Id* and Iq*), the actual (observed) d-q axis currents (e.g., Id and Iq), the observed rotor speed or speed mode selection (e.g., first mode or second mode) from the mode controller <NUM>; the current regulator <NUM> outputs corresponding d-q axis voltage commands (e.g., commanded Vd* and commanded Vq* or intermediate/unadjusted or uncompensated Vd<NUM> and VqI) for input, or as precursor input, to the PWM generation module <NUM>.

In one embodiment, the current regulator <NUM> is coupled to the PWM generation module <NUM>, via the adjustment module <NUM> and a second transformation module <NUM> (e.g., also referred to as the second transform module), such as a dq-axis to α-β axis transformation module. The d-q reference frame rotates at a synchronous speed, whereas the α-β axis frame is stationary with the α axis that is orthogonal to the β axis. The α-β axis is generally related to the d-q reference frame by a rotation angle. For example, the second transformation module <NUM> may apply a Park transformation or equations associated with a Park transformation to convert or transform the d-q reference frame or commanded direct axis voltage and commanded quadrature axis voltage into commanded α axis voltage and commanded β axis voltage.

The PWM generation module <NUM> converts the direct axis voltage and quadrature axis voltage data from two phase, d-q axis data representations in the d-q reference frame into two-phase, α-β axis representations in the α-β axis reference frame (e.g., stationary reference frame). Outputs of the PWM generation module <NUM> are coupled to the inverter switching circuit <NUM>.

The inverter switching circuit <NUM> comprises power electronics, such as switching semiconductors to generate, modify and control pulse-width modulated signals or other alternating current signals (e.g., pulse, square wave, sinusoidal, or other waveforms) applied to the electric machine <NUM> (e.g., motor). The PWM generation module <NUM> may comprise a driver stage that applies pulses or signals to the inverter switching circuit <NUM>. An output stage of the inverter switching circuit <NUM> provides one or more outputs of pulse-width modulated signals or other alternating current signals for control of the electric machine (e.g., motor), which may resemble a sinusoidal alternating current signals. In one embodiment, the inverter switching circuit <NUM> is powered by a direct current (DC) bus <NUM>, which can be accompanied by measurement interface <NUM> (e.g., voltage sensor) to provide feedback data to the data processing system <NUM> or electronic data processor.

The electric machine <NUM> (e.g., motor) is associated with a rotational sensor <NUM> (e.g., a resolver, encoder, speed sensor, or another position sensor or rotational motion sensors) that estimates any of the following: an angular position of the rotor (e.g., motor shaft), a speed or velocity of the rotor, and a direction of rotation of the rotor, and acceleration of the rotor. The rotational sensor <NUM> may be mounted on or integral with the motor shaft or rotor. The output of the optional rotational sensor <NUM> is capable of communication with the position and speed estimator <NUM>. In one embodiment, the optional rotational sensor <NUM> may be coupled to an analog-to-digital converter (not shown) that converts analog position data or velocity data to digital position or velocity data, respectively. In other embodiments, the rotational sensor <NUM> (e.g., digital position encoder) may provide a digital data output of position data or velocity data for the motor shaft or rotor.

Within the position and speed estimator <NUM>, an input of a sensing circuit or transducers <NUM> are coupled to alternating current (AC) phase terminals (180a, 180b and 180c) of the electric machine <NUM> (e.g., motor) for sensing at least the measured phase currents (e.g., three-phase currents). Further, the position and speed estimator <NUM> may receive inputs of commanded alpha-axis voltage (V*α), commanded beta-axis voltage (V*β) in the alpha-beta stationary reference frame, and/or inputs of commanded direct-axis current (Id*) (and optionally commanded quadrature axis current (Iq*) in the d-q axis reference frame (e.g., rotating d-q axis reference frame), and observed direct axis current (Iq)).

In one embodiment, a position and speed estimator <NUM> is configured to estimate a first mode rotor speed under a first current control model (e.g., current-frequency model for estimating rotor speed) and a second mode rotor speed under a second current control mode (e.g., Back electromotive force /BEMF model for estimating rotor speed) of an electric machine <NUM> in accordance with a first speed estimator for the first mode simultaneously with a second speed estimator for the second mode based on observed current at the terminals (180a, 180b, 180c) of the electric machine <NUM>, or based on observed voltages and observed current observed current at the terminals (180a, 180b, 180c) of the electric machine <NUM>. The mode controller <NUM> may provide data on whether the electric machine <NUM> is operating in the first mode or the second mode, alone or together with a motoring mode, a power generation mode, a braking mode or a regenerative braking mode.

In the position and speed estimator <NUM>, an output of the sensing circuit or transducers <NUM> are coupled to an analog-to-digital converter for digitizing the output of the sensing circuit. In turn, the digital output of the analog-to-digital converter is coupled the compensator <NUM> and the first transformation module <NUM> (e.g., also referred to as the first transform module <NUM>). For example, the position and speed estimator <NUM> associated with the electric machine <NUM> (e.g., motor) for measuring three phase currents (e.g., current applied to the windings of the electric machine <NUM> (e.g., motor), back-EMF induced into the windings, or both).

A first output (e.g., position data and speed data for the electric machine <NUM> (e.g., motor)) of position and speed estimator <NUM> is communicated to the first transformation module <NUM> (e.g., three-phase to two-phase current Park transformation module) that converts respective three-phase digital representations of measured or observed current (e.g., ia, ib and ic) into corresponding two-phase digital representations of measured or observed current (e.g., Iq and Id). A second output (e.g., speed data, such as observed rotor speed ωr or average observed rotor speed for one or more sampling intervals) of the primary processing module <NUM> is communicated to the compensator <NUM> (e.g., adjusted voltage over speed ratio module).

Certain outputs of the position and speed estimator <NUM> feed the first transformation module <NUM>. For example, the first transformation module <NUM> may apply a Clarke transformation, followed by a Park transformation or other conversion equations (e.g., certain conversion equations that are suitable are known to those of ordinary skill in the art) to convert the measured three-phase representations of current into two-phase representations of current (e.g., d-q rotating reference frame, d-q stationary reference frame, or α-β stationary reference frame) based on the digital three-phase current data and the angular rotor position data (e.g., electrical angular rotor position data (θre) or average electrical angular rotor position data ( <MAT>) over one or more sampling intervals) from the rotational sensor <NUM>. The output of the first transformation module <NUM> is coupled to the current regulator <NUM>.

Meanwhile, a voltage sensor or measurement interface <NUM> (e.g., impedance interface or resistive voltage divider) provides a voltage level of the direct current (DC) voltage bus <NUM> (e.g., high voltage DC bus which may provide DC power to the inverter switching circuit <NUM>) to the compensator <NUM>, such that the compensator <NUM> can adjust the torque applied, via the current generation manager <NUM>, based on an observed voltage over speed ratio, or similar observed metric.

In one embodiment, the position and speed estimator <NUM> has an output coupled to an input of the compensator <NUM> (e.g., adjusted voltage over-speed ratio calculation module). For example, the position and speed estimator <NUM> may provide speed data (e.g., rotor shaft revolutions per minute (ωr) or average observed rotor speed). The measurement interface <NUM> may provide a measured level of direct current voltage (e.g., on the direct current (DC) bus of a vehicle) to the compensator <NUM>. The direct current voltage level on the DC bus <NUM> that supplies the inverter circuit <NUM> with electrical energy may fluctuate or vary because of various factors, including, but not limited to, ambient temperature, battery condition, battery charge state, battery resistance or reactance, fuel cell state (if applicable), load conditions on the electric machine <NUM>, respective torque and corresponding operational speed of the electric machine <NUM>, and vehicle electrical loads (e.g., electrically driven air-conditioning compressor). The compensator <NUM> provides input or an adjustment of torque ratio or commanded torque percentage <NUM> to the dq-axis current generation manager <NUM>. The output of the compensator <NUM> can adjust or impact current commands generated by the d-q axis current generation manager <NUM> to compensate for fluctuation or variation in voltage of the direct current bus <NUM>, among other things.

In one embodiment, the torque command generation module <NUM> comprises a speed regulator <NUM> and base torque module <NUM> coupled to a torque controller <NUM>. The speed regulator <NUM> has an input of commanded speed (ω*r) of the rotor of the electric machine <NUM> from a user input provided via a user interface that is associated with, or in communication with, the vehicle data bus <NUM>. The speed regulator <NUM> provides a commanded torque (Tcmd or T*) that is compatible with or based on the input of commanded speed (ω*r) of the rotor (e.g., from the vehicle data bus <NUM>), the load on the electric machine <NUM>, and the operational mode of the electric machine <NUM>, such as a motoring mode, a braking mode, a power generation mode, or a regenerative braking mode of a vehicle.

The base torque module <NUM> has an input of observed speed (feedback) of the rotor of the electric machine <NUM>, such as an average observed rotor speed ( <MAT> or ωr hat) of the electric machine <NUM> over one or more sampling intervals during operation of the electric machine <NUM>. The base torque module <NUM> provides a base torque (Tbase) that is compatible with or based on the input of the average observed rotor speed, <MAT>. For example, the base torque module <NUM> provides a base torque level that is compatible with or based on the input of the average observed rotor speed (e.g., determined in a first mode, a second mode or both simultaneously by corresponding first mode observer and a corresponding second mode observer in the position and speed estimator) and a model of stator field torque, such as a first model (e.g., of current-frequency control or Volt/Hertz control mode) or a second model (e.g., of a field weakening model) of the stator field torque.

In one configuration, the torque controller <NUM> may estimate a commanded torque percentage <NUM> of maximum torque, or a torque ratio based on the commanded torque (T* or Tcmd) and the base torque (Tbase), alone or together with the estimated stator current of one or more stator windings of the electric machine <NUM> to achieve a proper or target rotor flux linkage that is consistent with a model of the stator field torque, such a first model (e.g., of Volt/Hertz control mode or current-frequency control mode) or a second model (e.g., of a field weakening model) of the stator field torque.

As illustrated in <FIG> and <FIG>, collectively, the d-q axis current generation manager <NUM> comprises a set of look-up tables, such as a first look-up table <NUM> (e.g., Iq look-up table) or a second look-up table <NUM> (e.g., Id look-up table), that are based on a characterization of the electric machine <NUM>, specifications of the electric machine <NUM>, or preprogrammed binary files or object code files with parameter/configuration settings provided by the manufacturer of the electric machine <NUM>. In one embodiment, the first look-up table (e.g., Iq look-up table) comprises a file (e.g., inverted file), table, database or other data structure that stores a relationship between a commanded torque percentage <NUM>, a torque ratio (Tratio) (e.g., provided by the compensator <NUM>) and a commanded quadrature-axis torque. Similarly, the second look-up table (e.g., Id look-up <NUM>) table comprises a file (e.g., inverted file), table, database, or other data structure that stores a relationship between a commanded torque percentage <NUM>, a torque ratio and a commanded direct-axis torque. The d-q axis current generation manager <NUM> receives the commanded torque percentage <NUM> (T*perc or T*percentage) and the torque ratio from the compensator <NUM> as inputs and the d-q axis current generation manager <NUM> outputs the commanded direct-axis current (I*d) and commanded quadrature axis current (I*q) (e.g., to the current regulator <NUM>).

In one embodiment, the d-q axis current generation manager <NUM> selects or determines the direct axis current command data and the quadrature axis current command data associated with respective torque control command data and respective detected motor shaft speed data. For example, the d-q axis current generation manager <NUM> selects or determines the direct axis current command, the quadrature axis current command by accessing one or more of the following: (<NUM>) one or more look-up tables, databases or other data structure that relates respective torque commands to corresponding direct and quadrature axes currents, (<NUM>) a set of quadratic equations or linear equations that relate respective torque commands to corresponding direct and quadrature axes currents, or (<NUM>) a set of rules (e.g., if-then rules) that relates respective torque commands to corresponding direct and quadrature axes currents. In one illustrative configuration as shown in <FIG> and <FIG>, collectively, the d-q axis current generation manager <NUM> comprises a first look-up table <NUM>, such as a commanded quadrature-axis current look-up table for a corresponding commanded quadrature axis torque based on commanded torque ratio or commanded torque percentage <NUM> of maximum torque, and a second look-up table <NUM>, such as a commanded direct-axis current look-up table for a corresponding commanded direct-axis torque based on commanded torque ratio or commanded torque percentage <NUM> of maximum torque.

In one embodiment, the current regulator <NUM> receives inputs from mode controller <NUM> to determine whether to control the inverter to operate the electric machine <NUM> in a first mode or a second mode via a mode selector <NUM> in the current regulator <NUM>, wherein the first mode comprises a current-frequency control mode and wherein the second mode comprises a back electromagnetic force mode. For example, the mode selector <NUM> may comprise a switch or a multiplexer that selects one or more input data messages or data samples at a corresponding input port for output to an output port. Further, the mode selector <NUM> may comprise a command/parameter selector <NUM> as illustrated in <FIG> that selects IF control parameters or BEMF control parameters for application, directly or indirectly, to the electric machine <NUM> as selected control parameters.

As illustrated in <FIG> and <FIG>, collectively, the output port of the mode selector <NUM> is coupled to limiter <NUM>, directly or indirectly via a complex vector current regulator (CVCR) <NUM>. Further, a current regulator <NUM> comprises a first current controller <NUM>, a second current controller <NUM>, a mode selector <NUM>, a CVCR <NUM> and a limiter <NUM>. The first current controller <NUM> and second current controller <NUM> are configured to communicate with the mode selector <NUM>. In turn, the mode selector <NUM> is configured to communicate with the CVCR <NUM>, the limiter <NUM>, or both.

The first current controller <NUM> is configured to determine a first (current) command associated with a first mode of operating the electric machine <NUM>, if the estimated rotor speed (of the electric machine <NUM>) is a less than a speed threshold (e.g., a threshold minimum velocity or minimum speed). The first current controller <NUM> may be configured as a current-frequency current controller <NUM> or as field-weakening controller <NUM>.

The second current controller <NUM> is configured to determine a second (current) command associated with a second mode of operating the electric machine <NUM> if the estimated rotor speed is equal to or greater than the speed threshold(e.g., a threshold minimum velocity or minimum speed). The second current controller <NUM> is configured as a current-frequency current controller or as a field weakening controller.

In one configuration, the first current controller <NUM> comprises a current-frequency model for estimating rotor speed of the electric machine <NUM> in a first mode, or in both the first mode and the second mode. The second current controller <NUM> comprises a Back electromotive force (BEMF) model for estimating rotor speed of the electric machine <NUM> (e.g., possibly in conjunction with field oriented control of the electric machine <NUM> of a space vector pulse width modulation control scheme) in a second mode, or in both the first mode and the second mode. A mode controller <NUM> is configured to determine whether to control the inverter to operate or control the electric motor in a first mode or a second mode, via a mode selector <NUM> (e.g., switch or multiplexer) in the current regulator <NUM>.

In one configuration, a limiter <NUM> comprises a first limiter (e.g., first slew regulator), a second limiter (e.g., second slew regulator), or both; the limiter <NUM> is configured: (a) to limit an instantaneous change in the commanded voltage or commanded current applied to the electric machine <NUM> (e.g., or to limit change, bump or discontinuity in the (electrical) angle or (electrical) speed of the rotor) during a transition between the first mode and the second mode. A limiter <NUM> (e.g., first limiter) is configured to limit an instantaneous change in the commanded voltage applied to the electric machine <NUM> during a transition between the first mode and the second mode by limiting or adjusting a slew rate of the commanded direct axis current and commanded quadrature axis current in the first mode and the second mode to a speed feedback used in a complex vector current regulator (CVCR) <NUM>. In one embodiment, the limiter <NUM> further comprises a second limiter (e.g., integral with or associated with the position and speed estimator <NUM> or the second transformation module <NUM>) that is configured to limit a change in position feedback (e.g., <MAT> or θre hat) used for a mathematical transform from a commanded d-q axes-voltage reference frame to a commanded multiphase voltage reference frame (e.g., stationary commanded α-β axes-voltage reference frame).

In one embodiment, the adjustment module <NUM> comprises a rotor magnet temperature estimation module, a current shaping module, and/or a terminal voltage feedback module. The adjustment module <NUM> may be coupled to or is capable of communicating with the PWM generation module <NUM> to adjust the modulation or fundamental frequency of the signals, or pulse trains, outputted by the PWM generation module <NUM> (e.g., to the inverter switching circuit <NUM>).

In one configuration, the adjustment module <NUM> estimates or determines the temperature of the rotor permanent magnet or magnets, or the stator windings. In one embodiment, a rotor magnet temperature estimation module within the adjustment module <NUM> may estimate the temperature of the rotor magnets or stator windings of the electric machine <NUM> from internal control variables calculation, one or more temperature sensors <NUM> located on the stator, in thermal communication with the stator, or secured to the housing of the electric machine <NUM> (e.g., motor). The temperature sensors <NUM> may comprise a thermistor or infrared thermal detector, where the thermistor or detector provides a signal (e.g., wireless signal) indicative of the temperature of the magnet or magnets.

In one embodiment, the method or system <NUM> may operate in the following manner. The torque command generation module <NUM> receives an input control data message, such as a speed control data message (e.g., commanded rotor speed, ω*r), a voltage control data message, or a torque control data message, over a vehicle data bus <NUM>. The torque command generation module <NUM> converts the received input control message into torque control command data or commanded torque percentage <NUM>.

In one embodiment, the optional rotational sensor <NUM> on the electric machine <NUM> (e.g., motor) facilitates provision of the detected speed data for the rotor (e.g., or its shaft) of the electric machine <NUM>, where the position and speed estimator <NUM> may convert position data provided by the optional rotational sensor <NUM> into speed data, velocity data, and/or acceleration data.

In an alternate embodiment, the position and speed estimator <NUM>, which can also be referred to as position/motion estimator or estimator, can provide one or more of the following: rotor position data, rotor velocity data, and/or rotor acceleration data to the compensator <NUM> or to other modules, such as the mode controller <NUM>, and the d-q axis current generation manager <NUM>. The position and speed estimator <NUM> may comprise a first speed observer for the first mode (e.g., current-frequency mode of rotor position, speed, and/or motion estimation) and a second speed observer for the second mode (e.g., BEMF mode of rotor position, speed and/or motion estimation).

The adjustment module <NUM> (e.g., d-q axis voltage adjustment module or d-q axis current adjustment module) provides voltage or current adjustment data to adjust any of the following: the commanded direct- axis current data, commanded quadrature-axis current data (e.g., based on input data from the rotor magnet temperature sensor <NUM>), the commanded direct-axis voltage data, commanded quadrature-axis voltage data (e.g., based on input data from the rotor magnet temperature sensor <NUM>).

Within the command generation module <NUM>, the base torque module <NUM> may determine a correction or preliminary adjustment of the quadrature-axis (q-axis) current command and the direct-axis (d-axis) current command based on one or more of the following factors: torque load on the electric machine <NUM> (e.g., motor) and rotor speed of the electric machine <NUM> (e.g., motor), for example. The compensator <NUM> may provide a torque ratio adjustment or a voltage-over-speed adjustment to d-axis and q-axis current based on a control voltage command versus voltage limit. As illustrated in one example, the compensator <NUM> may estimate a percentage of maximum torque or torque ratio based on the observed rotor speed, the observed DC voltage of the DC bus <NUM>, and a derating factor, such as by the following or similar derating factor of: <MAT>, where <MAT> may be replaced by a value based on a ratio of the observed rotor speed to the maximum rotor speed for the voltage/Hertz control mode or for the current-frequency control mode, where is the observed DC bus voltage on the DC bus <NUM> and <MAT> is the average (e.g., geometric mean, mode or median) observed rotor speed over one or more sampling intervals (e.g., successive sampling intervals).

In one embodiment, the optional rotational sensor <NUM> (e.g., shaft or rotor speed detector) may comprise one or more of the following: a direct current motor, an optical encoder, a magnetic field sensor (e.g., Hall Effect sensor), magneto-resistive sensor, and a resolver (e.g., a brushless resolver). The optional rotational sensor <NUM> can be shown in dashed lines to indicate that it is optional and may be deleted in alternate embodiments. Further, the system may operate in a sensorless mode even if the optional rotational sensor <NUM>, is present, idle, disabled or in an inactive state.

In one configuration, the optional rotational sensor <NUM> comprises a position sensor, where position data and associated time data are processed to determine speed or velocity data for the motor shaft. In another configuration, the optional rotational sensor <NUM> comprises a speed sensor, or the combination of a speed sensor and an integrator to determine the position of the motor shaft.

In yet another configuration, the optional rotational sensor <NUM> comprises an auxiliary, compact direct current generator that is coupled mechanically to the shaft of the electric machine <NUM> (e.g., motor) to determine speed of the shaft, where the direct current generator produces an output voltage proportional to the rotational speed of the shaft. In still another configuration, the optional rotational sensor <NUM> comprises an optical encoder with an optical source that transmits a signal toward a rotating object coupled to the rotor shaft of the electric machine <NUM> (e.g., motor) and receives a reflected or diffracted signal at an optical detector, where the frequency of received signal pulses (e.g., square waves) may be proportional to a speed of the motor shaft. In an additional configuration, the optional rotational sensor <NUM> comprises a resolver with a first winding and a second winding, where the first winding is fed with an alternating current, where the voltage induced in the second winding varies with the frequency of rotation of the rotor.

As illustrated in <FIG>, the data processing system <NUM> can execute certain calculations, estimations or determinations in a synchronous d-q axis reference frame, in a stationary reference frame (e.g., stationary d-q axis reference frame or stationary α-β axis reference frame), or in a three-phase reference frame, or any combination of the foregoing reference frames.

In accordance with one embodiment, a position and speed estimator <NUM> supports control of a permanent magnet machine by estimating one or more of the following: rotor position data, rotor speed or rotor velocity data, and rotor acceleration data (collectively position and motion data) based upon the current measurements of one or more phase outputs. As illustrated in <FIG> and <FIG>, collectively, in conjunction with <FIG>, the position and speed estimator <NUM> or a state evaluator may be stored in a data storage device <NUM> or implemented by software instructions provide to one or more electronic data processors <NUM>.

In one embodiment, a state evaluator or observer is incorporated within the position and speed estimator <NUM>, or within a motion estimator, or within position estimator that replaces the position and speed estimator <NUM>. The state evaluator or observer is adapted to determine whether the electric machine <NUM> is operating within a first speed range or a second speed range, where the second speed range is greater than the first speed range. Further, in certain embodiments, the state evaluator or observer determines whether the machine is operating within a transition speed range between or overlapping partially with the first speed range, the second speed range or both.

In the first speed range, the position and speed estimator <NUM>, motion estimator, speed estimator, or mode controller <NUM> may estimate rotor position and/or motion data based on Volts per frequency (e.g., Volts per Hertz), or other open-loop control techniques in accordance with a second mode, or based on current-frequency (IF) control mode. Alternately, in the first speed range, the position and speed estimator <NUM>, motion estimator, speed estimator or mode controller <NUM> could control current or voltage injection into the windings to facilitate back electromotive force estimations at lower rotor speeds. In the second speed range, the position and speed estimator <NUM> motion estimator, speed estimator, or mode controller <NUM> may estimate rotor position and/or motion data based on the back electromotive force (EMF) in accordance with a first mode that is compatible with precise field-oriented control (FOC), such as space-vector-pulse-width-modulation (SVPWM) of the motor torque, position and motion.

In one configuration, a sensor (e.g., a sensing circuit in the position and speed estimator <NUM>) is configured to sense current, volage or both of one or more output phases of an inverter. In one embodiment, the sensor (e.g., sensing circuit) or measurement interface <NUM> comprises a current sensor or voltage sensor combined with a voltage-to-current converter (e.g., unity gain voltage-to-current amplifier). The sensed current is associated with or indicative of back electromotive force of the machine; further, an analog-to-digital converter can convert one or more measured or observed current phase outputs into digital signals for processing by one or more electronic data processors <NUM>.

In the digital domain, a converter or electronic data processor <NUM> can convert the digital sensed current into current vectors associated with a stationary reference frame. The converter may receive three phase current inputs or inputs in the d-q axis reference frame for the conversion into the stationary reference frame.

In the position and speed estimator <NUM> or by the electronic data processor <NUM>, the digital converted, sensed current vectors are used in a current model to estimate back EMF vectors. As indicated above, a state evaluator, or one or more observers are adapted to determine whether the machine is operating within a first speed range or a second speed range, where the second speed range is greater than the first speed range.

In the second speed range of the rotor, back-EMF amplitude in a permanent magnet synchronous machine (PMSM) or motor is proportional to the rotor speed; hence, there is a constraint on the low speed limit in which back-EMF tracking can estimate an accurate rotor position. A back-EMF tracking module can estimate the rotor position in a second speed range (e.g., from medium to high speed operation).

Volts per frequency control mode, such as V/Hz (Volts/Hertz) control mode or current-frequency control mode, can be used to control the rotor velocity machine within a first speed range, such as at startup of the motor from zero speed to a first speed threshold. In practice, the first speed threshold may be set to an upper limit of first speed range or lower speed range.

Field-oriented control mode (e.g., space-vector-pulse-width-modulation (SVPWM) control mode or field-weakening region control) can be used to control the rotor velocity machine within a second range that is greater in rotor velocity that the first range. The second range has a second speed threshold that may be set to a lower limit of the second speed range. The second speed range may encompass a medium-speed range or a high-speed range. V/Hz does not require position and speed feedback to operate and is compatible with control of the permanent magnet machines or other non-reluctance machines. However, V/Hz control is limited because it is an open-loop control method.

In an alternate embodiment, V/Hz mode can be used to control the rotor velocity of the machine when the back-electromotive feedback speed (BMEF) is not available to has quality (e.g., observed signal-to-noise ratio) that falls below a quality threshold (e.g., minimum signal to noise ratio).

V/Hz control avoids variation in the magnetic field strength by varying the applied voltage with a corresponding frequency to maintain a V/Hz ratio that is generally constant or within a certain range. For example, or each target rotor velocity, the V/Hz control can be represented as a quadratic function of rotor velocity and torque. In some applications, the torque at startup is associated with maximum loading capability.

In <FIG>, the electronic data processing system <NUM> comprises an electronic data processor <NUM>, a data bus <NUM>, a data storage device <NUM>, and one or more data ports (<NUM>, <NUM>, <NUM>, and <NUM>). The data processor <NUM>, the data storage device <NUM> and one or more data ports are coupled to the data bus <NUM> to support communications of data between or among the data processor <NUM>, the data storage device <NUM> and one or more data ports (<NUM>, <NUM>, <NUM>, and <NUM>).

In one embodiment, the data processor <NUM> may comprise one or more of the following electronic components: an electronic data processor, a microprocessor, a microcontroller, a programmable logic array, a field programmable gate array (FPGA), a logic circuit, an arithmetic logic unit, an application specific integrated circuit, a digital signal processor (DSP), a proportional-integral-derivative (PID) controller, or another data processing device. The above electronic components may be interconnected via one or more data buses, parallel data buses, serial data buses, or any combination of parallel and serial data buses, for example.

The data storage device <NUM> may comprise any magnetic, electronic, or optical device for storing data. For example, the data storage device <NUM> may comprise an electronic data storage device, an electronic memory, non-volatile electronic random-access memory, one or more electronic data registers, data latches, a magnetic disc drive, a hard disc drive, an optical disc drive, or the like.

As shown in <FIG>, the data ports comprise a first data port <NUM>, a second data port <NUM>, a third data port <NUM>, and a fourth data port <NUM>, although any suitable number of data ports may be used. Each data port may comprise a transceiver and buffer memory, for example. In one embodiment, each data port may comprise any serial or parallel input/output port.

In one embodiment as illustrated in <FIG>, the first data port <NUM> is coupled to the data bus <NUM>. In turn, the data bus <NUM> is coupled to the controller <NUM>, directly or indirectly via the vehicle data bus <NUM>. In one configuration, the second data port <NUM> may be coupled to the inverter switching circuit <NUM>; the third data port <NUM> may be coupled to the measurement interface <NUM> (e.g., voltage sensor); and the fourth data port <NUM> may be coupled to the transducers <NUM> or inverter phase alternating current (AC) terminals (180a, 180b, and 180c).

In one embodiment of the data processing system <NUM>, the torque command generation module <NUM> and/or controller <NUM> (e.g., CVCR <NUM> or current regulator <NUM>), is associated with, or supported by, the first data port <NUM> of the electronic data processing system <NUM>. The first data port <NUM> may be coupled to a vehicle data bus <NUM>, such as a controller <NUM> area network (CAN) data bus. The vehicle data bus <NUM> may provide data bus messages with torque commands to the torque command generation module <NUM> via the first data port <NUM>. The operator of a vehicle may generate the torque commands via a user interface, such as a throttle, a pedal, a controller, or other control device.

In certain embodiments, the measurement interface <NUM> (e.g., voltage sensor) and the position and speed estimator114 may be associated with or supported by a third data port <NUM> of the data processing system <NUM>.

In one embodiment, a first transformation module <NUM> (e.g., abc-current-axis to dq-current-axis converter) or electronic data processor <NUM> is adapted to convert the sensed current at one or more terminals (e.g., alternating current phase terminals, such as 180a, 180b and 180c) of electric machine <NUM> into current vectors associated with a stationary reference frame, such as a d-q axis stationary or rotating reference frame.

A position and speed estimator <NUM> or current regulator <NUM> is configured to estimate back-EMF vectors from the converted current vectors, such as the observed direct-axis current and the observed quadrature-axis current (e.g., of a d-q axis stationary reference frame). In the second speed range or second mode of the electric machine <NUM>, back-EMF amplitude in the electric machine <NUM> (e.g., a permanent magnet synchronous machine (PMSM) or motor) is proportional to the rotor speed; hence, there is a constraint on the low-speed limit in which back-EMF tracking can estimate an accurate rotor position. A back-EMF tracking module (e.g., within the position and speed estimator <NUM> and/or current regulator <NUM>) can estimate the rotor position in a second speed range (e.g., from medium to high speed operation) in the respective second mode of operation of the inverter and electric machine <NUM>.

In contrast, volts per frequency control mode, such as V/Hz (Volts/Hertz) control mode, or current control mode, can be used to control the rotor velocity of the electric machine <NUM> in a first mode within a respective first speed range, such as at startup of the electric machine <NUM> from a zero rotor speed to a first speed threshold or first rotor speed threshold. In practice, the first speed threshold may be set to an upper limit of first speed range or lower speed range of the rotor of the electric machine <NUM>.

The second range has a second speed threshold or second rotor speed threshold that may be set to a lower limit of the second speed range. The second speed range may encompass a medium-speed range or a high-speed range of the rotor of the electric machine <NUM>. V/Hz does not require position and speed feedback to operate and is compatible with control of the permanent magnet machines or other non-reluctance machines. However, V/Hz control is limited because it is generally applied as an open-loop control method.

In an alternate embodiment, regardless of the rotor speed for any given sampling interval of the position and speed estimator <NUM>, the V/Hz mode or current-frequency mode can be used to control the rotor velocity of the machine when the back-electromotive feedback speed (BMEF) is not available to has quality (e.g., observed signal-to-noise ratio) that falls below a quality threshold (e.g., minimum signal to noise ratio).

For the first speed range of the rotor or in accordance with the first mode, the position/motion estimator or position and speed estimator <NUM> can estimate the position and motion of the rotor of the electric machine <NUM> in accordance with the applicable V/Hz control equations or current-frequency (IF) equations. For example, for the first speed range of the rotor or in accordance with the first mode, the position/motion estimator or the can estimate the position and motion of the rotor in accordance with the following V/Hz control equations: <MAT> where Vq is the quadrature-axis voltage, Vd is the direct axis voltage, ω is electrical rotor speed in radians/second, λm is the flux linkage of the permanent magnets of the machine.

The electric machine d-q voltage equations can be written as: <MAT> <MAT> and <MAT> where Vq is the quadrature-axis voltage, Iq is the quadrature-axis current, V<NUM> is the direct axis voltage, Id is the direct-axis current, R or rs is the resistance of a phase of the stator windings, ω is electrical rotor speed (e.g., in radians/second), Ls is the inductance of the stator, λm or λpm is the flux linkage of the permanent magnets in the electric machine <NUM>.

The above equation can be limited to real solutions and re-written as a quadratic function as follows: <MAT> where ω is electrical rotor speed (e.g., in radians/second), Ls is the machine inductance, R is the resistance of one phase of the stator windings, iq is the quadrature-axis current, λpm is the flux linkage of the permanent magnets of the electrical machine.

In terms of torque, or replacing quadrature-axis current (Iq) with commanded torque (Te) in the equation above: <MAT>, where kt is sampling time interval.

<FIG> discloses one embodiment of a flow chart for controlling an electric machine <NUM>. The method of <FIG> begins in step S300.

In step S300, a data processor <NUM> or estimator, such as the position and speed estimator <NUM>, estimates a rotor speed of an electric machine <NUM> (e.g., electric motor) to determine whether to control the inverter to operate the electric machine <NUM> a first mode or a second mode. Further, the first mode comprises a current-frequency (IF) control mode (or, alternately, a V/Hz control mode) and the second mode comprises a back electromagnetic force mode (back EMF).

In step S302, an electronic data processor <NUM>, current regulator <NUM>, or first current controller <NUM> determines a first current command associated with the first mode of operating the electric machine <NUM> if the estimated rotor speed is less than a speed threshold.

In step S304, an electronic data processor <NUM>, a current regulator <NUM>, or a second current controller <NUM> determines a second current command associated with the second mode of operating the electric machine <NUM> if the estimated rotor speed is equal to or greater than the speed threshold.

In one illustrative embodiment, a data processor <NUM> or current regulator <NUM> (or its mode selector <NUM>) determines or selects a first current command (e.g., of a respective first current controller <NUM>) associated with the first mode of operating the electric machine <NUM> and a second current command (e.g., of a respective second current controller <NUM>) associated with the second mode of operating the electric machine <NUM>, while: (a) applying the first current command to the (alternating current) terminals of electric machine <NUM> if the estimated rotor speed is less than the speed threshold, or (b) applying the second current command to the (alternating current) terminals of the electric machine <NUM> if the estimator rotor speed is equal to or greater than the speed threshold.

Steps S305a and S305b are optional steps, methods or procedures, where the optional nature of the steps, methods or procedure is indicated by the dashed lines. Optional steps S305a and S305b are described later in this document.

In step S306, the electronic data processor <NUM> or a limiter <NUM> limits or manages an instantaneous change in the commanded voltage (or commanded current) applied to the electric machine <NUM> during a transition between the first mode and the second mode.

Step S306 may be carried out in accordance with various techniques which may be applied separately or cumulatively.

Under a first technique, during a startup or acceleration of the rotor from a rest state to operating a first mode, the transition (e.g., accelerating or escalating/increasing speed transition) from the first mode to the second mode can be made to limit or manage an instantaneous change in the in the commanded voltage (or commanded current) applied to the electric machine <NUM> during a transition between the first mode and the second mode. For instance, the rotor speed initially progresses from a rest state to a rotor speed within the first mode or corresponding first speed range, where during or after the accelerating transition the rotor speed increases or escalates from the first mode to the second mode (or corresponding second speed range).

Under a second technique, during steady state operation of the rotor in a second mode, the transition (e.g., decelerating or de-escalating/decreasing speed transition) from the second mode to the first mode, such as stopping or deceleration of the rotor of the electric machine <NUM>, can be made to limit or manage an instantaneous change in the in the commanded voltage (or commanded current) applied to the electric machine <NUM> during a transition between the first mode and the second mode. For instance, the rotor speed initially progresses from a steady state of operation of the rotor speed within the second mode or corresponding second speed range, where during or after a decelerating transition the rotor speed decreases or deescalates from the second mode to the first mode (or corresponding first speed range).

Under a third technique, during a steady state operation of the rotor in the second mode, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> is configured to generate a first commanded quadrature-axis current. During a slowing or braking of rotation of the rotor from a rotating state in the second mode, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> is configured to generate a second commanded quadrature-axis current that is lower than the first commanded quadrature-axis current. After attaining the speed threshold, during slowing or braking of rotation of the rotor from the rotating state in the first mode, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> is configured to generate a third commanded quadrature axis current that approaches zero prior to grounding one or more windings of the electric machine <NUM>.

Under a fourth technique, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> is configured to generate a maximum value of the second commanded quadrature axis current and the third quadrature axis current that is negative (e.g., to maximize braking or deceleration of the rotor of the electric machine <NUM>).

Under a fifth technique, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> is configured to adjust or reset a controller <NUM> or regulator such that a last (exit) commanded direct-axis current (id*) and a last (exit) commanded quadrature-axis current (iq*) in the second mode is aligned to match an initial (entry) commanded direct-axis current and initial (entry) commanded quadrature-axis current in the first mode during a stopping where a decreasing rotational speed of the rotor changes to be less than the speed threshold for a transition between the first mode and the second mode.

Further techniques for executing step S306 are explained below, such further techniques can be applied alternately or cumulative with the above five techniques:.

In the V/Hz control mode (or the IF control mode), for a fixed speed operating point and known load state, θdiff or θL, Vd*, Vq* can be calculated with a certain corresponding K, consistent with Equations <NUM> and <NUM>, which appear below in this document. If the load state is below a load threshold, then the θdiff or θL is approximately zero, the transition between the first mode (e.g., V/Hz mode or IF mode) and the second mode (e.g., BEMF mode) with accompanying field-oriented control (FOC), such as space vector pulse-width modulation (SVPWM) control, is simplified for aligning shaft position for the transition between the first mode and the second mode. For example, field-oriented control (FOC) determines a commanded magnetic flux component (Id* or Vd*) for the electric machine <NUM> and a commanded torque (Iq* or Vq*) component for the electric machine <NUM> based on estimated rotor speed and corresponding commanded torque, which may be stored in one or more reference look-up tables (e.g., <NUM>, <NUM>). The transition between the V/Hz control mode (of IF mode) and BEMF with accompanying FOC may be regarded as a shaft-alignment state, which can consider position alignment, speed alignment and torque alignment, among other things. FOC can use the direct-axis current vector to define magnetic flux (e.g., induced or established via the stator windings) of the electric machine <NUM> and the quadrature-axis current vector to define torque. In one embodiment, the first current controller <NUM> comprises an IF control module or an V/Hz control module; the second current controller <NUM> comprises a BEMF module with accompanying FOC; the first current controller <NUM> and the second current controller <NUM> are configured to cooperate with the FOC control module to achieve a smooth transition between V/Hz control or IF control and FOC (e.g., SVPWM control).

Volts per frequency (V/F) control mode, such V/Hz control mode, or an IF mode can be used to start up the machine (e.g., electric machine <NUM> (e.g., motor)) from zero speed of the rotor and once the rotor speed reaches a set threshold it can be configured to automatically transition from the position sensorless field oriented control, subject to the applicable control logic and/or software instructions of the associated data processing system. In the V/F control mode, the data processing system controls the rotor speed of a rotor based on a constant voltage/frequency ratio or a range of voltage/frequency ratio to maintain efficient operation of the electric machine <NUM> (e.g., motor).

For example, the limiter <NUM> further comprises an electronic data processor <NUM> that is configured to adjust or reset such that an initial (entry) commanded direct-axis current (id*) and an initial (entry) commanded quadrature-axis current (iq*) in the second mode are aligned to match a final (exit) commanded direct-axis current and final (exit) commanded quadrature-axis current in the first mode during a start-up where an increasing rotational speed of the rotor changes to exceed the speed threshold for a transition between the first mode and the second mode.

At the mode transition instant (e.g., in the startup process or shutdown process), the essential goal is to avoid large instantaneous change of the stator-frame voltage commands (vabc*) applied to the alternating current (AC) terminals of the electric machine <NUM>, which otherwise would tend to cause overcurrent fault. For the startup process or acceleration of the rotor, the proposed smooth transition can be achieved through the following three steps:.

The above transition process between the first mode and the second mode may be complemented by one or more of the following examples, which may be applied separately or cumulatively.

Under a first example, in the first mode to second mode (e.g., the IF-BEMF mode) transition, in the position and speed estimator <NUM> or following the position and speed estimator <NUM> prior to application of the position of the angular position to the first transformation module <NUM>, a low-pass filter is used to smoothen the position change at the mode transition instant. Although the first example decreases the possibility of the overcurrent fault, it can remain vulnerable to cause the overcurrent fault, unless it also addresses or limits the change of the speed feedback and the current command at the mode transition instant.

Under a second example, the current regulator <NUM> or in the limiter <NUM> controls or limits the commanded quadrature-axis current, iq*, to gradually decrease to a small value before the mode transition between the first mode and the second mode to avoid a potential overcurrent fault. However, the gradual decrease in the commanded quadrature-axis current may be too slow for certain practical or dynamic operating conditions for electric machines <NUM> (e.g., starter motor for an internal combustion engine).

In a third example, the torque controller <NUM> is configured to dynamically change the rotating speed of the current vector command, which may help to increase the robustness of the sensorless startup. Further, voltage sensors of the alternating current terminals (180a, 180b, 180c) of the electric machine <NUM> may be used to provide additional observed voltages for control of the inverter switching circuit <NUM>, where the position and speed estimator <NUM> may be replaced by a position, speed, and torque estimation module that provides observed position, <MAT> observed speed, ω̂r; and observed torque to the torque controller <NUM>.

In a fourth example, torque regulation is applied to increase the IF control efficiency by adjusting the magnitude of commanded quadrature-axis current (iq*) through the torque regulation.

During the stop or shut-down process from the second mode (e.g., BEMF mode or FOC BEMF mode) to the first mode (e.g., IF mode or V/Hz mode), the electronic data processor <NUM> may be configured to enable/disable regeneration braking operation, where the default is to enable regenerative braking operation. The position and speed estimator <NUM> estimates the rotor speed (e.g., electrical rotor speed and/or mechanical rotor speed) to determine when the estimated speed is lower than the preset speed threshold of the rotor for the transition from the second mode to the first mode (V/Hz or current-frequency mode (IF)). In the mode transition instant or during a transition period (e.g., of one or more sampling intervals), the electronic data processor <NUM> or data processing system <NUM> limits, reduces or constrains the instantaneous change of the commanded voltages (V*abc) to the inverter, via the current regulator <NUM> and the PWM generation module <NUM>. For example, in the mode transition instant or period, the electronic data processor <NUM>, data processing system <NUM>, co current regulator <NUM>, or adjustment module <NUM> limits, reduces or constrains the instantaneous change of the commanded voltages (V*abc) to the inverter to be less than or equal to a maximum instantaneous change of the commanded voltages (V*abc).

In one embodiment, the electronic data processor <NUM>, current regulator <NUM> or limiter <NUM> is configured to limit of the instantaneous change or maximum instantaneous change during the stopping of the rotor or shutdown of the electric machine <NUM> (e.g., approaching a stop or zero rotor mechanical rotational speed). For example, to limit of the instantaneous change or maximum instantaneous change during the stopping of the rotor or shutdown of the electric machine <NUM> (e.g., approaching a stop or zero rotor mechanical rotational speed): (<NUM>) the electronic data processor <NUM> or the data processing system <NUM> is configured to reset or adjust the first (initial or entry) speed and position commands (which are used as the feedback signals in the IF mode) in the IF mode to have the same values as the last (final or exit) estimated speed and estimated position in the BEMF mode (e.g., BEMF with FOC); (<NUM>) the electronic data processor <NUM> and the data processing system <NUM> is configured to set the current commands in the IF mode to have the same values of the last (exit or final) current commands in the BEMF mode for a configurable duration before the electronic data processor <NUM> or the data processing system <NUM> is configured to decrease the current commands to zero.

During stopping of the rotor or shutdown of the electric motor, the electronic data processor <NUM> or the data processing system <NUM> can create an extra duration to extend potentially the braking torque in the IF mode to decelerate the motor more quickly (than otherwise possible) by limiting the instantaneous change or maximum instantaneous change during the stopping of the rotor or shutdown of the electric machine <NUM> (e.g., approaching a stop or zero rotor mechanical rotational speed). In one configuration, once the slewed speed command in the IF mode reaches or zero, as the final stage of the stopping process or shut down process, the electronic data processor <NUM> or the data processing system <NUM> activates one or more switches to ground the three phase terminals or alternating current terminals, which can ground the stator windings, of the electric machine <NUM>. The grounded stator windings of a three-phase, synchronous, permanent magnet electric machine <NUM> are sometimes referred to as the three-phase short feature. For instance, the method and system of this disclosure can use the above three-phase short feature to hold or maintain (or to transition quickly to) a fixed or stationary position (e.g., on-demand, stalled position) of the rotor of the electric machine <NUM>.

The overall sensorless deceleration/stopping scheme is well-suited to sue the available synchronous permanent magnet (SPM) braking torque to decelerate rapidly, while maintaining the ability to smoothly transition between modes and to avoid the overcurrent fault. The robust and fast stop is desirable for mowing applications, among other agricultural, forestry, construction and industrial applications. The system and method described in this document can achieve one-step transition between the first mode and the second mode (e.g., BEMF mode to the IF mode) to avoid overcurrent fault and to avoid or to reduce transient current at the mode transition instant in the stop process.

The method of <FIG> is similar to the method of <FIG>, except the method of <FIG> replaces step S306 with step S308. Like reference numbers in <FIG> and <FIG>, or in any set of drawings, indicate like elements.

In step S308, an electronic data processor <NUM> or a limiter <NUM> limits the instantaneous change in the commanded voltage applied to the electric machine <NUM> during a transition between the first mode and the second mode by adjusting an electronic data processor <NUM>, speed regulator <NUM>, or current regulator <NUM> such that an initial commanded direct-axis current and an initial quadrature axis current in the second mode (e.g., BEMF mode) is aligned to match (e.g., or to substantially equal or to substantially equal less a target tolerance/variance) a final commanded direct-axis current and final commanded quadrature-axis current in the first mode (e.g., IF mode).

Step S308 may be carried out by the electronic data processor <NUM>, controller <NUM> or current regulator <NUM> in accordance with various techniques, which may be applied separately or cumulatively. Under a first technique, the electronic data processor <NUM>, the controller <NUM> or regulator adjusts or resets the commanded current such that an initial (entry) commanded direct-axis current (id*) and an initial (entry) commanded quadrature-axis current (iq*) in the second mode is aligned to match a final (exit) commanded direct-axis current and final (exit) commanded quadrature-axis current in the first mode during a start-up where an increasing rotational speed of the rotor changes to exceed the speed threshold for a transition between the first mode and the second mode.

Under a second technique, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> determines the final commanded direct-axis current (iq_IF2*) and final commended quadrature-axis current (iq_IF2*) in the first mode (IF mode) with respect to the following equations: <MAT> <MAT> <MAT> where <MAT> (θL_hat) is the average angular position difference between the true angular position of the rotor of the electric machine <NUM> or an average observed angular position <MAT> (θe_hat) and the commanded angular position <MAT> of the rotor of the electric machine <NUM>; id_IF1* is the commanded direct-axis current in the commanded d-q-axes-reference frame, iqIF1*, is the commanded quadrature-axis current in the commanded d-q-axes-reference frame; id_IF2*is the commanded direct axis current in the estimated d-q-axes-hat reference frame that represents average commanded direct axis current, and; id_IF2* is the commanded direct axis current in the estimated d-q-axes-hat reference frame that represents average commanded direct axis current, and Iq_RampUp is the quadrature axis component of the ramp-up current for the first mode.

Under a third technique, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> limits of the instantaneous change according to the following: First, the position and speed estimator <NUM>, or a position observer separate from or integral with the position and speed estimator <NUM>, estimates, an electrical angle of the rotor based on the last (exit) electrical angular position (θe_hat) in the first mode (IF mode) as the first (entry or initial) position feedback (as proxy or substitute for observed electrical angle; second, the electronic data processor <NUM>, or the data processing system <NUM> or first transform module <NUM> is configured to: (a) apply an observed electrical angle of the rotor to the first transform (e.g., Park transform) to set an initial quadrature axis current (iq) feedback and direct-axis current (id) feedback in the second mode (BEMF mode), and/or (b) to provide set an initial quadrature axis current (iq) feedback and direct-axis current (id) feedback in the second mode (BEMF mode) based on an observed electrical angle of the rotor inputted to first transform module <NUM>.

Under a fourth technique, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> limits of the instantaneous change according to the following: First, electronic data processor <NUM>, the current regulator <NUM> or a limiter <NUM> is configured to limit a slew rate of the commanded current (d-q axes currents) in the first mode and second mode based on a speed feedback (e.g., estimated electrical speed of rotor) used in complex vector current regulator (CVCR) <NUM>; second, a second limiter (e.g., incorporated in the position and speed estimator <NUM>, the first transform module <NUM>, or the second transform module <NUM>) is configured to limit a change in position feedback used for a second transform from a commanded d-q axes voltage reference frame to a commanded three-phase voltage reference frame (vabc*).

Under a fifth technique, during start-up of rotation of the rotor from a stationary state or rest in the first mode, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> generate an alignment quadrature-axis current for an alignment time; second, after the alignment time, in a ramp-up time in the first mode, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> generates a ramp-up quadrature-axis current until the speed threshold, of the rotor of the electric machine <NUM>, is attained.

Under a sixth technique, during the ramp-up time having a first slew rate that is less than a second slew rate, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> applies the first slew rate if the commanded rotor electrical speed is less than a low speed threshold.

Under a seventh technique, during the ramp-up time having a first slew rate that is less than a second slew rate, the electronic data processor <NUM>, the controller <NUM> or the current regulator <NUM> applies the second slew rate, which is associated with the second mode or commanded rotor electrical speed in the first mode, if the commanded rotor electric speed that is greater than or equal to the low speed threshold.

The method of <FIG> is similar to the method of <FIG>, except the method of <FIG> replaces step S306 with step S310. Like reference numbers in <FIG> and <FIG>, or in any set of drawings, indicate like elements.

In step S310, an electronic data processor <NUM> or a limiter <NUM> limits the instantaneous change in the commanded voltage applied to the electric machine <NUM> during a transition between the first mode and the second mode by estimating, by a position observer or a position and speed estimator <NUM>, an electrical angle of the rotor based on the last (average electrical) angular position in the first mode (IF mode) as the first position feedback and by applying the electrical angle of the rotor to a transform (e.g., an ia, ib, ic reference-frame to Id, Iq reference frame transform) to set an initial Iq and Id (feedback) in the second mode (BEMF mode or BEMF mode with FOC).

The method of <FIG> is similar to the method of <FIG>, except the method of <FIG> replaces step S306 with step S312. Like reference numbers in <FIG> and <FIG>, or in any set of drawings, indicate like elements.

In step S312, an electronic data processor <NUM> or a limiter <NUM> limits the instantaneous change in the commanded voltage applied to the electric machine <NUM> during a transition between the first mode and the second mode by limiting or adjusting a slew rate of the commanded current (commanded direct axis current, commanded quadrature axis current) in the first mode and the second mode to a speed feedback (e.g., estimate electric angle versus time) used in a complete vector current regulator (CVCR) <NUM> and by limiting a change in position feedback used for transformation from a commanded d-q axes voltage reference frame (e.g., VDQ* or vd* and vq*) to a commanded three-phase voltage reference frame (e.g., VABC* or va*, vb* and vc*).

In one configuration, the electric machine <NUM> may comprise synchronous permanent magnet (SPM) electric machine <NUM>. During the start-up process for the rotor of the electric machine <NUM>, the first mode (e.g., voltage per frequency (V/f) control mode or a current-frequency control (IF) mode) first aligns the rotor magnetic pole to a stationary current vector or non-rotating current vector. As used throughout this document, a current control mode may represent a frequency-dependent current control mode or current-frequency (IF) control. After attaining acceptable alignment between the rotor and the stationary current vector, the electronic data processor <NUM> or current regulator <NUM> determines a rotational current vector by commanding the magnitude and the speed of the current vector, respectively. For example, current magnitude can be set to be close to a target current, such as the current limit, while the speed is linearly increasing using the designed slew rate depending on a number of factors including the torque capability of the electric machine <NUM>, system inertia, damping, load profile, among other possible factors.

Meanwhile, even during the start-up process, while the electric motor is operating in a first mode (e.g., V/Hz of IF mode), to facilitate a potential future transition to a second mode (e.g., BEMF mode or BEMF mode with FOC), the BEMF-based position observer in the position and speed estimator <NUM> is running simultaneously in the background to provide estimated rotor position and speed and/or to support a smooth transition between the first mode and the second mode. For example, while operating in the first mode if, or once, the commanded (V/F or current-frequency (IF) control) mode speed and the estimated speed are both above a preset speed threshold, the sensorless control scheme changes from the first mode (e.g., V/F or current mode) to the second mode (e.g., BEMF mode).

In a first mode (e.g., IF control mode), the electronic data processor <NUM>, the data processing system <NUM>, the current regulator <NUM> or the current vector current regulator <NUM> (CVCR), is configurated to regulate current by creating a rotating current vector (e.g., Id*, Iq*) that drives the rotor to follow a one or more stages in succession. In a first stage or first state of start-up, the electronic data processor <NUM>, the data processing system <NUM>, the current regulator <NUM> or the current vector current regulator (CVCR) <NUM> is configurated to align the commanded quadrature axis with the direct-axis, consistent with <FIG>. In a second stage or second state of start of rotation of the rotor (e.g., startup process), the data processing system <NUM>, the current regulator <NUM> or the current vector current regulator (CVCR) <NUM>, is configurated to select a proper acceleration profile (e.g., a ramp function of rotor position versus time) of the current vector in accordance with the first mode (e.g., IF mode).

In one embodiment, in the first mode (e.g., IF mode), the magnitude and frequency of each current vector can be varied individually or collectively, by IF (current-frequency) control commands, which can be expressed in the d-q axes reference frame. Under IF control, the current regulation loop is generally a closed loop, but the speed regulation loop is generally an open loop. IF control is intended to extend the speed range of the rotor of the electric machine <NUM> for position sensorless operation. Meanwhile, in the second mode (e.g., the BEMF-based sensorless control mode) generally (only) works in medium-to-high speed of the rotor of the electric machine <NUM>. Therefore, the IF control is generally used as an start-up stage or intermediate stage at the low speed and stall condition, when the BEMF-based sensorless control is not applicable.

The sensorless control system and method is well-suited to provide a smooth transition between the first mode (e.g., V/Hz mode or IF mode) and the second mode (e.g., BEMF or BEMF FOC mode), which otherwise would cause slow dynamics and/or overcurrent fault at the mode transition instants. Further, the sensorless control system and method comprise a responsive startup process, a responsive stop process, or both that can achieve the above smooth mode transition with potentially fast (e.g., real-time) dynamics for startup and stop process of the SPM position sensorless control in the context of a vehicle or off-road work vehicle that is suitable for agricultural, construction, forestry, or road repair or maintenance tasks (e.g., mowing).

<FIG> illustrates the startup process of the electric machine <NUM>, such as startup process from stopped rotor or rotor at rest that accelerates within a first mode (e.g., IF mode) and/or from a first mode to a second mode (e.g., BEMF mode with field oriented control (FOC)) at transition time (e.g., instant or time period comprising one or more sampling intervals) or third time <NUM> associated with speed threshold <NUM>. <FIG> includes an upper graph <NUM> of commanded quadrature-axis current <NUM> (e.g., iq*) versus time and a lower graph <NUM> of commanded electrical rotor speed <NUM> (e.g., ωe*) versus time for a common time scale <NUM> for the upper graph <NUM> and lower graph <NUM>.

The first mode (e.g., IF startup mode) has multiple possible stages or states: (<NUM>) first state or alignment stage for a corresponding alignment time <NUM> between a first time <NUM> and a second time <NUM>, (<NUM>) second state or ramp-up stage, which may occur during a ramp up time <NUM>, between the second time <NUM> and a fourth time <NUM> and (<NUM>) third state or switching stage. In the third state, the data processing system <NUM> switches the from the first mode (e.g., IF or V/Hz) to the second mode (e.g., BEMF-based sensorless control). In one configuration, <FIG> illustrates the commanded current <NUM> (iq*) and the commanded electrical rotor speed <NUM>, or its change, in the IF mode at startup before transitioning (e.g., time <NUM>) to the BEMF mode over time <NUM>. For example, in the upper graph <NUM> of <FIG>, some parameters describe the characteristics of the change of commanded quadrature current <NUM>, iq* in magnitude and frequency during the startup.

In the first state or alignment stage during the alignment time <NUM> that is illustrated in <FIG>, the electronic data processor <NUM> or current regulator <NUM> generates a commanded quadrature-axis current <NUM> set to an alignment quadrature axis current <NUM> (e.g., IAlign), iq*, where iq* = IAlign, id* = <NUM>, ωe* = <NUM>; where the commanded rotor position of the electric machine <NUM> is equal to zero degrees (e.g., θ* = <NUM>). Basically, the IAlign (<NUM>) refers to a fixed or non-rotating alignment current vector and the rotor of the electric machine <NUM> will eventually align with the fixed or non-rotating alignment current vector. For example, the fixed or non-rotating alignment current vector may be associated with a stationary stator magnetic field (or a respective rotor-stator magnetic pole pair), although it is possible to align with a rotating alignment current vector associated with the stator magnetic field.

<FIG> is a graph of the rotating d-q axis frame in which the commanded quadrature-axis current <NUM> (iq*) of the rotor of the electric machine <NUM> is aligned with the commanded quadrature-axis (current) <NUM> and the direct-axis <NUM> (current) of the d-q axis reference frame (e.g., stationary or nonrotating d-q reference frame of a stator of the electric machine <NUM>) for the alignment stage of <FIG>. Because the observed or true d-axis <NUM> (e.g., reference stator d-axis axis) of an electric machine <NUM> (e.g., synchronous permanent magnet machine (SPM)) is defined to be along an illustrative rotor magnet north pole direction <NUM>, once the rotor is aligned with the commanded q*-axis <NUM>, the commanded dq*reference frame (<NUM>, <NUM>) is <NUM> electrical degrees behind the true dq- reference frame, which is represented by the q-axis <NUM> and the d-axis <NUM>, as shown in <FIG>. Here, the electronic data processor <NUM> or current regulator <NUM> aligns the rotor of the electric machine <NUM> with the commanded alignment current vector (e.g., IAlign ) while the implementation of the current vector is arbitrary and could be achieved in many other ways than the one implemented in <FIG> and <FIG>. For example, in an alternative embodiment, the electronic data <NUM> processor or current regulator <NUM> could command iq* = <NUM>, id* = IAlign, ωe* = <NUM> and let rotor align with id*, as long as such alignment is known and tracked throughout the control process.

In one configuration, the commanded alignment current vector, IAlign, is usually set to be to a maximum current based on an inverter phase maximum output current rating or based on the maximum output current of the power inverter switching circuit <NUM> (e.g., power transistor or power switching transistor module of the inverter) the to achieve fast alignment or the rotor of the electric machine <NUM> to the direct-axis of the electric machine <NUM>.

In some configurations, the current regulator <NUM> may comprise a slew limiter <NUM> to facilitate application of commanded quadrature axis current (iq*) at the beginning of the startup during the ramp up time <NUM> as shown in <FIG>. As illustrated, the electronic data processor <NUM>, current regulator <NUM> or electronic data processing system <NUM> provides a low speed ramp-up slew <NUM> during low-speed ramp up time <NUM> to limit the commanded electrical rotor speed; the electronic data processor <NUM>, current regulator <NUM> or electronic data processing system <NUM> provides a high speed ramp-up slew <NUM> during high-speed ramp up time <NUM> to limit the commanded electrical rotor speed.

One or more slew limiters, such as the slew limiter <NUM>, can help to achieve good alignment sooner in the certain applications, such as agricultural, lawn care, mowing, construction or forestry applications, road maintenance and repair, or when a blade is connected to the rotor shaft of the electric motor. Without the limiter <NUM> (e.g., slew limiter), the current regulator <NUM> could potentially generate a transient change or an abrupt change commanded quadrature axis current (e.g., delta iq* ) could make the rotor (with the blade) oscillate around the alignment position, where the oscillation diminishes or damps out during a damping interval (e.g., in a few seconds).

<FIG> shows a d-q coordinate system for a permanent magnet synchronous machine (PMSM) where the rotor d-q reference frame is illustrated with respect to the d-q reference frame, such as stator reference frame or a true or real reference d-q frame. <FIG> illustrates a rotor with two or more magnetic poles (<NUM>, <NUM>) secured to the rotor, where N indicates a North pole <NUM> and S indicates a South pole <NUM>. In one example, the commanded rotor quadrature-axis current <NUM> (e.g., iq* ) rotates with respect to the corresponding (stationary or observed) stator direct-axis current <NUM>, where the rotor position of the commanded rotor quadrature-axis current <NUM> is offset by an angular position of approximately <NUM> degrees (e.g., negative <NUM> degrees) from the stator quadrature-axis current <NUM>. The commanded rotor quadrature-axis current <NUM> (iq*) is generally orthogonal to the commanded rotor direct-axis current <NUM>; hence to the commanded rotor direct-axis current (id*) (not shown) has the same offset of angular position of approximately <NUM> degrees (e.g., negative <NUM> degrees) with respect to the stator-direct axis. Likewise, the stator quadrature-axis current (iq) is generally orthogonal to the stator direct axis current <NUM> (id).

<FIG> illustrates commanded dq*-frame and reference (real or true) dq-frame at alignment. Proper alignment is critical for IF startup to operate at a self-stable state <NUM> (e.g., stable equilibrium or self-stable operating state), rather than a self-unstable operating state <NUM> (unstable equilibrium), as shown in <FIG>. In <FIG>, the projection of iq* on the true q-axis gives the true electromagnetic torque produced by the electric machine <NUM>. Assume the angular offset or position difference between the dq-reference frame and dq*- reference frame is θL. Thus, <MAT> <MAT> where:.

Throughout the document, the following definitions apply:.

<FIG> is an illustrative example of a self-stable commanded current vector in a first graph <NUM> of rotating d-q reference frame and a self-unable commanded current vector in a second graph <NUM> of a rotating d-q reference frame. For the rotating d-q reference frame in the first graph <NUM>, the q-axis <NUM> is perpendicular to the d-axis <NUM>; for the rotating commanded d-q* reference frame, the q*-axis <NUM> is perpendicular to the d*-axis. As illustrated, the commanded q*-axis current, iq*, <NUM> is substantially or generally aligned with the commanded q*-axis current, as described in the alignment stage in this document.

For the rotating d-q reference frame in the second graph <NUM>, the q-axis <NUM> is perpendicular to the d-axis <NUM>; for the rotating commanded d-q* reference frame, the q*-axis <NUM> is perpendicular to the d*-axis. As illustrated, the commanded q*-axis current, iq*, <NUM> is substantially or generally aligned with the commanded q*-axis current, as described in the alignment stage in this document.

In the self-stable state <NUM>, a limited change of load disturbance or speed command can be self-adjusted by the system to stabilize at a new steady-state condition. For example, if both dq-frame and dq*-frame rotate at approximately the same speed (e.g., counter-clockwise) and the two reference frames have an angular position difference of θL1 (<NUM>), where the true (or observed) dq-frame is ahead of the (commanded) dq*-frame by θL1. Then, if a load is added to the rotor of the electric machine <NUM>, the rotor true speed as well as the rotation of the true or observed dq- frame (<NUM>, <NUM>) will slow down, while the dq*-frame (<NUM>, <NUM>) stays the same; therefor, θL will decrease. As a result, Te will increase based on Equation <NUM> and will eventually bring the rotor speed back to the commanded speed again. Finally, the electric machine <NUM> will be stabilized in the self-stable state <NUM>, at the original speed with a smaller θL, such as θL2 , where θL = θL2 < θL1 such that the newly generated torque will balance the increased load.

For the self-unstable state <NUM>, it is self-unstable which means any disturbance to a self-unstable steady-state operating condition will make the control or angular position difference drift away and it will not revert back to a self-stable state <NUM> over time.

The self-stable state or self-stable operating region for positive speed (counter-clockwise) is when θL is between <NUM> to <NUM> degrees. The IF control is most stable at θL = <NUM> degrees and is least stable at θL = <NUM> degree. The IF control stability decreases as θL decreases from <NUM> degrees to <NUM> degree, and the control becomes unstable if θL (<NUM>) becomes negative as illustrated in the second graph <NUM> of <FIG>. Accordingly, the electronic data processor <NUM>, the current regulator <NUM>, and the data processing system <NUM> are configured to determine an alignment current vector that is consistent with the most stable position, or the self-stable state <NUM>, as opposed to the self-unstable state <NUM>.

At ramp-up stage or ramp-up state, as illustrated in <FIG>, the electronic data processor <NUM> or current regulator <NUM> generates the commanded quadrature axis current that is generally equal to the commanded alignment current, consistent with the following Equations <NUM>, <NUM>, and <NUM>: <MAT> <MAT> and <MAT>.

The position feedback used for the control of an electric machine <NUM> is equal to the integral of ωe*. So basically, we command a rotating current vector with constant magnitude and a linearly increasing speed with respect to time. The slew rate of ωe* is Kω*, which may be calculated by the following derivation of Equation <NUM>.

First, the torque and speed relationship can be expressed by the following Equation <NUM>: <MAT>.

In one configuration, the damping and static friction are included in the load torque, TL , to facilitate the derivation of the load torque. Here, J inertia includes both the inertia of the electric machine <NUM> and the inertia from the application, such as the inertia of the blade for a mower. Then, based on the assumption of linear speed command of the IF control in the first mode, the following Equations <NUM> and <NUM> are applicable: <MAT> <MAT> where the above terms are defined above.

After integration of both sides of Equation <NUM> and applying Equation <NUM> for Te, the following Equation <NUM> is obtained: <MAT> where θL_ave and TL_ave are the average values of θL and TL during the integration interval. To the extent that the rotor speed, ωr, closely follows commanded electrical rotor speed, ωe*, and Equation <NUM> is applied in Equation <NUM> to substitute for ωr, resulting Equation <NUM> is as follows: <MAT>.

In one configuration, TL_ave may be replaced by an estimated maximum load level or a previously recorded maximum load level or a historical maximum load for a work task of a corresponding vehicle that incorporates the data processing system, inverter and electric machine <NUM>. With known PP and J of a given electric machine <NUM> as well as an expectation of the largest load value, Kω* is determined by iq* and θL_ave.

As illustrated in the upper graph <NUM> of <FIG>, to achieve fast startup, the command quadrature-axis current <NUM>, iq*, is also usually set to be close to the current limit. For example, the CVCR <NUM>, current regulator <NUM> or data processor <NUM> can set the commanded ramp-up current <NUM> (IRampUP) as follows: IRampUp= IAlign. On the other hand the offset in the angular rotor position, θL_ave (e.g., between the commanded d-q axis and the observed d-q axis or d-qhat axis) can be determined by characterization of the electric machine <NUM> coupled to the data processing system <NUM>, to achieve robust startup. To further help rotor catch up to, align with, or synchronize with the speed of the commanded current vector <NUM> at the beginning of the startup (e.g. rotor may need to get rid of some static friction at stall condition), during a low speed ramp up time period <NUM>, the electronic data processor <NUM> or current regulator <NUM> first applies a low-speed ramp up slew rate <NUM> (or lower-speed ramp up slew rate) of the rotating current vector command or commanded electrical rotor speed <NUM>, as shown on the lower graph <NUM> in <FIG>. The low-speed ramp up slew rate <NUM> is lower than or less than a high speed ramp up slew rate <NUM>. As best illustrated in <FIG>, during a low speed ramp up time period <NUM>, the electronic data processor <NUM> or current regulator <NUM> applies a low speed ramp up slew <NUM> until the commanded electrical speed <NUM> or the rotor exceeds a low speed threshold <NUM> (e.g., speed threshold for transition between the first mode and the second mode). After the low speed ramp up time period <NUM>, or after the commanded electrical speed of the rotor, the electronic data processor <NUM> or current regulator <NUM> applies a high speed ramp up slew <NUM>, which can be applied (e.g., post-transition from the first mode) in the second mode (e.g., BEMF mode with FOC). The third time <NUM> indicates the boundary or transition between the low speed ramp-up time <NUM> and the high-speed ramp-up time <NUM>; may also indicate or demarcate a transition between the first mode and the second mode.

In practice, Equation <NUM> is only used as a qualitative instruction for the initial or preliminary estimation of one or more candidates for Kω*, where further experimental tuning or iterative tests of candidates for Kω* are sometimes or usually needed. In practice, Kω* cannot be solely determined or estimated by Equation <NUM> because: <NUM>) the actual torque load, TL can be less than the maximum torque level for TL (e.g., worst-case torque level for a given work task and configuration of vehicle, data processing system inverter and electric machine <NUM>) used in Equation <NUM>; <NUM>) the assumption that ωr closely follows ωe* is not always true during all sampling intervals or time periods, such as for a transient time period at the very beginning of the startup of the rotor of the electric machine <NUM> from a stationary state, a stopped state or stalled state; <NUM>) making or setting θL > <NUM> does not guarantee stable control, because instantaneous θL could still be < <NUM> that makes control unstable. Nevertheless, Equation <NUM> provides a good starting point that significantly decreases the tuning effort for Kω*.

<FIG> is a block diagram of one embodiment of the current regulator <NUM>. Like reference numbers in any two drawings indicate like features, steps or elements; like reference numbers in <FIG> and <FIG>, collectively, and <FIG> indicate like features or elements.

As illustrated in <FIG>, one embodiment of the current regulator <NUM> comprises a selector (<NUM> or <NUM>), such as command/parameter selector, that is coupled to CVCR <NUM>. In turn the CVCR <NUM> receives input data (e.g., <NUM>) from the first transform module <NUM> and provides output data (e.g., <NUM>) to the second transform module <NUM>. The selector module (<NUM> or <NUM>) receives input data of first mode parameters <NUM> (e.g., IF control parameters), second mode parameters <NUM> (e.g., BEMF control parameters), or both, along with sensorless enable/disable input <NUM>. The selector module (<NUM> or <NUM>) selects or outputs selected control parameters <NUM> among the first mode parameters <NUM> and the second mode parameters <NUM> (e.g., BEMF control parameters) for provision to the CVCR <NUM>.

In one example, the first mode parameters <NUM> (e.g., IF control parameters) comprise one or more of the following: id_IF*, iq_IF*, θe_IF, and θe_IF; the second mode parameters <NUM> (e.g., BEMF control parameters) comprise one or more of the following: id_SL*. iq_SL*, ωe_SL, and θe_SL; the selector outputs one or more of the following output parameters <NUM> for controlling the electric machine <NUM> in the first mode, the second mode or both: id*, iq*, ωe, and θe. Further, the primary output parameters, id*, iq*, ωe, are inputted into the CVCR <NUM>; the secondary output parameter, the electrical angular rotor position, θe is inputted into the first transform module <NUM> (e.g., iabc to i-dq transform), together with observed phase currents (iabc), at the inverter terminals, determine the corresponding observed direct-axis current (id) and the corresponding observed quadrature axis current (iq).

The CVCR <NUM> receives the observed (electric) rotor speed <NUM> of the electric machine <NUM> (ωe), the commanded quadrature-axis current (iq*) <NUM>, the commanded direct-axis current (id*) <NUM>, and the observed current <NUM>, which includes quadrature axis-current (iq), and the observed direct-axis current (id). In particular, the observed quadrature axis current (iq) <NUM>, and the observed direct-axis current (id) <NUM> are provided to the CVCR <NUM> by the first transform module <NUM> based on the secondary output parameter or electrical angular position <NUM>, θe and the observed phase currents <NUM> (iabc) at the inverter alternating current terminals (e.g., 180a, 180b, 180c). The CVCR <NUM> determines or estimates the commanded voltage <NUM>, which includes commanded direct-axis voltage (vd*) and the commanded quadrature-axis voltage (vq*), based on the above received, selected control parameters <NUM> of the electric machine <NUM>, the observed electrical rotor speed <NUM> (ωe,), the commanded quadrature-axis current (iq*) <NUM>, the commanded direct-axis current (id*) <NUM> and the observed quadrature axis current (iq) <NUM>, and the observed direct-axis current (id) <NUM>. The observed quadrature axis current (iq), and the observed direct-axis current (id) may be collectively referred to as the observed currents <NUM>.

Once the rotor speed equals or exceeds a threshold speed, the electronic data processor <NUM>, the mode selector <NUM> or the command/ parameter selector can switch from the first mode (e.g., IF mode) to the second mode (e.g., BEMF mode). An improper (e.g., brutal) mode transition can cause overcurrent fault, such as sending a current or voltage transient pulse to the stator windings of the electric machine <NUM> that can potentially reduce the longevity of the electric machine <NUM> and increase thermal loading on the electric machine <NUM>. To prevent or reduce the possibility of an overcurrent fault, a limiter <NUM>, an electronic data processor <NUM>, or the data processing system <NUM> is configured to prevent, limit or minimize the instantaneous change in the commanded multiphase voltage ( vab*) at the mode transition instant or transition period between the first mode and the second mode in accordance with the following process.

During control of the electric machine <NUM>, as illustrated in <FIG>, the current regulator <NUM> (e.g., CVCR <NUM>) and a second transform module <NUM> collectively determine commanded multiphase alternating current voltages <NUM> (e.g., vabc* ) based on inputs of the observed angular position <NUM> (e.g., θe or θe_ IF for the first mode (e.g., IF mode), and the commanded direct-axis voltage (vd*) <NUM> and the commanded quadrature-axis voltage (vq*) <NUM> from the CVCR <NUM>.

In the first mode (e.g., IF control), the electronic data processor <NUM> or current regulator <NUM> adjusts, sets, or generates the first-mode, commanded quadrature-axis current equal to the ramp-up current and the first-mode commanded direct axis current equal to zero, where the commanded position and speed (e.g., from the position and speed estimator <NUM> in the first mode) are used as the position and speed feedback in accordance with the following equations: <MAT> <MAT> and <MAT> are used as the position and speed feedback.

In the second mode (e.g., BEMF-based sensorless control), the electronic data processor <NUM> or current regulator <NUM> adjusts, sets, or generates the second-mode, commanded quadrature-axis current based on speed regulation, iq_SL*, and the second-mode commanded direct axis current, id_SL*, equal to zero (except for operation in the flux weakening region), where the second- mode, electrical position, θe_sL , and the second-mode speed, ωe_sL, are estimated from respective position and speed observers, such as the position and speed estimator <NUM> operating in the second mode:
Note that even in the first mode (IF mode), the second mode (e.g., BEMF-mode), the position and speed estimator <NUM> comprises BEMF-based position and speed observer that are still running in the background. In other words, θe_SL and ωe_sL, are available in the first mode (e.g., IF mode), except that their values are not accurate at low speed, but they are not used for electric machine <NUM> control until the sensorless control changes to the second mode (e.g., BEMF mode).

To avoid an inappropriate instantaneous change of commanded multi-phase voltage (e.g., <NUM>), vabc* at the mode transition instant or at the mode transition period between the first mode and the second mode, the following process can be applied, where an inappropriate instantaneous change has voltage change that exceeds a threshold or maximum limit:.

For the rotating d-q reference frame in the left graph <NUM>, the qhat-axis <NUM> is perpendicular to the dhat-axis <NUM>; for the rotating commanded d-q* reference frame, the q*-axis <NUM> is perpendicular to the d*-axis <NUM>. In one embodiment, the quat-axis <NUM> and the dhat-axis <NUM> represent average values of the observed q-axis current and observed the d-axis current, respectively, over one or more sampling intervals, and such average values may represent a geometric mean, mode, or median that is smoothed over the sampling intervals. As illustrated, the commanded q*-axis current, iq1*, <NUM> is substantially or generally aligned with the observed q-axis current, iq1, <NUM> in the alignment stage. The angular displacement or angular position θL_hat or <MAT> (<NUM>) defines the (electrical) angular position between the qhat-axis <NUM> and the commanded q*-axis <NUM>.

For the rotating d-q reference frame in the right graph <NUM>, the qhat-axis <NUM> is perpendicular to the dhat-axis <NUM>; for the rotating commanded d-q* reference frame, the q*-axis <NUM> is perpendicular to the d*-axis <NUM>. As illustrated, the commanded q*-axis current, iq2*, <NUM> is substantially or generally aligned with the observed q-axis current, iq2, <NUM> in the alignment stage; the commanded d*-axis current, id2*, <NUM> is substantially or generally aligned with the observed q-axis current, id2, <NUM> in the alignment stage, where in the right graph <NUM> the commanded q*-axis current <NUM> and the commanded d*-axis current <NUM> define a complementary angle to the angular displacement or angular position θL_hat or <MAT> (<NUM>). The angular displacement or angular position θL_hat or <MAT> (<NUM>) defines the (electrical) angular position between the qhat-axis <NUM> and the commanded q*-axis <NUM>.

The left graph <NUM> of <FIG> shows the commanded current, including the commanded q-axis current (e.g., iq1* or iq_IF1*) <NUM>, for the first mode (e.g., IF control commands), where the electronic data processor <NUM> or the current regulator <NUM> generates commanded current in accordance with the following equations: <MAT> <MAT> Further, the electronic data processor <NUM> or the current regulator <NUM> uses the commanded angular position (θ) as the position feedback for the first transform, by the first transform module <NUM> (e.g., iabc-to-idq transform). When the current regulation is stabilized, the observed or true current vector will follow the commanded current vector as shown in <FIG>.

Here, steps S305a and S305b eliminate or reduce the possibility of an inappropriate instantaneous change of the current error signals used in CVCR <NUM>, where the inappropriate instantaneous change refers to a material change in the current error signal or current signal that is greater than a threshold. In step S306 as modified in the above configuration further eliminates or reduces the possibility of an inappropriate instantaneous change of the ωe·λf term in CVCR <NUM> and in second transform (e.g., vdq*-to-vabc* transform), respectively. The advantage of the above method is that there is no change of the current command along the true q-axis before and after the mode transition, thus the transient torque ripple and speed ripple are minimized; in some configurations any residual or excessive id* can be damped to <NUM> using one or more limiters <NUM> (e.g., slew limiters), such as first slew regulator within the current regulator <NUM> or a second slew regulator.

In <FIG>, the IF sensorless stop may begin from steady state operation <NUM> of the rotor at a speed range within the second mode. There are three stages in the proposed overall sensorless stop process: (<NUM>) Braking in second mode <NUM> (e.g., BEMF Mode); (<NUM>) Braking in first mode <NUM> (e.g., IF Mode or V/Hz Mode); and (<NUM>) Multi-phase short of windings <NUM> (e.g., three-phase short or grounding of stator windings to disable rotation of electric machine <NUM>). The change of the slewed rotor speed command <NUM>, the observed or true speed and the commanded current <NUM>, iq*, during stopping processare shown in <FIG>, which are explained next:
The first stage or first state of the stopping process is the braking or regenerative braking <NUM> of the electric machine <NUM> in the second mode (e.g., BEMF Mode). Assume the electric machine <NUM> is running or operating in the BEMF mode and at steady state <NUM> before the stopping process begins at a first time <NUM>; once the stopping process starts, the slewed speed command <NUM> will decrease. The observed, actual or true speed <NUM> of the rotor of the electric machine <NUM> will track the slewed speed command and decrease because if the speed regulator <NUM>, data processor <NUM>, current regulator <NUM>, or data processing system <NUM> which generates the corresponding commanded current <NUM>, iq*. Here, in the upper graph <NUM> of <FIG>, the actual true speed curve <NUM> and in the lower graph <NUM> of <FIG> the commanded current curve <NUM>, iq*, depend on many parameters or settings of the data processing system <NUM>, such as the speed-control-loop gains, current-control-loop gains, and torque-speed curve limits; for example, a portion of the true speed curve <NUM> between the first time <NUM> and the second time <NUM> in the braking BEMF mode <NUM> is shown in dashed line in <FIG> merely for illustrative purposes.

When or if the estimated speed (of the rotor of the electric machine <NUM>) is decreased to be lower than the speed threshold <NUM> (e.g., speed threshold associated with the transition) for the second mode-to-first-mode transition (e.g., BEMF-to-IF mode transition), the data processing system <NUM>, the mode controller <NUM>, current regulator <NUM> or electronic data processor <NUM> can change control from the second mode to the first mode (e.g., sensorless control changes from the BEMF mode to the IF mode) at the second time <NUM>. Accordingly, when or if the estimated speed of the rotor of the electric machine <NUM> is decreased to be lower than the speed threshold <NUM> of the rotor of the electric machine <NUM>, the data processing system <NUM>, the mode controller <NUM>, current regulator <NUM> or electronic data processor <NUM> operates in the first mode <NUM> (e.g., Braking in IF Mode) after the transition from the second mode to the first mode. Here, in the stopping process of the rotation of the rotor of the electric machine <NUM>, the data processing system <NUM> and its software instructions are configured to control or manage a smooth, continuous mode transition between the first and second mode, or rather from the second mode to the first mode.

In the stopping mode where the rotor of the electric machine <NUM> approaches a stop from steady state operation <NUM> the second mode, the following steps may be applied by the electronic data processing system <NUM>, the electronic data processor <NUM>, or the current regulator <NUM>, which may be collectively or individually referred to as the controller <NUM>:.

Here, in <FIG> in the second mode (e.g. BEMF mode) the controller <NUM> (as defined above, such as the current regulator <NUM>) can optionally command a negative commanded quadrature-axis current <NUM>, iq*: (a) such as illustrated by the dashed line in the braking in the BEMF mode <NUM> in the lower graph <NUM>, which shows the commanded quadrature-axis current <NUM>, iq2*; and (b) such as the braking in the first mode <NUM> (e.g., IF mode), with the commanded quadrature-axis current <NUM>, iq3*, to create an extra amount of duration having braking torque to decelerate the rotor rotation more quickly than otherwise possible. Further, if and when the (slewed) commanded electric rotor speed <NUM>, ωe* , on the slewed speed commanded curve <NUM> in the upper graph <NUM> reaches approximately zero (e.g., at the third time <NUM>) or approaches zero (true speed is not zero before grounding the stator windings (in the multi-phase short state) as shown in <FIG>), the mode controller <NUM>, electronic data processor <NUM>, or data processing system <NUM> enables or activates the multiphase short state (e.g., three-phase short state) by switching the terminals of windings of the electric machine <NUM> to a grounded state or chassis ground. Accordingly, in some configurations a multi-phase short state <NUM> (e.g., three-phase short state) will naturally generate a braking torque in the electric machine <NUM>, which further holds the rotor to a firm stall fast or locked rotor position, such as illustrated at the fourth tie <NUM>.

Position sensorless control facilitates various benefits including, but not limited to the following potential benefits of reduced costs by removing a position sensor (e.g., position encoder or resolver) and accompanying harness, by improving reliability and performance, by providing backup limp-home mode remedy for operating of a vehicle with the electric machine acting as the traction drive. The first mode (e.g., IF mode or V/Hz mode) can extend the operating range (e.g., speed range or combined speed and torque operational ranges) of the position sensorless control of a synchronous permanent magnet (SPM) electric machine to low-speed region and zero-speed start up and stopping (e.g., approaching or modeled as a stall condition). Here, the sensorless control process and system discloses a detailed technical implementation of the smooth, continuous transition between the first mode (e.g., IF mode) and the second mode (e.g., BEMF mode). Further, this disclosure describes a startup and stop scheme that can achieve smooth, continuous mode transition (bidirectionally) between the first mode and the second mode, as well as robust and fast startup and stop process of the electric machine via position sensorless control. The method and system facilitates reliable sensorless control, which enables a complete sensorless control solution for practical applications that are driven by electric machines, such as mowers, fan, pump, compressor, engine starter, or turbo charger.

The proposed scheme can reduce the magnitude of the current and transients at the alternating current terminals of the electric machine during a mode transition between the first mode and the second mode, during the stopping process or the starting process of rotation of the electric machine. For example, the method and system is well suited to reduce the magnitude of a change in current associated the motor real or observed quadrature-axis current before and after the mode transition. Therefore, the method and system is well suited to minimize transient torque ripple and speed ripple in the rotor of the electric machine.

Claim 1:
A method for controlling an electric motor (<NUM>) via an inverter (<NUM>), the method comprising:
estimating (S300) a rotor speed of the electric motor to determine whether to control the inverter to operate the electric motor in a first mode or a second mode, wherein the first mode comprises a current frequency control mode and wherein the second mode comprises a back electromagnetic force mode;
determining (S302) a first current command associated with a first mode of operating the electric motor, if the estimated rotor speed is a less than a speed threshold;
determining (S304) a second current command associated with a second mode of operating the electric motor if the estimated rotor speed is equal to or greater than the speed threshold; and
limiting (S306) an instantaneous change in a commanded voltage applied to the electric motor during a transition between the first mode and the second mode, wherein the limiting of the instantaneous change further comprises:
adjusting or resetting a controller (<NUM>) or regulator such that an initial commanded direct-axis current, id*, and an initial commanded quadrature-axis current, iq*, in the second mode are aligned to match a final commanded direct-axis current and final commanded quadrature-axis current in the first mode during a start-up where an increasing rotational speed of the rotor changes to exceed the speed threshold for a transition between the first mode and the second mode.