Servomotor control device

Abstract: A servomotor control device including a drive pulse generating circuit (16) for generating a pulse signal having a frequency corresponding to an actual frequency of a servomotor (25), and arithmetic operation unit (11) for outputting a control signal on the basis of the pulse signal for control of the servomotor. The arithmetic operation unit generates the control signal by implementing an extrapolation correction on the basis of preestimated variation of a frequency of the servomotor due to a time delay between a moment when the pulse signal is generated and a moment when the control signal is applied to the servomotor.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to a servomotor control device for controlling the frequency of a servomotor according to information on the actual frequency of the servomotor. 2. Description of the Related Art To control servomotors in DAT (digital audio tape recorder), VCR (video cassette recorder), etc., for example, a servomotor for driving a rotating head drum, a servomotor for driving a capstan, a servomotor for driving a tape reel, and the like, a signal indicative of the actual frequency of the servomotor is used. As the signal indicative of frequency of a servomotor, a pulse signal which is generated once or more in one revolution of the servomotor by sensing, with a sensor (frequency generator), one or more magnetic poles mounted on a rotating mechanism, is used. From an interval of such pulse signal, a frequency is calculated. This measured frequency is compared with a target frequency, and the difference between them is used to generate a control signal for the servomotor. For such control signal, in the case of an AC motor, an analog waveform signal, produced by a PWM (pulse width modulation) circuit, for example, is used, and in the case of a DC motor, an analog voltage signal produced by a PWM circuit or a D-A (digital-to analog) converter or the like, is used. A prior servomotor contol device as described above, above, in which a frequency is calculated from an interval of a pulse signal received from a frequency generator, and which calculates a servomotor control signal only by comparing this calculated frequency with a target frequency, has a disadvantage described below. Because of a time delay between the moment when the pulse signal is supplied from the frequency generator and the moment when the servomotor control signal is calculated, which occurs whether the above-mentioned calculation is executed by hardware or software, it is impossible to output, at the moment when the pulse signal is received, a control signal adapted for that moment. Generally, the time delay can be made a small value if servo control is implemented by hardware. In servo control by software, because the arithmetic operations include time-consuming operations such as multiplication in addition to addition and subtraction, the time delay becomes a considerable value. Therefore, though the output control signal is the value optimum for the moment when the pulse signal is obtained, it differs from the value optimum for the moment when the control signal is outputted. As a result, problems arise such as a lowering of response speed of a servo control system, and the occurrence of ringing such that the motor speed does not converge, but its amplitude oscillates in progression, making it difficult for the servo system to stay in a stable condition. IBM Technical Disclosure Bulletin, vol. 32, no. 6B, November 1989 discloses a method of digital control of a spindle motor. A servo system operates to rotate the motor at constant velocity. To measure the rotational speed, one or more pulses are generated per revolution. The servo system compares an interval of the pulses with a target value, calculates a velocity error and feeds back the proper value. The algorithm for calculating the velocity error takes into account a computational delay. SUMMARY OF THE INVENTION It is an object of the present invention to provide a servomotor control device which provides a quick response and prevents ringing of a servomotor. According to the invention, there is provided the servomotor control device defined by claim 1. The subclaims are directed to an embodiment of the invention. It is possible to preestimate a time delay between the moment when a pulse signal is generated and the moment when a servomotor control signal is outputted because the period of time required for arithmetic operation is substantially constant as long as the same arithmetic operation is performed. The variation of the servomotor rotation speed for this delay time is preestimated by extrapolative calculation. A control signal according to the preestimated speed is outputted. Thus, the control signal is outputted in real time, whereby the motor's response speed becomes high enough, and therefore, servo control can be performed stably without occurrence of ringing of a servomotor. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a flowchart of an interruption routine in an embodiment of the present invention; Fig. 2 is a block diagram schematically showing a construction of the servomotor control device of the embodiment of Fig. 1; and Fig. 3 is a timing chart showing the relation among values of various operations in the embodiment of Fig. 1. BRIEF DESCRIPTION OF THE PREFERRED EMBODIMENT An embodiment of the present invention will now be described with reference to the drawings. Fig. 2 is a block diagram schematically showing a construction of a servomotor control device of a VCR according to an embodiment of the present invention. In Fig. 2, reference numeral 10 denotes a microcomputer for servo control. This microcomputer 10 includes a CPU 11, a ROM 12, a RAM 13, a PPG (programmable pattern generator) 14, an FRC (free run counter) capture circuit 15, a drive pulse generating circuit 16, an SIO (serial interface unit) 17 for input/output conversion of serial data, a timer/counter 18, an analog-to-digital converter 19, and a general-purpose input/output port 20. Those components are interconnected through an internal bus 21. Connected to this microcomputer 10 are a VCR rotating head drum 22, a CTL head (control head) 23, a capstan drive motor 25 through a drive circuit 24, a rotating head drum drive motor 27 through a drive circuit 26, a capstan frequency generator 28, a frequency generator 29 of the rotating head drum 22, a pulse generator 30 of the rotating head drum 22, and a quartz oscillator 31. The PPG 14 generates various signal patterns, including a head switching pulse HSW of the rotating head drum 22, a control signal HAMP of a head amplifier (not shown), a record control signal REC-CTL of the CTL head 23, a false vertical synchronizing signal FV, and an audio head switching pulse A-HSW . Since the PPG 14 is not directly concerned with the present invention, its detailed explanation will not be given. The FRC capture circuit 15 having a free run counter as a main component, latches a capstan frequency pulse C-FG received from the capstan frequency generator 28, a drum frequency pulse D-FG received from the frequency generator 29 of the rotating head drum 22, a drum pulse D-PG received from the pulse generator 30 of the rotating head drum 22, and a reproduction control signal PL-CTL received from the CTL head 23, in synchronism with the timing of a pulse edge of a vertical synchronizing signal VSYNC. The actual rotational position of each motor is represented by count values of the free run counter, and it is supplied to the CPU 11. The above-mentioned frequency generators 28 and 29 are used for detecting the actual speeds of the capstan drive motor 25 and the rotating head drum drive motor 27 respectively. The CPU 11 performs arithmetic operations by using count values of the free run counter supplied from the FRC capture circuit 15, and outputs motor control signals to the drive pulse generating circuit 16. The drive pulse generating circuit 16 is a duty control circuit. According to control quantities supplied from the CPU 11, it produces PWM signals for controlling the frequencies and the phases of the capstan drive motor 25 and the rotating head drum drive motor 27, and outputs the signals to the drive circuits 24 and 26 respectively, whereby the capstan drive motor 25 and the rotating head drum drive motor 27 are servo-controlled. The analog-to-digital converter 19 is provided for inputting data used for adjustment and signals from a capstan sensor and a mechanism sensor. The general-purpose input/output port 20 receives a signal from a reel sensor, and outputs a capstan control signal and a mechanism control signal. Fig. 1 is a flowchart of an interrupt routine that CPU 11 executes in calculating control quantities for the capstan drive motor 25. This interruption routine is triggered by a rising edge of the capstan frequency pulse C-FG received from the frequency generator 28. At step S1, the FRC capture circuit 15 latches the count value of its free run counter as a count value C frc . At step S2, the preceding count value C frc ' of the free run counter at the previous interruption routine process is read out from a specified storage location M1 of RAM 13, and the new count value C frc of the free run counter at the interruption routine process in this instance is stored in the storage location M 1 . At step S3, a value T n representing a period at that moment of the capstan frequency pulse C-FG is calculated from an equation: T n = C frc - C frc '. At step S4, a value X n-1 representing a preestimated speed of the capstan drive motor 25 which has been obtained at the previous interruption routine process is read out from a specified storage location M n-1 of the RAM 13. At step 55, a value X n representing a new preestimated speed of the capstan drive motor 25 is calculated by the equation given below. X n = X n-1 - (X n-1 - 1/T n ) T n / (T n - T x ) = X n-1 - (X n-1 T n - 1) / (T n - T x ) The initial value X 1 is given by the following equation. X 1 = 1/T 0 - (1/T 0 - 1/T 1 ) (T 1 + T x ) / T 1 where T x is a value corresponding to a delay time between the moment when a capstan frequency pulse C-FG rises and the moment when a servomotor control signal is outputted after an arithmetic operation is performed by using values latched at the time of rise of the pulse C-FG. In this embodiment, a constant value is as Tx. At step S6, the calculated value X n representing the preestimated speed of the capstan drive motor 25 is stored in the storage location M 2 . At step S7, using the preestimated speed X n , a control signal O n for the capstan drive servomotor 25 is calculated by the following equation, and the calculated control signal is outputted to the drive pulse generating circuit 16. O n = f (X n ) where f (X n ) is a function to calculate the control output for the servomotor from the preestimated speed X n of the servomotor. This function differs for different servo loops. It is adapted to characteristics of servomotors in use, a servo gain, etc. After step S7, the CPU 11 returns from this interruption routine to the main routine. Fig. 3 is a timing chart showing the relation among the capstan frequency pulse C-FG, the value T n representing the period of the pulse C-FG, delay time T x , and the value X n representing the preestimated speed of the capstan drive motor 25. The capstan frequency pulse C-FG is supplied at timings of t 0 , t 1 , ..., t n-1 , t n . For each pulse, the interruption routine shown in Fig. 1 is executed, whereby the periods T 0 , T 1 , ..., T n-1 , and T n are calculated. Reciprocals 1/T 0 , 1/T 1 , ..., 1/T n-1 , and 1/T n of the periods T 0 , T 1 , ..., T n-1 , and T n correspond to the speeds of the capstan drive motor 25. Those calculated speeds represent speeds at timings of t 0 , t 1 , ..., t n-1 , and t n . However, the actual time when a control signal for the capstan drive motor 25 generated on the basis of the calculated speeds is outputted is delayed by Tx from the timing t 0 , t 1 , ..., t n-1 , and t n . Therefore, in this embodiment, the preestimated speed X n indicating the speed after Tx of the capstan drive motor 25 is calculated by the above-mentioned linear extrapolation formula X n = X n-1 - (X n-1 T n - 1)/T n - T x ). Consequently, a servo-controlled quantity exactly corresponding to the speed X n at the time when the controlled quantity is actually outputted can be obtained, so that the servomotor's response speed is increased substantially, making it possible to perform servo control stably without occurrence of ringing. Description has been made of servo control of the capstan drive motor 25. However, the rotating head drum drive motor 27 is also servo-controlled in the same manner. The present invention may be applied not only to the servo control device of VCR, but also to the servo control device of DAT or other systems. Though the delay time T x due to the arithmetic operation is made constant in the above embodiment, it may be variable value.

Claims: A servomotor control device comprising: pulse generating means (28,29) for generating a pulse signal (C-FG,D-FG) having a frequency corresponding to an actual frequency of a servomotor (25, 27); and arithmetic operation means (11) for outputting a control signal representing a preestimated speed of the servomotor, said arithmetic operation means generating said control signal by implementing an extrapolation correction on the basis of preestimated variation of a frequency of said servomotor due to a time delay between a moment when said pulse signal is generated and a moment when said control signal is applied to said servomotor; characterized in that said arithmetic operation means calculates said preestimated speed X n in accordance with the following equation X n = X n-1 - (X n-1 T n - 1) / (T n - T x ) where T n is a value corresponding to a difference between a period of said pulse signal received from said pulse generating means and a period of a preceding pulse signal received previously from said pulse generating means, X n-1 is a preceding preestimated speed previously calculated by said arithmetic operation means, and T x is a value corresponding to a period of time between a moment when a pulse signal is received from said pulse generating means and a moment when a control signal is outputted from said arithmetic operation means, an initial value X 1 of said preestimated speed being expressed by the following expression X 1 = 1/T 0 - (1/T 0 - 1/T 1 ) (T 1 + T x ) / T 1 . A servomotor control device according to claim 1, wherein said pulse generating means comprises a pulse generator (28) for detecting a frequency of a capstan drive motor (25) of a DAT or VCR. A servomotor control device according to claim 1, wherein said pulse generating means comprises a pulse generator (29) for detecting a frequency of a rotating head drum drive motor (27) of a DAT or VCR.

Inventors: NAKAI TOSHIFUMI, NAKAI, TOSHIFUMI
Applicants: SHARP KK, SHARP KABUSHIKI KAISHA
Application year: 1992
Main classification: G05D13
IPC codes: H02P29, H02P5, H02P23, G11B15