System and method for determining an angular position of an electric motor
In accordance with various embodiments of the present disclosure, an integrated circuit for determining an angular position of an electric motor having a rotatable shaft and a resolver is provided. In some embodiments, the integrated circuit comprises (i) an angle sampling module adapted to receive a signal from the resolver and to repeatedly determine, at an angle sampling rate, the angular position of the rotatable shaft using the signal from the resolver, (ii) an interpolation module to determine an interpolated value of the angular position of the rotatable shaft at each cycle of a motor control loop rate, and (iii) a motor control module adapted to provide a pulse width modulated (PWM) signal to the motor. The PWM signal is based at least in part on the determined interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate.
1 . An integrated circuit for determining an angular position of an electric motor having a rotatable shaft and a resolver, the integrated circuit comprising:
an angle sampling module to repeatedly determine, at an angle sampling rate, the angular position of the rotatable shaft based, directly or indirectly, on a signal from the resolver;
an interpolation module to determine 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 to provide a pulse width modulated (PWM) signal, directly or indirectly, to the motor, wherein the PWM signal is based at least in part on the determined interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate;
wherein a 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 of claim 1 , wherein each determined interpolated value of the angular position is based on (i) a respective most recent determined rotational speed of the rotatable shaft of the motor multiplied by (ii) an elapsed time since a respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver, a result of which is added to the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
3 . The integrated circuit of claim 2 , wherein the respective most recent determined rotational speed of the rotatable shaft of the motor is based on a difference between (i) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (ii) a respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver divided by a time difference between (1) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (2) the respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
4 . The integrated circuit of claim 1 , wherein the angle sampling rate is synchronized with a whole period or a half period of an excitation signal of the resolver.
5 . A processing system for determining an angular position of an electric motor having a rotatable shaft and a resolver, the processing system comprising:
angle sampling circuitry module to repeatedly determine, at an angle sampling rate, the angular position of the rotatable shaft based, directly or indirectly, on a signal from the resolver;
interpolation circuitry to determine an interpolated value of the angular position of the rotatable shaft at each cycle of a motor control loop rate; and
motor control circuitry to provide a pulse width modulated (PWM) signal, directly or indirectly, to the motor, wherein the PWM signal is based at least in part on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate;
wherein a 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 of claim 5 , wherein each determined interpolated value of the angular position is based on (i) a respective most recent determined rotational speed of the rotatable shaft of the motor multiplied by (ii) an elapsed time since a respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver, a result of which is added to the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
7 . The processing system of claim 6 , wherein the respective most recent determined rotational speed of the rotatable shaft of the motor is based on a difference between (i) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (ii) a respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver divided by a time difference between (1) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (2) the respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
8 . The processing system of claim 5 , wherein the angle sampling rate is synchronized with a whole period or a half period of an excitation signal of the resolver.
9 . A method for determining an angular position of an electric motor having a rotatable shaft and a resolver, the method comprising:
receiving a signal based directly or indirectly on a signal from the resolver of the electric motor;
repeatedly determining, at an angle sampling rate, the angular position of the rotatable shaft using the signal from the resolver;
determining an interpolated value of the angular position of the rotatable shaft at each cycle of a motor control loop rate; and
providing a pulse width modulated (PWM) signal, directly or indirectly, to the motor, wherein the PWM signal is based at least in part on the interpolated value of the angular position of the rotatable shaft determined at each cycle of the motor control loop rate;
wherein a 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 of claim 9 , wherein each determined interpolated value of the angular position is based on (i) a respective most recent determined rotational speed of the rotatable shaft of the motor multiplied by (ii) an elapsed time since a respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver, a result of which is added to the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
11 . The method of claim 10 , wherein the respective most recent determined rotational speed of the rotatable shaft of the motor is based on a difference between (i) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (ii) a respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver divided by a time difference between (1) the respective most recent determination of the angular position of the rotatable shaft using the signal from the resolver and (2) the respective determination of the angular position of the rotatable shaft using the signal from the resolver that immediately precedes the most recent determination of the angular position of the rotatable shaft using the signal from the resolver.
12 . The method of claim 9 , wherein the angle sampling rate is synchronized with a whole period or a half period of an excitation signal of the resolver.