EP0639888B1 - Method of detecting and regulating load on servomotor - Google Patents

Method of detecting and regulating load on servomotor Download PDF

Info

Publication number
EP0639888B1
EP0639888B1 EP94905832A EP94905832A EP0639888B1 EP 0639888 B1 EP0639888 B1 EP 0639888B1 EP 94905832 A EP94905832 A EP 94905832A EP 94905832 A EP94905832 A EP 94905832A EP 0639888 B1 EP0639888 B1 EP 0639888B1
Authority
EP
European Patent Office
Prior art keywords
servomotor
abnormal load
positional deviation
value
detecting
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
Application number
EP94905832A
Other languages
German (de)
French (fr)
Other versions
EP0639888A4 (en
EP0639888A1 (en
Inventor
Yasusuke Fanuc Manshion Harimomi Iwashita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of EP0639888A1 publication Critical patent/EP0639888A1/en
Publication of EP0639888A4 publication Critical patent/EP0639888A4/en
Application granted granted Critical
Publication of EP0639888B1 publication Critical patent/EP0639888B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P3/00Arrangements for stopping or slowing electric motors, generators, or dynamo-electric converters
    • H02P3/06Arrangements for stopping or slowing electric motors, generators, or dynamo-electric converters for stopping or slowing an individual dynamo-electric motor or dynamo-electric converter
    • H02P3/18Arrangements for stopping or slowing electric motors, generators, or dynamo-electric converters for stopping or slowing an individual dynamo-electric motor or dynamo-electric converter for stopping or slowing an ac motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/406Numerical 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 monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/16Controlling the angular speed of one shaft

Definitions

  • This invention relates to a method of detecting an abnormal load acting on a servomotor which drives, for example, a cutter of a machine tool or a robot arm, and of controlling the servomotor when such abnormal load is detected.
  • the speed command is set to "0", thereby stopping the servomotor immediately.
  • the motor when abnormal load is detected, the motor is already affected by the disturbance load. Since the machine has elastically deformable components, even when the motor has stopped immediately in response to the detection of the abormal load, the motor causes the machine to be kept depressed or the machine to be kept elastically deformed, thereby causing the machine to be continuously subjected to the load and the resulting damages to the tools and machine components.
  • EP-A-0059541 discloses a protective system for automatic tool changing apparatus, which monitors the load current of a driving motor and, when the load current reaches an abnormally high current value during the operating period excluding the motor starting period, the operation of the automatic tool changing apparatus is reversed and then stopped.
  • the object of the present invention is to improve control of a servomotor so that the motor is more advantageously not affected by the load when an abnormal load on the motor is detected, thereby preventing tools and machine components from being damaged.
  • a method of detecting an abnormal load on a servomotor and controlling the servomotor in such an abnormal condition comprising the steps of: (a) executing a position loop processing using an error register for storing a positional deviation value, and detecting an abnormal load acting on the servomotor during drive operation of the servomotor, and (b) when an abnormal load is detected in said step (a), setting in said error register a predetermined positional deviation having a direction opposite to the present advancing direction, rotating the servomotor in said opposite direction by a rotational amount corresponding to said predetermined positional deviation, and then stopping the servomotor.
  • This method of detecting an abnormal load on a servomotor comprises the steps of detecting an abnormal load acting on a servomotor during drive operation of the servomotor, and stopping the servomotor after rotating the motor for a predetermined angle towards the reverse direction to the present direction of rotation.
  • a method of detecting an abnormal load on a servomotor and controlling the servomotor in such an abnormal condition comprising the steps of: (a) executing a position loop processing using an error register for storing a positional deviation value to drive and control the servomotor, and estimating a disturbance torque applied to the servomotor using an observer during driving operation of the servomotor; (b) determining an abnormal load when the disturbance torque estimated in step (a) exceeds a reference value; and (c) when an abnormal load is detected in said step (b), setting in said error register a predetermined positional deviation having a direction opposite to the present advancing direction, rotating the servomotor in said opposite direction by a rotational amount corresponding to said predetermined positional deviation, and then stopping the servomotor.
  • a disturbance estimating observer estimates a disturbance torque acting on the servomotor and an abnormal load is detected when the estimated disturbance torque exceeds a reference value. Furthermore, when the abnormal load is detected, a predetermined positional deviation having a direction opposed to the present advancing direction is set in an error register used for position loop processing. This enables the servomotor to be driven to reduce the previously set positional deviation to "O", thus causing the servomotor to stop after being rotated for a predetermined angle towards the direction reverse to the direction at the time when the abnormal load is detected.
  • Fig. 1 shows a servomotor control system for a machine tool, robot, etc. applying a proportional control (P control) to the position control and a proportional-plus-integral control (PI control) to the speed control, which is capable of estimating the disturbance torque using an observer and detecting a collision, etc.
  • P control proportional control
  • PI control proportional-plus-integral control
  • An element 1 represents a proportional gain Kp used in the position loop and an element 2 represents a transfer function used in the speed loop, where K1 is an integral constant and K2 is a proportional constant.
  • Elements 3 and 4 represent transfer functions of the motor, where Kt is a torque constant and J is an inertia.
  • An element 5 represents a transfer function which integrates the speed v to calculate the position ⁇ .
  • TL represents a disturbance torque
  • S a Laplace operator.
  • the disturbance estimating observer 6 is incorporated into this servomotor control system in order to estimate the disturbance torque as shown in Fig. 1
  • K3 in the element 62 and K4 in element 64 are the parameter values of the disturbance estimating observer 6 respectively.
  • An element 61 represents a parameter value to be multiplied by the current value I as a torque command, which is actually outputted to the servomotor.
  • Kt* is an estimated value of motor torque constant
  • J* is an estimated value of inertia.
  • a reference numeral 64 represents an integral element.
  • the element 61 multiplies the current command I, outputted through the speed loop processing, by a value obtained by dividing the estimated value Kt* of the motor torque constant by the estimated value J* of the inertia.
  • the element 62 multiples the constant K3 by a deviation Verr obtained by subtracting the estimated motor speed Va from the detected actual motor speed v.
  • the element 63 multiplies the constant K4 by an integrated value of the deviation Verr. Outputs of these elements 61, 62 and 63 are added and this added value is then integrated in an element 64 to obtain the estimated motor speed va.
  • an output of the element 63 represents an estimated overall disturbance torque Tdl acting on the motor.
  • a frictional torque component (k ⁇ v) proportional to the speed is subtracted from the estimated overall disturbance torque Tdl, and then the difference is multiplied by a parameter J*/Kt* in an element 65, thus obtaining a disturbance estimation value Td2 for detection of collision.
  • this disturbance estimation value Td2 has exceeded the reference value, it is judged that an abnormal load has occurred.
  • Fig. 2 is a block diagram showing basic components of a servo control apparatus embodying the method of the present invention.
  • a numerical control apparatus 10 controlling a machine tool or a robot, generates shift commands and various control signals, which are supplied through a shared memory 11 to a digital servo circuit 12.
  • the digital servo circuit 12 including a processor (CPU), a ROM and a RAM, executes digital position and speed loop processing, and controls the servomotor 14 of each axis, through a servo amplifier 13, constituted of transistor invertors and others.
  • a position/speed detector 15, detecting position and speed is constituted of a pulse coder or the like which is attached to the motor shaft of the servomotor, and outputs the feedback signals of position and speed to the digital servo circuit 12.
  • Fig. 2 shows only a servo system of one axis, the same servo system is provided for each of remaining axes. The constitution of such a servo system is identical with that of a conventional digital serv
  • the digital servo circuit 12 sets therein, in advance, the constants K3 and K4 constituting the observer, the estimated value Kt* of torque constant, the estimated inertial value J* , the coefficient k of estimated frictional torque, the reference value Ts for detection of abnormal load, and a return amount A in the event of the detection of abnormal load.
  • the processor in the digital servo circuit first makes a judgement, in step S1, as to whether a flag F1 is "1" or not.
  • the flag F1 is a flag to indicate the detection of an abnormal load, being set to "0" in the initial setting, and set to "1" when the abnormal load is detected in a step S7 as described later.
  • step S2 the processor proceeds to step S2 to read a shift command generated through the shared memory 11 from the numerical control apparatus 10 in each distribution cycle in the same manner as in a conventional system.
  • the position feedback value ⁇ from the position/speed detector 15 is subtracted from a move command ⁇ r which is divided for each position and speed loop processing cycle by DDA processing or the like, and the obtained value is added to an error register Er for storing positional deviation, thereby obtaining a new positional deviation.
  • step S3 the positional deviation stored in the error register Er is multiplied by the position loop gain Kp to obtain the speed command Vcmd.
  • step S4 thus obtained speed command Vcmd and the speed feedback value detected by the position/speed detector 15 undergo the speed loop processing to obtain the torque command I, which is then transferred to the current loop.
  • the current loop executes a current loop processing in response to the torque command I to drive the servomotor.
  • step S5 the processor executes the processing of the disturbance estimating observer 6 shown by the block diagram of Fig. 1, thus obtaining the estimated disturbance torque Td2, from which the frictional torque has been removed.
  • step S6 a judgement is made as to whether the absolute value of the estimated disturbance torque Td2 obtained in the step S5 exceeds the predetermined reference value Ts being set for detecting abnormal load.
  • the load is regarded as normal, and the processing of the current position and speed loop processing cycle is finished. In other words, as long as any abnormal load is not detected, and therefore the flag F1 remains set to "0", the processings of steps S1 to S6 are repeated in every position and speed loop processing cycle.
  • step S6 When it is judged in the step S6 that the absolute value of the estimated disturbance torque Td2 exceeds the reference value Ts, the processor proceeds to step S7 and sets the flag F1 to "1".
  • step S8 judges whether a flag F2 is set to "1".
  • the flag F2 indicates whether or not the current processing cycle is the first cycle immediately after the detection of the abnormal load.
  • the flag F2 is set to "0" in the initial setting for starting the operation of the machine.
  • the shifting direction is judged based on the polarity of the shift command ⁇ given to the servomotor.
  • the processor proceeds to a step S10, wherein the error register Er is set to "-A", i.e. a minus value having the magnitude of A being set as a return amount of the servomotor.
  • the processor proceeds to step S11, wherein the error register Er is set to a positive value "A”.
  • the flag F2 is set to "1" in step S12, and subsequently the processings in and after the step S3 are executed.
  • the error register Er stores the positional deviation whose direction is opposite to the present advancing direction (i.e. a positional deviation of opposite polarity); therefore, the speed command Vcmd obtained in the step S3 becomes a speed command having a direction opposite to the present advancing direction.
  • the torque command I obtained in the step S4 has the opposite direction, resulting in that the servomotor rotates in a direction opposite to the present rotating direction.
  • the processor proceeds from the step S1 to the step S8, and then from the step S8 to a step S13, wherein the position feedback value ⁇ is subtracted from the error register Er to obtain a new positional deviation, and the processor executes the processings in and after the step 3.
  • the processings of the steps S1, S8, S13, S3 to S6, and S7 are executed in each processing cycle.
  • processings of the steps S5 to S7 are not necessary in each processing cycle after an abnormal load is once detected, and so when the flag F1 or F2 is set to "1", the processings of steps S5 to S7 may be omitted.
  • the servomotor is stopped after making a predetermined amount of reverse rotation. Therefore, even when the machine is elastically deformed due to collision or the like, such an elastic deformation is released by the reverse rotation the servomotor, thus enabling the machine and the servomotor to stop in a condition free from the effect of the abnormal load.
  • Figs. 4 and 5 show comparative experimental data of the conventional system and the system according to the present invention.
  • Fig .4 shows the experimental data obtained according to the conventional method, in which a servomotor is stopped in response to detection of abnormal load using an observer
  • Fig. 5 shows the experimental data obtained according to the method of the present invention.
  • the present invention releases the movable portion or driving mechanism of a machine driven by a servomotor from being left subjected to a force caused by an abnormal load after it is detected. As a result, it becomes possible for mechanical components, tools, and further obstacles to be protected from being damaged.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)
  • Stopping Of Electric Motors (AREA)

Description

This invention relates to a method of detecting an abnormal load acting on a servomotor which drives, for example, a cutter of a machine tool or a robot arm, and of controlling the servomotor when such abnormal load is detected.
In a machine tool or a robot using a servomotor as a drive source, when a movable element of the machine tool such as a cutter or a table, or a robot arm collide with an obstacle, such a collision causes the servomotor to develop a large torque as it continues to drive the movable element of the machine tool or the robot arm in response to a given move command. Hence, the movable element of the machine tool or the robot arm is subjected to an abnormally large force which may damage the driving mechanism including the servomotor. To prevent such a damage, there is known a method including detecting an abnormal load acting on the servomotor, determining an occurrence of collision when an abnormal load is detected, and stopping the motor in such abnormal load condition. In the International Publication W091/10181, there is proposed a method of estimating a disturbance torque using a disturbance estimating observer, and detecting an abnormal load by comparing thus estimated disturbance torque with a predetermined set value.
According to the above conventional method, when an abnormal load is detected, the speed command is set to "0", thereby stopping the servomotor immediately.
However, when abnormal load is detected, the motor is already affected by the disturbance load. Since the machine has elastically deformable components, even when the motor has stopped immediately in response to the detection of the abormal load, the motor causes the machine to be kept depressed or the machine to be kept elastically deformed, thereby causing the machine to be continuously subjected to the load and the resulting damages to the tools and machine components.
EP-A-0059541 discloses a protective system for automatic tool changing apparatus, which monitors the load current of a driving motor and, when the load current reaches an abnormally high current value during the operating period excluding the motor starting period, the operation of the automatic tool changing apparatus is reversed and then stopped.
The object of the present invention is to improve control of a servomotor so that the motor is more advantageously not affected by the load when an abnormal load on the motor is detected, thereby preventing tools and machine components from being damaged.
According to a first aspect of the invention there is provided a method of detecting an abnormal load on a servomotor and controlling the servomotor in such an abnormal condition, comprising the steps of: (a) executing a position loop processing using an error register for storing a positional deviation value, and detecting an abnormal load acting on the servomotor during drive operation of the servomotor, and (b) when an abnormal load is detected in said step (a), setting in said error register a predetermined positional deviation having a direction opposite to the present advancing direction, rotating the servomotor in said opposite direction by a rotational amount corresponding to said predetermined positional deviation, and then stopping the servomotor.
This method of detecting an abnormal load on a servomotor comprises the steps of detecting an abnormal load acting on a servomotor during drive operation of the servomotor, and stopping the servomotor after rotating the motor for a predetermined angle towards the reverse direction to the present direction of rotation.
According to a second aspect of the present invention there is provided a method of detecting an abnormal load on a servomotor and controlling the servomotor in such an abnormal condition, comprising the steps of: (a) executing a position loop processing using an error register for storing a positional deviation value to drive and control the servomotor, and estimating a disturbance torque applied to the servomotor using an observer during driving operation of the servomotor; (b) determining an abnormal load when the disturbance torque estimated in step (a) exceeds a reference value; and (c) when an abnormal load is detected in said step (b), setting in said error register a predetermined positional deviation having a direction opposite to the present advancing direction, rotating the servomotor in said opposite direction by a rotational amount corresponding to said predetermined positional deviation, and then stopping the servomotor.
According to this version of the present invention, a disturbance estimating observer estimates a disturbance torque acting on the servomotor and an abnormal load is detected when the estimated disturbance torque exceeds a reference value.
Furthermore, when the abnormal load is detected, a predetermined positional deviation having a direction opposed to the present advancing direction is set in an error register used for position loop processing. This enables the servomotor to be driven to reduce the previously set positional deviation to "O", thus causing the servomotor to stop after being rotated for a predetermined angle towards the direction reverse to the direction at the time when the abnormal load is detected.
BRIEF DESCRIPTION OF THE DRAWINGS
  • Fig. 1 is a block diagram showing a servo system including position and speed control loops and an observer embodying the present invention;
  • Fig. 2 is a block diagram showing a servo control apparatus embodying the present invention;
  • Fig. 3 is a flowchart showing a processing to be executed by a processor in the digital servo circuit of Fig. 2 in accordance with the method of the present invention;
  • Fig. 4 is a graph showing the results of experiments based on a conventional servomotor control method applied to the case of abnormal load detection; and
  • Fig. 5 is a graph showing the results of experiments according to the method of the present invention.
  • Fig. 1 shows a servomotor control system for a machine tool, robot, etc. applying a proportional control (P control) to the position control and a proportional-plus-integral control (PI control) to the speed control, which is capable of estimating the disturbance torque using an observer and detecting a collision, etc.
    An element 1 represents a proportional gain Kp used in the position loop and an element 2 represents a transfer function used in the speed loop, where K1 is an integral constant and K2 is a proportional constant. Elements 3 and 4 represent transfer functions of the motor, where Kt is a torque constant and J is an inertia. An element 5 represents a transfer function which integrates the speed v to calculate the position . Furthermore, TL represents a disturbance torque, and S a Laplace operator.
    Subtracting a feedback value of the present position  from the position command r gives a positional deviation ε (=r - ) . Multiplying the obtained positional deviation ε by the proportional constant Kp gives a speed command Vcmd. Executing a PI control based on a difference (i.e. speed deviation) between the obtained speed command Vcmd and an actual speed v gives a torque command (current command) I. The torque command I is used to control a motor current, by which the motor is driven. The motor rotates at the speed v, and the position  is obtained by integrating the speed v.
    The disturbance estimating observer 6 is incorporated into this servomotor control system in order to estimate the disturbance torque as shown in Fig. 1
    K3 in the element 62 and K4 in element 64 are the parameter values of the disturbance estimating observer 6 respectively. An element 61 represents a parameter value to be multiplied by the current value I as a torque command, which is actually outputted to the servomotor. In the element 61, Kt* is an estimated value of motor torque constant, and J* is an estimated value of inertia. A reference numeral 64 represents an integral element.
    Thus, the element 61 multiplies the current command I, outputted through the speed loop processing, by a value obtained by dividing the estimated value Kt* of the motor torque constant by the estimated value J* of the inertia. The element 62 multiples the constant K3 by a deviation Verr obtained by subtracting the estimated motor speed Va from the detected actual motor speed v. The element 63 multiplies the constant K4 by an integrated value of the deviation Verr. Outputs of these elements 61, 62 and 63 are added and this added value is then integrated in an element 64 to obtain the estimated motor speed va.
    In the above processing, an output of the element 63 represents an estimated overall disturbance torque Tdl acting on the motor. In the disturbance estimating observer 6 shown in Fig. 1, a frictional torque component (k·v) proportional to the speed is subtracted from the estimated overall disturbance torque Tdl, and then the difference is multiplied by a parameter J*/Kt* in an element 65, thus obtaining a disturbance estimation value Td2 for detection of collision. As described later, when this disturbance estimation value Td2 has exceeded the reference value, it is judged that an abnormal load has occurred.
    Detailed analysis and processing of the disturbance estimating observer is described in the International Publication WO91/10181 and Japanese Patent Application No. 4-306233 and others; therefore, detailed explanation will be omitted here.
    Fig. 2 is a block diagram showing basic components of a servo control apparatus embodying the method of the present invention. A numerical control apparatus 10, controlling a machine tool or a robot, generates shift commands and various control signals, which are supplied through a shared memory 11 to a digital servo circuit 12. The digital servo circuit 12, including a processor (CPU), a ROM and a RAM, executes digital position and speed loop processing, and controls the servomotor 14 of each axis, through a servo amplifier 13, constituted of transistor invertors and others. A position/speed detector 15, detecting position and speed, is constituted of a pulse coder or the like which is attached to the motor shaft of the servomotor, and outputs the feedback signals of position and speed to the digital servo circuit 12. Although Fig. 2 shows only a servo system of one axis, the same servo system is provided for each of remaining axes. The constitution of such a servo system is identical with that of a conventional digital servo circuit.
    Hereinafter, with reference to the flowchart of Fig. 3, the processing, to be executed in each position and speed loop processing cycle by the processor of the digital servo circuit 3, will be explained.
    The digital servo circuit 12 sets therein, in advance, the constants K3 and K4 constituting the observer, the estimated value Kt* of torque constant, the estimated inertial value J*, the coefficient k of estimated frictional torque, the reference value Ts for detection of abnormal load, and a return amount A in the event of the detection of abnormal load.
    The processor in the digital servo circuit first makes a judgement, in step S1, as to whether a flag F1 is "1" or not. The flag F1 is a flag to indicate the detection of an abnormal load, being set to "0" in the initial setting, and set to "1" when the abnormal load is detected in a step S7 as described later.
    When the flag F1 is not "1", the processor proceeds to step S2 to read a shift command generated through the shared memory 11 from the numerical control apparatus 10 in each distribution cycle in the same manner as in a conventional system. The position feedback value  from the position/speed detector 15 is subtracted from a move command r which is divided for each position and speed loop processing cycle by DDA processing or the like, and the obtained value is added to an error register Er for storing positional deviation, thereby obtaining a new positional deviation.
    Then, in a step S3, the positional deviation stored in the error register Er is multiplied by the position loop gain Kp to obtain the speed command Vcmd. In step S4, thus obtained speed command Vcmd and the speed feedback value detected by the position/speed detector 15 undergo the speed loop processing to obtain the torque command I, which is then transferred to the current loop. The current loop executes a current loop processing in response to the torque command I to drive the servomotor.
    Next, in step S5, the processor executes the processing of the disturbance estimating observer 6 shown by the block diagram of Fig. 1, thus obtaining the estimated disturbance torque Td2, from which the frictional torque has been removed. In step S6, a judgement is made as to whether the absolute value of the estimated disturbance torque Td2 obtained in the step S5 exceeds the predetermined reference value Ts being set for detecting abnormal load. When the absolute value of the estimated disturbance torque Td2 does not yet exceed the reference value Ts, the load is regarded as normal, and the processing of the current position and speed loop processing cycle is finished. In other words, as long as any abnormal load is not detected, and therefore the flag F1 remains set to "0", the processings of steps S1 to S6 are repeated in every position and speed loop processing cycle.
    When it is judged in the step S6 that the absolute value of the estimated disturbance torque Td2 exceeds the reference value Ts, the processor proceeds to step S7 and sets the flag F1 to "1".
    In the next processing cycle, the flag F1 of the value "1" is detected through the processing of step 1. Hence, the processor proceeds to step S8 and judges whether a flag F2 is set to "1". The flag F2 indicates whether or not the current processing cycle is the first cycle immediately after the detection of the abnormal load. The flag F2 is set to "0" in the initial setting for starting the operation of the machine. Thus, when it is judged that F1=1 in step 1 first after the start of processing it is certain that F2=0, and so the processor proceeds to step S9 from Step S8. In the step S9, a judgement is made as to the present shifting direction (i.e. a rotational direction) of the servomotor. The shifting direction is judged based on the polarity of the shift command  given to the servomotor. When the shifting direction is plus, the processor proceeds to a step S10, wherein the error register Er is set to "-A", i.e. a minus value having the magnitude of A being set as a return amount of the servomotor. On the other hand, when the shifting direction is minus, the processor proceeds to step S11, wherein the error register Er is set to a positive value "A". Thereafter, the flag F2 is set to "1" in step S12, and subsequently the processings in and after the step S3 are executed.
    As the result of the above-described processings, the error register Er stores the positional deviation whose direction is opposite to the present advancing direction (i.e. a positional deviation of opposite polarity); therefore, the speed command Vcmd obtained in the step S3 becomes a speed command having a direction opposite to the present advancing direction. Hence, the torque command I obtained in the step S4 has the opposite direction, resulting in that the servomotor rotates in a direction opposite to the present rotating direction. As the flags F1 and F2 are both set to "1" in the next processing cycle, the processor proceeds from the step S1 to the step S8, and then from the step S8 to a step S13, wherein the position feedback value  is subtracted from the error register Er to obtain a new positional deviation, and the processor executes the processings in and after the step 3. After that, the processings of the steps S1, S8, S13, S3 to S6, and S7 are executed in each processing cycle. When the positional deviation stored in the error register Er becomes "0", i.e. when the servomotor has rotated in the direction opposite to the present direction of rotation by a rotational amount equivalent to the set value A, the servomotor is stopped.
    Further, the processings of the steps S5 to S7 are not necessary in each processing cycle after an abnormal load is once detected, and so when the flag F1 or F2 is set to "1", the processings of steps S5 to S7 may be omitted.
    As explained above, when an abnormal load is detected, the servomotor is stopped after making a predetermined amount of reverse rotation. Therefore, even when the machine is elastically deformed due to collision or the like, such an elastic deformation is released by the reverse rotation the servomotor, thus enabling the machine and the servomotor to stop in a condition free from the effect of the abnormal load.
    Figs. 4 and 5 show comparative experimental data of the conventional system and the system according to the present invention. Fig .4 shows the experimental data obtained according to the conventional method, in which a servomotor is stopped in response to detection of abnormal load using an observer, while Fig. 5 shows the experimental data obtained according to the method of the present invention.
    In the conventional example of Fig. 4, when an abnormal load is detected at the time t1, a large torque in reverse direction (braking torque) is developed, and the torque in normal direction (direction at the time of collision) remains even after the speed of the servomotor has become "0". This indicates that the movable parts of a machine driven by the servomotor is stopped with an external force acting thereon.
    Meanwhile, according to the method of the present invention shown in Fig. 5, when abnormal load is detected at t1, a torque is generated in such a manner that the servomotor is rotated in the opposite direction, causing the polarity of the speed to be reversed, and the torque generated by the servomotor converges to "0". This prevents the movable portion of a machine driven by the servomotor from being stopped against any force acting thereon, thus protecting an object such as a machine or a workpiece.
    As explained in the foregoing description, the present invention releases the movable portion or driving mechanism of a machine driven by a servomotor from being left subjected to a force caused by an abnormal load after it is detected. As a result, it becomes possible for mechanical components, tools, and further obstacles to be protected from being damaged.

    Claims (2)

    1. A method of detecting an abnormal load on a servomotor (14) and controlling the servomotor (14) in such an abnormal condition, comprising the steps of:
      (a) executing a position loop processing using an error register (Er) for storing a positional deviation value, and detecting an abnormal load acting on the servomotor (14) during drive operation of the servomotor (14), and
      (b) when an abnormal load is detected in said step (a), setting in said error register (Er) a predetermined positional deviation (A) having a direction opposite to the present advancing direction, rotating the servomotor (14) in said opposite direction by a rotational amount corresponding to said predetermined positional deviation (A), and then stopping the servomotor (14).
    2. A method of detecting an abnormal load on a servomotor (14) and controlling the servomotor (14) in such an abnormal condition, comprising the steps of:
      (a) executing a position loop processing using an error register (Er) for storing a positional deviation value to drive and control the servomotor (14), and estimating a disturbance torque applied to the servomotor (14) using an observer (6) during driving operation of the servomotor (14);
      (b) determining an abnormal load when the disturbance torque estimated in step (a) exceeds a reference value; and
      (c) when an abnormal load is detected in said step (b), setting in said error register (Er) a predetermined positional deviation (A) having a direction opposite to the present advancing direction, rotating the servomotor (14) in said opposite direction by a rotational amount corresponding to said predetermined positional deviation (A), and then stopping the servomotor (14).
    EP94905832A 1993-02-10 1994-02-02 Method of detecting and regulating load on servomotor Expired - Lifetime EP0639888B1 (en)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    JP5045751A JPH06245561A (en) 1993-02-10 1993-02-10 Abnormal load detection control method for servo motor
    JP45751/93 1993-02-10
    PCT/JP1994/000150 WO1994018751A1 (en) 1993-02-10 1994-02-02 Method of detecting and regulating load on servomotor

    Publications (3)

    Publication Number Publication Date
    EP0639888A1 EP0639888A1 (en) 1995-02-22
    EP0639888A4 EP0639888A4 (en) 1996-02-21
    EP0639888B1 true EP0639888B1 (en) 1998-05-13

    Family

    ID=12728015

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP94905832A Expired - Lifetime EP0639888B1 (en) 1993-02-10 1994-02-02 Method of detecting and regulating load on servomotor

    Country Status (6)

    Country Link
    US (1) US6057661A (en)
    EP (1) EP0639888B1 (en)
    JP (1) JPH06245561A (en)
    KR (2) KR0144650B1 (en)
    DE (1) DE69410190T2 (en)
    WO (1) WO1994018751A1 (en)

    Families Citing this family (24)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JPH08249008A (en) * 1995-03-09 1996-09-27 Toyota Motor Corp Equivalent circuit reference type controller and method thereof
    KR100459694B1 (en) * 1998-04-08 2005-04-06 삼성전자주식회사 How to measure the motor torque constant
    JP3367641B2 (en) * 1998-07-31 2003-01-14 株式会社安川電機 Robot control device
    JP3212571B2 (en) 1999-03-26 2001-09-25 ファナック株式会社 Industrial robot
    JP2000277039A (en) * 1999-03-26 2000-10-06 Toshiba Corp Image display device and manufacture thereof
    JP3459973B2 (en) 1999-10-22 2003-10-27 川崎重工業株式会社 Drive control method and drive control device
    JP2002001633A (en) * 2000-06-19 2002-01-08 Murata Mach Ltd Working machine having abnormal load detecting function
    JP2003236787A (en) * 2002-02-18 2003-08-26 Kawasaki Heavy Ind Ltd Drivingly controlling method and drivingly controlling device
    JP3820232B2 (en) * 2003-05-02 2006-09-13 日精樹脂工業株式会社 Mold clamping control method of injection molding machine
    FR2878460B1 (en) * 2004-11-29 2008-06-13 Comau Systemes France Sa METHOD FOR CONTROLLING A MACHINE TOOL, IN PARTICULAR FOR THE PURPOSES OF ADJUSTING AND SECURING TOOL LOADING OPERATIONS AND SOFTWARE FOR PERFORMING IT
    US7627440B2 (en) * 2007-08-28 2009-12-01 Rockwell Automation Technologies, Inc. Inertia and load torque estimating method and apparatus
    JP4335286B2 (en) * 2008-02-08 2009-09-30 ファナック株式会社 Robot control apparatus and robot control method having component protection function
    TW200943016A (en) * 2008-04-10 2009-10-16 Wen-Liang Wang Control system for servo-type location/force detection and operation
    JP5375062B2 (en) * 2008-12-10 2013-12-25 株式会社安川電機 Robot system and control method
    JP2011208956A (en) * 2010-03-29 2011-10-20 Hitachi Ltd System of estimating torque of electric motor and estimation method therefor
    JP5382543B2 (en) * 2010-06-25 2014-01-08 新東工業株式会社 Electric cylinder control method and electric cylinder control system
    JP5815780B2 (en) * 2014-03-19 2015-11-17 ファナック株式会社 Motor controller that can protect the machined surface when an abnormal load occurs
    JP6055002B2 (en) * 2015-02-20 2016-12-27 ファナック株式会社 Human cooperative robot system that retracts the robot
    JP6034895B2 (en) 2015-02-20 2016-11-30 ファナック株式会社 Human cooperative robot system that retracts the robot according to external force
    JP6055014B2 (en) * 2015-03-23 2016-12-27 ファナック株式会社 Robot control device having function of detecting contact with object or person
    JP6848845B2 (en) * 2017-12-15 2021-03-24 オムロン株式会社 Servo motor load condition diagnostic device and load status diagnostic method
    US20230191597A1 (en) * 2018-01-10 2023-06-22 Sony Corporation Control device, control method, and program
    DE102021000741A1 (en) 2020-03-03 2021-09-09 Sew-Eurodrive Gmbh & Co Kg Process for operating a machine and system for carrying out the process
    CN113037141A (en) * 2021-03-10 2021-06-25 深圳市微秒控制技术有限公司 Anti-falling method for gravity load starting of servo motor

    Family Cites Families (14)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JPS544514B2 (en) * 1973-04-19 1979-03-07
    JPS5719483A (en) * 1980-07-09 1982-02-01 Hitachi Ltd Automatic door operator
    JPS57144638A (en) * 1981-02-26 1982-09-07 Koichiro Kitamura Protective device for automatic tool changing device
    ZA847740B (en) * 1983-10-12 1985-05-29 Byrne & Davidson Ind Ltd Obstruction detection means
    JPS60230204A (en) * 1984-04-27 1985-11-15 Toyoda Mach Works Ltd Safety device in movable body movement control device
    JPS61143803A (en) * 1984-12-17 1986-07-01 Toshiba Corp Control device of robot
    JPH0773861B2 (en) * 1985-04-26 1995-08-09 ファナック株式会社 Drive control method for injection molding machine driven by servo motor
    JPS6294251A (en) * 1985-10-17 1987-04-30 Toshiba Mach Co Ltd Device for controlling position
    DE3864091D1 (en) * 1987-06-30 1991-09-12 Inventio Ag ACTUAL VALUE FOR THE POSITION CONTROL CIRCUIT OF A LIFT DRIVE.
    US4933800A (en) * 1988-06-03 1990-06-12 Yang Tai Her Motor overload detection with predetermined rotation reversal
    JP2665984B2 (en) * 1989-12-26 1997-10-22 ファナック株式会社 Collision detection method using disturbance estimation observer
    US5304906A (en) * 1989-12-26 1994-04-19 Fanuc Ltd. Collision detecting method using an observer
    US5218282A (en) * 1990-03-22 1993-06-08 Stanley Home Automation Automatic door operator including electronic travel detection
    JP2871993B2 (en) * 1993-03-31 1999-03-17 日本電気株式会社 Servo motor position control device

    Also Published As

    Publication number Publication date
    JPH06245561A (en) 1994-09-02
    EP0639888A4 (en) 1996-02-21
    KR950701156A (en) 1995-02-20
    US6057661A (en) 2000-05-02
    KR0144650B1 (en) 1998-10-01
    DE69410190T2 (en) 1998-09-03
    DE69410190D1 (en) 1998-06-18
    WO1994018751A1 (en) 1994-08-18
    EP0639888A1 (en) 1995-02-22

    Similar Documents

    Publication Publication Date Title
    EP0639888B1 (en) Method of detecting and regulating load on servomotor
    US5440213A (en) Collision detecting method using an observer
    US5493192A (en) Abnormal load detection method
    US20090200978A1 (en) Robot controller having component protecting function and robot control method
    US5602347A (en) Tool life control method based on disturbance load torque of motor
    JP3212571B2 (en) Industrial robot
    EP1321837B1 (en) Servo controller
    JP2665984B2 (en) Collision detection method using disturbance estimation observer
    JPH0751991A (en) Tool breakage preventing method
    JP2000052286A (en) Robot control device
    EP0547239B1 (en) Back-lash acceleration control method
    US5254921A (en) Abnormality detecting method for a servo system
    US5517100A (en) Method of controlling a servo motor
    JPH06339292A (en) Force controlling method by estimation of disturbance load
    JPH1170490A (en) Collision detecting method for industrial robot
    JP2673543B2 (en) Excessive Error Detection Method in Servo Motor Control
    JP2870482B2 (en) Servo motor position control method and control device
    EP0604663A1 (en) Method for estimating inertia and disturbance torque, and method for detecting abnormal load
    JPH06131050A (en) Method for detecting collision of movable part driven by servo motor
    JPH0739190A (en) Brake malfunction detecting method for automatic machine
    JP2002328707A (en) Numerical controller
    JPH06289917A (en) Servo motor control method by estimated disturbance load torque
    JPH06292379A (en) Method of changing torque limit at the time of abnormal load
    JPH10277887A (en) Motor controlling method applicable at failure in position sensor
    JP3197898B2 (en) Servo motor control method

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    17P Request for examination filed

    Effective date: 19941104

    AK Designated contracting states

    Kind code of ref document: A1

    Designated state(s): DE IT

    A4 Supplementary search report drawn up and despatched

    Effective date: 19960104

    AK Designated contracting states

    Kind code of ref document: A4

    Designated state(s): DE IT

    17Q First examination report despatched

    Effective date: 19961014

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    GRAG Despatch of communication of intention to grant

    Free format text: ORIGINAL CODE: EPIDOS AGRA

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAA (expected) grant

    Free format text: ORIGINAL CODE: 0009210

    AK Designated contracting states

    Kind code of ref document: B1

    Designated state(s): DE IT

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: IT

    Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

    Effective date: 19980513

    REF Corresponds to:

    Ref document number: 69410190

    Country of ref document: DE

    Date of ref document: 19980618

    PLBE No opposition filed within time limit

    Free format text: ORIGINAL CODE: 0009261

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

    26N No opposition filed
    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: DE

    Payment date: 20090129

    Year of fee payment: 16

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: DE

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20100901