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

    dual motor z axis bed leveling not probing by lead screws

    Scheduled Pinned Locked Moved
    Gcode meta commands
    3
    3
    139
    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.
    • Dlock34undefined
      Dlock34
      last edited by

      I think I have followed the guide to set up bed levelling using the independent Z motor guide. I can't seem to get the probe (BL Touch) to probe anywhere close to the lead screws nor can I get the probe to probe by each lead screw. I can get it to probe twice but it probes the same place. I am sure I am missing something somewhere any help would be great. Setup details below. The lead screws are on the right and left in the middle of the Y axis.

      Thank you all for your help and time.

      Hardware 6HC
      Kinematics Core XY 330x330x400

      Confi.g

      ; 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 Sat Mar 15 2025 15:53:22 GMT-0700 (Pacific Daylight Time)
      
      ; General
      G90                                                                 ; absolute coordinates
      M83                                                                 ; relative extruder moves
      M550 P"Duet 3D"                                                     ; set hostname
      
      ; Accessories
      M575 P1 S0 B57600                                                   ; configure PanelDue support
      
      ; Smart Drivers
      M569 P0.0 S1 D2                                                     ; driver 0.0 goes forwards (Z axis)
      M569 P0.1 S1 D2                                                     ; driver 0.1 goes forwards (extruder 0)
      M569 P0.2 S1 D2                                                     ; driver 0.2 goes forwards (extruder 1)
      M569 P0.3 S1 D2                                                     ; driver 0.3 goes forwards (z axis)
      M569 P0.4 S1 D2                                                     ; driver 0.4 goes forwards (X axis)
      M569 P0.5 S0 D2                                                     ; driver 0.5 goes backwards (Y axis)
      
      ; Motor Idle Current Reduction
      M906 I30                                                            ; set motor current idle factor
      M84 S30                                                             ; set motor current idle timeout
      
      ; Axes
      M584 X4 Y5 Z0.0:0.3 E3                                                ; set axis mapping 2 z motors 0 left motor 3 right motor
      M671 X45:320 Y155:155 S2                                             ; position of lead screw                                          
      M208 X-8:330 Y-14:330 Z0:390 'z0:390                    ; set minimum and maximum axis limits
      M350 X16 Y16 Z16 'z16 I1                                            ; configure microstepping with interpolation
      M906 X800 Y800 Z800 'z800                                           ; set axis driver currents
      M92 X80 Y80 Z400 'z400                                              ; configure steps per mm
      M566 X900 Y900 Z12 'z12                                             ; set maximum instantaneous speed changes (mm/min)
      M203 X6000 Y6000 Z180 'z180                                         ; set maximum speeds (mm/min)
      M201 X500 Y500 Z20 'z20                                             ; set accelerations (mm/s^2)
      
      ; Extruders
      M584 E0.1:0.2                                                       ; set extruder mapping
      M350 E16:16 I1                                                      ; configure microstepping with interpolation
      M906 E1000:1000                                                     ; set extruder driver currents
      M92 E407.25:420                                                     ; configure steps per mm
      M566 E120:120                                                       ; set maximum instantaneous speed changes (mm/min)
      M203 E3600:3600                                                     ; set maximum speeds (mm/min)
      M201 E250:250                                                       ; set accelerations (mm/s^2)
      
      ; Kinematics
      M669 K1                                                             ; configure CoreXY kinematics
      
      ; Probes
      M558 K0 P9 C"io5.in" H5 F120 T6000                                  ; configure BLTouch probe via slot #0
      G31 X-70 Y-70 Z5.25                                                 ; set Z probe trigger value, offset and trigger height
      M950 S0 C"io5.out"                                                  ; create servo #0 for BLtouch
      
      ; Endstops
      M574 X1 S1 P"!io3.in"                                               ; configure X axis endstop high end stop
      M574 Y1 S1 P"!io1.in"                                               ; configure Y axis endstop high end stop
      M574 Z1 S2                                                          ; configure Z axis endstop low end stop
      M574 'z1 S2                                                         ; configure z axis endstop
      
      ; Mesh Bed Compensation
      M557 X25:305 Y25:305 S40:40                                        ; 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"temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8     ; configure sensor #1
      
      ; Heaters
      M950 H0 C"out0" T0                                                  ; create heater #0
      M143 H0 P0 T0 C0 S140 A0                                            ; configure heater monitor #0 for heater #0
      M307 H0 R0.208 D3.93 E1.35 K0.231:0.000 B0 S1                       ; configure model of heater #0    M307 H0 R0.208 K0.231:0.000 D3.93 E1.35 S1.00 B0
      M950 H1 C"out1" T1                                                  ; create heater #1
      M143 H1 P0 T1 C0 S285 A0                                            ; configure heater monitor #0 for heater #1           
      M307 H1 R2.282 D8.60 E1.35 K0.430:0.256 B0 S1                       ; configure model of heater #1   M307 H1 R2.282 K0.430:0.256 D8.60 E1.35 S1.00 B0 V24.0
      
      ; Heated beds
      M140 P0 H0                                                          ; configure heated bed #0
      
      ; Fans
      M950 F0 C"out7"                                                     ; create fan #0
      M106 P0 C"Tool Fan" S0 L0 X1 B0.1                                   ; configure fan #0
      M950 F1 C"out8"                                                     ; create fan #1
      M106 P1 C"Part Fan" S0 B0.1 H1 T45                                  ; configure fan #1
      
      ; Tools
      M563 P0 S"Extruder 1" D0 H1 F0                                      ; create tool #0
      M568 P0 R0 S0                                                       ; set initial tool #0 active and standby temperatures to 0C
      M563 P1 S"Extruder 2" D1 H1 F0                                      ; create tool #1
      M568 P1 R0 S0                                                       ; set initial tool #1 active and standby temperatures to 0C
      
      M501
      

      BED.G

      ; bed.g
      ; called to level the bed
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Mar 15 2025 15:53:22 GMT-0700 (Pacific Daylight Time)
      
      
      M561
      
      G28 ; home
      while true
         G30 P0 X10 Y165 Z-99999 ; probe near a leadscrew, half way along Y axis
         G30 P1 X310 Y165 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
         if abs(move.calibration.initial.deviation) < 0.01 || iterations > 3
            break
      
      G29 ; call mesh bed compensation
      

      homeall.g

      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.10 on Tue Mar 25 2025 19:59:18 GMT-0700 (Pacific 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} F600 ; coarse home
      G1 H1 X{-var.xTravel} F600 ; coarse home in the -X direction
      G1 H1 Y{-var.yTravel} F600 ; coarse home in the -Y direction
      G1 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 ; probe the bed
      
      
      M98 P"home'z.g" ; home z axis
      

      M122

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 3 MB6HC version 3.5.4 (2024-11-24 10:47:10) running on Duet 3 MB6HC v1.02 or 1.02a (SBC mode)
      Board ID: 08DJM-9P63L-DJ3S0-7J9D8-3SN6P-TVMBA
      Used output buffers: 1 of 40 (33 max)
      === RTOS ===
      Static ram: 155464
      Dynamic ram: 90400 of which 4284 recycled
      Never used RAM 92916, free system stack 94 words
      Tasks: SBC(2,ready,0.8%,789) HEAT(3,nWait 6,0.0%,321) Move(4,nWait 6,0.0%,242) CanReceiv(6,nWait 1,0.0%,939) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,334) TMC(4,nWait 6,9.1%,55) MAIN(2,running,90.0%,101) IDLE(0,ready,0.0%,29), total 100.0%
      Owned mutexes: HTTP(MAIN)
      === Platform ===
      Last reset 00:40:01 ago, cause: software
      Last software reset at 2025-04-02 16:24, reason: User, Gcodes spinning, available RAM 92868, slot 1
      Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
      Error status: 0x00
      Aux0 errors 0,0,0
      MCU temperature: min 34.4, current 34.8, max 35.3
      Supply voltage: min 23.9, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
      12V rail voltage: min 12.0, current 12.2, max 12.5, under voltage events: 0
      Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/72/72, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min 0, mspos 872, reads 59248, writes 21 timeouts 0
      Driver 1: standstill, SG min n/a, mspos 8, reads 59253, writes 16 timeouts 0
      Driver 2: standstill, SG min n/a, mspos 8, reads 59253, writes 16 timeouts 0
      Driver 3: standstill, SG min 0, mspos 872, reads 59248, writes 21 timeouts 0
      Driver 4: standstill, SG min 0, mspos 120, reads 59248, writes 21 timeouts 0
      Driver 5: standstill, SG min 0, mspos 568, reads 59248, writes 21 timeouts 0
      Date/time: 2025-04-02 17:04:49
      Slowest loop: 25.81ms; fastest: 0.04ms
      === Storage ===
      Free file entries: 20
      SD card 0 not detected, interface speed: 37.5MBytes/sec
      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 125, segments created 3, maxWait 39528ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
      no step interrupt scheduled
      Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
      === DDARing 0 ===
      Scheduled moves 14, completed 14, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === DDARing 1 ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null, null
      HTTP* is doing "M122" in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger* is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      SBC is idle in state(s) 0
      Daemon is idle in state(s) 0
      Aux2 is idle in state(s) 0
      Autopause is idle in state(s) 0
      File2 is idle in state(s) 0
      Queue2 is idle in state(s) 0
      Q0 segments left 0, axes/extruders owned 0x0000007
      Code queue 0 is empty
      Q1 segments left 0, axes/extruders owned 0x0000000
      Code queue 1 is empty
      === CAN ===
      Messages queued 21589, received 0, lost 0, errs 11392382, boc 0
      Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 50 (min 50), ts 12010/0/0
      Tx timeouts 0,0,12009,0,0,9578 last cancelled message type 4514 dest 127
      === SBC interface ===
      Transfer state: 5, failed transfers: 0, checksum errors: 0
      RX/TX seq numbers: 27293/27293
      SPI underruns 0, overruns 0
      State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x24cfc
      Buffer RX/TX: 0/0-0, open files: 0
      === Duet Control Server ===
      Duet Control Server version 3.5.4 (2024-11-25 17:32:26, 64-bit)
      HTTP+Executed:
      > Executing M122
      Code buffer space: 4096
      Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
      Full transfers per second: 38.74, max time between full transfers: 53.7ms, max pin wait times: 36.3ms/5.0ms
      Codes per second: 0.16
      Maximum length of RX/TX data transfers: 4436/864
      

      homez.g

      ; homez.g
      ; called to home the Z axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.5.10 on Sat Mar 15 2025 15:53:23 GMT-0700 (Pacific 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 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 ; probe the bed
      

      I have also been getting this in the console after connecting with the DWC

      Endstop configuration:
      X: low end switch connected to pin !io3.in
      Y: low end switch connected to pin !(io1.in,serial1.rx)
      Z: low end Z probe
      
      fcwiltundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @Dlock34
        last edited by

        @Dlock34

        In you config file you have the left lead screw at X45 but you are probing at X10 - how is that possible?

        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 1
        • dc42undefined
          dc42 administrators @Dlock34
          last edited by

          @Dlock34 said in dual motor z axis bed leveling not probing by lead screws:

          M574 'z1 S2

          The DWC message is provoked by that line because there is no 'z axis.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA