Patent ID: 7006321

Claim:
An apparatus for controlling the rotational speed of a motor, comprising: a motor; and a processing system coupled to the motor, wherein the processing system is configured to perform the following operations: inputting a representation of a first output pulse and a representation of a successive second output pulse from the motor; measuring a first time interval between the first output pulse and the second output pulse; calculating a difference between the first measured time interval and a first target time; calculating a representation of a first motor drive current, wherein the first motor drive current is a function of the difference between the first measured time interval and the first target time; and calculating a second target time that is a function of the first motor drive current, wherein the second target time is designated s n+1 and is calculated in accordance with the following equations: p n+1 =2 cos(π/3) p n −p n−1 +u n −u n−1 q n+1 =2 cos(π⅔) q n −q n−1 +u n −u n−1 r n+1 =−r n +u n −u n−1 s n+1 =k 1 p n+1 +k 2 p n +k 3 q n+1 +k 4 q n +k 5 r n+1 +t target .