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

Z axis Not Moving for Mesh Compensation

Scheduled Pinned Locked Moved
General Discussion
2
16
445
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
    SonnyD1
    last edited by SonnyD1 24 Aug 2024, 16:06

    Hello everyone! 🖐 I have a highly modified Lulzbot Workhorse (2x Belt Z). The MB is a Duet 3 mini 5 running 3.5.0. Other than the issue at hand, the printer functions perfectly and is proving to be a reliable workhorse, thanks to the help of this group. That said, My Z axis stepper motors do not move for mesh compensation during a print, at all. I have read through all the documentation as well as several posts in an attempt to solve the issue on my own. I just cant seem to figure it out. All things point back to it working properly but there is no Z axis movement at all. I will include everything pertinent to this dilemma and more than likely one of you great people will come in and make me look like a schmuck as usual. But that's ok. I can handle it and I'm getting better, hehe😀 .

    My Config:

    ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time)
    ; General
    G90 ; absolute coordinates
    M83 ; relative extruder moves
    M550 P"Lulzbot Workhorse" ; set hostname
    ; Accessories
    M575 P1 S0 B57600 ; configure PanelDue support
    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; configure HTTP
    M586 P1 S1 ; configure FTP
    M586 P2 S0 ; disable Telnet
    ; Expansion Board
    G4 S2 ; Wait a moment for the CAN expansion boards to become available
    ; Accelerometers
    M955 P121.0 I24 ; configure accelerometer on board #121
    ; Kinematics
    M669 K0 ; configure Cartesian Kinematics
    ; Smart Drivers
    M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
    M569 P0.2 S0 D2 ; driver 0.2 goes forwards (X axis)
    M569 P0.3 S0 D2 ; driver 0.3 goes forwards (LEFT Z axis)
    M569 P0.4 S1 D2 ; driver 0.4 goes backwards (RIGHT z axis)
    M569 P121.0 S0 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.2 Y0.1 Z0.3:0.4 ; set axis mapping
    M671 X380:-130 Y150:150 S5 ; position of leadscrew/bed pivot point at left and right of X axis
    M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
    M906 X1200 Y1200 Z800 ; set axis driver currents
    M92 X100 Y100 Z500 ; configure steps per mm
    M208 X-42:309 Y-10:320 Z-2:290 ; set minimum and maximum axis limits
    M205 X8 Y8 Z1 ; set maximum instantaneous speed changes (mm/sec)
    M203 X9000 Y9000 Z600 ; set maximum speeds (mm/min)
    M201 X1000 Y1000 Z100 ; set maximum accelerations for XYZ axis(mm/sec)
    M204 P1000 T2000 ; set accelerations for print moves and travel moves
    ; Extruders
    M584 E121.0 ; set extruder mapping
    M350 E16 I1 ; configure microstepping with interpolation
    M906 E900 ; set extruder driver currents
    M92 E393 ; configure steps per mm
    M566 E120 ; set maximum instantaneous speed changes (mm/min)
    M203 E3600 ; set maximum speeds (mm/min)
    M201 E2000 ; set maximium accelerations for extruder(mm/s^2)
    ; BLTouch
    M558 K0 P9 C"121.io0.in" H5 F600:120 T6000 ; configure BLTouch probe via slot #0
    G31 P500 X49.7 Y-19.3 Z2.82 ; set Z probe location, trigger value, offset and trigger height. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used.
    M950 S0 C"121.io0.out" ; create servo #0 for BLtouch
    M376 H10 ; taper off bed compensation over 10mm
    ; Endstops l
    M574 X1 P"io1.in" S1 ; configure X axis endstop
    M574 Y1 P"io2.in" S1 ; configure Y axis endstop
    M574 Z1 S2 ; configure Z axis endstop
    ; Filament Runout
    M591 D0 P1 C"io6.in" S2 ; configure filament monitor (simple switch) for E0
    ; Mesh Bed Compensation
    M557 X25:275 Y25:275 P5:5 ; define grid for mesh bed compensation
    ; Temperature 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"Hot End" T100000 B4725 C7.06e-8 ; configure sensor #1
    ; Heaters
    M950 H0 C"out1" T0 ; create bed heater #0
    M140 P0 H0 ; configure heated bed #0
    M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for bed heater #0
    M307 H0 R0.321 K0.450:0.000 D1.20 E1.35 S1.00 B0 ; configure model of heater #0
    M950 H1 C"121.out0" T1 ; create hotend heater #1
    M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for hotend heater #1
    M307 H1 R3.832 K0.446:0.329 D2.21 E1.35 S1.00 B0 V24.1 ; configure model of hotend heater #1
    ; Fans
    M950 F0 C"121.out2" ; create fan #0
    M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0
    M950 F1 C"121.out1" Q250 ; create fan #1
    M106 P1 C"Part Cooling Fan" S0 B0.1 L35 X250 ; configure fan #1
    ; Tools
    M563 P0 S"Tool 0" D0 H1 F1 ; create tool #0
    M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
    ; Miscellaneous
    M593 P"zvdd" F40.0 ; use ZVDD input shaping to cancel ringing at 40.0Hz
    M572 D0 S0.034 ; set pressure advance for T0
    T0

    M122 While Printing:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode)
    Board ID: K4V3J-AP6KL-K65J0-409NG-2012Z-7P0WG
    Used output buffers: 15 of 40 (32 max)
    === RTOS ===
    Static ram: 103368
    Dynamic ram: 121856 of which 12 recycled
    Never used RAM 12604, free system stack 133 words
    Tasks: NETWORK(2,nWait 7,13.5%,203) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.9%,241) CanReceiv(6,nWait 1,0.1%,773) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.9%,67) MAIN(1,running,83.6%,665) IDLE(0,ready,0.1%,29) AIN(4,delaying,0.9%,259), total 100.0%
    Owned mutexes: WiFi(NETWORK)
    === Platform ===
    Last reset 00:28:46 ago, cause: power up
    Last software reset at 2024-08-08 23:15, reason: User, Gcodes spinning, available RAM 16740, slot 2
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
    Error status: 0x00
    Aux0 errors 0,0,0
    MCU revision 3, ADC conversions started 1727168, completed 1727168, timed out 0, errs 0
    MCU temperature: min 21.8, current 39.9, max 45.1
    Supply voltage: min 23.0, current 23.5, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/588/588, gc cycles 0
    Events: 0 queued, 0 completed
    Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 25309, writes 10, timeouts 0, DMA errors 0, CC errors 0
    Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 17, reads 25302, writes 17, timeouts 0, DMA errors 0, CC errors 0
    Driver 2: ok, SG min 0, read errors 0, write errors 0, ifcnt 17, reads 25302, writes 17, timeouts 0, DMA errors 0, CC errors 0
    Driver 3: ok, SG min 0, read errors 0, write errors 0, ifcnt 17, reads 25301, writes 17, timeouts 0, DMA errors 0, CC errors 0
    Driver 4: ok, SG min 0, read errors 0, write errors 0, ifcnt 17, reads 25302, writes 17, timeouts 0, DMA errors 0, CC errors 0
    Driver 5: not present
    Driver 6: not present
    Date/time: 2024-08-24 11:36:05
    Cache data hit count 3184748154
    Slowest loop: 242.11ms; fastest: 0.14ms
    === Storage ===
    Free file entries: 19
    SD card 0 detected, interface speed: 22.5MBytes/sec
    SD card longest read time 8.1ms, write time 2.1ms, max retries 0
    === Move ===
    DMs created 83, segments created 30, maxWait 224898ms, bed compensation in use: mesh, height map offset -0.222, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
    next step interrupt due in 77 ticks, enabled
    Moves shaped first try 877, on retry 3, too short 502, wrong shape 3937, maybepossible 1
    === DDARing 0 ===
    Scheduled moves 5584, completed 5549, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
    === 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, chamber heaters -1 -1 -1 -1, ordering errs 0
    Heater 0 is on, I-accum = 0.2
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Movement locks held by null, null
    HTTP is idle in state(s) 0
    Telnet is idle in state(s) 0
    File is idle in state(s) 3
    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 1, axes/extruders owned 0x0000807
    Code queue 0 is empty
    Q1 segments left 0, axes/extruders owned 0x0000000
    Code queue 1 is empty
    === Filament sensors ===
    check 7388450 clear 0
    Extruder 0 sensor: ok
    === CAN ===
    Messages queued 21145, received 34842, lost 0, errs 0, boc 0
    Longest wait 2ms for reply type 6031, peak Tx sync delay 255, free buffers 26 (min 25), ts 8635/8634/0
    Tx timeouts 0,0,0,0,0,0
    === Network ===
    Slowest loop: 13.09ms; fastest: 0.00ms
    Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8
    === WiFi ===
    Interface state: active
    Module is connected to access point
    Failed messages: pending 0, notrdy 0, noresp 0
    Firmware version 2.1.0
    MAC address e8:68:e7:e1:50:dd
    Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 36444
    WiFi IP address 192.168.1.133
    Signal strength -53dBm, channel 2, mode 802.11n, reconnections 0
    Clock register 00002001
    Socket states: 0 0 0 0 0 0 0 0

    homeall.g:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time)
    ; 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} F6000 ; 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 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

    Startup .gcode:

    M104 S[first_layer_temperature] ; set extruder temp
    M140 S[first_layer_bed_temperature] ; set bed temp
    M190 S[first_layer_bed_temperature] ; wait for bed temp
    G29 ; Bed Mesh
    G32 ; auto-bed level/tram
    G32 ; auto-bed level/tram
    G28 Z ; Home Z
    G1 Z5 F3000 ; lift
    G1 X8 Y8 F3000 ; move to prime
    M109 S[first_layer_temperature] ; wait for extruder temp
    G1 Z0.15 F3000 ; get ready to prime
    G92 E0 ; reset extrusion distance
    G4 S15; wait for temp
    G1 X50 E25 F500 ; Extrude 25mm of filament in a 4cm line
    G92 E0 ; zero the extruded length
    G1 E-.5 F500 ; Retract a little
    G1 X80 F4000 ; Quickly wipe away from the filament line
    G1 Z0.3 ; Raise and begin printing

    Heightmap:

    Screenshot 2024-08-24 120229.jpg

    Hotend Photo:

    IMG_4160.jpg
    That BLTouch is not crooked as it appears in the photo. It is very perpendicular to the bed/toolhead as it should be.

    I have ran it with the G29 in both my startup .gcode as well as in the homeall. result is the same, or lack thereof. I know this is a common issue with common fixes. I may have missed/overlooked something so be patient and thorough. Thank you in advance for talking the time 🙏 . If there is any additional info that is needed, please do not hesitate to ask. Also, If you see anything else that can be improved upon or tweaked during your investigation, I would greatly appreciate any feedback you would be willing to provide. 👍

    undefined 1 Reply Last reply 24 Aug 2024, 19:50 Reply Quote 0
    • undefined
      Phaedrux Moderator @SonnyD1
      last edited by 24 Aug 2024, 19:50

      @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

      G29 ; Bed Mesh
      G32 ; auto-bed level/tram
      G32 ; auto-bed level/tram
      G28 Z ; Home Z

      You're doing a mesh before leveling the z axis and then homing z. This seems like a backwards order.

      @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

      M98 P"home'z.g" ; home z axis

      What is this macro? Please post it. Is it the same as homez.g?

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 1 Reply Last reply 24 Aug 2024, 23:40 Reply Quote 0
      • undefined
        SonnyD1 @Phaedrux
        last edited by SonnyD1 24 Aug 2024, 23:40

        @Phaedrux I have no idea what that is or how it got there. I certainly didn't write it. Here they both are. The "home'z.g" has to be an accidental duplicate and may need to go. Z axis has two steppers but does it need both of those files? I think one needs to go but which one?

        homez.g:

        ; homez.g
        ; called to home the Z axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:29 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 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

        home'z.g

        ; home'z.g
        ; called to home the z axis
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:29 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 z
        var maxTravel = move.axes[3].max - move.axes[3].min + 5 ; calculate how far z can travel plus 5mm
        G1 H1 'z{var.maxTravel} F6000 ; coarse home in the +z direction
        G1 H2 'z-5 F6000 ; move back 5mm
        G1 H1 'z{var.maxTravel} F300 ; fine home in the +z direction
        ; decrease Z again
        G91 ; relative positioning
        G1 Z-5 F6000 ; move Z relative to current position
        G90 ; absolute positioning
        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by 25 Aug 2024, 17:11

          You're going to have to clean up your files and determine which Z axis homing routine you actually need to use.

          Then in your slicer start gcode, change it up to start with homing z, then tramming (which should also home z at the end to re-establish the Z0 point in case the change in tilt has changed it), and then do your mesh.

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 1 Reply Last reply 25 Aug 2024, 17:32 Reply Quote 0
          • undefined
            SonnyD1 @Phaedrux
            last edited by SonnyD1 25 Aug 2024, 17:32

            @Phaedrux I've already fixed the startup gcode. How do I determine which z axis homing routine I actually need to keep? Is that something you could provide a bit of assistance with? I can read code but not likely as good as you can. I would be inclined to remove the duplicate and deal with the fallout if necessary, (fix the remaining one) but that may not be the best solution.

            undefined 1 Reply Last reply 26 Aug 2024, 19:03 Reply Quote 0
            • undefined
              Phaedrux Moderator @SonnyD1
              last edited by 26 Aug 2024, 19:03

              @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

              How do I determine which z axis homing routine I actually need to keep?

              Homez.g is using the probe to home Z.

              Home'z.g is using an endstop to home Z.

              Which is the correct way to home your printer?

              Z-Bot CoreXY Build | Thingiverse Profile

              undefined 1 Reply Last reply 26 Aug 2024, 20:45 Reply Quote 0
              • undefined
                SonnyD1 @Phaedrux
                last edited by 26 Aug 2024, 20:45

                @Phaedrux Ah ok. I do have a high end z endstop in addition to the BLTouch. Would the home'z.g be the file for that one?

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by 26 Aug 2024, 20:58

                  In that case you should definitely remove

                  M98 P"home'z.g" ; home z axis

                  from the end of your homeall.g as it will be homing to the endstop at the end and resetting the Z0 position found by the probe.

                  You can keep home'z.g around for when you want to home to Z max, but keep in mind that the Z position set by it may not be accurate to what your probe has determined z0 to be.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  undefined 1 Reply Last reply 27 Aug 2024, 02:15 Reply Quote -1
                  • undefined
                    SonnyD1 @Phaedrux
                    last edited by SonnyD1 27 Aug 2024, 02:15

                    @Phaedrux Done! But is that the cause or does it effect my an axis not moving to compensate for mesh?

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 27 Aug 2024, 03:49

                      Please share your current config.g homeall.g, homez.g start.g mesh.g bed.g and slicer start gcode. Also a M122 report taken during a print.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      undefined 1 Reply Last reply 28 Aug 2024, 01:15 Reply Quote 0
                      • undefined
                        SonnyD1 @Phaedrux
                        last edited by 28 Aug 2024, 01:15

                        @Phaedrux I don't have a mesh.g. Here is the rest of it. Is the lack of a mesh.g the issue?

                        ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet
                        ; executed by the firmware on start-up
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time)
                        ; General
                        G90 ; absolute coordinates
                        M83 ; relative extruder moves
                        M550 P"Lulzbot Workhorse" ; set hostname
                        ; Accessories
                        M575 P1 S0 B57600 ; configure PanelDue support
                        ; Network
                        M552 S1 ; enable network
                        M586 P0 S1 ; configure HTTP
                        M586 P1 S1 ; configure FTP
                        M586 P2 S0 ; disable Telnet
                        ; Expansion Board
                        G4 S2 ; Wait a moment for the CAN expansion boards to become available
                        ; Accelerometers
                        M955 P121.0 I24 ; configure accelerometer on board #121
                        ; Kinematics
                        M669 K0 ; configure Cartesian Kinematics
                        ; Smart Drivers
                        M569 P0.1 S0 D2 ; driver 0.1 goes forwards (Y axis)
                        M569 P0.2 S0 D2 ; driver 0.2 goes forwards (X axis)
                        M569 P0.3 S0 D2 ; driver 0.3 goes forwards (LEFT Z axis)
                        M569 P0.4 S1 D2 ; driver 0.4 goes backwards (RIGHT z axis)
                        M569 P121.0 S0 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.2 Y0.1 Z0.3:0.4 ; set axis mapping
                        M671 X380:-130 Y150:150 S5 ; position of leadscrew/bed pivot point at left and right of X axis
                        M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
                        M906 X1200 Y1200 Z800 ; set axis driver currents
                        M92 X100 Y100 Z500 ; configure steps per mm
                        M208 X-42:309 Y-10:320 Z-2:290 ; set minimum and maximum axis limits
                        M205 X8 Y8 Z1 ; set maximum instantaneous speed changes (mm/sec)
                        M203 X9000 Y9000 Z600 ; set maximum speeds (mm/min)
                        M201 X1000 Y1000 Z100 ; set maximum accelerations for XYZ axis(mm/sec)
                        M204 P1000 T2000 ; set accelerations for print moves and travel moves
                        ; Extruders
                        M584 E121.0 ; set extruder mapping
                        M350 E16 I1 ; configure microstepping with interpolation
                        M906 E900 ; set extruder driver currents
                        M92 E393 ; configure steps per mm
                        M566 E120 ; set maximum instantaneous speed changes (mm/min)
                        M203 E3600 ; set maximum speeds (mm/min)
                        M201 E2000 ; set maximium accelerations for extruder(mm/s^2)
                        ; BLTouch
                        M558 K0 P9 C"121.io0.in" H5 F600:120 T6000 ; configure BLTouch probe via slot #0
                        G31 P500 X49.7 Y-19.3 Z2.82 ; set Z probe location, trigger value, offset and trigger height. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used.
                        M950 S0 C"121.io0.out" ; create servo #0 for BLtouch
                        M376 H10 ; taper off bed compensation over 10mm
                        ; Endstops l
                        M574 X1 P"io1.in" S1 ; configure X axis endstop
                        M574 Y1 P"io2.in" S1 ; configure Y axis endstop
                        M574 Z1 S2 ; configure Z axis endstop
                        ; Filament Runout
                        M591 D0 P1 C"io6.in" S2 ; configure filament monitor (simple switch) for E0
                        ; Mesh Bed Compensation
                        M557 X25:275 Y25:275 P5:5 ; define grid for mesh bed compensation
                        ; Temperature 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"Hot End" T100000 B4725 C7.06e-8 ; configure sensor #1
                        ; Heaters
                        M950 H0 C"out1" T0 ; create bed heater #0
                        M140 P0 H0 ; configure heated bed #0
                        M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for bed heater #0
                        M307 H0 R0.321 K0.450:0.000 D1.20 E1.35 S1.00 B0 ; configure model of heater #0
                        M950 H1 C"121.out0" T1 ; create hotend heater #1
                        M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for hotend heater #1
                        M307 H1 R3.832 K0.446:0.329 D2.21 E1.35 S1.00 B0 V24.1 ; configure model of hotend heater #1
                        ; Fans
                        M950 F0 C"121.out2" ; create fan #0
                        M106 P0 C"Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0
                        M950 F1 C"121.out1" Q250 ; create fan #1
                        M106 P1 C"Part Cooling Fan" S0 B0.1 L35 X250 ; configure fan #1
                        ; Tools
                        M563 P0 S"Tool 0" D0 H1 F1 ; create tool #0
                        M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
                        ; Miscellaneous
                        M593 P"zvdd" F40.0 ; use ZVDD input shaping to cancel ringing at 40.0Hz
                        M572 D0 S0.034 ; set pressure advance for T0
                        T0
                        ; homeall.g
                        ; called to home all axes
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:28 GMT-0400 (Eastern Daylight Time)
                        ; 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} F6000 ; 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 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
                        ; homez.g
                        ; called to home the Z axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:29 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 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
                        ; bed.g
                        ; called to level the bed
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.4+1 on Sun Apr 21 2024 09:30:29 GMT-0400 (Eastern Daylight Time)
                        G28 ; home
                        G30 P0 X20 Y150 Z-99999 ; probe near left leadscrew, half way along Y axis
                        G30 P1 X280 Y150 Z-99999 S2 ; probe near right leadscrew and calibrate 2 motors

                        Startup gcode:

                        M104 S[first_layer_temperature] ; set extruder temp
                        M140 S[first_layer_bed_temperature] ; set bed temp
                        M190 S[first_layer_bed_temperature] ; wait for bed temp
                        G28 ; Home all
                        G32 ; auto-bed level/tram
                        G32 ; auto-bed level/tram
                        G28 Z ; Home Z
                        G29 ; Bed mesh
                        G1 Z5 F3000 ; lift
                        G1 X8 Y8 F3000 ; move to prime
                        M109 S[first_layer_temperature] ; wait for extruder temp
                        G1 Z0.15 F3000 ; get ready to prime
                        G92 E0 ; reset extrusion distance
                        G4 S15; wait for temp
                        G1 X50 E25 F500 ; Extrude 25mm of filament in a 4cm line
                        G92 E0 ; zero the extruded length
                        G1 E-.5 F500 ; Retract a little
                        G1 X80 F4000 ; Quickly wipe away from the filament line
                        G1 Z0.3 ; Raise and begin printing
                        M122
                        === Diagnostics ===
                        RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode)
                        Board ID: K4V3J-AP6KL-K65J0-409NG-2012Z-7P0WG
                        Used output buffers: 12 of 40 (29 max)
                        === RTOS ===
                        Static ram: 103368
                        Dynamic ram: 121600 of which 12 recycled
                        Never used RAM 13148, free system stack 130 words
                        Tasks: NETWORK(2,nWait 7,13.2%,203) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.2%,238) CanReceiv(6,nWait 1,0.1%,796) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,delaying,0.8%,67) MAIN(1,running,84.7%,665) IDLE(0,ready,0.1%,29) AIN(4,delaying,0.9%,259), total 100.0%
                        Owned mutexes: WiFi(NETWORK)
                        === Platform ===
                        Last reset 00:11:46 ago, cause: power up
                        Last software reset at 2024-08-26 23:20, reason: HardFault imprec, Platform spinning, available RAM 12460, slot 0
                        Software reset code 0x4060 HFSR 0x40000000 CFSR 0x00000400 ICSR 0x00487803 BFAR 0xe000ed38 SP 0x20012020 Task NETW Freestk 488 ok
                        Stack: 2002c658 20030bb8 200014e8 00000000 20032d96 0003015d 00030074 610f6000 200358e8 2002c640 2001882c 2002c496 2001882c 2001ea80 000302e3 00000000 00000000 00000000 200120b8 00000014 469d0078 00000002 fe530050 cb01a8c0 0800016a 00000001 000349f1
                        Error status: 0x00
                        Aux0 errors 0,0,0
                        MCU revision 3, ADC conversions started 706584, completed 706584, timed out 0, errs 0
                        MCU temperature: min 22.0, current 42.9, max 43.1
                        Supply voltage: min 23.1, current 23.7, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
                        Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/200/200, gc cycles 0
                        Events: 0 queued, 0 completed
                        Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 37147, writes 10, timeouts 0, DMA errors 0, CC errors 0
                        Driver 1: ok, SG min 0, read errors 0, write errors 0, ifcnt 15, reads 37142, writes 15, timeouts 0, DMA errors 0, CC errors 0
                        Driver 2: ok, SG min 0, read errors 0, write errors 0, ifcnt 15, reads 37142, writes 15, timeouts 0, DMA errors 0, CC errors 0
                        Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 15, reads 37142, writes 15, timeouts 0, DMA errors 0, CC errors 0
                        Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 15, reads 37142, writes 15, timeouts 0, DMA errors 0, CC errors 0
                        Driver 5: not present
                        Driver 6: not present
                        Date/time: 2024-08-27 21:15:05
                        Cache data hit count 1334650226
                        Slowest loop: 247.45ms; fastest: 0.16ms
                        === Storage ===
                        Free file entries: 19
                        SD card 0 detected, interface speed: 22.5MBytes/sec
                        SD card longest read time 5.5ms, write time 0.0ms, max retries 0
                        === Move ===
                        DMs created 83, segments created 18, maxWait 505523ms, 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
                        next step interrupt due in 113 ticks, enabled
                        Moves shaped first try 36, on retry 1, too short 16, wrong shape 315, maybepossible 0
                        === DDARing 0 ===
                        Scheduled moves 420, completed 415, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
                        === 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, chamber heaters -1 -1 -1 -1, ordering errs 0
                        Heater 0 is on, I-accum = 0.2
                        Heater 1 is on, I-accum = 0.0
                        === GCodes ===
                        Movement locks held by null, null
                        HTTP is idle in state(s) 0
                        Telnet is idle in state(s) 0
                        File is doing "G1 X140.244 Y125.527 E36.19697" 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 1, axes/extruders owned 0x0000807
                        Code queue 0 is empty
                        Q1 segments left 0, axes/extruders owned 0x0000000
                        Code queue 1 is empty
                        === Filament sensors ===
                        check 3012704 clear 0
                        Extruder 0 sensor: ok
                        === CAN ===
                        Messages queued 6785, received 14195, lost 0, errs 0, boc 0
                        Longest wait 2ms for reply type 6053, peak Tx sync delay 12, free buffers 26 (min 25), ts 3532/3531/0
                        Tx timeouts 0,0,0,0,0,0
                        === Network ===
                        Slowest loop: 14.57ms; fastest: 0.00ms
                        Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                        HTTP sessions: 1 of 8
                        === WiFi ===
                        Interface state: active
                        Module is connected to access point
                        Failed messages: pending 0, notrdy 0, noresp 0
                        Firmware version 2.1.0
                        MAC address e8:68:e7:e1:50:dd
                        Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 39700
                        WiFi IP address 192.168.1.133
                        Signal strength -54dBm, channel 2, mode 802.11n, reconnections 0
                        Clock register 00002001
                        Socket states: 0 0 0 0 0 0 0 0
                        undefined 2 Replies Last reply 28 Aug 2024, 04:16 Reply Quote 0
                        • undefined
                          Phaedrux Moderator @SonnyD1
                          last edited by Phaedrux 28 Aug 2024, 04:16

                          @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

                          Is the lack of a mesh.g the issue?

                          No. Mesh.g is an optional macro that you can use if you want to define exactly what happens when G29 is sent.

                          https://docs.duet3d.com/User_manual/Reference/Gcodes#meshg

                          Z-Bot CoreXY Build | Thingiverse Profile

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Phaedrux Moderator @SonnyD1
                            last edited by 28 Aug 2024, 04:27

                            @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

                            M558 K0 P9 C"121.io0.in" H5 F600:120 T6000

                            You're using K0 in the probe definition. If you do this, you must consistently use K0 in all other probe related commands. If you only have a single probe, just omit the K0 entirely and the firmware will assume you only have a single probe. This may be a part of your issue.

                            @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

                            M376 H10
                            You have a mesh taper set as well. This will reduce the amount of z adjustment and may also be part of why it seems like nothing is happening. Try commenting this out for the time being.

                            @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

                            bed compensation in use: none

                            According to that M122 report, the mesh is not active at the time it was gathered, but your slicer start gcode should have an active mesh after your G29 command is executed and the mesh is performed. Was it gathered during the print?

                            G28 ; Home all
                            G32 ; auto-bed level/tram
                            G32 ; auto-bed level/tram
                            G28 Z ; Home Z
                            G29 ; Bed mesh

                            If you send those commands in the console and then move the print head around in XY do you see the Z motor turning? It can help to attach a small piece of tape so you can see very slight movements.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            undefined 1 Reply Last reply 29 Aug 2024, 00:25 Reply Quote 0
                            • undefined
                              SonnyD1 @Phaedrux
                              last edited by SonnyD1 29 Aug 2024, 00:25

                              @Phaedrux I removed the K0 from the M558 cmd and commented out the M376 for now. That M122 was taken during a print as was the one above. The one above showed bed compensation in use as active.
                              @SonnyD1 said in Z axis Not Moving for Mesh Compensation:

                              bed compensation in use: mesh, height map offset -0.222

                              Its weird that this one did not. I'm gonna run a M122 on a fresh print with those changes on a fresh slice.

                              New M122 results:

                              M122
                              === Diagnostics ===
                              RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode)
                              Board ID: K4V3J-AP6KL-K65J0-409NG-2012Z-7P0WG
                              Used output buffers: 11 of 40 (30 max)
                              === RTOS ===
                              Static ram: 103368
                              Dynamic ram: 121624 of which 12 recycled
                              Never used RAM 12980, free system stack 132 words
                              Tasks: NETWORK(2,nWait 7,14.1%,203) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.5%,240) CanReceiv(6,nWait 1,0.1%,794) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,delaying,0.9%,67) MAIN(1,running,83.5%,665) IDLE(0,ready,0.1%,29) AIN(4,delaying,0.9%,259), total 100.0%
                              Owned mutexes: WiFi(NETWORK)
                              === Platform ===
                              Last reset 00:19:54 ago, cause: software
                              Last software reset at 2024-08-28 19:59, reason: User, Gcodes spinning, available RAM 16764, slot 1
                              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                              Error status: 0x00
                              Aux0 errors 0,0,0
                              MCU revision 3, ADC conversions started 1194705, completed 1194705, timed out 0, errs 0
                              MCU temperature: min 31.1, current 37.8, max 43.3
                              Supply voltage: min 23.1, current 23.8, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
                              Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/468/468, gc cycles 0
                              Events: 0 queued, 0 completed
                              Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 21, reads 62827, writes 10, timeouts 0, DMA errors 0, CC errors 0
                              Driver 1: ok, SG min 0, read errors 0, write errors 1, ifcnt 29, reads 62822, writes 15, timeouts 0, DMA errors 0, CC errors 0
                              Driver 2: ok, SG min 0, read errors 0, write errors 1, ifcnt 29, reads 62822, writes 15, timeouts 0, DMA errors 0, CC errors 0
                              Driver 3: ok, SG min 0, read errors 0, write errors 1, ifcnt 29, reads 62822, writes 15, timeouts 0, DMA errors 0, CC errors 0
                              Driver 4: ok, SG min 0, read errors 0, write errors 1, ifcnt 29, reads 62822, writes 15, timeouts 0, DMA errors 0, CC errors 0
                              Driver 5: not present
                              Driver 6: not present
                              Date/time: 2024-08-28 20:19:50
                              Cache data hit count 2235614968
                              Slowest loop: 244.06ms; fastest: 0.15ms
                              === Storage ===
                              Free file entries: 19
                              SD card 0 detected, interface speed: 22.5MBytes/sec
                              SD card longest read time 5.8ms, write time 47.2ms, max retries 0
                              === Move ===
                              DMs created 83, segments created 24, maxWait 483010ms, bed compensation in use: mesh, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
                              next step interrupt due in 140 ticks, enabled
                              Moves shaped first try 334, on retry 1, too short 182, wrong shape 577, maybepossible 7
                              === DDARing 0 ===
                              Scheduled moves 1212, completed 1203, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3
                              === 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, chamber heaters -1 -1 -1 -1, ordering errs 0
                              Heater 0 is on, I-accum = 0.2
                              Heater 1 is on, I-accum = 0.0
                              === GCodes ===
                              Movement locks held by null, null
                              HTTP is idle in state(s) 0
                              Telnet is idle in state(s) 0
                              File is doing "G1 X58.353 Y81.167 E137.12446" 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 1, axes/extruders owned 0x0000807
                              Code queue 0 is empty
                              Q1 segments left 0, axes/extruders owned 0x0000000
                              Code queue 1 is empty
                              === Filament sensors ===
                              check 5117227 clear 0
                              Extruder 0 sensor: ok
                              === CAN ===
                              Messages queued 11995, received 24147, lost 0, errs 1, boc 0
                              Longest wait 4ms for reply type 6013, peak Tx sync delay 230, free buffers 26 (min 25), ts 5972/5971/0
                              Tx timeouts 0,0,0,0,0,0
                              === Network ===
                              Slowest loop: 220.14ms; fastest: 0.00ms
                              Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                              HTTP sessions: 1 of 8
                              === WiFi ===
                              Interface state: active
                              Module is connected to access point
                              Failed messages: pending 0, notrdy 0, noresp 0
                              Firmware version 2.1.0
                              MAC address e8:68:e7:e1:50:dd
                              Module reset reason: Power up, Vcc 3.39, flash size 2097152, free heap 39700
                              WiFi IP address 192.168.1.133
                              Signal strength -53dBm, channel 2, mode 802.11n, reconnections 0
                              Clock register 00002001
                              Socket states: 0 0 0 0 0 0 0 0

                              This printer is a belt Z so its a bit more difficult to see Z axis movement. Let me do some more testing and I'll get back with you with some better results. I'm sure there are others, that are a far less PITA, need your help too. I want to make sure I do my due diligence and not waste your time. There's a few things I want to try to ensure that it is not in fact moving and I'm just not seeing it. I'll tag ya when I'm done. Unless you have any other suggestions. TYVM for your help thus far.

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                Phaedrux Moderator
                                last edited by 29 Aug 2024, 04:19

                                One of the best ways to test if mesh compensation is working as expected is to slice a full size bed level test print and then print it twice. Once with compensation active, and again without. It should be pretty obvious if it's effective. Here is an STL that is fast to print.

                                bedlevel_nozzle_0.4_200x200-0.3-0.8.stl

                                Z-Bot CoreXY Build | Thingiverse Profile

                                undefined 1 Reply Last reply 29 Aug 2024, 18:45 Reply Quote 0
                                • undefined
                                  SonnyD1 @Phaedrux
                                  last edited by 29 Aug 2024, 18:45

                                  @Phaedrux That's exactly what I was thinking. I need some exaggeration. Thanks for the help. I'll get back with ya!

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