Issues using stall detection when loading filament



  • My loading macro is not detecting the stall at all. I am configuring the axis endstop wrongly I guess but I could not make it work.

    At config.g:

    ; Endstops
    M574 X1 Y1 S3 ; Set active high endstops and use sensorless homing
    M915 P0:1:3 S3 R0 ; set sensitivity to +3 unfiltered

    My load macro (ABS example)

    M291 P"Please wait while the nozzle is being heated up" R"Loading ABS" S0 T0 ; Display message
    G10 S240 ; Set current tool temperature to 220C
    M116 ; Wait for the temperatures to be reached
    M98 P/macros/SubMacros/beep.g ; Warning Beep that your filament is starting to retract!
    M291 P"Please insert filament and confirm..." R"Insert ABS" S3 T0 ; Display new message
    M291 P"Feeding filament..." R"Loading ABS" S0 T0 ; Display new message
    M98 P/macros/SubMacros/Filaments/loadBase.g

    The loadBase macro:

    M913 E30 ; set extruders 0 and 1 to 25% of their normal current
    M83 ; Select relative extruder motion
    G1 E-1 F1800 ; Retract 1mm of filament at 1800mm/min to ensure that it is not flagged as stalled.
    G1 E10 F600 ; Feed 10mm of filament at 600mm/min
    G1 S1 E680 F2000 ; Feed 680mm of filament at 3000mm/min until detects stall
    M913 E100 ; set extruders 0 and 1 to 100% of their normal current
    G1 E30 F300 ; Feed 30mm of filament at 300mm/min
    G4 P1000 ; Wait one second
    G1 E-4 F1800 ; Retract 4mm of filament at 1800mm/min
    M400 ; Wait for moves to complete
    M292 ; Hide the message
    G10 S0 ; Turn off the heater again

    Thanks!


  • administrators

    I will re-test extruder stall detection.



  • @dc42 Please, could I use the laser filament monitor to detect it instead?

    Then I could also use to detect finish of unloading!

    Thanks!


  • administrators

    I've just re-tested using stall detection for filament loading. The following works for me, using a Titan extruder with a 1.8deg 34mm long Nema 17 motor:

    M913 E50 ; reduce current to get a gentle stall
    M302 P1 ; allow cold extrusion
    M915 P3 H400 ; increase minimum speed for stall detection, to avoid stall detection during acceleration
    G1 S1 E500 F1500 ; feed the filament in, stop pon motor stall
    M302 P0 ; don't allow cold extrusion any more
    M913 E100 ; restore current to normal

    Loading filament using the filament monitor isn't supported yet, but I will add it to the wish list.



  • @dc42 I'll try it asap. Thank you very much.

    How about the configuration "M574 X1 Y1 S3 " using X, Y, and S3 is a correct way or should I call all driver channels with the S parameter like S0:1:3?


  • administrators

    @brunofporto said in Issues using stall detection when loading filament:

    @dc42 I'll try it asap. Thank you very much.

    How about the configuration "M574 X1 Y1 S3 " using X, Y, and S3 is a correct way or should I call all driver channels with the S parameter like S0:1:3?

    That command (M574 X1 Y1 S3) is correct, assuming that you want to set both X and Y to stall detection endstops. If you want different types of endstop on different axes, use multiple M574 commands.



  • @dc42 I mean, is that M574 correct to use the extruder with the stall detection for loading?

    I find the instructions for the E parameter kind of confusing for me. I do not know if it is talking about the use of the extruder's end stop inputs (E0 E1) or the that there is an end stop at the E axis.


  • administrators

    M574 does not take an E parameter. The only type of "endstop" that is supported for stopping G1 S1 E moves early is stall detection. So you just need to configure the stall detection parameters using M915.



  • @dc42 I is : (M574 X1 S3 ) Correct if I want to use an endstop switch. I dont wish to use sensorless I want to use my endstop switch with that being the case how should the below line in the homex.g file look?

    M574 X1 S3 ; set endstops to use motor stall


  • administrators

    @bfpa40 said in Issues using stall detection when loading filament:

    @dc42 I is : (M574 X1 S3 ) Correct if I want to use an endstop switch. I dont wish to use sensorless I want to use my endstop switch with that being the case how should the below line in the homex.g file look?

    M574 X1 S3 ; set endstops to use motor stall

    See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Movement_section and https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_Set_endstop_configuration.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.