METHOD FOR CONTROL OF AC MOTOR

Abstract: A torque command T cmd1 is determined (S1). Unless the torque command exceeds a given limit value K₀ during acceleration, the torque command T cmd1 is output as it is as a torque command (current command) T cmd2 to the current loop (S2, S3, S9, and S10). If it exceeds the limit value K₀, the amplitude I₀ of the actual current is determined (S5). A limit value L is determined from the magnitude R (T) of the torque command T cmd2 determined one cycle before and the limited value K₀ (S6). The torque command T cmd1 is clamped by the limit value L to output it to the current loop as a torque command T cmd2 . During deceleration, the above-mentioned processes from Step S4 to Step S8 are executed. During acceleration, the limit value L can be determined by the amplitude ratio between the current command and the actual current, clamped at this value, and used as the torque command T cmd . Therefore, the amplitude of the actual current is not reduced, and the output torque is increased. In deceleration, if the actual current is increased due to the counter-electromotive force, the limit value L is reduced to make the command small, so that the actual current does not exceed the limit value.

Description: The present invention relates to a control method for an alternating current motor, and more particularly to a control method for an alternating current motor with a limiter capable of clamping a torque command at a predetermined limit value when the torque command exceeds the limit value, thereby providing thus limited torque command, as an amplitude of a current command, to a current loop of each phase of the alternating current motor. In motors of alternating current type, such as induction motors and synchronous motors, current flowing through each exciting winding is alternating current, whose frequency is proportional to a rotational speed of the motor. Thus, with increasing rotational speed of the motor, frequency of the command current to be supplied to the exciting winding and frequency of the actual current of the exciting winding increase. Frequency increase of the actual current brings amplitude reduction of the actual current with respect to the command, as well as phase delay and power factor reduction. Fig. 1 is a block diagram showing a conventional speed loop processing used for the speed control of a three-phase AC motor. In Fig. 1, a reference numeral 1 represents a speed loop compensatory circuit, in which a speed feedback signal vf supplied from a speed detector, attached to the motor to detect the actual speed of the motor, is subtracted from a speed command Vc to obtain a speed deviation. The product of the integrated value of the speed deviation and integral constant K1, and the product of the speed deviation and the proportional constant K2 are added, and the result is outputted as torque command Tcmd1. That is, the PI (proportional-and-integral) control is applied to the speed of the motor to obtain the torque command Tcmd1. Next, in order not only to protect the components, such as transistors for controlling the motor but also to protect the motor itself, the torque command Tcmd1 is inputted into a current limiter 2, in which plus-and-minus upper limit values of the torque command Tcmd1 are clamped at predetermined limit values so as to generate a torque command (an amplitude of the current command in the current loop processing) Tcmd2 to be supplied to each phase current loop circuit which controls the current flowing through each phase winding. In a case where the speed loop control is not carried out, the torque command will be directly inputted to the current limiter 2. Then, the torque command (amplitude of the current command) Tcmd2, having passed through the current limiter 2, is corrected by a rotor position  of the motor detected by the detector and a phase advance amount ph to be determined based on the rotational speed of the motor, and then multiplied by sine values having 2π/3 phase difference therebetween (3R, 3S, 3T), thereby obtaining torque commands (current commands) Tcmd(R), Tcmd(S) and Tcmd(T) to be supplied to the windings R, S and T, respectively. Tcmd(R) = Tcmd2 · sin (+ph) Tcmd(S) = Tcmd2 · sin {+(2π/3)+ph} Tcmd(T) = Tcmd2 · sin {-(2π/3)+ph} In each phase current loop, the IP (integral-and-proportional) control or the PI (proportional-and-integral) control is carried out to control the current flowing through each phase winding. Fig. 2 is a block diagram showing a control system whose current loop is constituted of the IP control, corresponding to the R phase of the motor. Control systems for other phases are substantially the same as that disclosed in Fig. 2. In the drawing, a reference numeral 4 represents an integral element with an integral gain k1, and a reference numeral 5 represents a proportional element with a proportional gain k2. Furthermore, a reference numeral 6 represents a transfer function term of the R-phase winding of the motor, with a winding inductance L and a winding resistance R. A reference character E represents a reverse electromotive force generated by the motor. A current deviation, obtained by subtracting the actual current Ir from the torque command Tcmd(R), is integrated in the element 4; the integrated value is multiplied by the integral gain K1; and, from this product, the product of the actual current Ir and proportional constant K2 and the reverse electromotive force E are subtracted respectively; and the resulting value is supplied to R-phase winding to cause current Ir to flow through the R-phase winding. As shown in Fig. 2, the current loop is constituted of the 2nd-order control system. Increase of rotational speed of the motor and resulting increase of the input frequency of each current loop cause a reduction of gain and a generation of phase lag. The phase lag is compensated by the phase lead control using the phase lead correction amount ph as is described above. However, the gain reduction cannot be compensated, so that current amplitude attenuates with increasing rotational speed, thereby causing decrease of maximum torque. As described above, in a current loop, the phase lag and gain reduction occur in the high-frequency region when the motor runs fast. As described previously, since the phase lag can be predicted from the rotational speed of the motor, the phase lag can be compensated by the phase lead control which advances the phase of the command. However, the gain reduction cannot be compensated. For this reason, the amplitude of the actual current becomes small with respect to the command; therefore, in some cases, the command may be limited even if the amplitude of the actual current is smaller than the limit value of the current limiter. On the other hand, during deceleration, the motor generates a reverse electromotive force in the same direction as that in which the voltage of the motor is applied, so that sometimes the magnitude of the reverse electromotive force may exceed the limit value of the current limiter. During deceleration, the direction of the current flowing to the motor is opposite to the rotational direction of the motor, but is the same as the direction of the reverse electromotive force. Hence, when the reverse electromotive force is added to the command, the maximum value of the actual current may sometimes exceed the limit value, possibly damaging the control elements, such as transistors, and the motor itself. An object of the present invention is to provide a control method for increasing the maximum torque when the motor is accelerating, as well as for preventing the maximum current from exceeding the limit value when the motor is decelerating. In order to accomplish the above purpose, the present invention provides a method according to claim 1. Preferably, the torque command having passed through the current limiter determines an amplitude of a current command for the current loop processing of each phase in controlling the current flowing through a winding of each phase of the motor, thereby providing sine-wave current commands, as torque commands supplied to the windings of respective phases, on the bases of thus determined amplitude of the current command, the number of phases, a rotational position of the rotor of the motor detected by a position detector, and a phase lead amount to be compensated by the phase lead control, the control method comprising steps of: measuring an amplitude of actual current flowing through a motor winding and then calculating a ratio of the torque command stored in the preceding period, which serves as an input to the current loop, to thus measured amplitude of the actual current; correcting the limit value pre-set in the current limiter based on thus calculated ratio, thereby obtaining an actual limit value of the current limiter to be applied in the present period; outputting the torque command to the current loop after allowing the torque command to pass through the current limiter storing the corrected limit value; whereby the amplitude of the actual current flowing through the winding of each phase of the motor is substantially suppressed so as not to exceed the limit value pre-set in the current limiter. Preferably, the correcting step for correcting the limit value of the current limiter is executed during the decelerating period of the motor and during the accelerating period of the motor in which the torque command is larger than the limit value set by the limiter. Furthermore, it will be preferable that the torque command to be inputted to the current limiter is a torque command obtained by executing the proportional-and-integral control of a deviation between a command speed and an actual speed obtained by a speed detector. As described above, according to the present invention, the limit value is dependent on the ratio of the current command of the current loop to the amplitude of the actual current; therefore, the limit value for restricting the upper limit of the torque command increases to enlarge the amplitude of the current command in such a case where the output torque decreases as the amplitude of the actual current decreases during the rotation at high speeds, thereby maintaining the amplitude of the actual current at the predetermined limit value without reducing the amplitude of the actual current and preventing the output torque from decreasing. Furthermore, during deceleration, even when the direction of the command and the rotational direction of the motor are reversed to cause the magnitude of the actual current to exceed the predetermined limit value, the amplitude of the actual current is enlarged to cause the ratio of the current command to the amplitude of the actual current to decrease, so that the value of the command is decreased to control the amplitude of the actual current to be a proper limit value. Fig. 1 is a block diagram showing an essential part of a control system of a three-phase AC motor for executing the speed control; Fig. 2 is a block diagram showing a current control system of the AC motor; Fig. 3 is a block diagram showing one embodiment of an AC motor -control system embodying the control method of the present invention; Fig. 4 is a flowchart showing the processing executed by a processor of the above embodiment; Fig. 5 is the experimental data showing the relations between the rotational speed and the maximum output torque, one for the conventional control method and the other for the control method of the present invention; and Fig. 6 is the experimental data showing the conditions of the actual current during deceleration, one for the conventional control method and the other for the control method of the present invention. One embodiment of the present invention will be described hereinafter, taking an example from the control of a three-phase AC motor. The current flowing through each of the R-, S- and T-phase windings of the three-phase AC motor is expressed, when I 0 represents an amplitude, as follows: Ir = I 0 sin  Is = I 0 sin { + (2π/3)} It = I 0 sin { - (2π/3)} When I 2 = Ir 2 + Is 2 + It 2 , we obtain I 2 = I 0 2 [sin 2  + sin 2 {+(2π/3)} + sin 2 {-(2π/3)}] = (3/2) I 0 2 From the above equation 1, the amplitude I 0 of the actual current has no relation with the rotational angle  of the rotor and is determined by the following equation. = [(2/3) · I 2 ) 1/2 Assuming, when the amplitude of the actual current is I 0 , that the magnitude of the torque command Tcmd2 (the amplitude of the current command of the current loop) serving as an input of the current loop is T 0 , the gain of the current loop is expressed by I 0 /T 0 . If a current limit value of the motor (a limit value of the current limiter shown in Fig. 1) is K 0 , the magnitude of the current command Tcmd2 is necessary to be K 0 ·T 0 /I 0 to equalize the amplitude of the actual current with K 0 . That is, based on the magnitude T 0 of the torque command Tcmd2 and the amplitude I 0 of the actual current, if the limit value L of the current limiter is always varied as L = K 0 ·T 0 /I 0 the amplitude of the actual current does not reduce even in a high-speed region, and it becomes possible to prevent the torque reduction. Detecting the actual currents Ir, Is and It of respective phases and executing the calculation of the equation 1, the magnitude I 0 of the actual current is obtained. Obtaining the current limit value L at which the magnitude of the actual current become the limit value K 0 on the bases of the magnitude I 0 and the torque command Tcmd2, and if the torque command Tcmd1 is clamped at this limit value L, the amplitude of the actual current will not reduce even in the high-speed region and approximates to the predetermined current limit K 0 . Therefore, no torque reduction occurs (If the amplitude I 0 of the actual current decreases as rotational speed increases, the limit value L increases and the torque command Tcmd2 increases, so that the amplitude of the actual current increases and approximates to the limit value K 0 ). Furthermore, in deceleration, even if the actual current becomes larger than the current limit value, the limit value of the current command (the limit value of the current limiter 2) decreases (since L reduces with increasing I 0 ). Thus, the actual current can be suppressed within the limit. Fig. 3 is a block diagram showing a control system of an AC motor (of three-phase type) embodying one embodiment of the present invention. A reference numeral 7 represents a motor control apparatus comprising a processor (CPU), a ROM, a RAM, etc.; a reference numeral 8, an amplifier; a reference numeral 9, a motor; and a reference numeral 10, a detector for detecting the speed of the motor and the rotor position. The processor of the motor control apparatus 7 executes the previously-described speed loop processing based on the command speed and a motor speed feedback value detected by the detector 10 to obtain the torque command (the amplitude of the current command) Tcmdl, the processing of the current limiter obtains the torque command Tcmd2 through the processing of the current limiter, which will be described later, and obtains the torque commands (the current commands) Tcmd(R), Tcmd(S) and Tcmd(T) of respective phases R, S and T based on the rotor position , which is detected by the detector 10, and the phase lead amount ph, which is determined by the actual speed of the motor. Then, the previously-described current loop processing is executed based on the respective torque commands and actual currents Ir, Is and It of respective phases, which are detected by the current detector, to obtain respective phase driving currents for the drive and control of the motor. The control system of the above-described three-phase AC motor has the same construction and operation as the conventional control system, except the limit processing of the current command by the current limiter. Fig. 4 is a flowchart showing the current limit processing in the motor control, executed by the processor of the motor control apparatus 7. The processor of the motor control apparatus 7 executes the processing shown in Fig. 4 in predetermined cycles. First, the processor executes the speed loop processing based on the command speed Vc given beforehand and the speed feedback vf detected by the detector 10 to obtain the torque command Tcmd1 in the same manner as the conventional system (Step S1). Next, the processor makes a judgement as to whether the motor is decelerating (Step S2). If the motor is not decelerating, the processor further makes a judgement as to whether the torque command Tcmd1 obtained in the step S1 is larger than the predetermined current limit value K 0 (Step S3). As the torque command value Tcmd1 is smaller than the current limit value K 0 in the beginning of motor drive, the torque command value Tcmdl is not limited and outputted as the torque command Tcmd2 to the current loop (Steps S9 and S10). Then, the absolute value of the output torque command value (the amplitude of the current command) Tcmd2 is stored in the register R(T) to finish the current limit processing of this cycle. On the other hand, if the torque command value Tcmdl exceeds the current limit value K 0 in the step S3, the processor reads the actual currents Ir, Is and It of respective phases detected by the current detector, and executes the calculation by the above equation 2 to obtain the amplitude I 0 of the actual current (Steps S4 and S5). Subsequently, the magnitude of the torque command Tcmd2 (the amplitude of the torque command of each phase), obtained in the preceding cycle and stored in the register R(T), is multiplied by the predetermined current limit value K 0 . The result is divided by the amplitude I 0 of the actual current obtained in the step S5 to obtain the current limit value L. That is, the following calculation, identical with the above equation 3, is executed to obtain the current limit value (Step S6). L = K 0 ·R(T)/I 0 = K 0 ·T 0 /I 0 Next, the torque command value Tcmd1 obtained in the step S1 is clamped by the current limit value L obtained in the step S6 and is outputted as the torque command Tcmd2 to the current loop (Step S7). Then, the magnitude of the output torque command Tcmd2 is stored in the register R(T) (Step S8) to terminate the current limit processing. Upon output of the torque command value Tcmd2, the torque commands of respective phases are calculated, on the bases of the rotor position  and the phase lead amount ph corresponding to the rotational speed of the motor, to execute the current loop processing in the same manner as the conventional system. As described above, when the torque command value exceeds the specific current limit value K 0 , the current limit value L is varied momently based on the ratio between the magnitude of the torque command Tcmd2 (magnitude to be stored in the register R(T)), which is the amplitude of the current commands (torque commands) Tcmd(R), Tcmd(S) and Tcmd(T) in the respective current loop processing, and the amplitude I 0 of the actual current so that the amplitude of the actual current is controlled to be identical with the specific current limit value K 0 . On the other hand, if the motor starts decelerating, the processing of the steps S2 and S4-S8 will be executed. In this case, if the amplitude of the actual current increases due to the reverse electromotive force of the motor, the current limit value L to be obtained in the step S6 decreases. Therefore, the torque command value Tcmd2, i.e. the amplitude of the current command to each current loop, is reduced, thereby preventing the actual current from exceeding the limit value. In the above embodiment, when the motor is not decelerating and the torque command Tcmd1 obtained in the speed loop processing does not exceed the predetermined limit value K 0 , the processor executes the processings of steps S9 and S10 to prevent the limit value L from varying. However, the limit value L may be set variable too. In such a case, as the processings of the steps S2, S3, S9 and S10 are no longer necessary, the processor proceeds to the step S4 from the step S1. When the amplitude of the actual current obtained in the step S5 is "0", that is, when the motor is not driven, the processor outputs the torque command Tcmd1 obtained in the step S1 as the torque command Tcmd2 and then proceeds to the step S8. When the amplitude I 0 is not "0", the processor will execute the processing of the steps S6 to S8. Fig. 5 shows experimental results concerning the relations between the maximum torque under acceleration and the rotational speed of the motor, one for the conventional control method, in which the current limit value is fixed, and the other for the control method of the present invention, in which the current limit value is variable. An ordinate represents the torque (kgfcm), and an abscissa represents the rotational speed (rpm) of the motor. Fig. 5(a) shows the experimental result by the conventional method, and Fig. 5(b) shows the experimental result by the method of present invention. As seen from the comparison of these experimental results, the method of present invention is superior to the conventional method in that no torque reduction occurs even when the motor rotates at high speeds. Fig. 6 shows experimental results concerning the actual current measured when the rotational speed is decelerated from 3,000 rpm to 0 rpm, one for the method of the present invention and the other for the conventional method. Fig. 6(a) shows the experimental result of the method of the conventional method, and Fig. 6(b) shows the experimental result of the present invention. The current limit value K 0 is 100 A. Disagreement between the current limit value K 0 and the torque command value Tcmd2 during the deceleration by the conventional method shown in Fig. 6(a) is due to the difference of scale. As seen from Fig. 6(a), the actual current exceeds the current limit value K 0 in the case of the conventional method, while the actual current does not exceed the current limit value K 0 in the case of the method of the present invention. According to the method of the present invention, the limit value for limiting the current command (the torque command) is varied momentarily, based on the ratio of the current command (torque command) to the amplitude of the actual current, so that the amplitude of the actual current becomes equal to the predetermined limit value. Therefore, in the case where the amplitude of the actual current decreases due to reduction of the current loop gain at higher speeds, the limit value of the current command (the torque command) increases. Accordingly, the current command (the torque command) increases and the amplitude of the actual current is enlarged. Consequently, it becomes possible to prevent the output torque from being reduced even at high speeds, thereby enabling the maximum torque to be increased even at high speeds. Moreover, in the case where the actual current is increased due to the reverse electromotive force during deceleration, the limit value of the current command (the torque command) decreases. Thus, the current command (the torque command) decreases, and, as a result, the amplitude of the actual current is reduced, so that it will not exceed the predetermined current limit value. Thus, the transistors of the control system and the motor itself can be protected from being damaged by excessive current.

Claims: A control method for an alternating current motor with a current limiter (2) designed for clamping a torque command at a limit value (L) when the torque command exceeds a preset limit value (K 0 ) so that the torque command which has been processed by the limiter (2) is provided as an amplitude of a current command to the current loop of each phase, said control method comprising steps of: obtaining an amplitude (I 0 ) of actual current by measuring the actual current (Ir, Is, It) of each phase; correcting a limit value (L) of current based on a ratio of said current command (T 0 ) of the current loop to said amplitude (I 0 ) of the actual current in such a manner that the actual current (I 0 ) is controlled to be identical to the preset limit value (K 0 ); and clamping said torque command by said corrected limit value of current, so as to provide an amplitude of the current command to be supplied to the current loop. A control method for an alternating current motor in accordance with claim 1, wherein said correcting step for correcting the limit value of the current limiter (2) is executed during the decelerating period of the motor and during the accelerating period of the motor in which said torque command is larger than the limit value set by the limiter (2). A control method according to claim 1, wherein the torque command, having passed through said current limiter (2), determines an amplitude of a current command for the current loop processing of each phase in controlling the current flowing through a winding (R,S,T) of each phase of the motor, thereby providing sine-wave current commands, as torque commands to be supplied to the windings (R,S,T) of respective phases, on the bases of: thus determined amplitude of the current command; the number of phases; a rotational position of the rotor of the motor detected by a position detector; and a phase lead amount to be compensated by the phase lead control, said control method comprising steps of: measuring an amplitude (I 0 ) of actual current flowing through a motor winding in each predetermined period and then calculating a ratio of the torque command (T 0 ) stored in the preceding period, which serves as an input to the current loop, to thus measured amplitude (I 0 ) of the actual current; correcting the preset limit value in said current limiter (2) based on the calculated ratio, thereby obtaining an actual limit value of the current limiter (2) to be applied in the present period; and outputting said torque command to the current loop after allowing said torque command to pass through the current limiter (2) storing the corrected limit value; whereby the amplitude of the actual current flowing in the winding (R,S,T) of each phase of the motor is substantially suppressed so as not to exceed the limit value pre-set in the current limiter (2). A control method for an alternating current motor in accordance with claim 3, wherein said correcting step for correcting the limit value of the current limiter (2) is executed during the decelerating period of the motor and during the accelerating period of the motor in which said torque command is larger than a specific limit value set by the limiter (2). A control method for an alternating current motor in accordance with claim 3 or claim 4, wherein the torque command inputted to the current limiter (2) is a torque command obtained through the proportional-and-integral control (1) of a deviation between a command speed (Vc) and an actual speed (vf) obtained by a speed detector. A control method for an alternating current motor in accordance with any one of claims 3 to 5, wherein the actual limit value (L) of the current limiter to be passed in the present period is determined by the following equation L = K 0 ·T 0 /I 0 where I 0 represents the amplitude of the actual current flowing through the motor winding in the present period; T 0 , the torque command supplied to the current loop and stored in the preceding period; and K 0 , the limit value pre-set in the current limiter. A control method for an alternating current motor in accordance with any one of claims 1 to 6, wherein the amplitude (I 0 ) of the actual current flowing through said motor winding is obtained by summing the squares of the currents flowing through the windings (R,S,T) of each phase.

Inventors: IWASHITA YASUSUKE, IWASHITA, YASUSUKE, IWASHITA, YASUSUKE RM 9-307 FANUC MANSHONHARIMOMI
Applicants: FANUC LTD, FANUC LTD.
Application year: 1993
Main classification: H02P5
IPC codes: H02P29, C08J3, H02P27, H02P23, H02K11