Reasonable backlash on CNC Pro 2x4 table X and Y axes

Hey Folks,

I’ve been doing some small scale brass milling with my Pro 2x4 table, and I’ve been tuning the backlash to deal with bore hole circularity, etc.

In the process I noticed that my X axis backlash was quite high (about 10 thou), and looking at the pinons I decided it was time to replace them. I went ahead and replaced the X axis pinon and ended up with about 6 thou backlash. I proceeded to replace the timing belt as well, and after an evening of fiddling, I’ve got the backlash down to about 0.0035". My Y axes are both at about 0.002".

I read here about folks all the time who say that they have backlash at 0.001" or less on a Pro rack and pinon. I’m wondering if I’m maybe doing something wrong in tensioning the belts, or engaging the spring on the rack, but I just can’t get the backlash any lower. I do note that this would appear to be well within specs for the machine, so I’m not too upset, but it would be nice to have the backlash a bit lower.

If nothing else, the backlash means the machine homing can be off by the backlash after homing. Oddly enough I can see the machine home repeatedly to exactly the right spot every single time with dial indicator located at the home position, to less than a thou for sure, but once I have backlash compensation enabled, mach4 appears to randomly decide at times to try take up the backlash and the home position is randomly either correct, or off by the amount of the backlash compensation. At 10thou this was bad enough that I was getting notable problems with double sided alignment of bores. I can reference off a pin on my vice to correct, but it’s a pain that the machine home is not stable when backlash compensation is on. If anyone knows how to keep that somewhat random “adjustment” from happening at the end of the homing cycle I would appreciate that.



I’ve had good success in the past machining soft metal like that, although the parts I was making didn’t require the precision I think you’re going for.

For reference here are the machine specs:

As you say you’re right in the butter zone of our published specs.

By default we don’t have backlash compensation on. In my experience with routers (typically cutting plastic/wood) I’ve never had backlash comp on. In Mach we default that to off, and you may be coming across the reason for that (just guessing, that decision was likely made long before I was here)

You mention that homing with backslash comp off produces good repeatable results, have you tried homing with it off then turning it on and machining your parts?

Yeah, I’m definitely using the machine beyond it’s specs here.

Mostly because I don’t have space to add another dedicated mill, even a very small one, for the metal working, and I’m not anticipating doing a lot of it. I’m making some reproductions of guitar tuners for an 18th century guitar I’m building right now, and I end up needing to do 4 sided machining.

This lead me down the path to soft jaws in a metal working vise, reference bore holes in the fixture and very careful adjustment with test boring at each step of the machining to get things in line. Surprisingly I can get to within 0.002" and often 0.001" on alignment locally if I take my time. I do need to take test cuts as initial positioning on any axis is often off by 5-10 thou, but I if chase the error out in a couple of test cuts I can work locally on a small part pretty well in terms of dimensions.

I do see some features mislocated by 3-5 thou, but consistently, which I put down to errors in the rack teeth, as they are always in exactly the same place, just off by a bit. Again this is all within the specs of the machine, and for the part I’m making it’s not a critical feature. So far I’m getting away without needing to take the final part and a ream the bores manually, but without backlash comp they are quite a bit off of round relative the scale of the holes (4mm - 12mm bores). I’m working with very small short bits here, driving the runout down on each tool set up, etc.

I’ll give it a try to turn off backlash comp while homing, but I don’t see an easy way to do that without going in and zeroing all the configuration and then entering it again. Maybe it’s time to dig around in the guts of the Lua code and see if I can either tweak the behavior directly, or at least set the backlash comp configurations via code.

Mostly I’m trying to speed up the process just a little right now, figuring out where I can rely on the machine to do things correctly as is, and where I have to take extra time as I switch setups.



I think you’re right, and I wonder if you try adding backlash comp back on after homing if that will actually force you to re-home… I honestly don’t know.

I bet you could fiddle with the backlash comp with some lua script though. Maybe a good way to test would be to create a screen set button called “Comp On/Off” and see if you can put some code to that button to toggle it.

The backlash comp doesn’t mean you need to re-home unless you’ve changed the setting after you’ve homed. In that case it might change your absolute postion from when it was homed slightly, but thats ok, your measurements for backlash to tune it in should still work fine, and then when you’ve got it dialed in, just re-home and you should be consistent from then on in your absolution positions each time you home.

The problem with the software backlash compensation is that it can work for some movements and not others depending on the nature of what is causing the backlash. For example, if it is in your gears, then the backlash may easily get taken up on each reversal of direction and the backlash comp should work pretty well. If it was in the belts though, there would likely be enough friction on the smooth part of the belt to show no backlash for slow/low acceleration movements, or it may take time for the teeth to work there way over to the other side of the pully tooth.

On my machine when everthing was pretty new, my raw backlash was between a half and 1.5 thousandth, and the backlash comp worked very well to get rid of it as best I could measure it.

So I did notice last night that changing the backlash comp (while I was retuning after changing the pinon gear) does move the machines absolute position around a bit each time you make a change. I will have to check that the tracked position doesn’t move if I turn it on/off or adjust it. That’s not clear to me.
With the comp on, I get repeatability approaching a point (no load) to within a few tenths, so the comp is working.

I do think the backlash is mostly in the gearing, not the belt, as I get pretty close to round bores once I get things set right. For sure, the comp does not work for every tool path, but the critical features here are aligned bores that are close enough to round that I can slip fit parts into them without binding and without too much slop.

Really I could probably just make a “backlash comp on/off” button, and deal with probing after homing to locate the fixture. It just bugs me that I know the fixture is fixed relative to home, so homing should be sufficient. As it is, I have to relocate the fixture locating bore after each homing cycle once I turn on the backlash compensation.

One other thing I noticed, is that if I home repeatedly, I can actually tell when the machine randomly shifts at the end of the homing cycle. There are two signs; (1) the machine coordinates shift away from (0,0,0) right after the homing cycle finishes. (2) There is a “clunk” noise from the steppers at that point. X and Y both seem to be affected independently at random, but sometimes they both don’t shift, and I can see that on the DRO. Might be that I can get away with just re-homing a few times in a row until I get the right dice role! I will have to check repeatability at the fixture after homing that way and see if my problem goes away.

I am curious if anyone knows other sources of backlash than the gears or the belts. I suppose the rack could be worn a bit (it’s not a new machine anymore), but I assumed that the rack is much harder than the aluminum pinon gear, so there should be minimal tooth wear on the gear. Maybe one other thing I should check is the set screws on the gear mounted to the stepper. I could see some slop there causing issues. I did check to make sure the motor is well snugged to the frame itself, as loose mounting bolts would definitely be a problem.

Funny you should mention that. I have been experiencing that clunk randomly for a couple of years (seemed to start with one of the SW releases) and a couple weeks ago submitted it to the Warp9 forum to see if they could fix it (homing is in the ESS plugin as far as I know). Mine is random enough that I haven’t been able to characterisze if it is messing up the homing or not. It happens most often on my A axis.

One other possible source of backlash is that some people have reported the steel pinion gear coming loose from the big belt gear. They should be locked together.

Did a bit of experimenting this evening. I can confirm that if you turn off backlash comp, zero the machine, and turn the backlash comp back on, the homing is working as expected, and the machine ends up being able to get to a fixture location within 1 thou consistently.

Likewise, at the end of the homing cycle, when the machine does the “clunk”, it is registering a move to -. This does not always happen, but it appears sometimes the ESS thinks it has to take up the backlash due to a direction change, and not other times. Unfortunately, there is no code to inspect for the ESS so I can only speculate what is happening.

Physically, the machine overshoots the home, and then reverse direction and slowly approaches the home location, stopping when the sensor turns off. This should mean all positive direction backlash is taken up at this point, as the gears are driving all axes in the positive direction.

At random, the machine then “clunks”, which appears to result in the backlash comp steps being applied in the negative direction. This registers on the DRO as a move to a negative position, but the physical machine does not move according to the dial indicator I have on the axis at the home.

In any case, now I need to see about programming a new button that turns backlash comp on/off. I can see the API calls to grab all the motor parameters, and to set them.

Lesson: If you have backlash comp on, your home position will be off by either 0 or -backlashcomp on each axes, with no particular reason to this change. If you rely on known fixture locations on your machine, the results will not be the behavior you expect.

One other note, I will have to investigate what the probing routines are doing with the backlash. I suspect they are not playing well with backlash compensation either, but I will have to do some deeper testing to see if I am right or not.