Current controlling method for servo motor

Abstract: A current control method for a servo motor capable of compensating a delay (δ) in a current loop. A corrective electrical angle (ΔΘ) corresponding to the delay (δ)in the current loop is obtained and a phase angle is corrected using the corrective electrical angle (ΔΘ). Then the delay (δ) of the current loop is compensated by a DQ coordinate conversion for converting a three-phase AC current into a two-phase DC current, or a two-phase DC voltage into a three-phase AC voltage, using the corrected phase angle (Θe). The phase angle (Θe) is corrected by subtracting the corrective electrical angle (ΔΘ) from the phase angle (Θe) and the DQ conversion is performed for obtaining a two-phase DC current from a three-phase AC current using the corrected phase angle (Θe). Alternatively, the phase angle (Θe) is corrected by adding the corrective electrical angle (ΔΘ) to the phase angle (Θe) and the DQ conversion is performed for obtaining a three-phase AC voltage from a two-phase AC voltage using the corrected phase angle (Θe), to compensate the delay (δ) of the current loop.

Description: The present invention relates to a current controlling method for a servo motor, and more particularly to a method of controlling an electric current to be supplied to a servo motor using a DQ conversion. FIG. 15 shows a conventional control system for an AC servo motor. In FIG. 15, a position deviation is obtained by subtracting a position feedback value, which is detected by an encoder, from a position command outputted from a non-illustrated numeral control unit. A velocity command is obtained by a position loop in which the position deviation is multiplied by a position gain, and a velocity deviation is obtained by subtracting a velocity feedback value from the velocity command. A velocity loop process including a proportional control and an integral control is performed based on the velocity deviation to obtain a torque command (current command). Further, a current deviation of each phase is obtained by subtracting a current feedback value from the torque command, and a current loop process is performed based on the current deviation to obtain a voltage command for each phase. Based on the voltage command, PWM control is performed to control the current of the AC servo motor M. In -the above control system, it is known to control three-phase currents individually in a current loop in the case of using a three-phase AC servo motor. In this current control method, the torque command (current command) obtained by the velocity loop control is multiplied by sine waves, each deviated by an electrical angle of 2π/3 with respect to the servo motor's rotor position  detected by the encoder, for the respective phases U, V and W, to obtain a current command for each phase. Then, a current deviation is obtained by subtracting an actual current Iu, Iv, Iw of each phase, which is detected by the respective current detector, from the respective current command. A proportional and integral (PI) control is performed for each phase to output the command voltage Eu, Ev, Ew for the respective phase to a power amplifier. A PWM control is performed by an inverter of the power amplifier to supply the current Iu, Iv, Iw for the respective phase of the servo motor M. Thus, a current loop is formed as an innermost minor loop of the position and velocity loops to control a current supplied to each phase of the AC servo motor M. In the case where the currents of three phases are individually controlled, there exists a deviation such as a phase delay with respect to the command and an attenuation of amplitude due to the frequency characteristic of the current loop, even under a normal condition during constant-speed rotation with a constant load so that the same torque control as that of a DC motor is difficult to realize. As a solution to this problem, there is known a DQ control method in which the three-phase current is converted into a direct current coordinate system of two phases of d and q by a DQ conversion and then each phase is controlled as a direct current .component. FIG. 16 is a block diagram of a control system in which an AC servo motor is controlled by the DQ conversion. A current command of the phase d is made "0", and a current command of the phase q is set to a torque command outputted from the velocity loop. A convertor 9 for converting a three-phase current into a two-phase current obtains current Id for the phase d and current Iq for the phase q, using an actual current of each phase u, v and w of the motor and the rotor phase  detected by a rotor position detector. The obtained currents are subtracted from command values for the respective phases to obtain current deviations of the phases d and q. In current controllers 5d and 5q, an command voltage Vd of the phase d and an command voltage Vq of the phase q are obtained by proportional and integral control based on the current deviations. A converter 8 for converting a two-phase voltage into a three-phase voltage obtains command voltages Vu, Vv and Vw of phases U, V and W from the command voltages Vd and Vq of the two phases and outputs these command voltages to a power amplifier 6, in which an invertor supplies currents Iu, Iv and Iw to the respective phases of the servo motor to control the servo motor. In the conventional DQ conversion, the conversions from three phase to two phase and from two phase to three phase are performed at the same phase and the current is controlled under a condition that the power factor always equals to 1. In this current controlling method, there is a problem that the control of the servo motor is unstable due to the delay of the current loop. As the current control is performed based on sampling in the current loop including the DQ conversion, a time delay occurs by (i) the period from the time when the voltage command (PWM command) is outputted to the time when actually the voltage is effectively reflected on the winding of the motor, and (ii) the period from the time when the current actually flows to the time when the actual current is read by servo software via an analog-to-digital converter. This time delay is included in the control system as a delay of the current loop. As the delay of the detection system in the current loop enters the control system, the current loop is made unstable to cause an undesirable phenomenon such as oscillation. FIG. 17 shows a state in which the detected actual current oscillates due to the unstable control system. The oscillation phenomenon occurs from the vicinity of a position A. This delay of the current loop will become larger when the rotational speed of the servo motor becomes higher to increase the electrical angular velocity. As a result, the maximum rotational speed of the AC servo motor is restricted in view of instability of control. It is an object of the present invention to provide a current controlling method for a servo motor, which is capable of compensating delay in a current loop. This object is solved by the features of Claim 1. A current controlling method for a servo motor of the present invention comprises the steps of: obtaining a phase angle of the rotor; obtaining a corrective electrical angle corresponding to a phase delay occurred in the current loop; correcting the phase angle based on the corrective electrical angle; obtaining a command voltage by performing a DQ conversion using the corrected phase angle; and controlling the current to be supplied to the servo motor based on the obtained command voltage. In the current controlling method of the present invention, the DQ control method is adopted in which a three-phase current is converted into components on a two-phase current coordinate system of the phases d and q, and the respective phases are controlled as the direct current components. The delay of the current loop occurring due to that sampling is compensated by correcting a phase angle to be used in the DQ conversion for converting the DQ coordinate system into the three-phase coordinate system. A corrective electrical angle for correcting the phase angle can be obtained by the product of a delay time of the current loop and an electrical angular velocity. In the coordinate conversion from the DQ coordinate system into the three-phase coordinate system for obtaining a three-phase voltage from a two-phase voltage, the phase angle is corrected by adding the corrective angle to the phase angle. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a current loop for controlling an AC servo motor using a DQ conversion; FIG. 2 is a vector diagram showing the state of phases of the AC servo motor; FIG. 3 is a graph showing the relationship between the delay of the current loop and the polar position of a control system; FIG. 4 is a block diagram of a current loop according to a first embodiment which is not in accordance with the present invention, but which is shown for the sake of completeners; FIG. 5 is a flowchart of the current control according to the first embodiment; FIG. 6 is a block diagram of a current loop according to a second embodiment, which is in accordance with the present invention; FIG. 7 is a flowchart of the current control according to the second embodiment; FIG. 8 is a block diagram showing a servo motor control system for carrying out the method of the present invention; FIG. 9 is a graph showing a step response of the phase q when the servo motor is stopped; FIG. 10 is a graph showing a step response of the phase q when the compensation of the delay of the current loop is not performed at 4,000 rpm; FIG. 11 is a graph showing a step response of the phase q when compensation of the delay of the current loop is not performed at 6,000 rpm; FIG. 12 is a graph showing a step response of the phase q when the compensation of the delay of the current loop is performed at 6,000 rpm; FIGS. 13a and 13b are graphs each showing a torque curve when the phase compensation is not performed; FIG. 14 is a graph showing a torque curve when the control method of the present invention is applied; FIG. 15 is a block diagram showing a conventional control system for an AC servo motor; FIG. 16 is a block diagram of a conventional current loop for controlling an AC servo motor using the DQ conversion; and FIG. 17 is a graph showing an oscillation of an actual current in the conventional art. A first embodiment, not of the present invention, will be described referring to FIGS. 4 and 5, in comparison with a comparative example of FIGS. 1-3 in which a phase angle is not corrected. In the first embodiment, a DQ coordinate conversion for obtaining a two-phase current from a three-phase current is performed using a phase angle which is corrected by subtracting a correcting electrical angle from the phase angle, thus compensating the delay of a current loop. First of all, a current loop as shown in FIGS. 1-3 in which the phase angle is not corrected will be described. A left half and a right half of FIG. 1 divided by a chain line respectively show a control system and a motor/detector system. For each of the phases d and q, the control system comprises integral terms 11 and 12 having an integral gain K1 and proportional terms 13 and 14 having a proportional gain K2, while the motor/detector system comprises a resistance component R and an inductance component L of the motor. Each phase d and q has an interference term 15 and 16, respectively representing interference from each other and a term 17 representing a delay of the current loop. In FIG. 1, the delay term 17 is shown in a block with a delay angle Δ being represented by the product of a time delay δ and an electrical angular frequency ωe. The delay term 17 delays the phase of a current value by the delay angle Δ, and output currents id' and iq' are fed back and subtracted from command currents id* and iq*, respectively. Thereby the delay of the detection system in the current loop enters the control system to deteriorate the stableness of the current loop. FIG. 2 is a vector diagram showing a state of phases of an AC servo motor in the d-q coordinate system. In FIG. 2, a voltage v on a coil of the AC servo motor is represented by the sum of vectors (R·i), (L+δ·R)·(di/dt) indicated in dotted lines, and vectors (ωe·Lxi), (δ·ωe·L)x(di/dt) indicated in chain lines. Thus, the voltage v is expressed by the following equation (1). v = (R·i)+(L+δ·R)·(di/dt)+(ωe·Lxi)+δ·ωe·Lx(di/dt) = {(L+δ·R)·(d/dt)+R}·i+ωe·L(δ·(d/dt)+1)·i The phase delay represented by exp(-j·δ·ωe) in the delay term 17 causes the vector v to turn in a negative direction (clockwise) by Δ=δ·ωe in FIG. 2. Thus, the resulting vector v' is expressed by the following equation (2). v'=exp(-jδ·ωe)·[{(L+δ·R)·(d/dt)+R}·i+ωe·L(δ·(d/dt)+1)·i] The relationship between the delay of the current loop and the polar position of the control system is shown in FIG. 3. The locus in FIG. 3 represents a movement of the polar position according to the delay of the current loop. In FIG. 3, the left side of the chain line is a region in which the system is stable, and the right side of the chain line is a region in which the system is unstable. When the delay Δ of the current loop increases, the polar position moves gradually from the stable region to the unstable region and when the delay Δ of the current loop is about 40°, the polar position reaches a border of the stable and unstable regions. Thus, the stableness of the current loop is deteriorated by the delay exp(-j·δ·ωe) of the current loop of the detection system entered into the control system. This delay of the current loop will be larger when the rotational speed of the servo motor becomes high to increase the electrical angular velocity. In the block diagram shown in FIG. 4, a correction term 18 is connected to the delay term 17 of the current loop, compared with a block diagram shown in FIG. 1 according to the first embodiment. A left half and a right half of FIG. 4 divided by the chain line respectively show a control system and a motor/detector system. For each of the phases d and q, the control system comprises-integral terms 11 and 12 having an integral gain K1, and proportional terms 13 and 14 having a proportional gain K2, while the motor/detector system comprises a resistance component R and an inductance component L of the motor. Each phase d and q has an interference term 15 and 16, respectively representing interference from each other and a term 17 representing a delay of the current loop. The correction term 18 makes the phase of the current advance by the same angle Δ as the delay angle, and output currents id' and iq' thereof are fed back and subtracted from command currents id* and id*, respectively. As a result, the current control is performed based on the phase angle e which is obtained by correcting the delay angle Δ of the current loop. The delay angle Δ of the current loop can be obtained by the product of the time delay δ and the electrical angular frequency ωe. The DQ conversion process in the first embodiment will be described referring to the flowchart of FIG. 5. In the flowchart of FIG. 5, first, actual currents Iu and Iv of phases u and v of the servo motor are obtained by the current feedback (Step S1). Using the relationship Iu+Iv+Iw=0, the actual current Iw of the phase w is obtained by an arithmetic of Iw=-(Iu+Iv) (Step 52). Further, the phase angle e of the rotor is obtained from an output of a rotor position detector (Step S3). Then, an correcting electrical angle Δ corresponding to the delay of the current loop of the servo motor is obtained. This correcting electrical angle Δ can be obtained by the product of a delay time δ of the current loop and an electrical angular velocity ωe of the rotor. The delay time δ of the current loop comprises a period from the time when a voltage command (PWM command) is outputted to the time when the voltage is actually applied to the windings of the servo motor, and a period for detecting the actual current from the time when the current actually flows in the windings to the time when the current is read by servo software via an analog-to-digital converter. Since the delay time is a value inherent to the servo motor, it can be previously obtained as a characteristic value of the servo motor. On the other hand, the electrical angular velocity ωe of the rotor can be obtained from the output of the rotor position detector (Step S4). Then, the corrective electrical angle Δ, which is obtained in Step S4, is subtracted from the rotor's phase angle e obtained in Step S3, and subtracted value e' is substituted for the phase angle e to renew the phase angle (Step S5). Then, a current Id for the phase d and a current Iq for the phase q are obtained by a DQ conversion for converting a three-phase AC current to a two-phase DC current, using the corrected phase angle e, as shown in the following equation (3). Since e used in the arithmetic of the equation (3) is the phase angle e corrected in Step S4, the delay component Δ of the current loop is compensated (Step S6).US-A-5 057 759 discloses a similar solution. The corrected currents Id and Iq for the phases d and q are subtracted from the respective command values of the phases d and q, to obtain current deviations of the phases d and q. Based on these current deviations, the proportional and integral control is performed in the current controller to obtain an command voltage Vd of the phase d and an command voltage Vq of the phase q (Step S7). Further, in the converter for converting a two-phase voltage into a three-phase voltage, command voltages Vu, Vv and Vw of the phases U, V and W are obtained by a DQ conversion for converting a two-phase DC voltage into a three-phase AC voltage (Step S8), as expressed by the following equation (4). These command voltages are outputted to a power amplifier in which the invertors make the currents Iu, Iv and Iw flow in the respective phases of the servo motor, thereby controlling the servo motor. A second embodiment which, unlike the first embodiment, is constructed to operate in accordance with the present invention will be described referring to FIGS. 6 and 7. In the second embodiment, a coordinate conversion from the DQ coordinate system to the three-phase coordinate system is performed for obtaining a three-phase voltage based on the two-phase voltage, using the phase angle obtained by adding the corrective angle, to compensate the delay of the current loop. In a block diagram as shown in FIG. 6, a correcting term 19 is connected between the integral terms 11, 12 and the motor side, compared with a block diagram shown in FIG. 1. All of the elements are identical with those of FIG. 1 except the correction term 19 and with those of FIG. 4 except the correction term 18, and therefore any repetitive description is omitted here. The correction term 19 supplies the motor with voltage values Vd and Vq whose phases are advanced by the same angle Δ as the delay angle Δ of the current loop, thereby compensating the delay angle Δ of the current loop. The delay angle Δ of the current loop can be obtained by the product of the time delay δ and the electrical angular frequency ωe likewise the first embodiment. In the flowchart of FIG. 7, actual currents Iu and Iv of the phases u and v of the servo motor are obtained by the current feedback likewise the Steps S1 through S3 in the first embodiment (Step S11). An actual current Iw of the phase w is obtained by arithmetic of Iw=-(Iu+Iv) (Step S12), and the phase angle e of the rotor is obtained (Step S13). Then, a current d for the phase d and a current Id for the phase q are obtained from the actual current Iu, Iv and Iw by the DQ conversion for obtaining the two-phase DC current from the three-phase AC current, according to the equation (3) (Step S14). The electrical angle e which is obtained in Step S3 is used for e in the equation (3). The obtained currents Id and Iq of the phases d and q are subtracted from the respective command values of the phases d and q to obtain current deviations of the phases d and q, and based on these current deviations the proportional and integral control is performed in the current controller to obtain command voltages Vd and Vq of the phases d and q (Step S15). Then, a corrective electrical angle Δ corresponding to the delay of the current loop of the servo motor is obtained. The corrective angle can be obtained by the project of the delay time δ of the current loop and the electrical angular velocity ωe likewise Step S4. The delay time δ and the electrical angular velocity ωe can be obtained likewise the Step S4 (Step S16). Then, the corrective electrical angle Δ, which is obtained in Step S16, is added to the rotor's phase angle e obtained in Step S13, and the resultant value e' is substituted for the phase angle e to renew the phase angle (Step S17). Further, in the converter for converting a two-phase voltage into a three-phase voltage, command voltages Vu, Vv and Vw of the phases U, V and W are obtained by the DQ conversion for converting a two-phase DC voltage into a three-phase AC voltage, as expressed by the equation (4), (Step S18), and these command voltages are outputted to the power amplifier in which the invertors make the currents Iu, Iv and Iw flow in the respective phases of the servo motor, thereby controlling the servo motor. FIG. 8 is a block diagram showing a servo motor control system for carrying out the present invention. As this control system is identical in construction with a conventional apparatus for a digital servo control, a detailed description of the system is omitted here. In FIG. 8, a reference numeral 20 designates a computerized numerical control unit (CNC); 21, a common RAM; 22, a digital servo circuit having a processor (CPU), ROM, RAM, etc.; 23, a power amplifier such as a transistor inverter; M, an AC servo motor; 24, an encoder for generating pulses in response to rotation of the AC servo motor; and 25, a rotor position detector for detecting a phase of the rotor. Hereinafter described are the results of adoption of the control method of the present invention. FIGS 9, 10 and 11 show step responses of the phase q when the motor is stopped, when the delay of the current loop is not compensated at 4,000 rpm and at 6,000 rpm, respectively. FIG. 12 is a step response of the phase q when the delay of the current loop is compensated at 6,000 rpm. In FIG. 12, the compensation of the delay of current loop is performed by advancing the phase. In FIGS. 9 and 10, there is no instability of the control system due to the delay of the current loop when the motor is stopped and is in rotation at a low speed (4,000 rpm), but in FIG. 11, the control system becomes unstable due to the delay of the current loop when the motor is in rotation at a high speed (6,000 rpm), causing oscillation of the currents of the phases d and q. Contrary to the above, according to the control method of the present invention, there is no instability of the control system due to the delay of the current loop even when the motor is in rotation at the high speed (6,000 rpm), as shown in FIG. 12. The torque curves according to the control method of the present invention are shown in FIGS. 13a, 13b and 14. FIG. 14 shows torque values (kgcm) with respect to the rotational speed (rpm) when the compensation of the phase delay is not performed. The characteristic about 4,000 rpm in FIG. 14 indicates an overshoot. FIGS. 13a and 13b show torque values (kgcm) with respect to the rotational speed (rpm) when the compensation of the phase delay is performed. The horizontal axis of FIG. 13a is identical in range with that of FIG. 14, while the range of the horizontal axis of FIG. 13b is modified to show a high-speed-rotation area. When comparing FIG. 13a with FIG. 14, a torque of 110 kgcm is outputted at 3,000 rpm, for example, when the delay is not compensated, but a torque of 120 kgcm is outputted at the same rotational speed when the delay is compensated according to the control method of the present invention. Further, according to the control method of this invention, the rotational speed at which overshoot occurs is increased from approximately 4,000 rpm up to 7,000 rpm. As described above, according to the present invention, a delay in a current loop can be compensated.

Claims: A method of controlling a current to be supplied to a servo motor having a rotor by performing a DQ conversion for converting a three-phase AC current into a two-phase DC current and a two-phase DC voltage command into a three-phase AC voltage command in a current loop, said method comprising the steps of: (a) obtaining a phase angle of the rotor; (b) obtaining a corrective electrical angle corresponding to a phase delay occurred in the current loop; (c) correcting said phase angle obtained in said step (a) based on said corrective electrical angle obtained in said step (b); (d) obtaining a command voltage by performing the DQ conversion using said phase angle corrected in said step (c); and (e) controlling the current to be supplied to the servo motor based on said command voltage obtained in said step (d); characterised in that: said step (c) includes a step of correcting said phase angle by adding said corrective electrical angle to said phase angle, and said step (d) includes a step of converting a two-phase DC voltage into a three-phase AC voltage using said corrected phase angle. A current controlling method according to claim 1, wherein said step (b) includes a step of obtaining said corrective electrical angle based on the product of a delay time and an electrical angular velocity.

Inventors: IWASHITA YASUSUKE, KAWAMURA HIROYUKI, IWASHITA, YASUSUKE, KAWAMURA, HIROYUKI, Iwashita, Yasusuke, 9-307, Fanuc Manshonharimomi
Applicants: FANUC LTD, FANUC LTD.
Application year: 1996
Main classification: H02P5
IPC codes: H02P27, H02P21, H02P23