Patent ID: 7112933

Claim:
A controller for a brushless motor having a rotor and coils, which generates force for rotating said rotor in accordance with the variation in the magnetic field generated by said coils by updating the voltages applied to said coils, comprising: a rotational position detection part which detects the rotational position of said rotor; a current detection part which detects actual currents flowing through said coils; a dq axis target current calculating part which calculates d axis target current and q axis target current, where said d axis is the axis along the direction of the magnetic flux of a field system of said rotor, and said q axis is the axis that is perpendicular to said d axis and the rotational axis of said rotor; a dq axis actual current calculating part which calculates d axis actual current and q axis actual current from detected actual currents of said coils and a present value of the detected rotational position of said rotor; and an applied voltage calculating part which calculates present values of the applied voltages to said coils at a set period from the d axis target current, q axis target current, d axis actual current, q axis actual current, and present value of the detected rotational position of said rotor; wherein the updating period of the applied voltages to said coils is set at a period that is shorter than the calculation period of the present values of the applied voltages to said coils, a rotational position calculating part is provided to calculate a predicted value of the rotational position of said rotor at a point in time at which the applied voltages are updated until the next calculation of the present values of the applied voltages, in accordance with the present value of the detected rotational position of said rotor, a past value of the detected rotational position, and the set applied voltage updating period, predicted values of the applied voltages to said coils at the point in time at which the applied voltages are updated until the next calculation of the present values of the applied voltages are calculated by said applied voltage calculating part, from the d axis target current, q axis target current, d axis actual current, q axis actual current, and predicted value of the rotational position of said rotor, and the applied voltages to said coils are updated in accordance with the calculated present values of the applied voltages and the calculated predicted values of the applied voltages.