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

    Maximum possible number of servos and endstops?

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    6
    463
    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.
    • kzamaniundefined
      kzamani
      last edited by

      Hello all!

      We are working on a v2 of our larger printer and the question came up whether we could use Min/Max switches for each axis. With that in mind, we would like to use 3 servos on our Z axis as well as 2 servos for the X-axis and a single screw for the Y-axis. That leaves an additional servo for the extruder. If we use the breakout board, we can drive all 7 servos without any issues.

      My question is thus: is it possible to use the breakout board to drive 7 servos while also using more than the 5 end stops allocated on the Duet 2 Ethernet / Wifi board?

      Thanks!

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

        What will you use the extra endstop switches for? If it's to do an emergency stop if an axis goes out if bounds, then you can connect the extra endstops in series (assuming NC switches), and they only need one endstop connector between them.

        What are you intending to use the servos for? If they are for doing true bed levelling and axis squaring, you will probably find it easier to use multiple stepper motors instead, and the firmware already supports doing it that way.

        You can tap into the expansion connector to get additional PWM outputs for servos and additional endstop inputs.

        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

        1 Reply Last reply Reply Quote 0
        • kzamaniundefined
          kzamani
          last edited by

          Hi @dc42

          When designing the original printer, I placed an end stop at home position of the X and Y axis and an inductive probe at the Z-axis. This works well in concept, however I'd like to add extra limit switches to the bottom of the Z-travel to keep the machine from hitting the frame -- it's an issue we are currently experiencing. If we lower the Z-bed to remove a print and then re-home the machine, the default behavior is to lower the print bed and then to home X/Y before homing the machine. This is where we experience failures and where I would like to install a few z-min end stops, one for each lead screw.

          With regards to your second question: we are using servos to drive all of our axes. The machine was designed with the understanding that we may change out extruders or controllers in the future. Clearpath servos were chosen for their ability to substitute for stepper drivers and for the extra overhead power available.

          We use the built-in bed leveling in the firmware now with two servos. I'd like to add a third servo in our next design to allow for true bed leveling.

          If we use the break-out board to drive our servos, how do we tap into the expansion connector? I suppose that was the intent of my original question -- how to use the break out board to drive servos, but to also wire up a few extra limit switches (in case we need more than 5?)

          Thanks for the wonderful support forum!

          dc42undefined 1 Reply Last reply Reply Quote 0
          • nhofundefined
            nhof
            last edited by

            There is not a clean way (that I know of) to patch into the 50-pin cable. You could just cut the relevant wires out of the cable and run them elsewhere, but it would be pretty hackish.

            Thankfully you do have another option if you only need two extra inputs. There are two endstop inputs broken out the CONN_LCD connector (and two extra step pulse outputs as well).

            So you could just tap into those and remap them with M574 (RRF 2.03 and later iirc). I think these can be used as axis endstops at the moment, but not mapped to external triggers, etc.

            From what I have read, in upcoming versions of RRF (v3+) there will be a lot more reconfiguration possible to remap pin functions.

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

              @kzamani said in Maximum possible number of servos and endstops?:

              Hi @dc42

              When designing the original printer, I placed an end stop at home position of the X and Y axis and an inductive probe at the Z-axis. This works well in concept, however I'd like to add extra limit switches to the bottom of the Z-travel to keep the machine from hitting the frame -- it's an issue we are currently experiencing. If we lower the Z-bed to remove a print and then re-home the machine, the default behavior is to lower the print bed and then to home X/Y before homing the machine. This is where we experience failures and where I would like to install a few z-min end stops, one for each lead screw.

              With regards to your second question: we are using servos to drive all of our axes. The machine was designed with the understanding that we may change out extruders or controllers in the future. Clearpath servos were chosen for their ability to substitute for stepper drivers and for the extra overhead power available.

              We use the built-in bed leveling in the firmware now with two servos. I'd like to add a third servo in our next design to allow for true bed leveling.

              If we use the break-out board to drive our servos, how do we tap into the expansion connector? I suppose that was the intent of my original question -- how to use the break out board to drive servos, but to also wire up a few extra limit switches (in case we need more than 5?)

              I see, you mean step-servo drives, not RC servos as I assumed.

              You can drive an additional 2 external stepper drivers from the CONN_LCD connector. You will need to use level shifters to boost the signals to near 5V and provide a little more current than the MCU can, just like the breakout board does for the other 5.

              I suggest you wire all your Z_MAX endstop switches in series, then they can be connected to the zstop input. But if you do want to use separate inputs, then there are 2 more endstop inputs available on CONN_LCD. If you need more than 7 endstop inputs total, tap into the expansion bus. To do that, make up a 50-way ribbon cable with 3 IDC connectors on it instead of 2.

              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

              1 Reply Last reply Reply Quote 0
              • kzamaniundefined
                kzamani
                last edited by

                Thanks everyone! I'll look into these solutions.

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