Abstract:
A synchronous motor control system includes a sensor (112) for sensing the rotational angle of a synchronous motor (101), and a control circuit (108) for generating a sinusoidal value corresponding to the rotational angle sensed by the sensor (112) and for multiplying the sinusoidal value by an effective value current command. The multiplied output of the control circuit (108) is applied as a current command value to the armature winding of the synchronous motor (101). In this case, the arrangement is such that the control circuit (108) compensates the sensed rotational angle by the actual velocity of the synchronous motor (101) or by a rotational command velocity for the synchronous motor.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is related to our copending U.S. application Ser. No. 637,220 filed July 23, 1984. 
     BACKGROUND OF THE INVENTION 
     This invention relates to a synchronous motor control system for controlling a synchronous motor in such a manner that the torque thereof is held constant. More particularly, the invention relates to a synchronous motor control system capable of reducing a follow-up delay in the current flowing through each of the windings of the synchronous motor. 
     Servomotors are employed widely in a variety of fields, and even AC servomotors have been developed in recent years. Synchronous motors also can be utilized as servomotors. In particular, since synchronous motors which use a permanent magnet as the rotor, are of the brushless type, they are simple in construction and do not generate noise. For these reasons, such synchronous motors are coming into ever wider use. In a synchronous motor of this kind, it is necessary that torque be controlled so as to be constant. To this end, there has been developed a technique in which control is exercised in such a manner that a current of the same phase as an electromotive force induced by the rotor is caused to flow into the windings of the armature, which serves as the stator. This technique will now be described using the drawing of FIG. 1, which shows the construction of a synchronous motor. The magnetic flux density B at a position displaced by θ degrees from the q axis of the magnetic field generated by a rotor 1, namely a permanent magnet, is given by the following: 
     
         B=B.sub.m sin θ                                      (1) 
    
     The magnetic flux φ interlinked with the a winding of a stator 2 shown in FIG. 1 is expressed as follows: 
     
         φ=-φ.sub.m cos θ.sub.c                       ( 2) 
    
     where φ m  represents the magnetic flux on the q axis of the rotor 1. 
     Accordingly, the electromotive force e 1  induced in the a winding is expressed as follows: ##EQU1## (where θ=Pθm=P·ω m  ·t). 
     Likewise, the electromotive forces e 2 , e 3  induced in the b and c windings of the stator 2, which are disposed at angles of 1/3π and 2/3π relative to the a winding, respectively, are expressed by the following: ##EQU2## 
     If we let the currents flowing in the armature windings a, b, c be i 1 , i 2 , i 3 , respectively, then the output torque T of such a three-phase synchronous motor will be expressed by the following: 
     
         T1/2(e.sub.1 ·i.sub.1 +e.sub.2 ·i.sub.2 +e.sub.3 ·i.sub.3)                                        (6) 
    
     Therefore, substituting Eqs. (3), (4) and (5) into Eq. (6), we have: ##EQU3## To render the torque T constant, it should be so arranged that T is independent of the angle θ. Therefore, if the following relations hold, namely: ##EQU4## where I is the current amplitude, then the torque T of Eq. (7) may be written as follows: ##EQU5## Thus, the torque T is constant, being independent of the rotational orientation of the rotor 1. 
     To carry out such control, it is necessary to detect the rotor angle of the synchronous motor and regulate each of the armature current values in accordance therewith. 
     However, if the current flowing through each armature winding is delayed by φ o  from the ideal value, then the currents i 1 , i 2 , i 3  of the respective armature windings will take on the form: ##EQU6## In consequence, the output torque T will be take on the form: ##EQU7## Thus, the torque will decrease in value. 
     In the control circuit of a synchronous motor, the gain of a current control loop is finite and cannot be made infinitely large. A delay in response is, therefore, inevitable. Consequently, even though a rotary encoder for sensing the rotational angle of the synchronous motor may produce an output which is an accurate indication of the rotational angle, the current in the armature winding is delayed from the ideal value. The delay, which is proportional to velocity, becomes large in magnitude. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a synchronous motor control system capable of readily reducing the above-mentioned current follow-up delay. 
     In a motor control system provided with a sensor for sensing the rotational angle of a synchronous motor, and a control circuit for generating a sinusoidal value corresponding to the sensed rotational angle from the sensor, and for multiplying the sinusoidal value by an effective value current command, the multiplied output of the control circuit being applied as a current command value to the armature winding of a synchronous motor, the arrangement is such that the multiplied output of the control circuit compensates the sensed rotational angle by the rotational velocity of the synchronous motor or by a rotational command velocity for the synchronous motor. According to the present invention, the follow-up delay from the ideal current for driving the synchronous motor can be diminished, and the decline in torque can be minimized. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is diagram of the construction of a synchronous motor to which the present invention is applied; 
     FIG. 2 is a waveform diagram for describing the principle of the present invention; and 
     FIG. 3 is a block diagram of an embodiment of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The present invention will now be described in detail based on an embodiment thereof. 
     FIG. 2 is a waveform diagram for describing the principle of the present invention. In FIG. 2, Ad denotes an ideal current waveform, which is identical in terms of phase with the induced electromotive force of a synchronous motor 101, (FIG. 3) and which corresponds to the rotational angle of the synchronous motor 101. The ideal current waveform Ad corresponds to a sensed rotational angle θ of the synchronous motor 101. When a current command produced accordingly is applied to the synchronous motor 101, the actual current waveform is delayed by φ o  resulting in a waveform A R . In other words, the phase is delayed by φ o . According to the present invention, the sensed rotational angle θ is compensated by being advanced in the following manner: 
     
         θ&#39;=θ+V.sub.a ×ΔT                   (10) 
    
     More specifically, the rotational angle is compensated by being advanced in proportion to actual velocity V a . Note that ΔT represents a constant which is determined based on the value of the delay φ o , but which generally is selected to have the following value: 
     
         ΔT&lt;φ.sub.o /V.sub.a                              (11) 
    
     Therefore, a current command according to the present invention has a waveform advanced by V a  ·ΔT relative to the ideal current Ad, as shown by Bd in FIG. 2. 
     As a result, an actual current B R  applied to the synchronous motor 101 also has a waveform advanced by V a  ·ΔT from the conventional actual current A R , so that the delay from the ideal current A d  takes on the following form and, hence, is diminished: 
     
         φ.sub.o -V.sub.a ·ΔT 
    
     Accordingly, the decline in torque diminishes, so that the synchronous motor can be driven in stable fashion. Moreover, since compensation is performed depending upon the rotational velocity, the decline in torque will not take on a large value even at high velocities. 
     Another method of compensation is to use a command velocity V c  and effect the compensation as follows: 
     
         θ&#39;=θ+V.sub.c ×ΔT                   (12) 
    
     FIG. 3 is a block diagram illustrating an embodiment of the present invention, in which numeral 101 denotes a synchronous motor, and numeral 108 designates a computation control unit which performs the functions of a velocity control loop and current loop by means of arithmetic operations. The computation control unit 108 is composed of a processor 108a for performing arithmetic operations in accordance with a motor control program; a program memory 108b for storing the motor control program; a data memory 108c for storing data; an input/output port 108d for receiving commands from an external unit such as an NC unit; an input/output port 108e for delivering a pulse-width modulation command to a timer circuit; an analog-to-digital (AD) converter 108f which receives actual phase currents I au , I av , I aw  from current detectors 112U, 112V, 112W, for converting the actual phase currents into digital values; a counter 108g in which a position code indicating the rotational position α of the field pole of the synchronous motor 101 is initially loaded from a pulse coder 112, the counter thereafter counting rotation pulses P1, P2 generated by the pulse coder 112 whenever the synchronous motor 101 rotates through a predetermined angle; and an address/data bus 108h for interconnecting the foregoing components. The computation control unit 108 can be of microcomputer construction. The pulse coder 112 generates a position code indicating the initial position of the field pole of the synchronous motor 101, as well as rotation pulses produced whenever the synchronous motor 101 rotates through a predetermined angle. Numeral 114 denotes a timer circuit for producing a pulse-width modulated signal the width whereof depends upon the pulse-width modulation command from the computation control unit 108. Numeral 115 denotes an inverter which is provided with a DC voltage by an externally provided three-phase power supply 116 and a rectifying circuit 117 for rectifying the three-phase alternating current into direct current. The inverter 115 has six power transistors Q 1  through Q 6  and six diodes D 1  through D 6 . The power transistors Q 1  through Q 6  have their on/off action controlled by the pulse-width modulated signal to provide the synchronous motor 101 with a drive current. 
     Discussed next will be the operation of the arrangement embodied in FIG. 3 in a case where the velocity command is elevated while the synchronous motor is rotating at a certain velocity. 
     Since the synchronous motor 101 is rotating, the counter 108g, which is loaded with a position code immediately prior to the start of rotation of the synchronous motor 101, counts the rotation pulses P1, P2 which are generated as the synchronous motor 101 rotates. Accordingly, the count in the counter 108g indicates the rotational position of the field pole of synchronous motor 101 at all times. Since the period of the rotational pulses P1, P2 will be proportional to the velocity of the synchronous motor 101, the amount of increase in the count in the counter 108g over a prescribed time interval will correspond to the rotational velocity of the synchronous motor 101. 
     (1) First, to rotate the synchronous motor 101 at a desired rotational velocity V c , the input/output port 108d is supplied with a velocity command VCMD from an external unit such as an NC unit. This command is transmitted to the processor 108a via the bus 108h. 
     (2) The processor 108a reads the value of the count in counter 108g, via the bus 108h, computes the differences between this value and that read previously, and divides the difference by a sampling interval T to compute the actual velocity Va. Another method of sensing actual velocity is to provide a separate counter for measuring the period of the rotation pulses P1, P2, and have the processor 108a read the period and calculate the actual velocity Va. (This is an actual velocity calculation step.) 
     (3) Using the velocity command V c  and the actual velocity V a , the processor 108a obtains an amplitude command Is by performing an operation given by the following equation: ##EQU8## 
     The result I s  in Eq. (13) corresponds to the amplitude of the armature current. When I s  takes on a large value, a large torque is generated, whereby the actual velocity of the synchronous motor is brought into conformity with the commanded velocity. (This is a velocity loop computation step.) 
     (4) Next, the processor 108a reads the counted value θ in counter 108g via the bus 108h. Then, using the actual velocity V a  obtained in the actual velocity computation step, as well as the constant ΔT stored beforehand in the data memory 108c, the processor executes the operation of Eq. (10) to find the rotational angle θ&#39;. (This is a rotational angle compensation step.) 
     (5) The processor 108a retrieves a counted value θ-sin θ, sin (θ-2π3) from a conversion table stored in the data memory 108c, and obtains digital values for sin θ, sin (θ-2π/3) corresponding to the rotational angle θ&#39;. 
     (6) The processor 108a multiplies the amplitude command I s , which was obtained in the velocity loop computation step (3), by the digital values of sin θ, sin (θ-2π/3) to obtain two-phase current commands I a , I b  : ##EQU9## 
     (7) Next, the processor 108a obtains a current command I c , in accordance with the following equation, from the two-phase current commands I a , I b  : ##EQU10## 
     (8) Next, the processor 108a reads, via the bus 108h, the actual currents obtained by a digital conversion applied by the AD converter 108f to the actual phase currents I av , I aw , I au  obtained from the current detectors 112U, 112V, 112W, respectively. The processor 108a computes errors between the three phase current command I a , I b , I c  and the actual phase currents I av , I aw , I au , and multiplies the errors by a predetermined coefficient of amplification to obtain digital three-phase AC signals i u , i v , i w . (The foregoing is a current loop computation step.) 
     (9) Next, the processor 108a multiplies the actual velocity Va, which was obtained in the foregoing velocity loop computation step, by the coefficient kf, obtains a velocity compensation output V co , and subtracts this from the three-phase AC signals i u , i v , i w , thereby obtaining compensated command signals i u , i v , i w . Thus, the current loop is prevented from experiencing a drop in gain caused by a back electromotive force ascribable to the actual velocity V a  of the synchronous motor 101. 
     (10) The processor 108a forms pulse-width modulation commands t u , t v , t w  from the values of the three-phase AC signals i u , i v , i w . That is, the processor computes pulse-width modulation commands t u , t v , t w  indicative of pulse-width values conforming to the values of the three-phase AC signals i u , i v , i w . 
     (11) The processor 108a delivers these commands t u , t v , t w  to the timer circuit 11 via the bus 108h and input/output port 108e. The timer circuit 114 produces pulse-width modulated signals of a predetermined duration from the commands t u , t v , t w  and delivers these signals to the transistors Q 1  through Q 6  of the inverter 115 to supply the synchronous motor 101 with three-phase current. 
     The processor 108a controls the synchronous motor 101 by executing the above-described computations in accordance with the control program in the program memory 108b at the sampling periods T, whereby the synchronous motor 101 is eventually rotated at the commanded velocity. 
     According to the foregoing description, the compensated rotational angle θ&#39; is obtained by the rotational angle compensating step. However, it is permissible to replace the digital values of sin θ, sin (θ-2π/3) corresponding to the counted value θ, which digital values form the contents of the counted value θ-sin θ, sin (θ-2π/3) from the conversion table in the data memory 108c, with sin θ&#39;, sin (θ&#39;-2π/3). 
     According to the present invention as described above, in obtaining a sinusoidal signal of an identical phase necessary for driving a synchronous motor, a rotational angle from a sensor for sensing the rotational angle of the synchronous motor, is compensated by being advanced upon taking the characteristic delay of a feedback loop into consideration. The advantage obtained is a reduction in follow-up delay from an ideal current for driving the synchronous motor. A decline in torque can also be diminished. In addition, since the advancing compensation is performed by using the actual rotational velocity of the synchronous motor or by the commanded velocity, there is no large-scale decrease in torque even when velocity becomes large in magnitude. Accordingly, a decrease in torque at high velocities can be prevented. Further, since the foregoing is achieved merely by using advancing compensation, the invention can be realized simply and easily. The invention therefore exhibits important practical advantages. 
     It should be noted that while the present invention has been described in accordance with an embodiment thereof, the present invention is not limited to the above-described embodiment but can be modified in various ways in accordance with the gist thereof, and that such modifications will not depart from the scope of the claim. 
     INDUSTRIAL APPLICABILITY 
     According to the present invention, it is possible to diminish a follow-up delay in the current flowing through each of the windings of a synchronous motor. The invention is well-suited for application to a system wherein a synchronous motor, utilized as a servomotor, is controlled to hold the torque thereof constant.