METHOD CONTROLLING SERVOMOTOR

Abstract: A method of controlling a servomotor by controlling the speed and current of the servomotor in a digital manner. Correction values (23, 27) are so applied that the integration gain (22) and the loop proportional gain (26) of the current control loop will increase depending upon the speed of the servomotor. Since the current loop gain increases depending upon the speed of the servomotor, no oscillation takes place in the current loop when the servomotor runs at low speeds or is at halt. Furthermore, a decrease in the torque caused by the lowered current loop gain during the high-speed operation can be prevented. ABSTRACT A servo motor controlling method for controlling both a speed and a current of a servo motor under a digital control. An integration gain (22) and a loop proportional gain (26) of the current controlling loop are subjected to correction (23, 27) so as to be increased depending upon the rotational speed of the servo motor. Since a current loop gain is increased depending upon the rotational speed of the servo motor, the oscillation of the current loop does not occur at the time of low speed drive and stop, and the shortage of torque due to the lowering of the current loop gain at the time of high speed drive can be prevented.

Description: Technical Field The present invention relates to a servo motor controlling method for controlling the rotational speed and the current of a servo motor under a digital control, and more particularly to a servo motor controlling method in which the gain of a current control loop is changed dependent upon the rotational speed of the servo motor. Background Art Due to an improvement of the performance of a microprocessor and the reduced cost thereof, a digital controlling method of a servo motor has been extensively employed as a servo motor controlling method. In Fig. 4, there is shown a block diagram illustrating a servo motor controlling method performed under the digital control, in which an operation unit 1 outputs a difference between a speed instruction VCMD and a speed feedback signal fb. An integrator 2 has a speed loop integration gain of k 1v . An operation unit 3 outputs a current instruction value which is divided into three for three phases of a servo motor, and each of the divided values is fed to R, S and T phases. Since the arrangement of each of the phases is identical, only the R phase is shown in the figure and the reminder is omitted therein. Designated by numeral 4 is a speed loop proportional gain. Denoted by reference numeral 10 is an R phase current controlling loop. An operation unit 11 outputs a difference between an R phase feedback current Ir and the current instruction. An integrator 12 has a current loop integration gain of k₁. An operation unit 13 outputs a difference between the output of the integrator 12 and a current loop proportional gain k₂ designated by reference numeral 14. An operation unit 15 outputs a difference between a counter electromotive voltage E(S) of the servo motor and the output of the operation unit 13, in which the output of the operation unit 15 is the voltage output of a PWM control circuit. A first-order delay element 16 includes a winding resistance R of the servo motor and an inductance L thereof. The output of the first-order delay element 16 is a current flowed in the servo motor. A torque constant K t is designated by reference numeral 17 and its output is a torque. A motor 18 imposes an inertia Jm which is an integrator in terms of a numerical equation. The output of the motor 18 defines the rotational speed of the servo motor and gives a speed feedback signal fb. In such a servo motor controlling method performed under the digital control, however, a period of time required for the software processing for the digital control is not negligible when the servo motor has reached a high speed rotational state. The delay of the processing time causes, in equivalence, to lower the current loop gain. Further, the electromotive force of the servo motor has become high and the current loop gain is brought to a decreased status. For these reasons. the high speed rotations cannot be attained and the shortage of the torque results. On the contrary, the constant rising of the current loop gain causes to occur oscillation of the current loop at the time when the motor is rotating at a low speed or is stopped. Disclosure of the Invention An object of the invention is to resolve the aforementioned problems and to provide a servo motor controlling method in which the gain of a current control loop is changed dependent upon the rotational speed of the servo motor. According to the present invention, in order to solve the problems, there is provided a servo motor controlling method for controlling both a speed and a current of a servo motor under a digital control, comprising: providing a current controlling loop in a speed loop; and controlling an integration gain and a loop proportional gain of said current controlling loop so as to be changed depending upon the speed of said servo motor. Since the current loop gain is increased depending upon the speed of the servo motor, the oscillation in the current loop does not occur at the time of low speed drive and stop, and the shortage of torque due to the lowering of the current loop gain at the time of high speed drive can be prevented. Brief Description of the Drawings Fig. 1 is a block diagram showing one phase of a current control loop according to one embodiment of the present invention; Fig. 2 is a diagram showing one example of a function of (v); Fig. 3 is a flowchart illustrating a software processing according to one embodiment of the present invention; and Fig. 4 is a block diagram showing a conventional servo motor controlling system performed under a digital control. Best Mode for Carrying Out the Invention An embodiment of the present invention will be described with reference to the accompanying drawings. Fig. 1 is a block diagram showing a current controlling loop for one phase according to one embodiment of the invention. A speed loop is the same as the one shown in Fig. 3, and thus description thereof is omitted herein. In Fig. 1, an operation unit 21 outputs a difference between the current instruction Cmd of an R phase and a feedback current Ir. A current loop integration gain 22 has a value of k1. A gain 23 has a value of 1 + α(v) and is provided for correcting the current loop integration gain. A detailed description of the gain 23 will be given later on. Designated by reference numeral 24 is an integrator whose output is a voltage. Designated by numeral 25 is an operation unit; 26, a current loop proportional gain having a value of k2; 27, a gain for correcting the current loop proportional gain having the same value as that of the gain 23 for correcting the current loop integration gain. The operation unit 25 outputs a difference between the output of the integrator 24 and the output of the current loop proportional gain 26. An operation unit 28 outputs a difference between the output of the operation unit 25 and the counter electromotive voltage E(S) of the servo motor. The output of the operation unit 28 is applied as a PWM output to a PWM controlling circuit which controls a servo motor to determine a pulse width. The servo motor is designated by numeral 29, which is a first-order delay element in terms of a numerical equation in which R is a winding resistance of the servo motor and L is an inductance, the output therefrom being a current flowed in the servo motor. In this manner, by the correction of both the current loop integration gain k1 and the current loop proportional gain k2 by another correcting gains "1 + α(v)", the resultant current loop integration gain and the current loop proportional gain can be changed depending upon the rotational speed of the servo motor. Hence, the shortage of torque at the time of high speed rotations and the increment of a speed deflection amount can be prevented. Next, an example of a function α(v) will be described. One example of the function α(v) is shown in Fig. 2 in which the axis of abscissa represents the rotational speed of the servo motor and the axis of ordinate represents the value of the function α(v). When the speed is between 0 and va, the value of α(v) is zero, and when the speed is between va and vb, the value thereof increases linearly as the speed increases. When the speed exceeds vb, the value thereof is clamped at a fixed value αm. Here, the value of α(m) is in the range of approximately from 2 to 2.5, the value of va is approximately 500 r.p.m. and the value of vb is approximately 3,000 r.p.m. It goes without saying that these values are given by way of an example and are variable depending upon the output of the servo motor and the rated number of revolutions, etc. The control of the current control loop is implemented by a microprocessor. An outline of this software processing is shown in Fig. 3, in which the numerals following the character S represents step numbers. Various characters are defined to mean as follows. K₁: Current loop integration gain (after correction) K₂: Current loop proportional gain (after correction) k₁: Current loop integration gain (before correction) k₂: Current loop proportional gain (before correction) T PWM : Pulse width from the PWM circuit [S1] Decision is made as to whether or not the current loop gains (current loop integration gain and the current loop proportional gain) are to be changed. Normally, the changes of these current loop gains are set by parameters. If the current loop gains are not changed, the procedure advances to S3 whereas if they are changed, the procedure advances to S2. [S2] Decision is made as to whether or not the rotational speed of the servo motor is below the value that the function α(v) is to be clamped. If decision made in this step indicates that the speed of the servo motor is below that value, the procedure advances to S4, whereas it is not below that value, the procedure advances to S5. [S3] Since the current loop gain is not changed, the current loop integration gain and the current loop proportional gain both before correction are used as they are. [S4] The current loop gain is corrected as described hereinbefore. K₁ = k₁ (1 + α(v)) K₂ = k₂ (1 + α(v)) [S5] The current loop gain is changed. However, since the rotational speed of the servo motor has reached the clamping region in the function α(v), it is corrected by the clamp value "1 + αm". [S6] In accordance with the current loop gains as obtained in S3, S4 and S5, the pulse width T PWM of the PWM circuit is computed and outputted. In the above description, although the correction function of the current loop gain is made to be linearly increasing as the speed of the servo motor increases, it is possible to employ other functions which varies along another curves depending upon the characteristics of the servo motor. As described, according to the present invention, the current loop gain is rendered increase depending upon the rotational speed of the servo motor so that shortage of torque and increment of the speed deflection amount due to the lowering of the current loop gain at the time of high speed drive can be prevented without causing to occur the oscillation in the current loop at the time of low speed drive and stop.

Claims: A servo motor controlling method for controlling both a speed and a current of a servo motor under a digital control, comprising: providing a current controlling loop in a speed loop; and controlling an integration gain and a loop proportional gain of said current controlling loop so as to be changed depending upon the speed of said servo motor. A servo motor controlling method according to claim 1, wherein said integration gain and said proportional gain are linearly increased with respect to a rotational speed of said servo motor.

Inventors: IWASHITA YASUSUKE FANUC DAI- B, SAKAMOTO KEIJI, SEKI SHINJI, IWASHITA, YASUSUKE FANUC DAI-3 BIRA-KARAMATSU, SAKAMOTO, KEIJI, SEKI, SHINJI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1988
Main classification: G05D13
IPC codes: H02P23, H02P29