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

    3 Z motor bedl leveling debug

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    18
    557
    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.
    • moth4017undefined
      moth4017 @alexus
      last edited by

      @alexus any reason why you didn't stick to a conventional x0 y0 at front left?

      <

      alexusundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @alexus
        last edited by

        @alexus

        When doing bed leveling

        • cancel any baby-stepping with M290 R0 S0
        • cancel mesh compensation with G29 S2
        • move the probe to the center of the bed using a G90 G1 command
        • set the Z=0 Datum with a G30 command
        • use the G32 command to do bed leveling
        • once the bed is level do a G30 command again

        You can use the "meta" features to do bed leveling in a loop and have it stop when a specified degree of levelness is obtained.

        This is from my bed.g file so the numbers won't apply to you. Notice the M671. Some folks put that in config.g. I put everything related to bed leveling in bed.g

        M671 X-180:0:180 Y-65:130:-65 S3 ; positions of ball studs
        
        ; --- level bed ---
        
        while true
          ; run leveling pass
        
          ; determine where to probe
        
          ; --- probe near ball studs ---
        
          G30 P0 X-145 Y-65 Z-99999    ; probe near ball stud #1
          G30 P1 X0    Y100 Z-99999    ; probe near ball stud #2
          G30 P2 X145  Y-65 Z-99999 S3 ; probe near ball stud #3
        
          ; check results - exit loop if results are good
        
          if move.calibration.initial.deviation < 0.02
            break
        
          ; check pass limit - exit loop if pass limit reached
        
          if iterations = 5
            break
        

        Also remember that you need to set the Z=0 Datum at bed center:

        • when creating the height map
        • when loading the height map

        Frederick

        Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • alexusundefined
          alexus @moth4017
          last edited by

          @moth4017
          original design was 4Z axis but i went back to backup setup

          @fcwilt
          tnx for description and loop script
          "Also remember that you need to set the Z=0 Datum at bed center:"

          • i assume this refferes to general Z0 setup or actual position to start measuring bed shold be 0?
          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @alexus
            last edited by fcwilt

            @alexus

            While some folks like to have X=0 Y=0 at the corner of their bed I much prefer it to be the center of the bed.

            To do this you set your X and Y min/max settings to be +/- half of the total range of each axis.

            So for a X axis with 300mm of range of movement and a Y axis of 200mm range the M208 would be:

            M208 X-150:150 Y-100:100
            

            Now this is just my preference but it is based on lots of experience with 8 different printers - some of which I designed and constructed myself - and all of them have been modified to suit me.

            So with X=0 Y=0 at the center of the bed that is where I set the Z=0 Datum by moving the probe to the center and doing the G30.

            Some folks like to set the Z=0 Datum using one of the points of the grid they use to create their height map. However I have different heightmaps for different situations and the only thing they have in common is that the center of the bed never changes and is always the center of the height map grid even if it doesn't coincide with a point on the grid.

            Frederick

            Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

            alexusundefined 1 Reply Last reply Reply Quote 0
            • alexusundefined
              alexus @fcwilt
              last edited by

              @fcwilt
              if bed center 0,0 i asusme slicer software needs to know about it?
              i run laser cutting machine so flat XY (also do custom buldids) for my brain easier to visualize one corner as absolute zero. though center of bed kinda make sense as id imagine it wold be best tuned point

              droftartsundefined 1 Reply Last reply Reply Quote 0
              • droftartsundefined
                droftarts administrators @alexus
                last edited by droftarts

                @alexus said in 3 Z motor bedl leveling debug:

                if bed center 0,0 i asusme slicer software needs to know about it?

                Yes, there's usually a printer configuration page for that.
                In Cura it's in Settings > Printer > Manage Printers > [select printer] > Machine Settings > Printer > Origin at center
                In PrusaSlicer it's in Printer Settings > Bed shape, then set the bed width and the origin on the bed:
                77c521d2-d783-49b8-8f61-2f5f0e71dbc6-image.png

                There's also a page in the Duet wiki about setting the bed origin in the middle: https://docs.duet3d.com/User_manual/Tuning/Bed_origin

                Ian

                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                fcwiltundefined 1 Reply Last reply Reply Quote 1
                • fcwiltundefined
                  fcwilt @droftarts
                  last edited by

                  @droftarts said in 3 Z motor bedl leveling debug:

                  setting the bed origin in the middle

                  All the best folks put the origin there - it's a fung shui thing. 😀

                  Frederick

                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                  alexusundefined 1 Reply Last reply Reply Quote 1
                  • alexusundefined
                    alexus @fcwilt
                    last edited by

                    @ droftarts
                    tnx i will take a look, i have cura 4.9 (as it seams last to work on Win7)

                    @fcwilt im not too superstitious 🙂 just yet maybe after few more failed 24h bulds 🙂

                    alexusundefined 1 Reply Last reply Reply Quote 1
                    • alexusundefined
                      alexus @alexus
                      last edited by alexus

                      is there way to automate G30 S-1 probe offset detection?
                      if i change nozzle or adjust screws seams to be too labor intense process to repeat all the time...
                      to make macro and run loop seams easy, but is there way to get a varianle with values and also how to write it back to config? is that possible? caz i thin just running macro makes more sense

                      droftartsundefined 1 Reply Last reply Reply Quote 0
                      • droftartsundefined
                        droftarts administrators @alexus
                        last edited by

                        @alexus said in 3 Z motor bedl leveling debug:

                        is there way to automate G30 S-1 probe offset detection?

                        A number of people have created Z probe offset macros. See https://forum.duet3d.com/search?term=macro+Z+offset&in=titles&matchWords=all

                        But it's going to depend on your printer and probe. If you don't have any way of measuring where the nozzle is (eg like @Exerqtor's macro), you're going to have to manually move the nozzle to the point where it touches the bed first, then you could run a macro that sets Z0, moves up then does G30 S-1, and then stores the probe offset.

                        Ian

                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                        alexusundefined 1 Reply Last reply Reply Quote 0
                        • alexusundefined
                          alexus @droftarts
                          last edited by

                          @droftarts
                          https://forum.duet3d.com/topic/30411/thoughts-on-an-auto-z-offsett-macro?_=1700771813497

                          that one seams to have good starting point but yea looks like very script will be build specific
                          good thing im good with coding bad thing im rearly have enough time when no one disrupts me

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