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)
- Would need a deep maping of the material, taking into account new grooves, sled surface properties, vacuum cleaner pull effect, etc.
- 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)
- 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).
- 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.
- Finding which parameters are important is one task.
- 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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |