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

Z Probe and Z Max End Stop Setup

Scheduled Pinned Locked Moved Solved
General Discussion
3
4
1.4k
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.
  • undefined
    JRCL
    last edited by 22 Apr 2022, 16:55

    @dc42 said in Quick question about Z endstops and z-probe:

    Assuming your BLTouch is reliable, there is no benefit to using a separate Zmin endstop switch.

    Some users like to have a Zmax endstop switch so that they can home to Z max when resuming a print after a power failure.

    I'm not necessarily doing it for power failure reasons but I was looking around at doing a setup like this and wondering what all is needed in the firmware to implement successfully? Currently, my endstop and Z Probe (BL Touch) configuration look like the below. Is all I need to do, is change my z end stop to a microswitch at the high end and leave the other Z-probe settings? I also hope to make a macro to home off z max, do I just need a G1 H1 command to send it to the top until it hits that probe, then back to Z=0? Maybe there is a good example in the documentation I haven't found yet or read over.

    ; Endstops
    M574 X1 S3 ; configure sensorless endstop for low end on X
    M574 Y1 S3 ; configure sensorless endstop for low end on Y
    M574 U2 S1 P"e0stop" ; configure switch-type (e.g. microswitch) endstop for low end on U via pin estop
    M574 V1 S3 ; configure sensorless endstop for low end on V
    M915 X Y R0 F0 S3 ; configure stall detection for X and Y
    M915 V R0 F0 S3 ; configure stall detection for V
    ; Z-Probe
    M950 S0 C"duex.pwm1" ; Duet 2 WiFi/Ethernet + DueX2/5
    M558 P9 C"^zprobe.in" H5 F120 T6000 ; Duet 2 WiFi/Ethernet, DueX2/5
    G31 P500 X0 Y0 Z5.985 ; set Z probe trigger value, offset and trigger height
    M557 X60:200 Y35:200 P3 ; define probing grid
    undefined 1 Reply Last reply 22 Apr 2022, 17:03 Reply Quote 0
    • undefined JRCL marked this topic as a question 22 Apr 2022, 16:55
    • undefined
      fcwilt @JRCL
      last edited by 22 Apr 2022, 17:03

      @jrcl

      Just to provide another perspective all of my printers have both a Z min endstop sensor and a Z probe.

      The homing code is simpler and can be faster. And in the case of a printer using multiple Z steppers the multiple Z endstop sensors can home and level the bed in situations where a Z probe would have difficulties.

      Regards a Z max endstop sensor - I don't have any of those. They are useful if you wish to resume printing after a power failure. That is not one of my concerns as all of my printers are on UPS devices that are fed by a backup generator. The generator takes 30 seconds or so to power up and stabilize. The UPS devices need only provide power until the generator is up and running.

      I'm not suggesting that is the "right" way to do things - it is just the way I do things.

      Frederick

      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      1 Reply Last reply Reply Quote 1
      • undefined
        Phaedrux Moderator
        last edited by Phaedrux 22 Apr 2022, 17:08

        For Zmax homing all you need is an endstop positioned at Zmax and configured as such.

        M574 Z2 S1 P"zstop"

        Then to home to zmax you need a macro that at minimum has this

        G91 ; relative movement
        G1 H1 Z400 F600

        Homing with the probe is completely separate.

        Here's a macro you can use to make measuring the exact length of the Z axis a bit easier. Use it as a reference, not exactly as it, because it won't match your setup, but you get the idea. In general it has you set Z0 by touching the nozzle to the bed and then measures the axis length with a G1 H3 move and saves that result with M500 to config-override.g

        ; 0:/macros/Bed Leveling/0_Set Zmax height.g
        ; Automates measuring the Zmax height for optical endstop at ~300mm
        ;
        M291 P"This will set Z0 and calibrate Zmax height" R"Proceed?" S3
        M291 P"Homing all axis" T5
        G28 ; Home all
        G90 ; Absolute positioning
        M98 P"0:/macros/0_Center Nozzle.g" ; Move nozzle to bed center
        M291 P"Adjust nozzle height until it's touching bed" Z1 S3
        G92 Z0 ; set Z0
        M291 P"Bed will now drop to Z300" S3
        G1 Z300 ; Move bed down 300mm
        G1 H3 Z300 F200
        M500 ; save m208 value for z axis to config override
        M291 P"Adjust optical endstop flag until light just turns off" R"Set Zmax=300mm" S3
        M291 P"ZMax homing will now be tested, starting with homing Zmin" S3
        M291 P"Homing to Zmin" T5
        G28 Z
        M291 P"Ready to test Zmax homing?" R"Proceed?" S3
        M291 P"Homing to Zmax" T5
        M98 P"0:/macros/2_HomeZMax.g" ; Test Zmax homing
        M291 P"ZMax homing test complete. Printer will now home all." R"Proceed?" S3
        G28 ; Home all
        M291 "ZMax calibration complete." S3

        Z-Bot CoreXY Build | Thingiverse Profile

        undefined 1 Reply Last reply 22 Apr 2022, 17:10 Reply Quote 2
        • undefined
          JRCL @Phaedrux
          last edited by 22 Apr 2022, 17:10

          @phaedrux Awesome! This is the type of stuff I was looking for, much appreciated.

          1 Reply Last reply Reply Quote 1
          • undefined JRCL has marked this topic as solved 22 Apr 2022, 17:10
          3 out of 4
          • First post
            3/4
            Last post
          Unless otherwise noted, all forum content is licensed under CC-BY-SA