Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SetSprocketVertical Needs To Compensate for Chain Tolerance Additions #711

Open
madgrizzle opened this issue Apr 24, 2018 · 4 comments
Open

Comments

@madgrizzle
Copy link
Contributor

From forum:
[quote="Dustcloud, post:38, topic:3162"]
So I go to set the 12 o’clocks, and no problem with the Left, but the Right turns the opposite of the commands, and moves further than normal
[/quote]

If you are saying the right sprocket turns CW when you press CCW, I don't know why that happens. As for "moves further than normal", I suspect this is caused because the routines to set the tooth at 12 o'clock tell the motors to move a certain distance of chain. This is calculated based upon the number of teeth in the sprocket and the chain pitch. It appears that when the chain tolerance was added, this wasn't taken into account. Since setting the sprocket is independent of the length of chain, it appears that we need to back-out the chain tolerance from the set-teeth-vertical routine so that when the controller adds it back in, then it gets to where it needs to be.

I think this is a straightforward solution, but need to think about it.

@blurfl
Copy link
Collaborator

blurfl commented Apr 24, 2018

While we're looking at places affected by the chain pitch, the calibrateChainLengths() in System.cpp routine needs to ignore the chain pitch as well. It must extend 1650mm of chain and finish with a tooth at 12 o'clock.

@madgrizzle
Copy link
Contributor Author

and finish with a tooth at 12 o'clock.

Is this possible? 1650mm/6.35mm = 259.84252

@davidelang
Copy link
Contributor

davidelang commented Apr 25, 2018 via email

@blurfl
Copy link
Collaborator

blurfl commented Apr 25, 2018

What's far more important is to move an integer number of teeth.

That's the right idea. Having that number be proportional to any measurement of the frame defeats the benefit of using a universal value which allows using the 'manual chain' calibration regardless of changes to the frame. Once the king link is identified and marked, it should never change. That way, making changes to the frame like top/bottom feed or wider top bar won't invalidate the marked link.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants