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

    Faster Z Homing with dual endstop (switch + probe)

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    7
    628
    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.
    • Nightreaverundefined
      Nightreaver
      last edited by

      Hello

      As the title sais, I'd like to add a second endstop to speed up the homing of my Z axis for my CoreXY.
      I'm having a BLTouch probe and due to its nature and for sake of safety the homing speed is pretty slow.
      But as many of you may know, with a bigger size printer homeing Z can take quite a while, specially when you are down to 300 or 400mm on that axis.

      So my idea is, to add a regular switch to the Z axis, for fast homing to bring the bed close to the probe... lets say 10 or 15mm, and then proceed the the proper (slow) homing via probe.

      I have been searching around and checking the g-codes but didnt really find anything yet.
      I found the M577 with S3, but there is no real explanation of this option.

      Any help appreciated.

      infiniteloopundefined 1 Reply Last reply Reply Quote 0
      • grizewaldundefined
        grizewald
        last edited by

        How fast will your CoreXY's Z axis actually move at full speed?

        Is the tiny amount of time (relative to how long any significant model takes to print) that it takes to home your Z axis really worth trying to shorten?

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

          You can modify the homing speed for the BLTouch temporarily to make the initial G30 dive faster.

          M558 A1 F400			; Set single probing at faster feed rate
          G30 				; Do a single probe to home our Z axis
          M558 A10 F100			; Set multi probing at slower feed rate
          G30				; Probe again to get a more accurate position
          

          You could add a seperate switch if you wished and simply configure it in your homing macros before use and then use G30 for the probe.

          If you don't trust the BLTouch to home fast, why trust it to home slow? You should be reducing the motor current for homing moves anyway.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • Nightreaverundefined
            Nightreaver
            last edited by

            Well, my regular travel speed is at 1000mm/min, and probing speed is 100mm/min, so its noticably different.
            And I'm kind of afraight to raise the probing speed that much as idk how the probe will react to faster movements... i dont wanna crush my glass bed 🙂
            So I kind of wanted to use full speed homing to that second endstop.

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

              Well with the motor currents minimized there's. It much difference between the probe or an endstop. Ideally if the current is low enough even a crash should just cause the motors to skip.

              An optical endstop could be used to allow for passing through it. But you have to ensure you're always going to be below it before homing.

              But the bltouch will behave the same even at higher speeds. It's nothing more than a switch itself.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • grizewaldundefined
                grizewald @Nightreaver
                last edited by

                @Nightreaver said in Faster Z Homing with dual endstop (switch + probe):

                Well, my regular travel speed is at 1000mm/min, and probing speed is 100mm/min, so its noticably different.
                And I'm kind of afraight to raise the probing speed that much as idk how the probe will react to faster movements... i dont wanna crush my glass bed 🙂
                So I kind of wanted to use full speed homing to that second endstop.

                I don't see any reason why you cannot initially home with the BL-Touch at 1000mm/min. Antclabs, in their own documentation, have suggested using a feed rate of 1500mm/min for the fast homing phase and 375mm/min for the slower probe.

                See: https://www.reprap.me/media/support/BLTouch-Classic1122.pdf

                1 Reply Last reply Reply Quote 0
                • infiniteloopundefined
                  infiniteloop @Nightreaver
                  last edited by

                  @Nightreaver You just need a switch which triggers near the top position of the bed but allows the bed to rise further, keeping the switch triggered. In homez.g, you use the switch for a first (and fast) approximation, then, you move over to the Z-probe. I’ve exactly done that with my cartesian and am very happy with this solution. It’s all in homez.g, so that macro has to be invoked whenever Z is to be homed. Here’s my homez.g - for your CoreXY, you just have to think Z upside down. And, as I don’t use a BLTouch, you will have to adjust the corresponding Gcodes accordingly.

                  ; Home the Z-axis
                  
                  ; Z homing happens in 3 steps:
                  ;	1. Move down until the Z switch triggers (if already at or below this level, this is a NOP).
                  ;	2. Move up until we are well above the trigger level, then go down until the switch triggers.
                  ;		This move sets Z to a well defined level above the bed (well, it's not really that precise).
                  ;	3. Slowly step down to the bed surface using the analog probe.
                  ; This approach ensures that we do not exceed the top end of the Z axis, which might happen if the
                  ; print head was moved up before to get it out of the way. In our second step, we reach a well defined
                  ; height. Then, we lower the distance to the bed and deploy the probe to perform the final adjustment.
                  
                  
                  M400								; wait until all moves are finished
                  
                  G91								; relative mode
                  M574 Z1 S1							; Z axis uses switch
                  G1 H1 Z-400 F6000						; move Z down (if switch is not triggered) until the switch triggers
                  G1 H2 Z20 F6000							; raise head 20 mm to ensure it is above the trigger level
                  G1 H1 Z-25 F500							; move Z down slowly until the switch triggers
                  G92 Z10								; say this height is 10 mm above a provisional 0 
                  G90								; back to absolute mode
                  
                  M564 S0								; unlimit axes
                  G1 X0 Y-10 Z0 F10000						; put head over the center of the bed (Note: compensate for probe Y offset)
                  M400								; wait until all moves are finished
                  
                  ; set up the Z probe:
                  M574 Z1 S2							; Z axis uses probe
                  M558 P1 F400 T10000 H4 A9 S0.004 R0.0				; mode 1 (analog in), F=probing speed, T=travel speed, H=dive height
                  								; 				A=repetitions, S=tolerance, R=recovery time
                  G31 T1 P500 X0 Y9 Z2.20						; configure probe physics; P=trigger value, Z=probe offset
                  
                  G30								; run probe, stop when probe triggers and set Z to trigger height
                  M564 H1 S1							; limit the axes
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post
                  Unless otherwise noted, all forum content is licensed under CC-BY-SA