Does the duet self-cancel prints?



  • Duet wifi 1.04 with 2.02RC4: If an axis stops for some reason (such as something jamming the stepper motor), does the duet board automatically cancel a running print?

    I have a known problem with a pulley gear on one of my delta towers that it sometimes decides to slide on the stepper motor shaft in to the motor - which causes the motor to not spin freely. (The gear set screws are tight, but it keeps happening. I have replacement parts already on order.)

    Anyway, when that happens during a print, the print usually fails (no surprise) and I see the following in the console log:

    Cancelled printing file 0:/gcodes/filename.gcode, print time was 5h 47m
    Error: G0/G1: insufficient axes homed

    I'm guessing that the duet is recognizing a problem with the stepper motor and stopping the print. Is that the case?

    If so, can the firmware please be updated to give more information to the console log? For example: "Error: Detected problem with stepper motor N, cancelling print."

    Thanks
    Gary


  • administrators

    Was there anything else in the log, such as a heater fault message?



  • @dc42 said in Does the duet self-cancel prints?:

    Was there anything else in the log, such as a heater fault message?

    Nothing at all in either the paneldue console or the DWC console.



  • (Please pardon my humo(u)r here)

    I'm fairly sure you'd be able to reproduce this on one of your delta's if you were to start a print and mid-way through grab one of the X, Y or Z stepper motor shafts with a pair of vice grips so it can't turn.

    (I'd suggest grabbing a belt instead, but it's easier/cheaper to replace the stepper motor and/or gear than it is to find good belts.)

    I can't predict the chain of events after that, but eventually the print cancels.
    Seriously, though, I can't think of a way to reproduce this without the potential of causing damage.

    Please don't take the question I asked the wrong way; I'm glad that the print gets canceled and I'd rather a cancel with no explanation than an error message and more damage. I was just kind of hoping that more information would be given (specifically on the paneldue console as that's always on while DWC may or may not be active at any given moment.)


  • administrators

    Do you have a M575 command in config.g, and of so, what parameters does it use? Around 2 years ago there were occasional reports of prints getting cancelled, which I tracked down to overrun in the UART receiving commands from PanelDue, causing RRF to think it had received the M0 command. To avoid that we introduced checksumming of commands received from PanelDue; but it can be overridden by M575.



  • @dc42 No M575.

    Considering that this has happened only twice, and both times I know that stepper motor on my Y tower was "stuck" (and the effector was sticking out in some strange angle as a result of the Y tower being stuck), I really feel like this is some excellent firmware safety mechanism and not a bug.

    I feel kind of foolish trying to convince you that your firmware is doing a Good Thing.


  • administrators

    Do you have any M915 stall detection settings in your config.g, and if so, what are they?



  • @dc42 No. Please forgive me for not just uploading my config files earlier. Since I last encountered the issue, I've made two changes to the config.g that are included here: The addition of the "pressure advance" (M572) setting, and I might have slightly tweaked the G31 Z height. Otherwise the files are the same:

    0_1544720144528_config.g

    1_1544720144528_config-override.g

    (Completely unrelated, but that M572 pressure advance thing is like magic. Thank you!)


  • administrators

    Please upgrade to 2.02RC6, also i suggest you enable logging if you haven't already (see M929) because events that cause a print to be cancelled are normally logged.



  • @dc42,

    While I've upgraded to RC6, I'm not going to be able to test this issue any longer. (At least I hope I don't have occassion to repeat it.)

    I've replaced the stepper motor, gear, and idler pulley on that tower.

    (Related: thank you for the awesome toothed idler pulley assembly in your precision kossel write-up. I used that instead of the non-adjustable smooth pulley that came with my ultibots D300VS+.)

    It does leave open the original question, however: Will the duet board cancel a print on it's own if it somehow detects that a stepper motor is "stuck", and if so can it display some kind of error or warning message to the (PanelDue) console?


  • administrators

    @garyd9 said in Does the duet self-cancel prints?:

    It does leave open the original question, however: Will the duet board cancel a print on it's own if it somehow detects that a stepper motor is "stuck", and if so can it display some kind of error or warning message to the (PanelDue) console?

    No. If you have stall detection enabled (see the M915 command) then you can configure it to pause on stall, or rehome on stall.

    OTOH a heater fault can cause a print to be cancelled.


Log in to reply