I have been mulling over ideas for calibration for triangular kinematics and wanted to run an idea past folks
we measure the horizontal distance between motors.
we may want to add some check for frame flexibility here. pull the chain snug with low motor power and then ramp up to max power and see if the motors move ‘too much’ (i.e. more than chain sag accounts for)
someone with a frame that has a solid beam between the motors should check for chain sag. measure the height of the chain from the beam near the motors and in the middle while under stress.
we can have the person find the center of the work area by snapping lines from the corners. move the sled down to this midpoint and see if it’s where we expect it to be (this, with the horizontal spacing will let us calculate the distance from the top of the work area to the motors)
move the sled up and down a known amount (say 1.5 ft for a stock size work area) and cut a short horizontal line at each place. If the distances between these points don’t match what they are supposed to be, that means that the chains do not have the effective length that we think they do. We should be able to re-calculate to figure out the correct offset and try again.
so, if motor spacing was 3000mm, yoffset was 500mm, and the work area was 1200mm high (rounding real dimensions to nice round numbers)
the center of the work area should be a triangle 1500x1100 (chain length 1860 mm)
say the bracketry is off by ~10mm, so the real chain length is 1850mm. we move the router into position at the center and will then ‘know’ that since the triangle is 1500x 1850hypot, then the y distance must be 1082.8mm (so the y offset was wrong, 482.8 instead of 500)
so we then try to move up 500mm, so we think we have a triangle of 1500x 682.8y and chain length 1648.1
but instead we really have a triangle of 1638.1, which results in a y of 658.3.
so an error of 10mm on the chain has resulted in an error of 24.5mm on the wood.
if we were to move down 500mm, we would think that we have a triangle of 1500x 1582.8y and chain lengths 2180.7
but chain lengths would really be 2170.7 so y would be 1560mm, an error of 22.8mm
with three cuts, we will have the following formulas to solve
D distance between motors
y distance from motors to the home position (roughly the center of the work area)
coff difference between chain moved from the motor and effective chain length due to the bracketry
C1 chain length for center
C2 chain length for top cut
C3 chain length for bottom cut
(d/2)^2 + y^2 = (C1 +coff)^2
(d/2)^2 + (y-500mm)^2 = (C2 +coff)^2
(d/2)^2 + (y+500mm)^2 = (C3 +coff)^2
D, C1, C2, C3 are all considered ‘known values’ as they are the result measuring chain movement.
This leaves us with two unknowns (coff, y) and three formulas. That’s enough to solve for the actual values of the variables (it’s too late tonight for me to do that right now).
since the error in chain length gets multiplied by >2x for the vertical moves, I think we should be able to measure with a tape measure (max 1/2mm accuracy) and get very accurate results.
Note that I combined error in measuring the height of the work area with error in measuring the distance from the work area to the motors. The only place this matters is in avoiding running off the top/bottom edge, so the (0,0) point in the center of the wood is only approximate. Once we have the machine calibrated to position accurately, you can then set the travel limits to whatever point you want away from this 0,0 point.
note2, there is an additional source of error not included in the simple calculation above, and that’s the amount of chain wrap around the sprockets and therefor the exact coordinates of where the chain becomes tangential to the sprocket.I don’t think that this matters (the difference in angle between a triangle 1500x, 658y and a triangle 1500x, 882y is probably not enough to be measurable), but it should be included in the calculation.