Machsupport Forum

Mach Discussion => FAQs => Topic started by: fullacott on August 18, 2011, 12:18:16 PM

Title: Losing Steps or something
Post by: fullacott on August 18, 2011, 12:18:16 PM
This follows on from a thread of this title which has been cold for months so I have started a new one.

Hi cncnovice, rcaffin and Dan13,

I know this thread has been untouched for several months but I have a bit to add which may help others. I too had the problem of lost steps: apparently a single step missing on direction change. How did I know? I was cutting a 288 tooth gear by profiling with a 2mm endmill, four passes for each tooth with the indexing by a rotary table on A axis. So the g-code was a set of instructions to cut one tooth. As a result there were around 1200 changes of the direction state while the axes were moving. But when the table had finished its 288 steps I found I had a cut not a circle but a helix with the end point inside the radius of the start point.
I tried all the tests you did, except for the scope which I do not have, and came to similar conclusions. The error was very repeatable which seemed to eliminate noise, it appeared when different computers were running Mach and seemed impervious to any of the changes in motor tuning, ports and pins etc. One difference from yours, however,  was that it appeared on all three axes even when only a single axis was in use.

Eventually I decided that as it seemed to be most likely a parallel port problem (that's how little I know ;) ) I would try a Smooth Stepper which I had been considering since they appeared. The result: 48hours delivery from Minnesota to Devon UK, an hour installation and setup and then.......... no lost steps. As always, you think "why did I not do this before and save the hours of fruitless testing?" I guess the answer is that we are always trying to understand a bit more.

So the point of this post is firstly a big "thank you" for pointing me in the right direction and teaching me a lot I did not know about Mach. Secondly, I wonder how many systems have this error which only appears with multiple repetitions and does not otherwise intrude. I had been using my setup under mach for three years before I stumbled over it.

Cheers, Peter.
Title: Re: Losing Steps or something
Post by: RICH on August 25, 2011, 06:33:21 AM
I wonder how many systems have this error which only appears with multiple repetitions and does not otherwise intrude

Say you had been missing a single step and your steps per are 20000. then a single step would be 0.00005" and likely the system dosen't even have the capability to do a single step. You can loose a step due to belt tension. In fact how do you really know the true steps per are not 20001 if you konw what whats implied here. How about steps per at 253000 or more.  So depending on the work being done wouldn't be noticed unless one did a lot of direction changes and even then that may not be the problem.

Title: Re: Losing Steps or something
Post by: fullacott on August 29, 2011, 02:37:14 AM
That's a fair point, Rich. I think we can get carried away with the thought that more microsteps must always be better. This can then take us beyond the built-in limits of the rest of the set-up. In my case I was interested by the repeatability of the apparent loss of a step or whatever and was reasonably confident that the source of the problem was outside the ballnut/screw and steppers themselves (I do not have belt drives). It would have been sensible to try varying the step/per mm on the motor drivers as they are set finer than my system needs and maybe I'll try that sometime out of interest. In the short term, however, the Smooth Stepper solution is giving me the result I need. Thanks for the advice. Peter.
Title: Re: Losing Steps or something
Post by: Dan13 on August 29, 2011, 03:10:11 AM
Hi Peter,

The strange thing about your experience is losing position on an axis which has not been used. This sounds like a problem in wiring (internal one in the PP card? Not likely, I think, being on 2 computers) such that each time there is a direction signal in one of the axes (probably X since your direction changes where in X?) it somehow finds its way to the step line. May be your outputs were not pulled down (or up) and the Smooth Stepper takes care of this.

Title: Re: Losing Steps or something
Post by: fullacott on August 30, 2011, 02:19:11 AM
Hi Dan,

I think my original post was not as clear as it should have been. The loss occurs repeatably on each of the three axes (but not the rotary table) when that axis is moving but unlike cncnovice's experience it makes no difference whether just one axis is moving or two are moving together; each moving axis displays the step loss. The more I think of it the more I think Rich may be right. I am set up on x,y and z to microstep at 1280 steps/mm which gives 0.00078mm/step which is way beyond what the rest of my kit can approach. Interestingly, the rotary table which does not seem to display the step loss (although I have not done any detailed testing) is on the A axis which is set at a resolution of 300 steps/mm. But then the rotary table only moves in one direction throughout the wheel cutting while the x,y and z axes reverse direction several times for each tooth on account of the four passes used to profile each tooth. Hmm.

I  need to do some more testing with changed microstepping but right now I am very happy to use the SS solution to get on with the job which has been delayed for a good few weeks while I tried to find a way out of the corner.

I am reasonably confident about the wiring which runs through a C11 board which incorporates pulldown/up resistors. But then confidence is only there until you find you are wrong and at my stage of this game that happens quite often.

Thanks for the interest, I'll post again if my further tests show something useful. Regards, Peter.
Title: Re: Losing Steps or something
Post by: Dan13 on August 30, 2011, 04:16:26 AM
Hi Pete,

Don't know how it would be a resolution issue since the Smooth Stepper obviously hasn't change that. But what matter I guess is you got it working correctly now :)