Motor controller
10594242 ยท 2020-03-17
Assignee
Inventors
Cpc classification
Y02P80/10
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
H02P1/00
ELECTRICITY
H02P7/06
ELECTRICITY
H02P3/00
ELECTRICITY
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)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
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
(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
(15)
(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)
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)
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)
(30)
(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
(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
(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
(34) In
(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
(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)
(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)
(41) Here, for the voltage limit value V.sub.0max_V, Equation (8) is established as follows.
(42)
(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)
(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)
(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
(48)
(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
(50)
(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
(52)
(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
(55)
(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
(59)
(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)
(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
(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)
(69) In
(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
(71)
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.