Controller

10466682 ยท 2019-11-05

Assignee

Inventors

Cpc classification

International classification

Abstract

A controller performs high-accuracy oscillation control in which an axis driven by a motor is rocked in accordance with the rotation of a spindle motor for driving a main spindle. This controller determines a reference speed of rocking motion based on a reference speed set in advance, a reference main spindle rotational speed of the spindle motor, and an actual main spindle rotational speed, and calculates a rocking motion speed for each control period based on the determined reference speed of the rocking motion. The calculated rocking motion speed for each control period is added to a command outputted by the controller for controlling the position of the motor for each control period.

Claims

1. A controller that performs high-accuracy oscillation control in which an axis driven by a motor is rocked in accordance with rotation of a spindle motor for driving a main spindle, the controller comprising: a position command section configured to output a command for controlling a position of the motor for each control period; an oscillation reference speed determination section configured to determine a reference speed of the rocking motion based on a reference speed set as a parameter in advance, a reference main spindle rotational speed of the spindle motor, and an actual main spindle rotational speed of the spindle motor fed back from the spindle motor; an oscillation command calculation section configured to calculate a rocking motion speed for each control period based on a rocking-motion-related set value set in advance and the reference speed of the rocking motion determined by the oscillation reference speed determination section; and an adder configured to add the rocking motion speed for each control period calculated by the oscillation command calculation section to the command outputted by the position command section for controlling position.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a schematic hardware configuration diagram showing a controller according to one embodiment and principal portions of a machining apparatus driven and controlled by the controller.

(2) FIG. 2 is a schematic functional block diagram of a controller according to one embodiment.

(3) FIG. 3 is a view for explaining the grinding of a crankshaft according to a prior art technique.

(4) FIG. 4 is a view for explaining subdividing of chips according to a prior art technique.

(5) FIG. 5 is a view for explaining a problem of the grinding of a crankshaft according to a prior art technique.

(6) FIG. 6 is a view for explaining subdividing of chips according to a prior art technique.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

(7) Hereinafter, an example of a configuration of a controller for realizing the present invention will be described. However, the configuration of the controller of the present invention is not limited to the following example. Any configuration that can realize the object of the present invention may be employed.

(8) FIG. 1 is a schematic hardware configuration diagram showing a controller according to one embodiment and principal portions of a machining apparatus driven and controlled by the controller.

(9) A controller 1 according to the present embodiment includes a CPU 11. The CPU 11 is a processor that wholly controls the controller 1. The CPU 11 reads a system program stored in a ROM 12 through a bus 20, and controls the entire controller 1 in accordance with the read system program. A RAM 13 stores data such as temporary calculation data or display data and various kinds of data inputted by an operator through a display/MDI unit 70, which will be described later.

(10) A non-volatile memory 14 is configured as a memory that maintains the state of memory using, for example, a battery (not shown) for memory backup even when the power of the controller 1 is turned off. The non-volatile memory 14 stores a machining program read through an interface 15 and a machining program inputted through the display/MDI unit 70, which will be described later, and also stores data such as tool data including recommended values for cutting conditions for a tool to be used in machining. Further, the non-volatile memory 14 stores programs such as a machining-program operation processing program to be used to run a machining program. Such programs are loaded into the RAM 13 at the time of execution.

(11) The ROM 12 has various system programs (including a system program for a rocking motion function) prewritten therein so that processing such as edit mode processing necessary for creating and editing a machining program can be executed.

(12) The interface 15 is an interface for connecting the controller 1 and an external device 72 such as an adapter. Machining programs, various parameters, and the like are read from the external device 72 side. A machining program edited in the controller 1 can be stored in external storage means through the external device 72. A programmable machine controller (PMC) 16 outputs a signal to a peripheral device (for example, an actuator such as a tool change robot hand) of the machining apparatus through an I/O unit 17 and controls the peripheral device in accordance with a sequence program incorporated in the controller 1. Further, the PMC 16 receives signals from various switches and the like on a control panel disposed on the main body of the machining apparatus, and passes the signals to the CPU 11 after necessary signal processing is performed.

(13) The display/MDI unit 70 is a manual data input device having a display, a keyboard, and the like, and an interface 18 receives commands and data from the keyboard of the display/MDI unit 70 and passes the commands and the data to the CPU 11. The interface 19 is connected to a control panel 71 having, for example, a manual pulse generator that is used to manually drive each axis.

(14) An axis control circuit 30 for controlling an axis of the machining apparatus receives a commanded amount of travel for the axis from the CPU 11, and outputs a command for the axis to a servo amplifier 40. The servo amplifier 40 receives the command, and drives a servo motor 50 for moving the axis of the machining apparatus. The servo motor 50 of the axis incorporates a position and speed detector, and feeds a position and speed feedback signal received from the position and speed detector back to the axis control circuit 30 to perform position and speed feedback control. It should be noted that the hardware configuration diagram in FIG. 1 only shows one axis control circuit 30, one servo amplifier 40, and one servo motor 50, but actually the same numbers of axis control circuits 30, servo amplifiers 40, and servo motors 50 as the number of axes of the machining apparatus that are to be controlled are prepared.

(15) A spindle control circuit 60 receives a main spindle rotation command to the machining apparatus, and outputs a spindle speed signal to a spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal, and turns a spindle motor 62 of the machining apparatus at the commanded rotational speed to drive the tool.

(16) A position coder 63 is coupled to the spindle motor 62. The position coder 63 outputs a feedback pulse in synchronization with the rotation of the main spindle. The feedback pulse is read by the CPU 11.

(17) FIG. 2 is a schematic functional block diagram showing principal portions of a controller according to one embodiment of the present invention for the case where a system program for realizing a rocking motion function of the present invention is implemented in the controller 1 shown in FIG. 1.

(18) Each functional block shown in FIG. 2 is realized by the CPU 11 of the controller 1 shown in FIG. 1 executing a system program for the rocking motion function and controlling the operation of each section of the controller 1. The controller 1 of the present embodiment includes a position command section 100, a spindle control section 110, an oscillation reference speed determination section 120, an oscillation command calculation section 130, and a servo control section 140.

(19) The position command section 100 outputs a command for controlling the position of the servo motor 50 for each control cycle based on a position command read from a machining program that is read from the non-volatile memory 14, a position command commanded by a controller superior to the controller 1, or the like. The position command section 100 may calculate a command (travel distance of the servo motor 50 for each control cycle) for controlling the position of the servo motor 50 for each control cycle based on a position command and output the calculated command.

(20) The spindle control section 110 controls the rotational speed of the spindle motor 62 based on a spindle command read from a machining program read from the non-volatile memory 14, a spindle command commanded by a controller superior to the controller 1, or the like. The spindle control section 110 may control the number of revolutions of the spindle motor 62 for each control cycle based on a spindle command.

(21) The oscillation reference speed determination section 120 determines an oscillation reference speed F.sub.B (maximum speed of an axis to be rocked between the top dead point and the bottom dead point) based on an oscillation-related set value set in an oscillation setting area provided on memory such as the non-volatile memory 14 in advance, a command value to the spindle motor 62, and a value fed back from the spindle motor 62. The oscillation reference speed determination section 120 may calculate the reference speed F.sub.B using a set value F.sub.p for an oscillation-related reference speed which is set in the oscillation setting area, a reference main spindle rotational speed S, which is the rotational speed of the main spindle based on a command relating to the spindle motor, and an actual main spindle rotational speed S.sub.r, which is the actual rotational speed of the main spindle fed back from the spindle motor 62, based on the following formula (2).

(22) F B = F p S r S ( 2 )

(23) The oscillation command calculation section 130 calculates rocking motion speed for each control period (travel distance corresponding to rocking motion for each control period) based on the reference speed F.sub.B determined by the oscillation reference speed determination section 120 and the oscillation-related set value set in the oscillation setting area provided on memory such as the non-volatile memory 14 in advance. The calculation of the rocking motion speed for each control period by the oscillation command calculation section 130 is performed by a calculation method appropriate to an object of high-accuracy oscillation control to which the present invention is applied. A difference from prior art techniques is that the reference speed F.sub.B used in the calculation is a value determined by the oscillation reference speed determination section 120. The rocking motion speed for each control period calculated by the oscillation command calculation section 130 is added by an adder 150 to a command for controlling the position of the servo motor 50 for each control cycle which is outputted from the position command section 100.

(24) The servo control section 140 controls the servo motor 50 based on the output from the adder 150.

(25) In the controller 1 having the above-described configuration, the reference speed F.sub.B of oscillation is changed in accordance with a change in the main spindle rotational speed fed back from the spindle motor 62 when the controller 1 performs high-accuracy oscillation control. Accordingly, the controller 1 can perform more accurate rocking motion according to the rotation of the main spindle, as compared with prior art techniques.

(26) For example, in the case where the present invention is applied to the grinding of a crankshaft such as shown in FIG. 3, a reference speed F.sub.p set as a parameter is used as the reference speed F.sub.B to perform rocking motion control if an actual main spindle rotational speed S.sub.r is equal to a command value, and a value obtained by compensating the reference speed F.sub.p is used as the reference speed F.sub.B to perform rocking motion control if there is a change in the actual main spindle rotational speed S.sub.r due to disturbance or the like.

(27) Moreover, in a case where a constant circumferential speed control in which the circumferential speed is kept constant is used when machining a conical workpiece, in subdividing chips by oscillation such as shown in FIGS. 4 and 6, if the actual main spindle rotational speed increases by performing the constant circumferential speed control, then the reference speed F.sub.B of rocking motion also increases accordingly, with result that the period of oscillation can be sequentially changed to a period appropriate to the subdividing of chips, by applying the present invention.

(28) Further, by applying the present invention, it is possible to deal with the case where a worker has changed an override value of the number of revolutions of the main spindle during machining, the case where the rotation of the main spindle has been stopped for any reason, and the like.

(29) While an embodiment of the present invention has been described above, the present invention is not limited to the above-described exemplary embodiment, and can be carried out in various aspects by making appropriate modifications thereto.

(30) For example, though a general controller has been described as an example of the controller 1 in the above-described embodiment, functions of the present invention can also be installed in a smaller-scale servo controller.