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

    Mesh Bed Compensation

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    11
    726
    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.
    • johneatoundefined
      johneato
      last edited by

      I have recently purchased an E3D Tool changer and have just about sorted out the configuration. All is working well except for Mesh Bed Compensation. I am using a Duet 2 and RRF2. I can produce the height map with G29 and it looks fine except for a slight bowl in the center. If I use the first tool all works well when I print. However on the three remaining tools there is no mesh adjustment. I misaligned the bed slightly to exaggerate the Z movement but nothing. Each tool is configured with a G29 S1 in its tpostx.g file and in addition I included G29 S1 in the startup script in my slicer, Simply 3D.
      Any help would be appreciated.
      Regards John

      1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        What firmware version specifically are you using?
        Can you post your config/tool change files?

        If you check M122 does it show mesh compensation in use?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • johneatoundefined
          johneato
          last edited by

          Phaedrux thanks for your reply.

          M122 gives RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later + DueX5
          ....
          Bed compensation in use: mesh, comp offset 0.000

          The compensation shown is consistent across all tools.
          Config Files are modified versions of config supplied by E3D

          0:/sys/config.g
          ; Configuration file for Duet WiFi / Ethernet
          ; executed by the firmware on start-up

          ; General preferences
          M111 S0 ; Debugging off
          G21 ; Work in millimetres
          G90 ; Send absolute coordinates...
          M83 ; ...but relative extruder moves
          M555 P2 ; Set firmware compatibility to look like Marlin
          M669 K1 ; Select CoreXY mode

          ; Network
          ; Read https://duet3d.dozuki.com/Wiki/Gcode#Section_M587_Add_WiFi_host_network_to_remembered_list_or_list_remembered_networks
          M550 P"ToolChanger" ; Set machine name
          M552 S1 ; Enable Networking
          M586 P0 S1 ; Enable HTTP
          M586 P1 S0 ; Disable FTP
          M586 P2 S0 ; Disable Telnet
          M551 Preprap ; Machine password (used for FTP)

          ; Endstops
          M574 Z1 S2 ; Set Z endstop probe
          M574 Y1 S1 ; set endstop configuration (Y endstop only, at Low end,
          M574 X2 S1 ; set endstop configuration (X endstop only, at High end,

          M558 P7 X0 Y0 Z2 H3 F360 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
          G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
          M557 X10:290 Y20:180 S40 ; Define mesh grid

          ; Drive direction
          M569 P0 S0 ; Drive 0 X
          M569 P1 S0 ; Drive 1 Y
          M569 P2 S1 ; Drive 2 Z
          M569 P3 S0 ; Drive 3 E0
          M569 P4 S1 ; Drive 4 E1
          M569 P5 S0 ; Drive 5 E2
          M569 P6 S0 ; Drive 6 E3
          M569 P7 S0 ; Drive 7 COUPLER
          M569 P8 S0 ; Drive 8 CLEANING BRUSH (Right)
          M569 P9 S0 ; Drive 9 CLEANING BRUSH (Left)

          M584 X0 Y1 Z2 C7 U8 E3:4:5:6 ; Apply custom drive mapping
          M208 X-25:325.5 Y-49:250 Z0:300 C0:260 U0:100 S0 ; Set axis maxima & minima
          M350 E8:8:8:8 C8 U8 I0 ; Configure microstepping without interpolation
          M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation
          M92 X100 Y100 Z1600 C100 U2000 E400:409:400:402 ; Set steps per mm
          M566 X400 Y400 Z8 C2 U2 E2:2:2:2 ; Set maximum instantaneous speed changes (mm/min)
          M203 X12000 Y12000 Z1000 C5000 U500 E5000:5000:5000:5000 ; Set maximum speeds (mm/min)
          M201 X3000 Y3000 Z100 C400 U400 E2500:2500:2500:2500 ; Set accelerations (mm/s^2)
          M906 X2000 Y2000 Z1000 C400 U1000 E1400:1000:1000:1000 I30 ; Set motor currents (mA) and motor idle factor in percent
          M84 S30 ; Set idle timeout

          ;Stall Detection
          M915 C S5 F0 H200 ; Coupler
          M574 U2 S3 ; Set U endstop stall detection
          M915 U S5 F0 H200 ; U Axes Right Brush

          ; Heaters
          ;Bed
          M305 P0 T100000 B4725 C7.06e-8 ; Set thermistor
          M143 H0 S160 ; Set temperature limit for heater 0 (Bed)160C
          M307 H0 A313.6 C235.3 D1.8 V24.2 S0.5 B0 ; PID

          M305 S"T0" P1 T100000 B4725 C7.06e-8 ; Set thermistor
          M143 H1 S280 ; Set temperature limit for heater 1 to 280C
          M307 H1 A414.9 C221.2 D3.8 V24.2 B0 ; PID

          M305 S"T1" P2 T100000 B4725 C7.06e-8 ; Set thermistor
          M143 H2 S280 ; Set temperature limit for heater 2 to 280C
          M307 H2 A458.2 C218.0 D4.2 V24.2 B0 ; PID

          M305 S"T2" P3 T100000 B4725 C7.06e-8 ; Set thermistor
          M143 H3 S280 ; Set temperature limit for heater 3 to 280C
          M307 H3 A484.6 C225.0 D3.6 V24.3 B0 ; PID

          M305 S"T3" P4 T100000 B4725 C7.06e-8 ; Set thermistor
          M143 H4 S280 ; Set temperature limit for heater 4 to 280C
          M307 H0 A468.2 C284.7 D4.0 V 24.3 B0 ; PID

          ; Tools
          M563 P0 S"T0" D0 H1 F2 ; Define tool 0
          G10 P0 X0 Y0 Z2.85 ; Reset tool 0 axis offsets
          G10 P0 R0 S0 ; Reset initial tool 0 active and standby temperatures to 0C

          M563 P1 S"T1" D1 H2 F4 ; Define tool 1
          G10 P1 X0 Y0 Z2.85 ; Reset tool 1 axis offsets
          G10 P1 R0 S0 ; Reset initial tool 1 active and standby temperatures to 0C

          M563 P2 S"T2" D2 H3 F6 ; Define tool 2
          G10 P2 X0 Y0 Z2.85 ; Reset tool 2 axis offsets
          G10 P2 R0 S0 ; Reset initial tool 2 active and standby temperatures to 0C

          M563 P3 S"T3" D3 H4 F8 ; Define tool 3
          G10 P3 X0 Y0 Z2.85 ; Reset tool 3 axis offsets
          G10 P3 R0 S0 ; Reset initial tool 3 active and standby temperatures to 0C

          ; Fans
          M106 P0 S0 ; UNUSED
          M106 P1 S200 H1 T45 ; T0 HE
          M106 P2 S0 ; T0 PCF
          M106 P3 S255 H2 T45 ; T1 HE
          M106 P4 S0 ; T1 PCF
          M106 P5 S255 H3 T45 ; T2 HE
          M106 P6 S0 ; T2 PCF
          M106 P7 S255 H4 T45 ; T3 HE
          M106 P8 S0 ; T3 PCF

          M593 F50 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)
          M376 H15 ; bed compensation taper

          ;tool offsets
          G10 P0 X15 Y60 Z-5.6 ; T0
          G10 P1 X10 Y55 Z-30.77 ; T1
          G10 P2 X-25 Y55 Z-30.65 ; T2
          G10 P3 X-26 Y47 Z-39.38 ; T3

          T-1 ;deselect tools

          ;M572 D0 S0.2 ; pressure advance T0
          ;M572 D1 S0.2 ; pressure advance T1
          ;M572 D2 S0.2 ; pressure advance T2
          ;M572 D3 S0.2 ; pressure advance T3

          ##############

          ; tpost2.g
          ; called after tool 2 has been selected

          ;heatup
          M116 P2

          ;prime nozzle
          ;M98 Pprime.g

          ;mesh levelling on
          G29 S1

          ;PCF fan on
          M106 P6 R2

          ###################

          ; tpre2.g
          ; called before tool 2 is selected

          ;Ensure no tool is selected
          T-1

          ;Unlock Coupler
          M98 P/macros/Coupler - Unlock

          ;Move to location
          G1 X224.5 Y180 F50000

          ;Move in
          G1 X224.5 Y200 F50000

          ;Collect
          G1 X224.5 Y220.5 F3500

          ;Close Coupler
          M98 P/macros/Coupler - Lock

          ;WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
          ;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
          G91
          G1 Z40 F1000
          G90

          ;Move Out
          G1 X214.5 Y150 F4000

          Vetiundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
          • Vetiundefined
            Veti @johneato
            last edited by

            @johneato said in Mesh Bed Compensation:

            G10 P0 X15 Y60 Z-5.6 ; T0
            G10 P1 X10 Y55 Z-30.77 ; T1
            G10 P2 X-25 Y55 Z-30.65 ; T2
            G10 P3 X-26 Y47 Z-39.38 ; T3

            i was under the impression that all tools would be at the same position with a toolchanger.

            does the nozzle position really vary by 4 cm between the tools?

            1 Reply Last reply Reply Quote 0
            • johneatoundefined
              johneato
              last edited by

              Veti
              "does the nozzle position really vary by 4 cm "
              Yes it does. The shortest is T0 with an E3D Aero and the longest is T3, a bondtech with a Volcano

              1 Reply Last reply Reply Quote 0
              • johneatoundefined
                johneato
                last edited by

                Veti
                I have just read your post again and realised I miss understood your question. I thought you were referring to the Z offsets.
                The X and y offsets have not been setup yet, just positioned to somewhere near the centre of the bed. I'll sort those when I get to multi tool printing.
                I would appreciate any steer on the mesh leveling problem

                1 Reply Last reply Reply Quote 0
                • Vetiundefined
                  Veti
                  last edited by

                  @johneato said in Mesh Bed Compensation:

                  M208 X-25:325.5 Y-49:250 Z0:300 C0:260 U0:100 S0 ; Set axis maxima & minima

                  try allowing negative z movements

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator @johneato
                    last edited by Phaedrux

                    @johneato said in Mesh Bed Compensation:

                    M376 H15 ; bed compensation taper

                    Can you try setting your taper height to 0 so that mesh compensation is always applied? I suspect your tool offsets are raising the height above the taper height and so no (or no noticeable) compensation is being applied at that height.

                    See here for what sounds like a similar problem: https://forum.duet3d.com/topic/19190/bed-mesh-compensation-not-applied-to-all-the-tools

                    Z-Bot CoreXY Build | Thingiverse Profile

                    1 Reply Last reply Reply Quote 0
                    • johneatoundefined
                      johneato
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • johneatoundefined
                        johneato
                        last edited by

                        @Phaedrux
                        That's the one. I removed reference to M376 and now it works fine.
                        Thanks for your help

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined
                          Phaedrux Moderator
                          last edited by

                          DC42 is taking a look to add a fix for 3.2. So if you want to use taper you'd have to upgrade, otherwise the workaround should be fine if you want to stick with RRF2.

                          Z-Bot CoreXY Build | Thingiverse Profile

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