US5101146A - Device for correcting mechanical errors in nc machine - Google Patents
Device for correcting mechanical errors in nc machine Download PDFInfo
- Publication number
- US5101146A US5101146A US07/563,390 US56339090A US5101146A US 5101146 A US5101146 A US 5101146A US 56339090 A US56339090 A US 56339090A US 5101146 A US5101146 A US 5101146A
- Authority
- US
- United States
- Prior art keywords
- movement
- value
- amount
- correction
- position command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41036—Position error in memory, lookup table for correction actual position
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41042—Switch between rapid, quick feed and cut, slow workspeed feed backlash
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41059—Play in gear, screw backlash, lost motion
Definitions
- This invention relates to a device for correcting mechanical errors in an NC machine, and more particularly to positioning accuracy.
- FIG. 6 is a block diagram showing an example of a control system for correcting backlash in a conventional NC machine.
- interpolation processing means produces an incremental amount of movement of a control shaft of the NC machine by means of approximation every sampling time.
- Speed adjustment processing means is for multiplying the interpolated incremental amount of movement by an adjusting speed to thereby calculate a command value of the incremental amount of movement, and servo control section 3 controls a servomotor 31 by receiving the command value of incremental amount of movement of the control shaft calculated every sampling and transmitted from the speed adjustment processing means 2.
- the servo control section 3 causes a subtracting unit 33 to calculate the difference between the received command value of the incremental amount of movement calculated every sampling and the position feedback value detected every sampling; causes an adding unit 34 and an integrating unit 35 to accumulate the calculated differences progressively.
- a multiplying unit 36 multiplies the progressively accumulated value by a position loop gain Kp. The value thus multiplied is the speed command.
- This speed command is received by a speed loop control section comprising a speed control amplifier 37 and a speed detector 38 and is further subjected to a current loop control by an amplifier 39 for position-controlling the servomotor 31.
- Reference numeral (4) designates a memory table containing backlash correction amounts B to be added upon change of direction of the control shaft.
- the memory table 4 comprises, a table 4a containing backlash correction amounts Bcr that are used in the case where the forwarding mode switches from the rapid mode to the cutting mode and vice versa.
- Reading means 5 selects the backlash correction amount by switching the respective tables 4a to 4c of the memory table 4; and 6, transfer means transmits the backlash correction amount to the adding unit (8).
- the interpolation processing means 1 approximates an incremental amount of movement of the control shaft from a machining configuration every sampling and applies the approximated amount to the speed adjustment processing means 2 which then subjects the applied incremental amount of movement of the control shaft to a speed adjustment process to thereby calculate a command value of incremental amount of movement and apply it to the adding unit 7.
- a central processing unit (CPU) 12 judges whether or not the direction of movement is inverted (Step S71). If not, there will be no backlash correction because the movement is continuous in the same direction and thus the command value of incremental amount of movement is directly applied to the servo control section 3 to thereby position-control the motor 31.
- Step S72 If the direction of movement is inverted as the result of the speed adjustment processing, it is judged whether the forwarding mode immediately before the inversion is the rapid mode or the cutting mode (Step S72). If it is the cutting mode, then it is judged whether the forwarding mode immediately after the inversion is the cutting mode or the rapid mode (Step S73). If it is still the cutting mode, a backlash correction amount Bc for the cutting mode is retrieved from the table 4b by the reading means 5 (Step S74).
- Step S72 If the forwarding mode immediately before the inversion of the direction of movement is the rapid mode in Step S72, it is judged whether the forwarding mode immediately after the inversion is the rapid mode or the cutting mode (Step S75). If the rapid mode continues, a backlash correction amount Br is retrieved from the table 4c (Step S76).
- Step S77 If the forwarding mode before and after the inversion of the direction of movement switches from the cutting mode to the rapid mode or vice versa (Steps S73 and S75), a backlash correction amount Bcr to be applied when the mode is changed is retrieved from the table 4a (Step S77).
- Step S78 After retrieving the backlash correction amount corresponding to the forwarding mode before and after the inversion of the direction of movement from the table 4 in this way, it is judged whether the direction of movement after the inversion is positive or negative by the transfer means 6 (Step S78). If it is negative, the sign of the retrieved backlash correction amount is made negative (Step S79). Otherwise, its sign remains unchanged, and either the positive or negative backlash correction amount as appropriately processed is applied to the adding unit 7 so that it will be added to the command value of incremental amount of movement supplied from the speed adjustment processing means 2 (Step S 80). This ends the backlash correction amount processing. This process is performed every sampling, and thus the backlash corrected-command value of incremental amount of movement is applied to the servo control section 3 to perform position control of the motor 31.
- FIGS. 8(a), 8(b) and 8(c) are explanatory diagrams showing the operation of the control shaft at its respective inverting points when the above-described conventional backlash correction has been made.
- FIGS. 8(a) and 8(b) show the case where the control shaft moves from point A to point B; the direction of its movement is inverted twice at point B and point C; and then the control shaft resumes its movement up to point D.
- FIG. 8(a) shows a case of the movement between point A and point D in the cutting mode, FIG. 8(b) in the rapid mode, respectively.
- a backlash correction amount-Br is added to the command value of incremental amount of movement at point B.
- a backlash correction amount Br is added to the command value of incremental amount of movement to thereby make the progressive value EB of the backlash correction amounts at point D equal to zero.
- a backlash correction amount-Br is added to the command value of incremental amount of movement, and at point D a correction of -BCR is added, a backlash correction amount Bc is added to the command value of incremental amount of movement at point E to thereby make the progressive value ⁇ B of the backlash correction amounts at point F equal to Br+Bc-Bcr-Bcr. Since the progressive value ⁇ B of the backlash correction amounts at point F must be zero, it is necessary to store the backlash correction amount Bcr when the forwarding mode is changed, which is equal to (Br+Bc)/2, in the table (4a).
- This invention has been made to overcome the above problems and has as an object the provision of a device for correcting mechanical errors in an NC machine capable of not only performing the correction with a simple process but also improving its positioning accuracy.
- the device for correcting mechanical errors calculates a position command value by progressively adding a command value of incremental amount of movement which has been obtained by subjecting an incremental amount of movement of the shaft obtained every sampling time to a speed adjustment by position command value calculation means. Then, a position command correction value is calculated by adding a predetermined amount of correction of a mechanical error to the position command value calculated by adding means. Then, a corrected incremental amount of movement is calculated by subtracting a previously sampled position command correction value from a currently sampled position command correction value, and this corrected incremental amount of movement is applied to a servo control section as a target value.
- the amount of correction of a mechanical error is added to a position command value of the control shaft every sampling, thereby preventing the amount of correction from being accumulated even in the case where corrections are to be made repetitively.
- FIG. 1 is a block diagram showing a control system which is an embodiment of the invention
- FIGS. 2(a) and 2(b) are explanatory diagrams showing an amount of backlash correction according to the embodiment
- FIG. 3 is a flowchart showing an operation of the embodiment.
- FIG. 4 is a block diagram showing a control system which is another embodiment of the invention.
- FIG. 5 is a flowchart showing an operation of the embodiment shown in FIG. 4;
- FIG. 6 is a block diagram showing a control system of a conventional example
- FIG. 7 is a flowchart showing an operation of the conventional example.
- FIGS. 8(a), 8(b) and 8(c), and FIG. 9 are explanatory diagrams showing operating conditions of the conventional example, respectively.
- FIG. 1 is a block diagram showing a control system which is an embodiment of this invention.
- interpolation processing means 1 speed adjustment processing means 2
- a servo control section 3 reading means 5 and transfer means 6 are exactly the same as those of the conventional example shown in FIG. 6.
- Reference numeral 8 designates means for calculating a position command value, by which a position command value is calculated by progressively adding each command value of incremental amount of movement obtained every sampling and transmitted from the speed adjustment processing means 2.
- the position command value calculating means includes an adder and integrator.
- Reference numeral 9 designates an adding unit, by which a position command correction value is calculated by adding a backlash correction amount stored in the memory table 11 to the position command value calculated by the position command value calculation means 8.
- Reference numeral 10 designates means for calculating a corrected incremental amount of movement, by which a previously sampled position command correction value is subtracted from the position command correction amount transmitted every sampling to thereby calculate a corrected incremental amount of movement of the control shaft every sampling.
- the memory table 11 has a table 11a for storing backlash correction amounts Brp to be applied when the direction of movement of the control shaft is positive in the rapid mode a table 11b for storing backlash correction amounts Bcp to be applied when the direction of movement is positive in the cutting mode, a table 11c for storing backlash correction amount Brn to be applied when the direction of movement is negative in the rapid mode and a table 11d for storing backlash correction amounts Bcn to be applied when the direction of movement is negative in the cutting mode.
- the backlash correction amounts stored in this memory table 11 are defined as follows. For instance, as shown in FIG. 2(a), let it be supposed that the control shaft moves in the positive direction along the path starting from point A to a mechanical reference point M that is the point of return in the cutting mode. It stops once, and then resumes its movement in the positive direction up to point B, where it reverses the direction of its movement and thus moves in the negative direction up to the reference point M. If backlash is caused between points H and J, the distance between the reference point M and point H and that between the reference point M and point J are the backlash correction amounts Bcn and Bcp in the cutting mode.
- Step S31 An incremental amount of movement of the control shaft is approximated every sampling based on a machining configuration by the interpolation processing means 1 and the approximated value is fed to the speed adjustment processing means 2.
- the speed adjustment processing means 2 subjects the received incremental amount of movement to a speed adjustment, calculates a command value of incremental amount of movement and applies it to the position command value calculation means 8.
- the CPU 12 judges whether the direction of movement indicated by the command value of incremental amount of movement is positive or negative (Step S31). If it is positive, it is further judged whether the forwarding mode is the cutting mode or the rapid mode (Step S32).
- a backlash correction amount Bcp to be used when the control shaft moves in the positive direction in the cutting mode, is retrieved from the table (11b) by the reading means (5) (Step S33). If the forwarding mode is the rapid mode, a backlash correction amount Brp, to be used when the control shaft moves in the positive direction in the rapid mode, is retrieved from the table (11a) (Step S34).
- Step S35 it is judged whether the forwarding mode is the cutting mode or the rapid mode. If it is the cutting mode, a backlash correction amount Bcn, to be used when the direction of movement is negative in the cutting mode, is retrieved from the table (11d) (Step S36). If the forwarding mode is the rapid mode, a backlash correction amount Brn, to be used when the direction of movement is negative in the rapid mode, is retrieved from the table (11c) (Step S37). Each of the backlash correction amounts thus retrieved is supplied to the adding unit 9 through the transfer means 6 every sampling.
- the command value of incremental amount of movement of every sampling supplied from the speed adjustment processing means 2 is converted to a position command value by being progressively calculated by the position command calculation means 8.
- This position command value is applied to the adding unit 9, where it is added to a backlash correction amount supplied from the memory table to thereby produce a position command correction value from the adding unit (9) (Step S38).
- the position command correction value produced by the adding unit 9, is applied to the corrected-incremental-amount of movement calculation means 10, where the difference between it and the previously sampled position command correction value is calculated to thereby obtain a corrected incremental amount of movement of the control shaft to be obtained every sampling.
- the obtained corrected incremental amount of movement is applied to the servo control section 3, which thereby performs position control of the motor 31. The above operation is repeated every sampling.
- the invention may likewise be applied to the correction of lost motions which cause deviations at the stop position of the control shaft in both positive and negative directions during positioning.
- FIG. 4 is a block diagram showing a control system for correcting lost motions.
- reference numeral 13 designates a correction amount calculation means having either a function or functions, or a table or tables for obtaining the amount of correction of a lost motion, e.g., from a current feedback storing the most motion correction value calculated temporarily storing the lost motion correction value calculated by the correction amount calculation means 13, which value is minutely updated by the lost motion correction amount obtained by the correction amount calculation means 13 at a desired timing such as inversion of the direction of movement or stopping.
- Step S51 it is judged whether or not it is the desired timing such as inversion of the direction of movement or stopping to update a lost motion correction amount stored in the memory 14 by the CPU 12 (Step S51). If it is the desired timing, a current feedback value of the servomotor 31 is, for instance, read by the correction amount calculation means 13 (Step S52). A lost motion correction amount is obtained from a function or functions, or a table or tables of the correction amount calculation means 13 based on the read current feedback value (Step S53). The obtained lost motion correction amount is set in the memory 14 to thereby update the stored lost motion correction amount (Step S54).
- the lost motion correction amount stored in the memory 14 is kept unchanged. Thereafter, the lost motion correction amount stored in the memory 14 is supplied to the adding unit 9, where it is added to the position command value applied from the position command value calculation means 8, and the position command correction value thus obtained is produced form the adding unit 9. This process is performed every sampling to control the position of the servomotor 31.
- the arrangement is made so that a mechanical error correction amount such as a backlash correction amount or a lost motion correction amount is added to a position command value, so that it is no longer necessary to judge conditions such as the forwarding mode immediately before the inversion of the direction of movement when making a backlash correction, thereby allowing a simple operation.
- a mechanical error correction amount such as a backlash correction amount or a lost motion correction amount
- the addition of the correction amount to the position command value prevents positional deviations due to progressive calculation of correction amounts even if an amount of correction is arbitrarily changed in the case where a number of corrections have to be made repetitively, thereby providing highly accurate positioning.
- a lost motion correction in which a mechanical error whose amount of correction depends on the forwarding speed or lubricating conditions of the guide surfaces of a machine, must be corrected, can be processed in a simple manner.
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Abstract
A device for correcting mechanical errors in an NC machine, by which an incremental amount of movement of a control shaft is corrected for mechanical errors such as backlash and lost motion and the value thus corrected is transmitted to a servo control section. The incremental amount of movement of the control shaft calculated every sampling is subjected to a speed adjustment. A position command value is calculated by progressively adding a command value of the incremental amount of movement subjected to a speed adjustment. A position command correction value is obtained by adding a predetermined amount of correction for mechanical error to the position command value. A corrected incremental amount of movement is calculated by substracting a previously calculated position command correction value, and is transmitted to the servo control section.
Description
1. Field of the Invention
This invention relates to a device for correcting mechanical errors in an NC machine, and more particularly to positioning accuracy.
2. Description of the Related Art
In order to improve the accuracy of repetitive positioning in operating an NC machine, mechanical errors such as backlash and lost motions, inherent in mechanical systems, must be corrected. Mention has been made as to the correction of mechanical errors in, e.g., Japanese Patent Application (UPA) Nos. 36808/1977 and 36808/1984 (the term "UPA" as used herein means "unexamined published application").
FIG. 6 is a block diagram showing an example of a control system for correcting backlash in a conventional NC machine. In the figure, interpolation processing means produces an incremental amount of movement of a control shaft of the NC machine by means of approximation every sampling time. Speed adjustment processing means is for multiplying the interpolated incremental amount of movement by an adjusting speed to thereby calculate a command value of the incremental amount of movement, and servo control section 3 controls a servomotor 31 by receiving the command value of incremental amount of movement of the control shaft calculated every sampling and transmitted from the speed adjustment processing means 2.
The servo control section 3 causes a subtracting unit 33 to calculate the difference between the received command value of the incremental amount of movement calculated every sampling and the position feedback value detected every sampling; causes an adding unit 34 and an integrating unit 35 to accumulate the calculated differences progressively. In addition a multiplying unit 36 multiplies the progressively accumulated value by a position loop gain Kp. The value thus multiplied is the speed command. This speed command is received by a speed loop control section comprising a speed control amplifier 37 and a speed detector 38 and is further subjected to a current loop control by an amplifier 39 for position-controlling the servomotor 31.
Reference numeral (4) designates a memory table containing backlash correction amounts B to be added upon change of direction of the control shaft. The memory table 4 comprises, a table 4a containing backlash correction amounts Bcr that are used in the case where the forwarding mode switches from the rapid mode to the cutting mode and vice versa. A table 4b containing backlash correction amounts Bc that are used when the forwarding mode, which is the cutting mode, does not change and thus the cutting mode continues and a table 4c containing backlash correction amounts Br that are used when the forwarding mode, which is the rapid mode, remains unchanged as the direction of movement changes. Reading means 5 selects the backlash correction amount by switching the respective tables 4a to 4c of the memory table 4; and 6, transfer means transmits the backlash correction amount to the adding unit (8).
An operation of the control system for backlash correction in the NC machine thus constructed will next be described with reference to the flowchart shown in FIG. 7.
The interpolation processing means 1 approximates an incremental amount of movement of the control shaft from a machining configuration every sampling and applies the approximated amount to the speed adjustment processing means 2 which then subjects the applied incremental amount of movement of the control shaft to a speed adjustment process to thereby calculate a command value of incremental amount of movement and apply it to the adding unit 7. At this time, a central processing unit (CPU) 12 judges whether or not the direction of movement is inverted (Step S71). If not, there will be no backlash correction because the movement is continuous in the same direction and thus the command value of incremental amount of movement is directly applied to the servo control section 3 to thereby position-control the motor 31.
If the direction of movement is inverted as the result of the speed adjustment processing, it is judged whether the forwarding mode immediately before the inversion is the rapid mode or the cutting mode (Step S72). If it is the cutting mode, then it is judged whether the forwarding mode immediately after the inversion is the cutting mode or the rapid mode (Step S73). If it is still the cutting mode, a backlash correction amount Bc for the cutting mode is retrieved from the table 4b by the reading means 5 (Step S74).
If the forwarding mode immediately before the inversion of the direction of movement is the rapid mode in Step S72, it is judged whether the forwarding mode immediately after the inversion is the rapid mode or the cutting mode (Step S75). If the rapid mode continues, a backlash correction amount Br is retrieved from the table 4c (Step S76).
If the forwarding mode before and after the inversion of the direction of movement switches from the cutting mode to the rapid mode or vice versa (Steps S73 and S75), a backlash correction amount Bcr to be applied when the mode is changed is retrieved from the table 4a (Step S77).
After retrieving the backlash correction amount corresponding to the forwarding mode before and after the inversion of the direction of movement from the table 4 in this way, it is judged whether the direction of movement after the inversion is positive or negative by the transfer means 6 (Step S78). If it is negative, the sign of the retrieved backlash correction amount is made negative (Step S79). Otherwise, its sign remains unchanged, and either the positive or negative backlash correction amount as appropriately processed is applied to the adding unit 7 so that it will be added to the command value of incremental amount of movement supplied from the speed adjustment processing means 2 (Step S 80). This ends the backlash correction amount processing. This process is performed every sampling, and thus the backlash corrected-command value of incremental amount of movement is applied to the servo control section 3 to perform position control of the motor 31.
FIGS. 8(a), 8(b) and 8(c) are explanatory diagrams showing the operation of the control shaft at its respective inverting points when the above-described conventional backlash correction has been made. FIGS. 8(a) and 8(b) show the case where the control shaft moves from point A to point B; the direction of its movement is inverted twice at point B and point C; and then the control shaft resumes its movement up to point D. FIG. 8(a) shows a case of the movement between point A and point D in the cutting mode, FIG. 8(b) in the rapid mode, respectively. FIG. 8(c) shows the case where the control shaft moves in the cutting mode from point A to point B; the direction of its movement is inverted twice first at point B and then at point C; the control shaft moves in the rapid mode from point C to point D; the direction of its movement is inverted at point D and then at point E; and the control shaft further moves up to point F in the cutting mode.
When the control shaft moves through the path of points A, B, C, and D in the cutting mode as shown in FIG. 8(a) and if it is supposed that the initial value EB of a progressive value of backlash correction amounts at point A is zero, a backlash correction amount-Bc is added to the command value of incremental amount of movement at point B. At point C, a backlash correction amount Bc is added to the command value of incremental amount of movement to thereby make the progressive value ΣB of the backlash correction amounts at point D equal to zero. Likewise, when the control shaft moves through the path of points A, B, C, and D in the rapid mode as shown in FIG. 8(b) and if it is supposed that the initial value ΣB of a progressive value of backlash correction amounts at point A is zero, a backlash correction amount-Br is added to the command value of incremental amount of movement at point B. At point C, a backlash correction amount Br is added to the command value of incremental amount of movement to thereby make the progressive value EB of the backlash correction amounts at point D equal to zero.
When the control shaft moves from point A to point B in the cutting mode, then through points B, C, and D in the rapid mode, and through points D, E, and F in the cutting mode again and if it is supposed that the initial value ΣB of a progressive value of backlash correction amounts at point A is zero, a backlash correction amount-Bcr is added to the command value of incremental amount of movement at point B. At point C, a backlash correction amount-Br is added to the command value of incremental amount of movement, and at point D a correction of -BCR is added, a backlash correction amount Bc is added to the command value of incremental amount of movement at point E to thereby make the progressive value ΣB of the backlash correction amounts at point F equal to Br+Bc-Bcr-Bcr. Since the progressive value ΣB of the backlash correction amounts at point F must be zero, it is necessary to store the backlash correction amount Bcr when the forwarding mode is changed, which is equal to (Br+Bc)/2, in the table (4a).
Since a device for correcting mechanical errors such as backlash in a conventional NC machine is constructed as described above, it is necessary to judge the conditions including the forwarding mode before and after the inversion of the direction of movement. Of course, the larger the number of such conditions, the more complicated the process becomes.
Since the amount of correction of a mechanical error such as backlash is added to its command value (speed command), if corrections are to be made repetitively, it is necessary to calculate each correction amount and store it in the memory table so that the mechanical locus will not be deviated due to control points being erroneously positioned, and this complicates the preparation of the memory table.
Further, when the control shaft moves from point A to point B in the cutting mode; from point B to point G in the rapid mode; and through points G, C, and D in the cutting mode as shown in FIG. 9 and if it is supposed that the initial value EB of a progressive value of backlash correction amounts at point A is zero, the progressive value ΣB of the backlash correction amounts at point D is Bc-Bcr. Thus, in order to make the progressive value EB equal to zero at point D, it is necessary to add a correction amount, (Bcr-Bc) at point G, thereby requiring that not only changes in the direction of movement but also the changes in forwarding modes must be judged for accurate correction.
In the case where mechanical errors such as lost motions which involve continuous changes caused by forwarding speeds and lubricating conditions of guiding surfaces of the machine are corrected, the conventional method of adding the mechanical error correction amount to the command value of the incremental amount of movement required a complicated process of preventing deviations at each control point.
This invention has been made to overcome the above problems and has as an object the provision of a device for correcting mechanical errors in an NC machine capable of not only performing the correction with a simple process but also improving its positioning accuracy.
The device for correcting mechanical errors according to this invention calculates a position command value by progressively adding a command value of incremental amount of movement which has been obtained by subjecting an incremental amount of movement of the shaft obtained every sampling time to a speed adjustment by position command value calculation means. Then, a position command correction value is calculated by adding a predetermined amount of correction of a mechanical error to the position command value calculated by adding means. Then, a corrected incremental amount of movement is calculated by subtracting a previously sampled position command correction value from a currently sampled position command correction value, and this corrected incremental amount of movement is applied to a servo control section as a target value.
In this invention, the amount of correction of a mechanical error is added to a position command value of the control shaft every sampling, thereby preventing the amount of correction from being accumulated even in the case where corrections are to be made repetitively.
FIG. 1 is a block diagram showing a control system which is an embodiment of the invention;
FIGS. 2(a) and 2(b) are explanatory diagrams showing an amount of backlash correction according to the embodiment;
FIG. 3 is a flowchart showing an operation of the embodiment.
FIG. 4 is a block diagram showing a control system which is another embodiment of the invention;
FIG. 5 is a flowchart showing an operation of the embodiment shown in FIG. 4;
FIG. 6 is a block diagram showing a control system of a conventional example;
FIG. 7 is a flowchart showing an operation of the conventional example, and
FIGS. 8(a), 8(b) and 8(c), and FIG. 9 are explanatory diagrams showing operating conditions of the conventional example, respectively.
FIG. 1 is a block diagram showing a control system which is an embodiment of this invention. In the figure, interpolation processing means 1, speed adjustment processing means 2, a servo control section 3, reading means 5 and transfer means 6 are exactly the same as those of the conventional example shown in FIG. 6.
The memory table 11 has a table 11a for storing backlash correction amounts Brp to be applied when the direction of movement of the control shaft is positive in the rapid mode a table 11b for storing backlash correction amounts Bcp to be applied when the direction of movement is positive in the cutting mode, a table 11c for storing backlash correction amount Brn to be applied when the direction of movement is negative in the rapid mode and a table 11d for storing backlash correction amounts Bcn to be applied when the direction of movement is negative in the cutting mode.
The backlash correction amounts stored in this memory table 11 are defined as follows. For instance, as shown in FIG. 2(a), let it be supposed that the control shaft moves in the positive direction along the path starting from point A to a mechanical reference point M that is the point of return in the cutting mode. It stops once, and then resumes its movement in the positive direction up to point B, where it reverses the direction of its movement and thus moves in the negative direction up to the reference point M. If backlash is caused between points H and J, the distance between the reference point M and point H and that between the reference point M and point J are the backlash correction amounts Bcn and Bcp in the cutting mode.
As shown in FIG. 2(b), let it be supposed that the control shaft moves from point A in the positive direction in the rapid mode and it reverses the direction of its movement at point B to continue moving in the negative direction. If a backlash is caused between point K and point L, the distance between the reference point M and point K and that between the reference point M and point L are the backlash correction amounts Brn and Brp in the rapid mode.
An operation of the mechanical error correction device thus constructed will be described with reference to the flowchart shown in FIG. 3.
An incremental amount of movement of the control shaft is approximated every sampling based on a machining configuration by the interpolation processing means 1 and the approximated value is fed to the speed adjustment processing means 2. The speed adjustment processing means 2 subjects the received incremental amount of movement to a speed adjustment, calculates a command value of incremental amount of movement and applies it to the position command value calculation means 8. On the other hand, the CPU 12 judges whether the direction of movement indicated by the command value of incremental amount of movement is positive or negative (Step S31). If it is positive, it is further judged whether the forwarding mode is the cutting mode or the rapid mode (Step S32). If it is the cutting mode, a backlash correction amount Bcp, to be used when the control shaft moves in the positive direction in the cutting mode, is retrieved from the table (11b) by the reading means (5) (Step S33). If the forwarding mode is the rapid mode, a backlash correction amount Brp, to be used when the control shaft moves in the positive direction in the rapid mode, is retrieved from the table (11a) (Step S34).
If the direction of movement is negative in the judgment in Step S31, it is judged whether the forwarding mode is the cutting mode or the rapid mode (Step S35). If it is the cutting mode, a backlash correction amount Bcn, to be used when the direction of movement is negative in the cutting mode, is retrieved from the table (11d) (Step S36). If the forwarding mode is the rapid mode, a backlash correction amount Brn, to be used when the direction of movement is negative in the rapid mode, is retrieved from the table (11c) (Step S37). Each of the backlash correction amounts thus retrieved is supplied to the adding unit 9 through the transfer means 6 every sampling.
In the meantime, the command value of incremental amount of movement of every sampling supplied from the speed adjustment processing means 2 is converted to a position command value by being progressively calculated by the position command calculation means 8. This position command value is applied to the adding unit 9, where it is added to a backlash correction amount supplied from the memory table to thereby produce a position command correction value from the adding unit (9) (Step S38).
Since each backlash correction amount is added to the position command value obtained every sampling, it is possible to prevent positional deviations attributable to the progressive calculation of correction amounts in the case where corrections are to be made repetitively.
The position command correction value produced by the adding unit 9, is applied to the corrected-incremental-amount of movement calculation means 10, where the difference between it and the previously sampled position command correction value is calculated to thereby obtain a corrected incremental amount of movement of the control shaft to be obtained every sampling. The obtained corrected incremental amount of movement is applied to the servo control section 3, which thereby performs position control of the motor 31. The above operation is repeated every sampling.
Although the case where the invention is applied to the backlash correction in the above embodiment, it may likewise be applied to the correction of lost motions which cause deviations at the stop position of the control shaft in both positive and negative directions during positioning.
FIG. 4 is a block diagram showing a control system for correcting lost motions. In the figure, reference numeral 13 designates a correction amount calculation means having either a function or functions, or a table or tables for obtaining the amount of correction of a lost motion, e.g., from a current feedback storing the most motion correction value calculated temporarily storing the lost motion correction value calculated by the correction amount calculation means 13, which value is minutely updated by the lost motion correction amount obtained by the correction amount calculation means 13 at a desired timing such as inversion of the direction of movement or stopping.
An operation of the control system for correcting the lost motion thus constructed will be described with reference to the flowchart shown in FIG. 5.
In order to make a lost motion correction, it is judged whether or not it is the desired timing such as inversion of the direction of movement or stopping to update a lost motion correction amount stored in the memory 14 by the CPU 12 (Step S51). If it is the desired timing, a current feedback value of the servomotor 31 is, for instance, read by the correction amount calculation means 13 (Step S52). A lost motion correction amount is obtained from a function or functions, or a table or tables of the correction amount calculation means 13 based on the read current feedback value (Step S53). The obtained lost motion correction amount is set in the memory 14 to thereby update the stored lost motion correction amount (Step S54).
On the other hand, if it is not the desired timing for updating the lost motion correction amount, the lost motion correction amount stored in the memory 14 is kept unchanged. Thereafter, the lost motion correction amount stored in the memory 14 is supplied to the adding unit 9, where it is added to the position command value applied from the position command value calculation means 8, and the position command correction value thus obtained is produced form the adding unit 9. This process is performed every sampling to control the position of the servomotor 31.
As described in the foregoing pages, in this invention, the arrangement is made so that a mechanical error correction amount such as a backlash correction amount or a lost motion correction amount is added to a position command value, so that it is no longer necessary to judge conditions such as the forwarding mode immediately before the inversion of the direction of movement when making a backlash correction, thereby allowing a simple operation.
Further, the addition of the correction amount to the position command value prevents positional deviations due to progressive calculation of correction amounts even if an amount of correction is arbitrarily changed in the case where a number of corrections have to be made repetitively, thereby providing highly accurate positioning.
Moreover, a lost motion correction, in which a mechanical error whose amount of correction depends on the forwarding speed or lubricating conditions of the guide surfaces of a machine, must be corrected, can be processed in a simple manner.
Claims (3)
1. A device for correcting mechanical errors in an NC machine, by which an incremental amount of movement of a control shaft is corrected based on an amount of correction of mechanical errors of said machine, and a corrected value is transmitted to a servo control section, said device comprising:
means for adjusting the incremental amount of movement of the control shaft calculated during each of a plurality of samplings by a speed adjustment value;
means for calculating a position command value by progressively adding a value of said incremental amount of movement subjected to said speed adjustment value;
means for obtaining a position command correction value by adding a predetermined amount of correction for mechanical error to said position command value calculated by said calculating means; and
means for calculating a corrected incremental amount of movement by subtracting a previously calculated position command correction value from a currently calculated position command correction value, both calculated by said calculating means, and means for transmitting said corrected incremental amount of movement to said servo control section.
2. A device as claimed in claim 1, wherein said calculating means comprises an adder and an integrator.
3. A device as claimed in claim 1, further comprising a memory table for storing the mechanical error correction amount.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1205727A JPH0371206A (en) | 1989-08-10 | 1989-08-10 | Device for correcting machine error of nc machine tool |
JP1-205727 | 1989-08-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5101146A true US5101146A (en) | 1992-03-31 |
Family
ID=16511677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US07/563,390 Expired - Lifetime US5101146A (en) | 1989-08-10 | 1990-08-07 | Device for correcting mechanical errors in nc machine |
Country Status (3)
Country | Link |
---|---|
US (1) | US5101146A (en) |
JP (1) | JPH0371206A (en) |
DE (1) | DE4025449C2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159251A (en) * | 1990-02-26 | 1992-10-27 | Fanuc Ltd | Position correcting system for different workpiece machining positions |
US5204602A (en) * | 1989-12-12 | 1993-04-20 | Fanuc Ltd | Servomotor control method |
US5375066A (en) * | 1993-03-01 | 1994-12-20 | The United States Of America As Represented By The Secretary Of Commerce | Apparatus and methods for implementing error correction in real time for machine tools with encoder-type position feedback |
US5598077A (en) * | 1993-08-19 | 1997-01-28 | Fanuc Ltd. | Control apparatus and a control method for a servomotor |
US5742144A (en) * | 1995-02-02 | 1998-04-21 | Fanuc Ltd. | Backlash compensation method for semi-closed-loop type servo control |
FR2775365A1 (en) * | 1998-02-06 | 1999-08-27 | Langston Corp | Adaptively controlling movement of rollers and guides of flexo-folder gluing machine used in box mfr. |
US5975744A (en) * | 1995-07-13 | 1999-11-02 | Renishaw Plc | Real-time compensation system and method |
US6701212B2 (en) * | 1999-12-13 | 2004-03-02 | Toshiba Kikai Kabushiki Kaisha | Lost motion correction system and lost motion correction method for numerical control machine tool |
US8970156B2 (en) | 2011-12-28 | 2015-03-03 | Fanuc Corporation | Path display apparatus considering correction data |
US20180095446A1 (en) * | 2016-10-04 | 2018-04-05 | Fanuc Corporation | Motor control device, motor control method, and non-transitory computer readable medium recording motor control program |
CN109476024A (en) * | 2016-09-27 | 2019-03-15 | 松下知识产权经营株式会社 | The control method and welding method of robot |
US10259121B2 (en) * | 2015-07-14 | 2019-04-16 | Canon Kabushiki Kaisha | Robot apparatus, and measuring method of rotation driving apparatus |
US20200223287A1 (en) * | 2016-02-25 | 2020-07-16 | Johnson Electric International AG | Method for driving an actuator of an hvac system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4331384A1 (en) * | 1993-09-15 | 1995-03-16 | Bayerische Motoren Werke Ag | Actuator for actuating an actuating device |
DE19725502B4 (en) * | 1997-06-17 | 2008-04-10 | Man Roland Druckmaschinen Ag | Printing machine with a device for compensating errors in the imaging of a forme cylinder |
US6097168A (en) * | 1997-08-25 | 2000-08-01 | Toshiba Kikai Kabushiki Kaisha | Position control apparatus and method of the same, numerical control program preparation apparatus and method of the same, and methods of controlling numerical control machine tool |
CN102789199B (en) * | 2011-05-18 | 2016-08-03 | 科德数控股份有限公司 | The compensation system of multiple error weighted superposition in digital control system |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3555252A (en) * | 1967-05-11 | 1971-01-12 | Leeds & Northrup Co | Learning control of actuators in control systems |
US3766461A (en) * | 1971-10-04 | 1973-10-16 | Superior Electric Co | Backlash compensation circuit for numerically controlled stepping motor driven machine |
US3794902A (en) * | 1972-02-12 | 1974-02-26 | K Kanou | Backlash compensating apparatus for numerically controlled machine tool |
US3886424A (en) * | 1971-09-10 | 1975-05-27 | Tokyo Shibaura Electric Co | Control system having actual backlash compensating apparatus |
JPS5263578A (en) * | 1975-11-20 | 1977-05-26 | Fanuc Ltd | Error correction system by means of numerical control |
US4196380A (en) * | 1976-12-09 | 1980-04-01 | Aktiebolaget Bofors | Device for servo system with closed servo circuit |
JPS5936808A (en) * | 1982-08-26 | 1984-02-29 | Fanuc Ltd | Compensating device of backlash |
JPS5981705A (en) * | 1982-11-02 | 1984-05-11 | Fanuc Ltd | Compensating method of nc machine tool |
US4604560A (en) * | 1982-10-13 | 1986-08-05 | Toyoda Koki Kabushiki Kaisha | Numerical control machine tool with an emergency origin returning function |
US4743823A (en) * | 1985-10-17 | 1988-05-10 | Toshiba Machine Co., Ltd. | Method and device for correcting backlash |
US4792738A (en) * | 1985-02-13 | 1988-12-20 | Fanuc Ltd | Machine position sensing device |
US4800325A (en) * | 1986-01-17 | 1989-01-24 | Toshiba Kikai Kabushiki Kaisha | Spindle positioning apparatus |
US4961034A (en) * | 1988-03-01 | 1990-10-02 | Yoshiaki Kakino | Numerical control device |
US5008605A (en) * | 1987-01-12 | 1991-04-16 | Canon Kabushiki Kaisha | Electric driving device capable of eliminating backlash |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3485904A (en) * | 1966-07-18 | 1969-12-23 | Dow Corning | Method utilizing an organopolysiloxane binder to make ceramic article |
CA944039A (en) * | 1969-01-15 | 1974-03-19 | International Business Machines Corporation | Digital to phase analog converter |
DE2800293C2 (en) * | 1978-01-04 | 1991-03-28 | Leopold 6831 Reilingen Weinlich | Numerical control arrangement for machine tools or processing machines |
JPS5761906A (en) * | 1980-09-30 | 1982-04-14 | Fanuc Ltd | Compensating system of position error |
JPS57189750A (en) * | 1981-05-19 | 1982-11-22 | Yaskawa Electric Mfg Co Ltd | Nc machine tool provided with sliding error correction capacity |
DE3506097A1 (en) * | 1985-02-21 | 1986-08-21 | Siemens AG, 1000 Berlin und 8000 München | Numeric control for machine tools |
-
1989
- 1989-08-10 JP JP1205727A patent/JPH0371206A/en active Pending
-
1990
- 1990-08-07 US US07/563,390 patent/US5101146A/en not_active Expired - Lifetime
- 1990-08-10 DE DE4025449A patent/DE4025449C2/en not_active Expired - Fee Related
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3555252A (en) * | 1967-05-11 | 1971-01-12 | Leeds & Northrup Co | Learning control of actuators in control systems |
US3886424A (en) * | 1971-09-10 | 1975-05-27 | Tokyo Shibaura Electric Co | Control system having actual backlash compensating apparatus |
US3766461A (en) * | 1971-10-04 | 1973-10-16 | Superior Electric Co | Backlash compensation circuit for numerically controlled stepping motor driven machine |
US3794902A (en) * | 1972-02-12 | 1974-02-26 | K Kanou | Backlash compensating apparatus for numerically controlled machine tool |
JPS5263578A (en) * | 1975-11-20 | 1977-05-26 | Fanuc Ltd | Error correction system by means of numerical control |
US4196380A (en) * | 1976-12-09 | 1980-04-01 | Aktiebolaget Bofors | Device for servo system with closed servo circuit |
JPS5936808A (en) * | 1982-08-26 | 1984-02-29 | Fanuc Ltd | Compensating device of backlash |
US4604560A (en) * | 1982-10-13 | 1986-08-05 | Toyoda Koki Kabushiki Kaisha | Numerical control machine tool with an emergency origin returning function |
JPS5981705A (en) * | 1982-11-02 | 1984-05-11 | Fanuc Ltd | Compensating method of nc machine tool |
US4792738A (en) * | 1985-02-13 | 1988-12-20 | Fanuc Ltd | Machine position sensing device |
US4743823A (en) * | 1985-10-17 | 1988-05-10 | Toshiba Machine Co., Ltd. | Method and device for correcting backlash |
US4800325A (en) * | 1986-01-17 | 1989-01-24 | Toshiba Kikai Kabushiki Kaisha | Spindle positioning apparatus |
US5008605A (en) * | 1987-01-12 | 1991-04-16 | Canon Kabushiki Kaisha | Electric driving device capable of eliminating backlash |
US4961034A (en) * | 1988-03-01 | 1990-10-02 | Yoshiaki Kakino | Numerical control device |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204602A (en) * | 1989-12-12 | 1993-04-20 | Fanuc Ltd | Servomotor control method |
US5159251A (en) * | 1990-02-26 | 1992-10-27 | Fanuc Ltd | Position correcting system for different workpiece machining positions |
US5375066A (en) * | 1993-03-01 | 1994-12-20 | The United States Of America As Represented By The Secretary Of Commerce | Apparatus and methods for implementing error correction in real time for machine tools with encoder-type position feedback |
US5598077A (en) * | 1993-08-19 | 1997-01-28 | Fanuc Ltd. | Control apparatus and a control method for a servomotor |
US5742144A (en) * | 1995-02-02 | 1998-04-21 | Fanuc Ltd. | Backlash compensation method for semi-closed-loop type servo control |
US5975744A (en) * | 1995-07-13 | 1999-11-02 | Renishaw Plc | Real-time compensation system and method |
FR2775365A1 (en) * | 1998-02-06 | 1999-08-27 | Langston Corp | Adaptively controlling movement of rollers and guides of flexo-folder gluing machine used in box mfr. |
US6701212B2 (en) * | 1999-12-13 | 2004-03-02 | Toshiba Kikai Kabushiki Kaisha | Lost motion correction system and lost motion correction method for numerical control machine tool |
US8970156B2 (en) | 2011-12-28 | 2015-03-03 | Fanuc Corporation | Path display apparatus considering correction data |
US10259121B2 (en) * | 2015-07-14 | 2019-04-16 | Canon Kabushiki Kaisha | Robot apparatus, and measuring method of rotation driving apparatus |
US20200223287A1 (en) * | 2016-02-25 | 2020-07-16 | Johnson Electric International AG | Method for driving an actuator of an hvac system |
US11679646B2 (en) * | 2016-02-25 | 2023-06-20 | Johnson Electric International AG | Method for driving an actuator of an HVAC system |
CN109476024A (en) * | 2016-09-27 | 2019-03-15 | 松下知识产权经营株式会社 | The control method and welding method of robot |
CN109476024B (en) * | 2016-09-27 | 2021-09-28 | 松下知识产权经营株式会社 | Robot control method and welding method |
US20180095446A1 (en) * | 2016-10-04 | 2018-04-05 | Fanuc Corporation | Motor control device, motor control method, and non-transitory computer readable medium recording motor control program |
US10048672B2 (en) * | 2016-10-04 | 2018-08-14 | Fanuc Corporation | Motor control device, motor control method, and non-transitory computer readable medium recording motor control program |
Also Published As
Publication number | Publication date |
---|---|
JPH0371206A (en) | 1991-03-27 |
DE4025449C2 (en) | 1995-02-09 |
DE4025449A1 (en) | 1991-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5101146A (en) | Device for correcting mechanical errors in nc machine | |
US4099113A (en) | Numerical control servo system | |
US4338659A (en) | Position control system for a closed loop type numerical-controlled machine tool | |
US4727303A (en) | Positional control method and system utilizing same | |
KR920010102B1 (en) | Control device for servo motor | |
US5159254A (en) | Numerical control unit for estimating movement parameters using a model | |
US5477117A (en) | Motion controller and synchronous control process therefor | |
KR20010062356A (en) | Lost motion compensation method of numerical control machine tool and system thereof | |
JPH08179831A (en) | Quadrant projection correcting method for full-closed loop system | |
US5408758A (en) | System for compensating spatial errors | |
JP2000250614A (en) | Backlash correction device and numerical control system | |
KR910006499B1 (en) | Numerical controller | |
US4888536A (en) | Device for controlling positioning of an object | |
US4795955A (en) | Position control apparatus | |
US6677722B2 (en) | Servo control method | |
US4914366A (en) | Positioning control system | |
US2900586A (en) | Displacement error reducing pattern servosystem | |
EP0451795A2 (en) | Numerical control unit with compensation for offset error | |
GB2248946A (en) | Numerically controlled machine tool | |
JP3802692B2 (en) | Servo control device | |
JP2521449B2 (en) | Trajectory control device | |
US4276792A (en) | Method for continuous path control of a machine tool | |
JPH0623928B2 (en) | Robot hand trajectory correction method | |
JP3435828B2 (en) | Automatic lead angle determination method for phase controlled servo system | |
JPH0421101A (en) | Saturated processing system for learning controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MITSUBISHI DENKI KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNOR:TESHIMA, TAKEO;REEL/FRAME:005445/0753 Effective date: 19900824 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |