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

    Dual Z bed leveling using BLTouch

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    17
    1.7k
    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.
    • JamesMundefined
      JamesM
      last edited by

      I'm in the process of building the BLV corexy printer and I'm looking to utilize the dual Z bed leveling as described in the Wiki https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Example_for_2_motors

      I"m not very good with the gcode stuff and wanted to just verify some things and have a spot to ask questions as they arise.

      Looking at the wiki, am I correct that I won't have to un-hide the second motor that I will attach to the second extruder stepper driver? Is this handled automatically by the M671 command that gets put in the config.g file?

      What I would like to do is to set it up to do an initial home of x & y and z in the center of the bed using my BLTouch and then have it probe each side of the bed in line with the 2 leadscrews to align/sync the leadscrews.

      So in my config.g I would need something like this

      M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z and E1
      M671 X-40:340 Y150:150 S1.0 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
      M208 X-5:300 Y0:300 ; X carriage moves from -5 to 300, Y bed goes from 0 to 300

      What I don't understand is how to do the homing. The wiki says the calibration happens when G32 is performed but how is that called/commanded? Do I need to modify the homeall and homez files other than setting my coordinates for homing z to be in the middle of the bed?

      The wiki shows this needs to be put in bed.g (I will comment out the M401 and M402 lines since I'll be using a bltouch)

      G28 ; home
      M401 ; deploy Z probe (omit if using bltouch)
      G30 P0 X20 Y150 Z-99999 ; probe near a leadscrew, half way along Y axis
      G30 P1 X280 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
      M402 ; retract probe (omit if using bltouch)

      I appreciate any help with this. I'm just trying to get my files all set up so once I'm finished building the printer I'll be ready to go.

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

        @jamesm said in Dual Z bed leveling using BLTouch:

        I'm in the process of building the BLV corexy printer and I'm looking to utilize the dual Z bed leveling as described in the Wiki https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Example_for_2_motors

        I"m not very good with the gcode stuff and wanted to just verify some things and have a spot to ask questions as they arise.

        Looking at the wiki, am I correct that I won't have to un-hide the second motor that I will attach to the second extruder stepper driver? Is this handled automatically by the M671 command that gets put in the config.g file?

        yes as its not an additional axis.

        What I would like to do is to set it up to do an initial home of x & y and z in the center of the bed using my BLTouch and then have it probe each side of the bed in line with the 2 leadscrews to align/sync the leadscrews.

        for this add G32 to the end of homeall.g

        So in my config.g I would need something like this

        M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z and E1
        M671 X-40:340 Y150:150 S1.0 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
        M208 X-5:300 Y0:300 ; X carriage moves from -5 to 300, Y bed goes from 0 to 300

        M584 needs to define all motors. you forgot the e output. also see the notes in the documentation about the order.

        What I don't understand is how to do the homing. The wiki says the calibration happens when G32 is performed but how is that called/commanded? Do I need to modify the homeall and homez files other than setting my coordinates for homing z to be in the middle of the bed?

        see above.

        The wiki shows this needs to be put in bed.g (I will comment out the M401 and M402 lines since I'll be using a bltouch)

        G28 ; home
        M401 ; deploy Z probe (omit if using bltouch)
        G30 P0 X20 Y150 Z-99999 ; probe near a leadscrew, half way along Y axis
        G30 P1 X280 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
        M402 ; retract probe (omit if using bltouch)

        I appreciate any help with this. I'm just trying to get my files all set up so once I'm finished building the printer I'll be ready to go.

        JamesMundefined 1 Reply Last reply Reply Quote 0
        • JamesMundefined
          JamesM @Veti
          last edited by

          @veti

          Thank you very much for the input. I was just copying what was in the wiki and will put the E axis in the M584 as well.

          This build is being a real pain for me trying to get all the extrusions square and level. Realized last night when I went to mount the z-motor mounts that the extrusions on the bottom sides are not level so now I have to take a bunch back apart again. UGH!!!

          In the end I'm looking forward to having a nice corexy printer. My current printers are a fairly modified Ender 3 and a slightly modified Lulzbot Taz 6 both running Duet wifi boards.

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

            if you have 2020 extrusions here is what i use.
            https://www.aliexpress.com/item/32848849259.html

            JamesMundefined 1 Reply Last reply Reply Quote 0
            • zaptaundefined
              zapta @JamesM
              last edited by

              @jamesm said in Dual Z bed leveling using BLTouch:

              the extrusions on the bottom sides are not level

              I shimmed the Z steppers mount to make sure the vertical lead screws are consistent with the travel of the bed carriage all the way up. You also want to have some free play in the lead screw mount such that you can adjust it a little before to tighten the screws.

              1 Reply Last reply Reply Quote 0
              • JamesMundefined
                JamesM @Veti
                last edited by

                @veti those won't work because there is a vertical 20-40 in line with the stepper that the linear rail fastens to. I'll just take my time to make sure everything is right. I don't want to cut any corners on this..trying my best..lol

                1 Reply Last reply Reply Quote 0
                • JamesMundefined
                  JamesM
                  last edited by

                  Since I'm utilizing a second stepper driver for the second z leadscrew, do I need to add to my existing settings like motor currents, accelerations, instantaneous speed changes with a colon after the z-setting or since both motors are for the z-axis does the single setting stand?

                  Below is what I was wondering if I had to do

                  M92 X200.00 Y200.00 Z1600.00:1600.00 E846.00 ; Set steps per mm
                  M566 X900.00 Y900.00 Z12.00:12.00 E1200.00 ; Set maximum instantaneous speed changes (mm/min
                  M203 X10000.00 Y10000.00 Z180.00:180.00 E10000.00 ; Set maximum speeds (mm/min)
                  M201 X500.00 Y500.00 Z20.00:20.00 E1500.00 ; Set accelerations (mm/s^2)
                  M906 X1600.00 Y1600.00 Z1600.00:1600.00 E960.00 I30 ; Set motor currents (mA) and motor idle factor in per cent

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

                    no the z settings will apply to all if your M584 is correct

                    1 Reply Last reply Reply Quote 0
                    • JamesMundefined
                      JamesM
                      last edited by

                      @veti Thanks again.

                      1 Reply Last reply Reply Quote 0
                      • JamesMundefined
                        JamesM
                        last edited by

                        I'm getting close to hooking up my Duet to my new printer and after thinking about this setup, can mesh bed leveling still be used when syncing up the dual z-leadscrews? The reason I ask is that the bed.g file has to be changed for the dual z sync and I would assume the G29 command has to be removed/commented out for the two G30 commands to be performed.

                        I don't want to run mesh bed compensation every time I turn on the printer and for all I know I may not need to now that I have a MIC-6 bed but it will have a Wham Bam magnetic plate on it so I'm sure that won't be perfectly flat.

                        This is what I "assume" my bed.g needs to be for the dual-z sync

                        G28 ; home
                        M561 ; clear any bed transform
                        G30 P0 X20 Y170 Z-99999 ; probe near a leadscrew, half way along Y axis
                        G30 P1 X300 Y170 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors

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

                          it depends.
                          if your bed is perfectly flat then the G32 that does the z adjustment is fine.

                          if its not perfectly flat then the G32 will move the bed in such a way as to minimize the deviation.
                          the mesh bed levelling G29 will is still required to compensate for the flatness of the bed itself.

                          1 Reply Last reply Reply Quote 0
                          • JamesMundefined
                            JamesM
                            last edited by

                            So do I have to leave the G29 in the bed.g file or can I just call it from DWC manually entering it on the top as long as I have the grid settings defined in my config.g file with the M557 define mesh grid?

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

                              i call G29 from the initial G Code for printing and do the G32 z adjustment manually from time to time.
                              You could also do G32 and G29 in the initial printing g code if the extra time does not bother you.

                              1 Reply Last reply Reply Quote 0
                              • JamesMundefined
                                JamesM
                                last edited by

                                Well I need to get that G32 out of the config.g file...I made a change to the config remotely while at work which rebooted the duet and there were prints on the bed from last night that finished after I left for work this morning. Now I can't re-connect to the printer and it must be hammering against the prints trying to re-home.

                                Guess I'll put it at the end of the homeall file instead.

                                1 Reply Last reply Reply Quote 0
                                • MilošSundefined
                                  MilošS
                                  last edited by

                                  Hi James, have you managed to resolve this? I have just started looking into this feature of having an independent Z axis leveling, but also using the BLTouch.

                                  Miloš

                                  JamesMundefined 2 Replies Last reply Reply Quote 0
                                  • JamesMundefined
                                    JamesM @MilošS
                                    last edited by

                                    @MilošS I have it working fine but I am not home to be able to post up config.g or bed.g. I'm now using a triple z setup on my corexy printer for the bed.

                                    1 Reply Last reply Reply Quote 0
                                    • JamesMundefined
                                      JamesM @MilošS
                                      last edited by

                                      @MilošS

                                      Here is my config.g file

                                      config.g

                                      And here is my bed.g file

                                      bed.g

                                      Every once in a while I equalize the leadscrews just by a quick macro I created which only has a G32 command in it but my bed really doesn't move when I turn the printer off so I only do it if I move the printer.

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