Patent ID: 8624532

Claim:
A system for controlling a permanent magnet motor, comprising: (a) a driver circuit for generating a drive voltage applied to the motor, the motor generating a phase current in response to the drive voltage; (b) phase current sensing circuitry for sensing the phase current and converting it to a digitized phase current; (c) a BEMF (back electromotive force) reconstruction circuit for providing a reconstructed digital representation of a BEMF signal of the motor to generate an error-corrected synchronization signal in response to the digitized phase current signal, an amplitude feedback signal, information indicative of both a resistance and an inductance of the motor, and a detected error in a speed of the motor; (d) signal profile generating circuitry for generating a motor drive signal having an error-corrected frequency that is determined by the synchronization signal and is in synchronization with the synchronization signal; and (e) a PWM (pulse width modulation) circuit receiving the motor drive signal for producing a PWM signal having a frequency equal to the error-corrected frequency of the synchronization signal and having a duty cycle controlled in accordance with the detected error in the speed of the motor, a parameter calculation circuit for generating the information indicative of both the motor resistance and the motor inductance in response to the digitized phase current under predetermined conditions, wherein the parameter calculation circuit includes a state machine which performs the functions of mechanically stopping rotation of a rotor of the motor, applying the drive voltage as a high frequency sinusoidal signal until the phase current is at a DC value, saving a first value of the applied voltage, and saving a resulting value of the digitized phase current, generating the information indicative of the motor resistance from the first value of the applied voltage and the resulting value of the digitized phase current signal, causing the phase current to be equal to zero, saving a measured value of current change and a second value of the applied drive voltage, and generating the information indicative of the motor inductance from the measured value of current change and the second value of the applied drive voltage.