AC Brushless Phase Initialization


Thread Starter


I am talking about AC (sinusoidal) brushless with incremental encoder without coarse (Hall) position sensors used for initialization. The straightforward approach is to feed 2 certain motor phases and wait for motor settling at the known position.

Are there more intelligent initialization methods that minimize possible motor trial magnetic alignment movement? If yes, should not they be deteriorated by constant payload, cogging torque etc. unknown in advance?


Alex Ruderman

Hello Daniel,

there is an intelligent, or smart, sinusoidal brushless position (phase) initialization technique that satisfies the following intuitive requirements:

- after finishing initialization procedure, exact rotor electrical position (phase) must be identified to allow for normal sinusoidal operation;

- after initialization is over, rotor is desired to stay at its initial location (zero integral trial movement);

- rotor incremental trial movement during initialization should be kept as short as possible (a few encoder counts);

- no load torque is assumed.

You will find some more dicussion in this forum article entitled "FOC of PMSM" of Sep 6 2002.

You right - any load torque will cause position (phase) initialization error. The result would be increased motor current (motor and power electronic losses) for the same generated torque.

In the paper:

Doo-Hee Jung, In-Joong Ha, "An Efficient Method for Identifying the Initial Position of a PMSM with an Incremental Encoder", IEEE Trans. on Ind. Electronics, Vol. 45, No.4, August 1998, pp. 682-685.

the authors suggest initialization procedure for a constant load torque. It is based on providing (small) test sinusoidal torque disturbances and observing motor angle steady-state responses. At least, three test points are required. Test points selection is not that trivial because the close-loop system may become unstable.

In my opinion, this approach is too complicated and burdensome (test settling time, steady state trial movement, stability etc.) to gain industry recognition.

Therefore, I developed my own simple and accurate position (phase) initialization procedure in the presence of unknown (not necessary constant - time invariant position dependent) load torque (payload, cogging etc) that can be viewed as an extension of the no-load smart initialization procedure.

Unfortunately, this can not be explained here in a few sentences because some close-loop theory, block diagrams, graphs and so are involved.

If interested, contact me for more detail.
[email protected]

William Hinton Sr. Electrical Engineer D

The proceedure you are describing is called an "M-SET" and is easily done with software from the Modicon website "": The info is in two referance books: MMDS and SASS

This uses a resolver and is acurate within 1/65535 of a rev. as the default but most any resolution is programmable. The software is called MMDS. It is a bit cryptic to use as it has been translated from German to English but is functional.
If you have coarse Halls, you can estimate phase orientation well enough to control the motor, as soon as you see a transition of a hall state, you know your exact rotor location. At that point, go ahead and apply a known offset (previously determined by a phasing test) and commutate from that point on using the quadrature feedback. This is done by a good number of drives using hall tracks on rotary incremental encoders . . . Control Techniques UniDrive is one example.

Gabriele Corrieri

Hi Daniel,

>Are there more intelligent initialization methods that minimize possible
>motor trial magnetic alignment movement? If yes, should not they be
>deteriorated by constant payload, cogging torque etc. unknown in

Yes Daniel there are at least two methods to know exact rotor position of brushless.
First, and huge used, is based on a device called Resolver, basically is a syncro motor, with is supplyed (on rotor windings) with three, low voltage, phase signal, than the stator's winding reiceve the signal, and by analyzing the three returned signal, with DSP you can know exactly the rotor angle, then you can drive motor without trials.
Second is based on a absolute encoder via SSI comms, 1024 or more steps absolute encoder, that send its position via serial line to drive, also in this condition you can know the rotor angle without trials.

Best Regards

Gabriele Corrieri