# Microstepping and the phase current waveform

#### hrs

Joined Jun 13, 2014
410
Suppose you place a wire loop in an external magnetic field and you run a current through the wire loop, then the external field will exert a force couple on the loop. What I think happens is that the current in the loop generates a magnetic field that wants to align with the external field. The torque is proportional to the sine of the angle a between the field directions. So T is proportional to sin(a).

When researching microstepping I see mention that the phase current waveform at one stator pole is a sine and at the next one it's a cosine. This would make sense to me if the step is exactly 90 degrees.

However, most steppers only step small angles and for small angles sin(a) ~ a. Here it would make more sense to me if the phase current wave forms were more like a linear ramp down at one pole and a linear ramp up at the next, to balance the forces at each rotor position.
I will try to illustrate what I mean graphically for a hypothetical stepper with step angles of 30 degrees. Even for such large-ish steps the relations are almost linear.

However, I am apparently wrong. For example in the video below, at 22 minutes, someone shows non-smooth rotation for a linear PWM distribution. The stepper used is a 24BYJ48 which has 5.625 degree steps. Then he changes to sinusoidal distribution and rotation is smooth.

I assume the phase current is linearly proportional to the PWM duty cycle and is therefore not the source of my confusion.
So, what am I missing here?

#### MrChips

Joined Oct 2, 2009
30,988
I am going hazard a guess at this.
It does not matter what is the motor step angle. Without micro stepping, you are moving from one pole to the next pole.
The first pole receives 100% of the current while the next pole receives 0%.
The current to the first pole goes from 100% to 0%.
The current to the next pole goes from 0% to 100%.
Thus, with micro-stepping, the first pole receives Vcos(θ) while the second pole receives Vsin(θ).
The angle θ is not the step angle.
θ = 90 x micro-step angle / motor step angle (in degrees)

#### hrs

Joined Jun 13, 2014
410
Interesting. When I apply your scheme for theta it is close but not quite. When I apply linear ramps, the match is good but with less torque. I changed the angle from 30 to 10 which makes no difference. There's still 30 in the column headers, should be 10[/edit]
But since everyone seems to say use sines and noone says use ramps I must be wrong somewhere somehow.