Control device, machine tool, control method, and computer program
The control device addresses the issue of vibrations caused by sudden speed increases during torque control in machine tools by switching from position-based to torque-based control after reaching the target position based on gear backlash, resulting in suppressed vibrations and reduced operating time.
Patent Information
- Application Number
- JP2021061731
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-31
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-03-31
AI Technical Summary
During torque control in machine tools, the backlash in gear reducers can cause sudden increases in motor speed, leading to vibration issues when the load increases rapidly after backlash elimination.
A control device that switches control from position-based control to torque-based control when the target position is reached, based on the backlash of the gear driving the holding unit, to suppress sudden speed increases and vibrations.
The solution effectively suppresses sudden speed increases and vibrations, allowing the holding portion to be driven at high speeds, thereby shortening the operating time.
Smart Images

Figure 0007647249000001 
Figure 0007647249000002 
Figure 0007647249000003
Abstract
Description
[Technical field]
[0001] The present technology relates to a control device that controls the drive of a motor, a machine tool, a control method, and a computer program. [Background technology]
[0002] A machine tool has a table or a spindle, which is moved by driving a motor. A control device that controls the driving of the motor allows the table or spindle to move to a target position. The control device may perform torque control on the motor based on a torque command. By performing torque control, the motor rotates with high acceleration, and the driving time of the table or spindle can be shortened (see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2006-217746 A Summary of the Invention [Problem to be solved by the invention]
[0004] The motor supplies power to the table or spindle via a reducer. The reducer is equipped with gears. When torque control is performed, the motor speed increases in a short time in the section where backlash of the reducer occurs because there is no load on the motor, and when the gear backlash is eliminated, the load increases suddenly and vibration occurs.
[0005] The present disclosure has been made in consideration of the above circumstances, and aims to provide a control device, a machine tool, a control method, and a computer program that can suppress the occurrence of vibration and shorten drive time. [Means for solving the problem]
[0006] A control device according to one embodiment of the present disclosure is a control device that controls a motor that drives a holding unit that holds a workpiece via gears, and includes a position control unit that controls the position of the motor based on a position command indicating a target position of the motor, and a switching unit that switches control of the motor from control by the position control unit to control by a torque control unit that controls the torque of the motor based on a torque command indicating a target torque when the target position is reached while being controlled by the position control unit, and the target position is determined based on the backlash of the gears that drive the holding unit.
[0007] In one embodiment of the present disclosure, the motor speed is controlled based on a position command to suppress a rapid increase in speed until the target position, i.e., the position where the backlash is eliminated, is reached. After the target position is reached, the motor torque is controlled based on a torque command to drive the holding part at high speed.
[0008] In a control device according to one embodiment of the present disclosure, the target position corresponds to a position where the rotation amount of the motor reaches a predetermined amount, the movement distance of the holding part reaches a predetermined distance, or the rotation angle of the holding part reaches a predetermined angle.
[0009] In one embodiment of the present disclosure, the motor speed is controlled based on a position command until the amount of rotation of the motor reaches a predetermined amount or the movement distance or rotation angle of the holding part reaches a predetermined distance or angle, thereby suppressing a sudden increase in speed.
[0010] In the control device according to an embodiment of the present disclosure, the target position corresponds to a position at which the torque output by the motor or the disturbance force acting on the motor becomes equal to or greater than a predetermined value.
[0011] In one embodiment of the present disclosure, the motor speed is controlled based on a position command until the torque output by the motor or the disturbance force acting on the motor reaches or exceeds a predetermined value, thereby suppressing a sudden increase in speed.
[0012] In a control device according to one embodiment of the present disclosure, the position control unit feedback controls the position and speed of the motor, and the target position corresponds to a position where a position deviation or speed deviation in the position control unit is equal to or greater than a predetermined value.
[0013] In one embodiment of the present disclosure, the motor speed is controlled based on a position command until the position deviation or speed deviation becomes equal to or greater than a predetermined value, thereby suppressing a sudden increase in speed.
[0014] In one embodiment of the control device of the present disclosure, the holding unit has a rotating table, a positioning unit provided on the rotating table, and an abutment unit against which the positioning unit abuts, and the target position is determined based on the combined value of the backlash of a gear that drives the holding unit and a predetermined amount of rotation of the motor after the positioning unit abuts against the abutment unit.
[0015] In one embodiment of the present disclosure, the target position is determined based on the combined value of the backlash of the gear that drives the holding portion and a specified amount of rotation of the motor after the positioning portion abuts against the abutment portion, and the motor speed is controlled.
[0016] A control device according to one embodiment of the present disclosure includes an adder unit that adds outputs from the torque control unit and the position control unit, and the position control unit calculates a second torque command using a first multiplier that multiplies a first proportional gain related to position, an integrator related to speed, and a second multiplier that multiplies a second proportional gain related to speed, and instead of switching between control by the torque control unit and control by the position control unit, during control by the torque control unit, the switching unit sets the first proportional gain and the second proportional gain to values lower than the maximum value that can be set, and clears the integrated value of the integrator to minimize the output of the position control unit.
[0017] In one embodiment of the present disclosure, control by the position control is minimized during control by the torque control.
[0018] A control device according to one embodiment of the present disclosure includes a speed acquisition unit that acquires the speed of the motor, a time calculation unit that calculates an arrival time that is the time required for the speed acquired by the speed acquisition unit to reach a target speed, a determination unit that determines whether the arrival time calculated by the time calculation unit is equal to or shorter than a predetermined reference time during control by the torque control unit, and a switching unit that switches control of the motor from control by the torque control unit to control by a position control unit that controls the position of the motor based on a position command indicating a target position when the determination unit determines that the arrival time is equal to or shorter than the reference time.
[0019] In one embodiment of the present disclosure, during control by the first control unit, it is determined whether the arrival time is equal to or shorter than a reference time, and if the arrival time is equal to or shorter than the reference time, the speed control of the motor is switched from control by the first control unit to control by the second control unit. The control device switches to control by the second control unit before the target speed is reached, and generates a position command so that the acceleration of the motor changes gradually.
[0020] A machine tool according to one embodiment of the present disclosure includes the above-described control device.
[0021] In one embodiment of the present disclosure, the motor speed is controlled based on a position command to suppress a rapid increase in speed until the target position, i.e., the position where the backlash is eliminated, is reached. After the target position is reached, the motor torque is controlled based on a torque command to drive the holding part at high speed.
[0022] A control method according to one embodiment of the present disclosure controls the speed of the motor based on a position command indicating a target position of the motor, and when the target position is reached during control based on the position command, the control of the motor is switched from control based on the position command to control based on a torque command indicating a target torque, and the target position is determined based on a backlash of a gear that drives the holding portion.
[0023] In one embodiment of the present disclosure, the motor speed is controlled based on a position command to suppress a rapid increase in speed until the target position, i.e., the position where the backlash is eliminated, is reached. After the target position is reached, the motor torque is controlled based on a torque command to drive the holding part at high speed.
[0024] A computer program according to one embodiment of the present disclosure is a computer program executable by a control device that controls a motor that drives a holding unit that holds a workpiece via gears, and causes the control device to control the motor based on a position command indicating a target position of the motor, and when it is determined that the target position has been reached during control based on the position command, execute a process to switch control of the motor from control based on the position command to control based on a torque command indicating a target torque, and the target position is determined based on a backlash of a gear that drives the holding unit.
[0025] In one embodiment of the present disclosure, the motor speed is controlled based on a position command to suppress a rapid increase in speed until the target position, i.e., the position where the backlash is eliminated, is reached. After the target position is reached, the motor torque is controlled based on a torque command to drive the holding part at high speed. Effect of the Invention
[0026] In the control device, machine tool, control method, and computer program according to an embodiment of the present disclosure, the motor speed is controlled based on a position command until the target position, i.e., the position where backlash is eliminated, is reached. Therefore, a sudden increase in speed can be suppressed to suppress vibration. After the target position is reached, the motor torque is controlled based on a torque command, so that the holding unit is driven at high speed and the drive time of the holding unit can be shortened. [Brief description of the drawings]
[0027] [Figure 1] FIG. 1 is a side view showing a simplified machine tool; [Diagram 2] FIG. 2 is a plan view illustrating a rotary table. [Diagram 3] FIG. 2 is a block diagram of a control device, a drive circuit, and a motor. [Figure 4] FIG. 2 is a block diagram of a control device, a drive circuit, and a motor. [Diagram 5] 4 is a graph showing the relationship between motor speed and time. [Figure 6] 11 is a graph illustrating the relationship between the number of pulses supplied to the motor and periods B1 to B3. [Figure 7] 13 is a flowchart illustrating position control in a period B1. [Figure 8] 4 is a graph for explaining the concept of acceleration / deceleration of the motor 32 in normal position control. [Figure 9] 4 is a graph for explaining the concept of acceleration / deceleration of the motor 32 in normal position control. [Figure 10] 4 is a graph for explaining the concept of acceleration / deceleration of the motor 32 in normal position control. [Figure 11] 11 is a graph for explaining a switching process when switching from control by a torque control unit to control by a position control unit. [Figure 12] 4 is a flowchart illustrating a motor acceleration process performed by the control device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0028] The present invention will be described below with reference to the drawings showing a machine tool according to an embodiment. As shown in Figures 1 and 2, the machine tool has a rectangular base 1 extending in the front-rear direction. An X-axis direction moving mechanism 63 is provided on the rear side of the upper part of the base 1. A Y-axis direction moving mechanism 64 is provided above the X-axis direction moving mechanism 63. The Y-axis direction moving mechanism 64 supports the upright column 4.
[0029] The X-axis direction moving mechanism 63 includes an X-axis motor, and the Y-axis direction moving mechanism 64 includes a Y-axis motor. Driven by the Y-axis motor, the upright pillar 4 and the spindle head 5 move back and forth. Driven by the X-axis motor, the upright pillar 4 and the spindle head 5 move left and right. The control device 20 feedback controls the X-axis motor and the Y-axis motor.
[0030] A Z-axis direction movement mechanism (not shown) that moves up and down is provided on the front surface of the upright pillar 4. The Z-axis direction movement mechanism includes a rail that extends up and down, a Z-axis screw shaft that is parallel to the rail, a nut that is connected to the Z-axis screw shaft and moves along the rail, and a Z-axis motor (all not shown) that drives the Z-axis screw shaft, and the spindle head 5 is connected to the nut. Driven by the Z-axis motor, the spindle head 5 moves up and down.
[0031] A tool magazine 61 is connected to the upright pillar 4 via a connecting plate 61a. The connecting plate 61a protrudes forward, and the tool magazine 61 is provided at the front end of the connecting plate 61a. The tool magazine 61 is located forward of the spindle head 5.
[0032] A holding section 3 for holding a workpiece is provided below the spindle 5a. The holding section 3 includes a rotary table 36, a first workpiece holding device 37, a second workpiece holding device 38, and the like. The rotary table 36 is rectangular and extends forward and backward. The first workpiece holding device 37 is provided at the front of the upper surface of the rotary table 36. The first workpiece holding device 37 includes an A-axis motor 37a, a support section 37b, a rotary support base 37c, and a clamp section 37d. The A-axis motor 37a and the support section 37b are arranged separately on the left and right. The rotary support base 37c is a plate-like shape that is long in the left and right directions. The left and right ends of the rotary support base 37c are supported by the A-axis motor 37a and the support section 37b so as to be rotatable around the A-axis (an axis whose axial direction is the left and right direction). The clamp section 37d fixes the workpiece by compressed air sent from a compressor (not shown). The clamp section 37d is provided on the upper surface of the rotary support base 37c. The clamp portion 37d manually or automatically fastens the workpiece and releases the fastened workpiece.
[0033] A second workpiece holding device 38 is provided on the rear of the upper surface of the rotary table 36. The second workpiece holding device 38 includes an A-axis motor 38a, a support portion 38b, a rotary support base 38c, and a clamp portion 38d. The A-axis motor 38a and the support portion 38b are arranged at a distance from each other on the left and right. The rotary support base 38c is a plate-like shape that is long in the left and right directions. The left and right ends of the rotary support base 38c are supported by the A-axis motor 38a and the support portion 38b so as to be rotatable around the A-axis (an axis whose axial direction is in the left and right direction). The clamp portion 38d fixes the workpiece with compressed air sent from a compressor (not shown). The clamp portion 38d is provided on the upper surface of the rotary support base 38c. The clamp portion 38d manually or automatically fixes the workpiece and releases the fixation of the workpiece.
[0034] The cover 70 covers the machine tool body including the upright 4, the spindle head 5, the tool magazine 61, the rotary table 36, etc. The rotary table 36 has a partition plate 62 fixed between the first work holding device 37 and the second work holding device 38. The partition plate 62 separates the first work holding device 37 and the second work holding device 38.
[0035] As shown in Fig. 3, the motor 32 is provided on the rotary table 36 via a reducer 34. The reducer 34 has a number of gears. Driven by the motor 32, the rotary table 36 rotates with its rotation axis directed vertically. The rear half of the rotary table 36, in other words the area behind the partition plate 62 on the rotary table 36, belongs to the machining area. The control device 20 performs feedback control of the motor 32.
[0036] An operator mounts an unmachined workpiece on the first work holding device 37. The rotary table 36 rotates, and the second work holding device 38 is positioned in front of the partition plate 62, and the first work holding device 37 is positioned behind the partition plate 62. The operator removes the machined workpiece from the second work holding device 38, and the tool attached to the spindle 5a machines the workpiece held by the first work holding device 37. Removal of the machined workpiece and machining of the unmachined workpiece can be performed in parallel.
[0037] The holding unit 3 includes a base 39. The base 39 is provided below the rotary table 36. A first stopper 39a and a second stopper 39b are provided on the upper surface of the base 39. The first stopper 39a and the second stopper 39b are disposed separately on the left and right sides, and are disposed rearward of the center of rotation of the rotary table 36.
[0038] A first positioning piece 36a and a second positioning piece 36b are provided on the underside of the turntable 36. The first positioning piece 36a and the second positioning piece 36b are disposed in front of and behind the center of rotation of the turntable 36, and rotate together with the turntable 36. When the turntable 36 rotates clockwise in a plan view, the first positioning piece 36a comes into contact with a first stopper 39a and stops (see FIG. 2). At this time, the second work holding device 38 is located in the machining area.
[0039] After the first positioning piece 36a abuts against the first stopper 39a, the motor 32 continues to rotate, and when the position deviation of the motor 32 becomes equal to or greater than a predetermined threshold, the control device 20 determines that the second work holding device 38 is located in the machining area, i.e., has reached the final target position, and stops the motor 32. The position of the rotary table 36 when stopped is referred to as the first table position.
[0040] When the rotary table 36 rotates counterclockwise, the second positioning piece 36b abuts against the second stopper 39b and stops. At this time, the first work holding device 37 is located in the machining area. After the second positioning piece 36b abuts against the second stopper 39b, the motor 32 continues to rotate, and when the position deviation of the motor 32 becomes equal to or greater than a predetermined threshold, the control device 20 determines that the first work holding device 37 is located in the machining area, i.e., has reached the final target position, and stops the motor 32. The position of the rotary table 36 when stopped is called the second table position.
[0041] The control of the rotary table 36 by the position control unit 22 and the torque control unit 23 described below is control over the movement from the first table position to the second table position, or the movement from the second table position to the first table position.
[0042] The machine tool is equipped with a control device 20. The control device 20 is equipped with a CPU 20a, a RAM 20b, and a storage unit 20c. The storage unit 20c is a non-volatile memory, a hard disk, or the like. The storage unit 20c stores a control program. For example, the control program stored in a storage medium 30 is installed in the storage unit 20c. The control program may be installed in the storage unit 20c via a network. The CPU 20a reads the control program from the storage unit 20c to the RAM 20b, and controls the driving of each motor. The motor 32 in FIG. 3 is a representative representation of the X-axis motor, the Y-axis motor, the Z-axis motor, and the magazine motor.
[0043] The CPU 20a outputs a drive command to the drive circuit 31. The drive circuit 31 supplies power to the motor 32 based on the drive command. The motor 32 rotates with the power supplied from the drive circuit 31. The motor 32 is equipped with an encoder 33, and the detection result of the encoder 33, i.e., position feedback, is input to the control device 20. The control device 20 corrects the drive command based on the position feedback received from the encoder 33, and outputs it to the drive circuit 31 (feedback control).
[0044] 4 is a block diagram of the control device 20, the drive circuit 31, and the motor 32. The control device 20 includes a torque control unit 23, a position control unit 22, a switching unit 21, a first multiplier 24, a second multiplier 25, a third multiplier 26, a differentiator 27, and an integrator 28. The first multiplier 24 multiplies the input value by a position proportional gain. The position proportional gain is variable. The second multiplier 25 multiplies the input value by a speed proportional gain. The speed proportional gain is variable. The third multiplier 26 multiplies the input value by a speed integral gain. The differentiator 27 multiplies the input value by a differential element. The integrator 28 multiplies the input value by an integral element. The torque control unit 23, the position control unit 22, the switching unit 21, the first multiplier 24, the second multiplier 25, the third multiplier 26, the differentiator 27, and the integrator 28 are realized by the control device 20.
[0045] The position control unit 22 outputs a second torque command to the drive circuit based on a position command indicating a target position around the axis of the motor 32. The encoder 33 detects the position around the axis of the motor 32. The control device 20 subtracts the position around the axis of the motor 32 from the position command in the first subtraction unit 201, and multiplies the subtraction result by a position proportional gain in the first multiplier 24. The control device 20 multiplies the position around the axis of the motor 32 by a differential element in the differentiator 27. The control device 20 subtracts a value multiplied by the differential element from a value multiplied by the position proportional gain in the second subtraction unit 202. The control device 20 multiplies the subtraction result by an integral element in the integrator 28, and multiplies by a speed integral gain in the third multiplier 26. The control device 20 adds a value multiplied by the integral element and the speed integral gain to the subtraction result in the second subtraction unit 202 in the first addition unit 203, and multiplies the addition result by the speed proportional gain in the second multiplier 25.
[0046] The torque control unit 23 outputs a torque command indicating a target torque for driving the motor 32. The target torque is determined in advance based on the maximum output of the motor 32 and the maximum torque that the reducer 34 can tolerate. The control device 20 adds the value multiplied by the speed proportional gain, i.e., the second torque command, and the torque command in the second adder 204, and outputs the addition result to the drive circuit 31. The control device 20 outputs a current to the motor 32 based on the addition result input to the drive circuit 31.
[0047] The switching unit 21 switches between control by the position control unit 22 based on a position command and control by the torque control unit 23 based on a torque command. In FIG. 4, a first switch 29a is provided between the second multiplier 25 and the second adder 204, and a second switch 29b is provided between the torque control unit 23 and the second adder 204. When performing control by the position control unit 22, the switching unit 21 closes the first switch 29a and opens the second switch 29b. When performing control by the torque control unit 23, the switching unit 21 opens the first switch 29a and closes the second switch 29b. Alternatively, the switching unit 21 may always close the first switch 29a and the second switch 29b, and when performing control by the torque control unit 23, the switching unit 21 may set the position proportional gain of the first multiplier 24 and the speed proportional gain of the second multiplier 25 to minimum values and clear the integrated value of the integrator 28. The minimum value is an example of a value lower than the maximum value that can be set. The position proportional gain and the velocity proportional gain may be set to values greater than the minimum values as long as the values are lower than the maximum value that can be set, but the minimum values are best. Note that the second adder 204 constitutes an adder.
[0048] Position control unit 22 includes a first multiplier 24, a second multiplier 25, a third multiplier 26, a differentiator 27, an integrator 28, a first subtraction unit 201, a second subtraction unit 202, a first adder unit 203, a second adder unit 204, and a first switch 29 a. Torque control unit 23 includes a second switch 29 b and a second adder unit 204.
[0049] 5 is a graph showing the relationship between the speed and time of motor 32. When a final target position is set and motor 32 moves from the current position to the final target position, control device 20 determines the maximum speed and sequentially executes control by position control unit 22, control by torque control unit 23, and control by position control unit 22.
[0050] Period B1 in FIG. 5 indicates the period from the start of movement to time K1, and during period B1, control device 20 executes control by position control unit 22. During period B1, position control unit 22 accelerates until it reaches speed Vs. The starting speed is set to 0. The time required to reach speed Vs from speed 0 is determined in advance. During period B1, motor 32 rotates at a constant speed after reaching speed Vs. The movement distance during period B1 is equal to the backlash of reducer 34. That is, during period B1, reducer 34 is not yet engaged and rotary table 36 does not rotate.
[0051] Period B2 in Fig. 5 indicates the period from time K1 to time K2, and during period B2, the control device 20 executes control by the torque control unit 23. During period B2, the motor 32 accelerates at a predetermined torque F until it reaches its maximum speed (see the lower diagram in Fig. 11). At time K1, the rotary table 36 starts to rotate. By accelerating at a predetermined torque, the motor 32 can reach its maximum speed in the minimum time, regardless of the masses of the first work holding device 37 and the second work holding device 38.
[0052] 5 indicates the period from time K2 to time K3, during which control device 20 executes control by position control unit 22. Time K3 is the time when the final target position is reached. During period B3, motor 32 rotates at maximum speed up to a predetermined position and then decelerates.
[0053] FIG. 6 is a graph illustrating the relationship between the number of pulses supplied to motor 32 and periods B1 to B3. Control device 20 supplies pulse waves to motor 32 to drive motor 32. The number of pulses is the number of pulse waves and corresponds to the amount of rotation of motor 32. Q1 to Q5 in FIG. 6 indicate the number of pulses supplied to motor 32. The number of pulses supplied to motor 32 during period B1 is Q1+Q2. The number of pulses supplied to motor 32 during period B2 is Q3. The number of pulses supplied to motor 32 during period B3 is Q4+Q5.
[0054] The number of pulses Q1 is the number of pulses required to eliminate backlash of the gears of the reducer 34. The number of pulses Q2 and Q5 are the number of pulses supplied to the drive circuit 31 until the position deviation of the motor 32 becomes equal to or greater than a predetermined threshold value after the first positioning piece 36a abuts against the first stopper 39a, and the number of pulses supplied to the drive circuit 31 until the position deviation of the motor 32 becomes equal to or greater than a predetermined threshold value after the second positioning piece 36b abuts against the second stopper 39b. The number of pulses Q2 and Q5 are the amounts of rotation after the positioning pieces abut against the stoppers, respectively.
[0055] In period B1, position control unit 22 supplies pulses to drive circuit 31 until the number of pulses reaches a target number of pulses. The target number of pulses is preset in memory unit 20c and corresponds to a target position. The target position corresponds to a position where the amount of rotation of motor 32 is a predetermined amount, where the moving distance of turntable 36 is a predetermined distance, and where the rotation angle of turntable 36 is a predetermined angle.
[0056] 7 is a flowchart explaining the position control in period B1. The control device 20 accelerates the motor 32 by the position control section 22 (S1). The control device 20 calculates the speed of the motor 32 based on a feedback value from the encoder 33, i.e., a value indicating the rotational position of the motor 32, and determines whether the calculated speed has reached the initial speed V0 (S2). If the calculated speed has not reached the initial speed V0 (S2: NO), the control device 20 returns the process to step S1.
[0057] If the calculated speed has reached the initial speed V0 (S2: YES), the control device 20 determines whether the number of pulses provided to the drive circuit 31 has reached the target number of pulses (S3). If the number of pulses has not reached the target number of pulses (S3: NO), the control device 20 returns the process to step S3. If the number of pulses has reached the target number of pulses (S3: YES), the control device 20 switches from control by the position control unit 22 to control by the torque control unit 23 by the switching unit 21 (S4), and starts control by the torque control unit 23 (S5). The control by the torque control unit 23 is the control during period B2.
[0058] The target position corresponds to a position where the torque output by the motor 32 or the disturbance force acting on the motor 32 becomes equal to or greater than a predetermined value. Therefore, in step S3, the output torque of the motor 32 or the disturbance force acting on the motor 32 may be calculated based on a feedback value from the encoder 33, and it may be determined whether the calculated output torque or disturbance force becomes equal to or greater than a predetermined value.
[0059] The target position corresponds to a position where the position deviation or the speed deviation of the motor 32 is equal to or greater than a predetermined value. Therefore, in step S3, the position deviation or the speed deviation may be calculated based on a feedback value from the encoder 33, and it may be determined whether the calculated position deviation or the speed deviation is equal to or greater than a predetermined value.
[0060] As described above, in period B2, control device 20 executes control by torque control unit 23. At the start of period B3, control device 20 switches from control by torque control unit 23 to control by position control unit 22. Switching from control by torque control unit 23 to control by position control unit 22 may cause a sudden change in acceleration, which may cause vibration. Therefore, as shown below, control device 20 changes the speed gradually when switching torque control.
[0061] Figures 8 to 10 are graphs for explaining the concept of acceleration and deceleration of motor 32 in normal position control. Time point t1 in Figures 8 to 10 corresponds to time point K1 in Figure 5, and time point t2 corresponds to time point K2 in Figure 5. Vt1 in Figures 8 to 10 indicates the speed at time point t1. As shown in Figure 8, control device 20 sets a maximum speed Vt4 after time point t1.
[0062] As shown in Fig. 9, the control device 20 applies a first filter, which is a moving average filter with a time constant T1, to the graph in Fig. 8. By applying the first filter, the speed of the motor 32 changes linearly, and the speed of the motor 32 changes from a speed Vt1 to a maximum speed Vt4 between time t1 and time t2. The time between time t1 and time t2 corresponds to the time constant T1.
[0063] As shown in the upper diagram of FIG. 10, the control device 20 applies a second filter, which is a moving average filter with a time constant T2, to the graph of FIG. 9. Here, the time constants T1 and T2 satisfy the relationship of time constant T1>time constant T2. By applying the second filter, the speed changes gradually from time t1 onwards so that the slope gradually increases, and from time t2 onwards, the speed changes gradually so that the slope gradually decreases. Between time t1 and time t2, there is a portion where the speed changes linearly. The speed at time t2 is speed Vt2. Speed Vt2 is smaller than the maximum speed Vt4 and larger than speed Vt1. At time t4, which is later than time t2, the speed becomes Vt4.
[0064] FIG. 11 is a graph for explaining a switching process when switching from control by the torque control unit 23 to control by the position control unit 22. If time t2' is the current time t, time t3' indicates the time when the speed becomes Vt4 if the speed continues to change linearly, that is, if the control by the torque control unit 23 is continued in the period B2. The control device 20 acquires the position, speed, acceleration, etc. of the motor 32 based on the position feedback, and calculates the predicted speed of the motor 32 at each time point until the speed of the motor reaches Vt4 based on the acquired position, speed, and acceleration. Here, the control period of the control device 20 is Δt. The position feedback is calculated from the output of the encoder 33 and the reduction ratio of the reducer 34. The speed feedback is the difference between the position feedback at time t and the position feedback at the time Δt before, and the control device 20 acquires the speed feedback, i.e., the speed. The process of acquiring the speed feedback by the control device 20 constitutes a speed acquisition unit. The acceleration feedback is the difference between the speed feedback at time t and the speed feedback at the time Δt before, and the control device 20 acquires the acceleration feedback, i.e., the acceleration. The process of acquiring acceleration feedback by the control device 20 constitutes an acceleration acquisition unit. The predicted speed corresponds to L1. The predicted speed L1 is a speed when it is assumed that the acceleration does not change from the current time point t until the speed reaches the maximum speed Vt4, and the time point t3' is the time when the predicted speed L1 reaches Vt4. The control device 20 that calculates the predicted speed constitutes a predicted speed calculation unit.
[0065] The control device 20 calculates the time required for the speed to reach Vt4, i.e., the arrival time rt, based on the calculated predicted speed. The arrival time rt is the time between the current time point t and time point t3'. The control device 20 determines whether the arrival time rt is equal to or shorter than a reference time. The reference time is half the time constant T2. If the arrival time rt is equal to or shorter than the reference time, the control device 20 switches from control by the torque control unit 23 to control by the position control unit 22. The control device 20 that calculates the arrival time constitutes a time calculation unit.
[0066] When switching from control by torque control unit 23 to control by position control unit 22 at time t, control device 20 calculates a position command at each time point after switching to control by position control unit 22 so as to linearly reduce the acceleration of motor 32 from the switching acceleration Ach for twice the reference time, i.e., over a time constant T2. Control device 20 that calculates the position command at each time point after switching to control by position control unit 22 constitutes a position command calculation unit. L2 represents the position command calculated by the position command calculation unit.
[0067] When switching from control by torque control unit 23 to control by position control unit 22 at time t, control device 20 stores switching acceleration Ach and calculates a position command at each time point after switching to control by position control unit 22 so that the acceleration of motor 32 is linearly reduced from switching acceleration Ach for twice the reference time, i.e., over a time constant T2. Control device 20 that calculates the position command at each time point after switching to control by position control unit 22 constitutes a position command calculation unit. L2 represents the position command calculated by the position command calculation unit.
[0068] The position command calculation unit calculates the position command as follows. The velocity feedback, position feedback, and acceleration feedback at the current time t are respectively V t , P t , a t The calculated velocity command, position command, and acceleration command at time t are V ct =V t , P ct =P t , a ct =a t The speed command, position command, and acceleration command after switching from the torque control unit 23 to the position control unit 22 are calculated in the following manner using the time constant T2. ct is given by the feedback at time t and the time constant T2, ct =-a t The calculated acceleration command at time t+1 is a ct+1 =a t +J ct Δt, and the control device 20 is at+1 By integrating, the calculated speed command V at time t+1 is obtained. ct+1 =V ct +a ct Δt+J ct Δt 2 Calculate / 2 and V ct+1 The calculated position command P at time t+1 is obtained by integrating ct+1 =P t +V ct Δt+a ct Δt 2 / 2+J t Δt 3 / 6. The same applies after time t+2. Here, the time constant T1 is Vt4 / a t is equivalent to.
[0069] As described above, the torque control unit 23 applies a predetermined torque F to the motor 32. However, as shown in the lower diagram of FIG. 11, after switching from control by the torque control unit 23 to control by the position control unit 22, the torque control unit 23 gradually reduces the torque applied to the motor 32, decreasing it linearly over the time constant T2.
[0070] 12 is a flow chart for explaining the acceleration process of the motor 32 by the control device 20. At time t1, the control device 20 accelerates the motor 32 under control of the torque control unit 23 (S11). The control device 20 acquires the speed of the motor 32 based on position feedback (S12) and acquires the acceleration (S13). The control device 20 calculates the arrival time rt (S14) and determines whether the arrival time rt is equal to or less than the reference time, i.e., the time constant T2 (S15). If the arrival time rt is not equal to or less than the reference time (S15: NO), the control device 20 returns the process to step S11.
[0071] If the arrival time rt is equal to or shorter than the reference time (S15: YES), the control device 20 calculates the position, speed, acceleration, and jerk of the motor 32 to be used when control by the position control unit 22 starts (S16). The control device 20 switches from control by the torque control unit 23 to control by the position control unit 22 (S17). The control device 20 accelerates the motor 32 under the control by the position control unit 22 (S18).
[0072] When control is switched from control by torque control unit 23 to control by position control unit 22, control device 20 does not immediately set the torque command from torque control unit 23 to 0. If the torque command were immediately set to 0, the speed of motor 32 would suddenly decrease, which could cause vibration. Control device 20 gradually and linearly reduces the value of the torque command to 0. Setting the torque command to 0 is the same as opening second switch 29b in FIG. 3.
[0073] The control device 20 determines whether the feedback speed is equal to or greater than the maximum speed Vt4, i.e., the target speed (S19). If the feedback speed is not equal to or greater than the target speed (S19: NO), the control device 20 returns the process to step S18. If the feedback speed is equal to or greater than the target speed (S19: YES), the control device 20 ends the acceleration (S20) and ends the process.
[0074] In the machine tool according to the embodiment, the speed of the motor 32 is controlled based on a position command until the target position, i.e., the position where the backlash is eliminated, is reached. Therefore, a sudden increase in speed can be suppressed, and vibration can be suppressed. After the target position is reached, the speed of the motor 32 is controlled based on a torque command, so that the rotary table 36 can be driven at high speed, and the drive time of the rotary table 36 can be shortened.
[0075] In addition, the speed of the motor 32 can be controlled based on a position command until the amount of rotation of the motor 32 reaches a predetermined amount or the movement distance or rotation angle of the rotary table 36 reaches a predetermined distance or angle, thereby suppressing a sudden increase in speed.
[0076] Furthermore, the speed of the motor 32 can be controlled based on the position command until the torque output by the motor 32 or the disturbance force acting on the motor 32 reaches a predetermined value or more, thereby preventing a sudden increase in speed.
[0077] Furthermore, the speed of the motor 32 can be controlled based on the position command until the position deviation or speed deviation reaches a predetermined value or more, thereby preventing a sudden increase in speed.
[0078] In addition, the speed of the motor 32 can be controlled by determining a target position based on the combined value of the backlash of the gears of the reducer 34 that drives the rotating table 36 and a predetermined amount of rotation that the motor 32 has rotated after the positioning pieces 36a, 36b abut against the stoppers 39a, 39b.
[0079] In addition, during control by the torque control unit 23, the position proportional gain and the speed proportional gain are set to values lower than the maximum settable values, the integrated value of the integrator is cleared, the control by the position control unit 22 is minimized, and the control by the torque control unit 23 is effectively executed.
[0080] During control based on the torque command, it is determined whether the arrival time rt is equal to or shorter than a reference time, and if the arrival time rt is equal to or shorter than the reference time, the speed control of the motor 32 is switched from control based on the torque command to control based on a position command. By switching to control based on a position command before the target speed is reached, a position command is generated so that the acceleration of the motor 32 changes gradually, and a sudden change in acceleration can be suppressed.
[0081] The motor control by the position control unit 22 and the torque control unit 23 described above is applied to the motor 32 of the rotary table 36, but may also be applied to other motors such as the X-axis motor, Y-axis motor, Z-axis motor, A-axis motor, and C-axis motor.
[0082] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The technical features described in each embodiment can be combined with each other, and 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. [Explanation of symbols]
[0083] 20 Control device 20a CPU 20b RAM 20c storage section 21 Switching section 22 Position control section 23 Torque control section 24 First Multiplier 25 Second Multiplier 204 Second Addition Section 30 Storage medium 31 Drive circuit 32 Motor 33 Encoder
Claims
1. In a control device for controlling a motor that drives a holding unit that holds a workpiece via a gear, a position control unit that controls a position of the motor based on a position command indicating a target position of the motor; a switching unit that switches control of the motor from control by the position control unit to control by a torque control unit that controls the torque of the motor based on a torque command indicating a target torque when the target position is reached during control by the position control unit; Equipped with the target position includes a first target position; After the motor reaches the first target position, the motor reaches a second target position different from the first target position, the first target position is determined based on a backlash of a gear that drives the holding portion, The switching unit switches from control by the position control unit to control by the torque control unit when the first target position is reached, and switches from control by the torque control unit to control by the position control unit at a position between the first target position and the second target position. Control device.
2. The target position corresponds to a position where the rotation amount of the motor reaches a predetermined amount, the movement distance of the holding portion reaches a predetermined distance, or the rotation angle of the holding portion reaches a predetermined angle. The control device according to claim 1 .
3. The target position corresponds to a position where the torque output by the motor or the disturbance force acting on the motor becomes equal to or greater than a predetermined value and the backlash is eliminated. The control device according to claim 1 .
4. The position control unit feedback controls the position and speed of the motor, The target position corresponds to a position where the position deviation or the speed deviation in the position control unit becomes equal to or greater than a predetermined value. The control device according to claim 1 .
5. the holding portion has a rotary table, a positioning portion provided on the rotary table, and an abutment portion with which the positioning portion abuts; The target position is determined based on a sum of a backlash of a gear that drives the holding portion and a predetermined rotation amount that the motor rotates after the positioning portion abuts on the abutting portion. The control device according to claim 1 .
6. an adder that adds up outputs from the torque control unit and the position control unit, the position control unit calculates a second torque command using a first multiplier that multiplies the first proportional gain related to position, an integrator that multiplies the second proportional gain related to speed, and a second multiplier that multiplies the second torque command; The switching unit, instead of switching between the control by the torque control unit and the control by the position control unit, sets the first proportional gain and the second proportional gain to values lower than the settable maximum values during the control by the torque control unit, and clears the integrated value of the integrator, thereby minimizing the output of the position control unit. A control device according to any one of claims 1 to 5.
7. a speed acquisition unit that acquires a speed of the motor; a time calculation unit that calculates a time required for the speed acquired by the speed acquisition unit to reach a target speed; a determination unit that determines whether or not the arrival time calculated by the time calculation unit is equal to or shorter than a predetermined reference time during control by the torque control unit; Equipped with When the determination unit determines that the arrival time is equal to or shorter than the reference time, the switching unit switches control of the motor from control by the torque control unit to control by a position control unit that controls the position of the motor based on a position command indicating a target position. A control device according to any one of claims 1 to 6.
8. A machine tool comprising the control device according to any one of claims 1 to 7.
9. A control method for controlling a motor that drives a holding unit that holds a workpiece via a gear, comprising: Controlling the speed of the motor based on a position command indicating a target position of the motor; when the target position is reached during control based on the position command, control of the motor is switched from control based on the position command to control based on a torque command indicating a target torque; the target position includes a first target position; After the motor reaches the first target position, the motor reaches a second target position different from the first target position, the first target position is determined based on a backlash of a gear that drives the holding portion, When the first target position is reached, the control is switched from the control based on the position command to the control based on the torque command, and at a position between the first target position and the second target position, the control is switched from the control based on the torque command to the control based on the position command. Control methods.
10. A computer program executable by a control device that controls a motor that drives a holding unit that holds a workpiece via a gear, The control device includes: Controlling the motor based on a position command indicating a target position of the motor; When it is determined that the motor has reached the target position during control based on the position command, the control of the motor is switched from control based on the position command to control based on a torque command indicating a target torque. Execute the process, the target position includes a first target position; After the motor reaches the first target position, the motor reaches a second target position different from the first target position, the first target position is determined based on a backlash of a gear that drives the holding portion, When the first target position is reached, the control is switched from the control based on the position command to the control based on the torque command, and at a position between the first target position and the second target position, the control is switched from the control based on the torque command to the control based on the position command. Computer program.
Citation Information
Patent Citations
Robot controller
JP1989012309A
Rotary table with tilt function
JP1998337627A
Motor controller
JP2006217746A
Motor control device and motor device using same
WO2018047518A1