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

Using bed leveling screws with independent z motors

Scheduled Pinned Locked Moved
General Discussion
9
30
2.0k
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
    Piet @fcwilt
    last edited by 18 Nov 2020, 22:28

    @fcwilt I understand the functions of either but don't you agree that manually adjusting the bed to be parallel to the print frame initially is a better way to go. For example in an extreme case where one point of the bed is 10mm off. If I were to level that initially using the ABL it would torque the entire Z-axis assembly and would put a lot of strain and resistance on the leadscrews. Now if initially the entire bed was parallel using the manual adjustment and the ABL can be called every now and then or before every print for that matter, wouldn't you think that's the better solution.

    I do understand for small adjustments this is obsolete but like I said this is for a production machine and for our assembly people and customers, who frankly most of the time aren't as technical as any of us on this forum, it would be a useful feature to fall back on because its so easy to understand.

    undefined 1 Reply Last reply 18 Nov 2020, 23:40 Reply Quote 0
    • undefined
      jay_s_uk
      last edited by 18 Nov 2020, 22:33

      I think you're thinking too much into it.
      Whether the levelling is manual or automatic, the whole bed still has to move up and down to trigger the probe at each point. Then all that's left is for the one screw that's out to be adjusted and whether you are turning it, or the motor is turning it, o don't see the difference.

      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

      undefined 1 Reply Last reply 18 Nov 2020, 22:36 Reply Quote 0
      • undefined
        Piet @jay_s_uk
        last edited by 18 Nov 2020, 22:36

        @jay_s_uk Maybe you're right however I think its an interesting discussion. I'll draw a schematic tomorrow which will hopefully show my point more clearer. I appreciate the help nonetheless!

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User @ofliduet
          last edited by A Former User 18 Nov 2020, 22:39

          @ofliduet said in Using bed leveling screws with independent z motors:

          @Piet Right. I'm not a big fan of leaving bed edges unsupported with only 3 mounting points. You might be able to tell my bed isn't that stiff. I therefore actually have 2 screws and 2 fixed points. The two screws are there so I can adjust twist in the bed. One might be theoretically enough, but two allows me to make opposing adjustments that don't move the probe point in the middle near the lead screw. Probing all 4 in the script gives me the output I need to even everything out."

          That is the only real use-case to have both: Have the screws to "undistord" a non-planar plate you begin with (so you activly overconstrain it by purpose to make "a banana" to a "flat-toast"/"pizza". And then when that thing is flat like a pizza (or so, of which MBL can take care) you auto-level-home from there on with your I-Z-M.

          Did I get your intention right? If yes, an interesting survival-point for analog hand-dialed screws just came up here 🙂 But then I would not use them vertical but rather pull diagonal horizontal the whole metal-plate flat by pulling... just thinking for myself...

          1 Reply Last reply Reply Quote 0
          • undefined
            Gerrard
            last edited by 18 Nov 2020, 23:25

            Hi All,

            I've skimmed over this topic a little, but having just figured out this problem I thought I would add my 2c.

            I have a very large bed - roughly 800x800, with 16 manual adjustment screws (4x4 arrangement), and 4 independent Z motors.

            In my case, I have (at some point) needed to manually level both the lead screws, and the manual adjustment screw - I have also used G32 and G29 bed levelling.

            I partially agree that there is a hierarchy to bed levelling, which needs to be done after assembly, maintenance or a component failure (like a loose screw on a Z motor coupling for example?). With so many components there's plenty of opportunity for something to go wrong, so the correct procedure helps.

            I manually adjust the Z screws with the hot end close to the screws first - this gets the nozzle within a reasonable range for G32 to work its magic. Then I run G29 to do a mesh bed levelling - now that all 4 motors are coplanar this gives me a good idea on the flatness of the bed. If the min/max deviation of the mesh bed levelling is less than 1mm (an arbitrary number I've decided to use), then I'll leave it be - otherwise, I'll adjust the manual levelling screws...

            A more thorough method would be to look for a deviation greater than Xmm (some number) between any two neighboring points in the mesh bed levelling, but for now I'm satisfied with maximum deviation...

            On smaller printers like your typical 300x300 size, then I think a similar approach is easy enough to do, so it doesn't really matter whether it's necessary - do what ever you feel works best for you.

            undefined 1 Reply Last reply 19 Nov 2020, 08:32 Reply Quote 1
            • undefined
              fcwilt @Piet
              last edited by 18 Nov 2020, 23:40

              @Piet said in Using bed leveling screws with independent z motors:

              @fcwilt I understand the functions of either but don't you agree that manually adjusting the bed to be parallel to the print frame initially is a better way to go.

              By "print frame" do you mean something that surrounds and supports the bed?

              If so, yes, it is best to have the bed properly aligned to that frame but the solution is to design it such that it does not need manual adjustment.

              If you mean something else by "print frame" please explain.

              Thanks.

              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 0
              • undefined
                engikeneer @Piet
                last edited by 18 Nov 2020, 23:49

                @Piet said in Using bed leveling screws with independent z motors:

                For example in an extreme case where one point of the bed is 10mm off. If I were to level that initially using the ABL it would torque the entire Z-axis assembly and would put a lot of strain and resistance on the leadscrews.

                Whether you're using manual levelling assistant or auto bed levelling, the process is taking the measurements from probing the bed surface.

                I think your concern is that the bed is not level with the z-gantry (e.g. because one of the manual adjustment screws is way off). So you want to get the bed close to level to the z-gantry (and so level with the lead screws) so that they aren't kinked over later. The trouble is the Duet has no idea where the lead screws are as it is still only probing the bed surface. Only exception/caveat is if you are using independent endstops on them as well (and somehow worked out the offset for them all).

                One option could be to remove the bed and try probing the z-gantry to get that near level (so the leadscrew are all level) using auto bed levelling. Then put the bed back on and use the manual assistant to get the manual screw right, then use auto levelling again to actually get it all tuned in fine (assuming you didn't with manual). Might work, but probably will end in tears trying to probe aluminium extrusions....

                Alternatively, just try making sure your bed is level to your z-gantry when building the printer. Simplest way is to use fixed spacers (i.e. no manual adjustment). Or just a spirit level/your eyes? The lead screws should take a little misalignment. Unless you have a massive bed, if you build your printer 10mm out and don't see it, you're probably gonna have a bunch of other problems in there too...

                E3D TC with D3Mini and Toolboards.
                Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
                i3 clone with a bunch of mods

                undefined 1 Reply Last reply 19 Nov 2020, 08:38 Reply Quote 2
                • ?
                  A Former User
                  last edited by 19 Nov 2020, 00:06

                  The optimum configuration for leadscrews is 3 in a triangle configuration, a triangle being the optimum shape for stability which is why it is used, anything else is sub-optimal.

                  As long a the bed plate is flat (and any frame it is mounted to) are both assembled parallel to each other then no further manual levelling is required, the 3 independently operated lead screws will do the rest, as long as the mounting points between the leadscrews and bed/bed frame are not too constrained.
                  end of story.

                  My bed and frame on my most recent core-xy printer is rose jointed and has short linear rails to allow full articulation for a degree of non-planer printing

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Phaedrux Moderator
                    last edited by 19 Nov 2020, 00:28

                    There's no reason you can't use both methods right now, though it's a bit redundant.

                    You'd need to modify your M671 depending on which you wanted to do at the time.

                    For the manual way you'd need to include the P parameter to define the thread pitch of the screws.

                    https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screws

                    Z-Bot CoreXY Build | Thingiverse Profile

                    undefined 1 Reply Last reply 19 Nov 2020, 08:46 Reply Quote 1
                    • undefined
                      Piet @Gerrard
                      last edited by 19 Nov 2020, 08:32

                      @Gerrard This is basically what i was going for indeed, an initial setup and a fallback procedure if something goes wrong (in shipping for example). The bed of this printer will be 800x500 so it is quite large.

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Piet @engikeneer
                        last edited by 19 Nov 2020, 08:38

                        @engikeneer That is my concern, i do also have independent z sensors so i know where every Z-motor is before probing. I think there is something to be said that with a good construction it is most likely redundant but the printer isn't build yet so im just speculating about the best approach to take to make sure it goes well anyways. Thanks for the feedback!

                        ? 1 Reply Last reply 19 Nov 2020, 09:11 Reply Quote 1
                        • undefined
                          Piet @Phaedrux
                          last edited by 19 Nov 2020, 08:46

                          @Phaedrux That's how i figured it worked too however i have 3 Z motors defined in my M584. When i add the P parameter it still automatically adjusts the leadscrew instead of giving feedback on how much to turn the screws. Maybe it has to do with my S parameter?

                          undefined 1 Reply Last reply 19 Nov 2020, 14:45 Reply Quote 0
                          • ?
                            A Former User @Piet
                            last edited by 19 Nov 2020, 09:11

                            @Piet said in Using bed leveling screws with independent z motors:

                            @engikeneer That is my concern, i do also have independent z sensors so i know where every Z-motor is before probing. I think there is something to be said that with a good construction it is most likely redundant but the printer isn't build yet so im just speculating about the best approach to take to make sure it goes well anyways. Thanks for the feedback!

                            The best approach is to build/design the printer properly and allow the printer to do everything else automatically, as you admit this is a machine for resale, one less step for the end user to have to carry out is a plus point, this makes it easy for the customer to set things up and achieve the end goal of getting printing and not spending time carrying out unnecessary adjustment put in place due to paranoia.

                            undefined 1 Reply Last reply 19 Nov 2020, 09:22 Reply Quote 0
                            • undefined
                              Gerrard @A Former User
                              last edited by 19 Nov 2020, 09:22

                              @CaLviNx "Best approach" is subject to perspective. I agree with @Piet here - you build the most light weight frame that you can (because it's cheaper) and you let the software/hardware smarts take care of the rest for you - because it can. It's very normal for machines to require commissioning before being ready for use.

                              Remember that 3 points is the most stable, only if you assume a rigid body. In real life "rigid" doesn't exist. All bodies are elastic to some extent.

                              ? 1 Reply Last reply 19 Nov 2020, 12:36 Reply Quote 1
                              • ?
                                A Former User @Gerrard
                                last edited by A Former User 19 Nov 2020, 12:36

                                @Gerrard

                                You might build with the most lightweight/cheapest but not everyone does.....

                                Some of us build using quality components for as high a quality & rigidity as is possible.

                                And I dont "assume" a rigid body, If you build in rigidity using quality components then it will be as close to rigid as possible, so it DOES exist, also you design the elasticity to be in the place YOU decide it to be.

                                If designed & built properly the printer should self align and then the only "commissioning" required is to run the leveling sequence

                                An awful lot of over thinking in the wrong place is going on.

                                1 Reply Last reply Reply Quote 1
                                • undefined
                                  Phaedrux Moderator @Piet
                                  last edited by 19 Nov 2020, 14:45

                                  @Piet said in Using bed leveling screws with independent z motors:

                                  @Phaedrux That's how i figured it worked too however i have 3 Z motors defined in my M584. When i add the P parameter it still automatically adjusts the leadscrew instead of giving feedback on how much to turn the screws. Maybe it has to do with my S parameter?

                                  That's a complication then. I wonder if you split the Z axis into separate letters if it would allow you to use the manual adjustment.

                                  Though at that point since you have the motors why not just let them adjust?

                                  Look at it this way, if you're adjusting the plate on the frame to be level, the carriages carrying the frame will still be out of sync and eventually may bind. It just doesn't make sense to stack adjustment points like that.

                                  Z-Bot CoreXY Build | Thingiverse Profile

                                  undefined 1 Reply Last reply 19 Nov 2020, 15:20 Reply Quote 2
                                  • undefined
                                    Piet @Phaedrux
                                    last edited by 19 Nov 2020, 15:20

                                    @Phaedrux Thanks for the help. This thread has got me thinking and for the production run I'll most likely use a different solution (less constrained so motors can do its thing). For the prototype I will see if it is helpfull if necessary at all.

                                    Right now I have it working with 4 adjustment points using the following script:

                                    M561 ; clear any bed transform

                                    M98 P"homexyu.g" ; home the x, y and u axis

                                    T0 P0 ; select tool 0
                                    G1 X51.3 Y75 F5000 ; move to first probe coordinates
                                    G91 ; relative positioning
                                    G30 K0 Z-9999 ; probe bed with tool 0 and set Z=0

                                    G90 ; absolute positioning
                                    T1 P0 ; select tool 1
                                    G1 X51.3 Y75 Z12.5 U-7.5 F2000; ; move the bed 7.5mm, and the U axis 15mm down
                                    G91 ; relative positioning
                                    G38.2 Z-9999 P1 ; probe bed with tool 1 and stay at Z=0
                                    M400
                                    G10 L1 P1 X0 Y0 Z{-move.axes[2].machinePosition} ; set Z-offset
                                    M500 P10 ; save offset
                                    M400
                                    G1 Z5 ; move the bed 5mm down
                                    G90 ; absolute positioning
                                    M400
                                    M117 "Z offset for tool 1 is set and saved"

                                    T0 ; select tool 0

                                    G30 P0 K0 X51.3 Y75 Z-9999 ; probe above leadscrew
                                    G30 P1 K0 X400 Y448.7 Z-9999 ; probe above leadscrew
                                    G30 P2 K0 X748.7 Y75 Z-9999 S3 ; probe above leadscrew and run compensation

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