# Jog step movement distance unexpected

A) When I jog X or Y with Step enabled and resolution = .01, the axes never move regardless how many step arrow screen button commands I make. The larger step sizes work OK with the expected movement. Perhaps this might be a bug?
B) Related. In the Setup screen for x axis and y axis, it says the motors have 400 pulses per rev and the ball screws (for x and y) move 16 mm per rev. Therefore a single step x or y movement would be .04 mm (0.0016 inches). But the Masso web site specs for the motors says they have 800 pulses per rev. Whatâ€™s going on with this spec? Elite Foreman specifications say â€śup to 256 microstepping.â€ť What does that mean? Microstepping isnâ€™t defined. This doesnâ€™t matter for machining wood but itâ€™s of interest for metal.
Many thanks, Dan B.

I set mine for 4000 steps per revolution. Is seems to work much smoother. I also decreased my acceleration.

1 Like

Sloppy terminology drives a lot of confusion on this. Iâ€™ll see if I can help clear it up.

A typical/standard stepper motor has a mechanical travel of 1.8 degrees per electrical cycle, which equates to 200 electrical cycles per mechanical revolution. Sometimes â€śpulseâ€ť is used synonymously with â€śelectrical cycleâ€ť â€“ which is reasonable if youâ€™re looking at a graph (or oscilloscope trace) of square-wave pulses applied to a single motor phase. But that same typical/standard stepper motor is actually a two-phase motor, and the voltage waveforms applied to each phase are 90 electrical degrees apart.

With a cheap garden-variety square wave driver, the motor advances one â€śstepâ€ť every 90 electrical degrees, for a total of 800 steps per revolution. Sometimes the term â€śpulseâ€ť is used synonymously (and confusingly) with â€śstepâ€ť, but the motion actually happens when the voltage applied to either motor phase changes polarity, i.e. on either edge of a pulse on either phase. With one of these basic drivers, the basic step resolution of the motor is the best that you can get.

And then we can spend more money and use a microstepping driver, which applies PWM (pulse-width modulation) pseudo-sinusoidal voltages to both motor phases. The voltage waveforms are still 90 degrees apart electrically, but they donâ€™t have to be at an even multiple of 90 degrees from zero. In principle, a microstepping driver can position the motor shaft at any position it wants â€“ itâ€™s no longer limited to even multiples of the basic step size. At that point, itâ€™s essentially an analog control. But to maintain compatibility with standard motion controllers, the driver still pretends that it can move only in discrete steps, in the sense that motion commands are still received in quadrature format. So bottom line, a microstepping driver can greatly increase the positioning resolution of a standard stepper motor. But at some point, the positioning accuracy will become less that the positioning resolution, so increasing the step resolution beyond that point isnâ€™t terribly useful (although it may still improve the smoothness of motion).

Hope that helps. Iâ€™m just now installing my Elite upgrade, so I canâ€™t offer any practical advice for an optimal step-resolution setting for that system.

1 Like

Thanks Dennis, now I know what microstepping is: 256 PWM on the motor I/Q step phasing. Yes, I admit, Iâ€™m a retired electrical engineer. But all this motor control stuff is new to me. My experience is in electronic control systems and RF/microwave circuit design, easy digital design, certain kinds of software, and chip system architecture. This ainâ€™t that.

The smallest-step movement bug remains, so for a first try user work-around I changed the â€śSteps per revâ€ť in Settings to 800 (was 400) on all 3 axes. This fixed it and the actual jog motion (by the jog screen arrows single step or by the Masso pendant) is pretty exactly 0.02 mm for each and every smallest single step. As accurately as I can measure with machinistsâ€™ surface plate, parallels, an 8 inch 90 degree angle plate and various gauges. Also the displayed machine coordinates agree. At 400 steps per rev the displayed machine coordinates also wouldnâ€™t change for smallest single steps, in agreement with actual motion.

I would suggest OneFinity confirm the bug and then change the settings default to 800 steps per rev on X, Y and Z axes. I assume B is slaved to Y as is normal. That way as long as users donâ€™t change it, things will work fine.

Or, sort of kidding, in agreement with normal industry practice in such cases, Masso and OneFinity could discuss at great length who has the fix responsibility when the finest manual jog-commanded step motion math doesnâ€™t work for steps per rev set less than the motor spec 800. First they would need to agree on the definition of a motor step.

Thanks,

Dan

Glad that helped, Dan, and welcome to the forum! Itâ€™s always good to have another engineer on board, and I get the distinct impression that many of us are. Personally, I have a lot of experience with motion-control system design, but please donâ€™t ask me to design RF circuits!

I have no clue why the default Steps per Rev on the Elite Masso controllers are set to 400, but perhaps @OnefinityCNC can shed some light on this. Thanks to you, Iâ€™ll be changing that setting on my machine just about as soon as I get it fired up.

Looks like thereâ€™s more to this story. OneFinity has provided Masso motors on the Elite Foreman. Reading the Masso documentation v5.88, it shows the motor control pods, mounted on the motors, have encoder resolution switches, the blue one, positions 1 thru 4:

They have these settings:

Iâ€™m guessing the Masso Controller has no way of knowing how switches S1 thru S4 are set. There are no wires going from the motor DIP switches back to the Controller. The only wires are 2 pairs differential drive â€śstepâ€ť and â€śdirectionâ€ť, alarm and 24 to 36VDC drive power. Either OneFinity or the user must assure the motor switches and the Masso controller Settings Axes pulese per rev are compatible. Iâ€™ll do some experiments to try and confirm this. Iâ€™ll have to look and see where the motor DIP switches are set compared to the controller Axes settings and play some games. The failure of 400 pulses per rev in F1 Settings to single step on x1 resolution is still an open issue for me.

There are several possibilities.

1. Motor and Controller settings must match.
2. Thereâ€™s a math error in the Controller and they must have a certain restricted NON-matching relationship to work smoothly.