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
     
  2. beenthere

    Retired Moderator

    Apr 20, 2004
    15,815
    282
  3. SgtWookie

    Expert

    Jul 17, 2007
    22,182
    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.
     
  4. bertus

    Administrator

    Apr 5, 2008
    15,648
    2,348
  5. thavamaran

    Thread Starter Active Member

    Feb 21, 2008
    67
    0
    THANK YOU!!!! WOOKIE THANK YOU!!! You are the best man, you are simply teriffic!! thanks again man. bertus and beenthere, thank you guys!!
     
Loading...