Stall Guard

  • I am not able to get Stall Guard to detect anything at all after the print starts.

    I have tried many settings currently trying the below with no luck....
    M915 X Y S-60 R3 F1 H400

    I am using E3d motors currently set to 1000ma on the X and Y.

    Any ideas on what I could try would be great!

    One more thing. I am currently using stall guard for homing X and Y...


  • Moderator

    What are your steps per MM on X and Y? How fast are you printing when you try to stall it?

  • Steps per mm, is 160. Speed depends on the movement. I have it set to 100mms but its not going that fast because of the short moves on the current print. I don't remember the speed it was moving when I was testing this out. How fast should it go? I know it can't be slow, but not sure what speed slow is.


  • administrators

    The H400 parameter in your M915 means that stall detection is disabled below 400 full steps per second. Your steps/mm is 160, so assuming you have microstepping set to x16, that's 10 full steps/mm. Therefore stall detection will kick in above 400/10 = 40mm/sec.

  • @dc42

    I misunderstood what H was for. I thought it needed to match the steppers .9 degree.... I assumed it could be adjusted for finer calibration, but didn't know it was used like that. I will test this again shortly.


  • administrators

    @BlueDust, at low speeds stall detection gets less reliable and more sensitive to temperature. That's why the H parameter exists. You can try reducing it, but that may result in false stall warnings, especially when the motors get hot.

  • @dc42
    Right now I am still not getting anything to happen. It cannot detect any stalls. I can hold the belts so the carriage doesn't move and nothing happens. So if I can get it to be too sensitive and at least see something work, I would be seeing some progress.

    I am trying this right now.... I am just changing these settings live during a print a small amount at a time to see if it does anything. So far it runs the rehome.g file when I update the M915.
    M915 X Y S-10 F0 H200 R3

    But 10 minutes ago, I have this.
    M915 X Y S-10 F0 H100 R3

    Appears minimum speed the Duet is showing is 25mms, but going up to 100mms during this print.

    Is there any other config I can show you that would help troubleshoot this?
    M92 X160 Y160 Z800 E834.377
    M566 X500 Y500 Z2 E1000
    M201 X1000 Y1000 Z250 E2400
    M203 X9000 Y9000 Z800 E800
    M906 X1000 Y1000 Z1600 E1000 I30

    M574 X1 Y1 S3

  • @dc42
    I also wanted to add that when I hold the belts, they do not skip. The motors themselves are skipping/shaking.

    Also to compare it... This is my rehome file. Same any my homeall minus the Z axis, and it works.

    M913 Y60 X60             		; reduce motor current to 60% to prevent belts slipping
    M915 X Y S3 R0 F0 H400			; X sensitivity to 5, do nothing when stall, unfiltered
    G91                     ; relative positioning
    G1 Z5 F6000 S2          ; lift Z relative to current position
    G1 H1 Y-305 F5000       ; home Y axis
    G1 H1 X-305 F5000	; home X axis
    G1 X20 Y20 F6000  
    G1 H1 Y-305 F5000       ; home Y axis
    G1 H1 X-305 F5000	; home X axis
    G1 X1 Y1 F6000          ; go back a few mm
    G92 X0 Y0
    M913 Y100 X100      	; motor currents back to normal

  • I feel like there is something I am missing to actually enable the feature during a print.
    This doesn't do anything.

    M915 X Y S-64 F0 H0 R3

    Do I have to put the M915 in the config.g file, or can I run a script to enable it like I do with all of the homing config files? I ask because I am just sending the M915 command to the printer while testing this out. It is not in the config.g file. I feel like if it is in there, it will be overridden after I home the printer and become irrelevant. SO if I am just implementing this command in the wrong place, that is why it is not working.

  • Moderator

    I'm guess H0 isinvalid and it's using the default instead. Try H50? Possibly the same with F0? I don't have the wiki open on my phone ATM.

    I don't think there is anything wrong with sending it whenever you want. Nothing really needs to be in config.g.

  • @Phaedrux
    I am just more confused now...
    I have tried H50 already. I just went to the extreme with 0. I already use F0 for sensorless homing. It should just make it more sensitive at sharp movements and F1 should be used during normal printing.
    I am just trying to get it to work during a print and just trip once so I have some proof this feature works. It currently doesn't make any sense to me why it works for homing and I can't get it to work during a print. I must have some other setting enabled/disabled that is affecting it.

  • Moderator

    Is this on I duet wifi? Or maestro?

  • @Phaedrux

    Duet2 Ethernet

  • Moderator

    12v or 24v?

  • @Phaedrux

  • I don't know if this is actually relevant, but I also read that this Stall Guard may need some fine tuning pointing to this formula sheet.
    I filled it out best to my understanding, but do not know how to use it.


  • Moderator

    Do you have a link to that sheet?

  • Moderator

    Have you tried getting it to detect a stall on a pure diagonal move to isolate just a single motor?

  • @Phaedrux
    There is a link on the Sensorless homing wiki page that takes you to another page to talk about motors. This site has a link to download the calculation sheet I shared the screen shot of.

  • @Phaedrux
    I just printed a large print with long movements and held the belts still.

    I can try printing a large calibration cube and see what happens.

Log in to reply