Stallguard homing not that consistent, any tips?



  • Hi, I use the stall guard for homing and for crash detection, but it is not that consistent, I have one really fast pass and then one slower, but if the printer detects a crash during a print and rehomes I sometimes endup with a small layer shift, how can I improve the consistency? My homing files: 0_1544471370905_rehome.g 3_1544471355478_homez.g 2_1544471355478_homey.g 1_1544471355478_homex.g 0_1544471355477_homeall.g



  • Unless you go ultra slow, and control all of the variables, stall detection homing just isn't going to be that consistent. Even microswitch homing isn't perfectly consistent. I have resumed prints which have a noticeable layer shift after re-homing with endstops. There will always be a factor of repeatability.

    If you go to full steps (ie, disable microstepping) so that all movements result in a full step movement, you might get more consistent detection, at least if the movement limit is hard enough to force it to always stall on the same step. Of course if you do get any error, it will be by a factor of a full step. Of course if you do get an error (Assuming a 20 tooth GT2 gear) you'll be out by a multiple of 0.2mm, which is probably a complete fail, rather than a smaller increment, which you might or might not be able to tolerate.

    It should be possible to disable microstepping and change steps/mm when you lower current, then increase current, move to zero, and then re-enable microstepping, and restore the steps/mm.

    In general though stall detection homing usually means that there's some tolerance in your home position.



  • The first homing does not usually matter to me, but the rehome is what gives me problems, it is tolerable but not very pleasing



  • @patakopecek See this https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing

    In particular this quote..........

    "The stepper drivers only update the stall detection state every 1 or 4 full steps, depending on configuration. So the actual position of the stall is uncertain to either +/- half a full step or +/- 2 full steps. This means that when using stall detection to replace endstop switches, the position defined by the stall is much less accurate than with typical endstop switches."

    and this quote......

    "The stall detection threshold varies a little with motor temperature, therefore the motor temperatures must not be allowed to vary widely".


  • administrators

    Stall detection homing is at best reproducible to within +/- 1 full step. At 80 steps/mm that's 0.2mm, which would be a small but noticeable layer shift. I was surprised that Prusa chose to implement sensorless homing at the same time as rehome-after-stall and power panic.



  • Ok, and do you have any tips how to reproduce it with the 1 full step accuracy? I sometimes get even worse accuracy. Idc about it much, but it is anoying


  • administrators

    @patakopecek said in Stallguard homing not that consistent, any tips?:

    Ok, and do you have any tips how to reproduce it with the 1 full step accuracy? I sometimes get even worse accuracy. Idc about it much, but it is anoying

    • The point of stall needs to be well-defined, so there must be very little elasticity in the system at the point of stall. Also, the stall detection point should not vary appreciable with temperature. Both of these result in the following rule: at the stall homing point, the motor should be pulling the carriage (or bed) towards the motor, with only a short length of belt between the motor pulley and the point where the belt attaches to the carriage or the bed. A long section of belt may be too elastic, resulting in a soft stall, and the expansion of a long section will change the step at which the stall takes place.

    • Adjust the motor current so that the stall occurs without the motor applying too much force and perhaps making the belt jump a tooth.

    • At the lower motor current, you may need to reduce acceleration during homing, to avoid false stalls.


Log in to reply