Data storage apparatus, rotation control apparatus, and rotation control method
First Claim
1. 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 sn+1 and is calculated in accordance with the following equations;
pn+1=2 cos(π
/3)pn−
pn−
1+un−
un−
1
qn+1=2 cos(π
⅔
)qn−
qn−
1+un−
un−
1
rn+1=−
rn+un−
un−
1
sn+1=k1pn+1+k2pn+k3qn+1+k4qn+k5rn+1+ttarget.
7 Assignments
0 Petitions
Accused Products
Abstract
The object is to raise controller gain while absorbing magnet position dispersion in a motor, and implement rotation control that is resistant to the influence of disturbance. There are provided a spindle motor 3 that performs rotational drive of a predetermined drive object, and a controller 121 that controls rotational drive of this spindle motor 3 by comparing a pulse time in rotational drive of this spindle motor 3 with a predetermined target time and performing feedback; and also provided is a peak filter 122 that compensates control by the controller 121 by varying the target time dynamically so as to suppress the rotation frequency and higher harmonic components thereof contained in the drive current waveform of the spindle motor 3.
22 Citations
23 Claims
-
1. 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 sn+1 and is calculated in accordance with the following equations;
pn+1=2 cos(π
/3)pn−
pn−
1+un−
un−
1
qn+1=2 cos(π
⅔
)qn−
qn−
1+un−
un−
1
rn+1=−
rn+un−
un−
1
sn+1=k1pn+1+k2pn+k3qn+1+k4qn+k5rn+1+ttarget. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for controlling the rotational speed of a recording medium, comprising:
-
a recording medium;
a motor coupled to the recording medium; 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 a difference between the first measured time interval and the first target time; and
calculating a second target time that is a function of the difference between the first motor drive current and an immediately preceding motor drive current. - View Dependent Claims (7, 8)
-
-
9. 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;
determining if the rotation rate of the motor has reached a steady state;
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;
calculating a second target time that is a function of the first motor drive current;
inputting a representation of a third output pulse from the motor that is successive to the second output pulse;
measuring a second time interval between the second output pulse and the third output pulse; and
if in the determining operation it was determined that the rotation rate of the motor had reached a steady state, then the operations further comprise;
calculating a difference between the second measured time interval and the first target time; and
calculating a representation of a second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the first target time;
if in the determining operation it was determined that the rotation rate of the motor had not reached a steady state, then the operations further comprise;
calculating a second target time that is a function of the first motor drive current;
calculating a difference between the second measured time interval and the second target time; and
calculating a representation of the second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the second target time.
-
-
10. A data storage apparatus, comprising:
-
a recording medium;
a motor having an input and an output, wherein the motor is coupled to the recording medium for rotating the recording medium;
a controller having an input and an output, wherein the input of the controller is coupled to the output of the motor to receive a signal that includes a disturbance signal and a magnet position dispersion influence signal, and wherein the output of the controller is coupled to the input of the motor for controlling the rate of rotation of the recording medium; and
a filter having an input and an output, wherein the input of the filter is coupled to the output of the controller, and wherein the output of the filter is coupled to the input of the controller, wherein the filter is configured to supply a signal to the controller to compensate for dispersion of magnet positions of the motor. - View Dependent Claims (11)
-
-
12. An apparatus for controlling the rotational speed of a motor, comprising:
-
a motor having an input and an output;
a peak filter having an input and an output;
a controller having an input and an output, wherein the input of the controller is coupled to the output of the motor for receiving a signal that includes a disturbance signal and a magnet position dispersion influence signal, and wherein the input of the controller is also coupled to the output of the peak filter, and wherein the output of the controller is coupled to the input of the motor and the input of the peak filter; and
wherein the peak filter and the controller are configured to cooperatively 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. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A data storage apparatus, comprising:
-
a magnetic head;
an actuator coupled to the magnetic head for moving the magnetic head;
a voice coil motor coupled to the actuator for moving the actuator;
a voice coil motor driver coupled to the voice coil motor;
a digital to analog converter coupled to the voice coil motor driver;
a spindle motor coupled to the digital to analog converter;
a hard disk coupled to the spindle motor;
a micro processing unit coupled to the digital to analog converter;
a hard disk controller coupled to the micro processing unit; and
a read/write circuit coupled to the hard disk controller and to the magnetic head; and
wherein the micro processing unit 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;
presenting the representation of the first motor drive current to the digital to analog converter; and
calculating a second target time that is a function of the first motor drive current, wherein the second target time is designated sn+1 and is calculated in accordance with the following equations;
pn+1=2 cos(π
/3)pn−
pn−
1+un−
un−
1
qn+1=2 cos(π
⅔
)qn−
qn−
1+un−
un−
1
rn+1=−
rn+un−
un−
1
sn+1=k1pn+1+k2pn+k3qn+1+k4qn+k5rn+1+ttarget.
-
-
18. An apparatus for rotating a motor at a constant rate, comprising:
-
means for detecting a first output pulse and a successive second output pulse from the motor;
means for measuring a first time interval between the first output pulse and the second output pulse;
means for calculating a difference between the first measured time interval and a first target time;
means for 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;
means for calculating a second target time that is a function of the first motor drive current;
means for detecting a third output pulse from the motor that is successive to the second output pulse;
means for measuring a second time interval between the second output pulse and the third output pulse;
means for calculating a difference between the second measured time interval and the second target time; and
means for calculating a representation of a second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the second target time.
-
-
19. A method for controlling the rotational speed of a motor, comprising:
-
adding an output signal from a motor to an output signal from a peak filter to produce a controller input signal;
wherein the output signal from the motor includes a disturbance signal and a magnet position dispersion influence signal, and wherein the output signal from the peak filter compensates for the magnet position dispersion influence signal;
inputting the controller input signal to a controller;
producing a controller output signal; and
applying the controller output signal to an input to the motor and to an input to the peak filter.
-
-
20. A method for controlling a motor, comprising:
-
detecting a first output pulse and 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 sn+1 and is calculated in accordance with the following equations;
pn+1=2 cos(π
/3)pn−
pn−
1+un−
un−
1
qn+1=2 cos(π
⅔
)qn−
qn−
1+un−
un−
1
rn+1=−
rn+un−
un−
1
sn+1=k1pn+1+k2pn+k3qn+1+k4qn+k5rn+1+ttarget. - View Dependent Claims (21)
-
-
22. A method for rotating a motor at a constant rate, comprising:
-
detecting a first output pulse and 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;
calculating a second target time that is a function of the difference between the first motor drive current and an immediately preceding drive current;
detecting a third output pulse from the motor that is successive to the second output pulse;
measuring a second time interval between the second output pulse and the third output pulse;
calculating a difference between the second measured time interval and the second target time;
calculating a representation of a second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the second target time;
determining a difference between the first drive current and the second drive current; and
calculating a third target time that is a function of the difference between the second drive current and the first drive current.
-
-
23. A method for controlling the rate of rotation of a motor, comprising the following operations:
-
determining if the rotation rate of the motor has reached a steady state;
detecting a first output pulse and 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;
calculating a second target time that is a function of the first motor drive current;
detecting a third output pulse from the motor that is successive to the second output pulse;
measuring a second time interval between the second output pulse and the third output pulse; and
if in the determining operation it was determined that the rotation rate of the motor had reached a steady state, then the operations further comprise;
calculating a difference between the second measured time interval and the first target time; and
calculating a representation of a second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the first target time;
if in the determining operation it was determined that the rotation rate of the motor had not reached a steady state, then the operations further comprise;
calculating a second target time that is a function of the first motor drive current;
calculating a difference between the second measured time interval and a second target time; and
calculating a representation of the second motor drive current, wherein the second motor drive current is a function of the difference between the second measured time interval and the second target time.
-
Specification