SYSTEM FOR CONTROLLING THE SPEED OF A SERVO MOTOR

Abstract: A system for controlling the speed of a servo motor is provided with an estimating unit (4) which produces an estimated speed value () relying upon position data (ϑ) of a rotary encoder including a current (I L ) that represents a load torque and upon a motor current (I) of a servo motor (5). The system produces a torque instruction signal (U) based upon said estimated speed value () and a speed instruction signal (Vc).

Description: This invention relates to a system for controlling the velocity of a servomotor used for example, but not necessarily, in a machine tool, an industrial robot and the like. When subjecting the velocity of a servomotor to feedback control, it is necessary to sense the actual velocity of the motor. An example of conventional means for sensing actual velocity is a rotary encoder for sensing position. The rotary encoder is adapted to generate from several thousand to 20,000 pulses per revolution of the motor, the frequency of these output pulses being proportional to the rotational velocity of the motor. With a rotary encoder, however, the spacing between adjacent pulses becomes very wide and the pulses become discrete in nature, especially when the motor rotates at a low velocity. When these pulses are used as motor rotation information, irregular rotation is the result. Thus, when it is attempted to employ a rotary encoder used for sensing position as means for sensing velocity, velocity resolution is poor in comparison with an analog sensor. For this reason, highly precise, smooth velocity control cannot be carried out. In addition to the known servomotor velocity control systems employing a rotary encoder to sense actual velocity, there are also known servomotor velocity control systems employing an estimating unit in the form of an observer. Such systems are disclosed for example in the journal Regelungstechnik, vol. 26, no. 11, Nov. 1978, page 350, Fig. 2, and also in DE-A-2 802 224. A document which discloses the use of both a rotary encoder and an observer is "Denki Gakkai Kenkyukai Shiryo" IP-82-36, pp 21-28, published on 8th October 1982 wherein is disclosed a servomotor velocity control system provided with an observer estimating the velocity on the basis of the voltage of the motor and the position information of a rotary encoder. According to the present invention, there is provided a servomotor velocity control system for a servomotor driving a mechanical load, comprising arithmetic means for calculating a torque command signal for application to the servomotor in dependence upon a velocity command signal and a fed-back velocity value, the torque command signal being influenced by the output signal of an estimating unit coupled with the servomotor, wherein a rotary encoder is mounted on the servomotor for delivering position information, and the estimating unit estimates said velocity value, as its output signal, based on position information from the rotary encoder, motor current of the servomotor, and a current indicating load torque, which current is calculated by the estimating unit. The present invention provides a servomotor velocity control system, in which when velocity is estimated by an estimating unit based on position information from a rotary encoder mounted on a servomotor, load torque, which is a cause of a steady-state estimating error, is estimated at the same time to enable smooth, highly precise velocity control. The servomotor velocity control system of the invention obtains the estimated value of velocity upon taking load torque, which is a cause of a steady-state estimating error, into account. This eliminates or reduces the shortcoming of the prior art employing a rotary encoder alone for velocity measurement, wherein the pulses from the rotary encoder become discrete when the servomotor is rotating at low velocity. The present invention makes it possible to obtain a suitably interpolated value of estimated velocity and to control velocity in a highly accurate manner. Brief Description of the Drawings Fig. 1 is a block diagram of a velocity control system according to the invention, Fig. 2(a) is a view for describing a motor current loop processing level, Fig. 2(b) is a view for describing a velocity processing level, Fig. 3 is a flowchart illustrating observer processing at a motor current loop level, and Fig. 4 is a flowchart illustrating velocity loop processing. The present invention will now be described in detail based on an embodiment illustrated in the drawings. Fig. 1 is a block diagram of a velocity control system according to the present invention. Numerals 1 through 3 denote arithmetic units, 4 an estimating unit, namely an observer, and 5 a servomotor. V c represents a velocity command, U a torque command, I motor current and I L current indicative of a load torque. V represents the velocity of the servomotor, ϑ position, k₁ integration gain, k₂ feedback gain, K m a motor constant, and T m a ratio between L a and R a , namely the value of L a /R a , where Ra denotes motor winding resistance and La represents inductance. Further, K t is a torque constant, J stands for the total inertia of the load and motor, and K p is a conversion coefficient decided by the rotary encoder. S represents d/dt. Further, the estimating unit per se is one commonly in use. An arrangement in which a velocity sensor is combined with the estimating unit has been proposed in Japanese Patent Application No. 59-55114. The operation of the velocity control system according to the invention will now be described. First, the arithmetic unit 1 produces an output indicative of the difference between the velocity command Vc and an estimated value V and of velocity, described below. The output signal is integrated and then applied to the arithmetic unit 2. The result of multiplying the estimated value V of velocity, described below, by the feedback gain k₂ is applied to the arithmetic unit 2, which outputs the difference between its two input signals as the torque command U, by which the motor 5 is controlled. The velocity of the motor 5 is outputted as V, and position ϑ is sensed by a rotary encoder. The information indicative of the position ϑ includes the results of adding the current I L , which is indicative of the load torque (Coulomb friction), at the arithmetic unit 3. In the present invention, the estimated value of velocity is obtained by using the estimating unit, namely the observer 4. At this time the load torque, which is a cause of a steady-state estimating error, is estimated simultaneously. Specifically, the position information ϑ, which takes into account the motor current I and the current I L indicative of load torque, is applied to the estimating unit 4, which proceeds to output the estimated value V and of velocity. Let us describe this point in detail. If an identity observer is constructed for the motor current I, motor velocity V, position ϑ and current I L ascribable to torque, we will have What are actually sensed and applied to the estimating unit, namely the observer 4, are the motor current I and position ϑ. An identity observer for digital processing is as follows: where T is a sampling period and λ₁, λ₂, λ₃ are observer poles, which are decided by the number of convergence steps necessary. In order to process the above by a microprocessor, the observer is implemented by the following algorithm: Fig. 2 is a view useful in describing information processing for obtaining the predicted velocity V and. Fig. 2(a) is for describing the processing level (j) of a motor current loop, and Fig. 2(b) is for describing a velocity processing level. The observer 4 is equipped with a hardware counter for integrating a number of pulses Δ ϑ which arrive from the rotary encoder in the sampling time period T. In this case, it is assumed that observer poles λ₁, λ₂, λ₃ which will bring a estimating error to zero in five steps are calculated and given in advance. Fig. 3 illustrates a flowchart of processing performed by the observer at the motor current loop processing level. Fig. 4 illustrates a flowchart of velocity loop processing. First, with regard to the motor current loop, the observer 4 reads in position information Δ ϑ j and motor current I m . Next, these are integrated. Then, based on Eq. (1), the observer 4 calculates position estimation information Δ ϑ and m+1 , velocity estimation information V and m+1 and current estimation information I and Lm+1 indicative of load. When the observer 4 has performed this processing for the fifth time, the velocity estimation information V and m+1 is delivered to a velocity procesing program. This relationship is evident from Figs. 2(a) and 2(b). Next, in velocity loop processing as indicated by the flowchart of Fig. 4, the observer 4 first reads in velocity commands V 5m and then integrates them. Next, the observer 4 multiplies the integrated value by the integration gain k₁ and subtracts from this product the product of velocity estimation information V and 5m and feedback gain k₂, thereby obtaining the torque command U 5m . Thus, according to the present embodiment, the estimating unit 4 obtains the estimated value V and of velocity based on the position signal from the rotary encoder, which signal is inclusive of the current I L indicating load torque, and the motor current I of servomotor 5. This solves the shortcoming of the prior art, wherein the pulses become discrete in nature, as when the motor is rotated at a low velocity, and makes it possible to obtain a value of estimated velocity that is suitably interpolated. In other words, since load torque, which causes a steady-state estimating error, can be estimated simultaneously, smooth, highly precise velocity control can be carried out even while employing a digital control system that exhibits a velocity resolution poorer than that of an analog control system. Though the present invention has been described based on the illustrated embodiment, the invention is not limited solely to the embodiment but can be modified in various ways in accordance with the scope of the claims. As set forth above, the present invention makes possible highly precise velocity control even at a low servomotor velocity. The invention is particularly well-suited to velocity control of servomotors for operating a machine tool bed or industrial robot, which require to be controlled in a precise manner.

Claims: A servomotor velocity control system for a servomotor (5) driving a mechanical load, comprising arithmetic means (1,2) for calculating a torque command signal (U) for application to the servomotor (5) in dependence upon a velocity command signal (V C ) and a fed-back velocity value (V and), the torque command signal (U) being influenced by the output signal of an estimating unit (4) coupled with the servomotor (5), wherein a rotary encoder is mounted on the servomotor (5) for delivering position information (ϑ), and the estimating unit (4) estimates said velocity value (V and), as its output signal, based on position information (ϑ) from the rotary encoder, motor current (I) of the servomotor, and a current (I L ) indicating load torque, which current is calculated by the estimating unit (4). A servomotor velocity control system according to claim 1, characterised in that said arithmetic means has a first arithmetic unit (1) for calculating the difference between said velocity command signal (V c ) and said value of estimated velocity (V and), and a second arithmetic unit (2) for outputting said torque command (U) based on the output value from said first arithmetic unit (1) and said estimated velocity value (V and) from the estimating unit (4).

Inventors: KURAKAKE, MITSUO IZUMI-HAITSU 103, 3-10, SAKAMOTO, KEIJI FUYOU-HAITSU 102, 65-4, TOYOSAWA, YUKIO 2-4, TAKAKURA-CHO
Applicants: FANUC LTD.
Application year: 1985
Main classification: H02P5
IPC codes: G05B13, H02P29, H02P6, G05B11, H02P5