Estimation device for estimating a driving state of a motor provided to a machine tool
Patent Information
- Application Number
- CN202180081704.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-15
- Filing Date
- 2021-12-08
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2041-12-08
AI Technical Summary
[0003]因此,当实际使用机床进行加工时,会存在加工时间比期望时间长、或者电动机所需转矩超过容许转矩而无法进行加工的情况
[0017] According to the present disclosure, it is possible to provide an estimation device for estimating the driving state of an electric motor through a simple simulation program.
Smart Images

Figure CN116583793B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an estimation device for estimating the driving state of an electric motor configured in a machine tool. Background Technology
[0002] A machine tool can perform machining while changing the relative position of the tool to the workpiece. The machine tool is equipped with an electric motor for rotating the tool and an electric motor for moving the workpiece or tool. The operator generates a machining program to determine the machining method for the workpiece. The machining program records the target position and speed of the workpiece or tool during movement. The machine tool's electric motors drive the machine according to the machining program, but sometimes the driving states of the electric motors, such as angular acceleration, are unknown without actually driving the machine.
[0003] Therefore, when actually using the machine tool for machining, there may be situations where the machining time is longer than expected, or the torque required by the motor exceeds the allowable torque, making machining impossible. It is preferable to perform a simulation to model the motor's driving state before actually using the machine tool for machining.
[0004] In order to estimate the driving state of the motor when driving the motor, there are known simulation devices that estimate the rotational position and rotational speed of the motor based on the operation command input to the motor (e.g., Japanese Patent Application Publication No. 2006-340480 and Japanese Patent Application Publication No. 2012-222890).
[0005] Existing technical documents
[0006] Patent documents
[0007] Patent Document 1: Japanese Patent Application Publication No. 2006-340480
[0008] Patent Document 2: Japanese Patent Application Publication No. 2012-222890 Summary of the Invention
[0009] The problem that the invention aims to solve
[0010] Machine tool programs contain instructions for driving the machine tool. For example, each line of the program contains instructions called G-codes or M-codes. These instructions include commands to start the spindle of the tool holder rotating, commands to move the spindle to the target position and speed, and commands to move the worktable holding the workpiece to the target position and speed. However, there is a problem that it is difficult to accurately estimate the drive state of the electric motor using only this information.
[0011] For example, the angular acceleration as the motor's rotational speed increases is unknown, therefore, the change in rotational speed over time is unclear. Consequently, it is difficult to estimate the time it takes for the motor to accelerate. Furthermore, the processing time (cycle time) using the machine tool is unknown, making it difficult to predict the machine tool's productivity.
[0012] Furthermore, if the driving state of the motor can be estimated, the motor temperature can be estimated using a simulation device based on that driving state. In particular, it is possible to estimate the change in motor temperature over time while driving the motor. For example, the current supplied to the motor can be calculated based on the motor's load rate, and the heat generated by copper or iron losses can be calculated based on the current flowing through the motor. If the motor temperature can be estimated, it is possible to determine, for example, whether the motor is operating within an appropriate temperature range. However, since the driving state of the motor is unknown, there is a problem that it is difficult to estimate the motor temperature.
[0013] Methods for solving problems
[0014] The first estimation device disclosed herein estimates the drive state of a motor configured in a machine tool. The estimation device includes a calculation unit that calculates variables representing the drive state of the motor based on a pre-made simulation program. The time it takes for the motor to reach a target rotational speed when its rotational speed is varied is not determined. The simulation program includes instruction statements that append a first auxiliary variable to instruction statements of a machining program used to drive the motor when machining a workpiece, wherein the first auxiliary variable is related to the load rate used to vary the rotational speed of the motor. The calculation unit calculates the change in the rotational speed of the motor over time based on the motor's output characteristics, a predetermined inertia related to the motor's drive, and the first auxiliary variable.
[0015] The second estimation device disclosed herein estimates the drive state of a motor configured on a machine tool. The estimation device includes a calculation unit that calculates variables representing the drive state of the motor based on a pre-made simulation program. The time it takes for the motor to reach a target rotational speed when its rotational speed is varied is determined. The simulation program includes instruction statements that add auxiliary variables to instruction statements of a machining program used to drive the motor when machining a workpiece, wherein the auxiliary variables are related to the load rate for machining the workpiece. The calculation unit estimates the change in the load rate of the motor over time based on the time it takes for the motor's rotational speed to reach the target rotational speed, the output characteristics of the motor, a predetermined inertia related to the motor's drive, and the auxiliary variables.
[0016] Invention Effects
[0017] According to the present disclosure, it is possible to provide an estimation device for estimating the driving state of an electric motor through a simple simulation program. Attached Figure Description
[0018] Figure 1 This is a block diagram of the machine tool in the implementation method.
[0019] Figure 2 This is a block diagram of a device for estimating the driving state of the electric motor in an estimated embodiment.
[0020] Figure 3 These are examples of machining programs for machine tools.
[0021] Figure 4 It is a first simulation program used to implement the first control in the implementation method.
[0022] Figure 5 It is a graph of the output of the spindle motor at 100% load rate relative to the rotational speed.
[0023] Figure 6 It is a timing diagram of the estimated drive state of the spindle motor in the first control.
[0024] Figure 7 It is a second simulation program used for implementing the second control in the implementation method.
[0025] Figure 8 It is a graph of the output of the feed axis motor at 100% load rate relative to the rotational speed.
[0026] Figure 9 It is a timing diagram of the estimated drive state of the feed axis motor in the second control.
[0027] Figure 10 It is a schematic cross-sectional view showing the movement path of the tool when using a tap to form an internal thread.
[0028] Figure 11 It is the third simulation program used to perform machining that forms internal threads on a workpiece.
[0029] Figure 12 This is a timing diagram showing the driving state of the Z-axis feed axis motor when the spindle motor follows the movement of the Z-axis feed axis motor.
[0030] Figure 13 It is a timing diagram showing the drive state of the spindle motor when the spindle motor follows the action of the feed axis motor of the Z-axis.
[0031] Figure 14 This is a timing diagram showing the driving state of the spindle motor when the Z-axis feed axis motor follows the action of the spindle motor.
[0032] Figure 15This is a timing diagram showing the driving state of the Z-axis feed axis motor when it follows the action of the spindle motor. Detailed Implementation
[0033] Reference Figures 1 to 15 The device for estimating the driving state of the electric motor in the presumed embodiment will be described. The electric motor in this embodiment is configured on a machine tool.
[0034] Figure 1 This is a block diagram of the machine tool according to this embodiment. The machine tool 1 processes the workpiece while changing the relative position of the tool with respect to the workpiece. The machine tool 1 has a feed axis that changes the position of at least one of the workpiece and the tool. The feed axis of the machine tool in this embodiment consists of three mutually orthogonal linear axes (X-axis, Y-axis, and Z-axis). In the machine tool 1 of this embodiment, the worktable, which fixes the workpiece, moves along the X-axis and Y-axis directions, while the spindle holding the tool moves along the Z-axis direction. The feed axis of the machine tool 1 is not limited to this configuration and can be any linear or rotary feed axis.
[0035] Machine tool 1 includes a moving device for moving at least one of a workpiece and a tool along a feed axis. The moving device includes a feed axis motor 5 configured corresponding to each feed axis. In this embodiment, machine tool 1 includes a feed axis motor 5 for moving the worktable along the X-axis, a feed axis motor 5 for moving the worktable along the Y-axis, and a feed axis motor 5 for moving the spindle head 6 along the Z-axis. In this embodiment, the worktable or spindle head 6 corresponds to the object driven by the feed axis motor 5. Machine tool 1 includes a spindle head 6 that holds the tool while rotating it. The spindle head 6 includes a spindle that supports the tool and a spindle motor 8 that rotates the spindle.
[0036] Machine tool 1 has a mechanical control device 2 that controls the feed axis motor 5 and the spindle motor 8. The mechanical control device 2 includes an arithmetic processing unit (computer) with a CPU (Central Processing Unit) as a processor. The arithmetic processing unit has RAM (Random Access Memory) and ROM (Read Only Memory) connected to the CPU via a bus.
[0037] The machine tool 1 in this embodiment is a numerically controlled type. A machining program 7 for driving the machine tool 1 is pre-generated by the operator or a simulated operator. The mechanical control unit 2 includes: a storage unit 3 that stores the machining program 7; and a motion control unit 4 that generates motion commands for the electric motors based on the machining program 7. The machine tool 1 includes: a motor drive unit 9, which has a circuit that supplies power to the feed axis motor 5 and the spindle motor 8 according to the motion commands generated by the mechanical control unit 2. Power is supplied to the motor drive unit 9, driving the feed axis motor 5 and the spindle motor 8. The storage unit 3 can be constructed from a non-temporary storage medium capable of storing information. For example, the storage unit 3 can be constructed from a non-volatile memory or similar storage medium. The motion control unit 4 corresponds to the processor of the arithmetic processing unit.
[0038] Figure 2 This is a block diagram illustrating the estimation device in this embodiment. The estimation device 11 estimates the drive state of the electric motor disposed on the machine tool 1. In this embodiment, the estimation device 11 estimates the drive state of the spindle motor 8 and the drive state of the feed axis motor 5. The estimation device 11 in this embodiment includes an arithmetic processing unit (computer) having a CPU as a processor. The estimation device 11 includes a storage unit 12 that stores information for estimating the drive state of the electric motor. The storage unit 12 may be constructed from a non-temporary storage medium capable of storing information. The storage unit 12 may be constructed from a storage medium capable of storing information, such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium.
[0039] The simulation program 21, used to estimate the driving state of the motor, is input into the estimation device 11. The simulation program 21 is pre-made by the operator performing the simulation. Additionally, the moving device includes a reducer connected to the motor and a drive mechanism for driving components such as the worktable. The drive mechanism includes, for example, a ball screw mechanism for moving the machine tool's worktable. Moving device information 22 is input into the estimation device 11. The moving device information 22 includes, for example, information such as the gear ratio of the reducer and the pitch of the ball screw.
[0040] Additionally, inertia information 23 is input to the estimation device 11. The inertia (inertial torque) related to the motor drive includes the inertia of the components driven by the motor. Furthermore, the inertia related to the motor drive includes the inertia of the load applied to the motor. For example, the inertia includes the inertia of the motor rotor, the inertia of the reducer connected to the feed axis motor 5, and the inertia of the spindle connected to the spindle motor 8. The inertia can be pre-calculated by the operator performing the simulation. Furthermore, the motor output characteristics 24 are input to the estimation device 11. The simulation program 21, the movement device information 22, the inertia information 23, and the motor output characteristics 24 are stored in the storage unit 12.
[0041] The estimation device 11 includes a calculation unit 13 that calculates variables representing the driving state of the electric motor according to the simulation program 21. These variables include the motor's rotational speed, angular acceleration, load rate, and rotational position. The calculation unit 13 includes a speed estimation unit 14 that calculates the change in the motor's rotational speed over time. The calculation unit 13 also includes a torque estimation unit 15 that estimates the change in the motor's load rate over time.
[0042] The calculation unit 13 includes a determination unit 16, which determines the variables estimated by the calculation unit 13. The calculation unit 13 also includes a display control unit 17, which generates instructions to display the results determined by the determination unit 16 on the display unit 19.
[0043] The calculation unit 13 is equivalent to a processor of an arithmetic processing device that operates according to predetermined rules. In this embodiment, the calculation unit 13 is equivalent to a processor that operates according to the simulation program 21. In particular, the speed estimation unit 14, the torque estimation unit 15, the determination unit 16, and the display control unit 17 are each equivalent to a processor of the arithmetic processing device. The processor operates according to the simulation program 21, thereby performing its function as each unit.
[0044] The estimation device 11 includes a display unit 19 that displays information related to the estimation of the driving state of the motor. The display unit 19 is, for example, a display panel such as a liquid crystal display panel. The display unit 19 displays arbitrary information according to instructions from the display control unit 17.
[0045] In this embodiment, the estimation device 11 estimates a variable representing the driving state of the electric motor based on a simulation program 21 derived from a machining program 7 used to drive the machine tool 1. In the simulation program 21 of this embodiment, auxiliary variables for estimating the driving state of the electric motor are added to the instruction statements in the machining program 7.
[0046] In this embodiment, the calculation unit 13 of the estimation device 11 predicts the changes in the driving state of the motor in a time series based on the instruction statements including auxiliary variables recorded in the simulation program 21, the output characteristics of the motor, and the inertia related to the driving of the motor. The inertia related to the driving of the motor includes the inertia of the rotor, etc., and the inertia of the motor load. In particular, the calculation unit 13 calculates at least one of the change in the motor rotational speed over time and the change in the motor load rate over time. That is, the calculation unit 13 calculates at least one of the motor rotational speed and the motor load rate in a time series. In addition, the estimation device 11 estimates the length of time the machine tool 1 performs operations.
[0047] In the first control of the estimation device 11 in this embodiment, the drive state of the spindle motor 8 is estimated. In the spindle motor 8, no time constant is specified for changing the spindle's rotational speed. The time constant is the length of time from one rotational speed to reaching a target rotational speed. The time constant is a variable corresponding to the angular acceleration of the motor. In the control of this embodiment, the drive state of the spindle motor 8 is estimated based on a simulation program that adds an auxiliary variable representing the motor's load rate to the instruction statements of the machining program.
[0048] Figure 3 An example of a machining program corresponding to the simulation program in the first control of this embodiment is shown. The machining program of the machine tool contains instruction statements that actuate the spindle motor and feed axis motor. The machining program consists of instruction statements called codes, such as G-codes, M-codes, and S-codes. Instruction statements are recorded on each line of the machining program. Each instruction statement on each line is called a block. Furthermore, the variables contained within an instruction statement are called words.
[0049] Figure 3 The instructions for rotating and stopping the spindle motor 8 are shown. In machining program 7, the instruction statement M03 in the first line is an M-code indicating that the spindle should rotate in the positive direction. The instruction statement S2000 in the second line is an S-code indicating the target rotational speed of the spindle. The instructions in the first and second lines show that the spindle should rotate in the positive direction until the motor's rotational speed reaches 2000 rpm.
[0050] The third line, G04, is a G-code indicating a pause function. G04 stops the machining program during machine operation. The variable P1000 indicates a pause of 1000ms. The next line, M05, stops the spindle. The following line, G04, also stops the machining program for 1000ms. The final line, M99, is an M-code indicating the end of a subroutine. Thus, in machining program 7, instructions are formed by codes and associated variables (independent variables).
[0051] Figure 4 This represents the first simulation program in the first control of this embodiment. The first simulation program 81 and... Figure 3 The machining program 7 shown is generated accordingly. In this embodiment, the simulation program adds an auxiliary variable representing the motor load rate to the instruction statements of the machining program used to drive the machine tool. The motor load rate is the ratio of the output torque to the rated torque.
[0052] In the first simulation program 81, the instruction statement M03 in the first line and the instruction statement M05 in the fourth line contain a first auxiliary variable (spindlepower) for accelerating or decelerating the spindle motor 8. The first auxiliary variable is a variable related to the load rate used to change the rotational speed of the motor. Each first auxiliary variable is represented by "spindlepower100%" or "spindlepower-100%". For example, the instruction statement M03 in the first line contains the following instruction: an instruction to accelerate the spindle motor 8 at a load rate of 100% according to the first auxiliary variable added in the instruction statement of the machining program 7.
[0053] In the G04 instruction statements in the third and fifth lines, a second auxiliary variable (spindlecutpower) related to the load rate used for machining the workpiece is recorded. In this embodiment, the rotational speed of the motor is fixed during workpiece machining. The second auxiliary variable shows the load rate corresponding to the cutting torque of the workpiece. Here, as the second auxiliary variable, the G04 instruction statement in the third line records "spindlecutpower50%", which indicates the load rate of the spindle motor 8 during cutting. That is, it shows that the spindle motor 8 is cutting the workpiece at a load rate of 50%. In addition, in the G04 instruction statement in the fifth line, cutting is completed, so "spindlecutpower0%" is recorded. Such a motor load rate can be predetermined by the operator performing the simulation. The simulation program 81 is formed by adding the first and second auxiliary variables to the instruction statements of the machining program 7.
[0054] Figure 5 This is a graph representing the output characteristics of the spindle motor. The motor's output characteristics indicate the relationship between the output and the motor's rotational speed when the motor is driven at 100% load. The horizontal axis represents the rotational speed of the spindle motor 8, and the vertical axis represents the output of the spindle motor 8. It shows the output-speed proportionality characteristic up to approximately 7000 rpm.
[0055] Reference Figure 2 In the first control, the speed estimation unit 14 of the calculation unit 13 calculates the angular acceleration of the spindle motor 8 based on a first auxiliary variable. The speed estimation unit 14 estimates the change in the rotational speed of the spindle motor 8 over time. That is, the speed estimation unit 14 calculates the change in the rotational speed of the spindle motor 8 according to a time sequence. Furthermore, the speed estimation unit 14 estimates the time until the spindle motor 8 reaches the target rotational speed based on the change in rotational speed over time.
[0056] Figure 6A timing diagram showing the estimated drive state of the spindle motor in the first control of this embodiment. (Refer to...) Figure 4 and Figure 6 From time t0 to time t1, according to the instructions in M03 and S2000, the rotational speed of the spindle motor 8 increases. Following the instructions in S2000, the rotational speed is accelerated to 2000 rpm. At this time, the load rate used to accelerate the spindle is set to 100% by the first auxiliary variable "spindlepower100%" added to the instructions in M03.
[0057] During the period from time t1 to time t2, the rotational speed is maintained for 1 second according to the instruction statement G04 in the third line. During this period, the load rate of the cutting spindle motor is set to 50% via the second auxiliary variable. From time t2 to time t3, the load rate is reduced to -100% according to the first auxiliary variable of the instruction statement M05. After time t3, the cutting load rate is maintained at 0% for 1 second according to the second auxiliary variable of the instruction statement G04 in the fifth line.
[0058] exist Figure 5 The graph shows the output characteristics at 100% load. Before the spindle motor 8 reaches a rotational speed of approximately 7000 rpm, the output increases proportionally to the rotational speed. The motor output is calculated by multiplying the rotational speed by the torque; therefore, the torque output by the motor is constant before the rotational speed reaches 7000 rpm.
[0059] Here, according to the instruction statement G04 of the simulation program 81, the time length from time t1 to time t2 and the time length from time t3 to time t4 are 1 second. However, since the time (time constant) until the target rotational speed of the spindle motor 8 is reached is not predetermined, the speed estimation unit 14 calculates the change in the rotational speed of the spindle motor 8 according to the time sequence.
[0060] The speed estimation unit 14 calculates the angular acceleration of the spindle motor 8 during the period from time t0 to time t1. The speed estimation unit 14 calculates based on... Figure 5 The output characteristics of the spindle motor 8 are shown, and the output of the spindle motor 8 corresponding to the rotational speed is calculated. Here, as shown by arrows 95 and 96, the speed estimation unit 14 calculates the output of the spindle motor 8 corresponding to a rotational speed of 2000 rpm. In this example, the load rate for accelerating the spindle motor 8 is set to 100% using the first auxiliary variable; therefore, it is possible to use... Figure 5 The output of the spindle motor 8 is obtained. Furthermore, when the load rate for acceleration of the spindle motor 8 is less than 100% via the first auxiliary variable, it can be determined based on... Figure 5The output of the spindle motor 8 is calculated using the obtained output of the spindle motor 8 and the load rate used for acceleration.
[0061] Next, the speed estimation unit 14 divides the output of the spindle motor 8 by the rotational speed to calculate the torque of the spindle motor 8. Then, the speed estimation unit 14 divides the torque of the spindle motor 8 by the inertia to calculate the angular acceleration, where the inertia includes the inertia of the motor rotor and the inertia of the load applied to the motor. The slope of the curve of the rotational speed from time t0 to time t1 corresponds to the angular acceleration. The speed estimation unit 14 can calculate the time length SX1 from time t0 to time t1 based on the final reached rotational speed and angular acceleration. In addition, the speed estimation unit 14 can calculate time t1.
[0062] The speed estimation unit 14 can also calculate the angular acceleration during deceleration in the interval from time t2 to time t3 using the same control. The speed estimation unit 14 can calculate the time length SX2 from time t2 to time t3. The speed estimation unit 14 can calculate time t3 based on time t2 and the time length SX2. Furthermore, the calculation unit 13 can estimate the machine tool's operation time (cycle time) from time t0 to time t4 based on the time lengths SX1 and SX2. That is, the calculation unit 13 can calculate the time from start to stop of the motor based on the machining program.
[0063] In this way, the speed estimation unit 14 can estimate the change in rotational speed over time based on angular acceleration. Furthermore, the speed estimation unit 14 can calculate the time until the spindle motor 8 reaches the target rotational speed based on angular acceleration. Moreover, the speed estimation unit 14 can estimate the change in the motor's rotational speed over time from the start to the stop of the motor.
[0064] In the first control, to calculate the rotational speed of the motor, a command statement can be generated that adds a first auxiliary variable as the load rate for accelerating the motor to the instruction statement of the machining program. Then, the angular acceleration when the motor accelerates or decelerates can be estimated based on the output characteristics and inertia of the motor. Additionally, a command statement can be generated that adds a second auxiliary variable as the load rate corresponding to the cutting torque of the spindle motor to the instruction statement during the workpiece cutting period. The second auxiliary variable specifies the load rate during the workpiece cutting period from time t1 to time t2. The calculation unit 13 can estimate the change in the motor's load rate over time from the start to the stop of the motor.
[0065] Next, the second control of the estimation device 11 in this embodiment will be described. In the second control, the drive state of the feed axis motor 5 is estimated. The time constant of the feed axis motor 5 is predetermined. The time constant corresponds to the angular acceleration when the feed axis motor 5 accelerates or decelerates. The time constant of the motor is determined, for example, by the control software that controls the motor. In the second control, the torque output by the feed axis motor 5 when accelerating at a certain angular acceleration is estimated. In this embodiment, the load rate of the feed axis motor 5 is estimated. In addition, in the second control, the change in the rotational speed of the feed axis motor 5 over time and the change in the position of the object driven by the feed axis motor 5 are estimated.
[0066] Figure 7 This refers to the instruction statements recorded in the second simulation program of the second control. In the second simulation program 82, the instruction statement G01 is recorded to drive the feed axis motor 5. The G01 instruction statement in the second simulation program 82 is an instruction statement that records auxiliary variables in the G01 instruction statement of the machining program. The G01 instruction statement represents an instruction to move the worktable linearly. In the instruction statement here, the movement of the worktable in the X-axis direction with the workpiece fixed is shown.
[0067] In the machine tool 1 of this embodiment, a mechanical coordinate system is defined that remains stationary even when the spindle head 6 and the worktable move. The target position of the worktable is shown in the mechanical coordinate system in the G01 instruction statement. The G01 instruction statement also includes a command to move the worktable with an X-axis coordinate value of 10 and a Y-axis coordinate value of 10 in the mechanical coordinate system. Furthermore, F1000 is a variable representing the target moving speed of the worktable. Here, the worktable is moved at a speed of 1000 mm / min.
[0068] In the second simulation program 82, a third auxiliary variable related to the load rate used for machining the workpiece is added to the G01 instruction statement used in the machining program. Here, as the third auxiliary variable, "servocutpower10%" representing the load rate of the feed axis motor 5 during cutting is added after the G01 instruction statement in the machining program. This load rate corresponds to the torque command during cutting. This third auxiliary variable indicates that the load rate of the feed axis motor 5 during workpiece cutting is 10%.
[0069] Figure 8 This is a graph representing the output characteristics of the feed axis motor. (And...) Figure 5 Similarly, the curve of the spindle motor is shown in... Figure 8 The graph shows the relationship between the output of the feed axis motor 5 at 100% load rate and the rotational speed.
[0070] Reference Figure 2The torque estimation unit 15 of the calculation unit 13 calculates the change in load rate of the motor as time passes during operation, based on the time constant of the feed axis motor 5, the output characteristics of the feed axis motor 5, the instruction statements with third auxiliary variables included in the simulation program 82, and the inertia related to the drive of the motor. As described later, the torque estimation unit calculates the load rate of the feed axis motor during acceleration or deceleration.
[0071] Figure 9 This is a timing diagram showing the estimated drive state of the feed axis motor in the second control. Here, an example is shown where the machine tool 1's table moves along the X-axis. From time t0 to time t5, the rotational speed of the feed axis motor 5 increases. From time t5 to time t6, the feed axis motor 5 maintains a fixed rotational speed C. Then, from time t6 to time t7, the rotational speed of the feed axis motor 5 decreases. The position of the table in the X-axis direction moves from its current position to a position with an X-axis coordinate of 10.
[0072] The target rotational speed C of the feed axis motor 5 when the worktable moves along the X-axis can be calculated based on the variable F1000 in the instruction statement G01 of the simulation program 82. The variable F1000 indicates that the target movement speed of the worktable is 1000 mm / min. The calculation unit 13 can calculate the target rotational speed C of the X-axis feed axis motor 5 based on the target movement speed of the worktable and the movement device information 22, such as the pitch of the ball screw of the ball screw mechanism that moves the worktable along the X-axis. Furthermore, an example of the worktable moving along the X-axis is shown here, but it is not limited to this method. When the worktable moves along the Y-axis in addition to the X-axis direction, the rotational speed of the Y-axis feed axis motor can be calculated based on the movement speed of the worktable in the Y-axis direction and the movement device information of the Y-axis. Then, for the Y-axis feed axis motor, the drive state of the motor can also be estimated by the same control as that of the X-axis feed axis motor.
[0073] The calculation unit 13 calculates the angular acceleration based on the time constant determined by the feed axis motor 5. The calculation unit 13 can calculate the change in rotational speed over time from time t0 to time t5. Based on the change in rotational speed, the calculation unit 13 can calculate the time length SL1 from time t0 to time t5 for reaching the target rotational speed C. Furthermore, the calculation unit 13 can calculate the change in rotational speed over time and the time length SL3 from time t6 to time t7 based on the angular acceleration.
[0074] The calculation unit 13 can calculate the rotational position of the feed axis motor 5 at times t5 and t6 by integrating the rotational speed of the feed axis motor 5. Furthermore, the calculation unit 13 can calculate the position of the worktable on the X-axis corresponding to the rotational position of the feed axis motor 5 based on the moving device information 22. The calculation unit 13 can calculate the position of the object driven by the feed axis motor 5. The calculation unit 13 can calculate the X-axis movement distance from time t5 to time t6 based on the rotational position of the feed axis motor 5 or the position of the worktable in the X-axis direction. Then, the calculation unit 13 can calculate the time length SL2 from time t5 to time t6 based on the X-axis movement distance and a fixed rotational speed C. The calculation unit 13 can estimate the machine tool's operation time (cycle time) from time t0 to time t7. Additionally, the calculation unit 13 can calculate times t5, t6, and t7 based on time lengths SL1, SL2, and SL3.
[0075] In this way, the calculation unit 13 can estimate the change in the rotational speed of the feed axis motor 5 and the change in the position of the worktable in the X-axis direction from the start to the end of the worktable's movement. In addition, the calculation unit 13 can estimate the length of time from the start to the end of the worktable's movement.
[0076] Next, in the second control, the torque estimation unit 15 of the calculation unit 13 calculates the change in the load rate of the feed axis motor 5 during operation over time. In this embodiment, the torque estimation unit 15 calculates the load rate (TX1) when the feed axis motor accelerates or decelerates.
[0077] Reference Figure 8 as well as Figure 9 In the interval from time t0 to time t5, the torque estimation unit 15 multiplies the inertia related to the motor drive by the angular acceleration, thereby calculating the torque required for acceleration. (Refer to...) Figure 8 The output characteristics of the electric motor are shown by arrows 97 and 98. The torque estimation unit 15 calculates the output at 100% load rate based on the target rotational speed C. The torque estimation unit 15 divides the output at 100% load rate by the rotational speed, thereby calculating the torque at 100% load rate. The torque estimation unit 15 divides the torque required for acceleration by the torque at 100% load rate, thereby calculating the load rate TX1 of the feed axis motor. This load rate corresponds to the torque command of the machine tool's feed axis motor 5.
[0078] Thus, the torque estimation section 15 calculates... Figure 9 The load rate (TX1) during deceleration from time t6 to time t7 can also be calculated using the same control method.
[0079] The load rate of the feed axis motors during workpiece machining using machine tool 1 can be preset by the operator performing the simulation. The operator can estimate the load rate during machining based on tool and workpiece information. (Refer to...) Figure 7 In the second simulation program 82, the operator specifies the load rate of the feed axis motor 5 during cutting as a third auxiliary variable. In this example, the load rate of the feed axis motor 5 during cutting is 10%.
[0080] Reference Figure 9 The torque estimation unit 15 sets the load rate of the feed axis motor 5 during the workpiece machining period based on the third auxiliary variable recorded in the instruction statement of the simulation program 82. The torque estimation unit 15 sets the load rate of the feed axis motor 5 to 10% in the interval from time t5 to time t6. As a result, the torque estimation unit 15 can estimate the change in load rate of the feed axis motor 5 over time from the start to the stop. That is, it can estimate the change in the load rate of the feed axis motor from the start to the end of the table movement. Thus, the drive state of the feed axis motor 5 can be calculated in the second control.
[0081] However, in the second control, when the torque estimation unit 15 calculates the torque required for acceleration, there is a situation where the torque required for acceleration exceeds the rated torque. That is, there is a situation where the load rate exceeds 100%. When the variable estimated by the calculation unit 13 deviates from the predetermined allowable range, the determination unit 16 of the calculation unit 13 implements control to inform the operator performing the motor simulation.
[0082] In this embodiment, the determination unit 16 determines whether the load rate estimated by the torque estimation unit 15 is outside the allowable range. The allowable range for the load rate is predetermined to be 0% or more and 100% or less. Specifically, the determination unit 16 determines whether the load rate exceeds 100%. Then, if the load rate exceeds 100%, the determination unit 16 can output a text file containing a warning that the load rate is outside the allowable range, as a control to inform the operator. Alternatively, the determination unit 16 can include the warning in a file containing the result of estimating the motor's drive state.
[0083] Alternatively, the determination unit 16 may send a signal corresponding to information indicating that the load rate of the motor has deviated from the allowable range to the display control unit 17. The display control unit 17 may then display on the display unit 19 the situation that the machine tool cannot be driven under the current conditions. Alternatively, the display control unit 17 may display on the display unit 19 the situation that the load rate of the feed axis motor 5 has deviated from the allowable range.
[0084] As a control to inform the operator of a warning during simulation, it is not limited to outputting a document containing the warning or displaying information on a display screen; any control can be used. For example, the operator can also be informed by sound that the machine tool cannot be driven.
[0085] The estimation device of this embodiment can estimate the motor's driving state, such as rotational speed, angular acceleration, and load rate, even without driving the actual machine tool. The operator performing the simulation can confirm that the machine tool drive is functioning correctly based on the estimated motor driving state, or change the conditions for driving the machine tool. Alternatively, the operator can make design changes to the machine tool, such as changing the type of motor. Furthermore, operators who operate the machine tool to process workpieces can modify the machining program based on the motor driving state estimated by the estimation device.
[0086] The estimation device of this embodiment can estimate the driving state of the motor simply by adding auxiliary variables to the machining program. Therefore, the operator performing the simulation can easily implement the simulation without having to perform complex operations to set the motor load conditions.
[0087] Next, an example of controlling multiple motors in cooperation will be explained. The first control described above refers to the control of a motor whose time constant corresponding to angular acceleration is not determined, while the second control refers to the control of a motor whose time constant corresponding to angular acceleration is determined. When multiple motors cooperate for control, it is also possible to implement at least one of the first and second controls. Here, the control of a machine tool forming an internal thread on a workpiece will be explained.
[0088] Figure 10 This is a schematic partial sectional view of the tool and the workpiece during the process of forming an internal thread. The path of the tool 31 is described using machine coordinate system 71. A tap is used as the tool 31. A hole 32a for forming an internal thread on the inner circumferential surface is formed in the workpiece 32. The Z-axis feed motor 5 of the machine tool 1 moves the tool 31 along the Z-axis direction of machine coordinate system 71. The X-axis feed motor 5 moves the worktable, on which the workpiece 32 is fixed, along the X-axis direction of machine coordinate system 71. Arrows 91, 92, and 93 indicate the path of the tool 31.
[0089] In this example, the X-axis feed motor 5 is driven, thus, as shown by arrow 91, the tool tip of tool 31 moves from movement point MP1 to movement point MP2 along the X-axis direction of machine coordinate system 71. Then, the Z-axis feed motor 5 is driven, thus, as shown by arrow 92, the tool tip moves from movement point MP2 to movement point MP3. Tool 31 temporarily stops at movement point MP3 near workpiece 32.
[0090] The coordinates (x, y, z) of the mechanical coordinate system 71 of the movement point MP3 are (50, 30, -20). The coordinates of the mechanical coordinate system 71 of the movement point MP4 are (50, 30, -100). As shown by arrow 93, when the tool tip of the tool 31 moves from the movement point MP3 to the movement point MP4, an internal thread is formed on the circumferential surface of the hole 32a of the workpiece 32.
[0091] When the tool tip moves from movement point MP3 to movement point MP4, the drive state of the other motor is determined in correspondence with the drive state of one of the motors, the feed axis motor 5 that moves the tool 31 along the Z-axis and the spindle motor 8 that rotates the tool 31. Alternatively, the drive states of both motors can be predetermined. The motion control unit 4 of the mechanical control device 2 controls the rotational speed of the tool 31 fixed to the spindle during internal thread formation to be synchronized with the movement speed of the tool 31 relative to the workpiece 32 (the penetration speed into the hole 32a). That is, the rotational speed of the spindle motor 8 is controlled to correspond to the rotational speed of the feed axis motor 5 based on the pitch of the internal thread formed by the tool 31. This machining process, in which the spindle motor and the feed axis motor form internal threads in sync, is called rigid tapping.
[0092] Figure 11 This represents the simulation program for forming internal threads. In the third simulation program 83, the control from movement point MP3 to movement point MP4 is shown. The instruction statement M29 represents rigid tapping. Variable S100 indicates the spindle rotation speed is 100 rpm. The instruction statement G84 represents the instruction for tap movement during machining. The coordinates of the target movement point (50, 30, -100) are specified as the tool tip point. Additionally, variable R-20 indicates the distance from the surface of workpiece 32 to movement point MP3 is 20 mm. Furthermore, variable F1000 indicates the tool feed rate is 1000 mm / min.
[0093] The M29 and G84 instructions are used in the machine tool's machining program to form internal threads. In simulation program 83, a second auxiliary variable, "spindlecutpower1%", is added to the M29 instruction in the machining program. This second auxiliary variable represents the load rate of the spindle motor 8 during cutting. Additionally, a third auxiliary variable, "servocutpower1%", is added to the G84 instruction in the machining program. This third auxiliary variable represents the load rate of the feed axis motor 5 during cutting. Based on this simulation program 83, the drive states of the feed axis motor 5 and the spindle motor 8 during internal thread formation are estimated.
[0094] In rigid tapping, there are controls for the spindle rotation to follow the tool's Z-axis movement and controls for the tool's Z-axis movement to follow the spindle rotation. The control to be implemented for these two purposes is determined in advance. Alternatively, the two controls can be selected through the machining program, etc. First, as the third control in this embodiment, the control for the spindle rotation to follow the tool's Z-axis movement will be explained.
[0095] Figure 12 This is a timing diagram showing the drive status of the feed axis motor during rigid tapping, where the spindle rotates to follow the tool's movement. (Refer to...) Figure 11 and Figure 12 The operation of the Z-axis feed motor 5, which moves the tool 31, is indicated by the instruction statement G84. The control of the estimated drive state of the Z-axis feed motor 5 is the same as the second control described above. Based on the gear ratio of the reducer and the movement device information 22 such as the pitch of the ball screw, the target rotational speed C of the feed motor 5 is calculated according to the variable F1000, which represents the feed speed of the tool 31.
[0096] Since the time coefficient of the Z-axis feed motor 5 is predetermined, the calculation unit 13 calculates the acceleration time length SL1, the rotational speed C time length SL2, and the deceleration time length SL3. Furthermore, the calculation unit 13 calculates the Z-axis position of the tool 31 by integrating the moving speed of the tool 31. Similar to the second control, the torque estimation unit 15 calculates the load rate (TX1) during acceleration and the load rate (-TX1) during deceleration based on the angular acceleration, inertia, and output characteristics of the feed motor.
[0097] Furthermore, the torque estimation unit 15 sets the load rate of the feed axis motor 5 during cutting from time t5 to time t6 based on the third auxiliary variable "servocutpower 1%" recorded in the instruction statement G84 of the simulation program 83. Here, the torque estimation unit 15 sets the load rate of the feed axis motor 5 during cutting to 1%.
[0098] Figure 13 This is a timing diagram showing the drive state of the spindle motor during rigid tapping, where the spindle rotation follows the tool movement. (Refer to...) Figure 11 and Figure 13 The operation of the spindle motor is specified by the instruction statement M29 in the simulation program 83. The maximum rotational speed of the spindle motor 8 is 100 rpm according to the variable S100.
[0099] The rotational speed of the spindle motor 8 corresponds to the moving speed of the tool 31. The calculation unit 13 calculates the rotational speed of the spindle motor 8 based on the moving speed of the tool 31, which corresponds to the rotational speed of the Z-axis feed axis motor 5, and the pitch of the internal thread. Alternatively, the calculation unit 13 calculates the angular acceleration of the spindle motor 8 based on the angular acceleration of the Z-axis feed axis motor 5. Time length SX3 and Figure 12 The time length SL1 is the same, and the time length SX4 is the same. Figure 12 The time length SL2 is the same, and the time length SX5 is the same. Figure 12 The time length in SL3 is the same.
[0100] The torque estimation unit 15 can calculate the load rate TX2 of the spindle motor 8 based on the angular acceleration of the spindle motor 8 through the second control. In addition, the torque estimation unit 15 can set the load rate of the spindle motor 8 during cutting from time t5 to time t6 to 1% based on the second auxiliary variable "spindlecutpower1%" added in the instruction statement M29.
[0101] In the third control, the drive states of the feed axis motors and the spindle motor can be estimated when rigid tapping is performed by the spindle rotating to follow the movement of the tool relative to the workpiece. Furthermore, the determination unit 16 can determine the drive state of each motor.
[0102] Next, as the fourth control method in this embodiment, the control of the tool's Z-axis movement following the spindle's rotation will be described. In this control, the spindle is accelerated at maximum torque. That is, the spindle motor's load rate is 100% when the spindle is accelerated. Therefore, in Figure 11 In the simulation program 83, even if the first auxiliary variable related to the load rate when increasing the rotational speed is not recorded in the instruction statement of M29, the load rate of 100% is used.
[0103] Figure 14 This is a timing diagram showing the drive state of the spindle motor during rigid tapping, where the tool's Z-axis movement follows the spindle's rotation. (Refer to...) Figure 11 and Figure 14 The target rotational speed of the spindle motor 8 is specified by the variable S100 recorded in the instruction statement of M29. In this example, the target rotational speed of the spindle motor 8 is 100 rpm. The speed estimation unit 14 of the calculation unit 13 can calculate the angular acceleration of the spindle motor 8 through the first control. The speed estimation unit 14 can calculate the time lengths SX1, SX2, SX3 and the times t1, t2, t3. The load rate during cutting from time t1 to time t2 is set to 1% by the second auxiliary variable "spindlecutpower1%" added to the instruction statement of M29.
[0104] Figure 15 This is a timing diagram showing the drive state of the feed axis motor when the tool's Z-axis movement follows the spindle's rotation. The target rotational speed C of the feed axis motor is calculated based on the tool's movement speed variable F1000 specified in the instruction statement G84 of simulation program 83. The calculation unit 13 calculates the maximum rotational speed C based on the tool's movement speed of 1000 mm / min and movement device information 22 such as the gear ratio of the reducer. The Z-axis position, as with the second control, can be calculated by integrating the tool 31's movement speed. Then, the torque estimation unit 15, as with the second control, calculates the load rate TX2 when accelerating or decelerating the feed axis motor. Furthermore, the load rate (cutting torque) of the feed axis motor used for cutting during the cutting period from time t1 to time t2 is set to 1% using the third auxiliary variable "servocutpower1%" recorded in the instruction statement G84.
[0105] In the fourth control, the drive state of the feed axis motor and the drive state of the spindle motor can be estimated when rigid tapping is performed in a manner in which the movement of the tool relative to the workpiece follows the rotation of the spindle. In addition, the determination unit 16 can determine the drive state of each motor.
[0106] Reference Figure 10 The moving point MP4 is the point where the internal thread formation ends. When the tool tip of tool 31 reaches the moving point MP4, the spindle motor 8 stops. Then, the spindle motor 8 rotates tool 31 in the opposite direction. In addition, the Z-axis feed motor 5 controls the movement of tool 31 in the direction of withdrawal from hole 32a. Then, tool 31 is moved until the tool tip reaches the moving point MP3. Even when tool 31 is withdrawn from workpiece 32, the third control described above, in which the spindle rotation follows the movement of the tool in the Z-axis direction, or the fourth control, in which the movement of the tool in the Z-axis direction follows the rotation of the spindle, can be implemented.
[0107] In the third and fourth controls, it is also possible to estimate the change in rotational speed and load rate over time from the start to the stop of the motor. Furthermore, regarding the feed axis motor, it is possible to estimate the position of the object driven by the feed axis motor from start to stop. Additionally, the estimation device can calculate the machining time of the machine tool. For example, in... Figure 12 as well as Figure 13 In the third control shown, the time length from time t0 to time t7 is the time it takes for the tool tip to move from movement point MP3 to movement point MP4. Even if the machine tool 1 is not actually driven, the calculation unit 13 can estimate the machining time of the machine tool.
[0108] When driven by other motors in a manner that follows the operation of one motor, if the torque of the other motors is calculated, there may be a situation where it exceeds a predetermined allowable value. For example, there may be a situation where the load rate of the other motors exceeds 100%. In the third and fourth controls, the determination unit 16 can also determine whether the load rate calculated by the torque estimation unit 15 exceeds the allowable range. Then, if the load rate calculated by the torque estimation unit 15 exceeds the allowable range, the determination unit 16 can implement control to inform the operator performing the simulation. Alternatively, if the rotational speed of other motors is calculated based on the change in the rotational speed of one motor, there may be a situation where the other motors cannot keep up. In such a case, the determination unit 16 can also implement control to warn the operator that the other motors cannot keep up.
[0109] In the above embodiment, the feed axis motor for moving the spindle head of the Z-axis is used as an example for description, but it is not limited to this method. Any feed axis motor for moving either the tool or the workpiece can be used.
[0110] The above-described embodiments can be appropriately combined. In the figures above, identical or equivalent parts are labeled with the same symbols. Furthermore, the above-described embodiments are examples and do not limit the invention. Additionally, variations of the embodiments shown in the claims are included in the embodiments.
[0111] Symbol Explanation
[0112] 1 Machine tool
[0113] 5-axis feed motor
[0114] 6 Spindle Head
[0115] 7. Processing Procedure
[0116] 8 spindle motors
[0117] 11. Estimation device
[0118] 13. Computing Department
[0119] 14. Velocity estimation section
[0120] 15 Torque estimation section
[0121] 16 Judgment Department
[0122] 17 Display Control Unit
[0123] 19 Display Section
[0124] Simulation programs 21, 81, 82, and 83
[0125] 23 Inertia Information
[0126] 24. Output characteristics of the electric motor.
Claims
1. A estimation device for estimating the driving state of a motor disposed on a machine tool, characterized in that, The estimation device includes a calculation unit that calculates variables representing the driving state of the electric motor based on a pre-made simulation program. The electric motor in question is one in which the time it takes to reach a target rotational speed when the motor's rotational speed is varied is not fixed. The simulation program includes instruction statements that append a first auxiliary variable to the instruction statements of the machining program used to drive the electric motor when machining the workpiece, wherein the first auxiliary variable is related to the load rate used to change the rotational speed of the electric motor. The calculation unit calculates the change in the rotational speed of the motor over time based on the output characteristics of the motor, a predetermined inertia related to the drive of the motor, and a first auxiliary variable.
2. The estimation device according to claim 1, characterized in that, The output characteristics of the motor are: the relationship between the output and the rotational speed when the motor is driven at 100% load. The calculation unit calculates the output of the motor corresponding to the target rotational speed based on the output characteristics of the motor and the first auxiliary variable. It calculates the torque of the motor by dividing the output of the motor by the rotational speed, calculates the angular acceleration of the motor by dividing the torque of the motor by the moment of inertia, and calculates the change of rotational speed over time based on the angular acceleration.
3. The estimation device according to claim 1 or 2, characterized in that, The calculation unit calculates the time until the motor reaches the target rotational speed based on the change in rotational speed over time.
4. The estimating device according to any one of claims 1 to 3, characterized in that, The simulation program includes instruction statements that append a second auxiliary variable to the instruction statements of the machining program used to drive the electric motor, wherein the second auxiliary variable is related to the load rate of the workpiece being machined. The calculation unit estimates, based on the second auxiliary variable, the change in the rotational speed of the motor over time from the start to the stop of the motor, and the change in the load rate of the motor over time.
5. A estimation device for estimating the driving state of a motor disposed on a machine tool, characterized in that, The estimation device includes a calculation unit that calculates variables representing the driving state of the electric motor based on a pre-made simulation program. The electric motor is one in which the time it takes to reach the target rotational speed when the motor's rotational speed is varied is already determined. The simulation program includes instruction statements that append auxiliary variables to the instruction statements of the machining program used to drive the electric motor, wherein the auxiliary variables are related to the load rate of the workpiece being machined. The calculation unit estimates the change in the load rate of the motor over time based on the time it takes for the motor's rotational speed to reach the target rotational speed, the motor's output characteristics, a predetermined inertia related to the motor's drive, and the auxiliary variables.
6. The estimation device according to claim 5, characterized in that, The output characteristics of the motor are: the relationship between the output and the rotational speed when the motor is driven at 100% load. The calculation unit calculates the angular acceleration of the motor based on the time it takes for the motor's rotational speed to reach the target rotational speed, calculates the torque required for acceleration based on the angular acceleration and the moment of inertia, calculates the torque at 100% load rate based on the output characteristics and the target rotational speed, and calculates the load rate of the motor by dividing the torque required for acceleration by the torque at 100% load rate.
7. The estimation device according to claim 5, characterized in that, The calculation unit calculates the angular acceleration of the motor based on the time it takes for the motor's rotational speed to reach the target rotational speed, calculates the change in the motor's rotational speed over time based on the angular acceleration, and estimates the change in the position of the object driven by the motor based on the change in the motor's rotational speed over time.
8. The estimating device according to any one of claims 5 to 7, characterized in that, The estimation device includes a determination unit that determines the variable estimated by the calculation unit. When a variable estimated by the calculation unit deviates from the allowable range, the determination unit implements control to make the operator performing the simulation aware of it.
Citation Information
Patent Citations
Control device of motor and control method
JP2006340480A
Motor controller
JP2012222890A
Electrolytic machining vibration feeding device with adjustable parameters and control method thereof
CN106112159A
Robot simulation apparatus that calculates swept space
CN107088878A