POSITION CONTROL DEVICE
20230107710 · 2023-04-06
Inventors
Cpc classification
H02P27/12
ELECTRICITY
H02P2207/05
ELECTRICITY
International classification
Abstract
In a position control device that controls a rotational speed and a rotational angle of a three-phase synchronous motor by calculating a d-axis current command value and a q-axis current command value based on a position command and causing a inverter to adjust current values of respective phases of the three-phase synchronous motor, a processor calculates a d-axis additional current value to be added to the d-axis current command value. The d-axis additional current value oscillates in such a manner that the polarity changes according to an electrical angle and crosses a zero level with an inclination whose polarity is opposite the polarity of a first q-axis current command value at a zero-cross electrical angle. As a result, positional deviation ripples caused by dead time can be suppressed.
Claims
1. A position control device (1) that controls a rotational speed (ωm) and a rotational angle (θm) of a three-phase synchronous motor (20) by causing a PWM inverter (10) to operate based on a position command value (X) and a detected rotational angle (θm) detected by a position detector (21) that detects the rotational angle (θm) of the three-phase synchronous motor (20), wherein a processor converts the detected rotational angle (θm) detected by the position detector (21) into the rotational speed (ωm) of the three-phase synchronous motor (20); calculates an electrical angle (θ) of the three-phase synchronous motor (20) from the detected rotational angle (θm) detected by the position detector (21); calculates, based on the position command value (X), a first d-axis current command value (Id.sub.1*), a d-axis additional current value (Idc) to be added to the first d-axis current command value (Id.sub.1*), and a first q-axis current command value (Iq.sub.1*); calculates a d-axis voltage command value (Vd*) and a q-axis voltage command value (Vq*) from a second d-axis current command value (Id*), which is obtained by adding the d-axis additional current value (Idc) to the first d-axis current command value (Id.sub.1*), and the first q-axis current command value (Iq.sub.1*); converts the d-axis voltage command value (Vd*) and the q-axis voltage command value (Vq*) into control voltage command values (Vuo, Vvo, Vwo) of U, V, and W phases; and inputs the converted control voltage command values (Vuo, Vvo, Vwo) of U, V, and W phases to the PWM inverter (10) to adjust current values (Iu, Iv, Iw) of U, V, and W phases of the three-phase synchronous motor (20), thereby controlling the rotational speed (ωm) and the rotational angle (θm) of the three-phase synchronous motor (20), wherein the d-axis additional current value (Idc) oscillates in such a manner that the polarity changes according to the electrical angle (θ) and crosses a zero level with an inclination whose polarity is opposite the polarity of the first q-axis current command value (Iq.sub.1*) at a zero-cross electrical angle where U-, V-, and W-phase current values (Iu, Iv, Iw) cross the zero level.
2. The position control device (1) according to claim 1, wherein the processor calculates a first zero-cross electrical angle (φ) closest to zero among zero-cross electrical angles at which the U-phase current value (Iu) crosses the zero level, by arc tangent of a ratio of the first d-axis current command value (Idi*) to the first q-axis current command value (Iq.sub.1*), calculates a revised electrical angle (θ′) by subtracting the first zero-cross electrical angle (φ) from the calculated electrical angle (θ), and
calculates a phase coefficient (kφ) having an amplitude of 1 and oscillating in such a way as to cross the zero level with a negative inclination when the revised electrical angle (θ') is n × 60°, in which n is a natural number including zero.
3. The position control device (1) according to claim 2, further comprising a storage unit configured to store an amplitude reference value (Idc') of the d-axis additional current value (Idc), which is determined in advance, the processor calculates a speed correction coefficient (kω) according to the rotational speed (ωm), calculates a torque command value (Tc) based on the position command value (X), calculates a torque correction coefficient (kt) according to the torque command value (Tc), and calculates the d-axis additional current value (Idc) by calculating a product of the amplitude reference value (Idc'), the speed correction coefficient (kω), the torque correction coefficient (kt), and the phase coefficient (kφ).
4. The position control device (1) according to claim 3, wherein the processor causes the speed correction coefficient (kω) to increase or decrease according to the rotational speed (ωm).
5. The position control device (1) according to claim 4, wherein the processor sets the speed correction coefficient (kω) to be less than 1 when the absolute value of the rotational speed (ωm) is equal to or less than a first speed threshold or equal to or greater than a second speed threshold that is greater than the first speed threshold, and causes the speed correction coefficient (kω) to increase or decrease between 0 and 1 so that the speed correction coefficient (kω) becomes 1 when the rotational speed (ωm) is between the first speed threshold and the second speed threshold.
6. The position control device (1) according to claim 5, wherein the processor sets the speed correction coefficient (kω) to be zero when the absolute value of the rotational speed (ωm) is equal to or less than a third speed threshold that is less than the first speed threshold and when the absolute value of the rotational speed (ωm) is equal to or greater than a fourth speed threshold that is greater than the second speed threshold.
7. The position control device (1) according to claim 3, wherein the processor causes the torque correction coefficient (kt) to increase or decrease according to the torque command value (Tc).
8. The position control device (1) according to claim 7, wherein the processor causes the torque correction coefficient (kt) to increase or decrease between -1 and 1 in such a manner that, when the polarity of the torque correction coefficient (kt) is the same as the polarity of the torque command value (Tc) and the absolute value of the torque command value (Tc) is equal to or less than a first torque threshold, the absolute value of the torque correction coefficient (kt) increases as the absolute value of the torque command value (Tc) increases, when the absolute value of the torque command value (Tc) is equal to or greater than a second torque threshold that is greater than the first torque threshold, the absolute value of the torque correction coefficient (kω) decreases as the absolute value of the torque command value (Tc) increases, and is held at 1 between the first torque threshold and the second torque threshold, and sets the torque correction coefficient (kt) to zero when the absolute value of the torque command value (Tc) is equal to or greater than a third torque threshold that is greater than the second torque threshold.
9. The position control device (1) according to claims 3, wherein the processor calculates, based on the position command value (X), the first d-axis current command value (Id.sub.1*), the d-axis additional current value (Idc) to be added to the first d-axis current command value (Id.sub.1*), the first q-axis current command value (Iq.sub.1*), and a q-axis additional current value (Iqc) to be added to the first q-axis current command value (Iq.sub.1*), and calculates the d-axis voltage command value (Vd*) and the q-axis voltage command value (Vq*) from the second d-axis current command value (Id*), which is obtained by adding the d-axis additional current value (Idc) to the first d-axis current command value (Id.sub.1*), and a second q-axis current command value (Iq*), which is obtained by adding the q-axis additional current value (Iqc) to the first q-axis current command value (Iq.sub.1*), and the q-axis additional current value (Iqc) has a magnitude capable of cancelling out a torque generated by the d-axis additional current value (Idc).
10. The position control device (1) according to claim 9, wherein the q-axis additional current value (Iqc) has such a magnitude that a first calculated torque of the three-phase synchronous motor (20), which is calculated with d-axis current (Id) being the first d-axis current command value (Idi*) and q-axis current (Iq) being the first q-axis current command value (Iq.sub.1*), is equal to a second calculated torque of the three-phase synchronous motor (20), which is calculated with the d-axis current (Id) being a sum total of the first d-axis current command value (Id.sub.1*) and the d-axis additional current value (Idc) and the q-axis current (Iq) being a sum total of the first q-axis current command value (Iq.sub.1*) and the q-axis additional current value (Iqc), the processor uses the following formula to calculate the q-axis additional current value (Iqc), q-axis additional current value Iqc = K.sub.2 • Idc • Iqi* / (Ki + K.sub.2 • Idc + K.sub.2 • Id.sub.1*) here, Idc represents d-axis additional current value, Idi* represents first d-axis current command value, Iqi* represents first q-axis current command value, K.sub.1 = p • Φm, K.sub.2 = p • (Lq - Ld), p represents the number of pole pairs of three-phase synchronous motor (20), Φm represents permanent magnet’s magnetic flux, Ld represents d-axis inductance, and Lq represents q-axis inductance.
11. A method for controlling a rotational speed (ωm) and a rotational angle (θm) of a three-phase synchronous motor (20) by causing a PWM inverter (10) to operate based on a position command value (X) and a detected rotational angle (θm) detected by a position detector (21) that detects the rotational angle (θm) of the three-phase synchronous motor (20), comprising: converting the detected rotational angle (θm) detected by the position detector (21) into the rotational speed (ωm) of the three-phase synchronous motor (20); calculating electrical angle (θ) of the three-phase synchronous motor (20) from the detected rotational angle (θm) detected by the position detector (21); calculating, based on the position command value (X), a first d-axis current command value (Id.sub.1*), a d-axis additional current value (Idc) to be added to the first d-axis current command value (Id.sub.1*), and a first q-axis current command value (Iq.sub.1*); calculating a d-axis voltage command value (Vd*) and a q-axis voltage command value (Vq*) from a second d-axis current command value (Id*), which is obtained by adding the d-axis additional current value (Idc) to the first d-axis current command value (Id.sub.1*), and the first q-axis current command value (Iq.sub.1*); converting the d-axis voltage command value (Vd*) and the q-axis voltage command value (Vq*) into control voltage command values (Vuo, Vvo, Vwo) of U, V, and W phases; and inputting the converted control voltage command values (Vuo, Vvo, Vwo) of U, V, and W phases to the PWM inverter (10) to adjust current values (Iu, Iv, Iw) of U, V, and W phases of the three-phase synchronous motor (20), thereby controlling the rotational speed (ωm) and the rotational angle (θm) of the three-phase synchronous motor (20), wherein
the d-axis additional current value (Idc) oscillates in such a manner that the polarity changes according to the electrical angle (θ) and crosses a zero level with an inclination whose polarity is opposite the polarity of the first q-axis current command value (Iq.sub.1*) at a zero-cross electrical angle where U-, V-, and W-phase current values (Iu, Iv, Iw) cross the zero level.
12. The method according to claim 11, comprising: calculating a first zero-cross electrical angle (φ) closest to zero, among zero-cross electrical angles at which the U-phase current value (Iu) crosses the zero level, by arc tangent of a ratio of the first d-axis current command value (Idi*) to the first q-axis current command value (Iq.sub.1*), calculating a revised electrical angle (θ') by subtracting the first zero-cross electrical angle (φ) from the calculated electrical angle (θ), and calculating a phase coefficient (kφ) having an amplitude of 1 and oscillating in such a way as to cross the zero level with a negative inclination when the revised electrical angle (θ') is n × 60°, in which n is a natural number including zero.
13. The method according to claim 12, comprising: setting an amplitude reference value (Idc') of the d-axis additional current value (Idc) in advance, calculating a speed correction coefficient (kω) according to the rotational speed (ωm), calculating a torque command value (Tc) based on the position command value (X); calculating a torque correction coefficient (kt) according to the torque command value (Tc), and calculating the d-axis additional current value (Idc) by calculating a product of the amplitude reference value (Idc'), the speed correction coefficient (kω), the torque correction coefficient (kt), and the phase coefficient (kφ).
14. The method according to claim 13, comprising: calculating, based on the position command value (X), the first d-axis current command value (Id.sub.1*), the d-axis additional current value (Idc) to be added to the first d-axis current command value (Id.sub.1*), the first q-axis current command value (Iq.sub.1*), and a q-axis additional current value (Iqc) to be added to the first q-axis current command value (Iq.sub.1*), and calculating the d-axis voltage command value (Vd*) and the q-axis voltage command value (Vq*) from the second d-axis current command value (Id*), which is obtained by adding the d-axis additional current value (Idc) to the first d-axis current command value (Id.sub.1*), and a second q-axis current command value (Iq*), which is obtained by adding the q-axis additional current value (Iqc) to the first q-axis current command value (Iq.sub.1*), wherein the q-axis additional current value (Iqc) has a magnitude capable of cancelling out a torque generated by the d-axis additional current value (Idc).
15. The method according to claim 14, wherein the q-axis additional current value (Iqc) has such a magnitude that a first calculated torque of the three-phase synchronous motor (20), which is calculated with d-axis current (Id) being the first d-axis current command value (Id.sub.1*) and q-axis current (Iq) being the first q-axis current command value (Iq.sub.1*), is equal to a second calculated torque of the three-phase synchronous motor (20), which is calculated with the d-axis current (Id) being a sum total of the first d-axis current command value (Idi*) and the d-axis additional current value (Idc) and the q-axis current (Iq) being a sum total of the first q-axis current command value (Iq.sub.1*) and the q-axis additional current value (Iqc), the method uses the following formula to calculate the q-axis additional current value (Iqc), q-axis additional current value Iqc = K.sub.2 • Idc • Iq.sub.1* / (Ki + K.sub.2 • Idc + K.sub.2 • Idi*) here, Idc represents d-axis additional current value, Idi* represents first d-axis current command value, Iq.sub.1* represents first q-axis current command value, K.sub.1 = p • Φm, K.sub.2= p • (Lq - Ld) p represents the number of pole pairs of three-phase synchronous motor (20), Φm represents permanent magnet’s magnetic flux, Ld represents d-axis inductance, and Lq represents q-axis inductance.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0054] Embodiment(s) of the present disclosure will be described based on the following figures, wherein:
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
DESCRIPTION OF EMBODIMENTS
[0066] Hereinafter, an exemplary embodiment of a position control device 1 will be described with reference to
[0067] As illustrated in
[0068] The position/speed control unit 2, the dq-axis current command computation unit 3, the dq-axis voltage command computation unit 4, the two-phase/three-phase conversion unit 5, the dead time compensation amount computation unit 6, adders 7 to 9, current detectors 11 and 12, and the three-phase/two-phase conversion unit 19 of the position control device 1 have the same configurations as those described with reference to
[0069] The d-axis additional current computation unit 15 calculates and outputs a d-axis additional current value Idc. The q-axis additional current computation unit 16 calculates and outputs a q-axis additional current value Iqc. An adder 17 adds the d-axis additional current value Idc output by the d-axis additional current computation unit 15 to a d-axis current command value Idi* output from the dq-axis current command computation unit 3 to output a d-axis current command value Id*. An adder 18 adds the q-axis additional current value Iqc output from the q-axis additional current computation unit 16 to a q-axis current command value Iq.sub.1* output from the dq-axis current command computation unit 3 to output a q-axis current command value Iq*. The d-axis current command value Id* and the q-axis current command value Iq* are input to each of the dq-axis voltage command computation unit 4 and the dead time compensation amount computation unit 6. The d-axis additional current value Idc is an input for increasing the absolute value of inclination (dI/dt) at a zero-cross point of each phase current (Iu, Iv, Iw) and is an output of the d-axis additional current computation unit 15 described below. The q-axis additional current value Iqc is an input for compensating the torque change due to the d-axis additional current value Idc and is a calculation output of the q-axis additional current computation unit 16 described below.
[0070] The d-axis additional current computation unit 15 calculates and outputs the d-axis additional current value Idc that crosses the zero level at a motor electrical angle θ.sub.0 where each phase current (Iu, Iv, Iw) crosses the zero level, with an inclination whose polarity is opposite to the polarity of the q-axis current command value Iq.sub.1*.
[0071] As illustrated in
[0072] The d-axis amplitude reference value storing unit 151 can be realized by storing an amplitude reference value Idc' of Idc set in advance in the storage unit. The speed correction coefficient calculation unit 152, the torque correction coefficient calculation unit 153, the phase coefficient calculation unit 155, the arc tangent computation unit 154, the subtracter 156, and the multipliers 157 to 159 can be realized when a CPU (i.e., processor) executes the programs stored in the storage unit. The d-axis additional current computation unit 15 causes the multipliers 157, 158, and 159 to sequentially multiply the amplitude reference value Idc' stored in the d-axis amplitude reference value storing unit 151 with a speed correction coefficient kω output from the speed correction coefficient calculation unit 152, a torque correction coefficient kt output from the torque correction coefficient calculation unit 153, and a phase coefficient kΦ output from the phase coefficient calculation unit 155, and outputs the multiplication result (a product) as the d-axis additional current value Idc.
[0073] First, calculation of the phase coefficient kΦ by the phase coefficient calculation unit 155 will be described. As illustrated in
[0074] First, the motor electrical angle θ.sub.0 where each phase current (Iu, Iv, Iw) crosses the zero level is given by the following formulae (1) and (2), when assuming that the angle at which the d-axis and the U-phase coincides is zero; i.e., θ = 0.
In formula (1), n is a natural number including zero.
[0075] The arc tangent computation unit 154 calculates the first zero-cross electrical angle φ closest to zero among electrical angles at which the U-phase current Iu crosses the zero level; namely n = 0, among zero-cross electrical angles (n × 60° + Φ at which each phase current (Iu, Iv, Iw) calculated by formula (1) crosses the zero level, according to formula (2), i.e., φ= atan (Id.sub.1* / Iq.sub.1*), and outputs the calculated result. Here, atan is an arc tangent function, and (Id.sub.1* / Iq.sub.1*) is a ratio of the d-axis current command value Id.sub.1* to the q-axis current command value Iq.sub.1*.
[0076] The subtracter 156 subtracts from the motor electrical angle θ the first zero-cross electrical angle φ output from the arc tangent computation unit 154. The subtraction result is input, as the revised electrical angle θ' = θ - φ, to the phase coefficient calculation unit 155. Accordingly, when the motor electrical angle θ is the first zero-cross electrical angle φ at which each phase current (Iu, Iv, Iw) crosses the zero level, the revised electrical angle θ' is θ' = θ -φ = φ - φ = 0.
[0077] The phase coefficient calculation unit 155 outputs the phase coefficient kΦ having an amplitude of 1 and oscillating in such a way as to cross the zero level with a negative inclination when the revised electrical angle θ' is n × 60°, with respect to the revised electrical angle θ' input from the subtracter 156, in which n is a natural number including zero. The phase coefficient kΦ is, for example, a sine wave illustrated in the graph of
[0078] The speed correction coefficient calculation unit 152 outputs the speed correction coefficient kω (0 ≦ kω ≦ 1) according to the rotational speed ωm of the motor 20.
[0079] As described above, when the absolute value of the rotational speed ωm of the motor 20 is smaller, the disturbance suppression performance of the position/speed control unit 2 is higher and positional deviation ripples caused by the dead time Td can be suppressed. Further, when the absolute value of the rotational speed ωm of the motor 20 is larger, the inclination of each phase current (Iu, Iv, Iw) at the zero-cross point is large and the minute current section near the zero-cross point is shortened. Therefore, the positional deviation ripples caused by the dead time Td are smaller. For this reason, the d-axis additional current computation unit 15 causes the speed correction coefficient kω to increase or decrease between 0 and 1 in such a way as to reduce the d-axis additional current value Idc according to the absolute value of the rotational speed ωm of the motor 20, in the motor rotational speed range in which the positional deviation ripples caused by the dead time Td are smaller.
[0080] For example, as illustrated in
[0081] Further, when the absolute value of the rotational speed ωm of the motor 20 is not greater than a third speed threshold ωm3 that is less than the first speed threshold ωm1 or when the absolute value of the rotational speed ωm of the motor 20 is not less than a fourth speed threshold ωm4 that is greater than the second speed threshold ωm2, the speed correction coefficient kω may be set to zero. In a region from the third speed threshold ωm3 to the first speed threshold ωm1 and a region from the second speed threshold ωm2 to the fourth speed threshold ωm4, the speed correction coefficient kω may be set to change between 0 and 1, in which third speed threshold ωm3 < first speed threshold ωm1 < second speed threshold ωm2 < fourth speed threshold ωm4.
[0082] As a result, the d-axis additional current value Idc can be reduced by setting the speed correction coefficient kω to be smaller than 1 when the absolute value of the rotational speed ωm of the motor 20 is equal to or less than the first speed threshold ωm1; namely, in a region where the disturbance suppression performance of the position/speed control unit 2 is enhanced, and when the absolute value of the rotational speed ωm is equal to or greater than the second speed threshold ωm2; namely, in a region where positional deviation ripples caused by the dead time Td are sufficiently smaller. Further, since the speed correction coefficient kω can be held at 1 when the absolute value of the rotational speed ωm of the motor 20 is between the first speed threshold ωm1 and the second speed threshold ωm2, it is possible to suppress increase in positional deviation ripples due to the torque disturbance caused by the dead time Td in this rotational speed range, and further it is possible to suppress deterioration of the machined surface quality. The relationship between the absolute value of the rotational speed ωm and the speed correction coefficient kω illustrated in
[0083] The torque correction coefficient calculation unit 153 outputs the torque correction coefficient kt (-1 ≦ kt ≦ 1) according to the torque command value Tc. The torque correction coefficient kt is in a range of 0 ≦ kt ≦ 1 when Tc > 0 and in a range of -1 ≦ kt ≦ 0 when Tc < 0. Further, when the absolute value of the torque command value Tc is greater than a constant value, the output torque correction coefficient is kt = 0.
[0084] When the absolute value of the torque command value Tc is larger, the amplitude of each phase current (Iu, Iv, Iw) is larger and the inclination at the zero-cross point increases. Accordingly, positional deviation ripples caused by the dead time Td are smaller. Therefore, according to the absolute value of the torque command value Tc, the d-axis additional current computation unit 15 may reduce the d-axis additional current value Idc in a torque range in which positional deviation ripples caused by the dead time Td are sufficiently smaller.
[0085] For example, as illustrated in
[0086] As a result, the d-axis additional current value Idc can be reduced by setting the absolute value of the torque correction coefficient kt to be smaller than 1, when the absolute value of the torque command value Tc is equal to or greater than the second torque threshold Tc2; namely, in a range where positional deviation ripples caused by the dead time Td becomes smaller. Further, the d-axis additional current value Idc can be set to zero by setting the torque correction coefficient kt to zero when the absolute value of the torque command value Tc is equal to or greater than the third torque threshold Tc3. In addition, since the absolute value of the torque correction coefficient kt is set to 1 when the absolute value of the torque command value Tc is between the first torque threshold Tc1 and the second torque threshold Tc2, increase in positional deviation ripples due to the torque disturbance caused by the dead time Td in this range of torque command value Tc can be suppressed, and deterioration of the machined surface quality can be suppressed. The relationship between the torque command value Tc and the torque correction coefficient kt illustrated in
[0087] Hereinafter, an exemplary waveform of the d-axis additional current value Idc when the phase coefficient kΦ is the sine wave illustrated in
[0088] When the phase coefficient kΦ is the sine wave illustrated in
[0089] In this case, the d-axis additional current value Idc can be expressed by the following formula (7) using the amplitude reference value Idc', the speed correction coefficient kω, and the torque correction coefficient kt, described above.
[0090] From formula (7) and formula (2), at the motor electrical angle θ.sub.0 where each phase current (Iu, Iv, Iw) crosses the zero level, Idc (θ.sub.0) becomes zero as understood from the following formula (8).
[0091] Further, at the motor electrical angle θ.sub.0 where each phase current (Iu, Iv, Iw) crosses the zero level, the inclination of Idc (θ.sub.0) is given by the following formula (9) when substituting θ.sub.0 into a formula obtained by differentiating formula (7) with the revised electrical angle θ′.
[0092] Here, according to the synchronous motor dq-axis control theory, the torque command value Tc and the q-axis current command value Iq1* match each other in polarity, and the torque command value Tc and the torque correction coefficient kt match each other in polarity, as illustrated in
[0093] Namely,
[0094] Accordingly,
[0095] Further, the amplitude reference value Idc' and the speed correction coefficient kω, which are the remaining coefficients related to the d-axis additional current value Idc, are positive coefficients.
[0096] Accordingly, the d-axis additional current value Idc crosses the zero level with an inclination whose polarity is opposite the polarity of the q-axis current command value Iq.sub.1*, at the motor electrical angle θ.sub.0 where each phase current (Iu, Iv, Iw) crosses the zero level.
[0097]
[0098] By substituting the q-axis current command value Iq.sub.1* for Iq* and the d-axis additional current value Idc for Id*,
[0099] Further, by substituting the condition of Idc' × kω × kt = 0.15 × Iq.sub.1*,
[0100] In
[0101] Next, the q-axis additional current computation unit 16 will be described. The q-axis additional current computation unit 16 calculates and outputs the q-axis additional current value Iqc capable of cancelling out the torque generated by the d-axis additional current value Idc. Torque T of the synchronous motor can be given by the following formula (3) using characteristic features of the motor 20, such as the number of pole pairs p, permanent magnet’s magnetic flux Φm, d-axis inductance Ld, q-axis inductance Lq, d-axis current Id, and q-axis current Iq.
here, K.sub.1 = p .Math. Φm, and K.sub.2 = p .Math. (Lq - Ld).
[0102] Regarding the d-axis additional current value Idc and the q-axis additional current value Iqc, a first calculated torque T1 obtained by substituting Iq = Iq.sub.1* and Id = Id.sub.1* into formula (3) is equal to a second calculated torque T2 obtained by substituting Iq = Iq.sub.1* + Iqc and Id = Id.sub.1* + Idc into formula (3). Therefore, the following formula (4) can be obtained.
[0103] By solving formula (4), the q-axis additional current value Iqc can be expressed by the following formula (5).
[0104] In the case of SPMSM in which the d-axis current generates no torque, the q-axis additional current computation unit 16 can be omitted.
[0105] Ad described above, the position control device 1 according to the embodiment can suppress positional deviation ripples caused by the dead time Td and can improve the machined surface quality.