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

    Additional external drivers (12-13?)

    Scheduled Pinned Locked Moved
    Firmware developers
    4
    21
    2.6k
    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.
    • kazolarundefined
      kazolar
      last edited by

      @dc42:

      If you really need to control all the stepper motors independently, then you will either need to hack the firmware to re-purpose some pins, or wait for the next generation Duet.

      I'm OK with hacking the firmware, can you point me to pins which I can use – would the SD_CON be workable?

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

        If you are not using PT100 sensors or thermocouples then I suggest you use the 8 SPI chip select pins. 4 are available on the daughter board connector, the other 4 are on the expansion connector but labelled as endstop pins.

        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
        • T3P3Tonyundefined
          T3P3Tony administrators
          last edited by

          All the pins can be seen here:

          https://duet3d.dozuki.com/Wiki/Duet_Wiring_Diagrams

          More information on the pinout:

          https://duet3d.dozuki.com/Wiki/Duet_2_Pinout_table

          www.duet3d.com

          1 Reply Last reply Reply Quote 0
          • kazolarundefined
            kazolar
            last edited by

            The end stop pins correspond with E3,E4,E5 end stops which I am using – I see there CS pins on the DueX5 --
            If I'm reading the pinouts right, the temp daughter board on the Duet corresponds to CS0(56) ,CS2(50),CS3(51) ,CS4(52)
            and the temp daughter board on Duex5 has CS5(24),CS6(97),CS7(98),CS8(99) -- the 97-99 pins appear to be shared with end stops?

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

              If you have a DueX2 or DueX5 fitted then endstop E3 to E7 are routed through the I2C interface instead, and the expansion connector pins labelled E3 to E7 are used for CS pins and one other function.

              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
              • kazolarundefined
                kazolar
                last edited by

                I decided to give this a go, and I defined everything in the Ping_DuetNG.h and Platform.h -- I am testing just #12 and when I tell C axis to move -- I see the stepper get enabled, but it doesn't move. I tried different combination of CS pins, but none of them cause the stepper to move -- I haven't checked the step signal with the scope, but I'm wondering if I'm missing something simple.

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

                  In addition to setting up the extra pins in Pins_DuetNG.h, there are three functions at the very end of Platform.h that need to be updated to allow fast stepping. It's easiest and fastest if the additional step pins are on Port D like the rest of them.

                  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
                  • kazolarundefined
                    kazolar
                    last edited by

                    yes, that worked -- to keep things simpler i'm just going to use port D and C - the thermocouple port on DueX5 CS pins go to Port E -- so 14 independent (technically I have 16, but there are 2 which run parallel of the LCD port as each of my Y axis uses 2 steppers) -- wohoo! --- Quad independent extruder printer with quad lead screw compensation.

                    wonder how much of a penalty applying the map to 2 ports vs 1 is... I doubt with the size of my machine I'll ever reach those ludicrous speeds.

                    T3P3Tonyundefined 1 Reply Last reply Reply Quote 1
                    • T3P3Tonyundefined
                      T3P3Tony administrators @kazolar
                      last edited by

                      @kazolar pics? Sounds awesome!

                      www.duet3d.com

                      1 Reply Last reply Reply Quote 0
                      • kuhnikuehnastundefined
                        kuhnikuehnast @dc42
                        last edited by

                        @dc42 said in Additional external drivers (12-13?):

                        If you really need to control all the stepper motors independently, then you will either need to hack the firmware to re-purpose some pins, or wait for the next generation Duet.

                        When will there be a release? Is there anything on the horizon?

                        dc42undefined 1 Reply Last reply Reply Quote 0
                        • kazolarundefined
                          kazolar
                          last edited by

                          I've decided to CNC a PCB for all the external stepper drivers. I got the parts for the 2 additional Z axis lead screws today, the new beefier 3/8" tooling mic6 plate is scheduled to arrive next week, I've had to also re-order a new silicone heating pad -- going up to 1200w now. So I've created a good bit of work for myself -- in what was already a well functioning machine.

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

                            @kuhnikuehnast said in Additional external drivers (12-13?):

                            @dc42 said in Additional external drivers (12-13?):

                            If you really need to control all the stepper motors independently, then you will either need to hack the firmware to re-purpose some pins, or wait for the next generation Duet.

                            When will there be a release? Is there anything on the horizon?

                            I don't intend to include this in the standard release, because the signals that @kazolar has repurposed normally have different functions, and the changed to the step pulse generator functions will have a small negative effect on maximum step rates. Very few users need to drive more than 12 stepper motors independently.

                            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

                            kazolarundefined 1 Reply Last reply Reply Quote 0
                            • kazolarundefined
                              kazolar @dc42
                              last edited by

                              @dc42 I agree, this is very much a hack -- I've disabled the thermocouple ports -- and altered the step functions. I appreciate the help, and I'm pretty sure I'm on the bleeding edge of what is remotely possible on any controller.

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

                                We're working on the next generation Duet and that one should support 20+ stepper drivers.

                                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
                                • kazolarundefined
                                  kazolar
                                  last edited by

                                  That will be more than welcome -- any time-table?
                                  I've taken my circuit to expand the duet and duex5 to the 16 steppers and decided to make it proper -- I needed to have the 2 Y axis steppers in sync -- otherwise the Y axis gantries don't stay parallel, so I made a circuit to skip step pulses when the specific end stop is triggered (and the stepper is moving toward the end stop) -- logic gates -- and the end stop signal going to the duet is a logic and of the 2 end stops -- so duet keeps sending step pulses until both end end stops trigger -- and instead of having 1 stepper bang into the end stop -- even when triggered, it stops receiving step pulses when the end stop is triggered -- it makes more sense on a circuit diagram.. so I ended up taking this combo logic gate circuit and a few other bits and put together a board with 4 end stop inputs, 2 end stop outputs, and 6 stepper driver outputs -- and 3 of those 10 pin headers -- so I can make a clean connection to the duet expansion pin sets -- LCD-CON, and the 2 CS pin headers (on duet and duex5) -- I was planning to mill out the board myself, but I ended up making it to complicated, so I am having it made by jlcpcb. I am going to have 5 of them though -- so ... not sure if anyone will want to use something like this.

                                  1 Reply Last reply Reply Quote 1
                                  • kazolarundefined
                                    kazolar
                                    last edited by kazolar

                                    David, can you help, think I'm doing something wrong with the platform.h code. I got it working independently, but then it's weird, when everything is homed, stepper 10 and stepper 13 want to move together for some reason. I'm using CS4 as the step pin for stepper 13 and CS3 as step pin for stepper 12, no issues that I can with stepper 12, but I think I have something wrong with the step code. Is cs4 overlapping with something in the c bank with the d bank?

                                    1 Reply Last reply Reply Quote 0
                                    • kazolarundefined
                                      kazolar
                                      last edited by kazolar

                                      Looks like cs3 and cs4 are conflicting with step pins for drive 10 and 11. Cs2 appears to work, but cs0 doesn't - it appears cs0 is needed for SD card access. So after a lot of digging I figured that z probe mod pin (34) works as a step pin, since I'm using a bl touch I am not using that pin for anything. So looks like the 14 stepper plan will work, just not using the pins I envisioned

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

                                        CS3 and CS4 are PC19 and PC20. The existing step pins are PD0,1,2,3,4,5,6,7,18,19,20,27. So the bit numbers for both port C pins you have chosen clash with the bit numbers for port D pins. I suggest you shift the two port C bits left two positions to avoid the clash. See the code for Duet085 or RADDS to see how this can be done.

                                        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
                                        • kazolarundefined
                                          kazolar
                                          last edited by

                                          I was shifting 1 position, wasn't enough, and then I ended up changing the bitmap type to uint64_t -- and shift all the way 32 bits -- that way there is no way to create a clash -- I assumed that's what was happening -- I was just trying to find a way out of having to hunt down everywhere the bitmap is used -- but it wasn't that hard. This works fine now. 14 drivers -- all setup 🙂

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