ADJUSTABLE PHASE ADVANCE FOR PM MOTOR CONTROL

20230361704 · 2023-11-09

Assignee

Inventors

Cpc classification

International classification

Abstract

There is provided herein a method of advancing phase of a DQ reference frame in a Field Oriented Control, FOC, algorithm for a permanent magnet motor. The method comprises: monitoring a component of the stator voltage demand of the permanent magnet motor, when the component of the stator voltage demand surpasses a threshold, calculating a phase advance angle, θ.sub.adv, based on a gain multiplied by the difference between the component of stator voltage demand and the threshold; and advancing phase of the DQ reference frame in the FOC algorithm based on the calculated phase advance angle, up to a maximum phase advance angle when motor speed is positive, or down to a minimum phase angle when motor speed is negative.

Claims

1. A method of advancing phase of a DQ reference frame in a Field Oriented Control, FOC, algorithm for a permanent magnet motor, the method comprising: monitoring a component of the stator voltage demand of the permanent magnet motor, when the component of the stator voltage demand surpasses a threshold, calculating a phase advance angle, θ.sub.adv, based on a gain multiplied by the difference between the component of stator voltage demand and the threshold; and advancing phase of the DQ reference frame in the FOC algorithm based on the calculated phase advance angle, up to a maximum phase advance angle when motor speed is positive, or down to a minimum phase angle when motor speed is negative.

2. The method of claim 1, wherein the component of the stator voltage demand is V.sub.q, and the threshold is a V.sub.q threshold.

3. The method of claim 2, wherein the phase advance angle is calculated by the following equation: θ adv = { K ph - adv q .Math. ( V q dem - V q thr ) .Math. 0 + θ max If V q dem > V q thr 0 If - V q thr V q dem V q thr K ph - adv q .Math. ( V q dem + V q thr ) .Math. - θ max 0 If V q dem < - V q thr wherein K.sub.ph-adv.sup.q is the gain, V.sub.q.sup.dem is the V.sub.q demand, V.sub.q.sup.thr is the V.sub.q threshold, θ.sub.max is the maximum phase advance angle, and −θ.sub.max is the minimum phase advance angle.

4. The method of claim 1, wherein the component of the stator voltage is V.sub.d, demand and the threshold is a V.sub.d threshold.

5. The method of claim 4, wherein the phase advance angle is calculated by the following equation: θ adv = { - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem - V d thr ) .Math. - θ max 0 V d dem > V d thr 0 - V d thr V d dem V d thr - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem + V d thr ) .Math. 0 + θ max V d dem < - V d thr wherein ω.sub.mot is the motor speed, K.sub.ph-adv.sup.d is the gain, V.sub.d.sup.dem is the V.sub.d demand, V.sub.d.sup.thr is the V.sub.d threshold, θ.sub.max is the maximum phase advance angle, and −θ.sub.max is the minimum phase advance angle.

6. The method of claim 1, wherein the phase advance angle is a first phase advance angle, the gain is a first gain, the component of stator voltage demand is V.sub.q, and the threshold is a V.sub.q threshold; the method further comprising calculating a second phase advance angle based on a second gain multiplied by a difference between V.sub.d and a V.sub.d threshold; advancing phase of the DQ reference frame in the FOC algorithm by the largest of the first phase advance angle and the second phase advance angle when the motor speed is positive, up to a maximum phase advance angle; or advancing phase of the DQ reference frame in the FOC algorithm by the lowest of the first phase advance angle and the second phase advance angle when the motor speed is negative, down to a minimum phase advance angle.

7. The method of claim 6, wherein the first phase advance angle, θ.sub.adv.sup.q, is calculated by the following equation: θ adv q = { K ph - adv q .Math. ( V q dem - V q thr ) .Math. 0 + θ max V q dem > V q thr 0 - V q thr V q dem V q thr K ph - adv q .Math. ( V q dem + V q thr ) .Math. - θ max 0 V q dem < - V q thr wherein K.sub.ph-adv.sup.q is the first gain, V.sub.q.sup.dem is the V.sub.q demand, V.sub.q.sup.thr is the V.sub.q threshold, θ.sub.max is the maximum phase advance angle, and −θ.sub.max is the minimum phase advance angle.

8. The method of claim 7, wherein the second phase advance angle, θ.sub.adv.sup.d, is calculated by the following equation: θ adv d = { - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem - V d thr ) .Math. - θ max 0 V d dem > V d thr 0 - V d thr V d dem V d thr - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem + V d thr ) .Math. 0 + θ max V d dem < - V d thr wherein ω.sub.mot is the motor speed, K.sub.ph-adv.sup.d is the second gain, V.sub.d.sup.dem is the V.sub.d demand, V.sub.d.sup.thr is the V.sub.d threshold, θ.sub.max is the maximum phase advance angle, and −θ.sub.max is the minimum phase advance angle.

9. The method of claim 8, wherein the phase advance angle is selected from the calculated θ.sub.adv.sup.q and θ.sub.adv.sup.d by the following equation: θ adv = { Max ( θ adv q , θ adv d ) ω mot > 0 Min ( θ adv q , θ adv d ) ω mot 0

10. The method of claim 1, further comprising limiting a rate of change of the phase advance angle.

11. The method of claim 1, further comprising filtering the difference between the component of stator voltage demand and the threshold so as to remove the effects of feedback noise.

12. A method of Field Oriented Control, FOC, of a permanent magnet motor, the method comprising measuring the motor phase currents (I.sub.a, I.sub.b, I.sub.c) of each motor phase; calculating the coordinates (I.sub.α, I.sub.β) of the motor current vector in a fixed Alpha-Beta reference frame; measuring the position of the rotor so as to provide a DQ reference frame; advancing the angle of the DQ reference frame as claimed in claim 1; using I.sub.α, I.sub.β to calculate the current vector coordinates (I.sub.d, I.sub.q) in the advanced DQ reference frame; calculating the voltage coordinates (V.sub.d, V.sub.q) in the advanced DQ reference frame to ensure that the advanced D-axis current I.sub.d is stable at 0A, whilst providing a desired Q-axis current; converting the voltage coordinates (V.sub.d, V.sub.q) to Alpha-Beta coordinates (V.sub.α, V.sub.β), thereby providing an appropriate voltage vector needed to produce the required motor phase currents; converting the voltage coordinates (V.sub.α, V.sub.β) to individual phase voltages V.sub.a, V.sub.b, V.sub.c to be provided to each motor winding by a power inverter.

13. A system for providing a phase advance angle for Field Oriented Control, FOC, of a permanent magnet motor, the system comprising means for calculating a difference between a monitored component of stator voltage demand and a threshold, means for applying a proportional gain to the calculated difference between the monitored component of stator voltage demand and the threshold; and means for outputting a phase advance angle for advancing a DQ reference frame in a FOC algorithm.

14. The system of claim 13, wherein the monitored component of the stator voltage demand is V.sub.q, and the threshold is a V.sub.q threshold.

15. A system comprising; a permanent magnet motor, PMM; a power inverter configured to provide power to the PMM; and a controller configured to apply the method of claim 11 to control individual phase voltages applied by the power inverter to each motor winding of the PMM.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0053] Certain examples of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0054] FIG. 1 is a diagram of the space vector concept;

[0055] FIG. 2 is a diagram of the Alpha-Beta and DQ reference frames, and how they relate to the position of the stator coils and the rotor respectively;

[0056] FIG. 3 is a diagram of motor current vector coordinates in Alpha-Beta and in DQ reference frames;

[0057] FIG. 4 is a diagram as to how, under typical operation, the voltage vector and the current vector of a PM motor are not in phase;

[0058] FIG. 5 is a diagram of field weakening in motor control;

[0059] FIG. 6 is a diagram of phase advance in motor control;

[0060] FIG. 7 shows the effect of varying phase advance based on a measure of V.sub.q on both V.sub.q and V.sub.d with increasing motor speed;

[0061] FIG. 8 shows a schematic diagram of a system configured to calculate a suitable phase advance angle based on a measure of V.sub.q; and

[0062] FIG. 9 shows the effect of varying phase advance based on a measure of both V.sub.q and V.sub.d, on both V.sub.q and V.sub.d with increasing motor speed.

DETAILED DESCRIPTION

[0063] Whilst the description herein refers to only permanent magnet motors it would be appreciated that the teaching herein could be applied to any suitable motor, as far as possible. In addition, as above, a “positive” motor speed refers to an anti-clockwise rotation of the space vectors in the diagram, although it would be appreciated that, should a “positive” motor speed be considered as a clockwise rotation, the same teaching here applies, with the relevant positive/negative signs inverted.

[0064] In order to reduce the total magnitude of V.sub.s (for example, to a magnitude that may be supplied by the power inverter) for a given speed and torque demand, various control techniques may be applied. For example, as shown in FIG. 5, field weakening may be applied.

[0065] Field weakening is a control technique which modifies the I.sub.d current demand from 0A to a negative value (when the motor speed is positive) or a positive value (when the motor speed is negative). This is illustrated in FIG. 5 (for positive motor speed). The current component I.sub.d causes an additional voltage drop I.sub.dωL.sub.s acting perpendicular to the I.sub.d current component on the motor winding impedance which has the effect of reducing the magnitude of the total stator voltage V.sub.s required, whilst still providing the same current I.sub.q (i.e. the same torque demand). In this way, it may be said that the applied d-axis current weakens the field of the magnets, thereby reducing the amount of back-emf that has to be overcome.

[0066] However, by sacrificing the perpendicular nature of the motor currents (i.e. by shifting the motor current vector out of alignment with the Q-axis by providing an I.sub.d component), the efficiency of the motor (e.g. in kW/Nm) drops, as more power is needed to generate the same amount of torque.

[0067] The same effect is achieved by utilising phase advance. In a phase advance algorithm, the DQ reference frame (such as the DQ reference frame referred to in the FOC operation outlined above) is shifted such that the controller calculates the required phase voltages based on the fact that the rotor is at an advanced position compared to its actual position. This is illustrated in FIG. 6, where the actual DQ axis has been advanced by θ.sub.adv to the rotated DQ axis. In this way, motor is controlled such that the provided D-axis current I.sub.d remains zero in the rotated DQ axis. However, in the actual DQ axis, this results in functionally the same effect of the above described field weakening, in that there is a non-zero I.sub.d component, which reduces the total V.sub.s required, as described above.

[0068] The amount of desired field weakening, or of phase advance are highly dependent on motor parameters, speed and load torque. They are usually implemented based on pre-calculated two-dimensional lookup tables that take measured speed and current demand I.sub.q for a given motor to calculate the optimal I.sub.d (for field weakening) or rotation angle θ (for phase advance). These lookup tables are populated with large number of values extracted from simulation models or from experimental results. However, such calculations/experiment are very time consuming, which is a disadvantage to product development timescales.

[0069] There is therefore a need to provide a universal method of control that can calculate an optimal amount of phase advance for a given speed without the need for pre-populated tabular data.

[0070] It is therefore proposed that an amount of phase advance can be calculated using a formula which relates generic features such as components of the voltage demand to a desired amount of phase advance. For example, such a formula may be based solely on V.sub.q, solely on V.sub.d, or a mixture of the two.

[0071] As above, under normal operation, it is desirable for i.sub.d to equal zero, such that the motor phase currents are aligned with the Q axis, and therefore the motor can be most efficiently operated. However, as described above, as the speed of the motor increases, and therefore so does the back-emf as well as the voltage drop I.sub.qωL.sub.s, the required magnitude of V.sub.s increases above the total voltage that can be applied by the power inverter. Therefore, it is desirable to apply phase advance control, only when the maximum voltage is close to being reached, such that efficiency of the motor remains as high as possible, for as long as possible.

[0072] However, when the maximum voltage is close to being reached, then it becomes necessary to apply phase advance, such that the maximum voltage of the power inverter is not reached.

[0073] As would be appreciated, the magnitude of V.sub.s can be calculated by a relatively simple Pythagorean calculation as follows in equation 1:


V.sub.s=√{square root over (V.sub.d.sup.2+V.sub.q.sup.2)}  Equation 1

[0074] Due to the fact that the voltage component V.sub.q is always larger than V.sub.d, because V.sub.q includes the motor back-emf, while V.sub.d includes only the inductive voltage drop on the stator windings, then usually, limiting the value of V.sub.q takes precedence over V.sub.d.

[0075] Therefore, it may be possible to monitor only V.sub.q in determining how much phase advance should be applied.

[0076] Therefore, in order to maximize efficiency, phase advance may only be applied as the V.sub.q demand threshold is reached. Therefore, there may be defined a critical threshold V.sub.q.sup.thr, above which, the phase advance process begins. As would be appreciated, this threshold may be any threshold that is suitable for the desired use. Even though V.sub.q is always larger than V.sub.d, the threshold should take into account the presence of V.sub.d, and therefore cannot simply be set at (or very close to) 100%. For example, the threshold may be set at around 75% of the maximum voltage available from the power inverter. In this way, no phase advance is applied when V.sub.q<V.sub.q.sup.thr, as the total voltage supplied will be safely within the limits of the power inverter, and it is desired that the most efficient operation of the motor occurs.

[0077] Then, once V.sub.q surpasses the critical threshold (e.g. due to an increase in speed of the motor, increasing the back-emf and the voltage drop associated with I.sub.q), the phase advance angle may be varied. With an increasing of phase angle, I.sub.d increases, thereby increasing the amount of associated voltage drop, reducing the magnitude of the required V.sub.s as described above. As the speed further increases (thereby increasing the back emf and voltage drop associated with I.sub.q), more phase advance angle may be required so as to increase the voltage drop associated with I.sub.d.

[0078] Therefore, above V.sub.q.sup.thr, the amount of phase advance may increase linearly in proportion with V.sub.q−V.sub.q.sup.thr (i.e. the excess voltage over the threshold) up to a maximum angle θ.sub.max. θ.sub.max is set lower than 90°, as the higher the level of phase advance, the less efficient the running of the motor is. At 90°, the actual Q-axis current would equal zero, such that no torque would be generated. Similar considerations apply when the motor speed is negative and V.sub.q is also negative. These considerations are summarized by equation 2 below, which provides calculations for both positive and negative motor speeds:

[00006] θ adv = { K ph - adv q .Math. ( V q dem - V q thr ) .Math. 0 + θ max If V q dem > V q thr 0 If - V q thr V q dem V q thr K ph - adv q .Math. ( V q dem + V q thr ) .Math. - θ max 0 If V q dem < - V q thr Equation 2

[0079] The effect of such a variable phase advance is shown in FIG. 7. FIG. 7 shows a graph 701 of phase advance angle on the y-axis (in radians) vs motor speed on the x-axis, while the associated variation of V.sub.q is shown in graph 702, and the variation of V.sub.d is shown in graph 703.

[0080] In all of these examples, the current I.sub.q is assumed constant at 50A (i.e. that the motor has the same torque production at all speeds) and voltage threshold V.sub.q.sup.thr is set at 220V. As can be seen in graph 702, the voltage V.sub.q increases roughly linearly with speed, up to the point where it reaches its set threshold level (220V), and the phase advance mechanism kicks in. At this point, the increase of V.sub.q is slowed down above V.sub.q.sup.thr due to the rotation of the DQ reference frame by angle θ.sub.adv, in the FOC control as explained in more detail above. As can be seen in graph 703, the increasing rotor speed similarly causes an increase of V.sub.d in a negative direction at a slower rate than the corresponding increase in V.sub.q. Then, once phase advance is applied, the reference frame rotation causes V.sub.d to decrease as shown in graph 703.

[0081] The net effect is a reduction of the magnitude of the total stator voltage V.sub.s which allows the motor drive system to reach speeds which would have otherwise been inaccessible due to the large value of the back-emf at such speeds. The values for critical voltage thresholds v.sub.q.sup.thr, phase advance gain K.sub.ph-adv.sup.q, as well as maximum phase advance θ.sub.max may be calculated in any suitable manner, or set based on general considerations/previous experiences. For example, θ.sub.max may be in the region of 45°. K.sub.ph-adv.sup.q may be in the region of 1.0°/V. Additionally, K.sub.ph-adv.sup.q may vary, however, this would result in a more complicated system.

[0082] In order to optimise the system, the voltage thresholds, phase advance gain, and/or the maximum phase advance may be tuned for optimal performance, for example, for maximum speed and/or maximum efficiency. Such optimal performance may still be achieved with only simple proportional gain, with a comparison between the measured voltage component, and a defined voltage threshold.

[0083] A system 800 for applying the proposed phase advance is shown in FIG. 8. First, the V.sub.q voltage excess over the threshold is calculated in block 801. Then, in order to achieve additional system stability, the calculated V.sub.q voltage excess quantity V.sub.q−V.sub.q.sup.thr passes through low-pass filter 802 so as to remove the effects of feedback noise on the control algorithm. The cutoff frequency of the filter may be set at any suitable value. For example, the cutoff frequency may be set to 10% of the current control loop bandwidth.

[0084] Then, the filtered V.sub.q voltage excess passes through proportional controller 803, which calculates a raw version of the desired phase advance angle θ.sub.adv up to a maximum of θ.sub.max and minimum of θ.sub.min by multiplying the filtered threshold excess by a predetermined gain.

[0085] The rate of change of calculated phase advance angle θ.sub.adv may be rate limited by rate limiter 810 so as to avoid fast changes of V.sub.q feeding back into the phase advance mechanism, which would in turn cause more V.sub.q and θ.sub.adv instability. The maximum change rate of θ.sub.adv needs to be slower than the maximum change rate of the motor current demand. The rate limiter may comprise a saturation limiter 804 and an accumulator 805. The calculated phase advance angle is then added to the measured rotor electrical angle for the purposes of the FOC control of the motor.

[0086] In addition to the monitoring of V.sub.q, it may be desirable to also (or alternatively) monitor V.sub.d in determining an optimal value for phase advance. As above, as detailed in equation 1, V.sub.s depends also on V.sub.d, even though V.sub.q is always larger.

[0087] However, as a result of this, V.sub.q saturation limits are usually larger than V.sub.d saturation limits. This is to make allowance for the fact that V.sub.q includes the motor back-emf and needs to be larger than V.sub.d. This means that voltage V.sub.d could reach its saturation limit before V.sub.q, if V.sub.d limits are set very tight in an attempt to maximize the allowed range of voltage V.sub.q. In this way, threshold limits for each of V.sub.q, and V.sub.d may be set in accordance with equation 3:


V.sub.s.sup.max>√{square root over ((V.sub.d.sup.thr).sup.2+(V.sub.q.sup.thr).sup.2)}  Equation 3

[0088] In view of the above, it may be desirable to monitor two critical thresholds, V.sub.q.sup.thr and V.sub.d.sup.thr, to decide the beginning of the phase advance process. They need to be set such that the condition in equation 3 holds true. For instance, if V.sub.q limit is set to 90% of the maximum voltage available from the power inverter, then the V.sub.d limit will be set to less than 43.5% of the maximum voltage.

[0089] Therefore, in order to prevent the excursions of both V.sub.d and V.sub.q demands above their respective thresholds, two versions of the phase advance angle may be calculated using the measured voltages V.sub.d and V.sub.q separately. Angle θ.sub.adv.sup.q is calculated in accordance with equation 4, which mirrors equation 2 outlined above. At the same time, a second phase advance angle θ.sub.adv.sup.d is calculated based on a new equation, equation 5. In order to limit excess demands above their threshold, the selected phase advance of the motor may then be the phase advance which is maximal in absolute value, which will therefore result in the lowest value for V.sub.s. This means the maximum of the two angles when they are positive, or the minimum when they are negative. This can be decided based on the measured motor speed, as shown in equation 6.

[00007] θ adv q = { K ph - adv q .Math. ( V q dem - V q thr ) .Math. 0 + θ max V q dem > V q thr 0 - V q thr V q dem V q thr K ph - adv q .Math. ( V q dem + V q thr ) .Math. - θ max 0 V q dem < - V q thr Equation 4 θ adv d = { - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem - V d thr ) .Math. - θ max 0 V d dem > V d thr 0 - V d thr V d dem V d thr - Sign ( ω mot ) .Math. K ph - adv d .Math. ( V d dem + V d thr ) .Math. 0 + θ max V d dem < - V d thr Equation 5 θ adv = { Max ( θ adv q , θ adv d ) ω mot > 0 Min ( θ adv q , θ adv d ) ω mot 0 Equation 6

[0090] As shown above, the phase advance angle is zero when V.sub.q<V.sub.q.sup.thr and V.sub.d<V.sub.d.sup.thr simultaneously (i.e. when neither saturation voltage is close to being met). Then, as the saturation limits approach, the phase advance increases when V.sub.d reaches its threshold, and then the increase rate changes when V.sub.q reaches its threshold too.

[0091] This effect is shown in FIG. 9. The typical phase advance angle vs motor speed is shown in graph 901, while the associated variations of V.sub.d and V.sub.q are shown in graphs 903 and 904 respectively. The current I.sub.q is again assumed constant at 50A (i.e. that there is the same torque production at all speeds), voltage threshold V.sub.q.sup.thr is set at 243V while threshold V.sub.d.sup.thr is set at 117V, which represents 90% and 43.5% of the maximum voltage available in system supplied from a standard 540V dc bus using standard sinusoidal PWM modulation. An additional margin of 15% may be achieved by using Space Vector Modulation (SVM) instead of sinusoidal PWM, which would provide the necessary inverter voltage margin above the thresholds.

[0092] As can be seen, both V.sub.d and V.sub.q increase roughly linearly with speed up to the point where V.sub.d reaches its threshold level and the phase advance mechanism kicks in. The increase of V.sub.d is slowed down above V.sub.d.sup.thr due to the rotation of the DQ reference frame by angle θ.sub.adv calculated in equation 5. The increase of the phase advance angle with speed becomes then more pronounced when V.sub.q reaches its threshold. This causes V.sub.d to actually decrease when V.sub.q>V.sub.q.sup.thr, as shown in graph 903. The net effect is that, when the phase advance is non-zero, the total stator voltage Vs is maintained within the range available from the power inverter. This allows the motor drive system to reach speeds which would be otherwise innaccessible due to the large value of the back-emf.

[0093] For the above a monitoring of V.sub.d and V.sub.q a similar system to that illustrated in FIG. 8 may be applied.

[0094] In this way, additional system stability may be achieved by including a low-pass filter on the V.sub.q voltage excess quantity V.sub.q−V.sub.q.sup.thr of equation 4, and V.sub.d voltage excess V.sub.d−V.sub.d.sup.thr in equation 5. This removes the effects of feedback noise on the control algorithm. Again, the cutoff frequency of the filter may be set to any suitable value. For example, the cutoff frequency may be to 10% of the current control loop bandwidth. Furthermore, the angle θ.sub.adv can be rate limited to avoid fast changes of V.sub.q feeding back into the phase advance mechanism and causing more V.sub.q and θ.sub.adv instability. Again, the maximum change rate of θ.sub.adv should be slower than the maximum change rate of the motor current demand.

[0095] Equally, there may be a situation in which the V.sub.d limit is set so tight, that the V.sub.q limit will not be reached before the V.sub.d limit. In such a case, it may be that only the V.sub.d limit needs to be monitored for the purpose of modifying the phase advance angle, for example, using only the equation for θ.sub.adv.sup.d set out above in equation 5. Again, for such a case, a similar system to that shown in FIG. 8 may be provided.

[0096] By monitoring V.sub.q and/or V.sub.d voltage excess, it is possible to provide an effective yet simple and generic phase advance algorithm for permanent magnet motor controllers. This is simpler and more robust than a traditional algorithm that is based on precalculated angles stored in a two-dimensional lookup table as a function of speed and current demand, and is implemented using only a simple proportional control. Such an algorithm calculates the optimal phase advance angle based on the values of Q-axis motor voltage (V.sub.q) compared to a threshold value of V.sub.q and/or D-axis motor voltage (V.sub.d) compared to a threshold value of V.sub.d, without requiring explicit information about motor parameters and their variability with temperature, saturation levels etc. In this way, all of the relevant interactions between motor speed, back-emf, phase currents, phase voltages are distilled into one or two parameters V.sub.q and/or V.sub.d which is directly measurable by the motor controller. In addition, the control functions effectively whether the motor operates with a positive or negative speed, allowing a motor to operate at a faster speed in either direction.

[0097] By monitoring both V.sub.q and/or V.sub.d voltage excess over their individual thresholds, it is possible to maximize the allowed range of voltage V.sub.q (which is larger than V.sub.d), even if this reduces the allowed range of voltage V.sub.d. Such an algorithm is capable of adjusting the phase advance angle such that both V.sub.d and V.sub.q are simultaneously adjusted to remain within their allowed value ranges, thereby maximizing the possible operating speed of a motor with a given inverter.

[0098] It will be appreciated by those skilled in the art that the disclosure has been illustrated by describing one or more specific examples, but is not limited to these examples; many variations and modifications are possible within the scope of the accompanying claims.