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

    Trouble homing Z with probe

    Scheduled Pinned Locked Moved Solved
    General Discussion
    2
    3
    103
    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.
    • oozzooundefined
      oozzoo
      last edited by oozzoo

      i am currently setting up my core xy printer and got stuck at getting it to home all Axis correctly.
      i am using an Duet 3 mini5+ with an toolboard 1lc V1.1 over wich the probe (BL-touch) is connected.

      when performing an G28 (home all) X and Y hone as they should.
      for the Z home, the probe should move to the bed center, and do 2 probing runs (wich it does, and it also sets the Z value in the status tab in DWC).

      the problem is, that the Z axis is marked as Not homed after. the reported error message beeing:
      "Stopped at height 3.467mm
      ERROR: Failed to home axis Z".

      the Config.g is:
      ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Thu Feb 15 2024 19:51:18 GMT+0100 (Mitteleuropäische Normalzeit)
      ; General
      M550 P"Duet 3" ; set hostname
      ; Network
      M552 S1 ; configure WiFi adapter
      M586 P0 S1 ; configure HTTP
      ; Wait a moment for the CAN expansion boards to become available
      G4 S2
      ; Accelerometers
      M955 P121.0 I5 ; configure accelerometer on board #121
      ; Smart Drivers
      M569 P0.0 S1 D2 ; driver 0.0 goes forwards (Z axis)
      M569 P0.5 S1 D3 V2000 ; driver 0.5 goes forwards (X axis)
      M569 P0.6 S1 D3 V2000 ; driver 0.6 goes forwards (Y axis)
      M569 P121.0 S1 D2 ; driver 121.0 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.5 Y0.6 Z0.0 ; set axis mapping
      M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
      M906 X800 Y800 Z1600 ; set axis driver currents
      M92 X80 Y80 Z800 ; configure steps per mm
      M208 X0:200 Y0:200 Z0:150 ; set minimum and maximum axis limits
      M566 X600 Y600 Z12 ; set maximum instantaneous speed changes (mm/min)
      M203 X12000 Y12000 Z180 ; set maximum speeds (mm/min)
      M201 X6000 Y6000 Z20 ; set accelerations (mm/s^2)
      ; Extruders
      M584 E121.0 ; set extruder mapping
      M350 E16 I1 ; configure microstepping with interpolation
      M906 E350 ; set extruder driver currents
      M92 E420 ; 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)
      ; Kinematics
      M669 K1 ; configure CoreXY kinematics
      ; Probes
      M558 K0 P9 C"121.io0.in" H5 F240:120 T6000 ; configure BLTouch probe via slot #0
      G31 P1000 X-30 Y0 Z-3.84 ; set Z probe trigger value, offset and trigger height
      M950 S0 C"121.io0.out" ; create servo #0 for BLtouch
      ; Endstops
      M574 X0 P"!121.io1.in" S1 ; configure X axis endstop
      M574 Y0 P"!io6.in" S1 ; configure Y axis endstop
      ; Mesh Bed Compensation
      M557 X30:170 Y30:170 S28:28 ; define grid for mesh bed compensation
      ; Sensors
      M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0
      M308 S1 P"121.temp0" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1
      ; Heaters
      M950 H0 C"out0" Q10 T0 ; create heater #0
      M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0
      M307 H0 R0.498 K0.392:0.000 D2.98 E1.35 S1.00 B0 ; configure model of heater #0
      M950 H1 C"121.out0" T1 ; create heater #1
      M143 H1 P0 T1 C0 S285 A0 ; configure heater monitor #0 for heater #1
      M307 H1 R2.041 K0.236:0.000 D7.58 E1.35 S1.00 B0; configure model of heater #1
      ; Heated beds
      M140 P0 H0 ; configure heated bed #0
      ; Fans
      M950 F0 C"121.out1" ; create fan #0
      M106 P0 S0 L0.0 X1.0 B0.2 ; configure fan #0
      ; Tools
      M563 P0 D0 H1 F0 ; create tool #0
      M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
      ; Miscellaneous
      T0 ; select first tool

      the homeall.g:
      homeall.g:
      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.2+6 on Thu Feb 15 2024 19:51:19 GMT+0100 (Mitteleuropäische Normalzeit)
      ; lift 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} F600 ; coarse home
      G1 H1 X{-var.xTravel} F1000 ; coarse home in the -X direction
      G1 H1 Y{-var.yTravel} F1000 ; coarse home in the -Y direction
      G1 H2 X5 Y5 F6000 ; move back 5mm
      G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home
      G1 H1 X{-var.xTravel} F300 ; fine home in the -X direction
      G1 H1 Y{-var.yTravel} F300 ; fine home in the -Y direction
      G90 ; absolute positioning
      ; home Z
      var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0]
      var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1]
      G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre
      G30 S-1; probe the bed

      gloomyandyundefined 1 Reply Last reply Reply Quote 0
      • gloomyandyundefined
        gloomyandy @oozzoo
        last edited by

        @oozzoo Don't use G30 S-1, use just G30 (with no options). G30 S-1 just reports the Z position, it does not set the Z=0 position. From the docs:

        G30 without a P parameter
        
        This probes the bed starting at the current height. Depending on the value of the S parameter (0, -1, -2 or -3) it can be used to home the Z axis, to measure the Z probe trigger height, to adjust the Z offset of the current tool, or to adjust the Z probe trigger height.
        
        G30, G30 S0 or G30 S-4 or lower are just normal probes. When the probe is triggered, sets the Z coordinate to the probe trigger height.
        G30 S-1 probes and reports the Z value when the probe triggers.
        G30 S-2 probes and adjusts the tool Z offset to make the actual stop height match the configured value. A tool must be selected first when using G30 S-2.
        G30 S-3 probes and adjusts the probe trigger height to match the actual stop height.
        
        oozzooundefined 1 Reply Last reply Reply Quote 2
        • oozzooundefined
          oozzoo @gloomyandy
          last edited by

          @gloomyandy Thanks! that was it, it works now.
          kind of happy but ashamed that all it was was an S-1 too much.

          1 Reply Last reply Reply Quote 1
          • droftartsundefined droftarts marked this topic as a question
          • droftartsundefined droftarts has marked this topic as solved
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA