• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

After Homing will not manual Move away from endstop

Scheduled Pinned Locked Moved
Duet Web Control
3
6
111
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    rodneysramosj
    last edited by 9 Apr 2025, 18:25

    thanks for all the help on the last post, however... we are running into an issue after successfully homing in which we cannot manually move away from the end stop only towards it. I will attach the home and config files we are currently using. thanks in advance. config.g homeall.g homex.g homey.g homez.g

    undefined undefined 4 Replies Last reply 9 Apr 2025, 20:47 Reply Quote 0
    • undefined
      fcwilt @rodneysramosj
      last edited by 9 Apr 2025, 20:47

      @rodneysramosj said in After Homing will not manual Move away from endstop:

      thanks for all the help on the last post, however... we are running into an issue after successfully homing in which we cannot manually move away from the end stop only towards it. I will attach the home and config files we are currently using. thanks in advance. config.g homeall.g homex.g homey.g homez.g

      In the future please post things like your *.G files using the </> tag.

      Posting links means we each have to download your files to look at them.

      Frederick

      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      1 Reply Last reply Reply Quote 0
      • undefined
        fcwilt @rodneysramosj
        last edited by 9 Apr 2025, 20:50

        @rodneysramosj

        ; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Feb 26 2025 14:22:18 GMT-0500 (Eastern Standard Time)
        ; General
        G90 ; absolute coordinates
        M83 ; relative extruder moves
        M550 P"Duet 3" ; set hostname
        ; Accessories
        M575 P1 S1 B57600 ; configure PanelDue support
        ; Network
        M551 P"Password1" ; set machine password
        M552 P192.168.1.20 S1 ; configure Ethernet adapter
        M553 P255.255.255.0 ; set netmask
        M554 P192.168.1.254 ; set gateway
        M586 P0 S1 ; configure HTTP
        ; Wait a moment for the CAN expansion boards to become available
        G4 S2
        ; Smart Drivers
        M569 P0.0 S0 D2 ; driver 0.0 goes forwards (X axis)
        M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
        M569 P0.2 S0 D2 ; driver 0.2 goes forwards (Z axis)
        M569 P0.3 S1 D2 ; driver 0.3 goes forwards (extruder 0)
        ; Motor Idle Current Reduction
        M906 I30 ; set motor current idle factor
        M84 S30 ; set motor current idle timeout
        ; Axes
        M584 X0.0 Y0.1 Z0.2 ; set axis mapping
        M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
        M906 X2800 Y2800 Z6000 ; set axis driver currents
        M92 X53.33 Y53.33 Z400 ; configure steps per mm
        M208 X0:1160 Y0:610 Z0:1320 ; set minimum and maximum axis limits
        M566 X3000 Y3000 Z60 ; set maximum instantaneous speed changes (mm/min)
        M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min)
        M201 X500 Y500 Z20 ; set accelerations (mm/s^2)
        ; Extruders
        M584 E0.3 ; set extruder mapping
        M350 E16 I1 ; configure microstepping with interpolation
        M906 E450 ; set extruder driver currents
        M92 E2682 ; configure steps per mm
        M566 E120 ; set maximum instantaneous speed changes (mm/min)
        M203 E3600 ; set maximum speeds (mm/min)
        M201 E250 ; set accelerations (mm/s^2)
        ; Probes
        ; Kinematics
        M669 K0 ; configure Cartesian kinematics
        ; Endstops
        M574 X1 P"!io3.in" S1 ; configure X axis endstop
        M574 Y1 P"!io1.in" S1 ; configure Y axis endstop
        M574 Z1 P"!io5.in" S1 ; configure Z axis endstop
        ; Sensors
        M308 S0 P"temp0" Y"thermistor" A"Heated Bed Set 0" T200000 B3950 C6.370029e-8 ; configure sensor #0
        M308 S1 P"temp1" Y"thermistor" A"Heated Bed Set 1" T200000 B3950 C6.370029e-8 ; configure sensor #1
        M308 S2 P"temp2" Y"thermistor" A"Roto Internal Temp" T100000 B4267 C7.046861e-8 ; configure sensor #2
        M308 S3 P"121.temp0" Y"thermistor" A"Roto Extruder Temp" T100000 B4267 C7.046861e-8 ; configure sensor #3
        ; Heaters
        M950 H0 C"out1" T0 ; create heater #0
        M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0
        M307 H0 R0.43 D5.5 E1.35 K0.56 B1 ; configure model of heater #0
        M950 H1 C"121.out0" T3 ; create heater #1
        M143 H1 P0 T3 C0 S300 A0 ; configure heater monitor #0 for heater #1
        M307 H1 R0.43 D5.5 E1.35 K0.56 B0 ; configure model of heater #1
        M950 H2 C"out2" T1 ; create heater #2
        M143 H2 P0 T1 C0 S120 A0 ; configure heater monitor #0 for heater #2
        M307 H2 R0.43 D5.5 E1.35 K0.56 B1 ; configure model of heater #2
        ; Heated beds
        M140 P0 H0 ; configure heated bed #0
        M140 P2 H2 ; configure heated bed #2
        ; Tools
        M563 P0 S"Roto Toolboard" D0 H1 F0 ; create tool #0
        M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
        ; Fans
        M950 F0 C"out0+out5.tach" ; create fan #0
        M106 P0 C"Roto Fan" S0 B10 H2 T60:59 ; configure fan #0
        ; Miscellaneous
        T0 ; select first tool
        ; Custom settings
        ;E-Stop
        M950 J4 C"!^io4.in"
        M581 P4 S0 T0 R0
        ; homeall.g
        ; called to home all axes
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Mar 19 2025 10:03:37 GMT-0400 (Eastern Daylight Time)
        ; increase Z
        G91 ; relative positioning
        G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed
        G90 ; absolute positioning
        ; home XY
        var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm
        var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
        G91 ; relative positioning
        G1 H1 X{-var.xTravel} Y{-var.yTravel} F1200 ; coarse home in the -X and -Y directions
        G1 H2 X5 Y5 F6000 ; move back 5mm
        G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home in the -X and -Y directions
        G90 ; absolute positioning
        ; home Z
        var zTravel = move.axes[2].max - move.axes[2].min + 5 ; calculate how far Z can travel plus 5mm
        G91 ; relative positioning
        G1 H1 Z{-var.zTravel} F1200 ; coarse home in the -Z direction
        G1 H2 Z5 F6000 ; move back 5mm
        G1 H1 Z-10 F300 ; fine home in the -Z direction
        G90 ; absolute positioning
        ; homex.g
        ; called to home the X axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Mar 19 2025 10:03:37 GMT-0400 (Eastern Daylight Time)
        ; increase Z
        ;G91 ; relative positioning
        ;G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
        ;G90 ; absolute positioning
        ; homex_final_v2.g
        ; Robust X homing with dual-phase endstop checks and final retraction
        G91 ; relative positioning
        var maxTravel = move.axes[0].max - move.axes[0].min + 5
        ; Coarse homing
        G1 H1 X{var.maxTravel} F1200 ; move toward X endstop
        M400
        G4 P300 ; debounce delay
        ; Check and retract
        if sensors.endstops[0].triggered
        echo "X endstop triggered (coarse), retracting..."
        M564 H0 S0 ; allow movement even with endstop triggered
        G1 X-5 F600 ; retract 5mm
        M400
        G4 P200
        ; Fine homing
        G1 H1 X10 F300 ; slow move toward switch (~10mm)
        M400
        G4 P200
        if sensors.endstops[0].triggered
        echo "X endstop triggered (fine), final retract..."
        G1 X-2 F600 ; final retract to move off switch
        M400
        else
        echo "X endstop NOT triggered after fine approach"
        M564 H1 S1 ; restore normal limits
        else
        echo "X endstop NOT triggered after coarse move"
        G90 ; back to absolute positioning
        ; decrease Z again
        ;G91 ; relative positioning
        ;G1 H2 Z-5 F6000 ; move Z relative to current position
        ;G90 ; absolute positioning
        ; homey.g
        ; called to home the Y axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Mar 19 2025 10:03:37 GMT-0400 (Eastern Daylight Time)
        ; increase Z
        ;G91 ; relative positioning
        ;G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed
        ;G90 ; absolute positioning
        ; home Y
        ;G91 ; relative positioning
        ;var maxTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm
        ;G1 H1 Y{var.maxTravel} F1200 ; coarse home in the -Y direction
        ;G4 P500
        ;G1 Y5 F6000 ; move back 5mm
        ;G1 H1 Y{var.maxTravel} F300 ; fine home in the -Y direction
        ;M400
        ;G90 ; absolute positioning
        ; decrease Z again
        ;G91 ; relative positioning
        ;G1 H2 Z-5 F6000 ; move Z relative to current position
        ;G90 ; absolute positioning
        G91 ; relative positioning
        var maxTravel = move.axes[1].max - move.axes[1].min + 5
        ; Coarse homing
        G1 H1 Y{var.maxTravel} F1200 ; move toward X endstop
        M400
        G4 P300 ; debounce delay
        ; Check and retract
        if sensors.endstops[1].triggered
        echo "Y endstop triggered (coarse), retracting..."
        M564 H0 S0 ; allow movement even with endstop triggered
        G1 Y-5 F600 ; retract 5mm
        M400
        G4 P200
        ; Fine homing
        G1 H1 Y10 F300 ; slow move toward switch (~10mm)
        M400
        G4 P200
        if sensors.endstops[1].triggered
        echo "Y endstop triggered (fine), final retract..."
        G1 Y-2 F600 ; final retract to move off switch
        M400
        else
        echo "Y endstop NOT triggered after fine approach"
        M564 H1 S1 ; restore normal limits
        else
        echo "Y endstop NOT triggered after coarse move"
        G90 ; back to absolute positioning
        ; homez.g
        ; called to home the Z axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.10 on Wed Mar 19 2025 10:03:37 GMT-0400 (Eastern Daylight Time)
        ; home Z
        ;G91 ; relative positioning
        ;var maxTravel = move.axes[2].max - move.axes[2].min + 5 ; calculate how far Z can travel plus 5mm
        ;G1 H1 Z{var.maxTravel} F1200 ; coarse home in the -Z direction
        ;G1 Z-5 F6000 ; move back 5mm
        ;G1 H1 Z{var.maxTravel} F300 ; fine home in the -Z direction
        ;G90 ; absolute positioning
        G91 ; relative positioning
        var maxTravel = move.axes[2].max - move.axes[2].min + 5
        ; Coarse homing
        G1 H1 Z{var.maxTravel} F1200 ; move toward X endstop
        M400
        G4 P300 ; debounce delay
        ; Check and retract
        if sensors.endstops[2].triggered
        echo "Z endstop triggered (coarse), retracting..."
        M564 H0 S0 ; allow movement even with endstop triggered
        G1 Z-5 F600 ; retract 5mm
        M400
        G4 P200
        ; Fine homing
        G1 H1 Z10 F300 ; slow move toward switch (~10mm)
        M400
        G4 P200
        if sensors.endstops[2].triggered
        echo "Z endstop triggered (fine), final retract..."
        G1 Z-2 F600 ; final retract to move off switch
        M400
        else
        echo "Z endstop NOT triggered after fine approach"
        M564 H1 S1 ; restore normal limits
        else
        echo "Z endstop NOT triggered after coarse move"
        G90 ; back to absolute positioning

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • undefined
          fcwilt @rodneysramosj
          last edited by fcwilt 4 Sept 2025, 21:28 9 Apr 2025, 20:54

          @rodneysramosj

          Having posted your files and looked at them I will suggest your homing code is needlessly complicated.

          Three simple G1 moves (G1 H1, G1, G1 H1) should work just fine.

          What is your reasoning for the complicated code you have created?

          Thanks.

          Frederick

          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

          1 Reply Last reply Reply Quote 0
          • undefined
            Phaedrux Moderator @rodneysramosj
            last edited by 10 Apr 2025, 00:53

            @rodneysramosj said in After Homing will not manual Move away from endstop:

            we cannot manually move away from the end stop only towards it

            It sounds like your end stops and/or your axis directions may be misconfigured. I'm guessing it's hitting the endstop and it's thinking it's at the min, when it's actually at the max, or vice versa.

            1. Decide where you want X0 Y0 to be. Popular choices are the front left corner of the bed, or the centre of the bed.
            2. Decide which direction you want to be positive X and which direction should be positive Y. Usually positive X is to the right and positive Y is away from you. Other directions are possible but be sure to choose a right hand coordinate system. Keep it simple -X should move left, +X should move right, -Y should move to the nozzle to the front of the bed, +Y to the back.
            3. Adjust the motor directions in config.g to get positive X and Y movements in the desired direction.
            4. Establish whether your endstop switches are high end (at axis maximum) or low end (at axis minimum) and configure the endstops accordingly in the M574 commands in config.g.
            5. Now in your homing files the homing moves should move towards the endstop.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 10 Apr 2025, 00:56

              I see you already have a thread started here. Please keep it limited to one thread per issue.

              https://forum.duet3d.com/topic/37842/printer-not-hitting-any-of-the-endstops

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • undefined Phaedrux locked this topic 10 Apr 2025, 00:56
              6 out of 6
              • First post
                6/6
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA