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

    configuring Dual Z w/ Dual Z endstops....

    Scheduled Pinned Locked Moved
    General Discussion
    3
    25
    1.3k
    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.
    • dingo007undefined
      dingo007 @Veti
      last edited by

      @Veti must have been cashed in the browser.... ok went through it again i see 3 issues..... doesnt appear to let me map E1 to Z2 ... manual edit i guess, hrmm hows the second Z stop get configured LOL 🙂 kill me now... ok ok putting on the patience hat.... and second BLtouch is blanked out 🙂 ... i generated what i could for V3 lemme start manually editing to match what i had for v2 ......

      1 Reply Last reply Reply Quote 0
      • Vetiundefined
        Veti
        last edited by

        @dingo007 said in configuring Dual Z w/ Dual Z endstops....:

        and second BLtouch is blanked out

        you need to assign PWM Control Channel (BLTouch only) in io mapping

        dual z stop is explained here
        https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3

        dingo007undefined 1 Reply Last reply Reply Quote 0
        • dingo007undefined
          dingo007 @Veti
          last edited by

          @Veti wow this config is really confusing now.....

          rr2 config.g
          ; Drives
          M569 P0 S0 ; physical drive 0 goes forwards
          M569 P2 S1 ; physical drive 2 goes forwards
          M569 P1 S1 ; physical drive 1 goes forwards
          M569 P3 S0 ; physical drive 3 goes forwards
          M569 P4 S0 ; physical drive 4 goes forwards
          M584 X0 Y2 Z1:4 E3 ; set drive mapping
          M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z800.00 E420.00 ; set steps per mm
          M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
          M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
          M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
          M906 X800 Y800 Z800 E800 I80 ; 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 X350 Y350 Z850 S0 ; set axis maxima

          ; Endstops
          M574 X1 Y1 Z1 S0 ; set active low and disabled endstops

          rr3 config (makes no sense) (M584 X0 Y2 Z1 E3:4 should be M584 X0 Y2 Z1:4 E3 )

          ; Drives
          M569 P0 S1 ; physical drive 0 goes forwards
          M569 P2 S0 ; physical drive 2 goes backwards
          M569 P1 S0 ; physical drive 1 goes backwards
          M569 P3 S1 ; physical drive 3 goes forwards
          M569 P4 S0 ; physical drive 4 goes backwards
          M584 X0 Y2 Z1 E3:4 ; set drive mapping
          M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
          M92 X80.00 Y80.00 Z800.00 E420.00:420.00 ; set steps per mm
          M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
          M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
          M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
          M906 X800 Y800 Z800 E800:800 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 X350 Y350 Z850 S0 ; set axis maxima

          ; Endstops
          M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
          M574 Y1 S0 P"zstop" ; configure active-low endstop for low end on Y via pin zstop
          M574 Z1 S0 P"ystop" ; configure active-low endstop for low end on Z via pin ystop

          dingo007undefined Vetiundefined 2 Replies Last reply Reply Quote 0
          • dingo007undefined
            dingo007 @dingo007
            last edited by

            @dingo007 me thinks i see what its doing. it should be
            ; Drives
            M569 P0 S0 ; physical drive 0 goes forwards
            M569 P2 S1 ; physical drive 2 goes backwards
            M569 P1 S1 ; physical drive 1 goes backwards
            M569 P3 S0 ; physical drive 3 goes forwards
            M569 P4 S0 ; physical drive 4 goes backwards
            M584 X0 Y2 Z1:4 E3 ; set drive mapping
            M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
            M92 X80.00 Y80.00 Z800.00:800.00 E420.00 ; set steps per mm
            M566 X900.00 Y900.00 Z12.00:12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
            M203 X6000.00 Y6000.00 Z180.00:180 E1200.00 ; set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00:20.00 E250.00 ; set accelerations (mm/s^2)
            M906 X800 Y800 Z800:800 E800 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 X350 Y350 Z850 S0 ; set axis maxima

            ; Endstops
            M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
            M574 Y1 S0 P"zstop" ; configure active-low endstop for low end on Y via pin zstop
            M574 Z1 S0 P"ystop" ; configure active-low endstop for low end on Z via pin ystop

            1 Reply Last reply Reply Quote 0
            • Vetiundefined
              Veti @dingo007
              last edited by

              @dingo007 said in configuring Dual Z w/ Dual Z endstops....:

              rr3 config (makes no sense) (M584 X0 Y2 Z1 E3:4 should be M584 X0 Y2 Z1:4 E3 )

              yes change it. thats the manual change that you did.

              dingo007undefined 1 Reply Last reply Reply Quote 0
              • Vetiundefined
                Veti
                last edited by

                @dingo007 said in configuring Dual Z w/ Dual Z endstops....:

                M574 Z1 S0 P"ystop" ; configure active-low endstop for low end on Z via pin ystop

                now add your second stop like this
                M574 Z1 S0 P"ystop+e0stop" ; configure active-low endstop for low end on Z via pin ystop

                dingo007undefined 1 Reply Last reply Reply Quote 0
                • dingo007undefined
                  dingo007 @Veti
                  last edited by

                  @Veti
                  And below where it states, makes completely no sense to my brain, can someone explain ?
                  You must use the M671 command to define the X and Y coordinates of the leadscrews
                  where my left and right Z screws are at 225 to the bed which is centered of the 450x450 bed

                  M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                  M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

                  dingo007undefined 1 Reply Last reply Reply Quote 0
                  • dingo007undefined
                    dingo007 @Veti
                    last edited by

                    @Veti said in configuring Dual Z w/ Dual Z endstops....:

                    M574 Z1 S0 P"ystop+e0stop" ; configure active-low endstop for low end on Z via pin ystop

                    Im using Y and E1 so.....
                    M574 Z1 S0 P"ystop+e1stop" ; configure active-low endstop for low end on Z via pin ystop

                    1 Reply Last reply Reply Quote 0
                    • dingo007undefined
                      dingo007 @dingo007
                      last edited by dingo007

                      @dingo007 i guess its..... ???

                      M671 X0:250 Y0:250 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                      M208 X0:250 Y0:250 ; X carriage moves from 0 to 250, Y carraige goes from 0 to 250

                      1 Reply Last reply Reply Quote 0
                      • Vetiundefined
                        Veti
                        last edited by

                        @dingo007 said in configuring Dual Z w/ Dual Z endstops....:

                        M671 X0:250 Y0:250 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis

                        what are you trying to do now? dual z endstop or independent leveling?
                        thats only needed for the second one.

                        dingo007undefined 1 Reply Last reply Reply Quote 0
                        • dingo007undefined
                          dingo007 @Veti
                          last edited by

                          @Veti the document you sent me https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

                          1 Reply Last reply Reply Quote 0
                          • dingo007undefined
                            dingo007
                            last edited by

                            final RR3 config
                            config.g
                            ; Drives
                            M569 P0 S1 ; physical drive 0 goes forwards
                            M569 P2 S0 ; physical drive 2 goes backwards
                            M569 P1 S0 ; physical drive 1 goes backwards
                            M569 P3 S1 ; physical drive 3 goes forwards
                            M569 P4 S0 ; physical drive 4 goes backwards
                            M584 X0 Y2 Z1:4 E3 ; set drive mapping
                            M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
                            M92 X80.00 Y80.00 Z800.00:800.00 E420.00 ; set steps per mm
                            M566 X900.00 Y900.00 Z12.00:12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                            M203 X6000.00 Y6000.00 Z180.00:180.00 E1200.00 ; set maximum speeds (mm/min)
                            M201 X500.00 Y500.00 Z20.00:20.00 E250.00 ; set accelerations (mm/s^2)
                            M906 X800 Y800 Z800:800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                            M84 S30 ; Set idle timeout

                            M671 X0:250 Y0:250 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                            M208 X0:250 Y0:250 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

                            ; Axis Limits
                            M208 X0 Y0 Z0 S1 ; set axis minima
                            M208 X350 Y350 Z850 S0 ; set axis maxima

                            ; Endstops
                            M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
                            M574 Y1 S0 P"zstop" ; configure active-low endstop for low end on Y via pin zstop
                            ;M574 Z1 S0 P"ystop" ; configure active-low endstop for low end on Z via pin ystop
                            M574 Z1 S0 P"ystop+e1stop" ; configure active-low endstop for low end on Z via pin ystop

                            bed.g

                            ; bed.g
                            ; called to perform automatic bed compensation via G32
                            ;
                            ; generated by RepRapFirmware Configuration Tool v2.1.5 on Fri Jan 10 2020 16:18:31 GMT+0700 (Indochina Time)
                            M561 ; clear any bed transform
                            G29 ; probe the bed and enable compensation
                            G28 ; home
                            ;M401 ; deploy Z probe (omit if using bltouch)
                            G30 P0 X250 Y250 Z-99999 ; probe near a leadscrew, half way along Y axis
                            G30 P1 X250 Y250 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                            ;M402 ; retract probe (omit if using bltouch)

                            1 Reply Last reply Reply Quote 0
                            • Vetiundefined
                              Veti
                              last edited by

                              did you try homing?

                              dingo007undefined 2 Replies Last reply Reply Quote 0
                              • dingo007undefined
                                dingo007 @Veti
                                last edited by

                                @Veti not yet, waiting for a print to finish before i reflash to 3.x

                                1 Reply Last reply Reply Quote 0
                                • dingo007undefined
                                  dingo007 @Veti
                                  last edited by

                                  @Veti Okay so it doesnt home Z the way i would think. 1 end stop per Z axis .... cut the motor per side when end stop triggered. the right (Y) Z end stop both from movement, where i would think the opposite side would continue to move until its end stop was triggered.

                                  config.g
                                  ; Drives
                                  M569 P0 S0 ; physical drive 0 goes forwards
                                  M569 P2 S1 ; physical drive 2 goes backwards
                                  M569 P1 S1 ; physical drive 1 goes backwards
                                  M569 P3 S0 ; physical drive 3 goes forwards
                                  M569 P4 S1 ; physical drive 4 goes backwards
                                  M584 X0 Y2 Z1:4 E3 ; set drive mapping
                                  M350 X16 Y16 Z16:16 E16 I1 ; configure microstepping with interpolation
                                  M92 X80.00 Y80.00 Z800.00:800.00 E420.00 ; set steps per mm
                                  M566 X900.00 Y900.00 Z12.00:12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                                  M203 X6000.00 Y6000.00 Z180.00:180.00 E1200.00 ; set maximum speeds (mm/min)
                                  M201 X500.00 Y500.00 Z20.00:20.00 E250.00 ; set accelerations (mm/s^2)
                                  M906 X800 Y800 Z800:800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                                  M84 S30 ; Set idle timeout

                                  M671 X0:250 Y0:250 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                                  M208 X0:250 Y0:250 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

                                  ; Axis Limits
                                  M208 X0 Y0 Z0 S1 ; set axis minima
                                  M208 X350 Y350 Z850 S0 ; set axis maxima

                                  ; Endstops
                                  M574 X1 S0 P"xstop" ; configure active-low endstop for low end on X via pin xstop
                                  M574 Y1 S0 P"zstop" ; configure active-low endstop for low end on Y via pin zstop
                                  ;M574 Z1 S0 P"ystop" ; configure active-low endstop for low end on Z via pin ystop
                                  M574 Z1 S0 P"ystop+e1stop" ; configure active-low endstop for low end on Z via pin ystop

                                  ; Z-Probe
                                  M558 P1 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
                                  G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
                                  M557 X15:215 Y15:195 S20 ; define mesh grid

                                  bed.g
                                  ; bed.g
                                  ; called to perform automatic bed compensation via G32
                                  ;
                                  ; generated by RepRapFirmware Configuration Tool v2.1.5 on Fri Jan 10 2020 16:18:31 GMT+0700 (Indochina Time)
                                  M561 ; clear any bed transform
                                  G29 ; probe the bed and enable compensation
                                  G28 ; home
                                  ;M401 ; deploy Z probe (omit if using bltouch)
                                  G30 P0 X250 Y250 Z-99999 ; probe near a leadscrew, half way along Y axis
                                  G30 P1 X250 Y250 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                                  ;M402 ; retract probe (omit if using bltouch)

                                  1 Reply Last reply Reply Quote 0
                                  • Vetiundefined
                                    Veti
                                    last edited by

                                    this has to be answerd by dc

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