Discussion Regarding Triangular Calibration

I think if we could switch from making short cuts to drilling holes and have a means to measure the distance from the center to each hole, we’d have a lot more useful information and would eliminate some of bad assumptions. I think it easy enough to put a slit in the middle of a 1/4 inch dowel to place the hook of a tape measure into. If the dowel was placed in the hole in the center (lubed up a little as well), you could easily measure the distance to each of the holes in the four corners. Then you could also measure between the holes as well.

Ignore the numbers in the image… just trying to show illustrate what I’m writing about:

Given three sides of a triangle, you can determine the location of the vertices. This would allow us to calculate the exact x,y coordinate for determining the chain length.

A nice feature of this is it doesn’t care what the actual dimensions of the board or even if the board is perfectly level. You could also repair the spoilboard by gluing in 1/4-inch dowels into the holes and sanding them smooth.

This would also work with pens, just need a good method of securing a tape measure to a point… maybe drill a small hole through the tape at the 3 or 4 cm part that a push pin would fit through and then push the pin into the wood where the mark was.

Ya this is much better and less disheartening than going through countless spoil boards. I like the idea of drilling a hole in the tape. Fortunately I had someone to hold the other end for me on the 1cm line on the tape for better accuracy and I used a very fine point marker.

The entrance to my shed is a too high off the ground for my shorter wife to step up into. That’s a bit by design :slight_smile:

Simple blocks will do it.

1 Like

Here’s the gcode for the pattern… I think it works. At the end, the sled is to the right of center in a spot hopefully out of way of the measurements.

G0 Z5
G0 X0 Y0
G1 Z-20 F500
G1 Z5 F500
G0 X-965.2 Y355.6
G1 Z-20 F500
G1 Z5)
G0 X-965.2 Y-355.6
G1 Z-20 F500
G1 Z5
G0 X965.2 Y-355.6
G1 Z-20 F500
G1 Z5
G0 X965.2 Y355.6
G1 Z-20 F500
G1 Z5
G0 X698.5 Y0

I’ve been just recently catching back up with the project, and seeing all the progress made. My apologies for the time away, but I’m just getting back up to speed now!

To hopefully help more quickly with this request, I previously broke down the math behind my algorithms here: Explanation of the math for moving the sled?


I use pens for calibrating; I clamp the tape to the edge of the spoil board so that a major mark on the tape lines up with the starting mark and subtract that amount from the final measurement. Working Aline, it does involve some fussing to get the tape lined up and aligned, but I tell myself that’s part of getting accurate measurements.

Oh thank goodness!

First, can you look at this post and tell me if I’ve got it correct:

Second, can you illustrate specificaly how the math works for chain sag? When I try to expand the formula out, I end up with some variables to the power of 4… I’m just trying to understand how it works so I can document it.

1 Like

Welcome back, @rjon17469 ! Thanks for bringing that link into this discussion, it answers many of the questions.

1 Like

Your post on the chain length calculations looks correct. The chain tolerance components I can’t yet speak to, but I’m looking into the change history there as well.

For the chain sag, I’ll make a diagram to help clarify more. But in short, there are three components:

  1. cos(Chain1Angle)^2

This is including the factor that the angle the chain coming off the sprocket has on sag. If the chain is hanging vertically, for instance, then no sag would be observed.

  1. Chain1Straight^2

This factors in the chain length, after the sprocket. Longer chains will sag more.

  1. (tan(Chain2Angle) * cos(Chain1Angle)) + sin(Chain1Angle))^2

This one is a bit more complex, but what it’s doing is calculating the tension in the chain. Higher tensioned chains sag less than lower tensioned chains. Note that the tension of a chain actually depends on the angle of the other chain, which is why we see both chain 1 and chain 2 angles in here. Specifically, it is assumed that the horizontal force exerted by chain 1 and chain 2 have to cancel, so therefore cos(Chain1Angle)*Chain1Tension = cos(Chain2Angle)*Chain2Tension. Chain tension is also based on the sled weight factored for bed angle (sled weight * cos(bed angle from vertical)), with something like this: sin(Chain1Tension) = sled weight * cos(bed angle from vertical). The sled weight and cos(bed angle from vertical) are components that are moved into the chainSagCorrection value, hence they do not appear in the calculations.

I can draw it out more later as well!


Well, that would help greatly. Why are the components squared and then multiplied together?

This is actually much less scientific than you might think. I literally took this calculator and created a giant Excel spreadsheet to track how changes in tension and length affected the result, and found that they were squared and then multiplied. I then found another calculator which also included chain angle (I can’t find it this moment), and did a similar experiment there and found the same result for chain angle. Some preliminary math I found on the topic supported this idea, but I never dug into it that much. It seemed to somewhat accurately predict the observed chain sag, particularly in the lower corners, but there’s no guarantee that it’s correct.

That explains a lot. I had found that calculator as well when I was trying to figure out the formula. I feel better now :slight_smile:

So I don’t think the math is so easy. Given only lengths, you cannot determine the x,y coordinates because the lengths would be the same regardless of the amount the entire system is rotated.

This was touched on above but I’m not sure it was fully understood or answered. Let’s say I place the sled in the center of the frame. I lower it 12". There is a certain amount of chain sag. I then raise it back to the home position and the chains are tighter and have a different sag (fighting against gravity). I’ve seen this when turning a corner. One chain is along for the ride, then, when it suddenly is needed, the chain starts to pull. For a second the sled doesn’t move until the sag in the chain is pulled tight enough to start pulling.

Is this accounted for? Chain sag in both minimum “coasting” load vs maximum pulling load? This becomes much more extreme the more chain is fed out in the corners.

The only factors that are used in chain sag are the angles of the chain off the sprocket and the length of the chains. There’s no dynamics involved at all.

Do we not think this is contributing or important enough to look into? That sounds condescending but it’s not - just a question.

I just don’t know we could ever account for dynamics in the model. It just seems way too complex considering how hard it is to just figure out a static model.

1 Like

This is theoretically possible, but introduces a lot of complexity. It also will have an impact on user experience, as the amount of drag would depend on the exact material being cut. Meaning, you might need to recalibrate any time you move to a different material, or possibly even thickness.

I think there are improvements yet to be had in the static model. The easy solution I see to addressing this would first be to minimize friction between the sled and the work surface. That won’t fix everything, particularly acceleration-induced dynamics as you mention, but it’s a start at least.

1 Like

Would it be possible to look at an “average” situation (wood sled cutting plywood) and add those values? Would something here be better than nothing?