Accuracy Issues and Calibration Overview

Chain Stretch

The Why

Due to wear, or even manufacturing tolerances, chains can be longer than what they should be. Chains are rated at something like -0 to +.15% per link and as it wears, it will get longer. This is primarily due to the wear of the roller chain bushing. See here. For the typical usage of chain, manufacturers recommend replacement when where exceeds 1.5% or 3% (depending upon manufacturer). However, even a 0.05% error is significant for Maslow. This error translates to a chain length error of ~1.5 mm that then translates to a sled position error of over 2 mm at the top center of the work area.

Chain Compensation

Though it is still under development and testing, the software (GroundControl and the controller’s firmware) have settings that allow for adjustment of each chain’s length in the calculations. In the GroundControl settings, these adjustments are labeled “Chain Tolerance, Left Chain” and “Chain Tolerance, Right Chain”. They are expressed as percentage increases. For example, if the chain is 0.3% longer than it should be, a value of 0.3 is entered. Then the controller will spool out 0.3% less chain than it would have based upon the idealized chain pitch of 63.5 mm per sprocket rotation. At this time (and maybe forever), the algorithm assumes that the chain stretch is linear over the entire length of the chain.

The process to use chain compensation is relatively straight forward. There’s a calibration routine found in GroundControl (Actions->Compute Chain Calibration Factors) that does a series of measurements. First you measure the distance between motors using a tape measure. Next, you measure the distance between the left motor and right motor using the left chain and then the distance between the right motor and left motor using the right chain. Once done and the data entered, GroundControl updates the distance between motors in the settings to equal what you measured by hand and computes the compensation factors for each chain.

Sounds good? Well, there’s a problem. Once you do this and recalibrate the machine it performs worse. Why? We don’t know exactly but I suspect there’s either a software bug or an issue with the calibration. After I did this, the calibration routine calculated a rotational radius of approximately 132 mm of my ring kit whereas it really should be very close to 140 mm. So, my suggestion at this time is to try to calibrate the machine without using chain compensation, measure your error, then run the chain compensation routine and see what the results are (don’t recalibrate). You may find out, as I did, your results get better this way.