Stepper motor + driver board problem

Hi,

I’ve been searching infos for a few hours and didn’t find a clear answer on my issue.

I have a stepper motor :
28BYJ48 5 Volts
4096 steps per revolution.
Geared up by a factor of 64

This stepper is connected to a driver based on ULN2003A

I have the driver _ stepper powered by an external 5V power supply

When I load the example code One revolution. the stepper does 1/6 of a full revolution - 200 steps.

  1. I realized the driver wasn’t connected correctly so I had to change the code from Stepper myStepper(stepsPerRevolution, 11,9,10,8); to any of these to get it to work
    // 8,10,9,11
    // 8,10,11,9
    // 9,11,8,10
    // 9,11,10,8
    // 10,8,9,11
    // 10,8,11,9
    // 11,9,8,10
    // 11,9,10,8

How do I know which one is the correct one ? 4 are clockwise and 4 are counterclockwise. But is there one correct one ?

  1. I can’t fin a way to make it a full revolution. I tried to change the DtepsPerRevolution to many different ones :
  • 64
  • 4096
  • 200 gives approx 1/6 of a revolution
  • up to 500 it is still turning but never more than 1/2 a revolution
  • after 600 it just doesn’t move any more…
    What stepsperrevolution should I use ? isn’t there one 100% correct for this motor
  1. relation MotorSpeed vs stepsperrevolution

Over 600 StepsPerRevolution with stepperspeed at 60 it buggs and doesn’t turn anymore
but When I put 2200 stepsPerRevolution, it does a little bit more than a revolution but only if I lower the speed to 10.
When I put 4096 StepsPerRevolution (the steps on the motor’s manual…) , it does approx 2,5 revolutions with a speed of 5…

What is the relationship between speed and stepsperrevolution, I believe the motor is a small one so I can’t ask him to move too fast… but I still don’t understand why I can find a 100% correct stepperrevolution for that Stepper motor whatever the speed is.

I would like to have my stepper move at different speed…

Thanks a lot for your help,
once again I spent some hours on that and checked the forum before posting…

Meshell

What do you mean by "geared up by a factor of 64"?

How do you relate 200 steps to 1/6th of a revolution? Surely 1/6th would be 682.667 steps?

...R

That stepper motor is 64 steps/revolution, geared down 64:1, so the end result is 4096 steps/revolution.

I've played with this particular motor and verified these specifications, but you may have to experiment to figure out which wire should be connected to which Arduino pin! It is a great buy.

Some similar looking motors are not exactly 4096, but still close.

meshellmesh:

  1. I realized the driver wasn't connected correctly so I had to change the code from Stepper myStepper(stepsPerRevolution, 11,9,10,8); to any of these to get it to work
    // 8,10,9,11
    // 8,10,11,9
    // 9,11,8,10
    // 9,11,10,8
    // 10,8,9,11
    // 10,8,11,9
    // 11,9,8,10
    // 11,9,10,8

How do I know which one is the correct one ? 4 are clockwise and 4 are counterclockwise. But is there one correct one ?

That doesn't make sense, on two counts. First, you've listed 11,9,10,8 as both what you had originally (implying that it didn't work), and as the last one in the table of connections that did work. Second, if 8,10,9,11 works properly, then 8,10,11,9 should not work (well, not smoothly anyway) because the transition 10->11 will be skipping a pole. Try running the stepper very slowly and see what gives consistent, uniform steps.

However, there should indeed be 8 "correct" combinations (4 forward and 4 reverse). Suppose 8,10,9,11 is one of the correct combinations. It doesn't matter which pole you start on, therefore 10,9,11,8 and 9,11,8,10 and 11,8,10,9 will also be correct and turn the motor the same way. If you reverse these 4 sequences, then you get 4 sequences that are equally good for driving the motor the in the opposite direction.