This article considers a motor working in microstep mode and making 4 microsteps per full step, with an encoder giving four counts per full step.

With a motor having a sinusoidal torque constant, the low speed commutation angle should be 90° + 11.25° = 101.25° ahead of the position of stable equilibrium. If motor and encoder resolution are the same, there are 2 options.

## Encoder pulses occur at positions of stable equilibrium

In this case the commutation angle is not optimum for low speed, and torque ripple will slightly increase. With the rotor in position 1, the stator field may target either “5” or “6”, resulting in a phase advance of 90° or 112.5° instead of the ideal 101.25°. The error can be corrected by calculating the motor speed and, after detection of position 1, letting the rotor move approximately 11.25° before commutating the stator field to position 6.

## Encoder pulses differ from positions of stable equilibrium

In this case the encoder must be shifted by an angle of one half the motor resolution. In the example, a shift of 11.25° allows the detection of rotor positions of 11.25°, 33.75°, 56.25° and so forth, resulting in the optimum low speed commutation angle. When using an encoder of twice the resolution, giving 8 pulses per full step, the solution proposed in paragraph 3.1 may be applied.

## Motor working in sine-cosine mode

This particular case makes it easy to obtain a torque motor.

Let

T_{A} = torque of phase A

T_{B} = torque of phase B

k = torque constant

θ = rotor position

N = number of pole pairs

i_{A} = current in phase A

i_{B} = current in phase B

Then the torque equations are:

T_{A} = -k i_{A} sin(Nθ) and T_{B} = k i_{B} cos(Nθ)

Let the phase currents depend directly on rotor position:

i_{A} = -I_{0} sin(Nθ) and i_{B} = -I_{0} cos(Nθ)

The resulting motor torque is constant:

T = T_{A} + T_{B} = k I_{0} (sin²(Nθ) + cos²(Nθ)) = k I_{0}

However, with a stepper motor this theoretical model is difficult to achieve, mainly for 2 reasons: – at high speed (>2000 steps/s), due to the electrical time constant and the high commutation frequencies, good current regulation is difficult to achieve unless the driver uses a high voltage and high chopper frequency. The resulting cost increase makes the autocommutated stepper less attractive in comparison to traditional DC servo type solutions. – the second reason is linked to the encoder. With the high number of pole pairs of the stepper motor it is difficult to generate two sinusoidal output signals in quadrature with low enough distortion.

This is illustrated by a test, where an ATO stepper motor was equipped with an auxiliary magnet of the same number of pole pairs, rotating in front of analog Hall sensors. Their adjustment inside the motor was extremely difficult and signal distortion over one rev made it impossible to reduce torque fluctuations to less than 5%. In fact, at low speed a much better result was obtained using a true microstep drive mode.

We can see that between the various possibilities of driving stepper motors in a BLDC mode, the one using an encoder and a normal stepper driver is highly attractive in terms of cost and performance.