Stepper not returning to start mark

I've been working in a stepper motor control project with an Arduino Pro (build version). I'm currently bit-banging the step signal to a new Big Easy Driver. The motor is a 12v Minebea 127K53760. The step pulse-width is 500 microseconds. I've machined a fitting for the shaft that will hold a Radioshack (OVERPRICED!) laser pointer horizontally (cross drilled hole, done accurately in a milling machine).

I place a piece of paper in front of the laser, mark the dot, and then step n number of times - and it never returns to the mark.
I can control the micro stepping - but no combination seems to get a repeatable return-to-start-point.

Would this my my math? rounding errors, etc? Or could it be the cheap stepper? I've set the current pot in the BED by measuring voltage at TP1 (per BED manual), so guessing the current is ok.

This is to be a light duty dividing head for milling small gears and cutting n number of sides on round bar. My setup is such that I can dial in tooth count, and with each press of the press the run button make a step - and when all the current count of steps is done (successive run presses) be back where I started. Say I want to do a 28 tooth gear. The stepper does 200 steps per rev, so I would need to do 7.142 steps-per-press of the button. My current guess is that I'm not dealing with that fractional part correctly, and the accumulated error is biting me in the butt. :frowning: Even if I go to the 1/16 micro-step of the BED I get 3200/28 or 114.285 steps per button-press.

Has anybody dealt with the fractional step?

I see many examples of steppers running right back to zero - so wondering how they are dealing with the fractional steps....

=Alan R

Simple test - get the motor to move 150 steps clockwise followed by 150 steps counter clockwise. Does it return to the the same position? It should. Try it at different speeds in case it is missing steps at higer speeds.

Since you haven't posted your code it's impossible to comment on it.

...R

Steppers mis-step if the acceleration and/or speed is too high for the load.

Without your code not much else can be said. As usual post your code, all
of it, in a state that compiles, in code-tags please.

Please also post links to datasheets for all the hardware (motor, controller)
since we need to see these too.

You mention the width of the step pulses - this is not important, the step
pulse just has to be 10us or more, the step happens on the rising edge
with most controllers. What matters is that the direction signal is setup
before the step pulse, and that the step pulse timings don't exceed the
maximum speed or acceleration abilities of the motor with its load (both
found be experiment, typically).

It may be that the microstepping is skipping steps, which is quite common. Try the experiment suggested by Robin2 with full steps only, then microsteps.

In general, microsteps cannot be used for accurate positioning, as clearly explained on this page by an industry expert: http://www.micromo.com/microstepping-myths-and-realities.aspx

Thanks for that interesting link.

...R

jremington:
It may be that the microstepping is skipping steps, which is quite common. Try the experiment suggested by Robin2 with full steps only, then microsteps.

In general, microsteps cannot be used for accurate positioning, as clearly explained on this page by an industry expert: Microstepping Myths and Realities | FAULHABER Tutorial

Microstepping usually reduces the resonance, reducing the chances of mis-steps (and
the amount of noise). In a mechanical system with no damping this is especially important.

First sort out the acceleration and speed limits - then experiment with various options
to see if you can increase performance.

Harrzack:
Would this my my math? rounding errors, etc? Or could it be the cheap stepper? I've set the current pot in the BED by measuring voltage at TP1 (per BED manual), so guessing the current is ok.

Rounding errors? How can you have rounding errors if you are only using integers?
Oh, you are not using integers? I think we've found your problem!

jremington:
It may be that the microstepping is skipping steps, which is quite common.

Gosh, thousands of repraps are reprapping away without skipping a single microstep!

That 'industry expert' is a moron.

That 'industry expert' is a moron.

Thanks for your thoughtful and insightful contribution to the forum.

jremington:

That 'industry expert' is a moron.

Thanks for your thoughtful and insightful contribution to the forum.

Thank you. I do what I can.

Nice use of xkcd!