Accuracy Issues

Draft: Distance Between Motors

Warning… it seems to me this is backwards but its based on what the simulator is showing. So maybe I’m misinterpreting the inputs to the simulator… take this writeup with a grain of salt.

Edit: So I’ve gone back and forth on this and I’m going to make the assumption that I’m interpretting the simulator wrong. When I see error, I naturally think measured value minus actual value, but I think the simulator is asking for actual value minus measured value. So if maslow measured 3000 mm for a distance and actual is 3005 mm, the error is +5 mm, not -5 mm. So I swapped what was below. If I’m totally hosed up on it, I’ll blame it on my head cold.

The Why

To know the length of chains to be fed out, the firmware has to know how far the motors are apart (one side of the triangle). The more accurate this is known, the more accurate the firmware will be in moving the router to where you want it to.

If the controller thinks the motors are further apart than they are, then it will feed out too much chain and will make the vertical distance of your cuts lower, wider, and actually shorter than it should (green line is ideal, red is what happens when controller’s motor spacing value is 50 mm too large):

#used a simulator error of -50.00mm#

If the controller thinks the motors are closer together than they are, it will feed out too little chain and will make the vertical distance of your cuts higher, narrower, and actually longer than it should (controller’s motor spacing value is 50 mm too small)

#used a simulator error of +50.00mm#

How Maslow Calculates Distance Between Motors

One of the calibration steps has the user applying the left chain on the left sprocket and then using the GroundControl software the feed out chain until enough is fed out to reach the right sprocket. The chain is then “pulled tight” and the software equates the amount of chain that was fed out to the distance between sprockets (it adjusts for the two extra links that are applied to the right sprocket, if you were wondering). This method in measuring is dependent upon a three primary factors:

  • The motor mounting points and top beam do not flex
  • The chain is fed out precisely at 2.5-inches (63.5 mm) per sprocket full rotation.
  • Precise knowledge of gear ratios of motors

The original frame design wasn’t the best at keeping the mounting points from flexing. The new frame designs incorporate a rigid top beam that the motors are mounted to and this seems to do a good job. Also, if the mounts are well secured to the top beam, they can rotate under stress and this will cause the distance between motors to change, thereby throwing off the calibration.

As for chain issues, the 10-tooth sprocket for #25 chain should spool out precisely 63.5 mm of chain for every rotation (10 teeth x 6.35 mm chain pitch). However, chain will wear over time, or get damaged, and after a rotation the length of the chain that is spooled out is actually longer than 63.5 mm… how much exactly depends upon the chain. Personally, I measured a difference of about a 10 mm between what I got from using a tape measure (which I assume is accurate) to what Maslow calculated… a 0.27% difference. May not seem like much but if you are trying to reach sub-mm accuracy in your cuts, it will have an effect.

Finally, someone early on discovered that the assumed gear ratios were wrong and that led to distance between motors to be calculated wrong. We think this is fixed… we hope (could it still be off by some small amount?? :man_shrugging: @krkeegan did some extensive testing and it seems right).

6 Likes