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

    3 Z axis and homing

    Scheduled Pinned Locked Moved
    General Discussion
    2
    19
    1.0k
    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.
    • kb58undefined
      kb58
      last edited by

      Endstop switches are at the physical top end of the Z stepper travel, meaning near the nozzle.

      Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

      1 Reply Last reply Reply Quote 0
      • kb58undefined
        kb58
        last edited by kb58

        Some of my confusion is coming from what "high end" and "low end" mean for stop switches on the Z axis. If zero is at the nozzle, does putting the switch there make it the high end because it's physically high, or is it considered the low end because of the numerical value of zero at that location?

        Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

        fcwiltundefined 3 Replies Last reply Reply Quote 0
        • fcwiltundefined
          fcwilt @kb58
          last edited by

          @kb58 said in 3 Z axis and homing:

          Some of my confusion is coming from what "high end" and "low end" mean for stop switches on the Z axis. If zero is at the nozzle, does putting the switch there make it the high end because it's physically high, or is it considered the low end because of the numerical value of zero at that location?

          Yes the terms "high end" and "low end" can be confusing.

          In this case low means near the axis min and high means near the axis max.

          Perhaps they use those terms because endstop sensors are not required to be exactly at axis min or max.

          As mentioned when a G1 H1 move triggers the endstop sensor the axis position is set to axis min or axis max. I believe the endstop sensor setting of low or high controls this.

          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
          • fcwiltundefined
            fcwilt @kb58
            last edited by

            @kb58

            In my option when you have multiple Z endstop sensors, as you do, it makes more sense to home using G1 H1 moves rather than the Z probe.

            The homing "levels' the bed to the degree the Z endstop sensors trigger at the correct point to achieve a level bed. The firmware moves each Z axis until the associated endstop sensor triggers. When all Z endstop sensors have been triggered the homing is finished.

            Then you can use G32 and the bed.g file to use the Z probe to "fine tune" the bed leveling.

            This is the way my triple Z printer works.

            Here is a quick and dirty video showing the "rough leveling" achieved during homing with the multiple endstop sensors and then the "fine leveling" achieved use the Z probe.

            I have intentionally put the bed seriously out of level to more clearly show the "leveling" action of the multiple endstop sensors.

            triple Z homing video

            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
            • fcwiltundefined
              fcwilt @kb58
              last edited by

              @kb58

              Here is the basic Z homing code from that printer:

              G1 Z-399 F1200 H1 ; move up until endstop switch is activated
              G1 Z20   F1200    ; move down a bit
              G1 Z-25  F600  H1 ; move up until endstop switch is activated
              
              

              which is then followed by a G32 to run bed.g to auto-level the bed using the Z probe.

              Here is the essential code from bed.g:

              M671 X-180:0:180 Y-65:130:-65 S3 ; positions of lead screws
              
              ; --- level bed ---
              
              while true
                ; run leveling pass
              
                ; --- probe near lead screws ---
              
                G30 P0 X-145 Y-65 Z-99999
                G30 P1 X0    Y100 Z-99999
                G30 P2 X145  Y-65 Z-99999 S3
              
                ; check results - exit loop if results are good
              
                if move.calibration.initial.deviation < 0.02
                  break
              
                ; check pass limit - abort if pass limit reached
              
                if iterations = 5
                  M291 P"Bed Leveling Aborted" R"Pass Limit Reached"
                  abort "Bed Leveling Aborted - Pass Limit Reached"
              
              ; --- finish up ---
              
              G1 Xaaa Ybbb ; move Z probe to center of bed - aaa and bbb would be determined for your printer
              
              G30          ; set Z=0 datum 
              
              

              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
              • kb58undefined
                kb58
                last edited by

                I'll look into using G1 H1. Keep in mind that I gathered the information on creating these files from multiple sources. Some of it hasn't been tested yet and is no doubt completely wrong, but for the purposes of this thread, I'll stick to just Z homing.

                What you're describing is my end goal, to have the three steppers home to the switches, then do a three point probe to do fine leveling. As mentioned, I very likely have lines of code that are either wrong or have no business being there, but I'm slowly coming up on the learning curve for all of this.

                Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

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

                  @kb58

                  Some folks don't use Z endstop sensors and rely on the Z probe.

                  I always install Z endstop sensors.

                  As you can see from the video, multiple endstop sensors can cope with a bed way out of level - a Z probe can have serious problems trying to do that.

                  You did watch the video, didn't you?

                  I use the Z probe for:

                  • auto-leveling the bed
                  • creating the height map needed for mesh bed compensation
                  • setting the Z=0 datum which I always do with the probe at the center of the bed

                  Note that setting the Z=0 datum:

                  • needs to always be done at the same XY location
                  • needs to be done after auto-bed leveling
                  • needs to be done before creating/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
                  • kb58undefined
                    kb58
                    last edited by

                    Thanks, and yes I watched your video... actually saw it several days ago while looking on YT for just this setup. As mentioned, as it is right now, all three Z steppers are driving to the endswitches, so now it's a matter of following that by probing for fine leveling. The Pinda probe isn't yet connected or calibrated, so there's still a long way to go.

                    Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

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

                      @kb58 Glad to hear you are making progress.

                      Let me know if you need more input.

                      Frederick

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

                      kb58undefined 1 Reply Last reply Reply Quote 0
                      • kb58undefined
                        kb58 @fcwilt
                        last edited by

                        @fcwilt Oh I will! I grew up using assembly language on 1802 and 6800 microprocessors, and it's pretty amazing what's out there now. As I head toward retirement, it's nice to get back into coding and hardware.

                        Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

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

                          @kb58 said in 3 Z axis and homing:

                          @fcwilt Oh I will! I grew up using assembly language on 1802 and 6800 microprocessors, and it's pretty amazing what's out there now. As I head toward retirement, it's nice to get back into coding and hardware.

                          I never worked with those - started on the 8080 and then the Z80 and then the 8085.

                          I tried a few others but the 8085 did everything I needed.

                          The first eprom chips I used were only 256 bytes and I didn't have the "luxury" of an assembler.

                          Just coded in hex (knew the commands by heart) which was punched to tape, loaded on another machine and then burnt to the eprom.

                          Didn't care for the 8086 design and by the time the "sensible" designs came out I was no longer doing hardware.

                          Those early days were fun.

                          Frederick

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

                          kb58undefined 1 Reply Last reply Reply Quote 0
                          • kb58undefined
                            kb58 @fcwilt
                            last edited by

                            @fcwilt yup, bytes, all entered by hand, no assembler. I tried working with some of the Intel processors but just connected better with Motorola processors, 6800, 6802, 6809, and the 68HC11. That was, oh, 50 years ago... good times.

                            Scratch-built 350mmx350mm coreXY, linear rails, ballscrews, 3 Z axis, Duet3 6HC, v3.3, Tool Board v1.1, BondTech LGX + Mosquito hot end

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