This application is a new U.S. Patent Application that claims benefit of Japanese Patent Application No. 2017-070412, filed Mar. 31, 2017, the disclosure of this application is being incorporated herein by reference in its entirety for all purposes.
The present invention relates to a numerical controller, and particularly to a technique of suppressing overshoot in adaptive control.
An adaptive control technique of detecting a load of a spindle and controlling a feeding speed has been known. For example, Japanese Patent Application Laid-Open No. 2017-97701 and Japanese Patent Application Laid-Open No. 2017-191536 disclose a technique of performing control such that a feeding speed is increased when a cutting amount is small and a spindle load is small, and the feeding speed is decreased when a cutting amount is large and the spindle load is large as illustrated in
However, there is a problem that overshoot occurs when PID control is performed based on a low load at the start of cutting in the case of performing adaptive control according to the spindle load at the time of cutting into a workpiece. That is, the spindle load remains at a relatively low level until a contact area between a workpiece 11 and a tool 12 becomes maximum after the tool 12 starts contacting the workpiece 11 as illustrated in
The spindle load at the start of cutting indicates a serrated waveform like a graph in a block 20 of
In
Incidentally, it is possible to suppress the overshoot by increasing a gain (Kp) of the proportional term on the right side of the above Formula (1). However, such a countermeasure causes a new problem that the override decreases so that a machining speed is delayed, and thus, it is difficult to say that this countermeasure is appropriate.
The invention has been made in order to solve the above problems, and an object thereof is to provide a numerical controller capable of suppressing overshoot in adaptive control.
A numerical controller according to the invention includes: a spindle load measurement unit that measures a spindle load; a speed calculation unit that performs PID control to adjust a feeding speed based on the spindle load; and a spindle load correction unit that corrects the spindle load so as to have a value close to a target load until the spindle load reaches the target load. The speed calculation unit is configured to perform the PID control using the corrected spindle load.
The spindle load correction unit may be configured to correct the spindle load based on a cutting volume.
The spindle load correction unit may be configured to correct the spindle load based on a ratio between a length of a chord of an arc, which indicates a contact surface between a tool and a workpiece, and a diameter of the tool.
According to the invention, it is possible to provide the numerical controller capable of suppressing the overshoot in the adaptive control.
First, an overview of an embodiment of the invention will be described with reference to
In the embodiment, control is performed to correct feedback with a ratio between a cutting volume of a workpiece by a tool and an instantaneous value of a spindle load based on the conventional PID control as expressed in the above Formula (1). In this case, the cutting volume is obtained using a tool diameter and a feeding speed. In addition, it is known that the instantaneous value of the spindle load is substantially proportional to an instantaneous cutting volume. Accordingly, it is possible to resolve a smallness of feedback at the start of cutting by feeding back a value based on the ratio between the spindle load and the cutting volume instead of directly using the spindle load.
A feedback F(t) is obtained, for example, from the following Formula (2). Here, R(t) is an instantaneous value of the spindle load at time t. In addition, a denominator on the right side of Formula (2) represents a cutting volume from the start of cutting to time t (see
In this manner, as illustrated in
As the feedback corrected in this manner is used for PID control, the feedback is not low even at the start of cutting. Thus, an integral term on the right side does not become large in the above Formula (3), and it is possible to prevent overshoot of the load.
Advantageous effects of the embodiment are described below using
Although the overshoot of the spindle load occurs in the conventional PID control illustrated in
Next, a configuration of the numerical controller 100 according to the embodiment of the invention will be described using a block diagram of
The numerical controller 100 includes a command program analysis unit 101, a speed calculation unit 102, an interpolation unit 103, a post-interpolation acceleration/deceleration unit 104, a spindle load measurement unit 108, and a spindle load correction unit 109.
The command program analysis unit 101 analyzes a command program to calculate a movement path and a movement speed of the tool. The speed calculation unit 102 executes the PID control based on the above Formula (3) using F(t) which is output from the spindle load correction unit 109 and obtained by correcting the spindle load with the cutting volume, and adjusts the feeding speed. The interpolation unit 103 performs interpolation processing of the movement path and the movement speed calculated by the speed calculation unit 102. The post-interpolation acceleration/deceleration unit 104 performs control to add acceleration/deceleration to the movement speed calculated by the speed calculation unit 102, for example, when a corner portion or the like is included in the movement path. A servo-motor control unit 105 controls a servo-motor 2 according to the movement path and the movement speed output from the interpolation unit 103 and the post-interpolation acceleration/deceleration unit 104, thereby moving the tool. The spindle load measurement unit 108 measures the spindle load based on an output of a sensor provided in a spindle motor 3 which is responsible for the rotation of the spindle. The spindle load correction unit 109 calculates F(t) obtained by correcting the spindle load detected by the spindle load measurement unit 108 with the cutting volume, and feeds back F(t) to the speed calculation unit 102.
In the conventional PID control, the spindle load output from the spindle load measurement unit 108 is used as the feedback. On the other hand, the speed calculation unit 102 of the numerical controller 100 according to the embodiment is characterized by feeding back F(t) obtained by correcting the spindle load with the cutting volume.
The flow of the operation of the numerical controller 100 will be described in more detail using a flowchart of
Step S1: A current spindle load R(t) measured by the spindle load measurement unit 108 is input to the spindle load correction unit 109 every period T. The spindle load correction unit 109 determines whether or not a relationship between R(t) and a threshold Rm is R(t)≥Rm. The threshold Rm is a lower limit value of the spindle load that enables the PID control. When R(t)≥Rm as a result of the determination, the process proceeds to Step S3. Otherwise, the process proceeds to Step S2.
Step S2: The spindle load correction unit 109 turns off a PID control flag, and ends the process.
Step S3: The spindle load correction unit 109 refers to the PID control flag and determines whether the PID control flag is turned on or not. The on-state of the PID control flag means that the PID control is currently being executed. When the PID control flag is in an off-state, the process proceeds to Step S4. Otherwise, the process proceeds to Step S6.
Step S4: The spindle load correction unit 109 sets time t0=t−T based on a current time t and a PID control execution period (that is, an execution period of the spindle load correction unit 109 and the speed calculation unit 102) T.
Step S5: The spindle load correction unit 109 sets the PID control flag to the on-state.
Step S6: The spindle load correction unit 109 calculates F(t) which is obtained by correcting the spindle load with the cutting volume. When a discrete time of a control period is defined as t1=t0+T, t2=t0+2T, . . . , and tn=t0+nT (n is a natural number), F(tn) is calculated by the following Formula (4).
In the above Formula (4), C(ti) is a function that is proportional to the cutting volume per time when a rotary tool is fed in a direction perpendicular to the rotation axis with respect to a rectangular parallelepiped workpiece and cuts in perpendicularly to an end face of the workpiece. When the spindle load is corrected with an actual cutting volume per time, a difference between the spindle load and the target load becomes an inappropriate value. Thus, the spindle load is corrected using C (ti) representing a ratio (a ratio of a current cutting volume per time) which assumes a value when whole of the tool engages as 1. Then, C(ti) is expressed by the following Formula (5).
Here, D is a tool diameter (mm), and P(ti) is a feeding amount (mm) from time t0 to ti.
In the embodiment, C(ti) is defined as in Formula (5) so as to be 1 when the length of the chord equals a diameter D. Incidentally, C(ti) is handled as 1 after C(ti) becomes 1, that is, when ti satisfies the following Formula (7).
Step S7: The speed calculation unit 102 performs the PID control according to the above Formula (3) using F(t) fed back from the spindle load correction unit 109.
According to the embodiment, the spindle load correction unit 109 calculates F(t) obtained by correcting the spindle load with the cutting volume, and feeds back the calculated F(t) to the speed calculation unit 102, and the speed calculation unit 102 performs the PID control using F(t). That is, the spindle load correction unit 109 performs feedback by correcting the spindle load such that it has an appearance larger than the actual value thereof. As a result, a difference between the target load and a current spindle load can be made as small as possible, and it is possible to suppress occurrence of overshoot derived from the difference.
In addition, the feedback F(t) is reliably larger than R(t), and thus, appropriate correction can be performed even when a cutting width is not a width of the tool according to the embodiment.
Incidentally, the invention is not limited to the above-described embodiments and can be appropriately changed within a scope not departing from a spirit of the invention. The invention can modify arbitrary constituent elements of the embodiments or omit arbitrary constituent elements of the embodiments within the scope of the invention.
For example, t0=t may be set in Step S1 of the flowchart of
That is, when the acquisition period of the spindle load is smaller than the control period as illustrated in
In addition, there is a possibility that a total discrete time, expressed in Formula (8) below
may have lower accuracy depending on the execution period, the tool feeding speed, and the tool diameter. In this case, it is possible to increase the accuracy by directly obtaining the cutting volume by integration of C(ti) from the feeding amount.
That is, a calculation error according to the above Formula (8) increases as the period T increases as illustrated in
In addition, an integral interval is set from a control start time (see
Further, it is also possible to define F(ti) without calculating the integral, as in the following Formula (10). However, F(ti) fluctuates under the influence of noise if F(ti) defined by Formula (10) is directly used, and thus, the noise is removed using the integration in the above-described embodiment.
In addition, it is also possible to apply some filters to R(t) and C(t). In this case, it is possible to calculate F(t) similarly to the above-described embodiment if the same filter is applied to R(t) and C(t).
In addition, it is possible to calculate the cutting volume in the case of simple cutting if the cutting width is known (see a hatched part in
Number | Date | Country | Kind |
---|---|---|---|
2017-070412 | Mar 2017 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20020180394 | Matsumoto et al. | Dec 2002 | A1 |
20100030366 | Scherer | Feb 2010 | A1 |
20170153629 | Uno | Jun 2017 | A1 |
20170300030 | Uno | Oct 2017 | A1 |
Number | Date | Country |
---|---|---|
2002323915 | Nov 2002 | JP |
2005205517 | Aug 2005 | JP |
2010020704 | Jan 2010 | JP |
2017-097701 | Jun 2017 | JP |
2017-191536 | Oct 2017 | JP |
Entry |
---|
Notification of Reasons for Refusal for Japanese Application No. 2017-070412, dated Oct. 30, 2018, with translation, 5 pages. |
Number | Date | Country | |
---|---|---|---|
20180284720 A1 | Oct 2018 | US |