I’m recalibrating due to a chain skip and I went ahead and measured the distance betwen motors with measuring tape while maslow measured using the chain length (so the chain was under tension). I measured 2905 mm using my tape measurer and maslow measured 2888.6 mm. This seems like a huge difference (I did this step twice and got the same difference. In order for maslow to measure the same as I did with my tape measurer, the chain pitch needs to be 6.386 mm, not 6.35 mm.
So, are we really confident the chain pitch is really 6.35 mm?
So the default is wrong? 6.35 is hardcoded in measureMachinePopup.py. It’s hard to imagine that everyone’s autocal measurements have been off by this… am I missing something?
And then, wouldn’t setting it to 6.25mm result in even a smaller distance of ~2843mm? That’s even further off from 2905mm
Please forgive me, I’ve got it backwards . PR#469 corrected that value from 6.25 to 6.35. 6.35mm is the correct conversion from 0.25inches. The current version of measureMachinePopup.py is correct.
This seems like a recurring thing that pops up often. I don’t have a good answer, but I think it’s important that we find out what is going on. It weirds me out not knowing the answer.
I’ve been trying to follow the code on how the measurement is done and it’s not really simple… Looks to me that there is a B10 command that’s issued and the firmware does something with that… and that’s where I get a bit lost… still chugging along at it
And I’m using the latest software (GC 0.99 but firmware 1.00) Is that a problem?
Could it possibly be that feeding out 1000mm of chain doesn’t really feed out 1000mm because of rounding issues. If I read the code right, the stepSizeMM is 1.33333333… if this gets rounded out or something and its magnified by 750 or so steps, perhaps it can lead to accuracy issues?
If I measure out 1000mm… I should have 157.4803 links … which would put one end of a link pretty much at 12 o’clock because the zero link is attached straddling the zero tooth. Will try I guess…
Take a look at “B09” in CNC_Functions.h. It is a code that GC can send to move the chain.
‘B09 L100.0’ would move the left chain 100mm. You could set one of your macros to ‘B09 L100.0’ and then measure the amount of chain that payed out.
Also interesting is the “B10” which should return the value of chain position that the firmware has recorded. Combining these, perhaps “B10\nB09 L100.0\nB10” would be interesting. Then trying with various values of Lxxx.yy and Rxxx.yy…
That sounds right to me. Note, you may need to do a chain calibration after you’re done shifting the chain like that. I don’t think you will, but thought I should mention it that will be 25" of chain (I’m too impatient to count links )
Maybe it was trying to go to -635mm chain length (absolute versus relative). So I redid it but with L0 and all it did was extend the chain a few links and stopped… I’m getting error messages about not being able to find position… so it could be so far out of cal that its having issues.