# stepper motor theory

Discussion in 'The Projects Forum' started by thavamaran, Apr 8, 2009.

1. ### thavamaran Thread Starter Active Member

Feb 21, 2008
67
0
Hi guys, i just recently succeeded with functioning stepper motor with PIC and UCN5804B, so i just did a fundamental test on stepper motor by pumping in different speed in the coding, but with 50% duty cycle. So i tried with 16ms period until 1.5 ms period, so 16 ms makes the motor slow and 1.5 ms makes it fast. i
understand how it works and why its like that, but i need a theory to prove it, is
there any theory that i can learn on this? please let me know or guide me. thank
you

Apr 20, 2004
15,815
283
3. ### SgtWookie Expert

Jul 17, 2007
22,183
1,728
Do you mean clocking speed from your uC to the UCN5804B?

So, do you mean your clock input to the UCN5804B has a 50% duty cycle? That should be fine.

Well, with a stepper motor connected to that UCN5804B, you get a certain amount of rotation from the stepper motor every time you clock the IC. Depending upon your individual stepper motor, you might get 0.9°, 1.8°, 3.6°, 7.5° or 15° of rotation. Your UCN5804 also has a "half-step" input that can cause a stepper motor to step halfway between their standard step. For example, a stepper motor that normally turns 1.8° per step will only rotate about 0.9° per half-step.

Your IC works by sinking current from the stepper motor's coils in rotation. In the truth tables below, a "1" indicates that an output is not sinking current, while a '0' indicates that it IS sinking current.
Standard stepping, one direction:
1110
1101
1011
0111
1110
...etc
Standard stepping, reverse direction:
0111
1011
1101
1110
0111
...etc

With half-stepping, the IC alternates energizing one or two coils at a time. The pattern looks like this:
1110
1100
1101
1001
1011
0011
0111
0110
1110
...etc

Stepper motors are also rated for the maximum step rate when starting from a stop, and a maximum step rate. Unless you are using a chopper driver (which you are not), you won't be able to approach the maximum startup or step rate shown in the datasheet for your motor.

If you try change the step rate too quickly, it won't rotate; it'll just buzz. Stepper motors have their highest torque when not rotating; the faster they rotate, the less torque they have. At their maximum step rate, they have very little torque.

Let's go back to how many degrees of rotation you get per step.
If your motor rotates 0.9° per step, it will take 400 full steps per revolution, or 800 half-steps per revolution.
If your motor rotates 1.8° per step, it will take 200 full steps per revolution, or 400 half-steps per revolution.
If your motor rotates 3.6° per step, it will take 100 full steps per revolution, or 200 half-steps per revolution.
If your motor rotates 7.5° per step, it will take 48 full steps per revolution, or 96 half-steps per revolution.
If your motor rotates 15° per step, it will take 24 full steps per revolution, or 48 half-steps per revolution.

Let's say your stepper motors have a 1.8° rotation per step, and you are clocking the UCN5804B with a 10mS clock. It takes 200 full steps to rotate the motor's shaft one complete revolution. 200 x 10mS = 2 seconds per revolution, or 1/2s = 0.5 RPS (revolutions per second), or 0.5 x 60s = 30 RPM.

Take that same stepper motor and give the UCN5804B a 1.5mS clock.
200 x 1.5mS = 0.3 seconds per revolution, or 1/0.3s = 3.333...RPS or 3.333... x 60s = 200 RPM.

The number of full steps it requires for the stepper motor to make one complete revolution is fixed by the engineer who designed it.