Controller for spindle motor
09846428 · 2017-12-19
Assignee
Inventors
- Hiroshi FUJIMOTO (Tokyo, JP)
- Teruaki Ishibashi (Tokyo, JP)
- Shinji Ishii (Nara, JP)
- Koji Yamamoto (Nara, JP)
- Yuki Terada (Nara, JP)
Cpc classification
International classification
Abstract
A controller has a varying speed signal generation unit generating a varying speed command signal varying at predetermined amplitude and period, a current control unit generating a current command signal based on the varying speed command signal, a feedback control unit generating a correction signal based on a deviation between the varying speed command signal and a present rotational speed of the spindle motor and adding the correction signal to the current command signal, and a learning control unit calculating a disturbance component caused by cutting resistance based on the deviation every predetermined rotation angle of the spindle motor and, in synchronism with a rotation angle of the spindle motor corresponding to the varying speed command signal input into the current control unit, generating a compensation signal based on the disturbance component corresponding to the rotation angle and adding the compensation signal to the varying speed command signal.
Claims
1. A controller, for controlling a spindle motor which rotates a spindle of a machine tool, comprising: a varying speed signal generation unit which receives a speed command signal relating to a target rotational speed of the spindle motor and generates a varying speed command signal varying at predetermined amplitude and period with respect to the target rotational speed and outputs the generated varying speed command signal; a current control unit which generates a current command signal for driving the spindle motor based on the varying speed command signal input from the varying speed signal generation unit and outputs the generated current command signal; a feedback control unit which generates a correction signal based on a deviation between the varying speed command signal output from the varying speed signal generation unit and a signal relating to a present rotational speed of the spindle motor and adds the generated correction signal to the current command signal; and a learning control unit which has a memory for storing therein a disturbance component caused by cutting resistance in machining, and successively calculates the disturbance component based on the deviation every predetermined rotation angle of the spindle motor and stores the calculated disturbance component in the memory, and which, in synchronism with a rotation angle of the spindle motor corresponding to the varying speed command signal input from the varying speed signal generation unit into the current control unit, reads out the disturbance component one revolution before corresponding to the rotation angle from the memory, generates a compensation signal based on the read-out disturbance component, and adds the generated compensation signal to the varying speed command signal, wherein, when the disturbance component is represented as F.sub.θ(s) and the compensation signal is represented as C.sub.Fθ(s), the learning control unit calculates the disturbance component F.sub.θ(s) and the compensation signal C.sub.Fθ(s) according to the following equations, respectively:
F.sub.θ(s)=e.sub.θ(s).Math.(1+C(s).Math.P(s))/P(s); and
C.sub.Fθ(s)=F.sub.θ(s).Math.P(s)/(1+C(s).Math.P(s)), where F.sub.θ(s) is the disturbance component when the rotation angle of the spindle motor is θ, e.sub.θ(s) is the deviation when the rotation angle of the spindle motor is θ, C.sub.Fθ(s) is the compensation signal when the rotation angle of the spindle motor is θ, C(s) is a transfer function when the correction signal is generated in the feedback control unit, and P(s) is a transfer function of the spindle motor.
2. A controller, for controlling a spindle motor which rotates a spindle of a machine tool, comprising: a varying speed signal generation unit which receives a speed command signal relating to a target rotational speed of the spindle motor and generates a varying speed command signal varying at predetermined amplitude and period with respect to the target rotational speed and outputs the generated varying speed command signal; a current control unit which generates a current command signal for driving the spindle motor based on the varying speed command signal input from the varying speed signal generation unit and outputs the generated current command signal; a feedback control unit which generates a correction signal based on a deviation between the varying speed command signal output from the varying speed signal generation unit and a signal relating to a present rotational speed of the spindle motor and adds the generated correction signal to the current command signal; and a leaning control unit which has a memory for storing therein a disturbance component caused by cutting resistance in machining, and successively calculates the disturbance component based on the deviation every predetermined rotation angle of the spindle motor and stores the calculated disturbance component and an actual rotational speed of the spindle motor at a position of the rotation angle with the calculated disturbance component and the actual rotational speed related with each other for each of the rotation angles in the memory, and in synchronism with a rotation angle of the spindle motor corresponding to the varying speed command signal input from the varying speed signal generation unit into the current control unit, reads out the disturbance component and the actual rotational speed one revolution before corresponding to the rotation angle, generates a compensation signal based on the read-out disturbance component and the read-out actual rotation speed and based on the varying speed command signal and adds the generated compensation signal to the varying speed command signal.
3. The controller of claim 2, wherein, when the disturbance component is represented as F.sub.θ(s) and the compensation signal is represented as C.sub.Fθ(s), the leaning control unit calculates the disturbance component F.sub.θ(s) and the compensation signal C.sub.Fθ(s) according to following equations, respectively:
F.sub.θ(s)=e.sub.θ(s).Math.(1+C(s).Math.P(s))/P(s); and
C.sub.Fθ(s)=ω(θ).Math.F.sub.θ(s).Math.P(s)/(ω.sub.ref(θ).Math.(1+C(s).Math.P(s))), where F.sub.θ(s) the disturbance component when the rotation angle of the spindle motor is θ, e.sub.θ(s) is the deviation when the rotation angle of the spindle motor is θ, C.sub.Fθ(s) is the compensation signal when the rotation angle of the spindle motor is θ, ω(θ) is the actual rotational speed when the rotation angle of the spindle motor is θ, and is a scalar value, ω.sub.ref(θ) is a commanded rotational speed of the varying speed command signal when the rotation angle of the spindle motor is θ, and is a scalar value, C(s) is a transfer function when the correction signal is generated in the feedback control unit, and P(s) is a transfer function of the spindle motor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings(s) will be provided by the Office upon request and payment of the necessary fee.
(2) For a more complete understanding of the disclosed methods and apparatus, reference should be made to the embodiment illustrated in greater detail on the accompanying drawings, wherein:
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25) It should be understood that the drawings are not necessarily to scale and that the disclosed embodiments are sometimes illustrated diagrammatically and in partial views. In certain instances, details which are not necessary for an understanding of the disclosed methods and apparatus or which render other details difficult to perceive may have been omitted. It should be understood, of course, that this disclosure is not limited to the particular embodiments illustrated herein.
DETAILED DESCRIPTION
(26) Hereinafter, specific embodiments of the present disclosure will be described with reference to the drawings.
First Embodiment
(27)
(28) It is noted that, although, for the sake of convenience,
(29) Thus, in the machine tool 1, under the control by the controller 10, the table 5 and the spindle 6 are moved relative to each other along the three orthogonal axes: the X axis, the Y axis, and the Z axis by the feed mechanisms including the feed motor 3 and the spindle motor 7. Further, a workpiece W is placed on the table 5 and a tool 8 is attached to the spindle 6, and the table 5 and the spindle 6 are moved relative to each other as appropriate in a state where the spindle 6 is rotated at a predetermined rotational speed, thereby machining the workpiece W.
(30) It is noted that, obviously, the machine tool is not limited to a machine tool having the above-described configuration and includes, besides an NC lathe, every type of known machine tool that cuts and machines a workpiece through relative rotation between a tool and the workpiece.
(31) As shown in
(32) The program analysis unit 11 analyzes an NC program stored in the storage unit or an NC program input as appropriate, extracts a command relating to the rotational speed of the spindle motor 7 contained in the NC program, and transmits the extracted speed command signal to the varying speed signal generation unit 12.
(33) Based on the speed command signal received from the program analysis unit 11, the varying speed signal generation unit 12 generates a varying speed command signal ω.sub.ref varying at predetermined amplitude and period with a rotational speed of the speed command signal used as a target rotational speed and outputs the generated varying speed command signal to the current control unit 13. Although a triangular waveform as shown in
(34) The current control unit 13 generates a current command signal for driving the spindle motor 7 based on the varying speed command signal ωref received from the varying speed signal generation unit 12 and outputs the generated current command signal to the spindle motor 7 to drive the spindle motor 7. It is noted that the spindle motor 7 is supplied with a current corresponding to the current command signal output from the current control unit 13. B.sup.−1(I−z.sup.−1A) and H (Tu) in
(35) The feedback control unit 14 calculates a deviation (a tracking error) e [rad/s] between an actual rotational speed ω [rad/s] of the spindle motor 7 detected by a rotary encoder attached to the spindle motor 7 or the like and a nominal value ω.sub.0 [rad/s] of the varying speed command ω.sub.ref output from the varying speed signal generation unit 12 at predetermined time intervals and successively generates correction signals (current command signals) for cancelling the deviations e [rad/s] based on the obtained deviations e [rad/s] and adds the generated correction signals to the signal output from the current control unit 13. In
(36) The learning control unit 15 is a processing unit for successively calculating (estimating) a cutting resistance F, which is a disturbance component, based on the deviation e [rad/s] calculated in the feedback control unit 14 every predetermined rotation angle (phase θ) of the spindle motor 7 and storing the calculated cutting resistances F in a memory within a periodic signal generator (PSG) 16, and, in synchronism with a rotation angle (phase) of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 into the current control unit 13, generating a compensation signal based on the estimated cutting resistance F corresponding to the rotation angle (phase) and adding the generated compensation signal to the varying speed command signal ω.sub.ref.
(37) The phase θ is defined by dividing one revolution of the spindle motor 7 by N (an integer) as shown in
(38) The actual rotation angle (actual phase θ) of the spindle motor 7 is detected by the rotary encoder or the like and the following equation holds between the cutting resistance Fθ(s) and the actual rotational speed ω(θ) at a certain phase θ.
ω(θ)=ω.sub.0(θ)−(F.sub.θ(s).Math.P(s)/(1+C(s).Math.P(s))) (Equation 1)
(39) Further, since, as described above, the deviation e (θ) is a difference between the nominal value ω.sub.0 (θ) and the actual rotational speed ω (θ), that is,
e(θ)=ω.sub.0(θ)−ω(θ), (Equation 2)
(40) the cutting resistance F.sub.θ(s) is estimated by the following equation based on the Equations 1 and 2:
F.sub.θ(s)=e.sub.θ(s).Math.(1+C(s).Math.P(s))/P(s), (Equation 3)
(41) where F.sub.θ(s) is a disturbance component when the rotation angle of the spindle motor is θ, e.sub.θ(s) is a deviation when the rotation angle of the spindle motor is θ, C(s) is a transfer function when the correction signal is generated in the feedback control unit 14, and P(s) is a transfer function of the spindle motor 7.
(42) The learning control unit 15 successively calculates an estimated cutting resistance F(θ[i]) for each phase θ[i] according to the Equation 3 and successively stores the calculated estimated cutting resistances F(θ[i]) as a data table (cutting resistance table) as shown in
(43) On the other hand, the learning control unit 15 calculates a phase θ of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 into the current control unit 13, reads out the estimated cutting resistance F (θ) corresponding to the phase θ from the memory, and generates a compensation signal based on the estimated cutting resistance F (θ) read out and adds the generated compensation signal to the varying speed command signal ω.sub.ref.
(44) The phase θ of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref is a phase θ[i+1] which is advanced by one phase from the actual phase θ[i] of the spindle motor 7, and the phase θ[i+1] is calculated by the following equation:
θ[i+1]=θ[i]+(ω(θ[i])+ω.sub.ref(θ[i])).Math.Tu/2, (Equation 4)
(45) where Tu is a control period.
(46) The learning control unit 15 reads out the estimated cutting resistance F (θ[i+1]) corresponding to the phase θ[i+1] from the memory based on the phase θ[i+1] calculated by the Equation 4 and generates a compensation signal C.sub.F (θ[i+1]) by the following equation based on the estimated cutting resistance F(θ[i+1]) read out.
C.sub.Fθ(s)=F.sub.θ(s).Math.P(s)/(1+C(s).Math.P(s)), (Equation 5)
(47) where C.sub.Fθ(s) is a compensation signal when the rotation angle of the spindle motor 7 is θ, F.sub.θ(s) is a disturbance component when the rotation angle of the spindle motor 7 stored in the memory is θ, C(s) is a transfer function when the correction signal is generated in the feedback control unit, and P(s) is a transfer function of the spindle motor.
(48) It is noted that a conceptual block diagram showing the processing of calculating the phase θ[i+1], the processing of storing the estimated cutting resistance F(θ[i]), and the processing of reading out the estimated cutting resistance F (θ[i+1]) is shown in
(49) Subsequently, the learning control unit 15 multiplies the calculated compensation signal C.sub.F(θ[i+1]) by a function Q[z], and then adds the result of the multiplication to the varying speed command signal ω.sub.ref (θ[i+1]) input from the varying speed signal generation unit 12 into the current control unit 13. It is noted that the function Q[z] is a Q filter represented by the following equation, where γ=2.
Q[z]=(1+γz.sup.−1+z.sup.−2)/(γ+2) (Equation 6)
(50) Thus, according to the controller 10 of this embodiment having the above-described configuration, the program analysis unit 11 analyzes as an NC program stored in the storage unit as appropriate or an NC program input as appropriate, extracts a command relating to the rotational speed of the spindle motor 7 contained in the NC program, and transmits the extracted speed command signal to the varying speed signal generation unit 12.
(51) Once the speed command signal is input into the varying speed signal generation unit 12, the varying speed signal generation unit 12 generates a varying speed command signal ωref varying at predetermined amplitude and period with respect to a received target rotational speed and transmits the generated varying speed command signal to the current control unit 13.
(52) Subsequently, the current control unit 13 generates a current command signal for driving the spindle motor 7 based on the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 and outputs the generated varying speed command signal ωref, and the spindle motor 7 is driven according to the current command signal. At this time, a correction signal is generated based on a deviation e between a nominal value ω.sub.0 of the varying speed command signal ω.sub.ref output from the varying speed signal generation unit 12 and an actual rotational speed ω of the spindle motor 7 by the feedback control unit 14, and the generated correction signal is added to the current command signal.
(53) Further, the learning control unit 15 successively calculates a disturbance component caused by cutting resistance in machining based on the deviation every predetermined phase θ of the spindle motor 7e and stores the calculated disturbance components therein, and, in synchronism with a phase θ of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 into the current control unit 13, generates a compensation signal based on the disturbance component corresponding to the phase θ and adds the generated compensation signal to the varying speed command signal.
(54) Thus, according to the controller 10 of this embodiment, first, the feedback control unit 14 generates a correction signal corresponding to the deviation e between the nominal value ω.sub.0 of the varying speed command signal ω.sub.ref output from the varying speed signal generation unit 12 and the present rotational speed ω of the spindle motor 7, that is, a tracking error e and correction is performed using the correction signal.
(55) The tracking error e includes an error occurring due to disturbance, such as a friction force of the spindle motor 7 and a cutting resistance F, and this error is corrected by the feedback control unit 14. However, in a case where the rotational speed of the spindle motor 7 is varied at predetermined variation amplitude and variation period, periodic variation also occurs in the cutting resistance F due to the periodic variation of the rotational speed, so that there may occur a case where a tracking error e caused by the periodically varying cutting resistance F cannot be sufficiently suppressed by the feedback control unit 14. Particularly, as described above, when the variation period is set to a short period in order to suppress self-excited chatter vibration while keeping machining accuracy good, the tracking error e caused by the cutting resistance F cannot be suppressed.
(56) In the controller 10 of this embodiment, as described above, by the learning control unit 15, a disturbance component caused by the cutting resistance F in machining are calculated based on the deviation e every predetermined phase θ of the spindle motor 7 and the calculated components are stored, and, in synchronism with a phase θ of the spindle motor 7 corresponding to the varying speed command signal ωref input from the varying speed signal generation unit 12 into the current control unit 13, the disturbance component corresponding to the phase θ, that is, a disturbance component estimated one revolution before with respect to the phase θ is read out, a compensation signal for cancelling the disturbance component read out is generated based on the disturbance component read out, and the generated compensation signal is added to the varying speed command signal ωref to previously correct a tracking error e which will occur due to the disturbance component, that is, a feed-forward control is performed. Thereby, the tracking error e caused by the cutting resistance F which cannot be sufficiently suppressed by the feedback control can be suppressed.
(57) As described above, according to the controller 10 of this embodiment, even when the spindle motor 7 is driven with the rotational speed thereof varied at predetermined variation amplitude and variation period in order to suppress self-excited chatter vibration while keeping machining accuracy good, the tracking error e caused by the cutting resistance F can be more stably compensated for.
(58) In this connection,
(59) As understood from
(60) Further,
(61) As understood from
(62) Further,
(63) As shown in
(64) As described in detail above, according to the machine tool 1 having the controller 10 of this embodiment, the tracking error caused cutting resistance, which cannot be sufficiently suppressed by a feedback control, can be suppressed, and even when the spindle motor is driven with the rotational speed thereof varied at predetermined variation amplitude and variation period in order to suppress self-excited chatter vibration while keeping machining accuracy good, the tracking error caused by cutting resistance can be more stably compensated for.
Second Embodiment
(65) Next, a second embodiment of the present disclosure will be described. A machine tool according to the second embodiment has a controller 10′ shown in
(66) As shown in
(67) The learning control unit 15′ is a processing unit of successively calculating (estimating) a cutting resistance F, which is a disturbance component, based on the deviation e [rad/s] calculated in the feedback control unit 14 every predetermined rotation angle (phase θ) of the spindle motor 7 and storing the estimated cutting resistance F together with the actual rotational speed ω of the spindle motor 7 at that time in a memory of a periodic signal generator (PSG) 16′, and, in synchronism with a rotation angle (phase) of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 into the current control unit 13, generating a compensation signal based on the estimated cutting resistance F and the actual rotational speed ω.sub.a corresponding to the rotation angle (phase) and based on the varying speed command signal ω.sub.ref and adding the generated compensation signal to the varying speed command signal ω.sub.ref.
(68) As shown in
(69) The actual rotation angle (actual phase θ) and the actual rotational speed w of the spindle motor 7 are detected by the rotary encoder or the like, and the learning control unit 15′ successively calculates the estimated cutting resistances F (θ[i]) of each of the phases θ[i] according to the Equation 3 and stores the calculated cutting resistance F together with the actual rotational speed ω (θ[i]) at that time as a data table (cutting resistance table) as shown in
(70) On the other hand, the learning control unit 15′ calculates a phase θ of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref input from the varying speed signal generation unit 12 into the current control unit 13, reads out the estimated cutting resistance F(θ) and the actual rotational speed ω (θ) corresponding to the phase θ from the memory, and generates a compensation signal based on the estimated cutting resistance F(θ) and actual rotational speed ω(θ) read out and based on the varying speed command signal ω.sub.ref, and adds the generated compensation signal to the varying speed command signal ω.sub.ref.
(71) The phase θ of the spindle motor 7 corresponding to the varying speed command signal ωref is a phase θ[i+1] which is advanced by one phase from the actual phase θ[i] of the spindle motor 7, and the phase θ[i+1] is calculated by the Equation 4, as shown in
(72) Based on the phase θ[i+1] calculated by the Equation 4, the learning control unit 15′ reads out the estimated cutting resistance F(θ[i+1]) and the actual rotational speed ω(θ[i+1]) corresponding to the phase θ[i+1] from the memory and generates a compensation signal CF(θ[i+1]) according to the following equation based on the estimated cutting resistance F(θ[i+1]) and actual rotational speed ω(θ[i+1]) read out and based on the varying speed command signal ωref(θ[i+1]):
C.sub.Fθ(s)=ω(θ).Math.F.sub.θ(s).Math.P(s)/(ω.sub.ref(θ).Math.(1+C(s).Math.P(s))), (Equation 7)
(73) where C.sub.Fθ(s) is a compensation signal when the rotation angle of the spindle motor 7 is θ, F.sub.θ(s) is a disturbance component when the rotation angle of the spindle motor 7 is θ, which is stored in the memory, and ω(θ) is the actual rotational speed when the rotation angle of the spindle motor 7 is θ, which is stored in the memory, and is a scalar value. Further, ω.sub.ref(θ) is a commanded rotational speed of the varying speed command signal when the rotation angle of the spindle motor 7 is θ, and is a scalar value. Furthermore, C(s) is a transfer function when the correction signal is generated in the feedback control unit, and P(s) is a transfer function of the spindle motor.
(74) It is noted that
(75) Subsequently, the learning control unit 15′ multiplies the calculated compensation signal C.sub.F(θ[i+1]) by the function Q[z] (the Equation 6), and then adds the result of the multiplication to the varying speed command signal ω.sub.ref (θ[i+1]) input from the varying speed signal generation unit 12 into the current control unit 13.
(76) Thus, according to the controller 10′ of this embodiment having the above-described configuration, first, the feedback control unit 14 generates a correction signal corresponding to a deviation e between a nominal value ω.sub.0 of the varying speed command signal ω.sub.ref output from the varying speed signal generation unit 12 and a present rotational speed ω of the spindle motor 7, that, a tracking error e, and correction is performed using this correction signal.
(77) Further, by the learning control unit 15′, a disturbance component caused the cutting resistance F in machining is calculated based on the deviation e every predetermined phase θ of the spindle motor 7 and the calculated disturbance components are stored, and, on the other hand, in synchronism with a phase θ[i+1] of the spindle motor 7 corresponding to the varying speed command signal ω.sub.ref(θ[i+1]) input from the varying speed signal generation unit 12 into the current control unit 13, the cutting resistance F(θ[i+1]) corresponding to the phase θ[i+1], that is, a cutting resistance F(θ[i+1]) estimated one revolution before with respect to the phase θ[i+1] is read out, and a compensation signal C.sub.F(θ[i+l]) is generated according to the Equation 7 where the estimated cutting resistance F(θ[i+1]) read out is multiplied by a ratio of the actual rotational speed ω(θ[i+1]) to the varying speed command signal ω.sub.ref(θ[i+1]), that is, ω (θ[i+1])/ω.sub.ref (θ[i+1]) and the generated compensation signal C.sub.F(θ[i+1]) is added to the varying speed command signal ω.sub.ref (θ[i+1]) to previously correct the tracking error e which will occur due to the disturbance component, that is, a feed-forward control is performed.
(78) As described above, the disturbance component caused by the cutting resistance is in inverse proportion to the rotational speed of the spindle motor 7. Therefore, the cutting resistance which is estimated to occur due to the varying speed command signal ω.sub.ref(θ[i+1]) can be estimated accurately by multiplying the estimated cutting resistance F(θ[i+1]) one revolution before by a ratio of the actual rotational speed ω(θ[i+1]) to the varying speed command signal ω.sub.ref(θ[i+1]), that is, ω(θ[i+1])/ω.sub.ref(θ[i+1]). In the learning control unit 15′ of this embodiment, since the compensation signal C.sub.F(θ[i+1]) is generated by multiplying the estimated cutting resistance F(θ[i+1]) by ω(θ[i+1])/ω.sub.ref(θ[i+1]), an accurate compensation signal C.sub.F(θ[i+1]) corresponding to the varying speed command signal ω.sub.ref(θ[i+1]) can be generated, and the tracking error e caused by the cutting resistance F can be suppressed more effectively.
(79) As described above, according to the controller 10′ of this embodiment, even when the spindle motor 7 is driven with the rotational speed thereof varied at predetermined variation amplitude and variation period in order to suppress self-excited chattering vibration while keeping machining accuracy good, the tracking error e caused by cutting resistance F can be more stably compensated for.
(80) In this connection, an aluminum as a cutting material was machined using the machine tool 1 shown in
(81) As shown in
(82) Thus, according to the controller 10′ of this embodiment, the tracking error caused cutting resistance, which cannot be sufficiently suppressed by feedback control, can be suppressed, and even when the spindle motor is driven with the rotational speed thereof varied at predetermined variation amplitude and variation period in order to suppress self-excited chatter vibration while keeping machining accuracy good, the tracking error caused by cutting resistance can be more stably compensated for.
(83) Although specific embodiments of the present disclosure have been described above, the embodiment which can be taken by the present disclosure is not limited to the above embodiments.
(84) For example, although, in both of the above-described first and second embodiments, the Q filter is provided and, after the compensation signal C.sub.F(θ[i+1]) is multiplied by the function Q[z], the result of the multiplication is added to the varying speed command signal ω.sub.ref(θ[i+1]) input from the varying speed signal generation unit 12 into the current control unit 13, the Q filter has not to be always provided and the compensation signal C.sub.F(θ[i+1]) may be added to the varying speed command signal ω.sub.ref(θ[i+1]) as it is.