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

    UVW axes on a delta printer

    Scheduled Pinned Locked Moved
    Firmware installation
    4
    17
    2.4k
    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.
    • GizmotronX5000undefined
      GizmotronX5000
      last edited by

      I am having a lot of trouble configuring extra axes UVW on my Duet Ethernet printer. I keep getting Javascript errors in DuetWebControl saying that "status.coords.xyz[3] is undefined"

      I have modified the lines for M201, M203, M208, M350, M566, M574, and M906 commands as detailed here: https://duet3d.com/wiki/Configuring_multiple_independent_X-carriages_on_a_Cartesian_printer#Configuring_new_axes but it hasn't worked yet. I must be missing something.

      Here is my config.g file, with the first few lines for networking removed.
      ; Configuration file for testing Duet Ethernet and Wifi

      ; Communication and general

      ;*** Networking - Enable for both WiFi and Ethernet boards.
      M552 S1 ; Turn network on

      ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network

      ;M555 P2 ; Set output to look like Marlin
      G21 ; Work in millimetres
      G90 ; Send absolute coordinates…
      M83 ; ...but relative extruder moves

      ; Disable Fan 1 thermostatic mode
      M106 P1 H-1

      ; Axis and motor configuration

      M569 P0 S0 ; Drive 0 goes backwards
      M569 P1 S1 ; Drive 1 goes forwards
      M569 P2 S0 ; Drive 2 goes backwards
      M569 P3 S1 ; Drive 3 goes forwards
      M569 P4 S1 ; Drive 4 goes forwards
      M569 P5 S1 ; Drive 5 goes forwards
      M569 P6 S1 ; Drive 6 goes forwards
      M569 P7 S1 ; Drive 7 goes forwards
      M584 X0 Y1 Z2 U4 E3 ; set up extra axis?

      M574 X2 Y2 Z2 U0 S1 ; set endstop configuration (all endstops at high end, active high)
      ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration
      M665 R105.6 L215.0 B85 H250 ; set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0 U0 ; put your endstop adjustments here, or let auto calibration find them
      M350 X16 Y16 Z16 U16 E16:16 I1 ; Set 16x microstepping with interpolation
      M92 X80 Y80 Z80 U80 ; Set axis steps/mm
      M906 X1000 Y1000 Z1000 U1000 E800 I60 ; Set motor currents (mA) and increase idle current to 60%
      M201 X1000 Y1000 Z1000 U1000 E1000 ; Accelerations (mm/s^2)
      M203 X20000 Y20000 Z20000 U20000 E3600 ; Maximum speeds (mm/min)
      M566 X1200 Y1200 Z1200 U1200 E1200 ; Maximum instant speed changes mm/minute

      ; Thermistors
      M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
      M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set first nozzle thermistor ADC correction
      M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set 2nd nozzle thermistor ADC correction

      M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds

      ; Adjustments for J-heads used as dummy heaters on test rig
      M307 H0 A250 C140 D5.5 B1
      M307 H1 A250 C140 D5.5 B0
      M307 H2 A250 C140 D5.5 B0

      ; Fans
      M106 P1 S-1 ; disable thermostatic mode for fan 1

      ; Tool definitions
      M563 P0 D0 H1 ; Define tool 0
      G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
      ;*** If you have a single-nozzle build, comment the next 2 lines
      ;M563 P1 D1 H2 ; Define tool 1
      G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures
      M92 E663:663 ; Set extruder steps per mm

      M563 P2 D2 ; Define tool 2 BASE
      ;*** If you have a single-nozzle build, comment the next 2 lines
      M563 P3 D3 ; Define tool 3 BASE

      ; Z probe and compensation definition
      ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command
      M558 P1 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes
      G31 X0 Y0 Z4.80 P500 ; Set the zprobe height and threshold (put your own values here)

      ;*** If you are using axis compensation, put the figures in the following command
      M556 S78 X0 Y0 Z0 ; Axis compensation here

      M208 S1 Z-0.2 ; set minimum Z

      T0 ; select first hot end
      M302 P1 ; Allow cold extrude for testing

      1 Reply Last reply Reply Quote 0
      • GizmotronX5000undefined
        GizmotronX5000
        last edited by

        I should mention that I am using a Duet Ethernet, with the 5 extension board. I have X,Y,Z, and E0 connected in the standard configuration on the Duet, and the U axis stepper is currently connected to the extension board. The extension seems to be connected and working fine. When I configure the extra U stepper motor as a tool (E1 or Tool1 in Web Control) instead of as an axis I can get it to move.

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

          The commands you link to are for setting extra X axes on a Cartesian printer yet you have a Delta?

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

          1 Reply Last reply Reply Quote 0
          • GizmotronX5000undefined
            GizmotronX5000
            last edited by

            Correct. I am using a delta printer, but I would like to add an extra axis, U, independent of the other 3 A, B, C towers. The only tutorial I could find online was about adding a U axis as an extra X, but I am hoping to apply the same method to add a generic controllable U axis to my delta printer.

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

              The UVW axes only apply to Cartesian CoreXY kinematics right now.

              There is a feature request to add an additional axis to track Z movement:
              https://www.duet3d.com/forum/thread.php?id=950

              Is that what you are looking to do?

              www.duet3d.com

              1 Reply Last reply Reply Quote 0
              • GizmotronX5000undefined
                GizmotronX5000
                last edited by

                Huh that's too bad that it isn't possible right now. I am essentially trying to build a base for this printer that allows me to 3D print on the surface of a cylinder. If it cannot be implemented as an axis I'll implement it as a tool. Although it would be great to use the UVW Cartesian axes along with a delta configuration printer.

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

                  Please put in a firmware request (referencing the other request I linked) into the firmware wishlist forum asking for Cartesian and Delta axis to be available at the same time. David will be able to comment on how much work this is and other users should be able to say how useful it would be.

                  Cheers

                  Tony

                  www.duet3d.com

                  1 Reply Last reply Reply Quote 0
                  • GizmotronX5000undefined
                    GizmotronX5000
                    last edited by

                    Sounds great! I will do that. Thank you. In the mean time, is using the extra motor as a tool my best option for a work around? I am creating my own G-code generator, so it doesn't matter to me so much what the axis is called, but I don't want to do something that creates an impossible amount of work to drive, or simply doesn't work.

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

                      The motion control for your extra axis should be quite easy to implement and I can probably make the necessary changes in the next 1.19 alpha release. The more difficult issue is how homing should work, which needs careful thought.

                      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
                      • GizmotronX5000undefined
                        GizmotronX5000
                        last edited by

                        Yes, homing will be a bit strange. I plan on using another end stop for this new axis, and basically treating it as its own 4th coordinate. (X, Y, Z, U) And that is fantastic news that this might be possible in the next release.

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

                          I am open to suggestions about what homing buttons should be provided for a delta + U and potentially V, W axis printer, what homing files should be used, and how to avoid breaking compatibility for existing users.

                          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
                          • GizmotronX5000undefined
                            GizmotronX5000
                            last edited by

                            I'm still thinking about how I would like it to work, given those restrictions. My plan was to add an end stop switch to the U rotational axis. It won't rotate continuously, so when it rotates in one direction far enough it will hit the switch. Basically if it operates in the same way as a standard axis that's all I need. (Although this axis is rotational instead of linear so I end up with the problem of the "steps per mm" requiring a conversion to degrees or radians, but that's easy to do.)

                            1 Reply Last reply Reply Quote 0
                            • GizmotronX5000undefined
                              GizmotronX5000
                              last edited by

                              Here's a side question related to this. If I want to add my own support for a new kinematic system, is there a way to do it? I have the inverse kinematics all worked out for the system I am trying to implement, but it is unlikely that it will be something you would like to officially support, outside of the small request I made above.

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

                                It's much easier to add new kinematics in firmware 1.19 thanks earlier versions. You write a new class to represent your kinematics, inheriting the Kinematics base class and implementing the various virtual functions.

                                I still need to design a scheme to handle the different homing strategies. Some printers home individual Cartesian axes (e.g. CoreXY), others home individual actuators (e.g. delta) and yet others do a mixture (e.g. SCARA).

                                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
                                • GizmotronX5000undefined
                                  GizmotronX5000
                                  last edited by

                                  That is awesome news. I have the kinematics worked out, but my programming knowledge is mediocre at best. I'll give it a crack and come back with some questions I'm sure.

                                  1 Reply Last reply Reply Quote 0
                                  • GizmotronX5000undefined
                                    GizmotronX5000
                                    last edited by

                                    I am back working on this project again and I see that additional axes are now supported. I'm attempting to go through all of the change logs since 1.18, but so far it has been hard to tell exactly what changes affect this project. Has there been any update to this? I'll continue trying.

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

                                      Support for additional axes on delta printers is present in firmware 1.19. So in theory you can just declare new axes using M584. However, this hasn't been tested.

                                      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
                                      • First post
                                        Last post
                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA