Firmware motor stall detection during calibration
I have some non original stepper motors on my MK3 built. Everything works just fine, the axis move without any issues. I wrote some G-Code to move the axis around and let it run for hours with no issue.
But as soon as I start the calibration the motors stall on the z axis and humming only. If I am quick enough I can give the z read screws a little help with my fingers and it start to move, but then the z axis does still not move all way up to the top. But it "detects" this as upper limit and when it tries to continue with the calibration it fails because the z distance is too small.
I know that Prusa does not use end stop switches and detects the physical stop with the stall feature on the TMC2130 drivers. My guess is that the non standard motors on the z axis draw more current than the original ones. I am looking into the source of the Prusa firmware to find the spot to adjust the detection settings. But had no luck so far.
For example in Marlin there is a stall_value and HOMING_SENSITIVITY for each axis, but I cannot find something similar in the Prusa firmware.
Re: Firmware motor stall detection during calibration
Is it not these defines in Configuration_prusa.h?
#define TMC2130_SG_THRS_X 3 // stallguard sensitivity for X axis
#define TMC2130_SG_THRS_Y 3 // stallguard sensitivity for Y axis
#define TMC2130_SG_THRS_Z 4 // stallguard sensitivity for Z axis
#define TMC2130_SG_THRS_E 3 // stallguard sensitivity for E axis
RE: Firmware motor stall detection during calibration
I too have this question.
After using this printer for 7 months and using 20 kg of filament, I have come to believe the printer is too sensitive to STALL and HOMING SENSITIVITY
My evidence relates to the frequent phantom collision failures I seen on this forum and occasionally experience myself. I also believe these settings being set where they are also accounts for many of the failed axis length errors that are not related to physical contact issues.
If find it very interesting that the x and y axis stall limits are set so much lower than the Z axis limit. I know this true(at least I think I do), because sometimes it fails the X/Y axis length tests because of the need for more force(current), but when the calibration is off it will drive the print head into the built platform enough to deflect it it more then 5 mm.
Anyway, any chance that Prusa would be willing to decrease these sensitivity values or maybe expose the settings in the firmware so a more savvy builder could tune the machine as a way of minimizing calibration errors. Or maybe they did expose these values, and I haven't yet discovered the correct M-Code to make changes.
Answers/thoughts
RE: Firmware motor stall detection during calibration
I just put together a Prusa i3 MK3S with Drylin bearings, which tend to have a bit of drag initially. But the problem is when the extruder assembly is nicely tightened, they deform and increase the drag, enough for the calibration to fail. It would be great to be able to reduce the stall sensitivity for this purpose too.
Cheers
RE: Firmware motor stall detection during calibration
I just put together a Prusa i3 MK3S with Drylin bearings, which tend to have a bit of drag initially. But the problem is when the extruder assembly is nicely tightened, they deform and increase the drag, enough for the calibration to fail. It would be great to be able to reduce the stall sensitivity for this purpose too.
Cheers
This is for the moment exactlxy my issue! The Drylin have more drag and i can't finish self test, wich means the printer has no defined zero. So printing is not posible.
I try to increase the number to 4 on the x axis and report back if that helps.
RE: Firmware motor stall detection during calibration
ok i checked.
Setting #define TMC2130_SG_THRS_X 4 does not solve the Problem for me as there is to much resistance at the start of the movement.
I would need the parameter to say: Start force at the begin of a movement. But im not sure how this is done in the fw.
RE: Firmware motor stall detection during calibration
I opend a github issue. Please chime in with your infos: