Use of 2 Endstops per axis as emergency stop



  • Hi,

    On my newly build Hypercube i have 2 endstops per axis which should act as emergency stop if something goes wrong.
    The lower endstop is also used for homing. The upper endstop is just for safety reasons.

    The upper endstop is working as expected using M581 with C0 parameter (Trigger every time).
    This is working fine in every situation now, since it should never be triggered in normal operation.

    My Problem is the lower endstop which is also used for homing.
    What i've done so far is do move e.g. the Y-Axis out of the endstop for 1mm and then set the Position with G92 Y0.

    When i now enable an external trigger for the lower endstop but with C1 parameter (only active when printing from SD-Card) i'm able to home the axis manually using DWC. But if the homing operation is called by the start G-Code the emergency stop is triggered during homing.

    Is there any option to suppress the trigger during a homing operation?

    Many thanks in advance.


  • administrators

    You could use M581 commands to disable/enable the trigger at the start/end of the homing file.

    In the longer term I think we need a GCode to enable emergency stop when any homing switch is triggered, except during execution of a homing file.



  • Thank you for your fast feedback.

    I've already had that idea but i've missed that there is the possibility to disable the triggers with M581 S-1. That's why i refused the idea.
    I'll try it today.

    +1 for the long term solution which will make things easier.



  • Did the configuration according your proposal and can verify it's working.

    For reference here are the relevant parts.

    config.g

    [[language]]
    M581 Y1:0 S1 T0 C0			 ; Emergency Stop everytime E1 (Y-Min) is triggered
    
    

    homey.g

    [[language]]
    M581 Y1:0 S-1 T0 C0; Disable Y-Min Emergency Stop
    G91               ; relative positioning
    G1 Z5 F6000       ; lift Z relative to current position
    G1 S1 Y-293 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000       ; go back a few mm
    G1 S1 Y-293 F360  ; move slowly to Y axis endstop once more (second pass)
    G1 Y1 F6000       ; move out of endstop by 1mm
    G92 Y0		  ; Set Y to 0
    G1 Z-5 F6000      ; lower Z again
    G90               ; absolute positioning
    M581 Y1:0 S1 T0 C0; Enable Y-Min Emergency Stop
    
    

Locked
 

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