Numerical controller
10901390 ยท 2021-01-26
Assignee
Inventors
Cpc classification
G05B2219/50228
PHYSICS
H02P5/52
ELECTRICITY
International classification
Abstract
A numerical controller, which is configured to correct a machine position error based on a torque difference between a master axis and a slave axis, acquires the torque difference after movement of the master and slave axes that move in response to a movement command, and corrects the machine position error by a correction amount based on a value obtained by excluding a torque difference derived from a mechanical strain from the acquired torque difference. The corrected machine position error is added to the movement command for next time.
Claims
1. A numerical controller configured to correct a machine position error based on a torque difference T between a master axis and a slave axis, the numerical controller comprising: a processor configured to: move the master axis and the slave axis in response to a movement command; acquire the torque difference T between the master axis and the slave axis after the movement; and correct a machine position error by a correction amount based on a value obtained by excluding a torque difference Tm derived from a mechanical strain from the torque difference T between the master axis and the slave axis, wherein the processor is further configured to add the correction amount based on the value obtained by excluding the torque difference Tm as feedback to the movement command in consideration for a next execution of the movement command.
2. A numerical controller configured to correct a machine position error based on a torque difference T between a master axis and a slave axis, the numerical controller comprising: a processor configured to: move the master axis and the slave axis in response to a movement command; acquire the torque difference T after the movement; correct a machine position error by a correction amount based on a value obtained by excluding a torque difference Tm derived from a mechanical strain from the torque difference T, wherein the processor adds the correction amount fed back from the processor to the movement command for next time, and calculate the torque difference Tm, wherein the processor moves the master axis and the slave axis to a plurality of observation points, measures the torque difference T at each of the plurality of observation point, and defines an average of the torque differences T measured individually at the plurality of observation points as the torque difference Tm.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
(13) The following is a description of a configuration of a numerical controller 1 according to an embodiment of the present invention.
(14)
(15) A CPU 11 of the numerical controller 1 is a processor for generally controlling the numerical controller 1 and reads out a program stored in a non-volatile memory 14 through a bus 20 and controls the entire numerical controller 1 according to the program.
(16) The non-volatile memory 14 is constructed, for example, as a memory that is backed up by a battery (not shown) so that its storage state can be maintained even when the numerical controller 1 is powered off, for example. Programs and data stored in the non-volatile memory 14 may be developed in a volatile memory 13 during use. The volatile memory 13 is loaded with temporary calculation data and display data, data input through an input device, and the like, as well as the programs and data developed from the non-volatile memory 14.
(17) A display/MDI unit 70 is a data input/output device equipped with a display, keyboard, and the like. Commands and data input from the keyboard of the display/MDI unit 70 are delivered to the CPU 11 through an interface 15. Moreover, display data output from the CPU 11 is displayed on the display of the display/MDI unit 70 through the interface 15.
(18) A servo controller 80 controls a servomotor that drives master and slave axes. A servomotor drive command output from the CPU 11 is transmitted to the servo controller 80 through an interface 16. The servo controller 80 transmits information such as a load on the servomotor to the CPU 11 through the interface 16.
(19)
(20) The numerical controller 1 comprises a movement command unit 101, a torque difference acquisition unit 102, a correction amount calculation unit 103, and a machine position error correction unit 104. The movement command unit 101 moves the master and slave axes. The torque difference acquisition unit 102 acquires a torque difference between the master and slave axes. The correction amount calculation unit 103 identifies torque differences derived from a mechanical strain, based on the torque differences acquired from a plurality of observation points and calculates an appropriate correction amount. The machine position error correction unit 104 corrects a machine position error based on the correction amount.
(21) The basic concept of machine position error correction by the numerical controller 1 according to the present embodiment will be described with reference to
(22) In the data acquisition mode, the numerical controller 1 measures torque differences T=T.sub.M(T.sub.S) between the master and slave axes, such as those shown in
(23) In the correction mode, the numerical controller 1 makes correction to an optimal machine position by feeding back a correction value based on the torque differences T to a movement command. Specifically, the numerical controller 1 makes machine position correction based on the torque differences T every time the master and slave axes are operated. As shown in
(24) Initially, the numerical controller 1 can make the machine position correction based on the torque differences T at the individual observation points collectively acquired in the data acquisition mode. Thereafter, however, the numerical controller 1 can carry out, in real time, more precise machine position correction in consideration of the influences of the thermal displacement and the like that change at any time by performing the acquisition of the torque differences T and the calculation and feedback of the correction value for each operation.
(25) Optimal synchronization control cannot be achieved by only making correction for a position where the torque differences T are not generated in this manner. This is because the torque differences T also include a torque load Tm that is generated by the mechanical strain. Specifically, if the machine position correction is made simply using the torque difference T as the correction value, then an excessive correction is made by the amount corresponding to the torque load Tm, as shown in
(26) After the torque differences T are measured at a plurality of observation points in the data acquisition mode, therefore, the numerical controller 1 obtains a torque difference regularly applied at these observation points by calculation and regards it as the torque difference Tm derived from the mechanical strain. More specifically, the numerical controller 1 acquires torque differences T1, T2, . . . , Tn between the master and slave axes at observation points 1, 2, . . . , n, as shown in
Tm=(T1+T2+ . . . +Tn)/n,(1)
(27) The numerical controller 1 then performs the machine position correction using the correction value obtained by excluding the torque difference Tm from the torque difference T, without correcting the Tm derived from the mechanical strain. In this way, the machining point can be placed in the ideal position by keeping the machine straight without failing to give the necessary torque difference Tm for the correction of the mechanical strain and by correcting only the pitch error, the torsion due to the workpiece load, and the machine position deviation due to the thermal displacement.
(28) The operation of the numerical controller 1 will be described in time-series order with reference to
(29)
(30) Step S101: The movement command unit 101 outputs the movement command up to a predetermined observation point to the servomotor for the master and slave axes.
(31) Step S102: In response to the movement command of Step S101, the servomotor for the master and slave axes is driven to move the machine to the observation point.
(32) Step S103: The torque difference acquisition unit 102 acquires the torque differences T between the master and slave axes.
(33) Step S104: When the processing of Steps S101 to 103 is performed for all the observation points (n in number), the program proceeds to S105. In other cases, the program returns to Step S101, whereupon the same processing is repeated for the next observation point.
(34) Step S105: The storage unit 105 obtains the average Tm of the torque differences T acquired individually at the n number of observation points by inserting a cutting in/out motion into lathe turning. The average Tm is a torque difference regularly generated at every observation point and can be assumed to be a torque difference attributable to the mechanical strain.
(35) Step S106: The correction amount calculation unit 103 calculates a correction amount for each observation point and saves it into a predetermined storage area in the volatile memory 13 or the like. The correction amount can be calculated based on a torque difference obtained by excluding the torque difference Tm derived from the mechanical strain from the torque differences statically generated at the individual observation points. If the torque differences at the observation points 1, 2, . . . , n are T1, T2, . . . , Tn, respectively, correction amounts at the observation points 1, 2, . . . , n are determined based on T1Tm, T2Tm, . . . , TnTm, respectively.
(36) A method of calculating the correction amounts based on the torque differences will now be described with reference to
(37) The correction amount calculation unit 103 first obtains a load F[N] due to the machine position deviation from a torque T[Nm]. Then, it calculates a mechanical strain L[m] caused by the load F[N]. This mechanical strain L[m] is the correction amount.
(38) The relationship between the torque T[Nm] and the load F[N] can be obtained according to Equation (2) below. Moreover, the relationship between the load F[N] and a stress can be obtained according to Equation (3) below. The correspondence between the stress and the mechanical strain L[m] is assumed to be given as a stress-strain curve in advance.
T=[(FPb/2)+(0F0Pb/2)]/Sf/i,(2)
F=Stressmg(sin + cos ).(3)
(39) Here m is the weight of a table and a workpiece; Pb: lead of a ball screw, i: reduction ratio, F0: preload on the ball screw, : friction factor of a sliding surface, 0: internal friction factor of a preload nut, Sf: safety factor, and : angle of inclination of the ball screw.
(40)
(41) Step S201: The movement command unit 101 outputs the movement command up to a predetermined observation point to the servomotor for the master and slave axes.
(42) Step S202: The machine position error correction unit 104 confirms whether or not any correction information exists with reference to a predetermined storage area. The correction information is the correction amount (hereinafter referred to as the initial correction amount) at each observation point saved in Step S106 of the flowchart of
(43) Step S203: If the correction information feedback value exists, the machine position error correction unit 104 adds it to the movement command. If no correction information feedback value exists, the initial correction value at a destination observation point is added to the movement command.
(44) Step S204: In response to the movement command of Step S201 or the movement command corrected in Step S203, the servomotors for the master and slave axes are driven to move the machine to the observation point.
(45) Step S205: The torque difference acquisition unit 102 acquires the torque differences T between the master and slave axes.
(46) Step S206: The machine position error correction unit 104 determines whether or not the torque differences T acquired in Step S205 exceed a predetermined correction threshold. If the correction threshold is exceeded, the program proceeds to S207. If not, this processing ends.
(47) Step S207: The machine position error correction unit 104 corrects the machine position based on a correction amount (TTm) obtained by excluding the torque difference Tm derived from mechanical strain from the torque difference T.
(48) Step S208: The machine position error correction unit 104 saves the correction amount used in Step S207 as the correction information feedback value into a predetermined storage area.
(49) The correction information feedback value saved here is used in the processing of Step S203 at the time of the next execution of the movement command. Thus, the numerical controller 1 executes the movement command in consideration of the previous correction amount, so that the generated machine position error can be reduced. As the movement command is executed repeatedly, the correction continues to be made following the dynamically generated machine position error such as the thermal displacement.
(50) According to the present embodiment, the numerical controller 1 calculates the torque difference Tm regularly generated in a plurality of observation points in the data acquisition mode. In this way, the torque difference derived from the mechanical strain can be identified. During the execution of the movement command, the machine position error is corrected based on the correction amount (TTm) obtained by excluding the torque difference Tm derived from mechanical strain from the actually acquired torque difference T, so that appropriate correction free from the influence of the mechanical strain can be made.
(51) Moreover, according to the present embodiment, the numerical controller 1 feeds back the previous correction amount as the correction information feedback value and executes the movement command in consideration of the previous and preceding correction amounts, so that it can perform sophisticated and efficient correction following the dynamically generated machine position error such as the thermal displacement.
(52) The present invention is not limited to the above-described embodiment and can be suitably modified and embodied in various forms. For example, in the present embodiment, the value Tm is obtained by acquiring the torque differences T at a plurality of observation points in the data acquisition mode and calculating their average. However, the present invention is not limited to this and the torque difference Tm derived from the mechanical strain may be obtained by an alternative method. For example, the torque difference T may be acquired with the machine position modified by means of a conventional laser measuring instrument so that it can be used as the Tm.