Chain Tolerance Effect on Accuracy

I’ve been tuning my new Maslow, and have been trying to dial it in as much as possible. I’ve found a possible issue along the way.

I used the calibration menu to determine my motor spacing using the chain. This value was 3102.13mm. I then used a tape measure to measure my motor spacing, and got a value of 3111mm, about 9mm off. As far as I could tell, chain sag is not a substantial component of this, in particular because chain sag would make the chain-based measurement appear longer than it actually is, rather than shorter.

I then performed some measurements on my chains, and found that they aren’t exactly 6.35mm per link. I looked through the forums and found that others have found that the chain lengths can be variable, such as @blurfl in this thread.

Being a mechanical component, it’s entirely reasonable the chain links would have some manufacturing tolerance to them. I’ll strictly consider brand-new chains for the time being, as combining the element of worn chain makes this even more complex. I did some very brief research, and found one company listed a tolerance of +0.001/-0.000" per link.

Using this tolerance, my chain-measured motor spacing of 3102.13mm could actually be as long as 3114.5mm. This is in the region of being able to explain the amount of error I saw.

Has anyone else seen this? If this is true, this presents a significant problem. Knowing the lengths of the chains is critical to the operation of the machine, and if this level of variance is possible then it sounds like something we may need to address.

Do we know the tolerances of the chains we get? Do we possibly need to incorporate a chain length calibration into the machine, possibly by manually measuring the motor spacing and then using that to calculate the more accurate chain pitch?


That seems reasonable. Manually measuring the distance between motors doesn’t have to be difficult.


I take it that we would want to calibrate the left and right chains separately, as they may be different enough to be significant. That would be pretty simple to incorporate into the kinematics too.

I’ll start working on some code!


We have seen this sort of thing consistantly enough to be a real issue (and
trying to track it down has found other real issues like the gear ratio not
being what the vendor claimed in their documentation)

we went to the chain based measurement because with the old style frame, it was
FAR more accurate than trying to measure between two motors hanging in the air.

The problem with manual measurement is getting it accurate for the normal user
(dealing with the tape measure sagging, etc

with a top beam, controlling the tape measure becomes FAR easier, but the
question would be exactly what to measure between. If you try to measure to the
sprocket, teeth, or drive shaft, you are back to trying to measure in thin air.

given the solid mounts, it may be enough to measure mount to mount and add in
the offset from the edge of the mount to the motors (we need to double-check
that they are really symmetrical)

or we may want to mount from the back of one motor to the back of the other (a
little bit of vertical offset here)

both of these suggestions are not helpful for people using non-standard parts,
but we can hope that they can figure out an accurate enough measurement.

with an error of ~1cm, this is ~0.0004 per link, well within spec.

I wonder how consistant the error is? is it going to be different in different
places on the same chain? or is it going to be pretty consistant on the chain?

If we were to use larger chain, are the manufacturing tolerances larger? or
would it be a win to have fewer links in place (while causing more error due to
the link size granularity and where it leaves the sprocket)

This is a good thing to focus on


I agree, something like this could greatly simplify the measurement of the motor spacing. But from what I recall, the motor axes do not sit directly in the middle of the motor mounts, so we would likely need to establish some known distances that the axes are from the motor mount edges.

This is the next issue. I’m sure the tolerance varies over the length of the chain. Over large distances, the tolerances will likely average out, but over short distances they may not. But over short distances the effects would be less pronounced anyway, so it may balance out.

I think having a chain calibration would be helpful, but I’m planning on writing the code and kinematics such that it is an optional step. It may be a good idea to include a default chain length adjustment value that is in the middle of the chain tolerances we get. That way a user could skip that step and ideally be closer to accurate than if they used a pitch of 6.35mm.


Closing the loop on Chain Tolearnce Effect on Accuracy… please see the investigation results in list of sources of errors., and how to calibrate the chain tolerance in the manual calibraiton example