System and method for determining angular position of electric motor

Through integrated circuits and processing systems, the angle sampling module, interpolation module and timer are used to calculate the rotor angle, which solves the problem of angle error of the rotor transformer at different sampling rates, and realizes precise control of the rotor angle under frequency changes.

CN120377729APending Publication Date: 2025-07-25STMICROELECTRONICS INT NV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510085170.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-25
Filing Date
2025-01-20
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The prior art has errors in determining the angular position of the electric motor using a rotary transformer, especially when the angle sampling rate is different from the motor control loop rate, resulting in inaccurate rotor angle control.

Method used

Through integrated circuits and processing systems, an angle sampling module, an interpolation module and a motor control module are used to calculate the rotor angle using a timer, and combined with the variability of the pulse width modulation signal frequency, the precise determination of the angle position is achieved.

Benefits of technology

When the motor control loop rate and pulse width modulation frequency change, the rotor angle is accurately calculated to reduce errors and ensure the accuracy of motor control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120377729A_ABST
    Figure CN120377729A_ABST
Patent Text Reader

Abstract

According to various embodiments of the present disclosure, an integrated circuit for determining an angular position of a motor having a rotatable shaft and a resolver is provided. In some embodiments, the integrated circuit includes (i) an angle sampling module adapted to receive a signal from the resolver and adapted to repeatedly determine an angular position of the rotatable shaft at an angle sampling rate using the signal from the resolver, (ii) an interpolation module adapted to interpolate the rotatable shaft at an angle sampling rate using the signal from the resolver. And (iii) a motor control module adapted to provide a pulse width modulated (PWM) signal to the motor, for determining an interpolated value of the angular position of the rotatable shaft at each cycle of the motor control loop rate. The PWM signal is based at least in part on an interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Example embodiments of the present disclosure generally relate to electric motors, and more particularly, to integrated circuits, processing systems, and methods for determining the angular position of an electric motor. Background Art

[0002] In motor control applications, it is generally necessary to know the angular position (or simply, the angle) of the motor rotor (also referred to as the rotor angle) in order to accurately control the torque of the motor. This angle may be designated as θ (theta). One conventional method for determining the angular position of an electric motor rotor is to use a resolver connected to the electric motor. A resolver is a device having a rotating winding excited by a high-frequency signal and two stationary windings that are 90 degrees apart from each other. Current flows through the rotating winding, thereby inducing current in the two stationary windings. The two stationary windings are 90 degrees apart from each other, generating sine and cosine feedback currents. The relative magnitudes of the two-phase voltages are measured and used to determine the angle of the rotor relative to the stator. The "arctangent" function, a phase-locked loop, or other known techniques may be used to calculate the angle.

[0003] The applicant has found many technical challenges and difficulties associated with using a resolver to determine the angular position of an electric motor. Through effort, ingenuity, and innovation, the applicant has solved the problems related to using a resolver to determine the angular position of an electric motor by developing solutions embodied in the present disclosure, which will be described in detail below. Summary of the Invention

[0004] Various embodiments herein relate to integrated circuits, processing systems, and methods for determining the angular position of an electric motor.

[0005] According to various embodiments of the present disclosure, there is provided an integrated circuit for determining the angular position of an electric motor having a rotatable shaft and a resolver. In some embodiments, the integrated circuit includes (i) an angle sampling module adapted to receive signals directly or indirectly from the resolver of the electric motor and adapted to repeatedly determine the angular position of the rotatable shaft at an angle sampling rate using signals from the resolver, (ii) an interpolation module for determining an interpolated value of the angular position of the rotatable shaft at each cycle of the electric motor control loop rate, and (iii) an electric motor control module adapted to provide a pulse width modulation (PWM) signal directly or indirectly to the electric motor. The PWM signal is at least partially based on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate. The frequency of the PWM signal is variable. The motor control loop rate is variable and corresponds to the frequency of the PWM signal.

[0006] In some embodiments, the interpolation within each determined angular position is based on (i) the respective most recently determined rotational speed of the rotatable shaft of the motor multiplied by (ii) the time elapsed since the angular position of the rotatable shaft was determined using the signal from the resolver, and the result is added to the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver.

[0007] In some embodiments, the respective most recently determined rotational speeds of the rotatable shaft of the motor are based on the difference between (i) and (ii) divided by the time difference between (1) and (2): (i) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver, (ii) the respective determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the most recent determination of the angular position of the rotating shaft using the signal from the resolver, (1) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver, (2) the respective determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the most recent determination of the angular position of the rotating shaft using the signal from the resolver.

[0008] In some embodiments, the angular sampling rate is synchronized with the entire period or half period of the excitation signal of the resolver.

[0009] According to various embodiments of the present disclosure, a processing system for determining the angular position of an electric motor having a rotatable shaft and a resolver is provided. In some embodiments, the processing system includes (i) an angular sampling circuit module adapted to receive signals directly or indirectly from the resolver of the electric motor and adapted to repeatedly determine the angular position of the rotatable shaft at an angular sampling rate using the signal from the resolver. The frequency of the PWM signal is variable. The motor control loop rate is variable and corresponds to the frequency of the PWM signal.

[0010] According to various embodiments of the present disclosure, a method for determining the angular position of an electric motor having a rotatable shaft and a resolver is provided. In some embodiments, the method includes receiving signals directly or indirectly from the resolver of the electric motor, repeatedly determining the angular position of the rotatable shaft at an angular sampling rate using the signal from the resolver, determining an interpolation of the angular position of the rotatable shaft at each period of the electric motor control loop rate, and directly or indirectly providing a pulse width modulation (PWM) signal to the electric motor. The PWM signal is at least partially based on the interpolation of the angular position of the rotatable shaft determined at each period of the motor control loop rate. The frequency of the PWM signal is variable. The motor control loop rate is variable and corresponds to the frequency of the PWM signal.

[0011] The above summary is provided only to outline some example embodiments and to provide a basic understanding of certain aspects of the present disclosure. Accordingly, it will be understood that the above embodiments are merely examples and should not be construed as narrowing the scope or spirit of the present disclosure in any way. It will also be recognized that the scope of the present disclosure includes many potential embodiments in addition to those outlined herein, some of which will be described further below. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The description of illustrative embodiments may be read in conjunction with the accompanying drawings. It should be understood that, for simplicity and clarity of illustration, the elements shown in the figures are not necessarily drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements unless otherwise described. Embodiments incorporating teachings of the present disclosure are shown and described relative to the accompanying drawings herein, in which:

[0013] Figure 1 illustrates an example timeline of angle sampling events and electric motor control loop events for an example system for determining an angular position of an electric motor, in accordance with some embodiments of the present disclosure;

[0014] Figure 2 illustrates an example event timeline for an example system for determining an angular position of an electric motor, in accordance with some embodiments of the present disclosure;

[0015] Figure 3 is an example block diagram illustrating an example system for determining an angular position of an electric motor, in accordance with example embodiments of the present disclosure; and

[0016] Figure 4 is an example flowchart illustrating an example method for determining an angular position of an electric motor, in accordance with example embodiments of the present disclosure. DETAILED DESCRIPTION

[0017] Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which certain, but not all embodiments of the present disclosure are shown. In fact, these disclosures may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numerals refer to like elements throughout.

[0018] As used herein, terms such as "front," "rear," "top," etc. are used for illustrative purposes in the examples provided below to describe the relative positions of certain components or component parts. Additionally, as will be apparent to those of ordinary skill in the art in light of the present disclosure, the terms "substantially" and "approximately" indicate that the referenced element or associated description is accurate within applicable engineering tolerances.

[0019] As used herein, the term "comprising" means including but not limited to the manner commonly used in the patent context and shall be construed accordingly. The use of broader terms such as including, containing, and having shall be understood to support narrower terms such as "consisting of", "consisting essentially of", and "substantially consisting of".

[0020] Phrases such as "in one embodiment", "according to one embodiment", etc. generally mean that the particular feature, structure, or characteristic following the phrase may be included in at least one embodiment of the present disclosure and may be included in more than one embodiment of the present disclosure (importantly, these phrases do not necessarily refer to the same embodiment).

[0021] The word "example" or "exemplary" is used herein to mean "serving as an example, instance, or illustration". Any embodiment described herein as "exemplary" is not necessarily to be construed as more preferred or advantageous than other embodiments.

[0022] If the specification states that a component or feature "may", "can", "is capable of", "should be", "would", "preferably", "might", "ordinarily", "optionally", "for example", "frequently", or "possibly" (or other such language) be included or have a feature, it is not required that the particular component or feature be included or have the feature. Such a component or feature may optionally be included in some embodiments or may be excluded.

[0023] When a resolver is used to determine the rotor angle of an electric motor, the high-frequency signal provided to the resolver may be referred to as an excitation signal. The rate at which the angle is determined (i.e., the angle sampling rate) is synchronized with the resolver excitation signal and may be determined at each cycle or every half cycle of the excitation signal. For example, for an excitation signal having a frequency of 10 kilohertz (kHz), the angle sampling rate may be 10 kHz (i.e., each cycle) or 20 kHz (i.e., every half cycle). Each time the resolver signal is analyzed and the rotor angle is determined, it may be referred to as an "angle sampling event".

[0024] A pulse width modulation (PWM) control signal having a frequency and a duty cycle is sent from a motor control unit to the motor to control the motor current. The motor control loop monitors and (as needed) adjusts the PWM control signal to the motor at a desired rate (referred to as the motor control loop rate). Each time the motor control unit monitors and (as needed) adjusts the PWM control signal, it may be referred to as a "motor control event". The motor control loop rate should be the same as the PWM frequency to achieve proper motor control.

[0025] To accurately determine the rotor angle, the angle sampling rate should be the same as the motor control loop rate (and thus also the PWM frequency). If the angle sampling rate is not the same as the sampling rate of the motor control loop, the determined rotor angle will have an error. This is shown in Figure 1 as follows. Figure 1 FIG. 100 shows an example timeline of angle sampling events and motor control loop events for an example system for determining the angular position of an electric motor, in accordance with some embodiments of the present disclosure. Figure 1 Three angle sampling events 102a, 102b, 102c (dashed lines) and four motor control events 104a, 104b, 104c, 104d (dash-dot lines) are shown. In the example shown, the motor control events 104a-104d occur at a higher rate than the angle sampling events 102a-102c. The angle error (designated as “θ Figure 1 ” in 误差 ) is based on the time difference between each angle sampling event and each motor control event. In the example shown, the angle sampling event 102b determines the rotor angle at that time, but when the next motor control event 104c occurs, the rotor angle will have changed, and thus the motor control unit will use an incorrect rotor angle.

[0026] One way to avoid such angle errors is to ensure that the angle sampling rate is the same as the motor control loop rate (and the PWM frequency). However, in some cases, it may be desirable to change the PWM frequency (and thus the motor control loop rate).

[0027] Various embodiments of the present disclosure overcome the above technical challenges and difficulties, and are based on, for example but not limited to, providing example integrated circuits, processing systems, and methods for determining the angular position of an electric motor with a resolver when the angle sampling rate is different from the motor control loop rate. The various embodiments of the present disclosure are for three-phase or multi-phase electric motors having a resolver for detecting the rotor angle, such as but not limited to permanent magnet synchronous motors (PMSMs).

[0028] Various embodiments of the present disclosure relate to calculating the rotor angle of the motor by interpolating from two immediately preceding angle sampling events when a motor control event occurs. The various embodiments of the present disclosure relate to using a timer that determines the time elapsed between two immediately preceding angle sampling events, and a timer that determines the time elapsed between a motor control event and the immediately preceding angle sampling event (which can be the same timer).

[0029] Various embodiments of the present disclosure relate to using these timer values to calculate (a) the motor speed, and (b) the difference between the rotor angle at the occurrence of a motor control event and the rotor angle of the immediately preceding angle sampling event, and using the difference to calculate the rotor angle at the occurrence of the motor control event.

[0030] Various embodiments of the present disclosure relate to calculating the rotor angle of a motor when the frequency of a pulse width modulation (PWM) signal provided to the motor is variable, and calculating the rotor angle of the motor when the motor control loop rate is variable and corresponds to the frequency of the PWM signal.

[0031] Now refer to Figure 2 , according to some embodiments of the present disclosure, an example event timeline 200 of an example system for determining the angular position of an electric motor is shown. Figure 2 Three angle sampling events 202a, 202b, 202c (dashed lines) are shown, resulting in three angle determinations θ1, θ2, θ3. Figure 2 One motor control event 204 (dash-dotted line) is shown (other motor control events that may occur during this time period are omitted for simplicity). As Figure 2 shown, the motor control event 204 is not synchronized with any of the three angle sampling events 202a, 202b, 202c, such that none of the determined angles θ1, θ2, θ3 exactly correspond to the motor control event, and it is necessary to calculate the rotor angle at the motor control event to precisely control the motor. The rotor angle at the motor control event is labeled as θ Figure 2 in int , because the rotor angle is interpolated, as described below.

[0032] In various embodiments of the present disclosure, a timer 206 is used, which is (re)started at each angle sampling event (shown as timer value = Timer_L in Figure 2 ), and stopped / reset at the next angle sampling event (shown as timer value = Timer_H in Figure 2 ). Thus, the time (ΔT) between two angle sampling events is determined by the equation: ΔT = Timer_H - Timer_L. The rotational speed of the motor is determined by the equation: speed = (θ2 - θ1) / ΔT, where θ2 is the rotor angle determined at the angle sampling event 202b immediately preceding the motor control event 204, and θ1 is the rotor angle determined at the immediately preceding angle sampling event 202a.

[0033] In various embodiments, when a motor control event occurs, the timestamp of the timer is captured (in Figure 2is shown as Timer_Value = Timer_C). Due to the inertia of the motor, it can be assumed that the motor speed at the motor control event 204 has not changed compared to the above-mentioned motor speed determination. Therefore, in various embodiments, the rotor angle θ when the motor control event 204 occurs int , the difference between the rotor angle at the immediately preceding angle sampling event 202b (which is θ2 in the said example) can be referred to as Δθ, and is calculated using the following equation: Δθ = speed * (Timer_H - Timer_C). In various embodiments, when the motor control event occurs, the difference value is used to calculate the rotor angle using the following equation: θ int = θ2 + Δθ. In various embodiments, each time the motor control event occurs, the above process for determining the rotor angle is performed almost simultaneously.

[0034] Now refer to Figure 3 , according to an example embodiment of the present disclosure, an example block diagram of an example system for determining the angular position of an electric motor is shown. In the shown embodiment, the example system 300 includes a microcontroller (MCU) 302, which serves as a motor control unit for controlling a motor 312 having a resolver 318. The MCU 302 includes a control loop circuit 304, and the control loop circuit further includes a field-oriented control (FOC) module 306 and a general timer module (GTM) 308. The MCU 302 also includes an angle sampling circuit 322, and the angle sampling circuit further includes an analog-to-digital converter (e.g., Sigma-Delta ADC) module 324 and an integration module 326. The MCU 302 also includes another GTM 314, an interpolation circuit 328, and a timer circuit 330.

[0035] The modules of the control loop circuit 304 work together to receive the rotor angle (in various embodiments of the present invention, this is the interpolated rotor angle θ int ), and output PWM signals (labeled UVW PWM) for each of the three phases (U, V, W) of the motor 312 to control the operation of the motor 312. The PWM signals are provided to a bridge circuit 310, such as an H-bridge, which provides a UVW output to the motor 312. In various embodiments, the bridge circuit 310 is similar to a pre-driver and can increase the PWM signal of 0 - 5V level as needed.

[0036] In the example shown, the GTM 314 generates an excitation signal (e.g., a 10 kHz signal), which is amplified by the amplifier circuit 316 to provide an amplified excitation signal to the resolver 318. During the operation of the motor 312, the resolver 318 outputs a two-phase sin / cos signal to the frequency division / filter circuit 320, and the frequency division / filter circuit 320 determines the sin / cos differential signal. The sin / cos signal differential is input to the SDADC module 324, and the digital output of the SDADC module 324 is provided to the integration module 326. The integration module 326 uses the digital value of the sin / cos signal differential to determine the rotor angle θres (the rotor angle is referred to as θres because it is the rotor angle value directly determined from the resolver output). The rotor angle θres is repeatedly determined at an angular sampling rate. As described above, the angular sampling rate is typically the same as the frequency of the excitation signal (i.e., per cycle), or twice the frequency of the excitation signal (i.e., per half cycle).

[0037] The rotor angle θres is provided to the interpolation circuit 328. The timer circuit 330 determines the times of the angular sampling event and the motor control event, as described above. The interpolation circuit 328 uses the rotor angle θres and the time from the timer circuit 330 to determine the interpolated rotor angle θ int , as described above. In some embodiments, a single timer can be used to determine the times of the angular sampling event and the motor control event, while in some other embodiments separate timers can be used to determine the numbers of the angular sampling event and the motor control event. In various embodiments, the interpolation circuit 328 uses the rotor angle θres and the time from the timer circuit 330 to repeatedly determine the interpolated rotor angle θ at the motor control loop rate (as described above, which is preferably the frequency of the PWM signal). int . The interpolation circuit 328 provides the interpolated rotor angle θ int to the control loop circuit 304 for controlling the motor 312.

[0038] Although the components are described in terms of functional limitations, it should be understood that a particular implementation necessarily includes the use of specific computing hardware. It should also be understood that in some embodiments, some of the components described herein include similar or common hardware. For example, in some embodiments, both sets of circuits utilize the use of the same processor, memory, circuitry, and / or the like to perform their associated functions, such that each set of circuits does not require duplicate hardware.

[0039] Now referring to Figure 4 , Figure 4 a flowchart is provided that illustrates example steps, processes, procedures, and / or operations in accordance with various embodiments of the present disclosure. The various methods described herein include, for example Figure 4The example methods shown can provide various technical benefits and improvements. Note that each block of the flowchart, as well as combinations of blocks in the flowchart, can be implemented by various means, such as hardware, firmware, circuitry, and / or other devices associated with the execution of software including one or more computer program instructions. For example, Figure 4 one or more of the processes described in Figure 4 can be implemented by computer program instructions that can be stored in a non-transitory memory of a device employing an embodiment of the present disclosure and executed by a processor in the device. These computer program instructions can direct a computer or other programmable apparatus to work in a particular manner such that the instructions stored in the computer-readable storage memory produce a manufacture, the execution of which implements the functions specified in the flowchart block.

[0040] As described above, and based on the present disclosure, it will be understood that embodiments of the present disclosure can be configured as methods, devices, backend network devices, etc. Thus, the embodiments can include a variety of apparatuses that fully comprise hardware or any combination of software and hardware. Additionally, embodiments can take the form of a computer program product on at least one non-transitory computer-readable storage medium having computer-readable program instructions (e.g., computer software) included in the storage medium. Similarly, embodiments can take the form of computer program code stored on at least one non-transitory computer-readable storage medium. Any suitable computer-readable storage medium can be used, including non-transitory hard disks, CD-ROMs, flash memory, optical storage devices, or magnetic storage devices.

[0041] After describing example systems, devices, computing environments, and user interfaces associated with embodiments of the present disclosure, example flowcharts including various operations performed by circuits, devices, systems, and / or apparatuses described herein will now be discussed. It should be understood that each flowchart depicts an example process that may be performed by one or more of the circuits, devices, systems, and / or apparatuses described herein, for example, using one or more of its components. As depicted and described herein, the blocks indicating the operations of each process may be arranged in any of a variety of ways. In some such embodiments, one or more blocks of any process described herein occur simultaneously rather than sequentially. In some such embodiments, one or more blocks of any process described herein occur between sub-processes of another process, before one or more blocks of another process, and / or otherwise operate as a sub-process of a second process. Additionally or alternatively, any process may include some or all of the steps described and / or depicted, including one or more optional operation blocks in some embodiments. With respect to the flowcharts below, in some or all embodiments of the present disclosure, one or more of the depicted blocks may be optional. Optional blocks are indicated by a dashed line (or "dashed"). Similarly, it should be understood that one or more operations of each flowchart may be combinable, replaceable, reorderable, and / or otherwise changed as described herein.

[0042] Now referring to Figure 4 , an example flowchart of an example method 400 for determining the angular position of an electric motor having a rotatable shaft and a resolver is shown in accordance with some embodiments of the present disclosure. In some embodiments, the example method 400 may be implemented by the example systems described herein, including but not limited to the example system 300 described above in connection with Figure 3 the instance system 300.

[0043] In Figure 4 the example method shown, the example method 400 begins at step / operation 402. At step / operation 404, one or more components of the system (e.g., but not limited to, the angular sampling circuit 322 of the MCU 302 described above in connection with Figure 3 continuously receive signals directly or indirectly from the resolver of the electric motor (e.g., but not limited to, the resolver 318 of the motor 312 described above in connection with Figure 3 ). As described above, in various embodiments, the signals from the resolver are two-phase sin / cos signals.

[0044] At step / operation 406, one or more components of the system (e.g., but not limited to, those described above in connection with Figure 3The angle sampling circuit 322 of the described MCU 302 repeatedly uses the signal from the resolver at an angle sampling rate to determine the rotor angle θres of the rotatable shaft of the motor.

[0045] In step / operation 408, one or more components of the system (such as, but not limited to, the interpolation circuit 328 of the MCU 302 described above in connection with Figure 3 determine the interpolated value of the rotor angle θ of the rotatable shaft at each cycle of the motor control loop rate. int of the.

[0046] In step / operation 410, one or more components of the system (such as, but not limited to, the control loop circuit 304 of the MCU 302 described above in connection with Figure 3 provide a PWM signal to the motor directly or indirectly (such as, the motor 312 described above in connection with the appendix Figure 3 As described above, the PWM signal is at least partially based on the interpolated value of the rotor angle θ of the rotatable shaft determined at each cycle of the motor control loop rate. int of the.

[0047] In some embodiments, Figure 4 the example method shown is continuously repeated.

[0048] Some or all of the functions described herein may be implemented as part of an integrated circuit (IC) to perform, for example, one or more of the functions described herein.

[0049] The processing elements described herein, such as control circuits, may include one or more processors, input / output circuits, data storage media, communication circuits, and / or other components configured to perform computing operations. In some embodiments, the data storage media may be configured to store information, data, content, applications, instructions, etc., for enabling the processing elements described herein to perform various functions. Thus, in some embodiments, the processing elements described herein may be referred to as functional logic. The processing elements described herein may be implemented in a variety of different ways. For example, in some embodiments, the processing elements described herein may include one or more processing devices configured to execute independently. Additionally or alternatively, in some embodiments, the processing elements described herein may include one or more processors configured in series via a bus to enable independent execution of instructions, pipelining, and / or multithreading. The use of the terms "controller", "processor", "control circuit", and "processing circuit" should be understood to include single-core processors, multi-core processors, multiple processors within the processing elements described herein, and / or one or more remote or "cloud" processors external to the processing elements described herein.

[0050] In one example embodiment, the processing element described herein may be configured to execute instructions stored in a data storage medium or accessible to the processor. Alternatively or additionally, in some embodiments, the processing element described herein is configured to execute hard-coded functions. Thus, whether configured by hardware or software methods, or by a combination thereof, the processing element described herein represents an entity (e.g., physically embodied in a circuit) capable of performing operations in accordance with embodiments of the present disclosure while in the corresponding configuration. Alternatively or additionally, as another example in some example embodiments, when the processing element described herein is embodied as an executor of software instructions, the instructions specifically configure the processing element described herein to execute the algorithms embodied in the specific operations described herein when executing such instructions.

[0051] Accordingly, the term "circuit" as used herein with respect to the components of a device should be understood to include specific hardware configured to perform the functions associated with the specific circuit described herein. The term "circuit" should be understood broadly to include hardware and, in some embodiments, software for configuring the hardware. For example, in some embodiments, a "circuit" may include a processing circuit, a storage medium, a network interface, input / output devices, and the like.

[0052] Conclusion

[0053] Benefiting from the foregoing description and the teachings given in the related drawings, those skilled in the art will conceive of many modifications and other embodiments of the disclosure described herein. Although the drawings only show certain components of the devices and systems described herein, it should be understood that various other components may be used in conjunction with the systems. Accordingly, it should be understood that the disclosure is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Additionally, the steps in the above methods may not necessarily occur in the order shown in the drawings, and in some cases, one or more of the steps shown may occur substantially simultaneously, or may involve additional steps. Although specific terms are used herein, they are used only in a general and descriptive sense and not for purposes of limitation.

[0054] Although various embodiments in accordance with the principles of the disclosure have been shown and described above, those skilled in the art may make modifications thereto without departing from the spirit and teachings of the disclosure. The embodiments described herein are merely representative and not intended to be limiting. Many variations, combinations, and modifications are possible and within the scope of the disclosure. Alternative embodiments resulting from combining, integrating, and / or omitting features of the embodiments are also within the scope of the disclosure. Accordingly, the scope of protection is not limited by the foregoing description.

[0055] In addition, the section headings used herein are intended to conform to the recommendations in 37 CFR 1.77 or otherwise to provide organizational cues. These headings should not limit or characterize the disclosure claimed in any claim that may issue from this disclosure.

[0056] Although this detailed description sets forth some embodiments of the present disclosure, the appended claims cover other embodiments of the present disclosure that differ from the described embodiments in various modifications and improvements. For example, the appended claims may cover any form of system, device, integrated circuit, or method that uses a resolver to determine the angular position of an electric motor.

[0057] In the appended claims, unless a particular term "means" or "step" is used in a given claim, the claim is not intended to be construed under 35 U.S.C. § 112, paragraph 6.

Claims

1. An integrated circuit for determining the angular position of an electric motor having a rotatable shaft and a resolver, the integrated circuit comprising: an angular sampling module adapted to receive signals directly or indirectly from the resolver of the electric motor and adapted to repeatedly determine the angular position of the rotatable shaft at an angular sampling rate using the signals from the resolver; an interpolation module for determining an interpolated value of the angular position of the rotatable shaft at each cycle of a motor control loop rate; and a motor control module adapted to provide a pulse width modulation (PWM) signal directly or indirectly to the motor, wherein the PWM signal is at least partially based on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate; wherein the frequency of the PWM signal is variable; and wherein the motor control loop rate is variable and corresponds to the frequency of the PWM signal.

2. The integrated circuit according to claim 1, wherein each determined interpolated value of the angular position is based on: (i) the corresponding most recently determined rotational speed of the rotatable shaft of the motor multiplied by (ii) the time elapsed since the corresponding most recent determination of the angular position of the rotatable shaft using the signals from the resolver, and the result is added to the corresponding most recent determination of the angular position of the rotatable shaft using the signals from the resolver.

3. The integrated circuit according to claim 2, wherein the corresponding most recently determined rotational speed of the rotatable shaft of the motor is based on the difference between (i) and (ii) divided by the time difference between (1) and (2): (i) the corresponding most recent determination of the angular position of the rotatable shaft using the signals from the resolver, (ii) the corresponding determination of the angular position of the rotatable shaft using the signals from the resolver immediately prior to the most recent determination of the angular position of the rotatable shaft using the signals from the resolver, (1) the corresponding most recent determination of the angular position of the rotatable shaft using the signals from the resolver, (2) the corresponding determination of the angular position of the rotatable shaft using the signals from the resolver immediately prior to the most recent determination of the angular position of the rotatable shaft using the signals from the resolver.

4. The integrated circuit according to claim 1, wherein the angular sampling rate is synchronized with the entire period or half period of the excitation signal of the resolver.

5. A processing system for determining the angular position of an electric motor having a rotatable shaft and a resolver, the processing system comprising: an angular sampling circuit module adapted to receive signals directly or indirectly from the resolver of the electric motor and adapted to repeatedly determine the angular position of the rotatable shaft at an angular sampling rate using the signals from the resolver; An interpolation circuit device for determining an interpolated value of the angular position of the rotatable shaft at each cycle of the motor control loop rate; and A motor control circuit device adapted to supply a pulse width modulation PWM signal directly or indirectly to the motor, wherein the PWM signal is at least partially based on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate; wherein the frequency of the PWM signal is variable; and wherein the motor control loop rate is variable and corresponds to the frequency of the PWM signal.

6. The processing system according to claim 5, wherein the determined interpolated value of each angular position is based on: (i) the corresponding latest determined rotational speed of the rotatable shaft of the motor multiplied by (ii) the time elapsed since the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, and the result is added to the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver.

7. The processing system according to claim 6, wherein the corresponding latest determined rotational speed of the rotatable shaft of the motor is based on the difference between (i) and (ii) divided by the time difference between (1) and (2): (i) the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, (ii) the corresponding determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the latest determination of the angular position of the rotatable shaft using the signal from the resolver, (1) the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, (2) the corresponding determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the latest determination of the angular position of the rotatable shaft using the signal from the resolver.

8. The processing system according to claim 5, wherein the angle sampling rate is synchronized with the entire period or half period of the excitation signal of the resolver.

9. A method for determining the angular position of an electric motor having a rotatable shaft and a resolver, the method comprising: Receiving a signal directly or indirectly from the resolver of the electric motor; Repeatedly determining the angular position of the rotatable shaft using the signal from the resolver at an angle sampling rate; Determining an interpolated value of the angular position of the rotatable shaft at each cycle of the motor control loop rate; and Supplying a pulse width modulation PWM signal directly or indirectly to the motor, wherein the PWM signal is at least partially based on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate; wherein the frequency of the PWM signal is variable; and wherein the motor control loop rate is variable and corresponds to the frequency of the PWM signal.

10. The method according to claim 9, wherein each determined interpolated value of the angular position is based on: (i) the corresponding latest determined rotational speed of the rotatable shaft of the motor multiplied by (ii) the time elapsed since the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, and the result obtained is added to the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver.

11. The method according to claim 10, wherein the corresponding latest determined rotational speed of the rotatable shaft of the motor is based on the difference between (i) and (ii) divided by the time difference between (1) and (2): (i) the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, (ii) the corresponding determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the latest determination of the angular position of the rotatable shaft using the signal from the resolver, (1) the corresponding latest determination of the angular position of the rotatable shaft using the signal from the resolver, (2) the corresponding determination of the angular position of the rotatable shaft using the signal from the resolver immediately prior to the latest determination of the angular position of the rotatable shaft using the signal from the resolver.

12. The method according to claim 9, wherein the angular sampling rate is synchronized with the entire period or half period of the excitation signal of the resolver.