Numerical control apparatus

11507062 · 2022-11-22

Assignee

Inventors

Cpc classification

International classification

Abstract

A numerical control apparatus of a machine tool that performs tapping, includes a numerical control, an acceleration learning block, an acceleration/deceleration processing unit that applies an acceleration/deceleration process to the command acceleration and the position command value to calculate a post-acceleration/deceleration position command value, a position control unit that calculates a speed command value based on the post-acceleration/deceleration position command value, a speed/torque control unit that calculates a motor torque command value from the speed command value, and a current control unit that calculates a motor current value of a spindle motor from the motor torque command value. The acceleration learning block outputs, as the command acceleration A, an initial command acceleration A[0] which is smaller than the calculated command acceleration, in accordance with a state quantity of the spindle motor, to the acceleration/deceleration processing unit.

Claims

1. A numerical control apparatus for a machine tool that performs tapping with a spindle and a feed axis being synchronized with each other, the numerical control apparatus comprising: a numerical control circuit that interprets a tapping program and outputs a position command value of the spindle; an acceleration learning circuit that calculates and outputs a command acceleration of the spindle during tapping; an acceleration/deceleration processing circuit that applies an acceleration/deceleration process to the position command value input from the numerical control circuit based on the command acceleration input from the acceleration learning circuit to calculate a post-acceleration/deceleration position command value; a position control circuit that calculates a speed command value based on the post-acceleration/deceleration position command value input from the acceleration/deceleration processing circuit; a speed/torque control circuit that calculates a motor torque command value from the speed command value input from the position control circuit; and a current control circuit that calculates a motor current command value of a spindle motor from the motor torque command value input from the speed/torque control circuit, wherein the current control circuit causes electric current of the current command value, which is calculated based on both the position command value of the spindle output from the numerical control circuit and the command acceleration calculated in the acceleration learning circuit, to flow in the spindle motor to control a position of the spindle motor so that a synchronization error of the feed spindle and the feed axis is reduced and a tapping machining error is accordingly decreased; wherein the acceleration learning circuit outputs: an initial command acceleration, which is smaller than a calculated command acceleration for a next tapping, as the command acceleration, in response to determining that one or more state quantities of the spindle motor satisfies a condition, to the acceleration/deceleration processing circuit, and the calculated command acceleration for the next tapping, as the command acceleration, in response to determining that the one or more state quantities of the spindle motor does not satisfy the condition as the command acceleration, wherein the command acceleration for next tapping is calculated as A[n+1] using a target motor torque command value Tg, a peak value |T| of the motor torque command value, a command acceleration A[n] for present tapping, and a convergence factor α by a following equation (1):
A[n+1]=A[n]+A[n]×(Tg−|T|)×α  (1), and wherein the convergence factor satisfies a relationship of 0<α≤1.

2. The numerical control apparatus according to claim 1, wherein, the one or more state quantities of the spindle motor includes the motor current command value calculated by the current control circuit, and the acceleration learning circuit outputs, as the command acceleration, the initial command acceleration to the acceleration/deceleration processing circuit, when the motor current command value is 0.

3. The numerical control apparatus according to claim 2, the one or more state quantities of spindle motor further includes a secondary resistance identified value of the spindle motor calculated by the current control circuit, and the acceleration learning circuit outputs, as the command acceleration, the initial command acceleration to the acceleration/deceleration processing circuit, when the secondary resistance identified value is equal to or greater than a predetermined threshold value.

4. The numerical control apparatus according to claim 1, wherein the one or more state quantities of the spindle motor includes a secondary resistance identified value of the spindle motor calculated by the current control circuit, and the acceleration learning circuit outputs, as the command acceleration, the initial command acceleration to the acceleration/deceleration processing circuit, when the secondary resistance identified value is equal to or greater than a predetermined threshold value.

5. A numerical control method for a machine tool that performs tapping with a spindle and a feed axis being synchronized with each other, the numerical control method comprising: interpreting a tapping program and outputting a position command value of the spindle; calculating a command acceleration of the spindle during tapping; applying an acceleration/deceleration process to the position command value based on the calculated command acceleration to calculate a post-acceleration/deceleration position command value; calculating a speed command value based on the calculated post-acceleration/deceleration position command value; calculating a motor torque command value from the speed command value; and calculating a motor current command value of a spindle motor from the calculated motor torque command value, causing electric current of the motor current command value, which is calculated based on both the position command value and the spindle and the command acceleration of the spindle, to flow in the spindle motor to control a position of the spindle so that a synchronization error of the feed spindle and the feed axis is reduced and a tapping machining error is accordingly decreased; wherein the calculating a command acceleration of the spindle during tapping comprises, using an initial command acceleration, which is smaller than a calculated command acceleration for a next tapping, as the command acceleration in response to determining that one or more state quantities of the spindle motor satisfy a condition, and using the calculated command acceleration for the next tapping, as the command acceleration, in response to determining that the one or more state quantities of the spindle motor do not satisfy the condition, wherein the command acceleration for next tapping is calculated as A[n+1] using a target motor torque command value Tg, a peak value |T| of the motor torque command value, a command acceleration A[n] for present tapping, and a convergence factor α by a following equation (1):
A[n+1]=A[n]+A[n]×(Tg−|T|)×α  (1), and wherein the convergence factor satisfies a relationship of 0<α≤1.

6. The numerical control method according to claim 5, wherein the one or more state quantities of the spindle motor is the motor current command value, and wherein the initial command acceleration is used as the command acceleration when the motor current command value is 0.

7. The numerical control method according to claim 6, wherein the one or more state quantities of spindle motor is a secondary resistance identified value of the spindle motor, and wherein the initial command acceleration is used as the command acceleration when the secondary resistance identified value is equal to or greater than a predetermined threshold value.

8. The numerical control method according to claim 5, wherein the one or more state quantities of the spindle motor is a secondary resistance identified value of the spindle motor, and wherein the initial command acceleration is used as the command acceleration when the secondary resistance identified value is equal to or greater than a predetermined threshold value.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) Embodiment(s) of the present disclosure will be described by reference to the following figures, wherein:

(2) FIG. 1 is a block diagram of a numerical control apparatus for a machine tool according to an embodiment;

(3) FIG. 2 is a flowchart showing operations of the numerical control apparatus illustrated in FIG. 1; and

(4) FIG. 3 is a block diagram of a related art numerical control apparatus for a machine tool.

DESCRIPTION OF EMBODIMENTS

(5) The structure of a numerical control apparatus 100 according to an embodiment will be described by reference to the drawings. The numerical control apparatus 100 is used for a machine tool that performs tapping with a spindle and a feed axis being synchronized with each other.

(6) Referring to FIG. 1, the numerical control apparatus 100 includes a numerical control unit 1, an acceleration/deceleration processing unit 4, a position control unit 5, a speed/torque control unit 6, a current control unit 7, a spindle motor 8, an acceleration learning block 9, and an acceleration/deceleration peak holding unit 10. The spindle motor 8 is an induction motor.

(7) The numerical control unit 1 interprets a tapping program and outputs a position command value to the acceleration/deceleration processing unit 4. Simultaneously, the numerical control unit 1 informs the acceleration learning block 9 that tapping is being performed. The acceleration/deceleration processing unit 4, based on a command acceleration A of a spindle input from the acceleration learning block 9, accelerates or decelerates, that is, adjusts the speed of, the position command value input from the numerical control unit 1, and outputs a post-acceleration/deceleration position command value to the position control unit 5. The position control unit 5 calculates a speed command value according to feedback control of the post-acceleration/deceleration position command value and a motor position and outputs the speed command value to the speed/torque control unit 6. The speed/torque control unit 6 then calculates a motor torque command value according to feedback control of the speed command value and a motor speed and outputs the motor torque command to the current control unit 7.

(8) The current control unit 7 includes a secondary resistance identified unit that calculates a secondary resistance identified value of the spindle motor 8. The current control unit 7 calculates a slip frequency by using the calculated secondary resistance identified value. The current control unit 7 then outputs the calculated slip frequency to the spindle motor 8, and also calculates a motor current command value from the motor torque command value and causes electric current of the calculated current command value to flow in the spindle motor 8. As such, the current control unit 7 drives the spindle motor 8 to control the position of the spindle.

(9) The acceleration/deceleration peak holding unit 10, based on the post-acceleration/deceleration position command value input from the acceleration/deceleration processing unit 4 and the motor torque command value input from the speed/torque control unit 6, determines stop, acceleration, constant speed, or deceleration from the post-acceleration/deceleration position command value, and detects and outputs to the acceleration learning block 9 a peak value |T| of the motor torque command value in the acceleration and deceleration states.

(10) The acceleration learning block 9 includes an acceleration learning unit 2 and an acceleration memory unit 3. The acceleration learning unit 2, based on a target motor torque command value Tg, the peak value |T| of the motor torque command value input from the acceleration/deceleration peak holding unit 10, and a command acceleration A[n] for current tapping, which is input from the acceleration memory unit 3, calculates and outputs to the acceleration memory unit 3, a command acceleration A[n+1] for the next tapping, by using the following equation (1):
A[n+1]=A[n]+A[n]×(Tg−|T|)×α  (1)

(11) The command acceleration A[n+1] is an absolute value of acceleration or deceleration. The peak value |T| of the motor torque command value is also an absolute value. Further, a represents a convergence factor, which satisfies the relationship of 0<α≤1, and is an adjusting parameter for avoiding an excessive synchronization error alarm generated when the peak value |T| exceeds the target motor torque command value Tg. Desirably, α is about 0.25 (converges after four iterations).

(12) The acceleration memory unit 3 stores the command acceleration A[n+1] for the next tapping calculated by the acceleration learning unit 2, and outputs, at the next tapping, the command acceleration A[n+1] to the acceleration/deceleration processing unit 4 as the command acceleration A of the spindle.

(13) The acceleration memory unit 3 further stores, in addition to the command acceleration A[n+1] calculated by the acceleration learning unit 2 according to the equation (1), an initial command acceleration A[0] which is smaller than the calculated command acceleration A[n+1].

(14) When changing windings of the spindle motor 8 or when the spindle motor 8 is not revolved, the spindle motor 8 is not energized so that the motor current value is 0. In revolving the spindle motor 8 in a state where the motor current value is 0, the field current value increases from 0. For a period from time 0 to a time several hundred msec after the field current starts to flow, the field current is insufficient and the magnetic flux is not stable, so that the outputtable maximum torque of the spindle motor 8 decreases. Therefore, if the spindle motor 8 is accelerated or decelerated with high command acceleration, the spindle motor 8 would not be able to follow the control, resulting in an increase in a synchronization error between the spindle and the feed axis to thereby increase the machining error.

(15) To address the above disadvantage, when the motor current value calculated by the current control unit 7 is 0, the acceleration memory unit 3 outputs, as a command acceleration A, the initial command acceleration A[0] which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2 to the acceleration/deceleration processing unit 4.

(16) Further, when the secondary resistance identified value, which is a circuit constant of the spindle motor 8, significantly deviates from the optimal value, such as when resuming machining in a state where the temperature of the spindle motor 8 is lowered, the outputtable maximum torque may be decreased. In this case, as in the above case, if the spindle motor 8 is accelerated or decelerated with high command acceleration, the spindle motor 8 would not be able to follow the control, resulting in an increase in the synchronization error between the spindle and the feed axis to thereby increase the machining error.

(17) To address this disadvantage, when the secondary resistance identified value is equal to or greater than a predetermined threshold value, the acceleration memory unit 3 outputs, as a command acceleration A, the initial command acceleration A[0] which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2 to the acceleration/deceleration processing unit 4.

(18) The predetermined threshold value may be a resulting secondary resistance identified value which is converged when the spindle motor 8 is driven in a low temperature state, or a value which is preset by test, for example. The predetermined threshold value is a parameter which is determined at the time of evaluation of the spindle motor 8 or servo adjustment.

(19) As described above, the acceleration memory unit 3 determines, based on the motor current value or the secondary resistance identified value, which is a state quantity of the spindle motor 8, whether or not to output, as the command acceleration A, the initial command acceleration A[0], which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2, to the acceleration/deceleration processing unit 4.

(20) Referring now to FIG. 2, the operation of the acceleration learning block 9 of the numerical control apparatus 100 according to the embodiment will be described.

(21) As shown in steps S101 to S102 in FIG. 2, the acceleration learning block 9 remains in a standby state until a signal indicating “tapping being performed” is input from the numerical control unit 1.

(22) If YES is determined in step S101 in FIG. 2, the process proceeds to step S102 in FIG. 2 where the acceleration learning block 9 acquires the motor current value and the secondary resistance identified value calculated by the current control unit 7 from the acceleration memory unit 3, and the process further proceeds to step S103 in FIG. 2. The acceleration learning block 9 then determines whether or not the motor current value is 0 in step S103. If YES is determined in step S103, the process proceeds to step S105 where the acceleration learning block 9 outputs, as the command acceleration A, the initial command acceleration A[0], which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2, to the acceleration/deceleration processing unit 4.

(23) The process further proceeds to step S106 where the acceleration learning block 9 determines whether or not the machine tool has stopped. If YES is determined in step S106, the acceleration learning block 9 terminates the process. If NO is determined in step S106, the process returns to step S101.

(24) If NO is determined in step S103, the process proceeds to step S104 where the acceleration learning block 9 determines whether or not the secondary resistance identified value is equal to or greater than a predetermined threshold value. If YES is determined in step S104, the process proceeds to step S105 where the acceleration learning block 9 outputs, as the command acceleration A, the initial command acceleration A[0] which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2 to the acceleration/deceleration processing unit 4. The process then proceeds to step S106, and the acceleration learning block 9 terminates the process if YES is determined in step S106 and the process returns to step S101 if NO is determined in step S106, as described above.

(25) If NO is determined in step S104, the process proceeds to step S107 where the acceleration learning block 9 acquires the peak value |T| of the motor torque command value calculated by the acceleration/deceleration peak holding unit 10 from the acceleration learning unit 2, and the process proceeds to step S108. In step S108, the acceleration learning block 9 calculates and outputs to the acceleration memory unit 3 the command acceleration A[n+1] for next tapping from the target motor torque command value Tg, the peak value |T| of the motor torque command value input by the acceleration/deceleration peak holding unit 10, and the command acceleration A[n] for current tapping input from the acceleration memory unit 3, according to the equation (1) described above. The acceleration learning block 9 stores the command acceleration A[n+1] for next tapping in the acceleration memory unit 3, and the process proceeds to S109.

(26) In step S109, the acceleration learning block 9 outputs, as the command acceleration A, the command acceleration A[n+1] for next tapping stored in the acceleration memory unit 3 to the acceleration/deceleration processing unit 4, and the process proceeds to step S106.

(27) As described above, if YES is determined in step S106, the acceleration learning block 9 terminates the process, and if NO is determined in step S106, the process returns to step S101.

(28) As described above, the numerical control apparatus 100 according to the embodiment sets the command acceleration A to be smaller than the command acceleration A[n+1] calculated by acceleration learning unit 2, when tapping is started in a state where the spindle motor 8 is actuated with the motor current value being 0 so that the magnetic flux is unstable and the outputtable maximum torque is decreased or in a state where the secondary resistance identified value of the spindle motor 8 is equal to or greater than the predetermined threshold value and significantly deviates from the optimal value, such as at the time of start-up at low-temperatures. This structure inhibits an increase in the synchronization error between the spindle and the feed axis due to inability of the spindle motor 8 to follow the control to thus increase the machining error, when the outputtable maximum torque of the spindle motor 8 is decreased.

(29) During tapping, the command acceleration A[n] for current tapping and the convergence factor α (0<α≤1) are multiplied by a difference between the target motor torque command value Tg and the peak value |T| of the motor torque command value, and the multiplication result is added to the command acceleration A[n] shown as the equation (1), thereby converging the command acceleration A to the target motor torque command value Tg. This can inhibit the peak value |T| from exceeding the target motor torque command value Tg to increase the synchronization error between the spindle and the feed axis and increase the machining error. It is also possible to converge the command acceleration A to the target motor torque command value Tg to thereby perform high speed tapping.

(30) As such, the numerical control apparatus 100 according to the embodiment reduces the synchronization error to thereby reduce the machining error in a machine tool that performs tapping with the spindle and the feed axis being synchronized with each other. The numerical control apparatus 100 according to the embodiment can also perform high-speed and high-precision tapping.

(31) In the above example, the numerical control apparatus 100 determines whether or not the motor current value is 0 and then refers to the secondary resistance identified value if the motor current value is not 0. However, the numerical control apparatus 100 may use either one of the motor current value or the secondary resistance identified value to determine whether or not the initial command acceleration A[0] which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2 is to be output, as the command acceleration A, to the acceleration/deceleration processing unit 4.

(32) Referring to FIG. 3, a numerical control apparatus 200 of the related art will be described as a comparative example of the numerical control apparatus 100 according to the embodiment. Elements of the numerical control apparatus 200 illustrated in FIG. 3 that are similar to those in the numerical control apparatus 100 described above with reference to FIG. 1 and FIG. 2 are denoted by similar reference numerals and will be not described.

(33) As illustrated in FIG. 3, the numerical control apparatus 200 of related art includes an acceleration table 11, an acceleration computation unit 12, and an acceleration ratio table 13. The acceleration table 11 stores, as a table, command accelerations in accordance with tapping types and tool diameters, for example.

(34) The acceleration table 11, based on tapping information input from the numerical control unit 1, selects a command acceleration A1 that is optimal for the tapping and outputs the selected command acceleration A1 to the acceleration computation unit 12. The acceleration ratio table 13 stores, in a table, acceleration ratios A2 that define reduction ratios of accelerations corresponding to input temperatures of the spindle motor 8. The acceleration ratio table 13, based on the input temperature of the spindle motor 8, reads a corresponding acceleration ratio A2 from the table and outputs the corresponding acceleration ratio A2 to the acceleration computation unit 12. For example, the lower the temperature of the spindle motor 8, the smaller the acceleration ratio A2.

(35) The acceleration computation unit 12 multiplies the command acceleration A1 input from the acceleration table 11 by the acceleration ratio A2 input from the acceleration ratio table 13 to calculate the command acceleration A, and outputs the command acceleration A to the acceleration/deceleration processing unit 4.

(36) The lower the temperature of the spindle motor 8, the smaller the acceleration ratio A2, for example. Therefore, as the temperature of the spindle motor 8 is lowered, the command acceleration A output to the acceleration/deceleration processing unit 4 becomes smaller.

(37) As described above, the numerical control apparatus 200 performs control to set the command acceleration A smaller as the temperature of the spindle motor 8 becomes lower. However, in a state where the magnetic flux of the spindle motor 8 is not stable to decrease the outputtable maximum torque, or in a state where the secondary resistance identified value significantly deviates from the optimal value to decrease the outputtable maximum torque, the above control method fails to allow the spindle motor 8 to follow the control even by setting the command acceleration A small based on the temperature of the spindle motor 8. This may increase the synchronization error between the spindle and the feed axis, to thereby increase the machining error.

(38) In contrast, the numerical control apparatus 100 according to the embodiment determines, based on the motor current value, whether or not the magnetic flux of the spindle motor 8 is unstable so that the outputtable maximum torque is decreased, and determines, based on the secondary resistance identified value of the spindle motor 8, whether or not the secondary resistance identified value deviates significantly from the optimal value so that the outputtable maximum torque is decreased. The numerical control apparatus 100 then outputs, based on this determination, the initial command acceleration A[0] which is smaller than the command acceleration A[n+1] calculated by the acceleration learning unit 2, as the command acceleration A, to the acceleration/deceleration processing unit 4. This structure inhibits an increase in the synchronization error between the spindle and the feed axis and an increase in the machining error, caused by inability of the spindle motor 8 to follow the control in a state where the outputtable maximum torque of the spindle motor 8 is decreased.

(39) As described above, the numerical control apparatus 100 according to the embodiment can reduce the synchronization error between the spindle and the feed axis to thereby reduce the machining error in a machine tool that performs tapping with the spindle and the feed axis being synchronized with each other.