Motor controller

10594242 ยท 2020-03-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A controller for a motor determines a voltage limit circle based on a velocity of the motor, a DC bus voltage of an inverter, calculates a q axis current limit value based on the voltage limit circle and a predetermined current limit circle, determines, as a q axis current command value, a value obtained through a limit process which is applied using the q axis current limit value to a q axis current value calculated in accordance with a torque command value, and determines a corresponding d axis current value based on the q axis current command value.

Claims

1. A motor controller wherein a current supplied through an inverter to a motor is computed using a two-phase rotating coordinate system, the motor controller comprising: a q axis current calculator which calculates a q axis current value in accordance with a torque command value; and a current vector controller which computes a q axis current command value and a d axis current command value based on the q axis current value, a velocity of the motor, and a DC bus voltage of the inverter; wherein the current vector controller is configured to determine, based on the velocity of the motor and the DC bus voltage, a voltage limit circle representing, on a d-q plane, current limit values defined by a voltage constraint resulting from the DC bus voltage, calculate a q axis current limit value based on both the voltage limit circle and a previously determined current limit circle representing, on the d-q plane, current limit values defined by a current constraint of the motor, determine, as a q axis current command value, a value obtained through limit processing which is applied using the q axis current limit value to the q axis current value calculated in the q axis current calculator, and determine a corresponding d axis current command value based on the q axis current command value.

2. The motor controller according to claim 1, wherein the current vector controller is further configured to determine, as the q axis current limit value, a q axis coordinate value having a greatest absolute value among those of q axis coordinate values contained in an internal region defined by an overlap between the voltage limit circle and the current limit circle.

3. The motor controller according to claim 2, wherein the current vector controller is further configured to determine, as the d axis current command value, a d axis coordinate value of a point in the internal region, the point whose q axis coordinate value matches the q axis current command value obtained through the limit processing and whose d axis coordinate value has a smallest absolute value among those of d axis coordinate values contained in the internal region.

4. The motor controller according to claim 1, wherein the current vector controller is further configured to: multiply an electrical angular velocity of the motor by a rate of change in the voltage constraint resulting from a change in the DC bus voltage to obtain an electrical angular velocity in which the change in voltage is considered, and determine the voltage limit circle based on the electrical angular velocity obtained in consideration of the change in voltage.

5. The motor controller according to claim 4, wherein the current vector controller is further configured to previously store as a constant an electrical angular velocity parameter which represents the electrical angular velocity obtained in consideration of the change in voltage and causes an equation for calculating the q axis current command value and the d axis current command value to be changed.

6. The motor controller according to claim 5, wherein: the current vector controller is further configured to determine, based on both the voltage limit circle and the current limit circle, a voltage limit starting q axis current being a maximum q axis current value among those allowing a d axis current to be set to zero; and store a first electrical angular velocity parameter indicative of a smallest electrical angular velocity at which the voltage constraint is applied, a second electrical angular velocity parameter indicative of a smallest electrical angular velocity whose voltage limit circle is located within the current limit circle, and a third electrical angular velocity parameter indicative of a smallest electrical angular velocity at which the voltage limit starting q axis current becomes zero; and the current vector controller determines, as the q axis current limit value, the current limit value defined by the current constraint of the motor when an absolute value of the electrical angular velocity obtained in consideration of the change in voltage is smaller than a value of the first electrical angular velocity parameter, determines, as the q axis current limit value, a q axis coordinate value of a point of intersection of the current limit circle and the voltage limit circle, and determines, as the voltage limit starting q axis current, a q axis coordinate value of a point of intersection of the voltage limit circle and a q axis when the absolute value of the electrical angular velocity obtained in consideration of the change in voltage is greater than or equal to the value of the first electrical angular velocity parameter and smaller than a value of the second electrical angular velocity parameter, determines, as the q axis current limit value, a q axis coordinate value of a point of intersection of the voltage limit circle and a voltage center line which passes through the center of the voltage limit circle in parallel with the q axis, and determines, as the voltage limit starting q axis current, a q axis coordinate value of the point of intersection of the voltage limit circle and the q axis when the absolute value of the electrical angular velocity obtained in consideration of the change in voltage is greater than or equal to the value of the second electrical angular velocity parameter and smaller than a value of the third electrical angular velocity parameter, and determines, as the q axis current limit value, the q axis coordinate value of the point of intersection of the voltage limit circle and the voltage center line, and sets zero as the voltage limit starting q axis current when the absolute value of the electrical angular velocity obtained in consideration of the change in voltage is greater than or equal to the value of the third electrical angular velocity parameter.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) An embodiment of the present disclosure will be described with reference to the following figures, wherein:

(2) FIG. 1 is a block diagram showing an example configuration of a controller for a permanent magnet synchronous motor;

(3) FIG. 2 is a flowchart for explaining a computation algorithm executed by a current vector controlling section in the controller for the permanent magnet synchronous motor;

(4) FIG. 3 is a graph showing as one example a velocity command value obtained in the controller and a motor velocity (in a case where dc=0);

(5) FIG. 4 is a graph showing as one example a torque command value, a q axis current command value, and a d axis current command value obtained in the controller (in a case where dc=0);

(6) FIG. 5 is a graph showing as one example an internal operation performed at the time of acceleration by a current vector controlling section in the controller (in a case where dc=0);

(7) FIG. 6 is a graph showing as one example an internal operation performed at the time of deceleration by the current vector controlling section in the controller (in a case where dc=0);

(8) FIG. 7 is a graph showing as one example the torque command value, the q axis current command value, and the d axis current command value obtained in the controller (in a case where dc>0);

(9) FIG. 8 is a graph showing as one example an internal operation performed at the time of acceleration by the current vector controlling section in the controller (in a case where dc>0);

(10) FIG. 9 is a graph showing as one example an internal operation performed at the time of deceleration by the current vector controlling section in the controller (in a case where dc>0);

(11) FIG. 10 is a current vector limit chart representing a control range of a current vector of the permanent magnet synchronous motor; and

(12) FIG. 11 is a block diagram showing an example configuration of a controller for a permanent magnet synchronous motor in the related art.

DESCRIPTION OF EMBODIMENT

(13) Hereinafter, an embodiment of the present disclosure will be described. First, principles of calculation of a q axis current command value iq* and a d axis current command value id* according to this embodiment will be described with reference to FIG. 10.

(14) A well-known equation for a (d, q) axis coordinate system voltage of a permanent magnet synchronous motor will be described in Equation (1). Here, as has been well known, an induced voltage constant Ke contained in the following equation agrees with a torque constant Ke in a torque current converter 53 (see FIG. 1 and FIG. 11).

(15) [ Equation 1 ] [ v d v q ] _ V = [ R + PL 0 0 R + PL ] _ Z [ i d i q ] _ I + [ - re Li q re Li d + Ke m ] _ V D ( 1 )

(16) where v.sub.d: d axis voltage, v.sub.q: q axis voltage, id: d axis current, iq: q axis current

(17) P: differential operator, R: resistance, L: inductance

(18) .sub.m: motor velocity (mechanical angle), .sub.re: electrical angular velocity

(19) Ke: induced voltage constant

(20) A PWM inverter is subjected to a current constraint resulting from an allowable current carrying capacity of a power semiconductor or other factors. The current constraint is expressed by Equation (2) as follows.

(21) [ Equation 2 ] { Is ma x = 2 3 I 0 ma x ( 2 a ) I 0 ma x .Math. I 0 .Math. = i q 2 + i d 2 ( 2 b )
where Is.sub.max: allowable phase current (u, v, w) limit value

(22) I.sub.0max: current limit value in (d, q) coordinate system corresponding to Is.sub.max

(23) Meanwhile, in order to control rotation of the motor using the PWM inverter, a DC bus voltage Vdc and a voltage vector V in Equation (1) are required to satisfy a relationship expressed by the following Equation (3).

(24) [ Equation 3 ] { V d c 3 Vs ma x = 3 2 3 V ma x = 2 V ma x ( 3 a ) V ma x .Math. V .Math. = V q 2 + V d 2 ( 3 b )
where Vdc: DC bus voltage

(25) Vs.sub.max: phase voltage (u, v, w) limit value corresponding to V.sub.dc

(26) V.sub.max: voltage limit value in (d, q) coordinate system corresponding to Vs.sub.max

(27) The above equation denotes that it is necessary for motor control that the magnitude |V| of the voltage in the (d, q) coordinate system should be suppressed so as to be smaller than or equal to (1/2) of the DC bus voltage V.sub.dc. Here, taking a current vector I in Equation (1) as a DC quantity and excluding an amount of voltage drop caused by a resistance R, a voltage limit value V.sub.0max can be expressed by Equation (4) as follows.
[Equation 4]
V.sub.0max=V.sub.maxR.Math.I.sub.0max(4)

(28) In addition to satisfying the current constraint expressed by Equation (2), the voltage vector V.sub.0 in Equation (1) should be maintained at or below the voltage limit value V.sub.0max expressed by Equation (4) in order to control rotation of the motor as commanded. Therefore, the current Vector I must satisfy a condition of |V.sub.0|=V.sub.0max; i.e. |V0|R.Math.I.sub.0max in addition to meeting a requirement of the current constraint in Equation (1).

(29) FIG. 10 is a current vector limit chart representing a control range of the current vector I of the permanent magnet synchronous motor. From the voltage vector V.sub.0 in Equation (1), a voltage constraint can be expressed by Equation (5) as follows.

(30) [ Equation 5 ] ( V 0 ma x re L ) 2 = ( Ke pL + i d ) 2 + i q 2 ( 5 )

(31) Because the electrical angular velocity re equals the motor velocity m multiplied by the number of pole pairs p (re=p.Math.m), Equation (5) represents a voltage limit circle whose diameter gradually becomes smaller as the motor velocity m increases. The voltage limit circle is a circle representing current limit values determined from the voltage constraint caused by the DC bus voltage. In FIG. 10, thin dotted circles represent voltage limit circles which vary depending on values of |re|. Further, in FIG. 10, a thin solid line represents a current limit circle. The current limit circle is a circle representing, on a d-q plane, current limit values determined from the current constraint of the motor. A control region of the current vector I lies within an internal region defined by an overlap between the current limit circle and the voltage limit circle, and in the control region, the d axis current id is controlled in a range of (Ke/pL)id0 in order to suppress a motor voltage with a high degree of efficiency.

(32) At the electrical angular velocity re in a range of |re|<a, because there is no voltage constraint, the d axis current id may be considered as id=0, and only the q axis current is controlled on the q axis. At the electrical angular velocity re in a range of a|re|, because the voltage constraint is applied, the voltage is under constraints of both the current limit circle and the voltage limit circles. For example, in FIG. 10, a thick solid line represents transition of an operating point at the electrical angular velocity re of |re|=ab (where aab<b). When |re|=ab, as shown in FIG. 10, the voltage limit circle (the second thin dotted circle from the outside) intersects with the q axis at coordinates (0, iqab0) and (0, iqab0), and also intersects with the current limit circle (the thin solid circle) at coordinates (idab, iqab) and (idab, iqab). Because of this, when iq<iqab0 is satisfied, the d axis current id may be 0. However, when the relationship of iqiqab0 is established, the voltage vector reaches the voltage constraint, which causes the operating point to transition from the coordinates (0, iqab0) toward the coordinates (idab, iqab) on the voltage limit circle. When the relationship changes to iq>iqab, supplying the q axis current ip is not allowed due to the current constraint.

(33) At the electrical angular velocity re in a range of b|re|, because the voltage limit circle is located within the current limit circle, the voltage limit circle is employed as the constraint. In FIG. 10, a thick dotted-dashed line represents transition of the operating point at the electrical angular velocity re in a range of |re|=bc (where bbc<c). When |re|=bc, the q axis current iq in a range of iq<iqbc0 can be controlled under a condition of id=0 with the operating point on the voltage limit circle until the q axis current iq reaches a range of iqiqbc. At the electrical angular velocity in a range of c|re|, as shown by a double-dotted thick dashed line in FIG. 10, because the voltage constraint is applied even when iq=0, the d axis current id is in a range of id<0 in the entire region. Therefore, the q axis current iq can be controlled along the voltage limit circle until reaching a range of iqiqcd.

(34) In FIG. 10, a thick dotted line represents transition of a q axis current limit value Iq_max. The q axis current limit value Iq_max gradually decreases as the electrical angular velocity re increases. An operating line (load line) of the q axis current limit value Iq_max transitions from A.fwdarw.B.fwdarw.C.fwdarw.D in the current vector limit chart when the q axis current iq is of a positive sign. On the other hand, when the q axis current iq is of a negative sign, the q axis current limit value Iq_max transitions from A.fwdarw.B.fwdarw.C.fwdarw.D in the current vector limit chart. That is, a q axis coordinate value having the greatest absolute value among those of the q axis coordinates in the internal region where the voltage limit circle overlaps with the current limit circle is taken as the q axis current limit value Iq_max. A value obtained through limit processing performed using the q axis current limit value Iq_max on the q axis current value calculated in accordance with the torque command value is used as a q axis current command value iq*. On the other hand, for a d axis current command value id*, a point whose q axis coordinate value matches the q axis current command value iq* and whose d axis coordinate value has the smallest absolute value among those of the d axis coordinates in the internal region where the voltage limit circle overlaps with the current limit circle is determined, and a d axis coordinate value of the determined point is taken as the d axis current command value id*.

(35) In this embodiment, the q axis current limit value Iq_max is computed based on the voltage constraint which is determined in consideration of a change in the DC bus voltage of the inverter represented by the above-described voltage limit circle, and the q axis current command value iq* and the d axis current command value id* are subsequently determined based on the computed q axis current limit value Iq_max, to thereby maximize the output torque and increase the degree of efficiency during high-velocity rotation of the motor.

(36) Next, with reference to FIG. 1, a velocity controller 10 for a three-phase permanent magnet synchronous motor according to this embodiment will be explained. FIG. 1 is a block diagram showing a structure of the velocity controller 10 for the three-phase permanent magnet synchronous motor in this embodiment. Only different components which are not explained above in connection with the example of the velocity controller in related art will be described below.

(37) The velocity controller 10 is composed, for example, of a microcomputer including a CPU and a memory. Alternatively, the velocity controller 10 may be composed of an electric circuit which performs computation in accordance with predetermined procedural steps, or a combination of two or more such electric circuits. In the velocity controller 10, an output from a torque current converter 53 is supplied as an input to a current vector controlling section 1. It should be noted that the output from the torque current converter 53 is a q axis current command value in a stage before application of the limit processing. A voltage constraint expression can be described with the voltage limit circle defined by Equation (5). As is evident from Equation (5), the size (radius) of the voltage limit circle is inversely proportional to the electrical angular velocity re (the motor velocity m), and is proportional to the voltage limit value V.sub.0max. From Equations (3a) and (4), it is found that a change dc in the DC bus voltage Vdc and a change V.sub.0max in the voltage limit value V.sub.0max have a relationship described by Equation (6) as follows.

(38) [ Equation 6 ] V 0 ma x = d c 2 ( 6 )

(39) Therefore, a voltage limit value V.sub.0max_V incorporating the voltage changes is defined for each operation at power running and at regenerative running as follows.

(40) [ Equation 7 ] { V 0 ma x _ v = V 0 ma x + V 0 ma x = V 0 ma x + d c 2 : FOR POWER RUN V 0 ma x _ v = V 0 ma x + R .Math. I 0 ma x + V 0 ma x = FOR REGENERATIVE V 0 ma x + R .Math. I 0 ma x + d c 2 : ( 7 )

(41) Here, for the voltage limit value V.sub.0max_V, Equation (8) is established as follows.

(42) [ Equation 8 ] V 0 ma x _ v re = V 0 ma x V 0 ma x V 0 ma x _ v re = V 0 ma x re _ v ( 8 )

(43) Therefore, the operating point on the current vector limit chart can be determined by converting the electrical angular velocity re_v using Equation (9) into the electrical angular velocity re_v in which the voltage changes are taken into account, and subsequently selecting the voltage limit circle using the electrical angular velocity re_v.

(44) [ Equation 9 ] re _ v = V 0 ma x V 0 ma x _ v re ( 9 )

(45) In the current vector controlling section 1, the number of pole pairs p, the winding inductance L, the winding resistance R, and the induced voltage constant Ke, which are motor parameters, the DC bus reference voltage Vdc, the reference voltage limit value V.sub.0max, and the current limit value I.sub.0max, which are determined based on the rating of the PWM inverter or other factors, and electrical angular velocity parameters a, b, and c representing electrical angular velocities on the current vector limit chart are preset and stored in the memory. The electrical angular velocity parameters a, b, and c indicate boundary values of the electrical angular velocity re_v at which calculation equations for the q axis current command value iq* and the d axis current command value id* are changed. From the preset values, the electrical angular velocity re of the motor varying in real time, and the detected DC bus voltage change value dc, the current vector controlling section 1 determines the operating point on the current vector limit chart based on a computation algorithm which will be explained below, and computes, based on the determined operating point, the q axis current command value iq* and the d axis current command value id*, which are then output.

(46) FIG. 2 is a flowchart for explaining the computation algorithm employed in the current vector controlling section 1 of the velocity controller 10. First, in step S1, the current vector controlling section 1 reads the detected DC bus voltage change value dc. In step S2, the current vector controlling section 1 determines whether an operating state of the motor is a power running state or a regenerative state. For example, the operating state of the motor is determined as the power running state when the motor velocity m and a motor acceleration have values of the same sign, or determined as the regenerative state when they have values of opposite sign. Operation proceeds to step S3 when the power running state is determined, or proceeds to step S4 when the regenerative state is determined, and in either step, the current vector controlling section 1 computes, based on Equation (7), the voltage limit value V.sub.0max_v incorporating the voltage change. Operation further proceeds to step S5 where the current vector controlling section 1 converts, based on Equation (9), the electrical angular velocity re into the electrical angular velocity re_v which takes the voltage change into account.

(47) From steps S6 to S8, a domain of the operating point is determined on the current vector limit chart. The quantity a is an electrical angular velocity parameter indicative of an electrical angular velocity which is smallest among those subjected to the voltage constraint at a reference voltage, and a voltage limit circle of the electrical angular velocity passes through the point A (or A) on the current vector limit chart in FIG. 10. The electrical angular velocity parameter a is determined by Equation (10) described below. In step S6, the current vector controlling section 1 determines whether or not an absolute value |re_v| of the electrical angular velocity lies within a range of |re_v|<a.

(48) [ Equation 10 ] a = V 0 ma x / L ( Ke / pL ) 2 + I 0 ma x 2 ( 10 )

(49) If the absolute value |re_v| is in the range of |re_v|a, operation proceeds to step S7 where the current vector controlling section 1 determines whether or not the absolute value |re_v| lies within a range of a|re<b. The quantity b is an electrical angular velocity parameter indicative of an electrical angular velocity which is smallest among those associated with voltage limit circles located within the current limit circle at the reference voltage, and a voltage limit circle of the electrical angular velocity passes through the point B (or B) on the current vector limit chart in FIG. 10. The electrical angular velocity parameter b is determined by Equation (11) as follows.

(50) 0 [ Equation 11 ] b = V 0 ma x / L I 0 ma x 2 - ( Ke / pL ) 2 ( 11 )

(51) If the absolute value |re_v| is in the range of |re_v|b, operation proceeds to step S8 where the current vector controlling section 1 determines whether or not the absolute value |re_v| lies within a range of b|re_v|<c. The quantity c is an electrical angular velocity parameter indicative of an electrical angular velocity which is smallest among those subjected to the voltage constraint even when the q axis current iq equals 0, and a voltage limit circle of the electrical angular velocity passes through the point C (or C) on the current vector limit chart in FIG. 10. The electrical angular velocity parameter we is determined by Equation (12) as follows.

(52) [ Equation 12 ] c = V 0 ma x ( Ke / p ) ( 12 )

(53) If the absolute value |re_v| is in the range of |re_v<a (Yes is determined in step S6), the motor velocity has not reached the electrical angular velocity subjected to the electrical constraint. In a domain of this range, control can be performed with the d axis current id=0, while the q axis current iq can be supplied unless a value of the q axis current iq exceeds the current limit value I.sub.0max. In step S6_1, an absolute value |iq*| of the q axis current command value is compared with the current limit value I.sub.0max, and when |iq*|>I.sub.0max is determined, operation proceeds to step S6_2 where the limit processing is performed on the q axis current command value iq* using the current limit value I.sub.0max. For the d axis current command value id*, id*=0 is set and output in step S14.

(54) If the absolute value |re_v| is in the range of a|re_v|<b (Yes is determined in step S7), it becomes necessary that the d axis current id be determined in accordance with the q axis current iq. The q axis current limit is defined by a point of intersection (idab, iqab) of a voltage limit circle existing in an A-B section and the current limit circle in the current vector limit chart in FIG. 10, and is calculated by Equation (13) as follows.

(55) [ Equation 13 ] { i dab = { V 0 ma x / ( re _ v L ) } 2 - ( Ke / pL ) 2 - I 0 ma x 2 2 ( Ke / pL ) i qab = I 0 ma x 2 - i dab 2 ( 13 )

(56) Here, the q axis current iq which causes application of the voltage constriction matches iqab0 from a point of intersection (0, iqab0) of the voltage limit circle and the q axis, and is calculated by Equation (14) as follows.
[Equation 14]
i.sub.qab0={square root over ({V.sub.0max/(.sub.re_vL)}.sup.2(Ke/pL).sup.2)}(14)

(57) In step S7_1, the current vector controlling section 1 assigns a value of iqab calculated by Equation (13) to the q axis current limit value Iq_max. In step S7_2, the current vector controlling section 1 assigns a value of iqab0 calculated by Equation (14) to a voltage limit starting q axis current Iq_max_0. The voltage limit starting q axis current Iq_max_0 represents a maximum value of the q axis current command value iq* which allows setting of the d axis current command value id*=0. When the q axis current command value iq* exceeds the value of the voltage limit starting q axis current Iq_max_0, the d axis current command value id* becomes |id*|>0.

(58) In a case where the absolute value |re_v| satisfies a relationship of b|re_v<c, (Yes is determined in step S8), the d axis current id is also determined in accordance with the q axis current iq. The q axis current limit is defined by a point of intersection (idbc, iqbc) of a voltage limit circle existing in a B-C section and a line defined by id=Ke/pL (line passing through the center of the voltage limit circle in parallel with the q axis) in the current vector limit chart of FIG. 10, and calculated by Equation (15) as follows.

(59) [ Equation 15 ] { i dbc = - ( Ke / pL ) i qbc = V 0 ma x / ( re _ v L ) ( 15 )

(60) In this case, the q axis current iq which causes application of the voltage constraint matches iqbc0 at a point of intersection (0, iqbc0) of the voltage limit circle and the q axis, and calculated by Equation (16) as follows.
[Equation 16]
i.sub.qbc0={square root over (i.sub.qbc.sup.2(Ke/pL).sup.2)}(16)

(61) In step S8_1, the current vector controlling section 1 assigns a value of the iqbc calculated by Equation (15) to the q axis current limit value Iq_max. In step S8_2, the current vector controlling section 1 assigns a value of the iqbc calculated by Equation (16) to the voltage limit starting q axis current Iq_max_0.

(62) If the absolute value |re_v| satisfies a relationship of |re_v|c (No is determined in step S8), the voltage constraint is applied even when the q axis current iq is 0, which means that it is necessary to use the d axis current id for control operation. A value of the q axis current limit is defined by a point of intersection (idcd, iqcd) of the voltage limit circle existing in a C-D section and the line defined by id=Ke/pL (line passing through the center of the voltage limit circle in parallel with the q axis), and is calculated by Equation (17) as follows.

(63) [ Equation 17 ] { i dcd = - ( Ke / pL ) i qcd = V 0 ma x / ( re _ v L ) ( 17 )

(64) In step S9_1, the current vector controlling section 1 assigns a value of the iqcd calculated by Equation (17) to the q axis current limit value Iq_max. Then, in step S9_2, the current vector controlling section 1 sets Iq_max_0=0 as the voltage limit starting q axis current Iq_max_0.

(65) If the absolute value |re_v| satisfies a relationship of |re_v|a (No is determined in Step 6), after the completion of the setting of the q axis current limit value Iq_max and the voltage limit starting q axis current Iq_max_0, operation proceeds to step S10. In step S10, the current vector controlling section 1 compares, in the range of |re_v|a in which the q axis current limit value Iq_max is lower than or equal to the current limit value I.sub.0max, the absolute value |iq*| of the q axis current command value with the value of the q axis current limit value Iq_max. If a relationship of |iq*|>Iq_max is determined, the limit processing is performed in step S11 to limit the q axis current command value iq* so as not to exceed Iq_max. In step S12, the absolute value |iq*| of the q axis current command value is compared with the voltage limit starting q axis current value Iq_max_0, and if a relationship of |iq*|<Iq_max_0 is found, the d axis current command value id* is set and output as id*=0 in step S14. On the other hand, if a relationship of |iq*|Iq_max_0 is determined, the value of id* which is needed depending on the voltage constraint is calculated in step S13 based on the iq* by Equation (18) as follows.
[Equation 18]
i.sub.d*=(Ke/pL)+{square root over ({V.sub.0max/(.sub.re_vL)}.sup.2(i.sub.q*).sup.2)}(18)

(66) The d axis current command value id* and the q axis current command value iq* determined using the above-described computation algorithm shown in FIG. 2 are coordinate values of the operating point which is determined based on the voltage limit circle and the current limit circle on the current vector limit chart of FIG. 10 in consideration of the voltage change so as to yield the maximum output torque with the highest degree of efficiency. The command values id* and iq* are output from the current vector controlling section 1 shown in FIG. 1.

(67) Although the computation algorithm in this embodiment includes square operations and operations to extract square root in some of the equations, there is almost no increase in an operation processing load, because actual operations may be performed with an arcsine function (=sin.sup.1x) table and a cosine function (y=cos ) table which are previously created. For example, taking x=idab/I.sub.0max, the value of iqab in Equation 13 may be obtained by computing =sin.sup.1x, and then computing iqab=I.sub.0max.Math.cos =I.sub.0max.Math.y.

(68) FIG. 3 to FIG. 9 show graphs which mainly represent responses of the current vector controlling section obtained by inputting, into the velocity controller according to the embodiment shown in FIG. 1, a velocity command value m* obtained through quadratic acceleration/deceleration processing. The horizontal axis corresponds to a time axis expressed with the number of samplings for each sampling time Ts=0.1 [ms]. Parameters of the motor and the PWM inverter applied include the number of pole pairs p=4, the winding inductance L=2.35 [mH], the winding resistance R=0.2 [], the induced voltage constant Ke=0.764 [V/(rad/s)], the DC bus (reference) voltage of Vdc=283 [V], the (reference) voltage limit value V.sub.0max=175 [V], the current limit value I.sub.0max=124 [A], and the electrical angular velocity parameters a=504, b=800, and c=918. In addition, a peak speed vm*max of the velocity command value m* is specified as vm*max=2500 [min.sup.1] with respect to a motor rated speed of 2000 [min.sup.1].

(69) In FIG. 3 to FIG. 6, the graphs represent the responses obtained in a case of the detected DC bus voltage change value dc=0 [V]. FIG. 3 shows the velocity command value m* and the motor velocity m, and FIG. 4 shows the torque command value C*, the d axis current command value id*, and the q axis current command value iq*. Further, FIG. 5 shows the internal responses of the current vector controlling section in an acceleration region, and FIG. 6 shows those in a deceleration region. Specifically, FIG. 5 and FIG. 6 show, as parameters indicative of the internal responses, changes in the voltage limit value V.sub.0max_v, the induced voltage mKe, the q axis current limit value Iq max, the voltage limit starting q axis current Iq_max_0, the d axis current commend value id*, and the q axis current command value iq*. In a final stage of acceleration, the q axis current command value iq* is limited to the value of Iq_max, while, in the deceleration region, because the regenerative state is established, the voltage limit value V.sub.0max_v is increased, leading to a linear response without limiting the q axis current command value iq*.

(70) It should be noted that although the electrical angular velocity parameters (a, b, and c) are constant values, because each of the values indicates a timing of matching the electrical angular velocity re_v in the graphs, the values converted into the motor velocity m (=re/p) do not agree between power running operation and generative operation (graphs in FIG. 5 and FIG. 6) in which the voltage limit vales V.sub.0max_v differ from each other.

(71) FIG. 7 to FIG. 9 are graphs representing the responses obtained in a case of the detected DC bus voltage change value dc=40 [V]. The velocity command value m* is the same as that in FIG. 3. The graph in FIG. 7 corresponds to the graph in FIG. 4, and the graphs in FIG. 8 and FIG. 9 correspond to the graphs in FIG. 5 and FIG. 6, respectively. In the graphs of FIG. 7 to FIG. 9, because the increased DC bus voltage creates a voltage allowance, the q axis current limit value Iq_max is increased by the amount of the voltage allowance, with a result that the linear response can be obtained even in the acceleration region without causing the value of iq* to be limited to the value of Iq_max.

REFERENCE SIGNS LIST

(72) 1 current vector controlling section 10, 200 velocity controller; 50, 58, 59 subtracter; 51, 56 differentiator; 52 velocity control unit; 53 torque current converter; 54 DC bus voltage detecting section; 55 converter; 57 three phase.fwdarw.dq converting section; 60 current controlling unit; 61 dq.fwdarw.three phase converting section; 62 PWM signal computing section; 100 three-phase AC power source; 101 converter section; 102 large capacitor; 103 inverter section: 104 three-phase permanent magnet synchronous motor (motor), 105 position detector; 106u, 106w current detector.