Welcome! Log In Create A New Profile

Advanced

Can stall detection at stepper driver level be used to account for backlash in a geared system?

Posted by realthor 
Hi there, quick question here. The cheap way to provide precise movements via imprecise mechanical components is to leverage software and/or in-chip features like the StallGuard of the Trinamic stepper drivers (and others with similar features). I believe it is feasible to record in software the backlash of a geared system by measuring the rotation of the motor without any load until it hits the resistance of the engaged gear. This would be a better way than just inputting a fixed backlash value that would be accounted for at rotation reversal.

Am I totally off-track here?


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
StallGuard can only detect motor stalls over a distance somewhat greater than one full step. I would expect any reasonable amount of backlash to be much less than that.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Hmm, that's a pity. But it would be nice to have that feature in the motor drivers, so that they can let the firmware know when resistance was detected (tooth-on-tooth contact), so that the firmware only calculates distances based on that point onwards, basically neglecting the backlash. Otherwise backlash-free operation is difficult to achieve and only some sort of real position of the effector feedback loop might help with that.


RepRap Lander concept on Concept Forge
RepRap Lander concept on RepRap Forums
My Things, mostly experimental stuff
Quote
realthor
Hmm, that's a pity. But it would be nice to have that feature in the motor drivers, so that they can let the firmware know when resistance was detected (tooth-on-tooth contact), so that the firmware only calculates distances based on that point onwards, basically neglecting the backlash.
You would have to purposely lock the stage to measure backlash by stalling the motor, the motor will not stall in ordinary use. Note that the system you describe will be less accurate than the naive one beacuse it accumulates error.

Quote
realthor
Only some sort of real position of the effector feedback loop might help with that.

Backlash is a mechanical problem and cannot be compensated in software even if you have linear scales on the axes. The transition will always leave some kind of surface finish detect because the axis becomes uncontrolled for a moment every direction change.

Backlash is not a constant and will vary depending on axis position, load, and sometimes even temperature. It is almost always smarter and cheaper to build a robust mechanical system in the first place.

You cannot fix sloppy builds in software - it just doesn't work when the system of low quality, everything is noisy and nonlinear. Even if you get it working, parts will wear and get loose and you have to spend another four hours tuning after two days of use.

Just spend your time and money building the printer properly to begin with.
Sorry, only registered users may post in this forum.

Click here to login