METHOD FOR CONTROLLING MOTOR USING DIRECT FLUX VECTOR CONTROL MODULE AND CONSTANT CURRENT ANGLE LOCUS MODULE AND DEVICE

20260051833 ยท 2026-02-19

Assignee

Inventors

Cpc classification

International classification

Abstract

A device and a method for controlling a motor using a DFVC module and a CCAL module. The invention: determines a torque reference, determines, by the CCAL module, a flux reference and a current reference from the torque reference and a predetermined angle, provides the flux reference and the current reference to the DFVC module in order to obtain a reference voltage to be provided to the motor, injects a high frequency signal on the reference voltage, determines, from motor current vector, an estimate of the direction of a flux of the motor, determines, from the estimate of the direction of the flux, an estimate of a flux and an estimate of the current that flows perpendicular to the estimated direction of the flux, provides the estimate of the flux and the estimate of the current that flows perpendicular to the estimated direction of the flux to the DFVC module.

Claims

1. A method for controlling a motor using a direct flux vector control module and a constant current angle locus module, comprising: determining a torque reference, determining, by the constant current angle locus module, a flux reference and a current reference from the torque reference and a predetermined angle, providing the flux reference and the current reference to the direct flux vector control module in order to obtain a reference voltage to be provided to the motor, injecting a high frequency signal on the reference voltage, estimating an angle of flux vector to drive the high frequency response of the current vector to be parallel to the current, determining, from the estimate of the angle of the flux vector, an estimate of the norm of the flux and an estimate of the current that flows perpendicular to the estimated direction of the flux, providing the estimate of the norm of the flux and the estimate of the current that flows perpendicular to the estimated direction of the flux to the direct flux vector control module.

2. The method according to claim 1, characterized in that the flux reference is determined using a first function of nominal parameters of the motor times, the square root of a product of the torque divided by the tangent of the reference angle and the current reference is determined using a second function of nominal parameters of the motor times, the square root of the product torque reference multiplied by the tangent of the reference angle.

3. The method according to claim 2, characterized in that the first function is f 1 = 2 n 3 pI n sin ( n ) , and the second function is f 2 = 2 I n sin ( n ) 3 p n , where .sub.n is the nominal flux of the motor, I.sub.n is the nominal current of the motor, sin(.sub.n) is determined from the nominal power factor cos(.sub.n) of the motor, p is the number of pole pairs of the motor.

4. The method according to claim 1, characterized in that the flux reference *and the current reference i.sub.* are determined according to the following formulas: * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" n 3 pI n tan ( * ) sin ( n ) = 2 n 3 pI n sin ( n ) .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * ) i * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" I n sin ( n ) tan ( * ) 3 p n = 2 I n sin ( n ) 3 p n .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * ) where .sub.n is the nominal flux of the motor, I.sub.n is the nominal current of the motor, sin(.sub.n) is determined from the nominal power factor cos(.sub.n) of the motor, p is the number of pole pairs of the motor, T* is the torque reference and .sub.* is the predetermined angle.

5. The method according to claim 1, characterized in that the predetermined angle is comprised between 30 to 45.

6. The method according to claim 1, characterized in that the predetermined angle is determined as = d 1 8 0 - atan ( ) , where custom-character and custom-character are nominal inductances estimated from nameplate characteristics of the motor, and .sub.d=55.

7. The method according to claim 1, characterized in that the predetermined angle is determined as a function of torque that is stored in a lookup table.

8. The method according to claim 1, characterized in that the predetermined angle is determined from current-to-torque-reference ratios observed at varying levels of predetermined angles and varying torque reference levels and an optimal angle is determined as the angle which minimizes the observed current-to-torque-reference ratio for the determined torque reference.

9. The method according to claim 1, characterized in that the estimated flux level is estimated as the current projected in the axis of estimated flux times a fixed ratio.

10. The method according to claim 9, characterized in that the fixed ratio is determined from nameplate characteristics of the motor.

11. (canceled)

12. A method for controlling a motor using a direct flux vector control module and a constant current angle locus module, comprising: determining a torque reference, determining, by the constant current angle locus module, a flux reference and a current reference from the torque reference and a predetermined angle, providing the flux reference and the current reference to the direct flux vector control module in order to obtain a reference voltage to be provided to the motor, injecting a high frequency signal on the reference voltage, determining, from motor current vector, an estimate of the direction of a flux of the motor, determining, from the estimate of the direction of the flux, an estimate of the norm of the flux and an estimate of the current that flows perpendicular to the estimated direction of the flux, providing the estimate of the norm of the flux and the estimate of the current that flows perpendicular to the estimated direction of the flux to the direct flux vector control module, wherein the high frequency injection is perpendicular to the estimated flux vector and the angle of the flux vector is estimated to drive the high frequency response of the current vector to be perpendicular to the current vector.

13. A device for controlling a motor using a direct flux vector control module and a constant current angle locus module, comprising: means for determining a torque reference, means for determining, by the constant current angle locus module a flux reference and a current reference from the torque reference and a predetermined angle, means for providing the flux reference and the current reference to the direct flux vector control module in order to obtain a reference voltage to be provided to the motor, means for injecting a high frequency signal on the reference voltage, means for estimating an angle of a flux vector to drive the high frequency response of the current vector to be parallel to the current, means for determining from the estimate of the angle of the flux vector, an estimate of the norm of the flux and an estimate of the current that flows perpendicular to the estimated direction of the flux, means for providing the estimate of the norm of the flux and the estimate of the current that flows perpendicular to the estimated direction of the flux to the direct flux vector control module.

14. A device for controlling a motor using a direct flux vector control module and a constant current angle locus module, comprising: means for determining a torque reference, means for determining, by the constant current angle locus module, a flux reference and a current reference from the torque reference and a predetermined angle, means for providing the flux reference and the current reference to the direct flux vector control module in order to obtain a reference voltage to be provided to the motor, means for injecting a high frequency signal on the reference voltage, means for determining, from motor current vector, an estimate of the direction of a flux of the motor, means for determining, from the estimate of the direction of the flux, an estimate of the norm of the flux and an estimate of the current that flows perpendicular to the estimated direction of the flux, means for providing the estimate of the norm of the flux and the estimate of the current that flows perpendicular to the estimated direction of the flux to the direct flux vector control module, wherein the high frequency injection is perpendicular to the estimated flux vector and the angle of the flux vector is estimated to drive the high frequency response of the current vector to be perpendicular to the current vector.

Description

BRIEF DESCRIPTION OF DRAWINGS

[0052] FIG. 1 represents a first example of a direct flux vector controller of a motor using a Constant Current Angle Locus (CCAL) according to the invention.

[0053] FIG. 2 represents an example of a block diagram of a high frequency injection module according to the invention.

[0054] FIG. 3 represents an example of a block diagram of a flux estimation module according to the present invention.

[0055] FIG. 4 represents an example of a block diagram of an estimation module of a flux level of a current perpendicular to an estimated direction of the flux according to the present invention.

[0056] FIG. 5 represents an example of a block diagram of a Direct Flux Control Vector module according to the present invention.

[0057] FIG. 6 represents an example of a torque estimation module according to the invention.

[0058] FIG. 7 represents the motor frameworks used by the present invention.

[0059] FIG. 8 represents an example of a framework transformation module that transforms the reference voltage v*.sub. in an framework into a reference voltage v**.sub. in an framework using an estimated direction of flux vector {circumflex over ()}.sub..

[0060] FIG. 9 represents an example of an algorithm for controlling a motor according to the invention.

[0061] FIG. 10a shows measurements results taken with different angles in comparison with an ideal MTPA system.

[0062] FIG. 10b shows measurements results taken with different angles in comparison with an ideal MTPA system.

[0063] FIG. 11 represents a second example of a direct flux vector controller of a motor using a Constant Current Angle Locus according to the invention.

DESCRIPTION OF EMBODIMENTS

[0064] FIG. 1 represents a first example of a direct flux vector controller of a motor using a Constant Current Angle Locus according to the invention.

[0065] The direct flux vector controller of a motor using a Constant Current Angle Locus shown in FIG. 1 comprises a current-flux angle determination module 100, a Constant Current Angle Locus module 101, a Direct Flux Vector Control module 102, an HF injection module 103, a framework transformation module 104, an inverter 105a connected to a motor 105b, a current measurement module 107, a flux angle estimation module 108, an estimation module 109 of a flux level and of a current perpendicular to an estimated direction of the flux and a torque reference determination module 110.

[0066] For linear machines, MTPA operation is achieved for a current shoot angle Ya in a dq framework of 45, i.e. I.sub.d=I.sub.q. For non-linear machines, the ideal MTPA operation is achieved for a higher current angle, with a deviating value that can reach as example 55 at nominal point.

[0067] When considering typical synchronous reluctance machine with a typical saliency ratio of 2-4, this gives a corresponding flux shoot angle of 15-25 in the d axis.

[0068] The current flux angle determination module 100 determines a predetermined angle .sub. that is the angle of the current vector in frame, that equals the difference between the current shoot angle and the flux shoot angle. Predetermined angle .sub. is set in the 30-45 range.

[0069] In a first variant of invention, the predetermined angle .sub. is determined as

[00005] = 1 8 0 - atan ( L d ^ ) ,

where custom-character and custom-character are nominal inductances estimated from nameplate characteristics of the motor, and custom-character=55 for example.

[0070] In a preferred implementation of invention, the predetermined angle is preferably under-dimensioned for example by 5, (e.g. using custom-character=50) to preserve the stability margin of sensorless control, as it operates away from low incremental saliency regions.

[0071] In another variant of invention, the predetermined angle .sub. is determined as a function of torque that is stored in a lookup table. For example, MTPA trajectory may be acquired at high speeds, together with inductance data. From such data, one can build the function that relates torque with an optimal predetermined angle .sub.. At low speeds, the predetermined angle .sub. is set from the determined torque level.

[0072] In another variant of invention, the current-to-torque-reference ratio is observed and stored for varying levels of angle .sub. and varying torque levels. Optimal angle is determined as the angle which minimizes the current-to-torque-reference ratio for the torque reference determined by the torque reference determination module 110.

[0073] The Constant Current Angle Locus module 101 determines a flux reference level * and a current reference level i.sub.* from a torque reference T* and from the angle .sub.*.

[0074] The Constant Current Angle Locus module 101 stores the nominal parameters of the motor, computes the flux reference level * as a first function of the nominal parameters of the motor times, the square root of the product of torque reference divided by the tangent of the angle .sub.*.

[0075] The Constant Current Angle Locus module 101 computes the current reference level i.sub.* as a second function of the nominal parameters of the motor 105 times the square root of the product torque reference multiplied by the tangent of the angle .sub.*.

[0076] In a preferred implementation of invention, the first function is

[00006] f 1 = 2 n 3 pI n sin ( n ) ,

and the second function is

[00007] f 2 = 2 I n sin ( n ) 3 p n ,

where .sub.n is the nominal flux of the motor 105b, I.sub.n is the nominal current of the motor 105b, sin(.sub.n) is determined from the nominal power factor cos(.sub.n) of the motor 105b, p is the number of pole pairs of the motor 105b.

[0077] The torque is generally expressed as

[00008] T = 3 p 2 .Math. .Math. i [0078] where is norm of flux vector and i.sub. is the projection of current vector in perpendicular to the flux vector.

[0079] At nominal operation point, =.sub.n and i.sub.=I.sub.n sin(.sub.n), thus

[00009] T n = 3 p 2 n I n sin ( n ) .

I.sub.n, .sub.n, .sub.n, T.sub.n and p are nominal conditions of the motor 105b, which can be accessed through the datasheet or the motor.

[0080] Using a linear flux estimation model, we derive

[00010] .Math. .Math. = n I n sin ( n ) i f .

[0081] Considering the current vector is forming the desired angle .sub.* with the flux vector, we get i.sub.=Isin(.sub.*), i.sub.=Icos(.sub.*), from which

[00011] T = 3 p 2 .Math. I .Math. 2 n I n sin ( n ) sin ( * ) cos ( * ) .

The expression of current amplitude then comes as

[00012] .Math. I .Math. = 4 .Math. "\[LeftBracketingBar]" T .Math. "\[RightBracketingBar]" I n sin ( n ) 3 p n sin ( 2 * ) .

[0082] According to the invention, the formulation of reference torque and current levels is thus given by:

[00013] * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" n 3 pI n tan ( * ) sin ( n ) = 2 n 3 pI n sin ( n ) .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * ) i * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" I n sin ( n ) tan ( * ) 3 p n = 2 I n sin ( n ) 3 p n .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * )

[0083] The Direct Flux Control Vector module 102 is disclosed in reference to FIG. 5.

[0084] FIG. 5 represents an example of a block diagram of a Direct Flux Control Vector module according to the present invention.

[0085] The Direct Flux Control Vector module 102 comprises two subtracting modules 500 and 502 and the proportional integral filters 501 and 503.

[0086] The subtracting module 500 subtracts an estimated {circumflex over ()} norm of the flux vector from the flux reference level *.

[0087] The output of the subtracting module 500 is provided to the Proportional Integral filter 501 which provides a voltage reference V.sub.* in the axis.

[0088] As a result of PI control, the voltage vector V.sub.* is driven so that estimated flux norm equals the reference flux norm.

[0089] The subtracting module 502 subtracts an estimated current {circumflex over (.Math.)} from the current reference level i.sub.*.

[0090] The output of the subtracting module 502 is provided to the Proportional Integral filter 503 which provides a voltage reference V.sub.* in the t axis.

[0091] As a result of PI control, the voltage vector V.sub.* is driven so that estimated current equals the reference current level.

[0092] The coefficients of PI filter are set according to a predetermined controller bandwidth .sub.DFVC

[00014] k p , f = 2 f k i , f = ( f ) 2 k p , = 2 L k i , = ( ) 2 .Math. L

[0093] As example, .sub.=2.sub. rad/s, .sub.=2.sub. rad/s where .sub. and .sub. belongs to [50 . . . 500] Hz. L.sub. is representative of the inductance of the machine in the t axis, and may be estimated from nameplate characteristics of the machine. The choice of DFVC control frequency .sub.DFVC relates to the expected dynamics of the control, i.e. the capacity to drive the estimated flux and current towards the reference flux and current within a given time window. In a variant, the DFVC module may also add feedforward terms (determined from current levels and speed) and/or decoupling terms.

[0094] The high frequency injection module 103 superposes to the voltage reference V.sub.* a high frequency signal (1).sup.nV.sub.hf.

[0095] The high frequency injection module 103 is disclosed in FIG. 2.

[0096] FIG. 2 represents an example of a block diagram of a high frequency injection module according to the invention.

[0097] The high frequency injection module 103 is composed of a transformation module 211 and a summation module 212.

[0098] The transformation module 211 performs an e.sup.J.sup.inj transform where J is the matrix

[00015] [ 0 - 1 + 1 0 ] ,

and .sub.inj represents the angle of HF injection in the stator flux reference frame. As example .sub.inj=0 or /2.

[0099] In other words, the high frequency injection signal is then parallel to the estimated flux vector and the direction of flux angle is estimated to drive the high frequency response of the current vector to be parallel to the current or the high frequency injection is perpendicular to the estimated flux vector and the direction of flux angle is estimated to drive the high frequency response of the current vector to be perpendicular to the current vector.

[0100] The output of the transformation module 211 is added to the voltage reference V.sub.* determined by the DFVC module 102. The V.sub.** result is then converted into framework by the framework transformation module 104.

[0101] For example, the high frequency signal is sinusoidal.

[0102] For example, the high frequency signal (1).sup.nV.sub.hf has a fixed amplitude in the range between 5V and 100V, and changes polarity at the frequency of activation of DFVC controller. As examples the frequency of activation of DFVC controller equals the switching frequency of inverter 105a, or twice the switching frequency of inverter 105a. The switching frequency belongs to [1 . . . 50] KHz.

[0103] An example of the framework transformation module 104 is given in FIG. 8.

[0104] The framework transformation module 104 performs an e.sup.J.sup.inj transform where J is the matrix

[00016] [ 0 - 1 + 1 0 ]

using the estimated flux direction {circumflex over ()}, and V.sub.* is then used to drive the motor 105b through the voltage source inverter 105a.

[0105] The measurements module 107 measures the motor current vector i.sub.abc in the three-phases abc and transforms the motor current i.sub.abc measured in the three-phases abc in a measured motor current vector i.sub. in the framework.

[0106] The motor current vector i.sub. is provided to the flux angle estimation module 108 and to the estimation module 109 of a flux level and of a current perpendicular to an estimated direction of the flux.

[0107] An example of the flux angle estimation module 108 is disclosed in reference to FIG. 3.

[0108] FIG. 3 represents an example of a block diagram of a flux estimation module according to the present invention.

[0109] The flux angle estimation module 108 is composed of two filters 311 and 321, an angle detection module 312, a framework transformation module 313, two multipliers 322 and 323, a proportional integral filter 324 and an integrator 325.

[0110] The filter 311 sums the sample of the current vector i.sub. to the previous sample of the current vector i.sub..

[0111] The angle detection module 312 determines the angle .sub. of the current vector projected in the a axis and provides the angle of the current vector in the a axis to the framework transformation module 313.

[0112] The framework transformation module 313 performs an e.sup.J((.sup..sup.+.sup.inj.sup.)) rotation transform where J is the matrix

[00017] [ 0 - 1 + 1 0 ]

of the current vector i.sub..

[0113] Only the transformed current vector projected orthogonally to the rotation angle (in the .sub.+.sub.inj+/2 axis) is provided to the filter 321.

[0114] The filter 321 sums the sample of the current vector i.sub..sub..sub.+.sub.inj.sub.+/2 to the previous sample of the current vector i.sub..sub..sub.+.sub.inj.sub.+/2.sub.2.

[0115] The output of the filter 321 is multiplied by the multiplier 322 by (1).sup.n1, i.e. using the polarity of HF voltage injected at previous activation of high frequency injection module 103. The function of the multiplier 322 is similar to a simplified heterodyne demodulation being applied to square waves. The invention equally applies to other injection types where multiplier 322 can be replaced with heterodyne demodulator.

[0116] The output of the multiplier 322 is multiplied by the multiplier 323 by 1/i.sub.0.

[0117] HF response current is therefore first heterodyne demodulated and then a proportional integral filter 324 drives the output of heterodyne demodulation to zero. The output of the proportional integral filter 324 estimates the speed of the motor {circumflex over ()}, which by integration by the integrator 325 provides the estimated direction of the flux {circumflex over ()}.

[0118] The coefficients of integral filter 324 are set according to a proportional integral filter bandwidth .sub.

[00018] k p , = 2 k i , = ( ) 2

[0119] As example, .sub.=15 rad/s. The proportional integral filter bandwidth .sub. relates to the expected dynamic to track any changes in speed.

[0120] The gain of resulting of the integral filter is given by

[00019] i 0 V h f T s l d - l q l d l q

[0121] V.sub.hf is the level of injection, Ts is the time period between successive activations of controller, l.sub.d and l.sub.q are incremental inductances of the motor 105b in d and q axes. As example, the frequency of activation of proportional integral filter is 1 kHz, and T.sub.s=1 ms.

[0122] In a preferred implementation, approximated values of l.sub.d and l.sub.q are derived from the nameplate characteristics of the motor 105b. (T.sub.n: nominal torque, i.sub.n: nominal current, P.sub.n: nominal power, .sub.n: nominal electrical speed, PF=cos(.sub.n): nominal power factor, p: number of pole pairs).

[0123] Considering a current shoot angle 55 at nominal conditions, nominal torque is T.sub.n=p(L.sub.dL.sub.q)i.sub.qi.sub.q=p(L.sub.dL.sub.q)i.sub.n.sup.2 sin(2custom-character)/2. From which we get

[00020] L d - L q = 2 T n p i n 2 sin ( 2 )

[0124] From power factor at nominal operation point and assuming unitary efficiency of the drive, the reactive power is expressed as Q.sub.n=P.sub.n tan(.sub.n)=.sub.ni.sub.n.sup.2(L.sub.d cos.sup.2(custom-character)+L.sub.q sin.sup.2(custom-character)). We therefore reach inductance levels at nominal operation point:

[00021] = T n p i n 2 ( tan ( n ) + tan ( ) ) = T n p i n 2 ( tan ( n ) - 1 tan ( ) )

[0125] Finally, assuming that the machine is magnetically linear we get

[00022] l d = , l q = .

[0126] The output of the flux angle estimation module 108 is provided to the estimation module 109 of a flux level and of a current perpendicular to an estimated direction of the flux and to the framework transformation module 104.

[0127] An example of the estimation module 109 of a flux level and of a current perpendicular to an estimated direction of the flux is disclosed in reference to FIG. 4.

[0128] The FIG. 4 represents an example of a block diagram of an estimation module of a flux level and a current perpendicular to an estimated direction of the flux according to the present invention.

[0129] The estimation module 109 of a flux level and of a current perpendicular to an estimated direction of the flux comprises a framework transformation module 400, and a multiplier 401.

[0130] The current vector i.sub. is converted into the flux framework using the estimated direction of the flux custom-character, from which custom-character is determined. The component custom-character is multiplied by

[00023] n I n sin ( n ) .

The norm of flux {circumflex over ()} is determined from the component of current custom-character in line with the flux.

[0131] According to the invention, the norm of flux vector is assumed to be linear with the current in the flux axis, and is determined from nominal operation conditions I.sub.n, .sub.n, .sub.n, which can be accessed through nameplate characteristics of the machine:

[00024] = n I n sin ( n ) .

[0132] The estimated flux level is then estimated from the current projected in the axis of estimated flux using a fixed ratio that is determined from nameplate characteristics of the motor.

[0133] The determined estimated custom-character and {circumflex over ()} are provided to the DFVC module 102.

[0134] An example of the torque reference estimation module 110 is disclosed in reference to FIG. 6.

[0135] The FIG. 6 represents an example of a torque reference estimation module according to the invention.

[0136] The torque reference estimation module comprises a subtracting module 600 and a proportional integral filter 601.

[0137] The subtracting module 600 subtracts to the speed reference * the speed estimate {circumflex over ()}. The output of the subtracting module is provided to the proportional integral filter 601.

[0138] As a result of proportional integral filter 601, the torque reference T* is driven so that estimated speed {circumflex over ()} equals the reference speed level *.

[0139] The coefficients of proportional integral filter 601 are set according to a proportional integral filter 601 bandwidth .sub.speed

[00025] k p , = 2 J s p e e d k i , = J ( s p e e d ) 2 [0140] where J is the mechanical inertia of the system. As example, .sub.speed=2.sub.speed rad/s, where .sub.speed belongs to [1 . . . 20] Hz. The choice of speed control frequency .sub.speed relates to the expected dynamics of the proportional integral filter, i.e. the capacity to drive the estimated speed towards the reference speed within a given time window.

[0141] The FIG. 7 represents the motor frameworks used by the present invention.

[0142] The stator () framework is fixed. The current stator (ij) framework is a rotated framework with angle (.sub.) with respect to (), angle being defined by the current vector i, that is aligned with i axis. The flux stator () framework is a rotated framework with angle (.sub.) with respect to (), angle being defined by the flux vector , that is aligned with axis.

[0143] According to the invention, the CCAL module determines the reference amplitude of flux * and the reference current level i.sub.* from a torque reference according to formulas that force the angle between i and vectors to be equal to a reference .sub.*.

[0144] According to the invention, the HF injection module 103 injects HF flux in a direction .sub.inj with respect to axis of estimated stator flux framework. The flux angle estimation module determines an estimation {circumflex over ()} of angle of the stator flux framework which drives the HF response of the current vector i to form the same angle .sub.inj with respect to i axis of estimated stator current framework.

[0145] The formulas relate the estimated level of flux to the level of current i.sub. observed in axis using a proportional rule, that is identified from nameplate characteristics of the machine.

[0146] The FIG. 10 show measurements results on a commercial synchronous reluctance motor taken with different angles in comparison with an ideal MTPA system.

[0147] The horizontal axis of FIG. 10a represents the current in the d axis expressed in Ampere.

[0148] The vertical axis of FIG. 10a represents the current in q axis expressed in Ampere.

[0149] The horizontal axis of FIG. 10b represents the torque expressed in Nm.

[0150] The vertical axis of FIG. 10q represents the absolute value of the current in dq framework expressed in Ampere.

[0151] Ideal MTPA trajectory is shown in Curves noted 10a and 10b. According to invention, actual trajectories for two different fixed angles .sub. are shown in curves 11a, 11b, 12a and 12b.

[0152] When the angle .sub. is poorly chosen, for example 15, the trajectory of the current strongly deviates from ideal one, causing a higher level of current for a given torque, and thus losses as shown in curves 12a and 12b.

[0153] When the angle .sub. is chosen adequately according to invention, for example 30, the trajectory of current also deviates from ideal one as shown in curves 11a and 11b, but leaves the level of current similar to the one of the MTPA in the curves 10a and 10b.

[0154] FIG. 9 represents an example of an algorithm for controlling a motor according to the invention.

[0155] The present algorithm is disclosed in an example wherein it is executed by the processor 1100 of the direct flux vector controller of a motor.

[0156] At step S90, the processor 1100 determines a torque reference T* as disclosed in FIG. 1 or FIG. 6.

[0157] At step S91, the processor 1100 obtains a predetermined angle .sub.*.

[0158] The predetermined angle .sub. is the angle of the current vector in frame, that equals the difference between the current shoot angle and the flux shoot angle.

[0159] In a first variant of invention, predetermined angle .sub. is set in the 30-45 range.

[0160] The predetermined angle .sub. is determined as

[00026] = d 1 8 0 - atan ( ) ,

where custom-character and custom-character are nominal inductances estimated from nameplate characteristics of the motor, and .sub.d=55 for example.

[0161] In a preferred implementation of invention, the predetermined angle is preferably under-dimensioned for example by 5, (e.g. using .sub.d=50) to preserve the stability margin of sensorless control, as it operates away from low incremental saliency regions.

[0162] In another variant of invention, the predetermined angle .sub. is determined as a function of torque that is stored in a lookup table. For example, MTPA trajectory may be acquired at high speeds, together with inductance data. From such data, one can build the function that relates torque with an optimal predetermined angle .sub.. At low speeds, the predetermined angle .sub. is set from the determined torque level.

[0163] In another variant of invention, the current-to-torque-reference ratio is observed and stored for varying levels of angle .sub. and varying torque reference levels. Optimal angle is determined as the angle which minimizes the measured current-to-torque-reference ratio for the torque reference determined at step S90.

[0164] At step S92, the processor 1100 determines a flux reference and a current reference from the torque reference and the predetermined angle.

[0165] The flux reference is determined using a first function of nominal parameters of the motor times, the square root of a product of the torque divided by the tangent of the reference angle and the current reference is determined using a second function of nominal parameters of the motor times, the square root of the product torque reference multiplied by the tangent of the reference angle.

[0166] The first function is

[00027] f 1 = 2 n 3 p I n sin ( n ) ,

and the second function is

[00028] f 2 = 2 I n sin ( n ) 3 p n ,

where .sub.n is the nominal flux of the motor, I.sub.n is the nominal current of the motor, sin(.sub.n) is determined from the nominal power factor cos(.sub.n) of the motor, p is the number of pole pairs of the motor.

[0167] The flux reference * and the current reference i.sub.* are determined according to the following formulas:

[00029] * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" n 3 pI n tan ( * ) sin ( n ) = 2 n 3 pI n sin ( n ) .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * ) i * = 2 .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" I n sin ( n ) tan ( * ) 3 p n = 2 I n sin ( n ) 3 p n .Math. "\[LeftBracketingBar]" T * .Math. "\[RightBracketingBar]" tan ( * ) [0168] where .sub.n is the nominal flux of the motor, I.sub.n is the nominal current of the motor, sin(.sub.n) is determined from the nominal power factor cos(.sub.n) of the motor, p is the number of pole pairs of the motor, T* is the torque reference and .sub.* is the predetermined angle.

[0169] At step S93, the processor 1100 determines a reference voltage to be provided to the motor in a similar way as the one performed by the DFVC 102 of FIG. 1.

[0170] At step S94, the processor 1100 injects a high frequency signal on the reference voltage in a similar way as the one injected by the high frequency signal injection 103 of FIG. 1.

[0171] At step S95, the processor 1100 obtains motor current vector measurements in a similar way as the one measured by the current measurement module 107 of FIG. 1.

[0172] At step S96, the processor 1100 determines, from motor current vector, an estimate of the direction of a flux of the motor in a similar way as the one performed by the flux angle estimation module 108 of FIG. 1.

[0173] At step S97, the processor 1100 determines, from the estimate of the direction of the flux, an estimate of a flux and an estimate of the current that are perpendicular to the estimated direction of the flux, in a similar way as the ones determined by estimation module 109 of FIG. 1.

[0174] At step S98, the processor 1100 provides the estimate of the flux and the estimate of the current that are perpendicular to the estimated direction of the flux to the direct flux vector control step S92.

[0175] FIG. 11 represents a second example of a direct flux vector controller of a motor using a Constant Current Angle Locus according to the invention.

[0176] The direct flux vector controller 11 of a motor using a Constant Current Angle Locus has, for example, an architecture based on components connected by a bus 1101 and a processor 1100 controlled by a program as disclosed in FIG. 9.

[0177] The bus 1101 links the processor 1100 to a read only memory ROM 1102, a random-access memory RAM 1103, an input output I/O IF interface 1105.

[0178] The input output I/O IF interface 1105 enables the device direct flux vector controller 11 to sense signals representative of current flowing through the motor 105b.

[0179] The memory 1103 contains registers intended to receive variables and the instructions of the program related to the algorithm as disclosed in FIG. 9.

[0180] The read-only memory, or possibly a Flash memory 1102, contains instructions of the programs related to the algorithm as disclosed in FIG. 9, that are, when the device 11 is powered on, loaded to the random-access memory 1103. Alternatively, the program may also be executed directly from the ROM memory 1102.

[0181] The calculation performed by the device 11 may be implemented in software by execution of a set of instructions or program by a programmable computing machine, such as a PC (Personal Computer), a DSP (Digital Signal Processor) or a microcontroller; or else implemented in hardware by a machine or a dedicated component, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit).

[0182] In other words, the device 11 includes circuitry, or a device including circuitry, causing the device 11 to perform the program related to the algorithm as disclosed in FIG. 9.