Control device, machine tool, control method, and computer program
The control device addresses nut vibration in ball screw mechanisms by applying a higher integral gain during direction reversal and within a specific range, then switches back to the original gain, effectively suppressing vibrations and preventing oscillation.
Patent Information
- Application Number
- JP2024095306
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-12
- Publication Date
- 2025-12-24
AI Technical Summary
Existing control methods for ball screw mechanisms in machine tools fail to adequately suppress nut vibration when the nut's movement direction reverses, particularly due to the risk of vibration resurgence after resetting the integral compensation gain.
A control device that determines the nut's movement direction reversal, applies a higher integral gain temporarily to suppress vibration, checks if the nut is within a predetermined range and stopped, and after a set time, switches back to the original gain to disable vibration suppression.
Effectively suppresses nut vibration by using a higher integral gain during the reversal and within a specific range, then switches back to the original gain to prevent prolonged oscillation, ensuring stable operation.
Smart Images

Figure 2025186882000001_ABST
Abstract
Description
[Technical Field]
[0001] The present technology relates to a control device, a machine tool, a control method, and a computer program for controlling the drive of a ball screw mechanism. [Background technology]
[0002] There is a machine tool that uses a ball screw mechanism to move a tool or workpiece. The machine tool is equipped with a control unit that feedback-controls the movement of the tool or workpiece, i.e., the movement of the nut of the ball screw mechanism. If the direction of movement of the nut reverses and stops, the nut may vibrate due to elastic deformation of the balls of the ball screw mechanism and a delay in position detection due to feedback control. In order to suppress nut vibration, the control unit performs feedback control by setting the position difference to zero (see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 4880763 Summary of the Invention [Problem to be solved by the invention]
[0004] When the nut's moving direction is reversed, the control unit may change the integral compensation gain that is multiplied by the speed deviation for a predetermined time to suppress the effect of disturbances on the torque command value. If the control unit returns the integral compensation gain to its original value after the predetermined time has elapsed, there is a risk that vibration will not be sufficiently suppressed due to the control that sets the position difference to zero.
[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide a control device, machine tool, control method, and computer program that can suppress nut vibration even when the integral gain multiplied by the speed deviation is changed when the nut's movement direction is reversed. [Means for solving the problem]
[0006] A control device according to one embodiment of the present disclosure is a control device that feedback controls a motor that drives a ball screw mechanism, and determines whether the direction of movement of a nut of the ball screw mechanism has reversed. If it is determined that the direction of movement of the nut has reversed, it multiplies the speed deviation by a second integral gain that is greater than a first integral gain through feedback control, determines whether the nut is located within a predetermined range based on the reversal position of the nut, and if it is determined that the nut is located within the predetermined range, it determines whether the nut has stopped, and if it is determined that the nut has stopped, it enables a vibration suppression process that suppresses vibration of the nut, determines whether a predetermined time has elapsed since the vibration suppression process was enabled, and if it is determined that the predetermined time has elapsed since the vibration suppression process was enabled, it multiplies the speed deviation by the first integral gain and disables the vibration suppression process.
[0007] In the present disclosure, when the moving direction of the nut reverses and the nut stops within a predetermined range, the control device multiplies the speed deviation by a second integral gain greater than the first integral gain and enables vibration suppression processing. When a predetermined time has elapsed since the vibration suppression processing was enabled, the control device multiplies the speed deviation by the first integral gain and disables the vibration suppression processing.
[0008] The vibration suppression process of the control device according to one embodiment of the present disclosure includes a process of calculating the difference between a first position indicating the sampled location of the nut and a second position indicating the location of the nut sampled before the first position to generate a position difference, and setting the position difference to zero for n sampling periods (n is a natural number) to generate speed data of the nut.
[0009] In the present disclosure, the control device generates speed data of the nut by setting the position difference to zero for n sampling periods, thereby suppressing vibration of the nut.
[0010] A control device according to an embodiment of the present disclosure determines that the moving direction of the nut has reversed when the sign of the difference between the target position input in the feedback control and the position feedback is reversed.
[0011] In the present disclosure, the control device determines that the moving direction of the nut has reversed when the sign of the difference between the target position and the position feedback is reversed.
[0012] A control device according to an embodiment of the present disclosure determines whether or not the nut is located within the predetermined range based on the distance from the reversal position.
[0013] In the present disclosure, the predetermined range is determined based on the distance from the reversal position.
[0014] A control device according to an embodiment of the present disclosure determines whether the nut is located within the predetermined range based on the time that has elapsed since the nut reached the reversal position.
[0015] In the present disclosure, the predetermined range is determined based on the time elapsed since the reversal position was reached.
[0016] A machine tool according to one embodiment of the present disclosure includes a ball screw mechanism for moving a workpiece or a tool, and a control device for feedback controlling a motor that drives the ball screw mechanism. The control device determines whether the direction of movement of a nut of the ball screw mechanism has reversed, and if it determines that the direction of movement of the nut has reversed, multiplies the speed deviation by a second integral gain greater than a first integral gain through feedback control, determines whether the nut is located within a predetermined range based on the reversal position of the nut, and if it determines that the nut is located within the predetermined range, determines whether the nut has stopped, and if it determines that the nut has stopped, enables a vibration suppression process that suppresses vibration of the nut, and after the vibration suppression process is enabled, determines whether the nut is located within the predetermined range, and if it determines that the nut is not located within the predetermined range after the vibration suppression process is enabled, multiplies the speed deviation by the first integral gain and disables the vibration suppression process.
[0017] In the present disclosure, when the moving direction of the nut reverses and the nut stops within a predetermined range, the control device multiplies the speed deviation by a second integral gain greater than the first integral gain and enables vibration suppression processing. When a predetermined time has elapsed since the vibration suppression processing was enabled, the control device multiplies the speed deviation by the first integral gain and disables the vibration suppression processing.
[0018] A control method according to one embodiment of the present disclosure is a control method for feedback controlling a motor that drives a ball screw mechanism, which determines whether the movement direction of a nut of the ball screw mechanism has reversed, and if it is determined that the movement direction of the nut has reversed, multiplies the speed deviation by a second integral gain that is greater than a first integral gain in feedback control, determines whether the nut is located within a predetermined range based on the reversal position of the nut, and if it is determined that the nut is located within the predetermined range, determines whether the nut has stopped, and if it is determined that the nut has stopped, enables a vibration suppression process that suppresses vibration of the nut, determines whether a predetermined time has elapsed since the vibration suppression process was enabled, and if it is determined that the predetermined time has elapsed since the vibration suppression process was enabled, multiplies the speed deviation by the first integral gain, and disables the vibration suppression process.
[0019] In the present disclosure, when the moving direction of the nut reverses and the nut stops within a predetermined range, the speed deviation is multiplied by a second integral gain greater than the first integral gain, and vibration suppression processing is enabled. When a predetermined time has elapsed after the vibration suppression processing is enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression processing is disabled.
[0020] A computer program according to one embodiment of the present disclosure is a computer program executable by a control device that feedback controls a motor that drives a ball screw mechanism, and causes the control device to determine whether the direction of movement of a nut of the ball screw mechanism has reversed, and if it is determined that the direction of movement of the nut has reversed, multiply the speed deviation by a second integral gain that is greater than a first integral gain through feedback control, determine whether the nut is located within a predetermined range based on the reversal position of the nut, and if it is determined that the nut is located within the predetermined range, determine whether the nut has stopped, and if it is determined that the nut has stopped, enable a vibration suppression process that suppresses vibration of the nut, determine whether a predetermined time has elapsed since the vibration suppression process was enabled, and if it is determined that the predetermined time has elapsed since the vibration suppression process was enabled, multiply the speed deviation by the first integral gain and disable the vibration suppression process.
[0021] In the present disclosure, when the moving direction of the nut reverses and the nut stops within a predetermined range, the control device multiplies the speed deviation by a second integral gain greater than the first integral gain and enables vibration suppression processing. When a predetermined time has elapsed since the vibration suppression processing was enabled, the control device multiplies the speed deviation by the first integral gain and disables the vibration suppression processing. [Effects of the Invention]
[0022] In a control device, a machine tool, a control method, and a computer program according to an embodiment of the present disclosure, when the direction of movement of the nut reverses and the nut stops within a predetermined range, the speed deviation is multiplied by a second integral gain greater than the first integral gain, and vibration suppression processing is enabled. When a predetermined time has elapsed since the vibration suppression processing was enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression processing is disabled. Therefore, whether the first integral gain or the second integral gain is used, nut vibration can be suppressed. [Brief explanation of the drawings]
[0023] [Figure 1] FIG. 1 is a schematic perspective view of a machine tool. [Figure 2] 5A and 5B are explanatory cross-sectional views illustrating the operation of the ball screw mechanism. [Figure 3] FIG. 2 is a block diagram illustrating a configuration of a control device. [Figure 4] FIG. 10 is an explanatory diagram illustrating the reversing operation of the nut. [Figure 5] FIG. 10 is a block diagram relating to control of the X-axis motor. [Figure 6] FIG. 10 is an explanatory diagram illustrating a vibration suppression process. [Figure 7] 10 is a flowchart illustrating an optimization process performed by a control unit. [Figure 8] 10 is a graph showing a target position (position command) and a position difference when vibration suppression processing is always disabled after the nut is reversed. [Figure 9]10 is a graph showing a target position (position command) and a position difference when vibration suppression processing is always enabled after the nut is reversed. [Figure 10] 10 is a graph showing the target position (position command) and the position difference when, after the nut is reversed, the vibration suppression process is enabled while the second integral gain is being used, and the vibration suppression process is disabled while the first integral gain is being used. DETAILED DESCRIPTION OF THE INVENTION
[0024] The present invention will be described below with reference to the drawings showing a machine tool according to an embodiment. In the following description, arrows indicating up, down, left, right, front, and rear are used. Note that the up, down, left, right, front, and rear directions shown in the drawings are shown merely for ease of explanation, and are not limited to these directions. Figure 1 is a simplified perspective view of the machine tool, and Figure 2 is an explanatory cross-sectional view illustrating the operation of the ball screw mechanism.
[0025] The machine tool 1 includes a base 11, a pillar 12, a spindle head 2, a tool magazine 3, a table 15, a control device 50, etc. The base 11 has a rectangular shape extending forward and backward in plan view, and is fixed to the floor. The pillar 12 extends upward from the rear of the base 11. The spindle head 2 is provided on the front surface of the pillar 12. A Z-axis direction movement mechanism is provided between the spindle head 2 and the pillar 12. The Z-axis direction movement mechanism has a ball screw mechanism 70 (see FIG. 2) and a Z-axis motor 33 (see FIG. 3). The ball screw mechanism 70 has a screw shaft 71 extending vertically, a nut 72 connected to the screw shaft 71, and balls 73 that roll between the screw shaft 71 and the nut 72. The screw shaft 71 rotates when driven by the Z-axis motor 33. The nut 72 is connected to the spindle head 2. By driving the Z-axis motor 33, the nut 72 and the spindle head 2 can be raised and lowered in the Z-axis direction (up and down direction).
[0026] As shown in Figure 1, a spindle (not shown) extending vertically is provided in the spindle head 2. A tool holder 5 is attached to the lower end of the spindle. The tool holder 5 holds a tool t. The tool t is attached to the spindle via the tool holder 5. The spindle is rotated around its axis by being driven by a spindle motor 84.
[0027] Support plates 18 extend forward from both the left and right sides of the upper part of the upright pillar 12. The spindle head 2 is disposed between the two support plates 18. A support base 14 is provided at the front end of the support plate 18. The support base 14 rotatably supports a support shaft 34 that is inclined so as to descend toward the front.
[0028] The tool magazine 3 includes a rotating disk 30 and a plurality of gripping portions (not shown) attached to the outer periphery of the rotating disk 30. Each gripping portion holds a tool holder 5. The rotating disk 30 is fixed to a support shaft 34. The support shaft 34 is rotated by the drive of a magazine motor 85, and the tool magazine 3 rotates around the axis of the support shaft 34.
[0029] When the tool holder 5 holding the tool t is placed in the exchange position and the spindle head 2 without the tool holder 5 attached is lowered, the tool holder 5, i.e., the tool t, is attached to the spindle 2a. When an empty gripper without the tool holder 5 attached is placed in the exchange position and the spindle head 2 with the tool holder 5 holding the tool t attached is raised, the tool holder 5, i.e., the tool t, is gripped by the empty gripper.
[0030] A Y-axis movement mechanism 17 that moves in the front-rear direction is provided on the front side of the upper part of the base 11. The Y-axis movement mechanism 17 includes a ball screw mechanism 80 (see FIG. 2), a Y-axis motor 13 (see FIG. 3), and a moving plate (not shown) that moves in the front-rear direction. The ball screw mechanism 80 includes a screw shaft 81 that extends in the front-rear direction, a nut 82 connected to the screw shaft 81, and balls 83 that roll between the screw shaft 81 and the nut 82. The nut 82 is connected to the moving plate. The screw shaft 81 rotates when driven by the Y-axis motor 13.
[0031] An X-axis movement mechanism 20 that moves left and right is provided above the moving plate. The X-axis movement mechanism 20 includes a ball screw mechanism 90 (see FIG. 2), an X-axis motor 23 (see FIG. 3), and a table 15 that moves left and right and holds a workpiece. The ball screw mechanism 90 includes a screw shaft 91 that extends left and right, a nut 92 connected to the screw shaft 91, and balls 93 that roll between the screw shaft 91 and the nut 92. The nut 92 is connected to the table 15. The screw shaft 91 rotates when driven by the X-axis motor 23. The nut 92 and table 15 move left and right when driven by the X-axis motor 23.
[0032] The nut 82, the moving plate, and the X-axis direction moving mechanism 20 move in the front-rear direction by driving the Y-axis motor 13. That is, the table 15 moves in the front-rear direction.
[0033] FIG. 3 is a block diagram showing a simplified configuration of the control device 50. The control device 50 includes a control unit 51, a ROM 52, a main memory unit 53, an auxiliary memory unit 58, an input / output interface 54, and a timer 61. The control device 50 constitutes a calculation device. The control unit 51 includes a processor (e.g., a CPU, an MPU, or a GPU) or a logic circuit (e.g., an FPGA or an ASIC). The control unit 51 may also include a timer. The main memory unit 53 includes a RAM. When an operator operates the operation unit 7, a signal is input from the operation unit 7 to the input / output interface 54. The operation unit 7 is, for example, a keyboard, buttons, a touch panel, etc. The input / output interface 54 outputs a signal to the display unit 8. The display unit 8 displays characters, figures, symbols, etc. The display unit 8 is, for example, a liquid crystal display or an organic EL display.
[0034] The auxiliary storage unit 58 is an EEPROM, flash memory, hard disk, SSD, or the like, and is rewritable. The auxiliary storage unit 58 stores control programs such as machining programs and programs for executing vibration suppression processing. For example, a control program recorded on a portable recording medium 60 such as an optical disk or USB memory may be installed in the auxiliary storage unit 58. The control unit 51 reads the control program from the auxiliary storage unit 58 into the main storage unit 53 and controls the drive of each motor. Note that the ROM 52 or the main storage unit 53 may store the control program.
[0035] The control device 50 includes an X-axis control circuit 55, a servo amplifier 55a, and a differentiator 23b corresponding to the X-axis motor 23. The X-axis motor 23 includes an encoder 23a. The X-axis control circuit 55 outputs a command indicating the amount of current to the servo amplifier 55a based on a command from the control unit 51. The servo amplifier 55a receives the command and outputs a drive current to the X-axis motor 23.
[0036] The encoder 23a outputs a position feedback signal to the X-axis control circuit 55. The X-axis control circuit 55 executes position feedback control based on the position feedback signal.
[0037] The encoder 23a outputs a position feedback signal to the differentiator 23b, and the differentiator 23b converts the position feedback signal into a velocity feedback signal and outputs it to the X-axis control circuit 55. The X-axis control circuit 55 performs velocity feedback control based on the velocity feedback signal.
[0038] The value of the drive current output by the servo amplifier 55a is detected by a current detector 55b, which feeds back the value of the drive current to the X-axis control circuit 55. The X-axis control circuit 55 executes current control, i.e., torque control, based on the value of the drive current.
[0039] Control device 50 is equipped with a Y-axis control circuit 56, servo amplifier 56a, differentiator 13b, and current detector 56b corresponding to Y-axis motor 13, and Y-axis motor 13 is equipped with encoder 13a. Y-axis control circuit 56, servo amplifier 56a, differentiator 13b, Y-axis motor 13, encoder 13a, and current detector 56b are similar to those for the X-axis, and therefore description thereof will be omitted.
[0040] Control device 50 is equipped with a Z-axis control circuit 57, servo amplifier 57a, current detector 57b, and differentiator 33b corresponding to Z-axis motor 33. Z-axis motor 33 is equipped with an encoder 33a. Z-axis control circuit 57, servo amplifier 57a, differentiator 33b, Z-axis motor 33, encoder 33a, and current detector 57b are similar to those for the X-axis, and therefore description thereof will be omitted.
[0041] The control device 50 is equipped with a spindle control circuit 59, servo amplifier 59a, current detector 59b, and differentiator 84b corresponding to the spindle motor 84. The spindle motor 84 is equipped with an encoder 84a. The spindle control circuit 59, servo amplifier 59a, differentiator 84b, spindle motor 84, encoder 84a, and current detector 59b are the same as those for the X-axis, and therefore their description will be omitted.
[0042] The control device 50 also performs feedback control on the magazine motor 85 in the same manner as on the X-axis motor 23 .
[0043] The reversing operation of the nuts 72, 82, 92 will be described. The reversing operation of the nut 92 in the X-axis direction (left-right direction) and the control of the nut 92 will be described below as a representative example. Note that the reversing operation of the nuts 82, 72 in the Y-axis direction (front-back direction) and the Z-axis direction (up-down direction) and the control of the nuts 82, 72 are similar to the reversing operation of the nut 92 and the control of the nut 92, so detailed description thereof will be omitted. Figure 4 is an explanatory diagram illustrating the reversing operation of the nut 92.
[0044] 4, arrow Ma indicates movement of the nut 92 from the positive side to the negative side in the X-axis direction. Arrow Mb indicates movement of the nut 92 from the negative side to the positive side in the X-axis direction. As indicated by arrows Ma and Mb, the nut 92 moves from the positive side to the negative side, reverses its movement direction from the negative side to the positive side at reversal position Pr, and stops at stop position Ps.
[0045] Dr indicates a predetermined range based on the reversal position Pr. The predetermined range Dr is a range in which the torque of the ball screw mechanism 90 becomes smaller after the nut 92 reverses than in ranges other than the predetermined range Dr. Ds indicates an allowable stop range in which stop is determined, for example, a range of stop position Ps±α. When the nut 92 stops at the stop position Ps, the control unit 51 determines that the nut 92 has reached the stop position Ps when the detection result of the encoder 23a indicates the allowable stop range Ds. The control unit 51 controls the position of the nut 92 to be within the allowable stop range Ds. The allowable stop range Ds is within the predetermined range Dr. Da is a range within the allowable stop range Ds and smaller than the allowable stop range Ds.
[0046] The predetermined range Dr of the nut 92 will be described using Figure 2. The upper diagram in Figure 2 shows the ball screw mechanism 90 when moving forward (moving from the plus side to the minus side) before reversing. The middle diagram in Figure 2 shows the ball screw mechanism 90 when the nut 92 is located within the predetermined range Dr. The lower diagram in Figure 2 shows the ball screw mechanism 90 when moving backward (moving from the minus side to the plus side) beyond the predetermined range Dr after reversing.
[0047] As shown in the upper diagram of Fig. 2, when the nut 92 moves before reversal, the balls 93 come into contact with the screw shaft 91 and the nut 92 at three contact points S. As shown in the lower diagram of Fig. 2, when the nut 92 moves beyond the predetermined range Dr after reversal, the balls 93 come into contact with the screw shaft 91 and the nut 92 at three contact points S.
[0048] On the other hand, when the nut 92 is positioned within the predetermined range Dr, as shown by the arrow in the middle diagram of Fig. 2, the ball 93 moves diagonally from the state shown in the upper diagram of Fig. 2, and the ball 93 comes into contact with the screw shaft 91 and the nut 92 at two contact points S. Because the number of contact points is reduced, the torque required to rotate the nut 92 is smaller than when the nut 92 moves before reversal or when the nut 92 moves beyond the predetermined range Dr after reversal.
[0049] Even when the nut 92 is stopped, a small amount of torque on the positive and negative sides is applied to the nut 92 from the X-axis motor 23 due to feedback control. Because the torque required to move the nut 92 is small within the predetermined range Dr, the nut 92 is likely to move to the positive and negative sides due to the torque from the X-axis motor 23. Therefore, as shown in FIG. 4, when the nut 92 is stopped within the predetermined range Dr, the nut 92 is likely to vibrate within the allowable stop range Ds. The invention according to this embodiment suppresses vibrations that occur when the nut 92 is within the predetermined range Dr.
[0050] 5 is a block diagram related to the control of the X-axis motor 23. The control device 50 includes a position control unit 55c, a speed control unit 55d, and a torque control unit 55e. The X-axis control circuit 55 and the servo amplifier 55a constitute the position control unit 55c, the speed control unit 55d, and the torque control unit 55e. The control device 50 includes a position difference generation unit 23c and a reversal determination unit 23d. The differentiator 33b constitutes the position difference generation unit 23c and the reversal determination unit 23d.
[0051] The position control unit 55c obtains the difference between the position command Sa indicating the target position and the position feedback Fa detected by the encoder 23a. The position control unit 55c calculates the speed command Sb based on the difference between the position command Sa and the position feedback Fa.
[0052] The position difference generation unit 23c acquires the position feedback Fa. The position difference generation unit 23c calculates the position difference between the previously acquired position feedback Fa and the currently acquired position feedback Fa, i.e., the velocity feedback Fb. The currently acquired position feedback Fa corresponds to the first position, and the previously acquired position feedback Fa corresponds to the second position. The position difference generation unit 23c outputs the velocity feedback Fb to the reversal determination unit 23d.
[0053] The inversion determination unit 23d acquires the speed feedback Fb, determines whether the sign of the speed feedback Fb has been reversed, and outputs the determination result to the speed control unit 55d. The speed control unit 55d acquires the determination result and obtains the difference between the speed command Sb and the speed feedback Fb. Based on the acquired determination result, the speed control unit 55d multiplies the acquired difference by the first integral gain G1 or the second integral gain G2 to obtain the multiplication result, i.e., the current command Sc (torque command). The magnitude of the second integral gain G2 is greater than the first integral gain G1.
[0054] The first integral gain G1 is an integral gain that is normally used. The second integral gain G2 is an integral gain that is used for a predetermined time after the nut 92 reverses. The speed control unit 55d uses the first integral gain G1 before the nut 92 reverses, uses the second integral gain G2 for a predetermined time after the nut 92 reverses, and then uses the first integral gain G1 when a predetermined time has elapsed after the nut 92 reverses. By using the second integral gain G2 by the speed control unit 55d for the predetermined time after the nut 92 reverses, it is possible to suppress the effect of disturbances on the current command Sc.
[0055] The current detector 55b detects the drive current, that is, the current feedback Fc. The torque control unit 55e obtains the difference between the current command Sc and the current feedback Fc, and outputs the drive current to the X-axis motor 23.
[0056] As described above, vibration of the nut 92 is likely to occur when the nut 92 is stopped within the predetermined range Dr. Therefore, the control unit 51 executes vibration suppression processing after the nut 92 reverses. The control unit 51 executes vibration suppression processing on the position difference output by the position difference generation unit 23c. The position difference generation unit 23c acquires the determination result of the reversal determination unit 23d.
[0057] FIG. 6 is an explanatory diagram illustrating the vibration suppression process. Each arrow on the time axis in FIG. 6 indicates a sampling time point of the position of the nut 92 detected by the encoder 23a. The top diagram in FIG. 6 is a diagram illustrating the position difference output by the position difference generation unit 23c when the vibration suppression process is not executed. The center diagram in FIG. 6 is a diagram illustrating the position difference output by the position difference generation unit 23c when the vibration suppression process is executed. In FIG. 6, ta indicates the sampling time point at which the position difference changes from positive to negative, and tb indicates the sampling time point at which the position difference changes from negative to positive. T indicates the sampling period.
[0058] 6, when the position difference changes from positive to negative at sampling time ta, the position difference generation unit 23c outputs zero as the position difference until the next sampling time ta+T. That is, the differentiator 23b sets the position difference to zero for one sampling period T and generates velocity data (velocity feedback).
[0059] When the position difference changes from negative to positive at sampling time tb, the position difference generation unit 23c outputs zero as the position difference until the next sampling time tb+T. That is, the differentiator 23b sets the position difference to zero for one sampling period T and generates speed data (speed feedback). Note that the period during which the position difference is set to zero is not limited to one sampling period T, and the position difference may be set to zero for n sampling periods (n is a natural number).
[0060] By executing the vibration suppression process, it is possible to suppress vibration of the nut 92, particularly when the speed control unit 55d is using the second integral gain G2 during a predetermined time period after the nut 92 reverses. On the other hand, when the speed control unit 55d is using the first integral gain G1, executing the vibration suppression process may worsen the vibration of the nut 92. Therefore, the control unit 51 executes an optimization process to optimize the execution of the vibration suppression process.
[0061] FIG. 7 is a flowchart illustrating the optimization process performed by the control unit 51. In the initial state, the speed control unit 55d uses the first integral gain G1. The control unit 51 starts moving the nut in either direction (S1). In this embodiment, the control unit 51 starts moving the nut 92 in the X-axis direction. The control unit 51 determines whether the moving direction of the nut 92 has reversed (S2) using the reversal determination unit 23d. If it is determined that the moving direction of the nut 92 has not reversed (S2: NO), the control unit 51 returns the process to step S2.
[0062] If it is determined that the movement direction of the nut 92 has reversed (S2: YES), the control unit 51 refers to the encoder 23a and stores the reversal position Pr in the main memory unit 53 or the auxiliary memory unit 58. Also, it refers to the timer 61 and stores the time when the reversal position Pr is reached in the main memory unit 53 or the auxiliary memory unit 58. Then, it determines whether the other movement mechanism, i.e., the Y-axis movement mechanism 17 or the Z-axis movement mechanism, will move (S3). If it is determined that the other movement mechanism will not move (S3: NO), the control unit 51 ends the process. Examples of the movement of the other movement mechanism include, for example, the case where the main shaft moves in an arc. When the main shaft moves in an arc, oscillation is likely to occur, and quadrant projections are likely to occur. Therefore, by executing a vibration suppression process when the other movement mechanism moves, vibration can be effectively suppressed.
[0063] If it is determined that the other moving mechanism is moving (S3: YES), the control unit 51 switches the integral gain used in the speed control unit 55d to the second integral gain G2 (S4). Note that even if the other moving mechanism is not moving, oscillation may occur. Therefore, the control unit 51 may omit the processing of step S3 and execute the processing of step S4 after processing step S2. That is, regardless of whether the other moving mechanism is moving, if it is determined that the moving direction of the nut 92 has reversed, the control unit 51 may switch the integral gain used in the speed control unit 55d to the second integral gain G2. The control unit 51 refers to the encoder 23a and determines whether the nut 92 has moved a predetermined distance from the reversal position Pr, i.e., a distance exceeding a predetermined range Dr (S5). If it is determined that the nut 92 has moved the predetermined distance (S5: YES), that is, if it is determined that the nut 92 is outside the predetermined range Dr, the integral gain used by the speed control unit 55d is switched to the first integral gain G1 (S9), the vibration suppression process is disabled (S10), and the control unit 51 ends the process. Note that in step S5, the timer 61b may measure the elapsed time since the nut 92 reached the reversal position Pr, and if the predetermined time has elapsed, it may be determined that the nut 92 has moved the predetermined distance from the reversal position Pr.
[0064] If it is determined that the nut 92 has not moved the predetermined distance (S5: NO), that is, if it is determined that the nut 92 is within the predetermined range Dr, the control unit 51 determines whether the nut 92 is stopped (S6). If it is determined that the nut 92 is not stopped (S6: NO), the control unit 51 returns the process to step 5.
[0065] If it is determined that the nut 92 has stopped (S6: YES), the control unit 51 enables the vibration suppression process (S7). The control unit 51 refers to the timer 61 and determines whether a predetermined time has elapsed since the nut 92 reached the reversal position Pr (S8). If it is determined that the predetermined time has not elapsed (S8: NO), the control unit 51 returns the process to step S8.
[0066] If it is determined that the predetermined time has elapsed (S8: YES), the control unit 51 switches the integral gain used by the speed control unit 55d to the first integral gain G1 (S9), disables the vibration suppression process (S10), and ends the process. The predetermined time is shorter than the time it takes for the nut 92 to start oscillating after the nut 92 stops within the predetermined range Dr. If the second integral gain G2 is used and the vibration suppression process is performed for a long period of time, the nut 92 may oscillate. Therefore, when the nut 92 is within the predetermined range and the predetermined time has elapsed, the control unit 51 switches from the second integral gain G2 to the first integral gain G1, which is smaller than the second integral gain G2, and disables the vibration suppression process. The predetermined time can be determined in advance by experiment.
[0067] Fig. 8 is a graph showing the target position (position command Sa) and position difference when vibration suppression processing is always disabled after the nut 92 is reversed. Fig. 9 is a graph showing the target position (position command Sa) and position difference when vibration suppression processing is always enabled after the nut 92 is reversed. Fig. 10 is a graph showing the target position (position command Sa) and position difference when vibration suppression processing is enabled while the second integral gain G2 is being used and disabled while the first integral gain G1 is being used after the nut 92 is reversed. In Figs. 8 to 10, time tp indicates the time when the reversal position Pr is reached, and time th indicates the time when the position of the nut 92 goes beyond the predetermined range Dr.
[0068] In FIGS. 8 to 10, the integral gain used by speed control unit 55d between time tp and time th is second integral gain G2, and after time th, the integral gain used by speed control unit 55d is first integral gain G1.
[0069] 8, when the vibration suppression process is disabled after the nut 92 is reversed and the second integral gain G2 is used, i.e., between time tp and time th, the position difference of the nut 92 is in the range of ±2b, and large vibrations occur. Also, when the vibration suppression process is disabled after the nut 92 is reversed and the first integral gain G1 is used, i.e., after time th, the position difference of the nut 92 falls within the range of ±b / 2, and vibrations are suppressed.
[0070] As shown in Figure 9, when the second integral gain G2 is used and the vibration suppression process is enabled, i.e., between time tp and time th, the position difference of the nut 92 is significantly smaller than in the case of Figure 8. That is, vibration of the nut 92 is suppressed. On the other hand, when the first integral gain G1 is used and the vibration suppression process is enabled, i.e., after time th, the position difference of the nut 92 may become larger than b / 2 or smaller than -b / 2. That is, vibration of the nut 92 becomes worse than in the case of Figure 8.
[0071] As shown in Figure 10, when the second integral gain G2 is used and the vibration suppression process is enabled, i.e., between time tp and time th, the position difference of the nut 92 is significantly smaller than in the case of Figure 8. That is, vibration of the nut 92 is suppressed. On the other hand, when the first integral gain G1 is used and the vibration suppression process is disabled, i.e., after time th, the position difference of the nut 92 falls within a range of approximately ±b / 2. That is, vibration of the nut 92 is suppressed more than in the case of Figure 8. For example, the control unit 51 can limit the vibration of the nut 92 to a range smaller than the stop allowable range Ds (see Figure 4).
[0072] In the machine tool according to the embodiment, when the moving direction of the nut 92 reverses and the nut 92 stops within the predetermined range Dr, the speed deviation is multiplied by a second integral gain G2 that is greater than the first integral gain G1, and vibration suppression processing is enabled. If a predetermined time has elapsed after the vibration suppression processing is enabled, that is, if the nut 92 is not positioned within the predetermined range Dr, the speed deviation is multiplied by the first integral gain G1, and the vibration suppression processing is disabled. Therefore, whether the first integral gain G1 or the second integral gain G2 is used, vibration of the nut 92 can be suppressed.
[0073] The control device 50 also generates speed data of the nut 92 by setting the position difference to zero for n sampling periods, thereby suppressing vibration of the nut.
[0074] Furthermore, when the sign of the difference between the target position and the position feedback is reversed, the control device 50 determines that the moving direction of the nut 92 has reversed.
[0075] The predetermined range Dr is determined based on the distance between the reversal position Pr and the location of the nut 92, or the time elapsed since the nut 92 reached the reversal position Pr.
[0076] In the embodiment, a machine tool has been described in which the spindle extends vertically, the table 15 moves in the X- and Y-axis directions, and the spindle head 2 moves in the Z-axis direction. However, the present invention may be applied to a machine tool in which the spindle head 2 moves in the X-, Y-, and Z-axis directions, or to a machine tool in which the spindle extends in the front-to-rear direction.
[0077] It should be noted that a computer program can be deployed to be executed on a single computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0078] The embodiments disclosed herein are illustrative in all respects and should not be considered limiting. The scope of the present invention is intended to include all modifications within the scope of the claims and the scope equivalent to the claims. The features described in each embodiment can be mutually combined. Furthermore, independent claims and dependent claims described in the claims can be mutually combined in any and all combinations, regardless of the reference format. Furthermore, although the claims use a format in which a claim references two or more other claims (multiple claim format), this is not limiting. A multiple claim (multi-multi claim) that references at least one other multiple claim may also be used. [Explanation of symbols]
[0079] 1 Machine tools 23 X-axis motor 23b Differentiator 23c Position difference generator 23d Inversion determination unit 50 Control device 55 X-axis control circuit 55a servo amplifier 55c Position control section 55d Speed control section 55e Torque control section 70, 80, 90 ball screw mechanism 71, 81, 91 screw shaft 72, 82, 92 nuts 73, 83, 93 balls
Claims
1. A control device that feedback controls a motor that drives a ball screw mechanism, determining whether the direction of movement of the nut of the ball screw mechanism has reversed; When it is determined that the moving direction of the nut has reversed, the speed deviation is multiplied by a second integral gain that is greater than the first integral gain through feedback control; determining whether the nut is located within a predetermined range based on the reversal position of the nut; When it is determined that the nut is located within the predetermined range, it is determined whether the nut has stopped; When it is determined that the nut has stopped, a vibration suppression process for suppressing vibration of the nut is enabled; determining whether a predetermined time has elapsed since the vibration suppression process was enabled; When it is determined that the predetermined time has elapsed after the vibration suppression process is enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression process is disabled. Control device.
2. The vibration suppression process includes: A position difference is generated by calculating a difference between a first position indicating the sampled location of the nut and a second position indicating the location of the nut sampled before the first position; and generating speed data of the nut by setting the position difference to zero for n sampling periods (n is a natural number). The control device according to claim 1 .
3. When the sign of the difference between the target position input in the feedback control and the position feedback is reversed, it is determined that the moving direction of the nut has reversed. The control device according to claim 1 or 2.
4. It is determined whether the nut is located within the predetermined range based on the distance from the reversal position. The control device according to claim 1 or 2.
5. It is determined whether the nut is located within the predetermined range based on the elapsed time since the nut reached the reversal position. The control device according to claim 1 or 2.
6. A machine tool including a ball screw mechanism for moving a workpiece or a tool, and a control device for feedback-controlling a motor that drives the ball screw mechanism, The control device determining whether the direction of movement of the nut of the ball screw mechanism has reversed; When it is determined that the moving direction of the nut has reversed, the speed deviation is multiplied by a second integral gain that is greater than the first integral gain through feedback control, and it is determined whether or not the nut is located within a predetermined range based on the reversal position of the nut; When it is determined that the nut is located within the predetermined range, it is determined whether the nut has stopped; When it is determined that the nut has stopped, a vibration suppression process for suppressing vibration of the nut is enabled; After the vibration suppression process is enabled, it is determined whether the nut is located within the predetermined range; When it is determined that the nut is not located within the predetermined range after the vibration suppression process is enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression process is disabled. Machine tools.
7. A control method for feedback controlling a motor that drives a ball screw mechanism, comprising: determining whether the direction of movement of the nut of the ball screw mechanism has reversed; When it is determined that the moving direction of the nut has reversed, the speed deviation is multiplied by a second integral gain that is greater than the first integral gain through feedback control; determining whether the nut is located within a predetermined range based on the reversal position of the nut; When it is determined that the nut is located within the predetermined range, it is determined whether the nut has stopped; When it is determined that the nut has stopped, a vibration suppression process for suppressing vibration of the nut is enabled; determining whether a predetermined time has elapsed since the vibration suppression process was enabled; When it is determined that the predetermined time has elapsed after the vibration suppression process is enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression process is disabled. Control method.
8. A computer program executable by a control device that feedback controls a motor that drives a ball screw mechanism, The control device determining whether the direction of movement of the nut of the ball screw mechanism has reversed; When it is determined that the moving direction of the nut has reversed, the speed deviation is multiplied by a second integral gain that is greater than the first integral gain through feedback control; determining whether the nut is located within a predetermined range based on the reversal position of the nut; When it is determined that the nut is located within the predetermined range, it is determined whether the nut has stopped; When it is determined that the nut has stopped, a vibration suppression process for suppressing vibration of the nut is enabled; determining whether a predetermined time has elapsed since the vibration suppression process was enabled; When it is determined that the predetermined time has elapsed after the vibration suppression process is enabled, the speed deviation is multiplied by the first integral gain, and the vibration suppression process is disabled. A computer program that executes a process.
Citation Information
Patent Citations
JP1973080763A