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

    Dual Z Towers BL Touch Configuration

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    3
    5
    202
    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.
    • demodemoundefined
      demodemo
      last edited by demodemo

      Hello, I'm currently building a machine which has 2 independent Z towers (1 for each extruder, similar to Zidex https://www.drdflo.com/pages/Projects/Zidex.html). The 2 towers are synced during operation, but separately operated during z homing.

      In homez.g, I have configured the BL touch declaration separately, and only when the BL touch is needed for homing each tower.

      The movements are executed per expected, BL touch for Tower 1 and Tower 2 are declared and G30 bed probe accordingly. However, I adjust the Tower 2 Z trigger height of Bltouch, the offset is applied to the first BLtouch of Tower 1 together with Tower 2, which is unexpected.

      Therefore, I'm unable to make Tower 1 nozzle and Tower 2 nozzle to lightly touch bed at z=0, when Tower 1 nozzle is perfect, Tower 2 nozzle is too far from bed, when Tower 2 nozzle is perfect, Tower 1 nozzle reaches too low into bed.

      I'd like to seek any advice to see why my configurations of homez.g having separate BL touch configurations, the Z trigger height seems to apply to both cases.

      I'd be grateful for any help and happy to supplement with more details. Thank you very much in advance.

      ; homez.g
      ; called to home the Z axis
      ;
      
      M584 Z0.2                                   ; Split the 2 Z towers for independent control. this will move tower 1 only
      T0 P0                                       ; Select Tool 0 without running tfree tpre tpost
      
      G1 X0 Y0 F6000                              ; 
      G1 X150 Y150 F6000                          ; move T0 into center position
      
      M950 S0 C"io7.out"                          ; create servo pin 0 for BLTouch 0
      M558 P9 C"io7.in" H10 F300 T6000            ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X-45 Y-75 Z2.5                       ; set Z probe trigger value, offset and trigger height
      M557 X30:280 Y30:280 S50                    ; define mesh grid
      
      G30                                         ; this will home and probe the tower 1
      M280 P0 S160                                ; retract again if probe retract fails
      G29 S1 			                            ; load height map
      
      M584 Z0.5                                   ; Split the 2 Z towers for independent control. this will move tower 2 only
      T1 P0                                       ; Select Tool 1 without running tfree tpre tpost
      
      G1 U150 Y150 F6000                          ; move t1 into center position
      
      M950 S0 C"io4.out"                          ; create servo pin 0 for BLTouch 0
      M558 P9 C"io4.in" H10 F300 T6000            ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 U35 Y10 Z2.5                       ; set Z probe trigger value, offset and trigger height
      M557 U50:250 Y50:250 S50                    ; define mesh grid
      
      G30                                         ; this will home and probe the tower 2
      M280 P0 S160                                ; retract again if probe retract fails
      G29 S1                                      ; load height map
      
      
      
      T0 P0                                       ; Select Tool 0 without running tfree tpre tpost
      M584 Z0.2:0.5
      
      ;DEFINE IO7 PROBE AS DEFAULT
      M950 S0 C"io7.out"                          ; create servo pin 0 for BLTouch 0
      M558 P9 C"io7.in" H10 F300 T6000            ; set Z probe type to bltouch and the dive height + speeds
      G31 P500 X-45 Y-75 Z2.5                     ; set Z probe trigger value, offset and trigger height
      M557 X30:280 Y30:280 S50                    ; define mesh grid
      
      danzaywerundefined 1 Reply Last reply Reply Quote 0
      • danzaywerundefined
        danzaywer @demodemo
        last edited by

        @demodemo not how such a situation is handled, I would leave z with 2 motors and try to create 2 additional axes with a single motor, I would do the homing of the 2 axes and then do the homin of z and see if it keeps the offset

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

          @demodemo use the M558 K parameter to define the two probes individually, see https://duet3d.dozuki.com/Wiki/M558#Section_M558_in_RepRapFirmware_Num_3. Then probe with G30 K# to define which probe to use for each Z axis. Then you don’t have to keep redefining the probe.

          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

          demodemoundefined 1 Reply Last reply Reply Quote 2
          • demodemoundefined
            demodemo @droftarts
            last edited by

            @droftarts thank you for your advice.

            I now understand that a K value can be inserted to M558 command to configure separate z probes.
            what about M950 where the BLtouch servo pin is declared, how do I change M950 command for each servo to correspond to each k value Bltouch specifically?

            Thank you very much.

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

              @demodemo M950 S0 for first, M950 S1 for second, where S is the servo number. Make separate deploy and retract Gcode files for each probe and servo; use deployprobe0.g and retractprobe0.g for probe 0, deployprobe1.g and retractprobe1.g for probe 1. Deploy and retract macros should reference the respective servo for each probe.

              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

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