Navigation

    Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Cartesian robot

    My Duet controlled machine
    3
    11
    1173
    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.
    • Agniusm
      Agniusm last edited by

      I am thinking of building cartesian robot arm to load and unload build plates. As i am noob in these things, would like to ask if following would be possible.
      My printers running marlin. I have a end gcode for specific machine to move robot and do the task. Would it be possible for marlin printer to send endcode or via ocroprint to duet and duet to execute it? This has to be multiple feeds from many printers. Or perhaps i am thinking in the wrong direction and there is better way?
      Say there are 9 printers, printer 2 sends a command(haven't figured this part yet how) duet receives that command and executes printer 2.gcode. Queing is not a problem i think.
      Would duet drive nema 23 motors on larger robot? I am designing one that is 3m long 2m heigh with a reach of 1 meter.
      I intend to use extruder output for the claw.
      Its mostly mechanical i want so there will be conveyor belt or plate feed. Most will be gravity, springs and mechanics.

      wilriker T3P3Tony 2 Replies Last reply Reply Quote 0
      • wilriker
        wilriker Moderator @Agniusm last edited by wilriker

        @agniusm What first comes to my mind is using endstop-triggers to activate certain commands. Each endstop can be configured to run a custom trigger via M581 but this would limit you to (currently) a maximum of 8 different macros due to the range for paramter T of this command is 0..9 with 0 and 1 being reserved and only 2..9 are available to be customized.

        EDIT: Regarding you Nema 23 question: it depends on their current requirement. If you can drive them with a maximum of 2.4A Duet will be able to directly control them. Otherwise an external driver would be necessary with Step/Dir interface which would then be controlled by the Duet.

        Manuel
        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
        with probably always latest firmware/DWC (incl. betas or self-compiled)
        My Tool Collection

        1 Reply Last reply Reply Quote 0
        • T3P3Tony
          T3P3Tony administrators @Agniusm last edited by T3P3Tony

          @agniusm If you are using octoprint to send a gcode command to the Duet (over network for example) then you can have as many macros as you like and call them via M98.

          Duet Hardware Designer
          www.duet3d.com

          wilriker 1 Reply Last reply Reply Quote 1
          • wilriker
            wilriker Moderator @T3P3Tony last edited by wilriker

            @t3p3tony That's a lot more flexible than my idea, indeed. 👍

            Manuel
            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
            with probably always latest firmware/DWC (incl. betas or self-compiled)
            My Tool Collection

            1 Reply Last reply Reply Quote 0
            • Agniusm
              Agniusm last edited by

              Thanks guys. Can i invoke a execution of a gcode file on duet?
              Say printer 1 completes the task, it or octoprint sends Gcode command to duet, say Mxxx printer1.gcode and duet goes and executes that printer1.gcode file?
              Also would that work through a network or doet it has to be usb? I will be getting duet ethernet for this for reliability of the network.
              Anyone knows if octoprint has such plugins?

              What would be that command on duet? I have duet wifi on my cartesian printer but have not researched that yet.

              wilriker 1 Reply Last reply Reply Quote 0
              • wilriker
                wilriker Moderator @Agniusm last edited by wilriker

                @agniusm There are multiple ways to do that. Start with what command to use, I would suggest you use

                M98 P/location/of/macro/to/execute
                

                This command can run any file on the SD card. See M98 for more details.

                And it does not have to be via USB. You could also use the HTTP interface that DWC (Duet Web Control) is also using to issue any command to RRF.

                http://duet-address:duet-port/rr_gcode?gcode=<URL-encoded Gcode command>
                

                The latter expects either to have not set a password for the web interface or to provide the required authentication data (as I do not use a password, I do not know right now how to do this but it should not be too hard).

                Not sure on the Octoprint plugin but I doubt that something like this exists.

                EDIT: You could also use telnet to issue the command.

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

                1 Reply Last reply Reply Quote 0
                • Agniusm
                  Agniusm last edited by

                  OK, so the duet side is more than doable.
                  I wander if octoprint push notifications would work for this?
                  I will also need duet to send the command after unload and load of build plate was complete to start another print.

                  Just thinking out loud and it might be stupid question. Would usb hub work for this? multiple printers plugged in to usb hub and output connected to duet ethernet? That will save me money on raspberries and printer end script could be used. That would be great 😜

                  wilriker 1 Reply Last reply Reply Quote 0
                  • wilriker
                    wilriker Moderator @Agniusm last edited by

                    @agniusm said in Cartesian robot:

                    I wander if octoprint push notifications would work for this?

                    I think you would need an intermediate layer except if Octoprint push notifications can do an arbitrary HTTP call (in that case the HTTP interface would be working). No clue if that can be configured, though.

                    I will also need duet to send the command after unload and load of build plate was complete to start another print.

                    This one might a little bit harder but still doable. Here is how I would do it (but there might be other ways, too):
                    Use telnet as communication protocol. Some small program e.g. in python or something similar running an the RPi where Octoprint also runs would probably required. This (let's assume from now on that it is a) python script would receive (somehow) the Octoprint command that a build plate needs to be changed and issues the appropriate command to the Duet. At the end of the macro running on the Duet there would be a

                    M118 P4 S"Build plate X changed"
                    

                    that needs to be read by the python script that then would notify Octoprint to start the next print on the printer that has its build plate exchanged now.

                    Just thinking out loud and it might be stupid question. Would usb hub work for this? multiple printers plugged in to usb hub and output connected to duet ethernet? That will save me money on raspberries and printer end script could be used. That would be great 😜

                    I don't think that this would work as either your Marlin printers or the Duet in that case would need to take the role of a USB client and AFAIK they only support being USB host. Please, somebody correct me, if I am wrong here.

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    T3P3Tony 1 Reply Last reply Reply Quote 0
                    • Agniusm
                      Agniusm last edited by

                      There is oxtoprint voxel8 automation script uses python:
                      https://github.com/Voxel8/OctoPrint-Automation-Scripts

                      1 Reply Last reply Reply Quote 0
                      • T3P3Tony
                        T3P3Tony administrators @wilriker last edited by

                        @wilriker said in Cartesian robot:

                        @agniusm said in Cartesian robot:

                        I wander if octoprint push notifications would work for this?

                        I think you would need an intermediate layer except if Octoprint push notifications can do an arbitrary HTTP call (in that case the HTTP interface would be working). No clue if that can be configured, though.

                        I will also need duet to send the command after unload and load of build plate was complete to start another print.

                        This one might a little bit harder but still doable. Here is how I would do it (but there might be other ways, too):
                        Use telnet as communication protocol. Some small program e.g. in python or something similar running an the RPi where Octoprint also runs would probably required. This (let's assume from now on that it is a) python script would receive (somehow) the Octoprint command that a build plate needs to be changed and issues the appropriate command to the Duet. At the end of the macro running on the Duet there would be a

                        M118 P4 S"Build plate X changed"
                        

                        that needs to be read by the python script that then would notify Octoprint to start the next print on the printer that has its build plate exchanged now.

                        Just thinking out loud and it might be stupid question. Would usb hub work for this? multiple printers plugged in to usb hub and output connected to duet ethernet? That will save me money on raspberries and printer end script could be used. That would be great 😜

                        I don't think that this would work as either your Marlin printers or the Duet in that case would need to take the role of a USB client and AFAIK they only support being USB host. Please, somebody correct me, if I am wrong here.

                        You are right, the Duet is a USB client not a host.

                        Duet Hardware Designer
                        www.duet3d.com

                        wilriker 1 Reply Last reply Reply Quote 0
                        • wilriker
                          wilriker Moderator @T3P3Tony last edited by

                          @t3p3tony said in Cartesian robot:

                          @wilriker said in Cartesian robot:

                          I don't think that this would work as either your Marlin printers or the Duet in that case would need to take the role of a USB client and AFAIK they only support being USB host. Please, somebody correct me, if I am wrong here.

                          You are right, the Duet is a USB client not a host.

                          Is that a typo? First you say I am right and then state the opposite of what I said. 😁

                          Manuel
                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                          My Tool Collection

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