List of sources of error

I was explaining the issues we are fighting with for accuracy to someone and started enumerating all the potential sources of error. I thought it would be good to go through them all and list how they are (or are not) being addressed as of the beginning of Nov 2018.

This assumes that the chains, sprockets, chain slack are all kept in the same plane so that there is no error from the chain attempting to skip or the efforts to prevent it from skipping.

This is assuming triangular kinematics (using some triangulation kit on the sled so that the chains are always pointing directly at the bit)

Error description error result type of error handled?
motor spacing distance between the center of the motors primarily affects vertical travel constant base lenth careful manual measurement (best accuracy 0.5mm). we know that the current process of measuring with the chain is not accurate due to chain sag and stretch, it is consistantly off by 10+ mm
y offset distance from the motor shaft to the top of the workpiece offsets the coordinates in the Y direction constant Y offset if this is wrong, the current calibration may change other variables to incorrect values trying to make things work
rotation radius ‘extra’ distance to add to the actual chain length to reach the bit affects effective chain length constant chain length known values for common triangulation kits
chain sag flexible chain/line will sag under it’s own weight in a catenary curve makes the chains shorter than the machine thinks they are up to -3% of chain length
chain stretch/tolerance gap between chain links to allow them to move makes the chain longer than the machines thinks they are. This may be different for each chain, and we have not yet tested to see if this is consistent through the length of the chain up to +1.5% of chain length (for new chains)
sprocket “12 o’clock” error the chain is positioned on the sprocket with one pin at 12 o’clock makes the chain length larger or smaller than expected constant chain length .5mm/degree
incorrect ‘manual calibration’ value if the chain length used when resetting the chains to the same length is not the actual length (with the sprockets at the 12 o’clock position) this introduces a chain length error constant chain length current settings introduce 1-2mm of error
chordal action the amount of chain fed out for a given amount of rotation is not a constant as the effective radius of the sprocket changes http://chain-guide.com/basics/2-2-1-chordal-action.html for a 10 tooth sprocket, ± 2.5%, a 25 tooth sprocket would be ±0.4% could be calculated
sprocket-chain departure angle since the chain leaves the sprocket at a different angle depending on where the sled is, the top corner of the triangle moves compensated for in software as if the sprocket was a circle (ignores chordal action)
top beam flex (front/rear) since the chains are not pulling perfectly aligned with the center of the top beam, there is the potential for the top beam to flex forward slightly changes the effective motor spacing we believe this to be very small with the current design, but was substantial with the original ‘winged’ frame
top beam flex (up/down) the weight of the sled moves from side to side, changing the downward force on the ends of the beam measured to be severall mm on a unistrut top beam introduces tilt (both types)
top beam tilt (compared to workpiece) if the top beam is tilted compared to the workpiece, coordinates are wrong cut supports parallel to the top beam with the router
top beam tilt (compared to gravity) if the top beam is tilted compared to gravity, tensions on the chains will not be what’s expected, which will throw off the position
triangulation kit flex if the triangulation kit doesn’t keep the end of the chain the exact same distance from the bit, (due to flexing under tension, shifting of joints, or other reasons) this will affect the effective chain length small effect on chain length varies by tension/angle
sled rotation if the sled rotates to the point that the triangulation kit hits a limit, the line of the chain effectivly bends the effective length of the chain is shorter than expected tiny effect on chain length varies by tension and the force driving the sled against the stop
triangulation kit sag the triangulation kit is heavier than the same effective length of chain this causes the point where the chain connects to the kit to be slightly lower than a perfect line from the sprocket to the bit. This is the same effect as the sled rotation error. varies by tension tiny effect on chain length
encoder error the encoder measures steps of the sprocket, movement less than that amount cannot be measured <0.008mm on chain length with the current 8k steps/rotation and a 10 tooth sprocket.
backlash as tension moves from mostly being on the sled side to mostly being on the ‘slack’ side the motor moves without moving the chain makes the chain shorter than the machine thinks in the bottom corners constant amount when chain length is ‘too long’ tiny effect on chain length
weight of cords/vacuum hose depending on where the sled is, there is a different amount of weight added to the sled by the cords/vacuum hosts makes the sled heavier than expected, adding additional tension believed to be small effect on tension changes chain sag

some of these errors are very small, some are accounted for in the model, some we haven’t tried to address yet.

Are there any other sources of errors that anyone can think of? are there any comments on the amount of error introduced by each type?

9 Likes

one thing I didn’t list was the sled sticking and not moving as chains are let out.

1 Like

Center of triangular kit’s rotation not aligned with center of router bit.

2 Likes

The triangular link attachement (square angle braquets) will flex under the sled weight, actually lowering the bit position below the triangulation link center.

update november 23rd
This is quite noticeable with the stock ring kit at the workspace horizontal center and vertical low position. (Simply finger press the router top side and see the sled move down while brackets flex). This flex induced by sled weight should be constant for a given sled weight. Simulation points this error would be more of a constant minor vertical shift.

During cut operation, the vertical and lateral forces on the router bit get translated on the triangular link, position balanced with chain sag, and chain stretch. Also, the sled friction adds onto the triangular link forces.

We should expect this to be a source of position error varying depending on the sled vacuum, sled friction surface, GCode, bit and material.
For now I do not analyse these forces.

I rather concentrate on chain tension zones (upper part of workspace) and sag zones (lower corners of workspace)

end of update

2 Likes

About chain stetch and tolerance.
I think these are two different things:

Stretch:
Using a caliper, I measured a selected segment of 23 contiguous chain links under maximum top center position tension. (In my case the chain tension is around 40 pounds, with a counterweight mecanism behind the sprocket to offload the motor partially and keep backlash in only one direction). Then another measurement at around 15 pounds chain tension. And constant temperature (don’t touch the chain).
Experimental measurements seem to show chain stretch is almost nil with my chains. (down to 0.02 mm on a digital caliper readout.)

REVIEW 2018-11-17 : As referenced by @Joshua

I could find some more Tsubaki details in RS-25 Technical datasheet where a basic RS25 chain made by Tsubaki has a maximum of 0.64 kN (presumably at the 2.6mm stretch identified by @Joshua). This yields a stretch factor of 2.6 mm /640N / 1000 mm /m: 4.1E-6 elongation per Newton of tension per mm of chain under that tension.

This is not measurable with a caliper but amounts to milimeters at a combination of high tension on the workspace top edge.
Here I prepared a simulation of chain stretch taking into acount a sled weigth of 11.6kg, but weightless chains (on a frame similar to the Standard maslow dimensions).

Note1: that this specific simulation suggests the total sled error is up near 5mm at top center.

MB_ElasticChain

Note 2: Reducing the motor distance parameters in this case would somehow cheat the calibration and reduce somewhat the chain elongation error. But that would not be an accurate correction.
Below is the simulated effect of a 2.5 mm reduction on the motor distance parameter, what I call “distBetweenLRMotorsGearBoxShafts”:

END OF REVIEW

Chain tolerance:
That is more a chain link sizing error that would depend on production batch, manufacturer, or something else, but is relatively constant for a chain segment. I tuned up to 0% on my right chain over a 4 feet measurement, then 0.13% on my left chain due to 1/16" longer tape measured value ( possibly due to a different supply as I extended my chains on my 11.5 feet wide shafts distance). It interesting to see how 4 links are dead on a 1 inch length. Makes it rather easy to compare a tape measure big mark to a chain link pin.

Do you have similar readings?

About chain sag,
How to you get your 3% figure?
I have worked on chain sag modeling using the catenary mathematical equations and I get figures based on actual sled weight (11.6 kg) and chain density (0,14 kg/m).
I must say that my malsow has 3501mm between shafts and 617 mm above workspace top.

I have not yet checked the experimental measurements compared to the model. (1.5mm seems low.) But the model predicts a balanced catenary with less than 2mm adjustements on one chain in the lower corners. ( The other chain then actually quite straight under tension).


 But that is still a work in progress. I would share if someone cares to play with (free open source software) octave math tool. Anyway I will put all that in my branch’s firmware documentation folder when it is clean enough.

For modeled figures, see image here-under. (0,0 is the uper left workspace corner. (100,50) if the lowr right corner. (matrix size is 100 columns spaning 2400 mm, 50 rows spanning 1200mm). Red color is chain additional length direction (mm). Note that bottom right corner is all left chain correction, and bottom left corner is all right chain correction. Any sled position verticaly near under a shaft has low chain sag for that chain. So chain sag correction zones are somewhat mutually exclusive.

Note: Calculated using a catenary differential equation with sled weight and chain weight distribution.

UPDATE 2018-11-17

So I reviewed the octave simulation with the standard Maslow frame size. Here I compare the simple triangular kinematics without any chain sag compensation, and apply a forward kinematics including a true catenary equation to find the “achieved” XY position. I then compute the sled distance from the XY target due to sag.

MB_ChainSag

Note: to keep things simple: no beam flex, no chain stretch, chain length is ideal, no chordal effect, etc. Just sag and accurate sprocket triangle calculations with exact tangent point locations.

The model suggests a 3mm error in bottom corners.

I was curious to see the error caused by a chain sag correction based on the parabola estimation. So I computed the parabola estimation used in the maslow firmware and substracted it from the catenary sag estimation. Once the correciton factor tuned to match catenary at the bottom corners (7.6), the difference is quite small over the workspace:
MB_ChainSag(Parabola-Catenary)

That suggests the parabola chain sag estimation can do a good job if it is tuned right.
End of UPDATE

1 Like

November 23rd updateSprocket

Based on the paper linked, the chordal error on the speed should translate as an effective radius variation from the link pivot to the link center.
So the paper suggests delta speed/speed = 1-cos(180/10 teeth)

I prepared this schematic:

The red line is the link showing the real chain position is not exactly
wrapped on a circular shape.

The blue arc is the Maslow CNC firmware approximation of the same
link, but this time lying on a circular path.

When rotating the sprocket an angle equivalent to two teeth separation
(here indicated as 2*gama), the link pivot rotates on a r1 radius circle just
besides the blue line, and the link remains mostly parallel to the red line.

Here under is a plot of the resulting chain position length difference (mm)
between the link chordal position and the blue arc approximation:
(the x axis is covering the distance of 2*gama)

Octave simulation(sw link for windows users):

image

0.02 mm max chain position error due to chordal effect.
Based on that analysis, I would say
 not much.

End of update

Measured with a laser line marking my top beam upon moving the sled accross the width on my maslow, this is 3mm vertical error on shaft vertical position across the top beam shafts distance width.

That is not neglectable to me as I target 0.5mm chain lenght accuracy.

Is that helpful?

1 Like

I wanted to get a straight line movement on my sled while following near the top workspace edge. I first relied on the 138.14mm rotation radius from the forum discussion.

From the center to the right workspace corner, moving with a constant Y axis value, the router bit actually moves 4mm vertically. That is an effect that seemed mostly depending on the ring deformation, but it turns out the chain stretch could be mostly responsible for that (see previous post in this thread).

It actually happens mostly in the top center zone where horizontal forces are also applied at low angles (20 deg) and that would have a significant impact on sled vertical position


And this means the low chain angles are allowing more vertical errors when the router bit creates vertical forces


triangulation kit sag

Well, it is my understanding that the roller weight can be accounted into the catenary weight distribution. Simply identify the equivalent weight chain length and the sag calculation will include it nicely. At least that is how I model it for now.

A nice property of a catenary is that any weight below a chain link depends solely on the (equivalent) chain length and the horizontal tension. And for a given catenary shape, the horizontal tension is constant across it.

Helpful? Useful?

Thanks @Dlang for this nice summary table!

The triangular link attachement (square angle braquets) will flex under the
sled weight, actually lowering the bit position below the triangulation link
center.

note, I am talking about the triangulation kits in general (all three), not just
the ring kit.

I will look at making it this more clear that distortions in the kit can cause
different types of errors.

The triangular link distortion is expected to be more important at the center top high horizontal tension zone.

different kits have different types of distortions. One of the concerns about
the top mount kit is that the interaction of some joints being under tension and
others being under compression could cause problems.

A stiffer triangular link attachment relative to the sled, and a stiffer
triangular link might be a key characteristic in future maslow cnc evolutions.

Personally, I think the ring may go away as soon as someone can really test it
compared to the other designs. It’s very expensive and has a number of known
weaknesses.

David Lang

I am generalizing this into ‘the chain is longer than it should be’

As it wears it will get longer.

depending on the lubrication used, there may be a cushion of lubrication between
the links that gets squeezed out under more tension

a tape measure is WAY to big a measurement to detect this (especially over short
distances)

one brand of chains offers ‘matched’ chains, in two grades, one that varies by
no more than 0.006" per foot, and one that varies by no more than 0.002" per
foot.

we really need to get some people to loop their chains and test how this varies
over the length of the chain using the motors and encoders (which will be FAR
more accurate than any manual measurement)

a ~10 ft chain (0.09lb/ft) under 3.2 pounds of tension results in a difference
of over 1/2", which ould be ~3%

David Lang

6.35mm chain link *10 teeth /360deg = 0.176 mm
Not 0.5mm. Am I mistaken?

you are correct.

I use a level to set my gear (placing it flush with two notches) and I get quite easily a trustable 12 o’clock


how precisely are you able to place it flush, with such a narrow base, how does
that translate into errors in your level?

I don’t think this is a big source of error, but I’m trying to document all
sources first (and then talk about what ones we care about the most)

That’s my thinking.

But it gets more interesting, as the chain angle changes, the chordal effect
changes, without the sprocket moving.

David Lang

this line is the flex in the other direction, the beam flexing in the Z
direction. The weight and position of the sled don’t matter here. This is driven
by how far the chain sits out from the top beam, which should be 1/2" or so

David Lang

does it sag in the middle? moving 4mm vertically would require the ring bend
~2mm.

I would bet that you are off in some other factor, and since we don’t properly
handle chain stretch, that would be my best guess for the reason of a sag in the
top center.

But the purpose of this topic was to try to document these error sources and get
people to consider them. I don’t claim to have all the answers.

I’m not sure it’s that simple. What is happening is that your striaght line from
the sprocket to the bit now is a triangle, with your chin as one leg, the
rotation radius being the second leg, and the base between them being the actual
distance. It’s no longer a catenary calculation.

It’s a reasons to keep the triangulation kit components light. I don’t think
this is a big factor.

It’s also a reason to keep the weight so that the sled does not rotate under
motor torque.
k

Here I propose an update:

First, let’s split the error sources in two categories:
a) Medium based: Errors caused by sled friction and non-uniform material properties
b) Geometry based: Errors caused by machine’s shape, dimensions and mechanical elasticity.

The hypothesis is : If both error types were exactly modeled into the firmware control, and if the control had no limit on generating sled movement then cuts could be perfect.

Fixing exactly a)

  1. Would need a deep maping of the material, taking into account new grooves, sled surface properties, vacuum cleaner pull effect, etc.
  2. Might be impossible, but to mitigate this to some extent, wax the sled, round the sled edges, use a uniform material, limit the vacuum pull by opening some air opening intakes if needed
 (what else?)

To fix b)

  1. We give to a) the case where forces are applied by the Medium. So here we consider the sled is frictionless and the router bit cuts with no force, and the sled is idle. Hence we say that we “omit kinematics details”. (you’ll see that in the graphs titles below).
  2. Then we need measurements of the CNC geometry parameters such as components size, weight, and flex. This seems more constant and predictable. To get there, some parameters might be rather constant from one Maslow to the other (like sprocket size), otherwise we need good measuring techniques for the others. But just the important ones.
  3. Finding which parameters are important is one task.
  4. Measuring them right is the purpose of some initiatives like the promising Holey Triangular Calibration.

To sort this out, let’s re-list each error source showing the category (Medium or Geometry), then for Geometry errors, draw a simulation of impact on the sled XY position.

Note: The simulator is FOSS under the GNU licence here for you to play with it :slight_smile:

Error Description Simulation Condition Error Type Simulation Graph
motor spacing distance between the center of the gear box shafts [motors] Control parameter underestimates by 2.5mm ref:cheatLRDistance = 2.5 Geometry See below

5mm_X
5mm_Y

Error Description Simulation Condition Error Type Simulation Graph
y offset Vertical distance from the gear box shaft (motor) to the top of the workspace Control parameter overestimates by 2.5mm ref:cheatLRMotors YOffsetAboveWorkSurface = 2.5 Geometry See below

5mm_X
5mm_Y

Error Description Simulation Condition Error Type Simulation Graph
rotation radius ‘extra’ distance to add to the actual chain length to reach the bit Control parameter is 2.5mm underestimated (too short) ref: cheatRotationRadius = 2.5 Geometry See below

5mm_X
5mm_Y

Error Description Simulation Condition Error Type Simulation Graph
chain sag flexible chain/line will sag under it’s own weight in a catenary curve compare ideal weighless chains with sagging chains ref: cheatChainDensity = 1E-6 Geometry See below

EffectOfSag_X
EffectOfSag_Y

Error Description Simulation Condition Error Type Simulation Graph
chain tolerance gap between chain links to allow them to move Control parameter for the average left chain links length is overestimated by 0.13% ref: cheatleftChain LengthCorrectionRatio = 0.0013 Geometry See below

13percent_X
13percent_Y

Error Description Simulation Condition Error Type Simulation Graph
chain stretch elongation due to chain tension (rubber band effect) Compare 2.6mm / m elongation at 640N with a perfectly rigid chain. ref: cheatleftChainLength CorrectionRatio = 0 Geometry See below

EffectOfChainStretch_X
EffectOfChainStretch_Y

Error Description Simulation Condition Error Type Simulation Graph
sprocket “12 o’clock” error the chain was calibrated starting with a link positioned on the sprocket with one pin not exactly positioned at 12 o’clock. Makes the chain length steadily longer or shorter Control parameter on the chain position is 1mm underestimated (roughly 1/6 of a tooth distance.) ref: cheatLeftChainLength =1 mm Geometry See below

EffectOfLeftChainOffset_X
EffectOfLeftChainOffset_Y

Error Description Simulation Condition Error Type Simulation Graph
chordal action the amount of chain fed out for a given amount of rotation is not a constant as the effective radius of the sprocket changes for a 10 tooth sprocket, see below Geometry See below

Chordal_study_small
ChordalErrorSprocket10

Error Description Simulation Condition Error Type Simulation Graph
sprocket-chain departure angle since the chain leaves the sprocket at a different angle depending on where the sled is, the top corner of the triangle moves Not simulated Geometry
Error Description Simulation Condition Error Type Simulation Graph
top beam flex (front/rear) since the chains are not pulling perfectly aligned with the center of the top beam, there is the potential for the top beam to flex forward slightly, changing the effective motor spacing Having no realistic values yet, not Simulated (My MaslowCNC shows very little bow even when using the laser pointer) Geometry
Error Description Simulation Condition Error Type Simulation Graph
top beam flex (up/down) The weight of the sled moves from side to side, changing the downward force on the ends of the beam Control parameter ignores the 2.9mm max beam flex when sled is right under the motor gear box shaft. ref: cheatmaxTopBeam TipFlexAndTwist = -2.9 mm (canceling out the model value) Geometry See below

9mm_X
9mm_Y

Error Description Simulation Condition Error Type Simulation Graph
top beam tilt (compared to workpiece) if the top beam is tilted compared to the workpiece, coordinates are wrong Not simulated yet Geometry
top beam tilt (compared to gravity) if the top beam is tilted compared to gravity, tensions on the chains will not be what’s expected, which will throw off the position Not simulated yet Geometry
Error Description Simulation Condition Error Type Simulation Graph
triangulation kit flex if the triangulation kit doesn’t keep the end of the chain the exact same distance from the bit, (due to flexing under tension, shifting of joints, or other reasons) this will affect the effective chain length Having no realistic values, could not simulate yet Geometry
sled rotation if the sled rotates to the point that the triangulation kit hits a limit, the line of the chain effectivly bends Not simulated More of design issue?
triangulation kit sag the triangulation kit is heavier than the same effective length of chain Not yet simulated. If the whole sled including parts of the triangulation kit is weighted and accounted into the sag calculations, it seems a marginal error. Geometry
encoder error the encoder measures rotation of the sprocket using discrete steps. Movement less than a step size cannot be measured. However this error does not accumulate Not simulated. analysis shows that error <0.008mm on chain length with the current 8k steps/rotation and a 10 tooth sprocket. Geometry
backlash If tension on the gearbox moves from being on the sled side to being on the back side, the chain position gets an offset equivalent to the gears play. Simulation not yet done. Depends on the mecanism used to reduce the gearbox rotation load Geometry
weight of cords/vacuum hose depending on where the sled is, there is a different amount of weight added to the sled by the cords/vacuum hosts Simulation not yet done. However, a 10kg sled would see an increase of less than 10%, which --in a first approximation-- would change sag error by as much. Geometry See sag simulation
3 Likes