Currently using Web Control with Holey calibration and I have begun the set up and calibration process. I am on the extend chains step.
I’ve noticed that after setting the sprockets to the 12 oclock position and extending chains, the sprocket teeth do not return to the 12 oclock position after the chains are extended. The are both off by 2 to 5 degrees. Are they supposed to stop at the 12 oclock position after the chains are extended?
I am using the the stock motors, gears and chains originaly shipped by Bar/Maslow.
I dont think they are supposed to be at the 12 oclock position after setting the chains and sprockets’. The purpose of setting the chains and sprockets is to send the chain out a specific length so the control board knows where the sled is.
They were supposed to as they were making a multiple of complete turns, and I remember someone more recently figured out how to correct it, not sure if the fix made its way in to newer code, I haven’t updated in a long time now, and so much has changed. Web Control seemed to know it was not exactly where it should have been, so it didn’t really matter. Didn’t hurt cuts any.
however with the more advanced calibration, it is not going to be exactly at
12 o’clock
This means that when you reset the chains and put them at 12 o’clock, you are
introducing error.
fixing this is going to require a fairly significant revamp of the internals.
Currently the firmware just tracks the length of chain fed out, adn has various
correction factors
what will need to happen is to track the gear position, and then calculate the
chain length from that (and as part of this, left and right chain lengths for
the 0,0 positions will probably differ, at least a little bit)
if one chain is 6.35mm per link and the other is 6.3501mm per link, they can’t
both extend to 1651mm with an integer number of tooth moves.
add in chain sag, which varies based on the amount of chain fed, and the tension
on the chain and it’s even uglier.
This is why I say that fixing this would require some deep changes in the
firmware.
IMHO, this would be
track position by encoder steps, not mm
1b. this requires a lot of conversion from mm to encoder position
add B commands that move by encoder steps (the current ones move by mm)
change the ‘home’/‘chain reset’ position to allow for different lengths of
chain on each side
change the initial ‘extend chains’ step in calibration to instead be
‘feed/retract 1 tooth from each side’ (with the option to just feed/retract 1
tooth from one side) repeatedly, even if this means that the resulting sled
position is not exactly in the center)
That makes sense. Gcode is in mm though, so it must be converted whether it is done at the chain or at the encoder. I guess my point is that the conversion location in firmware can be moved, but it still has to take place. It remains unclear to me if that conversion would be more accurate if it were moved.
Ok, so my takeaway here is that this is a known problem but everyone has this problem and apparently has had it from the very beginning. The root cause has been determined but implementing the fix is the next hurdle. In the meantime, it doesn’t appear to cause any noticeable accuracy issues possibly owing to a relatively sophisticated calibration routine. It does present a problem when resetting chains however.
The trick is that for positioning the ‘reset chains’ point, we want to
move/define the location in terms of encoder steps and then record the mm
position that this ends up in.
with the current system, we move in mm and don’t know where we will end up in
encoder steps (and therefor sprocket position)
I could be having tunnel vision here and be missing something, but at the very
least, the default 1651mm clain length will have to be broken up into separate
left and right chain lengths to ccount for differences in the chains
Ok this makes more sense. The makerverse calibration routine gets more attractive to me now because it addresses these or attempts to works around them. Does the cain length extension take into account that we use the second to the last pin on the chain to attach rather than the last one?