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

    Help, Mesh Bed Compensation

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    3
    6
    266
    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.
    • RajaaKahelundefined
      RajaaKahel
      last edited by

      Hi all, I need some help to setup Mesh Bed Compensation. I got confused (specially with Dive and Trigger hight) because I have two tools, and the Zprobe (Z switch) is actually shorter than the nozzle (when the tool is selected). So when i home Z (or probe the bed) there should be no tool selected. Wanna start using mesh compensation, never used it.
      My current tool offsets:

      G10 P0 X0 Y0 Z-1.6 ; set tool 0 axis offsets
      G10 P1 X0 Y0 Z-1.7 ; set tool 1 axis offsets

      ; Configuration file for Duet WiFi (firmware version 3.3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Dec 18 2021 14:22:20 GMT+0100 (Central European Standard Time)

      ; General preferences
      G90 ; send absolute coordinates...
      M83 ; ...but relative extruder moves
      M550 P"RK3D Tool Changer" ; set printer name
      M669 K1 ; select CoreXY mode

      ; Network
      M552 S1 ; enable network
      M586 P0 S1 ; enable HTTP
      M586 P1 S0 ; disable FTP
      M586 P2 S0 ; disable Telnet

      ; Drives
      M569 P0 S1 ; physical drive 0 goes forwards
      M569 P1 S0 ; physical drive 1 goes backwards
      M569 P2 S0 ; physical drive 2 goes backwards
      M569 P3 S0 ; physical drive 3 goes backwards
      M569 P4 S0 ; physical drive 4 goes backwards
      M584 X0 Y1 Z2 E3:4 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z800.00 E2208.00:2208.00 ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 E40.00:40.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X30000.00 Y30000.00 Z960.00 E4800.00:4800.00 ; set maximum speeds (mm/min)
      M201 X10000.00 Y10000.00 Z50.00 E1200.00:1200.00 ; set accelerations (mm/s^2)
      M906 X1100 Y1100 Z1500 E400:400 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Axis Limits
      M208 X0 Y0 Z0 S1 ; set axis minima
      M208 X430 Y365 Z430 S0 ; set axis maxima

      ; Endstops
      M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z1 S1 P"zstop" ; configure Z-probe endstop for low end on Z

      ; Z-Probe
      M574 Z0 P"nil" ; no Z endstop switch, free up Z endstop input
      M558 P5 C"zstop" H5 F120 T3000 ; Z probe connected to Z endstop input
      ; set Z probe type to switch and the dive height + speeds
      G31 P500 X0 Y0 Z-5 ; set Z probe trigger value, offset and trigger height
      M557 X15:385 Y40:300 S40 ; define mesh grid

      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
      M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H0 ; map heated bed to heater 0
      M143 H0 S120 ; set temperature limit for heater 0 to 120C
      M308 S1 P"e0temp" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H1 S280 ; set temperature limit for heater 1 to 280C
      M308 S2 P"e1temp" Y"thermistor" T100000 B3950 ; configure sensor 2 as thermistor on pin e1temp
      M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
      M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
      M143 H2 S280 ; set temperature limit for heater 2 to 280C

      ; Fans
      M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
      M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
      M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
      M106 P1 S1 H1:2 T45 ; set fan 1 value. Thermostatic control is turned on

      ; Tools
      M563 P0 S"Left0.6mm" D0 H1 F0 ; define tool 0
      G10 P0 X0 Y0 Z-1.6 ; set tool 0 axis offsets
      G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
      M563 P1 S"Right0.4mm" D1 H2 F0 ; define tool 1
      G10 P1 X0 Y0 Z-1.7 ; set tool 1 axis offsets
      G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

      ; Custom settings are not defined
      M501

      RajaaKahelundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
      • RajaaKahelundefined RajaaKahel marked this topic as a question
      • RajaaKahelundefined
        RajaaKahel @RajaaKahel
        last edited by

        @dc42
        Can you guide me please to get started?

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

          @rajaakahel said in Help, Mesh Bed Compensation:

          ; Endstops
          M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
          M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
          M574 Z1 S1 P"zstop" ; configure Z-probe endstop for low end on Z
          ; Z-Probe
          M574 Z0 P"nil" ; no Z endstop switch, free up Z endstop input
          M558 P5 C"zstop" H5 F120 T3000 ; Z probe connected to Z endstop input
          ; set Z probe type to switch and the dive height + speeds
          G31 P500 X0 Y0 Z-5 ; set Z probe trigger value, offset and trigger height
          M557 X15:385 Y40:300 S40 ; define mesh grid

          What do you have for a probe now?
          Do you actually use a z endstop, or just the probe?

          You currently have a z endstop defined with M574 using zstop pin and the probe with M558 also using the zstop pin. If you don't want to use a z endstop at all, just don't define one in the first place.

          What firmware version are you using?

          It shows your trigger height as -5, how did you come to that? I would think that it would make more sense to set G31 X0 Y0 Z0 and then use the tool offsets to define where the nozzle tip is in relation to that 0,0,0 point.

          Since you need the tools docked before you can do a mesh, you might be nest served by creating a mesh.g file in the system folder. In it you could define exactly what you wanted to happen before doing the mesh. Set the bed temps, wait, deselect all tools, and then send G29 S0 to mesh the bed.

          Z-Bot CoreXY Build | Thingiverse Profile

          RajaaKahelundefined 1 Reply Last reply Reply Quote 0
          • RajaaKahelundefined
            RajaaKahel @Phaedrux
            last edited by

            @Phaedrux

            What do you have for a probe now?
            Do you actually use a z endstop, or just the probe?

            The probe is a DIY switch, it's a Z endstop and a probe at the same time.

            You currently have a z endstop defined with M574 using zstop pin and the probe with M558 also using the zstop pin. If you don't want to use a z endstop at all, just don't define one in the first place.

            I want to use my DIY switch as a probe and it's probing fine, but my problem is with dive and trigger heights.

            What firmware version are you using?
            V3.3.

            It shows your trigger height as -5, how did you come to that? I would think that it would make more sense to set G31 X0 Y0 Z0 and then use the tool offsets to define where the nozzle tip is in relation to that 0,0,0 point.
            That trigger height is just from the configuration tool, wasn't sure what to choose/do first.

            Since you need the tools docked before you can do a mesh, you might be nest served by creating a mesh.g file in the system folder. In it you could define exactly what you wanted to happen before doing the mesh. Set the bed temps, wait, deselect all tools, and then send G29 S0 to mesh the bed.

            That's good to know!
            I'll try to read the documentation again from the beginning, hopefully i get the things in the right order.
            Thanks for the input 😊

            engikeneerundefined 1 Reply Last reply Reply Quote 0
            • engikeneerundefined
              engikeneer @RajaaKahel
              last edited by

              @rajaakahel to clarify a few things...

              You have a z probe. It is a switch, but you can move it around to trigger it at different x & y positions (e.g. to create a heightmap), so is classed a a z probe. A z endstop would typically be rigidly mounted to the frame

              The dive height is how far the probe should dive (or the bed rise) during a probing move. It is ignored when the z axis is unhomed.

              In a 'normal' printer you typically set the tool offsets to 0, the use G31 to set the probe offsets and trigger height. However like @Phaedrux says, on a toolchanger printer with a probe like yours (and the e3d system), it is typically easier to set the probe offsets and trigger height to 0, and set the individual tool offsets (in x y and z) relative to the probe. That way you don't have to double measure everything etc

              Hope that makes sense... 🙂

              E3D TC with D3Mini and Toolboards.
              Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
              i3 clone with a bunch of mods

              RajaaKahelundefined 1 Reply Last reply Reply Quote 2
              • RajaaKahelundefined
                RajaaKahel @engikeneer
                last edited by

                @engikeneer Thank you, it makes sense!
                I got it to probe successfully now. And trying to figure out why it not compensation well. I see the Z motor moving tho. But still a bed corner got squished wide line and another corner is too thin.

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