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

    Dual Y Motor Configuration

    Scheduled Pinned Locked Moved
    General Discussion
    6
    39
    3.2k
    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.
    • 3DPrintingWorldundefined
      3DPrintingWorld
      last edited by

      My printer has two motors driving the Y axis. I am using a Duet 2 so for homing my first thought was to use the Z driver and run the motors in series, but the more I think about it maybe it's not the best solution... In this case I would think both motors would have to be ran to the end of the frame to square up, then run back to a home switch. I thought of this first because its how my MK3 squares up its z-axis.

      I also have a the Duex 5 with extra drivers. Would I be better off putting each motor on its own driver with its own endstop switch? Thing is, I would much rather have it square up on the frame because I know the frame is square. I would think it would be harder to adjust the endstop switches exactly square.

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @3DPrintingWorld
        last edited by

        @3DPrintingWorld If you want to drive motors independently, then you have to connect them to separate drivers, rather than wire them to a single driver.

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 0
        • 3DPrintingWorldundefined
          3DPrintingWorld
          last edited by

          I see what you are saying, but they will operate together. The issue is, If something bumps the axis when the motors are not holding then the axis is going to skew. To get around this on the MK3 the z-axis runs into the frame and skips steps to square up, then the motors run together. In this case its done with lead screws not belts.

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

            @3DPrintingWorld There's a couple of ways you can do this. If you have a probe, you can use that to level the axis to the bed, see: https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

            If you'd rather run the Z into a hard stop, you can, but I'd turn down the stepper driver current using https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M906_Set_motor_currents in your homing or macro gcode files. Alternatively, you could use stall detection, along with moving the two Z motors independently, to home them; see https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing and https://duet3d.dozuki.com/Guide/Independent+Z+motors+and+endstop+switches/18

            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 0
            • 3DPrintingWorldundefined
              3DPrintingWorld
              last edited by

              Thanks @droftarts I will review the information you provided. Just to be clear its the Y axis not the Z. I was just using the Z-axis on the MK3 as an example.

              If I used stall detection, each motor would have to have its own driver, right?

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @3DPrintingWorld
                last edited by

                @3DPrintingWorld said in Dual Y Motor Configuration:

                If I used stall detection, each motor would have to have its own driver, right?

                Correct. But at that point you may as well just drop the motor current and ram it into the frame to even it up. That way you're depending on a physical endstop rather than back EMF being detected in the driver.

                Either way, it's probably best to use separate drivers for Y if you have some to spare. The Z axis doesn't do a lot of movement. It's just up and hold, up and hold. So a dual Z in series is no problem. But for a Y axis where you may be slinging a heavy load to and fro you're better off with separate drivers. It also allows you to get fancier with your homing/squaring routine.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • 3DPrintingWorldundefined
                  3DPrintingWorld
                  last edited by

                  Thanks @Phaedrux! Just to clarify as I probably did not give enough info, its not a i3 but a core xy'ish IDEX. Sounds like I'm better off with two drivers, which I do have available. Should I run the y axis all the way in the negative to a physical barrier to square it up, then touch off a end stop switch in the positive direction, or use the physical barrier for homing too?

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by Phaedrux

                    Yes, I assumed it was not an i3.

                    Here's a rather long thread that goes through getting a dual X axis motor setup using 2 endstops.

                    https://forum.duet3d.com/topic/13252/issues-setting-up-duet-wifi-with-dual-x-axis-motors-and-endstops?_=1581018240512

                    In your case, since the axis isn't likely to get significantly skewed, I would probably go to a single endstop first just to get the axis position defined, and then you would know how far to push into the opposite end. You could even use the same end as the endstop if you had an optical endstop that allowed you to move somewhat passed it.

                    Your Y homing macro would look something like this

                    Move to -Y until endstop triggered
                    back off a bit
                    split Y into two seperate axis
                    drop motor current
                    push one motor into the frame so it stalls out
                    push the other motor into the frame so it stalls out
                    recombine the Y axis
                    back off passed the optical endstop
                    rehome Y again

                    Your Y axis will need to be able to account for some twist though.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
                    • 3DPrintingWorldundefined
                      3DPrintingWorld @Phaedrux
                      last edited by

                      @Phaedrux I'm just getting to this now. Using a optical switch is not a bad idea, but I would like to get this running with the setup I currently have. The switch is at +Y which does not have a physical barrier and I can not run past the switch. The physical barrier is at -Y.

                      So I am thinking I would have to:
                      Move to +Y until endstop triggered
                      Move to -Y until it almost hits the frame
                      split Y into two separate axis
                      drop motor current
                      push one motor into the frame so it stalls out
                      push the other motor into the frame so it stalls out
                      recombine the Y axis
                      rehome +Y

                      I am wondering why I need to split the y axis motors before I run the carriages into the frame? I'm not using stall detection, right? I'm just running the carriages into the frame so cant they just be moved together?

                      Phaedruxundefined dc42undefined 2 Replies Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator @3DPrintingWorld
                        last edited by

                        Yes that sounds doable.

                        @3DPrintingWorld said in Dual Y Motor Configuration:

                        I'm just running the carriages into the frame so cant they just be moved together?

                        Possibly. As long as the current is set low enough and the distance commanded is long enough to guarantee a stall on both motors.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
                        • 3DPrintingWorldundefined
                          3DPrintingWorld @Phaedrux
                          last edited by

                          @Phaedrux Were you previous suggesting that I split the motors because I would be using stall detection?

                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator @3DPrintingWorld
                            last edited by

                            The way I described it could go either way. Splitting them up leaves it open for that. But there's more than one way to bake a cake.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @3DPrintingWorld
                              last edited by

                              @3DPrintingWorld said in Dual Y Motor Configuration:

                              @Phaedrux I'm just getting to this now. Using a optical switch is not a bad idea, but I would like to get this running with the setup I currently have. The switch is at +Y which does not have a physical barrier and I can not run past the switch. The physical barrier is at -Y.

                              So I am thinking I would have to:
                              Move to +Y until endstop triggered
                              Move to -Y until it almost hits the frame
                              split Y into two separate axis
                              drop motor current
                              push one motor into the frame so it stalls out
                              push the other motor into the frame so it stalls out
                              recombine the Y axis
                              rehome +Y

                              I am wondering why I need to split the y axis motors before I run the carriages into the frame? I'm not using stall detection, right? I'm just running the carriages into the frame so cant they just be moved together?

                              It's a lot easier with RepRapFirmware 3, because you don't need to split the motors into separate axes. You can set up homing with M574 so that it uses individual stall detection on each motor.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
                              • 3DPrintingWorldundefined
                                3DPrintingWorld @dc42
                                last edited by

                                @dc42 Can I still use the mark forged kinematics in RRF3?

                                Right now I think the idea is to:
                                Step 1: Move Y+ to hit the endstop switch to gauge the distance to the physical barrier ie the frame.
                                Step 2: Run Y- to straighten the X-axis out by running into the frame.
                                Step 3: Run Y+ into the endstop switch again for home.

                                I am wondering if it would be possible to reduce movement and eliminate the first step. If we are using stall detection do we need to know the distance to the physical barrier?

                                droftartsundefined 1 Reply Last reply Reply Quote 0
                                • 3DPrintingWorldundefined
                                  3DPrintingWorld @Phaedrux
                                  last edited by

                                  @Phaedrux Ok, I'm a new user so I'm just trying to understand your suggestions.

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

                                    @3DPrintingWorld Yes, Markforged kinematics are supported in RRF3. See https://duet3d.dozuki.com/Wiki/Gcode#Section_Parameters_for_Cartesian_CoreXY_CoreXZ_CoreXYU_CoreXYUV_MarkForged_kinematics_RRF_2_03_and_later_only

                                    If you know where the physical barrier is, as in how far from the bed, why not just use the stall detection (or just ramming it into the physical barrier until it stops) to set the origin, rather than a physical endstop? You can use M208 to define how far the physical barrier is from the bed. You would have to put the endstop at the other end anyway, so you would have to wait for the axis to move to the other end to trigger the endstop. For example, if your bed is 300x300, but the area the X and Y axis can cover is 400x400, and hitting the physical barrier at X min is -50 off the bed, and -50 for Y, you:

                                    1. In config.g M208 is set as
                                    ; Axis Limits
                                    M208 X-50 Y-50 Z0 S1                             ; set axis minima
                                    M208 X300 Y300 Z200 S0                           ; set axis maxima
                                    
                                    1. Move X-410 until it hits the barrier (either with stall detection, or with reduced motor current)
                                    2. (or at the same time as 2) Move Y-410 until it hits the barrier.

                                    If you use stall detection, and you have 2 motors on Y, using RRF3 it will do the Y straightening up automatically. In RRF2, if you may have to split the two Y axis motors into Y and U (one motor each) and home them individually.

                                    Hope that helps.

                                    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

                                    3DPrintingWorldundefined 1 Reply Last reply Reply Quote 1
                                    • 3DPrintingWorldundefined
                                      3DPrintingWorld @droftarts
                                      last edited by

                                      @droftarts Thanks for the info, that helps. I'll going to switch to RRF3 first. The kinematics are working with physical endstop switches but the x-axis is naturally out of square for some reason, but it should not matter as I am relying on a y axis motor on each end of the x axis to keep it square. Once I figure out the homing sequence.

                                      I was wondering how the start of the bed was specified, I will revise the limits in my config to reflex this as you have stated.

                                      Seems like it would be better to use stall detection if I'm going to run into the frame as if its sitting right next to the frame when homing is started it would stop as soon as its sensed and not continue thru the entire move.

                                      Just wondering, I read that stall detection is not as accurate as a physical endstop however I cant think of any downsides to using this on the Y axis. It's a IDEX so I need physical endstops for the X and U axis but I cant think of a reason why this would be an disadvantage for the Y.

                                      dc42undefined 1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators @3DPrintingWorld
                                        last edited by

                                        @3DPrintingWorld said in Dual Y Motor Configuration:

                                        Just wondering, I read that stall detection is not as accurate as a physical endstop however I cant think of any downsides to using this on the Y axis. It's a IDEX so I need physical endstops for the X and U axis but I cant think of a reason why this would be an disadvantage for the Y.

                                        The only disadvantage I can see is that if you use the resume-after-power-down facility, you might get a small Y axis shift.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        3DPrintingWorldundefined 1 Reply Last reply Reply Quote 0
                                        • 3DPrintingWorldundefined
                                          3DPrintingWorld @dc42
                                          last edited by

                                          @dc42 That's not too important to me but it might be to other who might build this printer and use my configuration. I already have a physical endstop switch. Is it possible to stall out on the one end then lastly use the physical end stop for a more accurate home?
                                          I was working on this last night but my stall detection was not working unless I specified sensorless homing in the config

                                          1 Reply Last reply Reply Quote 0
                                          • 3DPrintingWorldundefined
                                            3DPrintingWorld
                                            last edited by

                                            I got sensorless homing to work but the dual y axis motors are still tied together. What am I missing?

                                            Config
                                            M584 X0 U2 Y1:9 Z5:6:7 E3:4

                                            M574 Y1 S4

                                            Homey
                                            M915 Y S10 R0 F0

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