Sensorless homing for Deltas

  • I looked to all documentation and discussions about sensorless homing and I didn't find any specific topic related to sensorless homing for delta printers. So I have a question:

    1. Does make sense to implement it on delta printer?

    If yes, than I would need some help to understand how it should be implemented.

    The documentation ( is from my opinion a little bit confused. In the Configuring Stall Detection the M915 command should be used, but in the "Testing it using Macro" there is no M915 command. So I assume that testing macro should be used for testing, before re-configuring the printer to use sensorless homing and stall detection.

    If my thinking is correct, the M915 command should go in the config.g and rest in homedelta.g?

    An example of config.g and homedelta.g would be helpfull.

    Thank you.

    PS: The RepRapFirmware configuration tool when selecting sensorless homing doesn't do anything. So the sensorless is not configured.

  • I have it on a delta but I'm away from home right now but I can supply sample homing file unless someone does it sooner. It works well. But you have to calibrate after homing everytime as the accuracy of endstop position is not repeatable enough to skip G32 before printing. I'd recommend a reliable accurate probe. (smart effector/piezo probe).

  • administrators says a little about sensorless homing on deltas. As a minimum, you should do 3-point auto calibration after homing, so allow for inaccuracies in the endstop position when using stall detection in place of real endstops.

  • Here's my homedelta you'll need to adjust the m915 S parameter to get it to stall with as little impact with whatever physical endstop you have (suggest replaceable printed blocks), but minimise false detects.

    M80					;PSU ON
    ; Homing file for RepRapFirmware on Large Kossel
    ; Sensorless Homing test file for RepRapFirmware on Kossel
    M915 X Y Z S2 F1 R0    ;set stall detect drives, S-threshold (-64 to 63), F1 filtered, R-log only
    M400					; make sure everything has stopped before we make changes
    M574 X2 Y2 Z2 S3			; set endstops to use motor stall
    M913 X30 Y30 Z30			; reduce motor current to 50% to prevent belts slipping
    G91					; use relative positioning
    G1 S1 X700 Y700 Z700 F2000		; move all carriages up 700mm, stopping at the endstops
    G1 Z-5 F2000				; down a few mm so that we can centre the head
    G90					; back to absolute positioning
    M400					; make sure everything has stopped before we reset the motor currents
    M913 X100 Y100 Z100			; motor currents back to normal
    G1 X0 Y0 F2000				; centre the head and set a reasonable feed rate
    ;M574 X2 Y2 Z2 S1			; set endstops back to normal so that homedelta.g works

  • Thank you. I will try following your instructions…

Log in to reply