Motor control device
By introducing a filter into the motor control device to process the instructions during swing mode switching, the machine tool impact problem caused by sharp acceleration changes in swing cutting processing is solved, and a more stable and accurate processing process is achieved.
Patent Information
- Application Number
- CN202280099818.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-13
- Publication Date
- 2025-04-18
AI Technical Summary
In the prior art, in swing cutting processing, the machine tool produces impact due to the sharp change in acceleration during swing mode switching.
A motor control device is designed, including a swing command calculation unit, a switching judgment unit, a filter time constant/application time setting unit, a filter coefficient calculation unit, and a filter application unit. The command to drive the motor during swing mode is processed by the filter, thereby reducing the sharp change in acceleration.
It effectively reduces the sharp change in acceleration during swing mode switching, reduces the impact of the machine tool, and improves the stability and accuracy of processing.
Smart Images

Figure CN119856388A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a motor control device. Background Art
[0002] In the past, it is known that when a workpiece is cut using a cutting tool, continuously generated chips are entangled in the cutting tool, etc., causing processing defects, machine tool failures, etc. In response to this, swing cutting has been proposed in which the cutting tool and the workpiece are swung relative to each other while cutting to break up the chips (for example, see Patent Document 1).
[0003] Prior art literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2011-123616 Summary of the invention
[0006] Problems to be solved by the invention
[0007] However, as a method for realizing swing cutting, a method of superimposing a swing instruction on a movement instruction is sometimes adopted. In this method, when the swing mode is switched, such as when the swing ends or when the machining path is switched during swing cutting, a discontinuous instruction is sometimes generated according to the swing phase, and the acceleration changes sharply. The sharp change in acceleration may also cause an impact on the machine tool. There is room for improvement in the prior art.
[0008] The present disclosure has been made in view of the above-mentioned problems, and an object of the present disclosure is to provide a technology capable of reducing the impact on a machine tool caused by a sudden change in acceleration when switching the swing mode during swing processing.
[0009] Means for solving problems
[0010] The present invention discloses a motor control device for a machine tool that controls an electric motor to perform swing processing, wherein the motor control device comprises: a swing instruction calculation unit, which calculates a swing instruction based on a movement instruction and a swing condition; a switching judgment unit, which judges the timing of the end of the swing or the switching of the processing path; a setting unit, which sets the time constant and application time of the filter; a filter coefficient calculation unit, which calculates the coefficient of the filter based on the time constant set by the setting unit; and a filter application unit, which applies the filter coefficient to the instruction for driving the motor during the application time when the switching judgment unit judges that it is the switching timing.
[0011] Effects of the Invention
[0012] According to the present disclosure, it is possible to provide a technology capable of reducing the shock to a machine tool caused by a sudden change in acceleration when switching the swing mode during swing machining. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 This is a functional block diagram of the motor control device for a machine tool according to the first embodiment.
[0014] Figure 2 is a diagram showing movement instructions.
[0015] Figure 3 This is a graph showing a sinusoidal wave swing command.
[0016] Figure 4 This is a table of superimposed commands obtained by superimposing a movement command and a swing command of a conventional motor control device.
[0017] Figure 5 is a diagram showing movement instructions.
[0018] Figure 6 : is a graph showing the cosine wave swing command after the offset.
[0019] Figure 7 This is a table of superimposed commands obtained by superimposing a movement command and a swing command of a conventional motor control device.
[0020] Figure 8 This is a functional block diagram of a motor control device for a machine tool according to a second embodiment.
[0021] Fig. 9 This is a functional block diagram of a motor control device for a machine tool according to a third embodiment.
[0022] Fig.10 This is a functional block diagram of a motor control device for a machine tool according to a fourth embodiment. DETAILED DESCRIPTION
[0023] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the description of the second embodiment and thereafter, the same reference numerals are given to the same configurations as those of the first embodiment, and the description thereof will be omitted as appropriate.
[0024] [First embodiment]
[0025] Figure 1 The motor control device 1 of the first embodiment is a functional block diagram of a motor control device 1 for a machine tool. The motor control device 1 of the first embodiment performs swing cutting processing on a workpiece using a tool by operating at least one spindle and at least one feed axis, wherein the at least one spindle causes the cutting tool and the workpiece to rotate relative to each other, and the at least one feed axis causes the cutting tool to move relative to the workpiece.
[0026] The motor control device 1 of a machine tool is constructed using, for example, a computer having memories such as ROM (read only memory), RAM (random access memory), a CPU (control processing unit), and a communication control unit that are interconnected via a bus. The functions and actions of the following functional units are realized by the cooperation of the CPU, memory, and control programs stored in the memory mounted on the above-mentioned computer. The motor control device 1 of a machine tool can also be composed of a CNC (Computer Numerical Controller), and can also be connected to a host computer (not shown) such as a CNC or a PLC (Programmable Logic Controller). In addition to the processing program, processing conditions such as the rotation speed are also input from the host computer to the motor control device 1 of the machine tool.
[0027] In addition, Figure 1 In the figure, for convenience, only the motor 2 driving one feed axis is shown. In addition, in the cutting process of this embodiment, the shape of the workpiece is not limited. That is, even in the case where the workpiece has a tapered portion or an arc-shaped portion on the processing surface and multiple feed axes (Z axis and X axis) are required, even in the case where the workpiece is cylindrical or cylindrical and a specific feed axis (Z axis) is sufficient, the present invention can be applied.
[0028] like Figure 1 As shown, the motor control device 1 of the machine tool of the first embodiment includes a position deviation processing unit 3, an integration unit 11, a swing instruction calculation unit 12, an instruction synthesis unit 4, a learning controller 13, a learning correction value addition unit 5, a position control unit 14, a filter processing unit 30, a speed deviation processing unit 6, a speed control unit 15, a current deviation processing unit 7, a current control unit 16 and an amplifier 17 as functional units.
[0029] The position deviation processing unit 3 calculates the deviation between the position of the feed axis motor 2 indicated by the current movement command and the actual position feedback value fed back from the feed axis motor 2. The movement command is, for example, a command indicating a machining condition such as information related to the feed amount of a cutting tool. For example, the movement command is obtained from a machining program stored in a storage unit (not shown), a setting parameter of a machine tool, an external computer, or a combination thereof.
[0030] The integrating unit 11 integrates the position deviation calculated by the position deviation processing unit 3 and outputs a movement command after the position deviation processing has been performed.
[0031] The swing command calculation unit 12 calculates the swing command based on the input movement command and the input swing condition. The swing command is a command for reciprocating the feed axis based on the swing phase. The swing command calculation unit 12 can set the swing command to a value obtained by multiplying the sine (sinθ) or cosine (cosθ) of the swing phase by a constant (swing amplitude) [mm]. For example, the swing condition is obtained from a machining program stored in a storage unit (not shown), a setting parameter of a machine tool, an external computer, or a combination thereof.
[0032] The command synthesizing unit 4 superimposes the movement command subjected to the position deviation processing by the integrating unit 11 and the swing command output by the swing command calculating unit 12 , thereby calculating a superimposed command which is a command for driving the motor 2 .
[0033] The learning controller 13 calculates the correction amount based on the superimposed instruction output by the instruction synthesizing unit 4. The learning controller 13 has, for example, a memory, and stores the swing phase and the correction amount in association with each other in one or more swing cycles in the memory, and reads the superimposed instruction stored in the memory at a timing that can compensate for the phase delay of the swing action corresponding to the responsiveness of the motor 2 and outputs it as the correction amount. When there is no swing phase for outputting the correction amount among the swing phases stored in the memory, the correction amount to be output can be calculated based on the correction amount near the swing phase.
[0034] The learning correction value adding unit 5 adds the correction value calculated by the learning controller 13 to the superimposed command synthesized by the command synthesizing unit 4. Generally, the higher the swing frequency, the greater the position deviation relative to the swing command. Therefore, by adding the correction amount calculated by the learning controller 13 to the superimposed command, the tracking performance relative to the periodic swing command can be improved.
[0035] The position control unit 14 outputs a speed command based on the superimposition command to which the correction value is added.
[0036] In the first embodiment, the filter processing unit 30 performs filter processing on the speed command outputted from the position control unit 14. The details of the filter processing unit 30 will be described later.
[0037] The speed deviation processing unit 6 obtains a difference between the speed command value output from the position control unit 14 and filtered by the filter processing unit 30 and the actual speed feedback value fed back from the motor 2 of the feed axis, and outputs the difference as a speed deviation.
[0038] The speed control unit 15 generates and outputs a current command value based on the speed deviation outputted from the speed deviation processing unit 6. The current command value determines the torque of the motor 2 and can therefore be referred to as a torque command value.
[0039] The current deviation processing unit 7 obtains a difference between the current command value output from the speed control unit 15 and the current feedback value from the amplifier 17 , and outputs the difference as a current deviation to the current control unit 16 .
[0040] The current control unit 16 generates a current value based on the current deviation and outputs the current value to the amplifier 17 .
[0041] The amplifier 17 calculates desired power based on the current value from the current control unit 16 , and inputs the calculated power to the motor 2 .
[0042] Next, the filter processing unit 30 will be described. The filter processing unit 30 includes a filter time constant / application time setting unit 31 , a swing mode switching determination unit 32 , a filter coefficient calculation unit 33 , and a filter application unit 34 .
[0043] The filter time constant / application time setting unit 31 sets the filter time constant and the application time. The filter time constant and the application time are set to fixed values in advance, for example, in consideration of the impact, machining conditions, and swing conditions generated in the machine tool. In addition, the filter time constant and the application time can also be automatically set based on the parameters set for the machine tool, the machining program, etc. In addition, the details of the setting method of the filter time constant and the application time will be described later.
[0044] The swing mode switching judgment unit 32 judges whether it is the switching timing to switch the swing mode. The judgment on whether it is the switching timing is made based on, for example, information obtained from the machining program. The information obtained from the machining program is a swing closing instruction indicating the end of the swing machining, an instruction indicating the change of the movement instruction point, etc. Alternatively, the judgment on whether it is the switching timing can also be made by obtaining a swing instruction or a superimposition instruction and judging based on the change of the instruction value. In this way, various methods can be selected to judge whether to switch the swing mode.
[0045] The filter coefficient calculation unit 33 calculates filter coefficients for setting the filter to be applied. The method of setting the filter coefficients will be described later.
[0046] When it is determined that it is the switching timing, the filter application unit 34 performs filtering processing on the command for driving the motor 2. In the first embodiment, the filter application unit 34 performs filtering processing on the speed command output from the position control unit 14.
[0047] Next, the setting of the filter time constant and application time of the filter applied by the filter application unit 34 is explained. The filter time constant and application time are set in consideration of the impact reduction effect when the swing mode is switched and the influence of the filter on each control system. For example, the filter time constant τ is set to 1~16 [ms], and the application time t0 is set to about τ~4τ (1~64 [ms]). When considering applying a first-order low-pass filter as a filter with a controlled sampling period T=1 [ms], the cut-off frequency f=10~159 [Hz], and the coefficient K=0.37~0.94. In addition, the sampling period T=1 [ms] is just an example, and the value of the sampling period can be any value as long as it satisfies the range of T≤τ.
[0048] The first-order low-pass filter can be obtained by the following equation: In the following equation, y(n) represents the output at time n, x(n) represents the input at time n, and K represents the filter coefficient.
[0049] [Mathematical formula 1]
[0050] y(n)=(1-K)×x(n)+K×y(n-1)
[0051] The filter coefficient K can be obtained by the following equation. In the following equation, f[Hz] represents the cutoff frequency, and T[s] represents the sampling period. The filter coefficient calculation unit 33 calculates the filter coefficient using the following equation.
[0052] [Mathematical formula 2]
[0053] K=exp(-2πfT)
[0054] The cutoff frequency f [Hz] can be obtained by the following formula. In the following formula, τ [s] represents a time constant.
[0055] [Mathematical formula 3]
[0056]
[0057] Here, the relationship between the application time of the filter and the convergence is explained. The application time of the filter is the time of actual filtering, and the application time does not affect the filter coefficient K. However, when the application time is set short relative to the time constant, the convergence (an indicator indicating how close to reaching the equilibrium state) becomes poor, and the instructions when the filter is disconnected tend to become discontinuous, which may cause shocks. Regarding the application time, it is preferable to consider the degree of convergence.
[0058] The degree of convergence can be calculated by the following formula. In the following formula, r represents the convergence rate, t0[s] represents the application time, and τ[s] represents the time constant. In this formula, it can be considered that the closer r is to 1, the more converged it is. For example, when the application time t0=τ, r=0.63, converges to 63[%]. When t0=2τ, r=0.86, converges to 86[%]. When t0=3τ, r=0.95, converges to 95[%]. When t0=4τ, r=0.98, converges to 98[%]. The degree of convergence is adjusted by considering the impact generated in the machine tool. For example, when you want to make the convergence 90%, set the application time t0[s] and the time constant τ[s] so that t0=3τ.
[0059] [Formula 4]
[0060]
[0061] Next, use Figure 2 to Figure 6 The graph of will explain the impact generated when the swing mode changes in the prior art. In the following graph, the vertical axis represents the tool position, and the horizontal axis represents the swing phase such as the spindle angle.
[0062] Figure 2 is a diagram showing movement instructions. Figure 3 This is a graph showing a sinusoidal wave swing command. Figure 4 The existing motor control device movement command ( Figure 2 ) and swing instructions ( Figure 3 The diagram of the superimposed instructions is obtained by superimposing the diagram of Figure 4 As shown in the graph, when the timing of the end of the swing or the timing of the change of the swing path is not a swing phase of 0 degrees or a multiple of 180 degrees, the superimposed instruction changes rapidly because there is no superposition of the swing instruction, resulting in a sharp change in acceleration based on the change of the superimposed instruction. The sharp change in acceleration causes excessive physical load on the machine tool.
[0063] in addition, Figure 5 is a diagram showing movement instructions, Figure 6 : is a graph showing the cosine wave swing command after the offset. Figure 7 The existing motor control device movement command ( Figure 5 ) and swing instructions ( Figure 6 The diagram of the superimposed instructions is obtained by superimposing the diagram of Figure 7 In the graph of , there is a similar relationship between the switching timing and the swing phase. Depending on the swing phase when the switching timing is generated, a physical burden may be generated in the machine tool.
[0064] In this regard, according to the motor control device 1 of the machine tool that controls the motor 2 to perform swing processing according to the first embodiment, the following effects are achieved.
[0065] The motor control device 1 of the machine tool of the present embodiment includes: a swing command calculation unit 12 that calculates a swing command based on a movement command and a swing condition; a swing mode switching judgment unit 32 (switching judgment unit) that judges the timing of the swing end or the switching of the processing path; a filter time constant / application time setting unit 31 (setting unit) that sets the time constant τ and application time t0 of the filter; a filter coefficient calculation unit 33 that calculates a filter coefficient K based on the time constant τ set by the filter time constant / application time setting unit 31; and a filter application unit 34 that applies a filter with a filter coefficient K to the command for driving the motor 2 during the application time t0 when the swing mode switching judgment unit 32 judges that it is the switching timing. Thus, even when the swing ends or the processing path is changed at a timing that easily causes a sharp change in acceleration, the filter application unit 34 performs a filtering process of the application time on the command value for driving the motor 2. Therefore, it is possible to avoid a sharp change in acceleration at the switching timing when the swing phase is not 0 degrees or 180 degrees, etc., and it is possible to effectively reduce the shock generated in the machine tool.
[0066] In addition, in the present embodiment, the instruction for driving the motor to which the filter is applied is a speed instruction for speed control. Thus, even if the swing mode is switched at a timing when the swing phase is not 0 degrees or 180 degrees, by applying the filter to the speed instruction for speed control, a sudden change in acceleration can be avoided.
[0067] In addition, the present embodiment further includes a learning controller 13 that performs learning control based on the position deviation. As a result, the higher the swing frequency, the greater the position deviation relative to the swing command. Therefore, by performing correction through learning control using the learning controller, the followability relative to the periodic swing command can be improved.
[0068] [Second embodiment]
[0069] Figure 8 FIG. 2 is a functional block diagram of a motor control device 1a for a machine tool according to a second embodiment. Figure 8 As shown, the motor control device 1 a for a machine tool according to the second embodiment differs from the motor control device 1 for a machine tool according to the first embodiment in that a filter processing unit 30 a applies a filter with a different command, and the other configurations are the same as those of the first embodiment.
[0070] In the second embodiment, the filter processing unit 30a is arranged between the speed control unit 15 and the current deviation processing unit 7. The current command value output from the speed control unit 15 is output to the motor 2 via the amplifier 17, and becomes a command for determining the torque of the motor 2. The filter application unit 34 of the filter processing unit 30a performs filter processing on the current command (torque command) output from the speed control unit 15 when the swing mode switching determination unit 32 determines that it is the swing mode switching timing as in the first embodiment.
[0071] Thus, in the second embodiment, the instruction for driving the motor 2 to which the filter is applied is a current instruction value that becomes an instruction for controlling the torque. Thus, by applying the filter to the instruction for controlling the torque (current instruction), the instruction for driving the motor 2 becomes an instruction that takes the switching timing into consideration, thereby being able to avoid a sharp change in acceleration. In addition, the structure of the second embodiment is not limited thereto, and the instruction for controlling the torque may be an instruction output from the current control unit 16 or an instruction output from the amplifier.
[0072] [Third Embodiment]
[0073] Fig. 9 1 is a functional block diagram of a motor control device 1b for a machine tool according to a third embodiment. Fig. 9 As shown, the motor control device 1 b for a machine tool according to the third embodiment is different from the motor control device 1 for a machine tool according to the first embodiment in that a filter processing unit 30 b applies a filter, and the other structures are the same as those of the first embodiment.
[0074] In the third embodiment, the filter processing unit 30b is arranged between the swing command calculation unit 12 and the command synthesis unit 4. When the swing mode switching determination unit 32 determines that it is the swing mode switching timing as in the first embodiment, the filter application unit 34 of the filter processing unit 30b performs a filter process on the swing command value output from the swing command calculation unit 12. The swing command after the filter process by the filter application unit 34 is output to the command synthesis unit 4, and is superimposed on the movement command in the command synthesis unit 4.
[0075] Thus, in the third embodiment, the instruction for driving the motor 2 to which the filter is applied is the swing instruction before being superimposed with the movement instruction. Thus, by applying the filter to the swing instruction before being superimposed with the movement instruction, the instruction for driving the motor 2 becomes an instruction that takes the switching timing into consideration, thereby being able to avoid a sharp change in acceleration.
[0076] [Fourth Embodiment]
[0077] Fig.10 1 is a functional block diagram of a motor control device 1c for a machine tool according to a fourth embodiment. Fig.10As shown, the motor control device 1c for a machine tool according to the fourth embodiment differs from the motor control device 1 of the first embodiment in that a filter processing unit 30c applies a filter to a command for driving the motor 2, and the other structures are the same as those of the first embodiment.
[0078] In the fourth embodiment, the filter processing unit 30c is arranged between the command synthesis unit 4 and the learning correction value addition unit 5. When the swing mode switching determination unit 32 determines that it is the swing mode switching timing as in the first embodiment, the filter application unit 34 of the filter processing unit 30c performs a filter process on the superimposed command value output from the command synthesis unit 4. The superimposed command after the filtering process is output to the learning correction value addition unit 5.
[0079] Thus, in the fourth embodiment, the filter-applied instruction for driving the motor 2 is a superimposed instruction obtained by superimposing the swing instruction on the movement instruction. Thus, by applying the filter to the superimposed instruction obtained by superimposing the movement instruction on the swing instruction, the instruction for driving the motor 2 becomes an instruction that takes the switching timing into consideration, thereby being able to avoid a sharp change in acceleration.
[0080] In addition, the present disclosure is not limited to the above-described embodiment, and modifications and improvements within the scope that can achieve the purpose of the present disclosure are included in the present disclosure.
[0081] For example, in the above embodiment, the filter applied by the filter application unit 34 is described as a first-order low-pass filter, but the present invention is not limited thereto. For example, other filters such as second-order or higher low-pass filters and band-pass filters may also be applied.
[0082] Description of Reference Numerals
[0083] 1.1a, 1b, 1c Motor control device for machine tools
[0084] 12 Swing command calculation unit
[0085] 31 Filter time constant / application time setting section
[0086] 32 Swing mode switching determination unit
[0087] 33 Filter coefficient calculation unit
[0088] 34 Filter application section.
Claims
1. A motor control device for a machine tool for controlling a motor to perform swing processing, characterized in that: The motor control device comprises: a swing instruction calculation unit that calculates a swing instruction based on the movement instruction and the swing condition; A switching judgment unit, which judges the end of the swing or the switching timing of the processing path; A setting unit, which sets a time constant and an application time of the filter; a filter coefficient calculation unit that calculates a filter coefficient based on the time constant set by the setting unit; as well as A filter application unit applies a filter having the filter coefficient to a command for driving the electric motor during the application time when the switching determination unit determines that the switching timing has occurred.
2. The motor control device according to claim 1, characterized in that: The command for driving the electric motor to which the filter is applied is a speed command for speed control.
3. The motor control device according to claim 1, characterized in that: The command for driving the electric motor to which the filter is applied is a command for controlling the torque.
4. The motor control device according to claim 1, characterized in that: The command for driving the motor to which the filter is applied is the swing command before being superimposed with the movement command.
5. The motor control device according to claim 1, characterized in that: The command for driving the motor to which the filter is applied is a superimposed command in which a swing command is superimposed on a movement command.
6. The motor control device according to any one of claims 1 to 5, characterized in that: The motor control device further includes a learning controller that performs learning control based on the position deviation.
Citation Information
Patent Citations
Servo control system for enhancing accuracy of high-speed oscillating operation
JP2011123616A