Triangular Calibration Review

long term, I think the better approach would be to support two (or more) sets of
calibration (or at least, chain sag) numbers. Then you don’t have to try and
match weights on different devices, just switch the component and go.

David, is it possible that I know an author by the same name as you?

Very possible, there is a David Lang who wrote a major ‘maker’ book, it’s not an
uncommon name.

The only things I’ve written are articles in ;login

I’ve done this, though I used pennies for the ballast, they’re denser. I rigged the pen holder in the center and arranged a spring to keep the pen tip against the surface when the ‘bit’ was lowered. I use 4 foot wide butcher paper taped to the surface with drafting tape. As you say, making cuts for calibration is a bit final :+1:t2:. Butcher paper is much cheaper than plywood.

I don’t know if this gives any insight?

Also this is from my groundcontrol.ini file:

[Computed Settings]
distperrot = 63.5
kpposmain = 1300
kpposz = 1300
kiposmain = 0
kiposz = 0
kdposmain = 34
kdposz = 34
propweightmain = 1
propweightz = 1
kpvmain = 5
kpvz = 5
kivmain = 0
kivz = 0
kdvmain = 0.28
kdvz = 0.28
chainoversprocketcomputed = 2
fpwmcomputed = 3
kinematicstypecomputed = 2

[Maslow Settings]
bedheight = 1219.2
openfile = C:\Users\shall\MakerCAM\date.nc
motoroffsety = 230
sledwidth = 310
zaxissafeheight = 1
bedwidth = 2438.4
comport = COM3
macro1_title = Macro 1
sledheight = 139
macro2 =
macro1 =
zaxis = 1
sledcg = 79
macro2_title = Macro 2
colorscheme = Light
zdistperrot = 3.17
motorspacingx = 2997.2

[Advanced Settings]
rotationradius = 140.0
zencodersteps = 7560.0
kiv = 0
gearteeth = 10
spindleautomate = 0
chainsagcorrection = 0
chainpitch = 6.35
maxfeedrate = 700
enablepospidvalues = 0
enablevpidvalues = 0
chainlength = 3360
chainoversprocket = Bottom
fpwm = 490Hz
kdpos = 34
encodersteps = 8113.73
truncate = 0
homex = 0.0
homey = 0.0
kinematicstype = Triangular
kipos = 0
kdv = 0.28
digits = 4
kppos = 1300
kpv = 5
propweight = 1
zaxisauto = 0

This looks like you did not go through the calibration

rotation radius is exactly 140.0 and chain sag value of 0

chain sag value of 0 will result in some errors (hard to say exactly how much)

David Lang

the error on each side will be the same when you are in the center (x=1), but
when you are in a corner, there is going to be a lot more sag on the long chain
than on the short one, so they two errors should not be the same.

now, I haven’t looked at the code to verify that it’s doing this correctly, but
that’s what is supposed to be happening. :slight_smile:

David Lang

Yeah, I figured out I was viewing it wrong. I guess the distances are all based from one motor (left I assume). It also appears to me that the error for cut 1 is used to make a correction to the height of the motor and the error for cut 2 is used to make a correction to the rotational radius. Not sure why it’s assigned that way, though. Was it arbitrary?