Motor angle position oscillation compensation
Patent Information
- Application Number
- CN202610362595.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-07
- Filing Date
- 2026-03-24
- Publication Date
- 2026-10-23
Smart Images

Figure CN122969424A_ABST
Abstract
Description
Technical Field
[0001] Various embodiments relate to electric vehicles and to dynamically compensating for rotor position offsets in motors. Background Technology
[0002] An electric motor can be combined with a synchronous motor having a stator and a rotor with permanent magnets. It may be necessary to determine the rotor's position to meet the control requirements of the electric motor. Various systems can use such motors, including hybrid electric vehicles (HEVs), plug-in hybrid electric vehicles (PHEVs), and battery electric vehicles (BEVs) (collectively referred to below as "electric vehicles"). Electric vehicles may also be equipped with a battery that stores electricity to power the motor. In some electric vehicles, the motor may also function as a generator, powered by an internal combustion engine, to generate electricity to charge the battery. Summary of the Invention
[0003] A vehicle propulsion system includes: an electric motor having a shaft-mounted rotor and a surrounding stator; and a processor that outputs a resolver speed signal whose amplitude envelope remains stable as shaft runout increases. The processor can reduce the amplitude envelope relative to the original resolver speed signal derived from current position parameters. To mitigate the effects of misalignment caused by shaft runout, the processor generates compensation parameters based on gain and phase shift, and can update the gain according to the amplitude envelope of the resolver speed signal. This compensation is then applied to the current position parameters associated with the rotor.
[0004] A method for processing a rotor speed signal in an electric motor includes detecting when an oscillation in the original rotor speed signal exceeds a threshold, and, in response, compensating the signal to generate a corrected rotor speed signal. This corrected signal maintains an amplitude envelope lower than that of the original signal, even when the resolver misalignment changes. The compensation process involves generating parameters based on a gain and phase shift associated with the rotor, applying these parameters to a current position value, and optionally updating the gain based on the amplitude envelope of the corrected signal. The original rotor speed signal is derived from the same current position parameters.
[0005] A vehicle control system includes a processor that generates a corrected resolver speed signal from a raw resolver speed signal associated with a motor. The amplitude envelope of the corrected signal remains lower than that of the raw signal and does not increase as resolver misalignment worsens. To achieve this, the processor generates compensation parameters based on gain and phase shift, which correct for the misalignment. The processor can also update the gain based on the amplitude envelope of the corrected signal and apply the compensation parameters to a current position value associated with the motor's rotor. Attached Figure Description
[0006] Figure 1 It is a perspective view of the motor, including the stator, rotor, and shaft.
[0007] Figure 2 It is a graph of rotor speed versus time.
[0008] Figure 3A It is a graph of rotor position versus time.
[0009] Figure 3B It is a graph of rotor speed versus time.
[0010] Figure 4A It is a graph showing the time elapsed due to rotor misalignment.
[0011] Figure 4B is a graph of rotor speed versus time.
[0012] Figure 4C is a graph of the rotor speed compensation signal versus time.
[0013] Figure 5 This is a flowchart of an algorithm used to compensate for the original rotary transformer data. Detailed Implementation
[0014] Detailed embodiments are provided below. However, these embodiments are intended as examples only, and various alternative forms and configurations may be adopted. The drawings are not drawn to scale. Certain features may be enlarged, minimized, or omitted to highlight specific details of particular components. Therefore, the structural and functional details described herein should not be construed as limiting, but rather as illustrative examples to guide those skilled in the art to apply the described concepts in different ways.
[0015] Figure 1 An exemplary rotor position sensing system 100 for sensing electrical data including the speed, position, and voltage of an electric motor is depicted. The rotor position sensing system 100 can be incorporated, for example, into an electric vehicle or any electric motor system. The rotor position sensing system 100 determines the rotor position of a motor (e.g., a motor and / or generator). In one embodiment, the rotor position sensing system 100 includes a sensor 110 (or resolver 110), a controller 120, and a traction battery 130. The sensor 110 and controller 120 can draw current from the traction battery 130 to power operation. The controller 120 can actuate systems such as the rotor position sensing system 100, an electric motor, etc. The motor may include a shaft 102 powered by the electric motor and configured to generate rotational torque. As an example, the shaft 102 may be included in an electric vehicle powertrain.
[0016] Traction battery 130 stores energy that can be used by the motor. Traction battery 130 can provide a high-voltage direct current (DC) output. A contactor module may include one or more contactors configured to isolate traction battery 130 from the high-voltage bus when open and connect traction battery 130 to the high-voltage bus when closed. The high-voltage bus may include power and return conductors for carrying current on the high-voltage bus. The contactor module may be located within traction battery 130. One or more power electronic modules may be electrically connected to the high-voltage bus. The power electronic modules are also electrically coupled to the motor and provide the ability to transfer energy bidirectionally between traction battery 130 and the motor. For example, traction battery 130 can provide DC voltage, while the motor can operate on three-phase alternating current (AC). The power electronic modules can convert the DC voltage to three-phase AC current to operate the motor. In regenerative mode, the power electronic modules can convert three-phase AC current from the motor acting as a generator to a DC voltage compatible with traction battery 130.
[0017] The motor can be a permanent magnet synchronous motor (PMSM) type machine. The PMSM motor includes a rotor 112 and a stator 114. The stator 114 may include windings for generating a magnetic field to rotate the rotor. The current through the stator windings can be controlled to change the magnetic field acting on the rotor 112. The rotor 112 includes permanent magnets that form a magnetic field that interacts with the stator magnetic field to cause the rotor 112 to rotate. The rotor speed can be controlled by the frequency of the magnetic field generated by the stator 114.
[0018] The rotor 112 can rotate about a central axis relative to the stator 114. The motor can be controlled by flowing a generally sinusoidal current through the stator windings (e.g., wires wound around the teeth of the stator 114). The amplitude and frequency of the current can be varied by the controller 120 to control the torque and speed of the rotor 112. The current in the stator 114 forms an electromagnetic field that interacts with permanent magnets that are part of the rotor 112. This electromagnetic field causes the rotor 112 to rotate. The motor can be configured as a three-phase motor. That is, the stator windings may include three separate phase windings. To control the motor, three-phase voltage or current waveforms are applied to the phase windings. The three-phase waveforms separate each phase signal by 120 degrees.
[0019] Sensor 110 may be a resolver, encoder, speed sensor, or other position sensor associated with the motor. In this embodiment, sensor 110 is a resolver. Sensor 110 monitors the angular position of rotor 112, which is fixed to shaft 102 of the motor. Sensor 110 transmits information, such as rotor position information about rotor 112 and shaft 102, to controller 120.
[0020] The rotor and stator may become misaligned. During assembly, the resolver rotor can be coupled to the motor shaft. The zero position of the resolver can be aligned with the d-axis of the rotor's expected rotor flux field and control field. For example, the rotor may include a notch corresponding to the rotor flux field. The shaft may include a notch configured to mate with the notch in the rotor to provide initial alignment between the resolver value and the rotor flux field. The desired alignment can be such that at zero angle, the motor's U-phase is aligned with the center of the resolver's sinusoidal winding. Alternatively, the resolver can be mounted in a fixed manner relative to the stator such that the rotor flux field is aligned with the d-axis. This can provide an initial estimate of the rotor flux field position and the d-axis. However, due to various conditions including manufacturing and assembly tolerances, shaft runout may increase with prolonged use, etc. Therefore, the d-axis and rotor flux field may not be aligned, and the resolver value used for alignment may not be accurately known. In configurations where there is no physical alignment device, the method of knowing the alignment can be used for management control. For example, the resolver value corresponding to the offset angle between the rotating coordinate system and the stationary coordinate system can be known. This relationship can be expressed as resolver offset. For example, adding the offset to the resolver angle can produce the correct resolver value, at which the rotor magnetic flux field is aligned with the d-axis of the rotating reference coordinate system. Once the resolver offset is identified, it can be stored in non-volatile memory for continued use.
[0021] Figure 2 Waveform data generated by an misaligned resolver is shown. Controller 120 can receive data from the resolver before applying any compensation (e.g., the original data). Specifically, speed oscillations may be caused by any fault leading to misalignment (such as manufacturing defects, eccentricity, shaft runout, etc.). The waveform may have an amplitude envelope. The amplitude envelope is the amplitude limit of the waveform. Controller 120 can store a specified amplitude envelope to be achieved after compensation is applied. In this example, the revolutions per minute indicated by the resolver oscillates within the amplitude envelope before compensation, and the amplitude envelope is greater than the specified envelope. Misalignment in the resolver may become apparent or increase over time due to wear. Controller 120 can dynamically add the offset to the resolver angle to produce a correct resolver value at which the rotor flux field is aligned with the d-axis of the rotating reference coordinate system. That is, controller 120 can compensate for or correct the original resolver data. Controller 120 can apply a stored algorithm including multiple equations to compensate the original data. For example, the algorithm may include the following equations:
[0022] Equation 1:
[0023]
[0024] The controller 120 can receive discrete signals A, B, and Z from the incremental decoder on the control board. The position is calculated based on a 24-bit counter, as shown in Equation 1.
[0025] Equation 2:
[0026]
[0027] The controller 120 can use Equation 2 to calculate the specific compensation position to be applied to the original data (e.g., waveform data depicting data from an misaligned resolver). G is the system gain based on the rotational speed of the rotor 112. It is a phase shift. n is the order of the compensated signal with reference to the position sensing fundamental harmonic.
[0028] Equation 3:
[0029]
[0030] According to Equation 3, the controller 120 can add the compensated position calculated by Equation 2 to the original position data. The compensated position eliminates the first harmonic component caused by misalignment.
[0031] Equation 4:
[0032]
[0033] Equation 5:
[0034]
[0035] The controller 120 can use Equation 4 to calculate the position difference between the original data and the compensated data, and Equation 5 to calculate the speed of the rotor 112, wherein... It is the cycle rate.
[0036] Figure 3A The simulated position is shown over two electrical cycles. The dashed line represents the resolver position before compensation (e.g., the original data), and the solid line represents the resolver position data after compensation. The X-axis is time measured in milliseconds, and the Y-axis is the oscillation position. Figure 3B The simulated speed of rotor 112, detected by the resolver, is shown. The X-axis is time measured in milliseconds, and the Y-axis is the rotor's revolutions per minute (rpm). Dashed lines represent the resolver position before compensation (e.g., the original data), and solid lines represent the resolver position after compensation.
[0037] The algorithm envisioned herein (which may include Equations 1 to 5) compensates for changes in misalignment. For example, an increase in shaft runout may alter the alignment of the resolver over time as the motor continues to operate. Controller 120 can use the algorithm described above to compensate for the original data and output corrected data to produce corrected resolver values at which the rotor flux field is aligned with the d-axis of the rotating reference coordinate system, even though the alignment changes over time. For example, controller 120 can apply the algorithm to original resolver data received from a resolver with a specified misalignment to output corrected data, and controller 120 can continue to output corrected data even as the misalignment increases or decreases, despite changes in measurement conditions.
[0038] Figure 4A Figure 4C shows the waveform data before and after the controller 120 applies the compensation algorithm to output the corrected data. The gain applied to the resolver is not shown. In this example, the optimal gain is -20 based on a rotor speed of 1000 rpm. However, the controller 120 can apply different gains for different rotor speeds. For example, the controller 120 can store multiple lookup table values specifying the gain based on the speed. Figure 4A The misalignment of the rotary transformer is shown. The misalignment remains constant at time T1 until time T2, at which point the misalignment increases. Figure 4B shows the rotor speed data output by controller 120. After controller 120 applies the compensation algorithm, the amplitude of the oscillating speed decreases at time T1 and thus falls within the specified amplitude envelope. Controller 120 does not necessarily eliminate the speed oscillation via the compensation algorithm, but rather reduces the amplitude of the speed oscillation to within the specified amplitude envelope. Even though the misalignment has increased, the amplitude of the speed oscillation remains within the envelope after T2. Figure 4C shows the compensation signal calculated by controller 120 using the compensation algorithm. Before controller 120 applies compensation at time T1, the waveform is flat, indicating no compensation. Once the compensation calculated according to Equation 2 is applied, the waveform becomes sinusoidal. At time T2, the amplitude of the compensation signal increases to further compensate for the increased misalignment, thus allowing the speed oscillation to remain within the envelope between T1 and T2.
[0039] Figure 5 This is a flowchart illustrating an exemplary process 500 for compensating for raw resolver data. A computer, such as controller 120, may store executable instructions for performing the steps of process 500, and / or may be programmed using a structure as mentioned above. Process 500 can continue as long as the motor remains on.
[0040] The process begins at block 510, where controller 120 receives raw data from the resolver. As mentioned above, the resolver at this stage may be misaligned or properly aligned.
[0041] In block 515, controller 120 determines whether to enable compensation. Controller 120 may enable compensation based on the amplitude of the original speed waveform exceeding a threshold amplitude. For example, the threshold amplitude for a system designed to operate at 1000 rpm could be 40 rpm. Therefore, if the amplitude of the speed waveform oscillates beyond 960 rpm and 1040 rpm, controller 120 may enable compensation. If the controller determines that the speed of the resolver oscillates outside the specified threshold, process 500 continues to block 520. Otherwise, process 500 terminates.
[0042] In block 520, controller 120 has determined to apply compensation to the original resolver data. Then, controller 120 applies Equation 2 of the compensation algorithm to determine the compensation location.
[0043] In block 525, controller 120 applies Equation 4 to the compensation position determined in block 520 in order to determine the corrected position of the resolver as described above.
[0044] In block 530, controller 120 applies Equation 5 to determine the corrected speed of the rotary transformer as described above.
[0045] In block 535, controller 120 determines whether the adjustment based on the compensation algorithm has reduced the amplitude of the velocity waveform to within the threshold oscillation described above. If the velocity oscillation is within the specified threshold, process 500 ends. Otherwise, process 500 continues to block 540.
[0046] In block 540, controller 120 has determined that the adjustments made to the original data have not sufficiently reduced the velocity amplitude to bring the velocity waveform within a specified oscillation threshold. Controller 120 then adjusts the system gain and proceeds to block 520 to repeat the compensation algorithm. Controller 120 may adjust the gain by, for example, a specified amount stored in multiple lookup table values.
[0047] Computing devices such as those discussed herein typically include instructions executable by one or more computing devices such as those identified above, and frames or steps for implementing the processes described above. For example, the process frames discussed above may be embodied as computer-executable instructions.
[0048] Computer-executable commands can be compiled or interpreted by computer programs created using various programming languages or technologies, including but not limited to single or combined forms of Java™, C, C++, Python, Julia, SCALA, Visual Basic, JavaScript, Perl, HTML, etc. Typically, a processor (e.g., a microprocessor) receives commands (e.g., from memory, computer-readable media, etc.) and executes these commands, thereby performing one or more processes, including those described herein. Such commands and other data may be stored in files and transferred using various computer-readable media. Files in a computing device are typically collections of data stored on computer-readable media, such as storage media, random access memory, etc.
[0049] Computer-readable media (also known as processor-readable media) include any non-transitory (i.e., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer. Such media can take many forms, including but not limited to non-volatile and volatile media. Instructions can be transmitted via one or more transmission media, including optical fibers, wires, wireless communications, and internals that constitute a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or magnetic tape, or any other medium from which a computer can read.
[0050] Although the steps or blocks of a process are described as occurring in a certain ordered sequence, such a process can be practiced where the described steps are performed in a different order than described. Some steps may be performed simultaneously, additional steps may be added, or some steps described herein may be omitted.
[0051] While exemplary embodiments have been described above, they are not intended to represent an exhaustive list of all possible implementations. The language used in this specification is intended for description rather than limitation, and it should be understood that various modifications may be made without departing from the broad scope and underlying principles of the disclosed subject matter. For example, the terms "processor" and "multiple processors" may be used interchangeably herein. Furthermore, features from different embodiments may be combined to create further implementations within the scope of the claims.
[0052] According to the present invention, a vehicle propulsion system is provided, the vehicle propulsion system comprising: an electric motor including a shaft; a rotor mounted on the shaft; a stator surrounding the rotor; and a processor programmed to output a resolver speed signal having an amplitude envelope that does not increase with the runout of the shaft.
[0053] According to one embodiment, the processor is further programmed to output the resolver speed signal such that the amplitude envelope is smaller than the amplitude envelope of the original resolver speed signal.
[0054] According to one embodiment, the original rotary transformer speed signal is based on the current position parameters.
[0055] According to one embodiment, the processor is also programmed to generate compensation parameters associated with the rotor, the compensation parameters being a function of gain and phase shift and correcting misalignment caused by the runout.
[0056] According to one embodiment, the processor is also programmed to update the value of the gain based on the amplitude envelope of the resolver speed signal.
[0057] According to one embodiment, the processor is also programmed to apply the compensation parameters to the current position parameters associated with the rotor.
[0058] According to the present invention, a method includes: compensating the original rotor speed signal to generate a corrected rotor speed signal in response to an oscillation of the original rotor speed signal of the motor exceeding a certain value, the corrected rotor speed signal continuing to have an amplitude envelope smaller than that of the original rotor speed signal in the event of misalignment variations associated with the resolver of the motor.
[0059] In one aspect of the invention, the compensation also generates the corrected rotor speed signal such that the amplitude envelope of the corrected rotor speed signal does not change with the increase of misalignment.
[0060] In one aspect of the invention, the compensation includes generating compensation parameters associated with the rotor of the motor, the compensation parameters being a function of gain and phase shift.
[0061] In one aspect of the invention, the method includes updating the value of the gain based on the amplitude envelope of the calibrated rotor speed signal.
[0062] In one aspect of the invention, the compensation includes applying the compensation parameters to current position parameters associated with the rotor.
[0063] In one aspect of the invention, the original rotor speed signal is based on the current position parameter.
[0064] According to the present invention, a vehicle control system is provided, the vehicle control system comprising: a processor programmed to output a corrected resolver speed signal corresponding to an original resolver speed signal associated with a motor, such that the amplitude envelope of the corrected resolver speed signal is smaller than the amplitude envelope of the original resolver speed signal, and does not increase with an increase in the misalignment of the resolver associated with the motor.
[0065] According to one embodiment, the processor is also programmed to generate compensation parameters that are functions of gain and phase shift and to correct misalignment of the resolver.
[0066] According to one embodiment, the processor is also programmed to update the value of the gain based on the amplitude envelope of the calibrated resolver speed signal.
[0067] According to one embodiment, the processor is also programmed to apply the compensation parameters to the current position parameters associated with the rotor of the motor.
Claims
1. A vehicle propulsion system, comprising: An electric motor, the electric motor comprising a shaft, a rotor mounted on the shaft, and a stator surrounding the rotor; and A processor programmed to output a resolver speed signal having an amplitude envelope that does not increase with the runout of the shaft.
2. The system of claim 1, wherein the processor is further programmed to output the resolver speed signal such that the amplitude envelope is smaller than the amplitude envelope of the original resolver speed signal.
3. The system of claim 2, wherein the original rotary transformer speed signal is based on the current position parameter.
4. The system of claim 1, wherein the processor is further programmed to generate compensation parameters associated with the rotor, the compensation parameters being a function of gain and phase shift and correcting misalignment caused by the runout.
5. The system of claim 4, wherein the processor is further programmed to update the value of the gain based on the amplitude envelope of the resolver speed signal.
6. The system of claim 4, wherein the processor is further programmed to apply the compensation parameters to the current position parameters associated with the rotor.
7. A method comprising: In response to an oscillation in the original rotor speed signal of the motor exceeding a certain value, the original rotor speed signal is compensated to generate a corrected rotor speed signal, which continues to have an amplitude envelope smaller than that of the original rotor speed signal in the event of misalignment variations associated with the motor's rotary transformer.
8. The method of claim 7, wherein the compensation further generates the corrected rotor speed signal such that the amplitude envelope of the corrected rotor speed signal does not change with the increase of misalignment.
9. The method of claim 7, wherein the compensation includes generating compensation parameters associated with the rotor of the motor, the compensation parameters being a function of gain and phase shift.
10. The method of claim 9, further comprising updating the value of the gain based on the amplitude envelope of the calibrated rotor speed signal.
11. The method of claim 9, wherein the compensation includes applying the compensation parameter to a current position parameter associated with the rotor.
12. The method of claim 11, wherein the original rotor speed signal is based on the current position parameter.
13. A vehicle control system, comprising: A processor programmed to output a corrected resolver speed signal corresponding to the original resolver speed signal associated with the motor, such that the amplitude envelope of the corrected resolver speed signal is smaller than the amplitude envelope of the original resolver speed signal and does not increase with increasing resolver misalignment associated with the motor.
14. The system of claim 13, wherein the processor is further programmed to generate compensation parameters that are functions of gain and phase shift and to correct misalignment of the resolver.
15. The system of claim 14, wherein the processor is further programmed to update the value of the gain based on the amplitude envelope of the calibrated resolver speed signal.