1. Field of the Invention
The present invention relates to a motor drive apparatus which is, for example, used for driving an X-Y table of a monolithic wire bonder or a die bonder serving as one of IC manufacturing apparatus, and a method of controlling the same.
2. Description of the Related Art
There is known a method of accurately stopping a motor at a target position, as disclosed in Unexamined Japanese Patent Application No. 55-77384/1980. In this prior art, after the motor passes through the target position, an error extreme point is obtained in order to determine a current value to be supplied to the motor to correct the error. Then, a rectangular current is supplied to the motor so as to eliminate the error and stop the motor at the target position.
Hereinafter, a background technology of the present invention will be explained. FIG. 10 is a block diagram showing one example of a motor drive apparatus controlling a typical three-phase synchronous motor. FIG. 11 is a detailed view showing a motor 1 of FIG. 10. FIG. 12 is a view showing inductive voltages of the motor 1 of FIG. 10. FIG. 13 is a view showing output signals from an encoder 2 shown in FIG. 10. FIG. 14 is a view showing an operation of a pulse converter 3 shown in FIG. 10. And, FIG. 15 is a detailed view showing a magnetic pole detector 4 of FIG. 10.
In FIG. 10, a reference numeral 1 represents a three-phase synchronous motor equipped with 9 slots and 6 poles. More specifically, as shown in FIG. 11, this three-phase synchronous motor comprises a stator 5 and a rotor 6. The stator 5 is associated with three coils of U-phase 7, V-phase 8, and W-phase 9 windings. This motor 1 has nine slots 10 disposed on an inside surface of the stator 5 which are spaced at intervals of 40 degrees. These nine slots 10 are wound by the coil windings in the order of U-phase, V-phase, and W-phase repetitively so as to form a star connection. On the other hand, the rotor 6 has six permanent magnet poles 11 disposed on the outer circumferential surface thereof.
An operational principle of the motor 1 will be explained below. The rotor 8 causes a magnetic field corresponding to its rotational position, which interacts with three, U-phase 7, V-phase 8, and W-phase 9, windings on the stator 5. Therefore, these three windings 7, 8, and 9 generate voltages due to Lorentz's force. Namely, three, U-phase 12, V-phase 13, and W-phase 14, inductive voltages of sine waveform are generated at intervals of 120 degrees as shown in FIG. 12 because a magnetic field to each winding is cyclically increased and decreased in response to spatial positioning of the permanent magnet 11 which cyclically approaches to and departs from each winding during one complete revolution of the rotor 6.
If sine-wave currents being in-phase with these inductive voltages of FIG. 12 are supplied to the U-phase 7, V-phase 8, and W-phase 9 windings, respectively, the rotor 6 generates a torque in a clockwise (abbreviated as CW) direction due to Fleming's left-hand rule. The magnitude of the torque generated is proportional to an amplitude of the current supplied. Moreover, if the above currents are further multiplied with -1 and delayed 180 degrees in phase before being supplied to respective windings, the rotor 6 generates a torque in a counterclockwise (abbreviated as CCW) direction.
In FIG. 10, a reference numeral 2 represents an optical encoder having three channels and installed on a rotor shaft of the motor 1. When the motor i rotates in the clockwise (CW) direction, the encoder 2 generates an A-phase signal 15 and a B-phase signal 18 having a mutual phase difference of 90 degrees therebetween as shown in FIG. 12, together with a Z-phase pulse signal 17 corresponding to one of zero-crossing 20 points of the U-phase inductive voltage 12. If the motor 1 rotates in the counterclockwise (CCW) direction, the phase relationship between the A-phase signal 15 and B-phase signal 16 are reversed. Therefore, the rotational direction of the motor 1 is easily judged by checking the phase relationship between the A-phase signal 15 and the B-phase signal 18.
A reference numeral 3 represents a pulse converter connected to the encoder 2. This pulse converter 3 converts the A-phase and B-phase signals 15 and 18 into a CW pulse signal 18 as shown in FIG. 14 when the motor 1 rotates in the clockwise direction. On the contrary, this pulse converter 3 converts the A-phase and B-phase signals 15 and 16 into a CCW pulse signal 19 as shown in FIG. 14 when the motor 1 rotates in the counterclockwise direction. A reference numeral 4 represents a magnetic pole detector comprising a counter 20, a U-phase current phase command table 21, and a W-phase current phase command table 22. As shown in FIG. 15, the counter 20 receives the signals fed from the pulse converter 3 so as to effect its count-up and count-down operations in response to the CW pulse 18 and the CCW pulse 19, respectively. Furthermore, the counter 20 is connected to the encoder 2 so as to effect its clear operation in response to the Z-phase signal 17. The U-phase current phase command table 21 memorizes the phase of the U-phase inductive voltage 12 with respect to the Z-phase signal 17 of the encoder 2. The W-phase current phase command table 22 memorizes the phase of the W-phase inductive voltage 14 with respect to the Z-phase signal 17.
An operation of the magnetic pole detector 4 will be explained below. The counter 20 is cleared at the zero-cross point of the U-phase inductive voltage 12 in response to the Z-phase signal 17 fed from the encoder 2. When the motor 1 rotates, a rotational displacement or shift amount from the above zero-cross point of the U-phase inductive voltage 12 is counted by the counter 20. The counted value becomes a pointer 23 of the U-phase current phase command table 21 for outputting a phase value of the U-phase inductive voltage 12 corresponding to the present rotational position of the motor 1. In the same manner, the counted value of the counter 20 becomes a pointer 23 of the W-phase current phase command table 22 for outputting a phase value of the W-phase inductive voltage 14 corresponding to the present rotational position of the motor 1.
The magnetic pole detector 4 is connected to two multipliers 24U, 24W so that the phase values of the U-phase and W-phase inductive voltages 12 and 14 can be multiplied with an output of a speed control calculator 25. The speed control calculator 25 outputs a torque command value, i.e. a current amplitude command value. The multipliers 24U, 24W, therefore, multiply the current amplitude command value with the U-phase and W-phase current phase command values. The resultant two outputs from respective multipliers 24U, 24W are, then, fed to two D/A converters 28U, 28W so as to generate U-phase and W-phase current commands, respectively. These U-phase and W-phase current commands are, subsequently, fed to current amplifiers 27U, 27W in which drive currents to be supplied to the U-phase winding 7 and the W-phase winding 9 are generated in response to the U-phase and W-phase current commands, respectively.
The U-phase winding 7, the V-phase winding 8, and the W-phase winding 9 are connected with each other so as to constitute a star connection; therefore, the sum of currents flowing through these three-phase windings 7, 8, and 9 becomes 0. A current command for the V-phase winding 8 is, accordingly, identical with -(U-phase current command +W-phase current command). A subtracter 28 is therefore provided to obtain a V-phase current command equal to -(U-phase current command +W-phase current command). Thus obtained V-phase current command is, thereafter, fed to another current amplifier 27V in which a drive current to be supplied to the V-phase winding 8 is generated in response to the V-phase current command.
A reference numeral 29 represents a speed detector connected to the pulse converter 3. This speed detector 29 detects the speed of the motor 1 by counting the number of pulses generated during a time measured by a timer 38 when the motor 1 rotates at a high speed and measuring an interval between successive pulses generated when the motor 1 rotates at a low speed. Reference numerals 31 and 32 represent a positive-direction position command pulse and a negative-direction position command pulse, respectively, fed from an external device. Reference numerals 33 and 34 represent subtracters.
A reference numeral 35 represents a positional deviation reading sampler which is open-or-close controlled at predetermined intervals in response to an output signal from a timer 37. A reference numeral 38 represents a speed deviation reading sampler which is open-or-close controlled at predetermined intervals in response to an output signal from the timer 38. If these samplers 35 and 38 are closed, the speed control calculator 25, the magnetic pole detector 4, the multipliers 24U, 24W, and the D/A converters 28U, 28W are activated to renew the current commands to be supplied to the current amplifiers 27U, 27W.
The subtracter 34, constituted by an up-down counter, is counted up in response to the positive-direction position command pulse S1 and is counted down in response to the negative-direction position command pulse 32. The subtracter 34 is further counted down in response to the CW pulse 18 fed from the pulse converter S and is counted up in response to the CCW pulse 19. The subtracter 34 calculates a positional deviation through these count-up and count-down operations.
A reference numeral 39 represents a position control calculator which amplifies the positional deviation obtained. The speed control calculator 25 amplifies a value supplied from the speed deviation reading sampler 38 to obtain a torque command, i.e. a current amplitude command.
An operation of the above-described motor drive apparatus will be explained below.
First of all, the subtracter 34, constituted by an up-down counter, is counted up in response to the positive-direction position command pulse 31 and counted down in response to the negative-direction position command pulse 32, and is further counted down in response to the CW pulse 18 fed from the pulse converter 3 and counted up in response to the CCW pulse 19, in order to obtain the positional deviation. Furthermore, the position control calculator 39 inputs the positional deviation through the positional deviation reading sampler 35 being open-or-close controlled by the timer 37. The position control calculator 39 amplitudes this positional deviation and outputs a speed command so as to reduce the positional deviation.
Next, the subtracter 33 subtracts this speed command by a feedback speed obtained from the speed detector 29 to generate a speed deviation. The speed control calculator 25 inputs the speed deviation through the speed deviation reading sampler 36 being-open-or-close controlled by the timer 38. The speed control calculator 25 amplitudes this speed deviation and generates a torque command, i.e. a current amplitude command.
On the other hand, when the motor 1 rotates in the clockwise (CW) direction, the encoder 2 generates the A-phase signal 15 and the B-phase signal 16 having a mutual phase difference of 90 degrees therebetween as shown in FIG. 12, together with the Z-phase pulse signal 17 corresponding to one of zero-crossing points of the U-phase inductive voltage 12. This A-phase signal 15 and B-phase signal 16 are, then, inputted into the pulse converter 3. These A-phase signal 15 and B-phase signal 16 are converted into the CW pulse 18 when the motor 1 rotates in the clockwise (CW) direction, and are converted into the CCW pulse 19 when the motor 1 rotates in the counterclockwise (CCW) direction.
Next, the CW pulse signal 18 and the CCW pulse signal 19 outputted from the pulse converter 3, and the Z-phase signal 17 outputted from the encoder 2 are supplied to the magnetic pole detector 4. The counter 20 shown in FIG. 15 is counted up by the CW pulse signal 18 and counted down by the CCW pulse signal 19. Furthermore, the counter 20 is cleared by the Z-phase signal 17 fed from the encoder 2 to be 0. Namely, an arrival of the designated zero-cross point of the U-phase inductive voltage 12 is known by checking the Z-phase signal 17. And, a displacement or shift amount of the motor 1 from the designated zero-cross point of the U-phase inductive voltage 12 is known from the count value of the counter 20. The count value of the counter 20 becomes the pointer 23 of the U-phase current phase command table 21 for outputting the phase value of the U-phase inductive voltage 12 corresponding to the present rotational position of the motor 1. Moreover, the count value of the counter 20 becomes the pointer 23 of the W-phase current phase command table 22 for outputting the phase value of the W-phase inductive voltage 14 corresponding to the present rotational position of the motor 1.
In the multipliers 24U, 24W, the phase values of the U-phase and W-phase inductive voltages 12 and 14 are multiplied with the torque command outputted from the speed control calculator 25. Namely, the multipliers 24U, 24W multiply the current amplitude command value with the U-phase and W-phase current phase command values, respectively. The resultant two outputs from respective multipliers 24U, 24W are, then, fed to two D/A converters 26U, 26W so as to generate U-phase and W-phase current commands, respectively. These U-phase and W-phase current commands are, subsequently, fed to current amplifiers 27U, 27W in which the drive currents to be supplied to the U-phase winding 7 and the W-phase winding 9 are generated in response to the U-phase and W-phase current commands, respectively.
On the other hand, the subtracter 28 obtains the current command for the V-phase winding 8 by calculating the value identical with -(U-phase current command +W-phase current command). Thus obtained V-phase current command is, thereafter, fed to the current amplifier 27V in which the drive current to be supplied to the V-phase winding 8 is generated in response to the V-phase current command.
If the torque command is a positive value, the motor 1 generates a torque in the clockwise (CW) direction. On the contrary, if the torque command is a negative value, the motor 1 generates a torque in the counterclockwise (CCW) direction because the multipliers 24U and 24W generate U-phase and W-phase current commands having 180-degree phase difference with respect to respective U-phase and W-phase current phase commands. Thus, the speed deviation is decreased. In accordance with the reduction of the speed deviation, the positional deviation becomes small.
FIG. 9(A) shows a sampling interval of the speed deviation reading sampler 36 applied to both moving and stationary conditions of the motor 1. FIG. 9(B) shows a sampling interval of the positional deviation reading sampler 35 applied to both moving and stationary conditions of the motor 1.
When the motor 1 is in a moving condition, in order to stabilize the motor drive operation by the above-described motor drive apparatus, the speed control must be performed by using three times or more sampling with respect to the calculated speed command as shown in FIG. 9. The reason why three times or more sampling are required when the motor 1 is in a moving condition is as follows.
If the speed command sampling interval is identical with the control sampling interval in the speed control operation, the motor 1 will not be able to sufficiently follow up the speed command because, even if the speed of the motor 1 is controlled to coincide with the speed command value, the speed command value itself may vary at the next coming control sampling timing. Thus, the speed of the motor 1 cannot be stabilized. Especially, as the positional command varies widely when the motor 1 is in a moving condition, the speed command will correspondingly cause wide variation. Hence, three times or more sampling are required for allowing the motor 1 to follow up the speed command. For this reason, the speed of the timer 37 is set 1/3 or less compared with that of the timer 38.
In accordance with the above motor drive apparatus, the sampling interval of the positional deviation reading sampler 35 will be sufficiently extended or elongated so as to stabilize the motor speed control during the moving condition of the motor. However, when the motor 1 is in a stationary condition, the sampling interval of the positional deviation reading sampler 35 will be too long to accurately detect a small positional deviation if this small positional deviation varies at a period smaller than that of the positional deviation reading sampler 35. Consequently, there is a problem that the positioning control cannot be accurately and responsively performed when the motor is in a stationary condition.