logo
Process Patrol

Welcome to my site.
This project was developed by a former Engineer and now a patent agent assistant studding towards LLM degree. Seeing new inventions is very interesting to me. I created this site to outlines my favorite inventions along with inventions that I believe have potential.

Servomotor velocity control method

by Kurakake, Mitsuo; Sakamoto, Keiji; Toyosawa, Yukio;



TECHNICAL FIELD

This invention relates to a method of controlling the velocity of a servomotor for driving a load such as a machine tool or industrial robot.

BACKGROUND ART

When subjecting the velocity of a servomotor to feedback control, it is necessary to sense the actual velocity of the motor. To this end, conventional practice is to use a rotary encoder, by way of example. 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.

Accordingly, the spacing between adjacent output pulses becomes very wide and the pulses become discrete in nature, especially when the servomotor rotates at a low velocity. When these pulses are used as motor rotation information in digital control, irregular rotation is the result.

Thus, when a rotary encoder for sensing the position of a mechanical load is used for sensing the velocity of a servomotor, velocity resolution is poor in comparison with an analog sensor and highly precise, smooth velocity control cannot be carried out.

DISCLOSURE OF THE INVENTION

An object of the present invention is to provide a servomotor velocity control method, in which when velocity is estimated based on position information from a rotary encoder, load torque such as Coloumb friction, which is a cause of a steady-state estimating error, is estimated at the same time to obtain an estimated value of velocity, and in which an observer (estimating unit) is used for obtaining the estimated value of velocity, use or non-use of the observer is selected in dependence upon the motor velocity, thereby lightening the burden on a central processing unit (CPU).

According to the present invention, there is provided a servomotor velocity control method in which position information from a rotary encoder mounted on a servomotor driving a mechanical load is fed back and a torque command signal is produced for application to the servomotor. The method comprises steps of comparing a reference velocity set for the servomotor and the motor velocity, calculating an estimated value of load torque when the motor velocity is less than the reference velocity, calculating an estimated value of velocity of the servomotor based on position information from the rotary encoder, motor current of the servomotor and the estimated value of load torque, and calculating the torque command signal based on the estimated value of velocity and a velocity command signal.

The servomotor velocity control method of the invention is such that when velocity is sensed by using the observer for obtaining the estimated value of velocity while the motor load torque is estimated, use or non-use of the observer is selected in dependence upon the motor velocity. This lightens the burden on the central processing unit (CPU) and enables velocity to be sensed accurately in a low-velocity region.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart illustrating observer processing at a motor current loop level according to the present invention,

FIG. 2 is a block diagram of a control circuit to which the ve1ocity control method of the present invention can be applied,

FIG. 3(a) is a view for describing a motor current loop processing level,

FIG. 3(b) is a view for describing a velocity processing level,

FIG. 4 is a flowchart illustrating observer processing at a motor current loop level, and

FIG. 5 is a flowchart illustrating velocity loop processing.

BEST MODE FOR CARRYING OUT THE INVENTION

An embodiment of the present invention will now be described in detail with reference to the drawings.

FIG. 2 is a block diagram of a velocity control method according to the present invention. Numerals 1 through 3 denote arithmetic units, 4 an estimating unit (observer) and 5 a motor. V.sub.c represents a velocity command, U a torque command signal, I motor current and I.sub.L current indicative of a load torque. V represents the velocity of the motor, .theta. a position signal, k.sub.1 integration gain, k.sub.2 feedback gain, K.sub.m a motor constant, and T.sub.m a ratio between L.sub.a and R.sub.a, namely the value of L.sub.a /R.sub.a, where Ra denotes motor winding resistance and La represents inductance. Further, K.sub.t is a torque constant, J stands for inertia which is the total of the load and motor inertia, and K.sub.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. A velocity control method in which a velocity sensor is combined with the estimating unit has been proposed in Japanese Patent Application No. 59-55114.

The operation of this velocity control system will now be described.


Dirty filter indicator Passive vibration isolating system
Aqueous ink composition Christmas lamp socket
Powered oscillating hand tool Sequential connector
Storage cabinet RAM connector
Facial tissue pocket pack Slab lifter
Turret type yarn winder Magnetic disk apparatus
Introductory portion Enossal implant
Aircraft landing-gear with skids Paper cushioning product
Support structure for decorative mobile Small-diameter metallic conduit bending machine
Aquarium heater and cooler Air sealing for turbomachines
Forklift Service providing method and system
Gun shot digital imaging system Amide substituted imidazopyridines
Drag mold release mechanism Folic acid derivatives
Sign support having offset pivot Oxotetrahydrothiophenes
Adjustable dunnage rack Image forming apparatus
Retipped top-drive filling spindles Master-slave manipulator control
Video signal processing Circuit isolator
Window for spirally formed containers Level indicating circuit
Inbred corn line LH186 Crystal isolation housing
Planar antenna Synchronizing waveform generator
Offset face gear transmission Diverter valve
Thermoformable plastic framin/connecting strip Apparatus for resheathing hypodermic needles
Clamps Gluteal muscle exercise apparatus
Bottle package Automatic multimeter
Baffle vent structure Trephine and method
Inner cable lubricator

First, the arithmetic unit 1 produces an output indicative of the difference between the velocity command Vc and an estimated value 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 by the feedback gain k.sub.2 is applied to the arithmetic unit 2, which outputs the difference between its two input signals as the torque command U, thereby controlling the motor 5. The velocity of the motor is outputted as V, and a position signal .theta. is sensed by a rotary encoder. The position signal .theta. includes load torque information, since the current I.sub.L, which is indicative of the load torque (Coulomb friction), is added thereto at the arithmetic unit 3.

In such a velocity control method, the estimated value V of velocity is obtained by using 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 signal 0, which takes into account the motor current I and the current I.sub.L indicative of load torque, is applied to the observer 4, which proceeds to output the estimated value V of velocity.

Let us describe this point in detail. If an identity observer is constructed for the motor current I, motor velocity V, position signal .theta. and current I.sub.L representative of load torque, we will have ##EQU1##

What are actua11y sensed and applied to the observer 4 are the motor current I and position signal .theta.. An identity observer for digital processing is as follows: ##EQU2##

where T is a sampling period and .lambda..sub.1, .lambda..sub.2, .lambda..sub.3 are gains of the observer 4. These values are set in inverse proportion to time needed for the estimated value to converge to a true value.

In order to process the above by a microprocessor, the observer 4 is implemented by the following algorithm: ##EQU3##

FIG. 3 is a view useful in describing information processing for obtaining the predicted value V of velocity. FIG. 3(a) is for describing the processing level (j) of a motor current loop, and FIG. 3(b) is for describing a velocity processing level (m).

The observer 4 is equipped with a counter for integrating a number of pulses .sub..DELTA. .theta. which arrive from the rotary encoder at sampling times T. It is assumed that gains .lambda..sub.1, .lambda..sub.2, .lambda..sub.3 which will bring an estimating error to zero within e.g. five periods are calculated and given in advance.

FIG. 4 illustrates a flowchart of processing performed by the observer at the motor current loop processing level. FIG. 5 illustrates a flowchart of velocity loop processing.

First, with regard to the motor current loop, the observer 4 reads in position information .sub..DELTA. .theta..sub.j and motor current I.sub.m. Next, these are integrated. Then, based on Eq. (1), position estimation information .sub.66 .theta..sub.m+1, velocity estimation information V.sub.m+1 and current estimation information I.sub.Lm+1 indicative of load are calculated. When this processing has been performed for the fifth time, V.sub.m+1 is delivered to a velocity procesing program. This relationship is evident from FIGS. 3(a) and 3(b).

Next, in velocity loop processing as indicated by the flowchart of FIG. 5, the observer 4 reads in velocity commands V.sub.5m and then integrates them. Next, the integrated value is multiplied by the integration gain k.sub.1 and from this product is subtracted the product of velocity estimation information V.sub.5m and feedback gain k.sub.2, whereby the torque command U.sub.5m is obtained.

FIG. 1 illustrates a flowchart of processing performed by the observer 4 at the motor current loop processing level according to the present invention. After the observer 4 reads in the position information .sub..DELTA. .theta..sub.j motor current I.sub.m, the position information .DELTA..theta..sub.j and reference velocity V.sub.s are compared. When the motor velocity is greater than a fixed velocity, the present velocity is estimated based on pulses obtained from the rotary encoder and the estimated value of velocity is delivered to the velocity processing program to obtain a torque command without executing observer processing. In this point the processing differs from the flow of observer processing shown in FIG. 4, but in other respects the processing is identical.

When, say, 1500 rpm is selected as the reference velocity Vs and the sensed velocity is less than 1500 rpm, observer processing is executed so that low velocities can be sensed accurately.

The present invention is not limited to the above-described embodiment but can be modified in various ways within the scope of the claims.

INDUSTRIAL APPLICABILITY

The servomotor velocity control method according to the present invention makes possible highly precise velocity control even when a servomotor is driven at a low velocity. The invention is particularly well-suited to operating a machine tool bed or industrial robot, which require to be controlled in a highly precise manner.