How to determine number of steps per revolution for a bipolar motor?

Dear Forum Arduino members,

I have a stepper motor attached to some gears as shown below.
How can I determine the number of steps (for the BP motor) that
makes the largest gear (marked with a tape) a full turn?

I saw that about 1300-1350 pulses to the BP motor makes
about one complete turn.
I do not want to make it mathematically or by try and trial.
I am looking for a reverse engineering type solution.

For instance, will the following method work?
I will tie this motor to arduino and read the pulses (with a counter
from the serial monitor) caused by spinning the largest gear.

Also, I would like to learn how those rings locking the gears
can be taken out without damaging them?

I do not want to make it mathematically or by try and trial.

Get the datasheet or a glasssphere.

zwieblum, thank you for the fast reply.
I only have the datasheet for the BP motor and it says 7.5 degree per step (which means 48 steps).
However, there is no information related to the gears...

Then count the teeth and do the maths.

bkarpuz:
I only have the datasheet for the BP motor and it says 7.5 degree per step (which means 48 steps).

Does that mean you have a 28BYJ-48 stepper motor? If so why not say so?

If you don't have data for the reduction ratio in the gearbox then I think trial and error is the only way to figure out how many motor steps are needed for one revolution of the output shaft.

Or I guess you could count the gear teeth.

...R

Robin2:
Does that mean you have a 28BYJ-48 stepper motor? If so why not say so?

If you don't have data for the reduction ratio in the gearbox then I think trial and error is the only way to figure out how many motor steps are needed for one revolution of the output shaft.

Or I guess you could count the gear teeth.

...R

Thank you Robin2, the motor's datasheet is here: http://www.epochelectronics.com/pdf/T3508_e.PDF
it is Epoch T3508 whose picture I have supplied above.
But this only corresponds the motor not the gears attached to it.
I have extracted the motor and the gears from a HP Scanjet 3800.

bkarpuz:
Thank you Robin2, the motor’s datasheet is here: http://www.epochelectronics.com/pdf/T3508_e.PDF
it is Epoch T3508 whose picture I have supplied above.
But this only corresponds the motor not the gears attached to it.
I have extracted the motor and the gears from a HP Scanjet 3800.

That gives us a whole lot more information - pity it was not in the Original Post.

If it was my project I would just figure it out by trial and error.

Keep in mind that there will probably be considerable backlash in the gearbox so do all your initial tests without reversing direction.

…R

PS … it is much easier to help if you keep all the questions about your project in one Thread so we have all the info in one place. You can click Report to Moderator and ask to have your two Threads merged.

Also, I would like to learn how those rings locking the gears
can be taken out without damaging them?

Search "E-clip removal".

how those rings locking the gears can be taken out without damaging them?

They are pushed or pulled off the shaft to the side.

The tips of a needlenose plier can be used to push, or sometimes, a tiny screwdriver parallel to the shaft can be used to pry it away, sideways.

Be sure to have everything inside a plastic bag while you are removing the clips so they won't fly away into never-never land :slight_smile:

...R

Here is what I have found. geargenerator.com.

I had to count the teeth numbers and they are as follows:
Black Gear: 2×3²,
Yellow Gear: 3²×7, 3×7
White Gear: 2²×3×7, 2×7,
where the latter one is not important for the revolution of the larges gear.
One can guess which one is which (or run the animation in the above link).
Hence, the math is as follows.
1 turn of Black Gear=2×3² teeth=(2/7) turns of Yellow Gear
1 turn of Yellow Gear=3×7 teeth=(1/4) turns of White Gear
Thus, 1 turn of Black Gear=(2/7)(1/4) turns of White Gear=(1/14) turns of White Gear,
i.e., 14 turns of Black Gear=1 turn of White Gear.

My BP Motor (Black Gear) requires 96 Pulses for one turn (i.e., 2×3² teeths),
which means that 1344 pulses yield the White Gear complete one turn.

I just wonder why my BP Motor requires 96 pulses althogh it is a 7.5º degree stepper.

Thank you.
bkarpuz

bkarpuz:
Black Gear: 2×3²,

What do those numbers mean?

Do they mean that the gear has 2 * 3 * 3 = 18 teeth? If so, why not say so?

...R

Robin2:
What do those numbers mean?

Do they mean that the gear has 2 * 3 * 3 = 18 teeth? If so, why not say so?

...R

Right, they are exactly the same. The way I wrote helps to see what multiple of one number is the other. Just for computational purpose...

bkarpuz:
Right, they are exactly the same. The way I wrote helps to see what multiple of one number is the other. Just for computational purpose...

So how many teeth does each gear have?

...R

Robin2:
So how many teeth does each gear have?

...R

Black Gear: 18
Yellow Gear: Outer 63, Inner 21
White Gear: Outer 84, Inner 14

Thank you.

If a 7.5° stepper needs 96 steps it suggests that it is moving in half steps. I don't think you have posted your program.

...R

bkarpuz:
I just wonder why my BP Motor requires 96 pulses althogh it is a 7.5º degree stepper.

Motors from printers are normally special-order and may not be standard versions of the motor,
since they are bespoke. The part number on the motor may have some digits that relate to the
particular version which will only make sense to the manufacturer (they normally would not
divulge these details as they may be "commercial in confidence")

Modern printers have requirements for high positioning accuracy so its not unexpected for a high
step count to be used.

Robin2:
Thank you.

If a 7.5° stepper needs 96 steps it suggests that it is moving in half steps. I don’t think you have posted your program.

…R

Here is the code.

//I am using L292D and conencted my stepper motor to M1&M2 slots.

//Bit positions in the Arduino UNO micro controller output
#define PWM2B 3 //For slots M1&M2 on the L293D Motor Shield
#define DIR_CLK 4 //SHCP of the Shift Register 74HC595
//#define PWM0B 5 //For slots M3&M4 on the L293D Motor Shield
//#define PWM0A 6 //For slots M3&M4 on the L293D Motor Shield
#define DIR_EN 7 //OE of the Shift Register 74HC595
#define DIR_SER 8 //DS of the Shift Register 74HC595
//#define PWM1A 9 //For slots SERVO1&SERVO3 on the L293D Motor Shield
//#define PWM1B 10 //For slots SERVO1&SERVO3 on the L293D Motor Shield
#define PWM2A 11 //For slots M1&M2 on the L293D Motor Shield
#define DIR_LATCH 12 //STCP of the Shift Register 74HC595

//Bit positions in the 74HCT595 shift register output
//#define MOTOR3_A 15 //Q0
#define MOTOR2_A 1 //Q1
#define MOTOR1_A 2 //Q2
#define MOTOR1_B 3 //Q3
#define MOTOR2_B 4 //Q4
//#define MOTOR4_A 5 //Q5
//#define MOTOR3_B 6 //Q6
//#define MOTOR4_B 7 //Q7

//Step BPMotor1 connected to M1&M2 by setting the following entries to HIGH, respectively:
//Q2=4, Q1=2, Q3=8, Q4=16

int BPMotor1Seq[4]={4,2,8,16}; //Sequence for BPM1 for forward 4 steps
int stepper1val;
int qcounter = 0;
int hcounter = 0;
int hmax = 2*96;

void setup() {

  pinMode(DIR_EN, OUTPUT);
  pinMode(DIR_SER, OUTPUT);
  pinMode(DIR_LATCH, OUTPUT);
  pinMode(DIR_CLK, OUTPUT);
  pinMode(PWM2A, OUTPUT);
  pinMode(PWM2B, OUTPUT);
  digitalWrite(PWM2A, HIGH);
  digitalWrite(PWM2B, HIGH);

}

void loop() {

  if (hcounter<96) {
    SetBPMotor1CW();
  }

  digitalWrite(DIR_LATCH, LOW);
  shiftOut(DIR_SER, DIR_CLK, MSBFIRST, stepper1val);
  digitalWrite(DIR_LATCH, HIGH);
  delay(20);
  qcounter = (qcounter + 1) % 4;
  hcounter = (hcounter + 1) % hmax;

}

void SetBPMotor1CW() {

  stepper1val=BPMotor1Seq[qcounter];

}

MarkT:
Motors from printers are normally special-order and may not be standard versions of the motor,
since they are bespoke. The part number on the motor may have some digits that relate to the
particular version which will only make sense to the manufacturer (they normally would not
divulge these details as they may be “commercial in confidence”)

Modern printers have requirements for high positioning accuracy so its not unexpected for a high
step count to be used.

Thank you, this has been a very good information.
I will test my code with a known stepper motor.

bkarpuz:
Here is the code.

I'm not familiar with your hardware so I can't make sense of your code. Sorry.

...R