![]() method and system for estimating shaft torque of an alternating current machine
专利摘要:
METHOD FOR ESTIMATING TORQUE OF THE SHAFT OF A TOOL MACHINE, AND, SYSTEM. At least one exemplary embodiment describes a method including measuring phase currents associated with one or more windings of the machine's stator, estimating terminal voltage values based on representations of the machine's measured phase currents and based on at least one of a ratio of cyclic rate and machine dead time, transform the terminal voltage values to derive representations of direct voltage and quadrature consistent with the measured phase currents, determine a terminal power of one or more terminals of the machine, the terminal power directly based on one of the estimated terminal voltage values and representations of the machine's direct and quadrature voltage and current command values and determine an estimated machine axis torque based on the terminal power according to at least one parameter-based efficiency value of the machine from a characterization of the machine. 公开号:BR102014032512B1 申请号:R102014032512-3 申请日:2014-12-23 公开日:2021-01-19 发明作者:Long Wu;Yue Zhao;Anthony Weber 申请人:Deere & Company; IPC主号:
专利说明:
FIELD OF THE INVENTION [001] Exemplary modalities are related to electric drive device, systems and / or methods to control electric drive devices such as motors or machines of Permanent Permanent Magnet (IPM). BACKGROUND OF THE INVENTION [002] Alternating current (AC) machines (for example, IPM machines) are used extensively in loaders, combined or other electric drive vehicles of heavy equipment machinery because they provide greater efficiency than direct current (DC) machines ). Of the AC machines, an Indoor Permanent Magnet (IPM) machine has high drive efficiency and a wider operating range of constant power. An IPM machine controller, also called an inverter, controls the operation of the IPM machine. The controller produces AC control signals that are applied to the terminals of the IPM machine. [003] In an IPM machine, the terminal voltage of the extra-high machine could detrimentally cause current regulation collapse, introduce additional harmonics into the voltage output of the inverter, cause degraded current regulation quality and associated side effects such as torque fluctuation , rotor magnet heating and stator winding, acoustic noise, etc. The terminal voltage of the extra-high machine may depend on the d / q axis axis voltage commands, manufacturing tolerance and raw material such as permanent magnet, saturation characteristics of the stator / rotor steel can cause variance in the terminal voltage of the machine , accuracy of a position shift calibration, ambient and cooling temperatures, accuracy of the internal inverter in a current transducer (CT), etc. [004] Typically the controller controls the IPM machine based on a plurality of information. For example, an accurate estimate of the actual voltage of the IPM machine's inverter or terminal, along with machine position information, can provide a better estimate of a torque output from the IPM machine, which, in turn, can complete the power circuit. torque control. SUMMARY OF THE INVENTION [005] Some modalities are focused on methods and devices to control an AC machine such as an IPM machine by estimating the actual voltage and torque of the inverter or terminal of the machine. [006] At least one exemplary modality describes a method of estimating shaft torque of an alternating current machine. The method includes measuring phase currents associated with one or more windings of the machine's stator, estimating terminal voltage values based on the representations of the machine's measured phase currents and, based on at least one of a cyclical rate ratio and the dead time of the machine, transform the terminal voltage values to derive representations of direct voltage and quadrature consistent with the measured phase currents, determine a terminal power of one or more terminals of the machine, the terminal power directly based on one of the values of estimated terminal voltage and representations of machine direct and quadrature voltage and current command values and determine an estimated machine axis torque based on terminal power according to at least one efficiency value based on machine parameters from a characterization of the machine. BRIEF DESCRIPTION OF THE DRAWINGS [007] Exemplary modalities will be more clearly understood from the following detailed description considered in conjunction with the attached drawings. FIGS. 1-13 represent exemplary non-limiting modalities described herein. [008] FIG. 1 illustrates a block diagram of FIGS. 1A-1B; FIGS. 1A-1B are a block diagram of a system for controlling an electric motor, according to an exemplary modality; FIG. 2 is a block diagram of an electronic data processing system consistent with FIGS. 1A-1B, according to an exemplary embodiment; FIG. 3 illustrates an exemplary modality of a machine terminal voltage estimation module, a torque estimation module and a torque compensation module, illustrated in FIG. 1A; FIG. 4 illustrates an inverter circuit according to an exemplary embodiment; FIGS. 5A-B illustrate a pulse width modulation cycle (PWM) and a double control period according to an exemplary mode; FIG. 6 illustrates an exemplary modality of the terminal voltage estimation module of the machine, a terminal voltage feedback module and a current adjustment module, as shown in FIG. 1A; FIG. 7 illustrates a method performed by the machine's terminal voltage estimation module shown in FIG. 6, according to an exemplary modality; FIG. 8 illustrates adjustments in the current magnitudes of the geometric axis d / q and the corresponding angle according to an exemplary modality; FIG. 9A illustrates an exemplary way of determining a rotor position using terminal voltage estimation based on dual control DSP; FIG. 9B illustrates an exemplary mode of determining a rotor position using terminal voltage estimation based on dual control FPGA; FIG. 9C illustrates an exemplary way of determining a rotor position using a simple control FPGA-based terminal voltage estimate; FIG. 10 illustrates a torque compensation scheme based on rotation according to an exemplary embodiment; FIG. 11 illustrates a torque compensation scheme based on PI according to an exemplary modality; FIG. 12 illustrates a method of generating upper / lower torque limits for a torque command limiter, according to an exemplary modality; and FIG. 13 illustrates a method of estimating and compensating torque according to an exemplary modality. DETAILED DESCRIPTION OF THE INVENTION [009] Several exemplary modalities will now be described more fully with reference to the accompanying drawings in which some exemplary modalities are illustrated. [0010] Thus, although exemplary modalities are subject to various modifications and alternative forms, their modalities are shown as examples in the drawings and will be described in detail here. It should be understood, however, that there is no intention to limit the exemplary modalities to the particular forms described, but, on the contrary, exemplary modalities must cover all such modifications, equivalents and alternatives that fall within the scope of the claims. Like reference numbers refer to like elements throughout the description of the figures. [0011] It should be understood that, although the terms first, second, etc. can be used here to describe various elements, these elements should not be limited by those terms. These terms are only used to distinguish one element from another. For example, a first element could be called a second element and, similarly, a second element could be called a first element, without departing from the scope of exemplary modalities. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items. [0012] It should be understood that when an element is referred to as "connected" or "coupled" to another element, it can be directly connected or coupled to the other element, or intervening elements may be present. In contrast, when an element is referred to as "directly connected" or "directly coupled" to another element, no intervening element is present. Other words used to describe the relationship between elements should be interpreted in a similar way (for example, "between" versus "directly between", "adjacent" versus "directly adjacent", etc.). [0013] The terminology used here is intended to describe particular modalities only and is not intended to limit exemplary modalities. As used herein, the singular forms "one", "one" and "o", "a" must also include plural forms, unless the context clearly indicates otherwise. It is further understood that the terms "comprises", "comprising", "includes" and / or "including", when used here, specify the presence of declared resources, entire acts, steps, operations, elements and / or components, but they do not prevent the presence or addition of one or more other resources, entire acts, stages, operations, elements, components and / or groups of these. [0014] It should also be noted that in some alternative implementations, the functions / acts noted may occur outside the order noted in the figures. For example, two figures shown in succession can actually be performed substantially simultaneously, or can sometimes be performed in reverse order, depending on the functionality / acts involved. [0015] Unless otherwise defined, all terms (including technical and scientific terms) used here have the same meaning normally understood by those skilled in the art to which exemplary modalities refer. It is further understood that terms, for example, those defined in commonly used dictionaries, must be interpreted with a meaning that is consistent with their meaning in the context of the relevant technique and will not be interpreted in an idealized or excessively formal sense, unless expressly so defined here. [0016] Portions of exemplary modalities and corresponding detailed description are presented in terms of a processor specifically programmed to run software, or algorithms and symbolic representations of operation on bits of data in a computer memory. These descriptions and representations are those by which those skilled in the art effectively transfer the substance of their work to others skilled in the art. An algorithm, as the term is used here, and as it is used in general, is designed to be a self-consistent sequence of steps that leads to a result. The steps are those that require physical manipulation of physical quantities. Usually, although not necessarily, these quantities take the form of optical, electrical or magnetic signals that can be stored, transferred, combined, compared and otherwise manipulated. It is convenient at certain times, mainly for reasons of common use, to refer to these signs as bits, values, elements, symbols, characters, terms, numbers or similar. [0017] In the following description, illustrative modalities will be described with reference to symbolic acts and representations of operations (for example, in the form of flowcharts) that can be implemented as program modules or functional processes including routines, programs, objects, components, structures data, etc., that perform particular tasks or that implement particular abstract data types and can be implemented using existing hardware. Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific integrated circuits, field programmable port arrangement computers (FPGAs) or the like. [0018] It should be borne in mind, however, that all of these terms, and similar terms, must be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as "processing" or "computation" or "calculation" or "determination" or "display" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical electronic quantities in the computer records and memories system into other data similarly represented as physical quantities in the computer system memories or records or other such devices. storage, transmission or display of information. [0019] Note also that the aspects implemented by exemplary modalities software are typically encoded in some form of tangible storage (or recording) media or implemented by some type of transmission media. Tangible storage media can be magnetic (for example, a floppy disk or hard drive) or optical (for example, a read-only compact disc, or “CD ROM”), and can be read-only or access random. [0020] According to an exemplary embodiment, FIGS. 1A-1B illustrate a drive system 100 for controlling a machine such as an electric motor. The electric motor can be a motor such as a 117 motor (for example, an Indoor Permanent Magnet (IPM) motor) or another alternating current machine. Motor 117 has a nominal DC bus voltage (for example, 320 Volts). The rated voltage is a specified voltage. For example, a rated voltage of motor 117 can be 320 Volts, but the motor can operate at a voltage above and below 320 Volts. In an exemplary embodiment, the system, other than motor 117, can be referred to as an inverter or a motor controller. The system for controlling the engine 117 can also be referred to as a machine system. [0021] It should be understood that the drive system 100 may include additional features that are not illustrated in FIG. 1A. The features shown in FIGS. 1A-1B are illustrated for the convenience of describing the drive system 100 and it should be understood that the drive system 100 should not be limited to the features shown in FIGS. 1A- 1B. [0022] System 100 includes electronic modules, software modules, or both. In an exemplary embodiment, the drive system 100 includes an electronic data processing system 120 to support storage, processing or execution of software instructions from one or more software modules. The electronic data processing system 120 is indicated by the dashed lines in FIG. 1A-1B and is shown in more detail in FIG. 2. The electronic data processing system 120 can also be referred to as a controller and / or processor for motor 117. The data processing system 120 is configured to select a modulation mode, and to determine a plurality of phase voltages. machine terminals based on the selected modulation mode. Modulation mode can refer to PWM, square wave, triangular wave or sine wave, or the frequency, cyclic rate or dead time associated with any of those described. [0023] The data processing system 120 is coupled to an inverter circuit 188. The inverter circuit 188 can be a three-phase inverter. Inverter circuit 188 includes a semiconductor drive circuit that drives or controls switching semiconductors (for example, bipolar isolated transistors (IGBT) or other power transistors) to produce control signals for motor 117. In turn, the inverter circuit 188 is coupled to motor 117. [0024] In an exemplary mode, a torque command generation module 105 is coupled to a torque compensation module, which is coupled to a dq 109 geometric axis current generation manager (for example, current generation of the geometric axis dq). The geometric axis current dq refers to the direct geometric axis current and the quadrature geometric axis current applicable in the context of vector-controlled alternating current machines, such as the 117 motor. The output of the current generation manager of the dq geometric axis 109 (dq geometric axis current commands iq_cmd and id_cmd) and the output of a current adjustment module 107 (for example, d-q107 geometric axis current adjustment module) are fed into an adder 119. In turn, one or more outputs (for example, current data of the direct geometric axis (id *) and current data of the geometric quadrature axis (iq *)) of the adder 119 are provided or coupled in a controller of regulation of current 111. Although the term current command is used, it must be understood that current command refers to a target current value. [0025] The current regulation controller 111 is capable of communicating with the pulse width modulation generation module (PWM) 112 (for example, spatial vector PWM generation module). The current regulation controller 111 receives respective final dq geometric axis current commands (for example, id * and iq *) and real dq geometric axis currents (for example, id and iq) and produces geometric axis voltage commands corresponding dq (for example, Vd * and Vq * commands) for input to the PWM 112 generation module. [0026] In an exemplary modality, the PWM 112 generation module provides pulse commands to control the inverter circuit 188 and provides cyclic rates of, db, dc for each phase (a, b and c) of the inverter circuit 188 to an estimation module terminal voltage 127. The processing system determines the three-phase cyclic ratios of, db and dc. Then, based on the cyclical rates, dead time, and waveform of the PWM carrier, the PWM pulses are created by the PWM generation module 112 and taken to the 188 inverter circuit. The three-phase ratios of, db, dc are taken to the terminal voltage estimation module 127. Outputs from the PWM generation module 112 are coupled to an inverter circuit 188. The output stage of the inverter circuit 188 (for example, phase voltages present from the VAN_actual, VBN_actual and VCN_actual output) provides a way voltage waveform modulated by pulse width or other voltage signal for motor control 117. VAN, VBN and VCN voltages can be referred to as phase voltages, current control step voltages or present control step voltages, for example example. In an exemplary embodiment, the inverter circuit 188 is driven by a direct current (DC) voltage bus. [0027] The inverter circuit 188 includes a semiconductor drive circuit that drives or controls switching semiconductors (for example, isolated gate bipolar transistors (IGBT) or other power transistors) to produce control signals for the 117 motor. Instead, inverter circuit 188 is coupled to motor 117. Motor 117 is associated with a sensor 115 (for example, a position sensor, a solver or encoder position sensor) that is associated with motor axis 126 or the rotor. Sensor 115 and motor 117 are coupled to data processing system 120 to provide feedback data (for example, current feedback data, such as phase current values ia, ib and ic), raw position signals, among other possible data or feedback signals, for example. Other possible feedback data include, but are not limited to, winding temperature readings, inverter circuit semiconductor temperature readings 188, three-phase voltage data, or other thermal or performance information for the motor 117. [0028] Motor 117 is associated with sensor 115 (for example, a resolver, encoder, speed sensor, or another position sensor or speed sensors) that estimates at least one of an angular position of the motor axis 126 , a speed or run of the motor shaft 126, and a direction of rotation of the motor shaft 126. The sensor 115 can be mounted on the motor shaft 126, or integral with it. The output of sensor 115 is capable of communicating with primary processing module 114 (for example, position and speed processing module). In an exemplary embodiment, sensor 115 can be coupled to an analog-to-digital converter (not shown) that converts raw position data or analog speed data or to raw digital position or speed data, respectively. In other exemplary embodiments, sensor 115 (e.g., digital position encoder) can provide a digital data output of position data or raw speed data to motor shaft 126 or rotor. [0029] A first output (for example, θ position data for motor 117) from primary processing module 114 is communicated to the phase converter 113 (for example, three-phase current to two-phase current transformation module) that converts respective representations three-phase digital displays of measured current in corresponding two-phase digital representations of measured current. A second output (for example, SD speed data for motor 117) from primary processing module 114 is communicated to calculation module 110 (for example, voltage-to-speed ratio module). [0030] An input of a detection circuit 124 is coupled to the motor terminals 117 to detect at least the measured three-phase currents and a voltage level of the direct current (DC) bus (for example, high voltage DC bus that can supply DC power to the inverter circuit 188). An output of the detection circuit 124 is coupled to an analog-to-digital converter 122 to digitize the output of the detection circuit 124. In turn, the digital output of the analog-to-digital converter 122 is coupled to the secondary processing module 116 (for example , DC bus voltage and three-phase current processing module). For example, the detection circuit 124 is associated with the motor 117 to measure three-phase currents (for example, current applied to the windings of the motor 117, straight EMF (electromotive force) induced in the windings, or both). [0031] Certain outputs from primary processing module 114 and secondary processing module 116 feed to phase converter 113. For example, phase converter 113 can apply a Park transformation or other conversion equations (for example, certain equations which are suitable are known to those skilled in the art) to convert the measured three-phase current representations into two-phase current representations based on the digital three-phase current data ia, ib and ic of the secondary processing module 116 and position data θ of the sensor 115. The output of the phase converter module 113 (id, iq) is coupled to the current regulation controller 111. [0032] Other outputs of primary processing module 114 and secondary processing module 116 can be coupled to the inputs of calculation module 110 (for example, module for calculating the voltage to set speed ratio). For example, primary processing module 114 can provide SD speed data (for example, motor shaft speed 126 in revolutions per minute), while secondary processing module 116 can provide a measured (detected) level of operating voltage. operational DC bus Vdc of engine 117 (for example, on a vehicle's DC bus). The DC voltage level on the DC bus that supplies the inverter circuit 188 with electrical power can fluctuate or vary due to several factors, including, but not limited to, ambient temperature, battery condition, battery charge status, resistance or reactance of the battery, fuel cell status (if applicable), engine load conditions, respective engine torque and corresponding operating speed, and vehicle electrical loads (for example, electrically driven air conditioning compressor). The calculation module 110 is connected as an intermediary of the secondary processing module 116 and the geometry axis current generation manager dq 109. The output of the calculation module 110 can adjust or impact the current commands iq_cmd and id_cmd generated by the dq 109 geometric axis current generation manager to compensate for fluctuation or variation in the DC bus voltage, among other things. [0033] The rotor magnet temperature estimation module 104, the current shaping module 106, and the terminal voltage feedback module 108 are coupled or capable of communicating with the dq geometric axis current adjustment module 107. In turn, the dq geometry axis current adjustment module 107 can communicate with the dq geometry axis current generation manager or adder 119. [0034] The rotor magnet temperature estimation module 104 estimates or determines the temperature of the rotor magnet or permanent magnets. In an exemplary embodiment, the rotor magnet temperature estimation module 104 can estimate the temperature of the rotor magnets of one or more sensors located in the stator, in thermal communication with the stator, or stuck in the motor housing 117. [0035] In another exemplary embodiment, the rotor magnet temperature estimation module 104 can be replaced with a temperature detector (for example, a thermistor and wireless transmitter as an infrared thermal sensor) mounted on the rotor or magnet, where the detector provides a signal (for example, wireless signal) indicative of the temperature of the magnet or magnets. [0036] In an exemplary mode, the system can operate as follows. The torque command generation module 105 receives an input control data message, such as a speed control data message, a voltage control data message, or a torque control data message, by a vehicle data bus 118. The torque command generation module 105 converts the incoming control message received into raw torque control command data Tcmd. The torque compensation module 131 then creates an adjusted torque component Tcmd_adj based on a difference (error) between the raw torque control command data Tcmd and an estimated torque Test. The output of the torque compensation module 131 is a final torque command Tcmd_final which is a sum of the raw torque control command data Tcmd and the adjusted torque component Tcmd_adj. [0037] The dq 109 geometric axis current generation manager selects or determines the direct geometric axis current command and the quadrature geometric axis current command associated with respective final torque control command data Tcmd_final, data of Base_Torq base torque command and the set voltage overspeed ratio. For example, the dq 109 geometric axis current generation manager selects or determines the direct geometric axis current command and the quadrature geometric axis current command by accessing one or more of the following: (1) a lookup table, database or other data structure that relates the respective torque commands to the currents of the corresponding direct and quadrature geometric axes, (2) a set of quadratic equations or linear equations that relate the respective torque commands to currents of the direct geometric axes and corresponding quadrature, or (3) a set of rules (for example, if-then rules) that relate respective torque commands to currents of the corresponding direct and quadrature geometric axes. Sensor 115 on motor 117 facilitates the provision of detected SD speed data to motor axis 126, where primary processing module 114 can convert raw position data provided by sensor 115 into SD speed data. [0038] The current adjustment module 107 (for example, dq geometric axis current adjustment module) provides current adjustment data to adjust the direct geometric axis current command id_cmd and the geometric axis current command of iq_cmd quadrature based on input data from the rotor magnet temperature estimation module 104, current modeling module 106 and terminal voltage feedback module 108. [0039] The current modeling module 106 can determine a preliminary correction or adjustment of the current command of the quadrature geometric axis (q-axis) and of the direct geometric axis current command (D-axis) based on one or more of the following factors: torque load on motor 117 and motor speed 117, for example. The rotor magnet temperature estimation module 104 can generate a secondary adjustment of the ge-axis current command and the ge-axis current command based on an estimated change in the rotor temperature, for example. Terminal voltage feedback module 108 can provide a third current adjustment to the d-axis and q-axis based on the controller voltage command versus voltage limit. The current adjustment module 107 can provide an aggregate current adjustment that takes into account one or more of the following adjustments: the preliminary adjustment, the secondary adjustment, and the third adjustment. [0040] Based on the three-phase cyclic ratios of, db, dc, the waveform of the PWM carrier generated by the PWM 112 generation module and phase currents ia, ib and ic, the terminal voltage estimation module of the machine 127 estimates the phase voltages present in the VAN, VBN, and VCN inverters of the actual output voltages of the VAN_actual, VBN_actual and VCN_actual inverter. Then, the estimated inverter output voltages VAN, VBN, and VCN are used by the machine terminal voltage estimation module 127 to calculate the estimated machine terminal voltage. Comparison of the estimated terminal voltage with a terminal voltage limit will create an error sent to a PI controller to create and adjust the current of the d-axis and eventually adjust the current of the q-axis. [0041] The torque estimation module 129 generates torque estimated Test data based on the phase voltages of the VAN, VBN and VCN inverter generated by the machine's terminal voltage estimation module 127 and final current commands iq *, id * . [0042] The torque compensation module 131 is configured to generate final torque control command data Tcmd_final based on the estimated torque data Test and raw torque command data Tcmd. [0043] In an exemplary mode, the 117 motor may include a Permanent Internal Magnet (IPM) machine or an IPM synchronous machine (IPMSM). [0044] Sensor 115 (for example, shaft speed detector or rotor) can include one or more of the following: a direct current motor, an optical encoder, a magnetic field sensor (for example, Hall Effect sensor) , magneto-resistive sensor, and a solver (for example, a brushless solver). In one configuration, sensor 115 includes a position sensor, where raw position data and associated time data are processed to determine speed or travel data for motor axis 126. In another configuration, sensor 115 includes a sensor speed, or the combination of a speed sensor and an integrator to determine the position of the motor shaft. [0045] In yet another configuration, the sensor 115 includes a compact auxiliary DC generator that is mechanically coupled to the motor shaft 126 of the motor 117 to determine the speed of the motor shaft 126, where the DC generator produces a output voltage proportional to the rotational speed of the motor shaft 126. In yet another configuration, sensor 115 includes an optical encoder with an optical source that transmits a signal to a rotating object coupled to the motor shaft 126 and receives a reflected signal or diffracted in an optical detector, where the frequency of the received signal pulses (for example, square waves) can be proportional to a speed of the motor shaft 126. In an additional configuration, the sensor 115 includes a resolver with a first winding and a second winding, where the first winding is supplied with an alternating current, where the voltage induced in the second winding varies with the frequency of rotation of the rotor. [0046] FIG. 2 is a block diagram of an electronic data processing system consistent with FIGS. 1A-1B, according to an exemplary embodiment. In FIG. 2, the electronic data processing system 120 includes an electronic data processor 264, a data bus 262, a data storage device 260, and one or more data ports (268, 270, 272, 274 and 276) . Data processor 264, data storage device 260 and one or more data ports are coupled to data bus 262 to support data communications between two or more of data processor 264, data storage device 260 and one or more data ports. [0047] In an exemplary embodiment, the 264 data processor may include an electronic data processor, a microprocessor, a microcontroller, a programmable logic arrangement, a logic circuit, an arithmetic logic unit, an application-specific integrated circuit, a digital signal processor, a proportional-integral-derivative controller (PID), or another data processing device. [0048] The data storage device 260 can include any magnetic, electronic or optical device for storing data. For example, data storage device 260 may include an electronic data storage device, an electronic memory, non-volatile electronic random access memory, one or more electronic data records, data couplings, a magnetic disk drive, a hard disk drive, an optical disk drive, or the like. [0049] As shown in FIG. 2, the data ports include a first data port 268, a second data port 270, a third data port 272, a fourth data port 274 and a fifth data port 276, although any suitable number of data ports can be used. Each data port can include a transceiver and temporary storage memory, for example. In an exemplary embodiment, each data port can include any serial or parallel input / output port. [0050] In an exemplary embodiment illustrated in FIG. 2, the first data port 268 is coupled to the data bus of vehicle 118. In turn, the data bus of vehicle 118 is coupled to a controller 266. In one configuration, the second data port 270 can be coupled to the inverter circuit 188; the third data port 272 can be coupled to sensor 115; the fourth data port 274 can be coupled to the analog-to-digital converter 122; and the fifth data port 276 can be coupled to the terminal voltage feedback module 108. The analog-to-digital converter 122 is coupled to the detection circuit 124. [0051] In an exemplary modality of the data processing system 120, the torque command generation module 105 is associated with or supported by the first data port 268 of the electronic data processing system 120. The first data port 268 can be coupled to a vehicle data bus 118, such as a controller area network (CAN) data bus. The vehicle data bus 118 can provide torque command data bus messages to the torque command generation module 105 via the first data port 268. A vehicle operator can generate the torque commands via an interface such as a choke, pedal, 266 controller, or other control devices. [0052] In some exemplary embodiments, the sensor 115 and the primary processing module 114 can be associated or supported by a third data port 272 of the data processing system 120. [0053] The data processor 264 can be specifically programmed to run the rotor magnet temperature estimation module 104, the torque command generation module 105, the current modeling module 106, the current adjustment module 107, the terminal voltage feedback module 108, the geometry axis current generation manager dq 109, the calculation module 110, the current regulation controller 111, the PWM generation module 112, the phase converter 113, the primary processing module 114, the secondary processing module 116, the adder 119, the ADC 122, the detection circuit 124, the terminal voltage estimation module of the machine 127, the torque estimation module 129 and the torque compensation 131. [0054] FIG. 3 illustrates an exemplary embodiment of the machine's terminal voltage estimation module 127, torque estimation module 129 and torque compensation module 131, illustrated in FIGS. 1A-1B. [0055] As shown in FIG. 3, the terminal voltage estimation module of machine 127 generates estimated phase voltages from the inverter estimated VAN, VBN and VCN relative to a negative rail DC bus voltage and supplies the phase voltages VAN, VBN and VCN to the estimation module torque 129. As previously described, the phase voltages VAN, VBN and VCN are estimated values of the actual output voltages of the inverter VAN_actual, VBN_actual and VCN_actual. [0056] The torque estimation module 129 includes a rotor position calculation module 310, a Park 315 transformation module, a terminal power estimation module 320, an efficiency extraction module 325 and an estimation module of the torque of the axis 330. The torque estimation module 129 generates estimated torque data Test based on the phase voltages of the VAN, VBN and VCN inverter. The torque estimation module 129 will be described in further detail below. [0057] The torque compensation module 131 is configured to generate the final torque command data Tcmd_final based on the estimated torque data Test and the raw torque command Tcmd. [0058] The PWM 112 generation module can provide the terminal voltage estimation module of machine 127 with the information of the cyclic rate of the inverter (da, db, dc). The terminal voltage estimation module of machine 127 can estimate the phase voltages present VAN, VBN and VCN of the inverter circuit 188 in such a way that the estimated phase voltages present (VAN, VBN and VCN) look exactly like the phase voltages of actual outputs (VAN_actual, VBN_actual and VCN_actual), as will be described further below. Estimated Machine Terminal Voltage [0059] The phase voltages present in the VAN, VBN and VCN inverters are determined by the system processor 120 using a method of estimating the terminal voltage of the machine according to an exemplary modality. [0060] When an IPM machine is operating in a region of weakened flow (high speed), the inverter controls the neutral voltage of the line to the machine below a certain voltage threshold. To make control more difficult, there are machine tolerance factors that can affect the line voltage to the machine's neutral. For example, steel used in the IPM machine is different between manufacturers, causing different levels of saturation and varying inductance parameters that affect the terminal voltage of the machine. Also, the permanent magnet material used in the machine's design has different characteristics that affect the emf back voltage value. Additional factors that impact the terminal voltage are room temperature and initial position offset calibration. [0061] Understanding that each machine has different characteristics becomes a challenge when operating in a weakened flow region to ensure that the terminal voltage of the machine does not exceed a threshold value. If the machine voltage becomes too high, the inverter will lose proper current regulation control, which can cause greater torque fluctuation, machine heating, harmonics and other effects due to loss of control. [0062] At least one exemplary modality describes a control device for controlling a machine. The control device may include a processor, such as processing system 120 (or, in more detail, processor 264) configured to select a modulation mode and determine a plurality of machine terminal phase voltages based on the selected modulation. [0063] At least one exemplary modality describes a control device for controlling an alternating current (AC) machine. The control device can include a processor configured to select a modulation mode from a plurality of modulation modes, determine a plurality of phase voltages present corresponding to the phases of an inverter based on the selected modulation mode, the determination compensating for the times dead associated with the selected modulation mode and inverter phases, the inverter configured to drive the AC machine and determine an estimated terminal voltage based on the plurality of phase voltages present. [0064] In an exemplary mode, the processor is configured to determine the plurality of phase voltages present in the inverter based on a direction of a carrier wave of the selected modulation mode and phase current polarities associated with the plurality of voltage voltages phases present in the inverter when a first modulation mode is the selected modulation mode. [0065] In an exemplary embodiment, the processor is configured to determine the plurality of phase voltages present in the inverter based on the polarities of phase currents associated with the plurality of phase voltages present in the inverter and switches clamped in corresponding phases of the inverter when a second modulation mode is the selected modulation mode. [0066] In an exemplary mode, the processor is configured to determine the plurality of phase voltages present in the inverter additionally based on cyclic rates of the selected modulation mode associated with the phases, respectively. [0067] In an exemplary mode, the processor is configured to determine the plurality of phase voltages present in the inverter based on the polarities of currents associated with the plurality of phase voltages present in the machine and switches clamped in corresponding inverter phases. [0068] In an exemplary embodiment, the processor is configured to determine a first rotor position, the first rotor position being a machine rotor position for transforming a plurality of phase currents associated with the plurality of phase voltages present of the inverter and determine a second position of the rotor based on the first position of the rotor, the second position of the rotor being a position of the machine rotor for transforming the plurality of phase voltages present in the inverter, the first position of the rotor and the second position of the rotor being different. [0069] In an exemplary mode, the processor is configured to determine the second position of the rotor in such a way that the second position of the rotor occurs at a time synchronized with the determination of the plurality of phase voltages present in the inverter. [0070] In an exemplary mode, the processor is configured to transform the plurality of phase voltages present in the three-phase inverter into two-phase based on the second position of the rotor and determine the estimated terminal voltage based on the transformed plurality of phase voltages present of the inverter, the estimated terminal voltage being voltages of the biphasic rotary reference frame. [0071] In an exemplary mode, the processor is configured to transform the plurality of phase voltages present in the inverter into voltages of the biphasic stationary reference frame. [0072] In an exemplary mode, the processor is configured to determine the estimated terminal voltage based on the voltages of the biphasic stationary reference frame, the estimated terminal voltage representing a magnitude of line to line voltage. [0073] In an exemplary mode, the control device is a digital signal processor (DSP). [0074] In an exemplary mode, the processor is configured for the modulation mode selected in one of modulation by the spatial vector pulse width (SVPWM) and modulation by the discontinuous pulse width. [0075] At least one exemplary modality describes a method of determining an estimated inverter terminal voltage for an alternating current (AC) machine. The method includes selecting a modulation mode from a plurality of modulation modes, determining a plurality of phase voltages present corresponding to phases of an inverter based on the selected modulation mode, the dead time compensated determination associated with the selected modulation mode and inverter phases, the inverter configured to drive the AC machine, and determine an estimated terminal voltage based on the plurality of phase voltages present. [0076] In an exemplary embodiment, determining the plurality of phase voltages present determines the plurality of phase voltages present in the inverter based on a direction of a wave carrying the selected modulation mode and phase current polarities associated with the plurality of phase voltages present in the inverter when a first modulation mode is the selected modulation mode. [0077] In an exemplary embodiment, the determination of the plurality of phase voltages present determines the plurality of phase voltages present in the inverter based on the polarities of phase currents associated with the plurality of phase voltages present in the inverter and clamped switches in corresponding inverter phases when a second modulation mode is the selected modulation mode. [0078] In an exemplary embodiment, determining the plurality of phase voltages present determines the plurality of phase voltages present in the inverter additionally based on cyclic rates of the selected modulation mode associated with the phases, respectively. [0079] In an exemplary embodiment, determining the plurality of phase voltages present determines the plurality of phase voltages present on the inverter based on the polarities of currents associated with the plurality of phase voltages present on the machine and switches clamped in phases of the corresponding inverters. [0080] In an exemplary embodiment, determining the estimated terminal voltage includes determining a first rotor position, the first rotor position being a machine rotor position for transforming a plurality of phase currents associated with the plurality of voltage voltages phases of the inverter and determine a second rotor position based on the first rotor position, the second rotor position being a machine rotor position for transforming the plurality of phase inverter voltages present, the first rotor position and the second rotor position being different. [0081] In an exemplary embodiment, the determination of the second position of the rotor determines the second position of the rotor in such a way that the second position of the rotor occurs at a time synchronized with the determination of the plurality of phase voltages present in the inverter. [0082] In an exemplary embodiment, the determination of the estimated terminal voltage includes transforming the plurality of phase voltages present in the three-phase inverter into two-phase based on the second position of the rotor and determining the estimated terminal voltage based on the transformed plurality of voltage phase present in the inverter, the estimated terminal voltage being voltages of the biphasic rotary reference frame. [0083] In an exemplary mode, the determination of the estimated terminal voltage includes transforming the plurality of phase voltages present in the inverter into voltages of the biphasic stationary reference frame. [0084] In an exemplary mode, the determination of the estimated terminal voltage determines the estimated terminal voltage based on the voltages of the biphasic stationary reference frame, the estimated terminal voltage representing a magnitude of a line to line voltage. [0085] In an exemplary mode, the modulation mode selected is one of modulation by the spatial vector pulse width (SVPWM) and modulation by the discontinuous pulse width. [0086] FIG. 4 illustrates an inverter circuit configured to produce control signals for an electric motor, according to an exemplary modality. Inverter circuit 188 includes electrical components including, but not limited to, switching semiconductors (430-431, 434435 and 438-439), diodes (432-433, 436-437 and 440-441), motor phase impedance 443- 445, a DC bus voltage 442 for generating, modifying and controlling signals modulated by pulse width or other alternating current signals (e.g., pulse, square wave, sine wave or other waveforms) applied to the motor 117 of FIG. 1A. [0087] To prevent excessively high current at the output of the inverter circuit 188, a dead time or white time is introduced in the PWM switching, which can cause a mismatch between the voltage commands of the d / q geometric axis Vd * and Vq * and the voltages phase output (for example, VAN_actual, VBN_actual and VCN_actual). During the dead time, neither the upper switch nor the lower switch of any given phase of the inverter circuit 188 leads. In an exemplary mode, keys 430, 434 and 438 constitute the upper keys of one of phases A, B and C, respectively, while keys 431, 435 and 439 constitute the lower keys of one of phases A, B and C, respectively. [0088] During the dead time, the actual output voltages of the inverter VAN_actual, VBN_actual and VCN_actual are determined based on the current direction that passes through one of the upper and lower diodes of one of the phases (for example, diodes 432 or 433 corresponding to phase A). The impact of dead time on the mismatch between the d / q axis voltage commands Vd * and Vq * (converted into three-phase cyclic rates (da, db, dc using the pulse width modulation generation module 112) and the actual phase voltages present VAN_actual, VBN_actual and VCN_actual, may also depend on other factors including, but not limited to, the PWM switching frequency as the percentage ratio of a fixed dead time period of a PWM period varies as the frequency of PWM switching changes, and motor operating mode. For example, when motor 117 is running in motor mode, the actual terminal voltage of the inverter is less than the geometric d / q axis voltage commands, whereas when the motor 117 is working in the braking mode, the actual terminal voltage of the inverter is greater than the d / q geometry axis voltage commands. As a result, the d / q geometry axis commands cannot be a good indicator of the actual terminal voltage per c ause of the described mismatches. [0089] Voltage drops through the switches and diodes of the inverter circuit 188 also contribute to the mismatch. For example, when one of the upper or lower switches of any given phase of the inverter circuit 188 leads, there may be a voltage drop across a switch and / or a diode associated with one of the phases. For example, when the upper switch 430 associated with phase A leads, there may be a voltage drop across switch 430 or diode 432, which can be referred to as VIGBT_um of switch 430 or Vdiode_a of diode 432, respectively. [0090] Therefore, precisely estimating the present phase of the VAN, VBN and VCN inverter allows the system to take into account the mismatch between the estimated current phase voltages VAN, VBN and VCN and the actual present phase voltages VAN_actual, VBN_actual and VCN_actual and in this way adjust the current command of the geometric axis d / q. The adjustment can, in turn, allow to compensate for the extra-high terminal voltage on the machine, thus ensuring motor control stability. [0091] The estimation of the actual terminal voltages and adjustment of the current commands of the geometric axis d / q will be described below. [0092] FIGS. 5A-B illustrate a pulse width modulation cycle (PWM) and a double control period of the pulse width modulation module of FIGS. 1A-1B, for a dual control mode, according to an exemplary mode. FIG. 5A illustrates a PWM carrier wave. A single PWM cycle can be defined as the time from one rising edge on the signal to the next rising edge of the signal. For example, 561 to 562 defines a PWM cycle in FIG. 5A. [0093] FIG. 5B represents a dual control mode, in which case there are two control signals per PWM cycle (for example, 1 control signal per half of a single PWM cycle, where PWM cycle is defined from 563 to 565 (for example, the same of the PWM cycle in Figure 5A), and half a cycle is defined as 563 to 564 and 564 to 565, as shown in Figure 5B, so in the exemplary mode where the PWM switching frequency is 5 kHz and measurements are sampled at 25 MHz (for example, 40 ns), then, for the dual control mode, there will be half the counts (for example, measurements) of VxN (for example, 2500), where X is one of phases a, b , or c in each control period As can be seen from Figures 5A-5B, PWM cycles may not be the same and may differ from one cycle to another, for example, because of the variable PWM switching frequency. [0094] In an exemplary mode, the terminal voltage estimation module of the machine 127 samples the current DC bus voltage, phase currents present, and a unit delay of each of the three previous cyclic rates in each double control period for estimate the terminal voltage of the machine. The previous cyclical rate values are used due to the fact that the present calculated cyclical rate will be used in the next control period. [0095] FIG. 6 illustrates particular modules, including the terminal voltage estimation module of machine 127 of the system shown in FIG. 1A, according to an exemplary embodiment. In particular, FIG. 6 illustrates the terminal voltage estimation module of the machine 127, the terminal voltage feedback module 108 and the current adjustment module 107. The terminal voltage estimation module of the machine 127 may include an 644 estimator to estimate an average voltage from the line rail to three-phase negative (VAN, VBN and VCN), as will be described below. The terminal voltage estimation module of machine 127 may additionally include a filter 645 to filter the line rail voltage to estimated negative, as will be described below. The terminal voltage estimation module of machine 127 can additionally include a stepping calculation module 646, which calculates a terminal stress threshold, as will be described below. The terminal voltage threshold can then be used to determine a terminal voltage feedback, as will be described below. In addition, FIG. 6 illustrates the terminal voltage feedback module 108 shown in FIG. 1A, which determines the terminal voltage feedback based on the terminal voltage threshold and the estimated terminal voltage, as will be described below. FIG. 6 also illustrates the current adjustment module 107, shown in FIG.1, which adjusts the current commands of the geometric axis d / q based on the terminal voltage feedback, as will be described below. [0096] As discussed earlier, the modules represented in FIG. 6 can be performed by the system processor 120, shown in FIGS. 1A-1B, and implemented on a variety of hardware, including, but not limited to, programmable logic devices such as a digital signal processor or FPGA. For example, processor 264 can be programmed to execute the module shown in FIGS. 1A-1B. [0097] FIG. 7 illustrates a DSP-based method performed by the machine's terminal voltage estimation module, terminal voltage feedback module and current adjustment module, shown in FIG. 6, according to an exemplary modality. [0098] In S749, the 120 system processor selects a modulation mode. For example, the system processor can select spatial vector pulse width modulation (SVPWM) or discontinuous pulse width modulation as the selected modulation mode. In an exemplary embodiment, the system processor 120 can select between SVPWM and DPWM based on a modulation index. The modulation index is the ratio between a desired output voltage and the DC bus voltage. While an example is described below with respect to DPWM2, it should be understood that the mode of discontinuous pulse width modulation (DPWM) can be DWPM1, DPWM2, DPWM3 or dynamic DPWM. [0099] Processor 120 can switch between SVPWM and DPWM2 equations based on the selected modulation mode. For example, if DPWM2 is selected and the current sector is "1", processor 120 uses the DPWM2 equations to estimate the voltage of phase a and uses SVPWM equations to estimate the voltages of phase b and phase c. If DPWM2 is not active, processor 120 uses the SVPWM equations to estimate the phase voltages. [00100] In S750, the system processor 120, by means of the 644 estimator shown in FIG. 6, determines a plurality of phase voltages present (control step voltages present) VXN based on the selected modulation mode. Estimator 644 uses inputs such as the plurality of voltages using a plurality of data including, but not limited to, a DC link voltage, cyclic rate to drive each phase of the inverter circuit 188, the instantaneous current polarity, a voltage across at minus one switch associated with the corresponding phase of the inverter circuit 188, and the dead time (or white time) of the inverter circuit 188. Estimate for SVPWM [00101] The terminal voltage estimation module of machine 127 uses four different equations used to calculate the phase voltages present VXN depending on two parameters, the phase current polarity and the direction of the carrier. The first parameter, carrier direction, is based on the slope of the PWM carrier waveform (shown in FIG. 5A). For the dual control case, a positive PWM carrier waveform slope is correlated to a carrier direction of one, and a negative PWM carrier waveform slope is equal to a zero carrier direction. The terminal voltage estimation module of machine 127 can determine the direction of the carrier using any known method. [00102] The second parameter used to select the VXN equation is the current polarity. The polarity of the current can be determined by the secondary processing module 116, for example. If the current is positive, the present VXN values (control step present) can be calculated by the terminal voltage estimation module of machine 127, as described below. [00103] The following table shows the four possible combinations of carrier direction and current polarity and the associated VXN equation. Table 1 where T is the ratio of dead time, where T = 2 * dead time * switching frequency (1) VIGBT_x is the voltage across the switch (IGBT) of the corresponding phase x, Vdiodo_x is the voltage across the switch (diode) of the phase corresponding x and dx is the cyclic modulation rate of phase X. [00104] Dead time is a parameter of the inverter. The dead time can be a different value based on different IGBTs and different switching frequencies. In other words, the dead time can be determined by the IGBT hardware. As described, dead time is the time between an IGBT shutdown on one phase leg before the other IGBT on the same phase leg can turn on to prevent an extremely high current condition. [00105] The equations shown in Table 1 can be implemented using a DSP. However, it must be understood that the equations in Table 1 can be modified to be performed using an FPGA. For example, the VXN equations may be different because the FPGA-based terminal voltage estimate knows exactly when the switches are on and off. The DSP may not be able to tell when the keys are on and off. Estimate for DPWM2 mode [00106] The terminal voltage estimation module of machine 127 uses four different equations to calculate the phase voltages present in VXN when in DPWM2 mode. The terminal voltage estimation module of the machine 127 selects the correct equation based on two parameters, the phase current polarity and the phase switch clamp. The following table shows the phase switch clamp information based on the sector number. Table 2 [00107] As it should be understood, the stapling pattern is different between DPWM1, DPWM2 and DPWM3. The stapling patterns are based on the instantaneous stress vector. Based on the angle of the voltage space vector, the sector number is determined by processor 120 and a corresponding phase switch is stapled. [00108] The current polarity can be determined by the secondary processing module 116, for example. If the phase current is positive, the following VXN values present are calculated by the system processor 120 (using the machine's terminal voltage estimation module 127): Ix is positive and the upper switch is clipped, then Ix is positive and the lower key is stapled, so [00109] If the phase current is negative, the following present VXN values are calculated by the system processor 120 (using the machine's terminal voltage estimation module 127): Ix is negative and the lower switch is clipped, then Ix is negative and the upper key is stapled, so [00110] For each count, the system processor 120, in an exemplary mode, determines a control step voltage present VxN for each phase, based on a current polarity in the inverter circuit 188. [00111] At any given time for a given phase of the inverter circuit 188, either the upper or lower switch is turned on or they can both be turned off (for example, dead time or white time previously described). For example, the length of time, during each PWM cycle, where the upper or lower switches are switched on may depend on the cycle rate associated with each switch of each phase in a given PWM cycle. For example, the cyclic rate of switch 430 associated with phase A can be 40% percent, which means that, in any given PWM cycle, switch 430 is on for 40% of the time, while switch 431 is on for 60 % of the time in an ideal case with no dead time inserted. However, as previously discussed, in any given PWM cycle, a very small amount of dead time is introduced during which neither the upper nor lower switch is turned on (for example, 3 microseconds), in order to prevent excessively high current. [00112] In addition, the switches can be switched on or off using the gate voltage / trigger signals, which can constitute a relatively small amount of voltage required to switch on / off a given transistor (for example, the IGBT transistor that operates key 430). [00113] The plurality of phase voltages present VAN, VBN and VCN are instantaneous voltage calculations (performed by processor 120) and are the average voltage for the current regulation interval. Processor 120 takes a VXN sample for each phase per current regulation interval. [00114] In an exemplary mode using FPGA, processor 120 determines a plurality of instantaneous voltages (for example, 2,500 measurements for VAN, VBN and VCN in a dual control mode shown in FIG. 6B), processor 120, in step S751, calculates the average of the instantaneous voltages in an active current regulation interval. [00115] Processor 120 can average the instantaneous voltages (also referred to as the average line-to-negative rail voltage), VXN, based on: where T is the total number of counts / measurement samples per PWM cycle or per control interval (for example, 5,000 counts per PWM cycle and per control interval in a single control mode or 2,500 counts per control mode in one mode dual control (considering a frequency of 5 kHz and a sample rate of 25 mHz (for example, 40 ns)). [00116] Returning to the DSP-based method in FIG. 7, in S752, the system processor 120 determines a spatial vector of the terminal voltage using the phase voltages present VXN. Processor 120 determines the spatial vector of the terminal voltage based on: [00117] Processor 120 divides the real and imaginary parts of the space vector Vs, in order to calculate the magnitude of the space vector Vs, based on: [00118] Calculating the magnitude of the space vector Vs, processor 120 determines the peak of the terminal voltage line to neutral (S753), which is the estimated terminal voltage, based on: [00119] In S755, the 120 system processor can filter the estimated voltage. The system processor 120 can filter the estimated voltage because the estimated terminal voltage may include unwanted oscillations. Therefore, in order to provide a smoother control feedback signal, filtering can be done to eliminate unwanted oscillations. In an exemplary mode, filtration can be based on low-pass filtering of the estimated terminal voltage. In an exemplary modality, low-pass filtering may constitute calculating a moving average of the estimated terminal voltage. [00120] In S756, the system processor 120, using the level calculation module 127 (the level calculator 646), can determine a peak to neutral voltage threshold (terminal voltage threshold) by means of: [00121] The square root of three is used to limit the terminal voltage in the linear region of the modulation scheme by the pulse width by spatial vectors. The DC Vdc bus voltage is a dynamic value and the terminal voltage will therefore also be a dynamic value dependent on the DC Vdc bus voltage. [00122] So, there are two gains (terminal voltage limit gain monitoring mode & terminal voltage limit gain braking mode) and, depending on the operation mode, the processor selects the corresponding gain to be multiplied by the threshold terminal voltage. The gains are selected to limit the terminal voltage from a maximum value of Vterm_max to a lower value. The value may be different for different applications where a user may want to limit the voltage to 460 V, or perhaps to 440 V. [00123] System 120 processor adjusts the terminal voltage threshold by a gain to further reduce the maximum output voltage during motor and / or braking operating conditions (allowing a user to reduce the terminal voltage threshold to a selected value) through: [00124] The gains can be selected by processor 120 according to a maximum selected voltage. [00125] System 120 processor can determine if the estimated moving average filtered terminal voltage is different from the actual terminal voltage of the machine. If so, the estimated terminal voltage can be modified by adding displacement parameters to the estimated terminal voltage value. [00126] To determine the difference, the 120 system processor compares the estimated voltage with the actual measured terminal voltage (power analyzer or oscilloscope). This comparison is made in an algorithm development phase to obtain displacement parameters. Once the displacements have been determined, the actual voltage does not need to be measured. [00127] The 120 system processor determines the estimated terminal voltage modified for the monitoring and braking modes: where the Offset_Monitoring mode of the terminal voltage is the displacement for the motor mode and the Offset_Braking mode of the terminal voltage is the displacement for the braking mode. [00128] The Offset_Motoring mode of the terminal voltage of the displacement parameters and the Offset_Braking mode of the terminal voltage can be determined by empirical data. For example, to select the displacement parameter values, system processor 120 can disable a terminal voltage compensation enable parameter to prevent feedback control. In doing so, the estimated terminal voltage will still be calculated even if closed-loop control is disabled. System 120 processor compares the estimated terminal voltage values with the actual machine terminal voltage values of the power analyzer for monitoring and braking conditions. The system processor 120 sets the Offset_Motoring Mode of the terminal voltage of the displacement parameters and the Offset_Braking mode of the terminal voltage correspondingly for monitoring and braking operations in such a way that the estimated terminal voltage and the actual measured terminal voltage are equal and / or close equal to each other. [00129] In S757, the system processor 120, through the terminal voltage feedback module 108, shown in FIGS. 1A and 6, determines a terminal voltage feedback. The system processor 120 can determine the terminal voltage feedback by determining a difference between an estimated filtered terminal voltage (after determining whether any displacement should be applied) and the terminal voltage threshold (after determining whether the terminal voltage threshold should be adjusted by a gain). In an exemplary modality, the displacements and gains are always applied at the level of terminal voltage and estimated terminal voltage. [00130] If the estimated filtered terminal voltage exceeds the terminal voltage threshold, processor 120, through the current adjustment module 107 and using the difference as a feedback parameter, can adjust the current command of the d-axis by decreasing the current command of the geometric axis-d (S758). If the current of the d-axis needs to be modified, it will change from a negative value (for example, - 110A) to a negative value with a magnitude that is greater than the current command of the initial d-axis (for example, -150A). [00131] However, if the estimated filtered terminal voltage is less than the terminal voltage threshold, processor 120 does not adjust the current command of the geometric axis-d (S759). In S760, processor 120 adjusts the current command of the geometric axis-q based on the adjustment of the current command of the geometric axis-d in order to keep the magnitude of the total current constant. Therefore, if no adjustment is made to the current command of the geometric axis-d in S759, then no subsequent adjustment to the current command of the geometric axis-q is made in S760, either. [00132] The circuit feedback described with reference to steps S757-S760 can be done by an integral proportional controller (PI) in the system processor 120. [00133] FIG. 8 illustrates adjustments in the current magnitudes of the geometric axis d / q and the corresponding angle in such a way that the total current magnitude is kept constant, according to an exemplary modality. Keeping the total current magnitude 880 the same (adjust the current command of the geometry axis-d 882 and the current control of the geometry axis-q 883) while changing the gamma angle 881 can allow a better control of the machine terminal voltage avoid overheating in the motor windings in the inverter circuit 188. [00134] Referring to FIGS. 1 and 6, in an exemplary mode, the current adjustment module 107 can be executed by the system processor 120 in order to determine the current adjustment command of the geometric axis d / q and the gamma angle (referred to as the adjustment command id, iq adjustment command and gamma angle adjustment in FIG. 6). [00135] The adjustments in the current commands of the geometric axis d / q in such a way that the magnitude of the total current is kept constant can be based on the following calculations: where Is 880 of FIG. 8 is the magnitude of the total current. The adjustment in the current command of the geometric axis-d 882 can be determined based on: [00136] Therefore, data (1) and (2), the adjustment in the current command of the geometric axis-q 883 can be determined based on: [00137] Additional details regarding how the processor 120 can determine the error, as well as the adjustments in the current command of the geometric axis d / q are described in another patent application of the inventors (US Pub. 2012/0217923), incorporated here by the reference in its entirety. Torque Compensation and Observation [00138] The torque accuracy of a control table-based control scheme is normally affected by the variation of machine parameters and abnormal operating conditions, such as inductances and flux bonding produced by a permanent magnet. [00139] Variation of the steel characteristics of the machine from different suppliers can cause different saturation behaviors along the geometric axis d / q and, in this way, vary the inductances. These machine parameter variations can change the torque generated for a selected current operating point. [00140] Understanding that each machine has different characteristics and different behavior in the variation of the parameter, it becomes difficult to achieve precise torque production using a method based only on the search table. [00141] In order to increase the robustness of these uncertainties and maintain high precision torque production, a torque estimation scheme and a torque compensator were verified. The torque observer scheme estimates an instantaneous shaft output torque. And a closed circuit torque compensation scheme adjusts the current command based on the difference between the gross torque command and the estimated torque, in such a way that the torque of the generated axis can still follow the gross reference torque in variation of machine parameter and different operating conditions. [00142] At least one exemplary modality describes a method of estimating shaft torque of an alternating current machine. The method includes determining phase current command values, estimating terminal voltage values based on actual phase current values and based on at least one of the machine's cyclic rate and dead time ratio, transforming the values of terminal voltage to derive direct voltage and quadrature representations consistent with the current command values, determine a terminal power of one or more terminals of the machine, the terminal power directly based on the direct voltage and quadrature representations of the machine and the values current control and determine an estimated machine axis torque based on terminal power according to at least one efficiency value based on machine parameters from a machine characterization. [00143] In an exemplary mode, the method additionally includes adjusting a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for a sampling interval. [00144] In an exemplary mode, the efficiency value varies with at least one of the torque command and a voltage to speed ratio. [00145] In an exemplary mode, the adjustment of the torque command includes determining an error between the torque command and the estimated axis torque, generating a saturated torque value based on the error and generating the adjusted torque command based on the saturated torque value. [00146] In an exemplary mode, adjusting the torque command includes generating the adjusted torque command based on an integral proportional function (PI). [00147] In an exemplary mode, the method additionally includes determining a mode of operation, the mode of operation being one of a braking mode and a motor mode and obtaining an efficiency table associated with the operating mode, the efficiency table including efficiency values corresponding to percentages of torque command and voltage-to-speed ratios, respectively, the efficiency table being stored in a storage device and the efficiency table including at least one efficiency value. [00148] In an exemplary mode, the method additionally includes receiving a percentage of the input torque command and an input voltage-speed ratio and determining an estimated axis power based on the terminal power and efficiency value corresponding to the percentage input torque command and input voltage-speed ratio. [00149] In an exemplary mode, determining the estimated axis torque includes determining an axis torque based on the estimated axis power and axis speed and determining the estimated axis torque by filtering the axis torque. [00150] At least one exemplary modality describes a method of estimating the axis torque of an alternating current machine. The method includes measuring phase currents associated with one or more machine stator windings, estimating terminal voltage values based on representations of the machine's measured phase currents and based on at least one of a cyclic rate and time ratio dead of the machine, transform the terminal voltage values to derive representations of direct voltage and quadrature consistent with the measured phase currents, determine a terminal power of one or more terminals of the machine, the terminal power directly based on one of the voltage values terminal values and representations of machine direct and quadrature voltage and current command values and determine an estimated machine axis torque based on terminal power according to at least one efficiency value based on machine parameters from a characterization of the machine. [00151] In an exemplary mode, the method additionally includes adjusting a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for a sampling interval. [00152] In an exemplary mode, the efficiency value varies with at least one of the torque command and a voltage to speed ratio. [00153] In an exemplary mode, the adjustment of the torque command includes determining an error between the torque command and the estimated axis torque, generating a saturated torque value based on the error and generating the adjusted torque command based on the saturated torque value. [00154] In an exemplary mode, adjusting the torque command includes generating the adjusted torque command based on an integral proportional function (PI). [00155] In an exemplary mode, the method additionally includes determining a mode of operation, the mode of operation being one of a braking mode and a motor mode and obtaining an efficiency table associated with the operating mode, the efficiency table including efficiency values corresponding to the percentages of torque command and voltage-to-speed ratios, respectively, the efficiency table being stored in a storage device and the efficiency table including at least one efficiency value. [00156] In an exemplary mode, the method additionally includes receiving an input torque command percentage and an input voltage-speed ratio and determining an estimated axis power based on the terminal power and efficiency value corresponding to the percentage of input torque command and input voltage-speed ratio. [00157] In an exemplary mode, determining the estimated axis torque includes determining an axis torque based on the estimated axis power and axis speed and determining the estimated axis torque by filtering the axis torque. At least one exemplary embodiment describes a system including a processor configured to determine phase current command values associated with an alternating current machine, to estimate terminal voltage values based on actual phase current values and based on at least one of a cyclic rate ratio and the dead time of the alternating current machine, transform the terminal voltage values to derive representations of direct voltage and quadrature consistent with the current command values, determine a terminal power of one or more terminals of the machine, the terminal power directly based on the direct voltage and quadrature representations of the machine and the current command values and determine an estimated axis torque of the machine based on the terminal power according to at least one efficiency value based on parameters of the machine from a characterization of the machine. [00158] In an exemplary mode, the processor is configured to adjust a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for a sampling interval. [00159] In an exemplary mode, the efficiency value varies with at least one of the torque command and the voltage to speed ratio. [00160] In an exemplary mode, the processor is configured to determine an error between the torque command and the estimated axis torque, generate a saturated torque value based on the error and generate the adjusted torque command based on the value of saturated torque. [00161] In an exemplary mode, the processor is configured to generate the torque command adjusted based on an integral proportional function (PI). [00162] In an exemplary mode, the processor is configured to determine an operating mode, the operating mode being one of a braking mode and a motor mode and obtaining an efficiency table associated with the operating mode, the operating table efficiency including efficiency values corresponding to percentages of torque command and voltage-to-speed ratios, respectively, the efficiency table being stored in a storage device and the efficiency table including at least one efficiency value. [00163] In an exemplary mode, the processor is configured to receive an input torque command percentage and an input voltage-speed ratio and determine an estimated axis power based on the terminal power and efficiency value corresponding to the percentage input torque command and input voltage-speed ratio. [00164] In an exemplary mode, the processor is configured to determine an axis torque based on the estimated axis power and axis speed and to determine the estimated axis torque by filtering the axis torque. [00165] At least one exemplary modality describes a system including a processor configured to measure phase currents associated with one or more stator windings of an alternating current machine, to estimate terminal voltage values based on the measured phase current representations of the machine and on the basis of at least one of a ratio of cyclic rate and machine dead time, transform the terminal voltage values to derive direct voltage and quadrature representations consistent with the measured phase currents, determine a terminal power of a or more machine terminals, the terminal power directly based on one of the estimated terminal voltage values and representations of the machine's direct and quadrature voltage and current command values and determine an estimated machine axis torque based on the terminal power of according to at least one efficiency value based on machine parameters based on a characterization of the machine. [00166] In an exemplary mode, the processor is configured to adjust a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for a sampling interval. [00167] In an exemplary mode, the efficiency value varies with at least one of the torque command and the voltage to speed ratio. [00168] In an exemplary mode, the processor is configured to determine an error between the torque command and the estimated axis torque, generate a saturated torque value based on the error and generate the adjusted torque command based on the value of saturated torque. [00169] In an exemplary mode, the processor is configured to generate the torque command adjusted based on an integral proportional function (PI). [00170] In an exemplary mode, the processor is configured to determine an operating mode, the operating mode being one of a braking mode and a motor mode and obtaining an efficiency table associated with the operating mode, the operating table efficiency including efficiency values corresponding to percentages of torque command and voltage-to-speed ratios, respectively, the efficiency table being stored in a storage device and the efficiency table including at least one efficiency value. [00171] In an exemplary mode, the processor is configured to receive an input torque command percentage and an input voltage-speed ratio and determine an estimated axis power based on the terminal power and efficiency value corresponding to the percentage input torque command and input voltage-speed ratio. [00172] In an exemplary mode, the processor is configured to determine an axis torque based on the estimated axis power and axis speed and to determine the estimated axis torque by filtering the axis torque. [00173] Referring again to FIG. 3, the torque estimation module 129 generates Test estimated torque data based on the phase voltages of the VAN, VBN and VCN inverter, generated from the terminal voltage of the above-described estimation machine. [00174] As will be described in more detail below, the torque estimation module 129 estimates terminal power directly based on terminal voltage and current commands. Efficiency converts the terminal power to the axis power. Current commands are used instead of real current to reduce oscillation in the estimated power. The torque estimation module 129 estimates machine shaft torque based on the estimated power, measured speed and operational point efficiency information. The efficiency information of the operational point is stored in a search table, which is obtained during an engine characterization stage. [00175] During motor characterization, multiple current commands are used at different speed points, which generates MTPA (maximum torque per amp) and MTPV (maximum torque per volt) curves. Many items are recorded such as phase current, phase voltage, torque, speed, etc. Efficiency data is generated by recording the machine's input power (terminal power) and also axis power. Dividing the axis power by the input power for each operating point characterized, an efficiency search table is generated. Then, the entries in the search table are the percentage of torque command and voltage / speed ratio. The output will be an efficiency value. [00176] In general, motor characterization is a procedure used to determine commands of the geometry-d axis and geometry-q axis for a specific speed and torque command. The procedure is repeated on multiple torque commands and multiple speeds. Any known engine characterization procedure can be used. [00177] The torque estimation module 129 does not need to use machine parameter information. [00178] The torque estimation module 129 includes the module for calculating the rotor position θv 310 that determines the position of the rotor θv for a Park transformation in the phase voltages VAN, VBN and VCN. The rotor position calculation module 310 determines the rotor position θv based on a rotor position used for a Park transformation in phase currents θp or an extrapolated rotor position used for an inverse Park transformation in SVPWM θe. [00179] The position of the θp rotor is the position value of the real rotor (of a solver) at the same time that the phase currents are sampled. θe is calculated by the processor from θp, dead time, PWM period and speed. [00180] FIGS. 9A-9C illustrate different examples of calculating the θv rotor position. [00181] FIG. 9A illustrates an exemplary way of determining the position of the θv rotor using dual voltage DSP based terminal voltage estimation. [00182] FIG. 9A illustrates four control cycles, which are equivalent to two PWM switching cycles using dual control. Using the k-th control cycle as an example, the 120 system processor performs numerous tasks. [00183] When the phase current information in the k-th cycle, that is, is ready, the system processor 120 obtains this current information. With the position of the rotor at this time after compensation, that is, the position of the rotor, transformation of Park in the phase currents is carried out to obtain the actual current . [00184] Current regulation controller 111 generates Voltage reference based on actual current information and current command . [00185] The PWM 112 module generates three-phase cyclical rates based on . Although is generated in the k-th cycle, it is only effective in the k + 1-th cycle. And, in the k-th cycle, the actual effective cyclical rates used to control are . Because of the cyclic rate shading mechanism, the extrapolated position, this ,, is used in SVPWM in step k. [00186] For double control, the relationship between in PWM_Theta_Extropolation_Down Mode it can be expressed as: where Ts means the control iteration period (denote PWM switching cycle period as Ts, sw, for simple control Ts = Ts, sw, while, for double control, Ts = Ts, sw / 2). [00187] How to understand Up Mode and Down Mode refer to the positive and negative slopes, respectively, of the PWM waveform. [00188] For the PWM_Theta_Extropolation_Up mode, the equation for position extrapolation is different, and can be expressed as: [00189] The terminal voltage estimation scheme of the machine, previously described, is performed by the system processor 120 in this step k, which uses information such as cyclical rate information , phase current information DC bus voltage . The estimated terminal phase voltage . [00190] Referring to FIG. 9A, the time of the rotor position is synchronized with the time of the mean of. Therefore, the system processor 120 calculates the rotor position as: or determined by: [00191] As it should be understood, k means the index of the control iteration (cycle). The k index after the variable indicates the corresponding variable that is used in the control iteration. For example, the position of the rotor means the position of the rotor that is used in the k-th iteration of control. Another example, the position of the rotor means the position of the rotor that is used in the k-th iteration of control. Although the rotor position is an extrapolated position and locates in the next control cycle, that is, k + 1-th, the k-th control iteration is calculated and used. [00192] FIG. 9B illustrates an exemplary way of determining the position of the θv rotor using dual voltage FPGA-based terminal voltage estimation. The time of the rotor position is still synchronized with the time of the mean of. [00193] Considering the time period used to estimate the terminal voltage by the FPGA method, the system processor 120 calculates the rotor position as: or: [00194] The 23.2us is the sum of the hardware delay and the FPGA filter delay. The filter delay is determined by the order of the filters. Therefore, the value for the sum of the delays could be variable because of the different structure and order of the filters. [00195] The lower waveform illustrates when the DSP interrupt service routine (ISR) triggers, and the maximum amount of time the DSP has to execute the entire engine control algorithm. [00196] FIG. 9C illustrates an exemplary way of determining the position of the θv rotor using a simple control FPGA-based terminal voltage estimate. [00197] In the k-th control cycle, the current command is available, which is the same as in the previous case. The system processor 120 calculates the phase voltages present in the k-1-th cycle, and then uses the k-1-th control cycle. The position of the rotor used to transform the voltage Park in the k-th cycle is like the position of the rotor, which is located at the midpoint of a Ts. The relationship between the rotor positions and can be expressed as: or: [00198] Referring again to FIG. 3, the Park 315 transformation module obtains the rotor position θv from the rotor position calculation module 310. The Park 315 transformation module performs a Park transformation on the phase voltages present VABCN to generate axis voltages geometric d-q of the rotating reference frame Vdq. [00199] As should be understood, frame of reference refers to a coordinate system used to represent and measure properties such as position (for example, angular rotational position), speed, torque, electrical parameters and motor rotor orientation , the motor stator, or both. In a rotating frame of reference, the instantaneous stator currents of a multiphase motor can be expressed as a single complex stator current vector in a Cartesian coordinate system. If a Park transform or a similar transform is applied to the current vector of the complex stator, the frame of reference has components of the direct geometric axis (geometric axis-d) and geometric quadrature axis (geometric axis-q) that rotate with the flow position of the rotor (for example, maximum location in the magnetic field). For a motor with permanent magnets attached to the rotor, the flow position of the rotor does not change with respect to the rotor, opposite to where electromagnets are used in certain rotors. [00200] The 120 system processor obtains voltage components in a biphasic stationary reference frame. In a stationary frame of reference, the position (eg, angular rotational position), rotational speed, torque, electrical parameters and orientation of the rotor, stator, or both, are observed from a stationary observer point of view. A stationary frame of reference can refer to the case where the frame of reference is aligned with the motor stator, or where the geometrical-d axis and the geometrical-q axis do not rotate with the rotor. For the rotor or stator, a stationary frame is mutually exclusive to a rotating frame. [00201] The voltage components are equivalent to the Vs_real and Vs_imaginary voltage components, respectively, which are determined in the power estimate of the aforementioned machine, such as: [00202] The 120 system processor performs the Park transformation as: [00203] To further reduce the oscillation in the calculated Vdq, a moving average can be implemented. The length of the window for the moving average can vary according to the rates of execution of the Park transform in the voltage and moving average functions. For example, a window length of 10 ms can be used. If the PWM frequency is 6,000 Hz, the 60-step moving average is equivalent to 60/6 = 10 ms. [00204] The terminal power estimation module 320 obtains the dq geometric axis voltages from the rotary reference frame Vdq of the Park 315 transformation module. The terminal power estimation module 320 generates an estimated Pest terminal power based on the voltages Vdq and in the final current commands id *, iq *, which can be the current commands iq_cmd, id_cmd or their adjusted values if the estimated terminal voltage is above the terminal voltage threshold. [00205] The terminal power estimation module 320 is based on the basic relationship between terminal machine power, axis torque, voltage and current. From a mechanical point of view, the terminal input power can be expressed as: where are the total power losses, which include loss from copper, core leg, friction & air displacement, etc., and it is the axle speed, it is the axle torque. From an electrical point of view, the terminal input power can be expressed as: [00206] Since the current information of the real dq geometric axis can have large oscillations around the respective reference values, the current commands of the final geometric axes dq id *, iq * are used in the power estimate. Therefore, system processor 120 calculates the estimated terminal power Pest as: [00207] The torque estimation module for axis 330 obtains the estimated terminal power Pest from the estimation module for terminal power 320. The torque estimation module for axis 330 generates an estimated torque based on the estimated terminal power Pest, an interpolated efficiency ne oshaft axis speed. The speed of the oshaft axis can be obtained using any known method. [00208] In an IPM characterization procedure, machine efficiency data corresponding to the combination of each percentage of torque command and voltage-speed ratio are available. Similar to the current search table for the geometric axis d-q, an efficiency search table is also created from the characterization, which also uses percentages of ratio and torque command as inputs. Whereas the efficiency table and current search tables have the same inputs, the efficiency search table is connected in parallel with the id and iq search tables (for example, 109) to share the same inputs. In the case of separate monitoring and braking characterization, there will be two different efficiency search tables for monitoring and braking modes. [00209] The efficiency extraction module 325 includes efficiency search tables (stored in data storage devices 260) for monitoring and braking modes, respectively. Based on the percentage of the torque command, ratio and mode, the efficiency extraction module 325 uses the search table associated with the mode and produces the interpolated efficiency n. [00210] For motor mode, [00211] While, for braking mode, [00212] The axis torque estimation module estimates the Test torque as follows: [00213] Once the operational point efficiency data was collected during the IPM characterization stage, the interpolated efficiency η under any speed and loading condition can be used by the torque estimation module of axis 330 to deal with losses of power such as: [00214] To additionally filter noise at the estimated torque, a second-order low-pass filter can be used by the torque estimation module for axis 330. And the final expression for torque estimated by the torque estimation module for axis 330 is: where A is the second-order low-pass filter CC gain. [00215] The torque compensation module 131 uses an error between estimated axis torque and raw torque command to adjust the raw torque command. The torque compensation module 131 reduces the error between estimated torque command and gross torque. Since only the torque command has been modified, the path of the current command is further determined by the current search table for the d-q axis, which forces the current commands to near optimal efficiency. [00216] The torque compensation module 131 is configured to generate the final torque command data Tcmd_final based on the estimated torque data Test from the axis torque estimation module 330. The torque compensation module 131 can be based rotating or PI-based. [00217] FIG. 10 illustrates a torque compensation scheme based on rotation according to an exemplary modality. [00218] As shown in FIG. 10, a 131A torque compensation module determines a difference between the estimated torque data Test and the torque command Tcmd, which is identified as Terr. The 131A torque compensation module passes the difference through a 1030 limiter. The limits of the 1030 limiter are determined based on a system level and based on empirical data. They are determined by the processor based on the machine to which the 188 inverter circuit is electrically connected. For example, if a machine has a very large nominal torque, the error limiter will be greater than if a machine has a much smaller nominal torque. [00219] Limiter 1030 produces a Saturated difference Terr_sat for a determination unit 1050. The torque compensation module 131A then determines whether the Saturated difference Terr_sat is greater than a margin of error. Similar to the limiter limits, the margin of error is determined based on the level of the system and based on empirical data. If the Saturated difference Terr_sat is less than or equal to an error margin, the unit of determination 1050 determines that the final torque command Tcmd_final for a kth cycle is the final torque command for the previous k-1th cycle. If the sat_sat difference is greater than a margin of error, the unit of determination 1050 determines that the final torque command Tcmd_adj for a kth cycle is the final torque command for the previous k-1th cycle plus the difference saturated Terr_sat. [00220] FIG. 11 illustrates a torque compensation scheme based on PI according to an exemplary modality. A 131B torque compensation module includes a PI 1105 regulator. [00221] The PI 1105 regulator generates an adjustment in the gross torque command Tcmd. This adjustment is added to the gross torque command Tcmd to form a compensated torque command Tcmd_compensate. [00222] The PI 1105 regulator obtains an error between the gross torque command Tcmd and the estimated torque Test. The PI 1105 regulator obtains PI gains from a table 1110. PI gains are adjusted in line. PI gains are adjusted in a laboratory test. The gains are established by determining values for rise time, steady state error, and other design characteristics of the PI controller system. Once the gains are made, they are stored on the 260 data storage device. [00223] The PI 1105 regulator also obtains limits from a table 1115 and an integrator retains the signal from an integrating generator 1120. The limits in table 1115 include both limits of the sum of the integrator and PI. The limits are established as a percentage of the gross torque command. For example, the limits can be 10% of the gross torque command, so for a gross torque command of 100 Nm, the integrator and sum limits are 10 Nm. This will give a maximum adjusted torque command of 10 Nm and a maximum final torque command of 110 Nm. [00224] The PI 1105 regulator is also configured to obtain a reset signal. The reset signal can be generated by an OR gate whenever a PI rest enable signal, a switching control disable signal or torque compensation disable signal is received. Upon restoration, the value of the integrator is restored. [00225] The PI 1105 regulator produces a torque command adjustment term, ΔT, based on the error, gains and PI limits. [00226] An adder 1130 adds the raw torque command Tcmd and the adjustment of the torque command Tcmd_adj. The output of the 1130 adder is fed into a torque control limiter 1135 which produces the adjusted torque control adjusted Tcmd_compensate. The torque control limiter 1135 prevents the sum of the raw torque command Tcmd and the torque command setting Tcmd_adj from exceeding a torque limit. [00227] FIG. 12 illustrates a method of generating the upper / lower torque limits for the torque control limiter 1135, according to an exemplary modality. [00228] Based on the speed-torque curve, the customer's nominal torque Cust_Rated_Torq_Nm is obtained. Based on a ratio-torque curve, the Base_Torq base torque is obtained. Based on motor characterization data, base torque values are respectively associated with discrete speed points with a nominal DC bus voltage level. During the IPM motor characterization procedure, each rotor speed featured on the shaft has a maximum output torque that is defined as the base torque at that speed. Thus, the base torque can also be referred to as a peak torque. [00229] The minimum of the customer's nominal torque and base torque is used as a rated torque Rated_Torq_Nm. And then the upper and lower torque limits are determined by the products of nominal torque and percentage of torque reduction (Torq_Upper / Lower_Limit_pct_out). [00230] The upper and lower limits are then determined by the product of the rated torque Rated_Torq_Nm and the percentage of reduction of the upper / lower torque. These percentages range from 0% (fully reduced) to 100% (not reduced). There are several ways in which the upper / lower torque reduction percentages are calculated. In an exemplary mode, there may be a reduction in torque for high machine temperature, high inverter temperature, DC bus voltage, machine speed, hardware limits, etc. The most severe torque reduction (lowest percentage) is used as the final torque reduction value. [00231] The rated torque is limited to a characterized peak torque and also hardware torque command limit. [00232] Referring again to FIG. 11, a selector 1140 selects one from the raw torque command Tcmd and the compensated torque command Tcmd_compensate as the final torque command Tcmd_final. [00233] Selector 1140 receives a Torq_Comp_Enable signal to determine which torque command, raw torque command Tcmd or compensated torque Tcmd_compensate, should be used as the actual final torque command Tcmd_final. [00234] There are several examples to determine the value of Torq_Comp_Enable, that is, whether the torque compensator is enabled or not. For testing purposes, a manually altered global flag can be used. In another exemplary modality, the Torq_Comp_Enable signaling can be based on speed. For example, the system processor can enable the torque compensator if the speed exceeds 1,000 RPM. This speed-dependent enabling feature can be implemented using hysteresis or relay. [00235] FIG. 13 illustrates a method of estimating and compensating torque according to an exemplary modality. The method of FIG. 13 can be performed by the processor 120 and, more specifically, the terminal voltage estimation module of the machine 127, the torque estimation module 129 and the torque compensation module 131. [00236] In S1305, processor 120 determines phase currents (ia, ib and ic). In S1310, processor 120 estimates the terminal voltage of the machine. For example, the terminal voltage can be estimated using the method shown in FIG. 7. The processor then transforms the terminal voltage estimated at S1315. For example, the Park 315 transformation module obtains the rotor position θv from the rotor position calculation module 310. The Park 315 transformation module performs a Park transformation in the real and imaginary portions of the estimated terminal voltage for generate stresses of the geometric axis dq of the rotary reference frame Vdq. The processor then determines a terminal power at S1320. For example, the terminal power estimation module 320 obtains the dq geometric axis voltages from the rotary reference frame Vdq of the Park 315 transformation module. The terminal power estimation module 320 generates an estimated Pest terminal power based on the voltages Vdq and in the final current commands id *, iq *, which can be the current commands iq_cmd, id_cmd or their adjusted values if the estimated terminal voltage is above the terminal voltage threshold. [00237] In S1325, the processor determines an estimated axis torque. The estimated axis torque can be the estimated interpolated efficiency n at any speed and loading condition that can be used by the axis torque estimation module 330 to deal with power losses such as: [00238] To additionally filter noise at the estimated torque, a second-order low-pass filter can be used by the torque estimation module for axis 330. And the final expression for torque estimated by the torque estimation module for axis 330 is: [00239] Exemplary modalities being thus described, it will be obvious that they can be varied in many ways. Such variations should not be considered a deviation from the spirit and scope of exemplary modalities, and any such modifications that are obvious to those skilled in the art should be included in the scope of the claims.
权利要求:
Claims (16) [0001] 1. Method for estimating shaft torque of an alternating current machine, characterized by the fact that it comprises: determining phase current command values (S1305); estimate terminal voltage values (S1310) based on real phase current values and based on at least one of a cyclic rate and machine dead time ratio; transform the terminal voltage values (S1315) to derive representations of direct voltage and quadrature consistent with the current command values; determine a terminal power (S1320) of one or more terminals of the machine, the terminal power directly based on the representations of direct voltage and quadrature of the machine and the current command values; and determine an estimated axis torque (S1325) of the machine based on the terminal power according to at least one machine efficiency value based on machine parameters from a machine characterization, where the at least one efficiency value varies with at least one of the corresponding torque command value and a voltage to speed ratio. [0002] 2. Method according to claim 1, characterized by the fact that it additionally comprises: adjusting a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for a sampling interval. [0003] 3. Method according to claim 2, characterized by the fact that the current command values are derived from a corresponding torque command. [0004] Method according to either of claims 2 or 3, characterized in that the adjustment of the torque command includes: determining an error between the torque command and the estimated axis torque, generating a saturated torque value based on in the error and limits associated with nominal machine torque, and generate the adjusted torque command based on the saturated torque value. [0005] Method according to either of claims 2 or 3, characterized in that the adjustment of the torque command includes: generating the adjusted torque command based on an integral proportional function (PI). [0006] Method according to any one of claims 1 to 5, characterized in that it further comprises: determining a mode of operation, the mode of operation being one of a braking mode and a motor mode; and obtain an efficiency table associated with the mode of operation, the efficiency table including efficiency values corresponding to percentages of torque command and voltage-to-speed ratios, respectively, the efficiency table being stored in a storage device and the table efficiency including at least one efficiency value. [0007] 7. Method according to claim 6, characterized by the fact that it additionally comprises: receiving a percentage of input torque command and an input voltage-speed ratio; and determining an estimated axis power based on the terminal power and efficiency value corresponding to the input torque command percentage and the input voltage-speed ratio. [0008] 8. Method according to claim 7, characterized by the fact that determining the estimated axle torque includes: determining an axle torque based on the estimated axle power and the axle speed, and determining the estimated axle torque by filtering the axle torque. [0009] 9. System for estimating shaft torque of an alternating current machine, characterized by the fact that it comprises: a processor configured to: determine phase current command values (S1305) associated with an alternating current machine; estimate terminal voltage values (S1310) based on actual phase current values and based on at least one of a cycle rate and dead time ratio of the alternating current machine; transform the terminal voltage values (S1315) to derive representations of direct voltage and quadrature consistent with the current command values; determine a terminal power (S1320) of one or more terminals of the machine, the terminal power directly based on the representations of direct voltage and quadrature of the machine and the current command values; and determine an estimated axis torque (S1325) of the machine based on terminal power according to at least one efficiency value based on machine parameters from a characterization of the machine, where the at least one efficiency value varies with at least one of the corresponding torque command value and a voltage to speed ratio. [0010] 10. System according to claim 9, characterized by the fact that the processor is configured to adjust a torque command applied to the machine in such a way that the estimated axis torque is substantially equal to a torque command for an interval of sampling. [0011] 11. System according to claim 10, characterized by the fact that the current command values are derived from a corresponding torque command. [0012] 12. System according to claim 10, characterized by the fact that the processor is configured to: determine an error between the torque command and the estimated axis torque, generate a saturated torque value based on the error and limits associated with nominal torque for the machine, and generate the torque command adjusted based on the saturated torque value. [0013] 13. System according to claim 10, characterized by the fact that the processor is configured to: generate the torque command adjusted based on an integral proportional function (PI). [0014] System according to any one of claims 9 to 13, characterized in that the processor is configured to: determine a mode of operation, the mode of operation being one of a braking mode and a motor mode, and obtaining a efficiency table associated with the mode of operation, the efficiency table including efficiency values corresponding to percentages of torque command and voltage-speed ratios, respectively, the efficiency table being stored in a storage device and the efficiency table including at least one efficiency value. [0015] 15. System according to claim 14, characterized by the fact that the processor is configured to: receive an input torque command percentage and an input voltage-speed ratio, and determine an estimated axis power based on the power terminal and the efficiency value corresponding to the input torque command percentage and the input voltage-speed ratio. [0016] 16. System according to claim 15, characterized by the fact that the processor is configured to determine an axis torque based on the estimated axis power and the axis speed, and determine the estimated axis torque by filtering the torque of the axis. axle.
类似技术:
公开号 | 公开日 | 专利标题 BR102014032512B1|2021-01-19|method and system for estimating shaft torque of an alternating current machine US9270223B2|2016-02-23|Methods of determining machine terminal voltage and systems thereof US9071186B2|2015-06-30|Method and apparatus for controlling an alternating current machine CN105471346B|2020-04-10|Method of estimating rotor magnet temperature and system thereof BR112013022024B1|2021-01-19|method to generate initial operational points to control a machine with permanent inner magnet, and, computer processing unit US8744794B2|2014-06-03|Method and apparatus for characterizing an interior permanent magnet machine US9735722B2|2017-08-15|Methods of controlling a machine using a torque command limit derived from a current limit and systems thereof JP2014515244A|2014-06-26|Method and system for controlling an electric motor with temperature compensation US10418929B2|2019-09-17|Synchronous machine control device and permanent magnet temperature estimation method for synchronous machine BR112013022009B1|2021-06-08|method and system for controlling an electric motor in or near stall operating conditions BR112013022015B1|2020-12-01|interior permanent magnet machine system, and method for controlling an interior permanent magnet machine BR102015032076A2|2016-08-02|motor control unit, and method for tuning a current regulator US9802642B2|2017-10-31|Phase current measurement diagnostic US10044310B2|2018-08-07|Methods of auto tuning machine parameters and systems thereof JP6135713B2|2017-05-31|Motor control device, magnetic flux command generation device, and magnetic flux command generation method JP5534991B2|2014-07-02|Control device for synchronous motor WO2016092910A1|2016-06-16|Control device and control method BR112015024835B1|2021-11-03|CONTROL DEVICE FOR CONTROLLING AN ALTERNATING CURRENT MACHINE, AND, METHOD FOR DETERMINING AN ESTIMATED TERMINAL VOLTAGE OF AN INVERTER FOR AN ALTERNATING CURRENT MACHINE JP5798513B2|2015-10-21|Method and apparatus for detecting initial magnetic pole position of permanent magnet synchronous motor, and control apparatus for permanent magnet synchronous motor JP2021040357A|2021-03-11|Power conversion device and power conversion method Luukko et al.2007|Estimation of rotor and load angle of direct-torque-controlled permanent magnet synchronous machine drive BR112015024832B1|2021-12-07|CONTROL DEVICE, AND, METHOD FOR CONTROLLING AN AC MACHINE Purti et al.2015|Performance assessment of rotor flux and reactive power based MRAS for speed sensorless induction motor drive in a common test rig BR112015017526B1|2021-12-07|DRIVE SYSTEM AND METHOD TO ESTIMATE A ROTOR POSITION IN A MOTOR
同族专利:
公开号 | 公开日 EP2889999B1|2017-09-06| CN104753423B|2019-03-05| US9442029B2|2016-09-13| EP2889999A1|2015-07-01| BR102014032512A2|2016-10-18| US20150185095A1|2015-07-02| CN104753423A|2015-07-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 JP3755424B2|2001-05-31|2006-03-15|トヨタ自動車株式会社|AC motor drive control device| DE102009046583A1|2009-11-10|2011-05-12|Robert Bosch Gmbh|Method for plausibilizing the torque of an electrical machine and machine controller for controlling an electrical machine and for carrying out the method| US8519662B2|2010-05-26|2013-08-27|Rockwell Technologies, Inc.|Method and apparatus for controlling motor torque| CN201910764U|2010-12-14|2011-07-27|长春工业大学|Permanent magnet synchronous motor direct torque control system based on terminal sliding mode| US8450962B2|2011-02-28|2013-05-28|Deere & Company|System for controlling a motor| US9071186B2|2013-04-12|2015-06-30|Deere & Company|Method and apparatus for controlling an alternating current machine|US9595907B2|2014-03-28|2017-03-14|Deere & Company|System and method for controlling modulation of an inverter| US9768719B2|2015-09-18|2017-09-19|Faraday&Future Inc.|Methods and apparatus for generating current commands for an interior permanent magnetmotor| CN108012576B|2016-01-22|2021-04-20|东芝三菱电机产业系统株式会社|Speed control device for motor| US9748882B1|2016-03-28|2017-08-29|Amazon Technologies, Inc.|Integrated motor driver/controller with sensorless or sensored commutation| KR101897327B1|2016-04-25|2018-09-11|국방과학연구소|Real-time off-set removal method of force measuring sensor| WO2018037981A1|2016-08-24|2018-03-01|日本精工株式会社|Electric power steering device| US10093184B2|2016-09-09|2018-10-09|Ford Global Technologies, Llc|Direct current voltage clamping in a vehicle| JP2018087535A|2016-11-29|2018-06-07|三菱重工サーマルシステムズ株式会社|Rotational speed control device, rotary compressor system, control system and rotational speed control method| US20190186480A1|2017-12-17|2019-06-20|Microchip Technology Incorporated|Closed Loop Torque Compensation for Compressor Applications| US10686393B2|2018-02-05|2020-06-16|Zhongshan Broad-Ocean Motor Co., Ltd.|Method for correcting compensation item of permanent magnet synchronous motor | CN108494295B|2018-03-13|2021-02-19|江西精骏电控技术有限公司|Model-based nonlinear compensation and temperature compensation method for alternating current motor inverter| RU2706416C1|2018-12-03|2019-11-19|Федеральное государственное бюджетное образовательное учреждение высшего образования "Казанский национальный исследовательский технический университет им. А.Н. Туполева-КАИ" |Valve electric drive| CN110962631B|2018-12-29|2020-11-17|宁德时代新能源科技股份有限公司|Battery heating system and control method thereof| CN109713950B|2019-02-20|2020-07-31|浙江大学|Suppression system and method for torque ripple of permanent magnet synchronous motor| CN110729941B|2019-10-29|2021-04-02|中车永济电机有限公司|Control method of built-in permanent magnet synchronous motor| CN110729942B|2019-11-04|2020-11-03|广州新科佳都科技有限公司|Servo control method and device for door leaf module, electronic equipment and storage medium| CN110843550B|2019-11-14|2021-06-18|深圳市福瑞电气有限公司|Method for eliminating low-speed jitter of electric automobile| US20210242761A1|2020-01-31|2021-08-05|Deere & Company|Method and apparatus for operating a dual rotor electrical machine|
法律状态:
2016-10-18| B03A| Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]| 2018-10-30| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-06-23| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2020-12-08| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2021-01-19| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/12/2014, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US14/141,709|US9442029B2|2013-12-27|2013-12-27|Methods of torque estimation and compensation and systems thereof| US14/141,709|2013-12-27| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|