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

    Allow slower minimum movement speed

    Scheduled Pinned Locked Moved
    Firmware wishlist
    6
    22
    1.7k
    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.
    • hpizundefined
      hpiz
      last edited by hpiz

      I switched my Duet3D powered 3D printer to a CNC router, which is working great for the most part.

      My only gripe is the inability to have an axis move slower than 0.5mm/s

      In CNC mode I find this a major limitation.

      It's kind of ridiculous because I could just halve my steps per mm to get 0.25mm/s and then just double my z output from the CAM but that's annoying and somewhat dangerous.

      If there is no technical reason to limit the speed and to save me from rapidly tapping Z-0.05 when drilling into 1/8 inch aluminum....

      I suggest the limit be based on the number of steps per second and not mm.
      It should be something like 10 steps/s, which with a 2mm per rev leadscrew would give 0.1mm/s.

      But really it should be configurable in CNC mode, since I think it is most needed on the Z, so if it could be a command like "M### Z5" for 5steps/s on the z axis that'd be amazing.

      Thoughts?

      1 Reply Last reply Reply Quote 0
      • DocTruckerundefined
        DocTrucker
        last edited by DocTrucker

        If the max feed rate configuration command M203 was configured like the axis limits M208 that would grant what you need. Add S1 to configure minimum speeds or S0 (or complete omission of S parameter) to set maximum.

        Defaults are fine for most, but as you say unless there is a hardware reason why there is minimum limit it would make more sense for it to be configurable.

        As you suggest it is probably linked to the steps per mm of common printers and the juttery 40Hz motion you'd get from an 80 step/mm axis running at 0.5mm/sec.

        Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

        1 Reply Last reply Reply Quote 0
        • resamundefined
          resam
          last edited by

          This would be very useful for laser-mode as well (very slow cut operations or simply to make underpowered lasers work very slowly)

          @doctrucker said in Allow slower minimum movement speed:

          M203

          Are you suggesting to implement S0/S1 in RRF, or are you telling us that it is already there and we can use it? Because https://duet3d.dozuki.com/Wiki/Gcode#Section_M203_Set_maximum_feedrate doesn't mention anything...

          1 Reply Last reply Reply Quote 0
          • DocTruckerundefined
            DocTrucker
            last edited by

            No, it's not there. I was suggesting a feature request. Specifying minimum steps per second would also work but would require a new gcode command.

            Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

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

              Agreed, CNC users need to be able to set lower minimum speeds. I'll allow M203 X0.1:100 and similar in 2.03.

              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

              DocTruckerundefined hpizundefined 2 Replies Last reply Reply Quote 3
              • DocTruckerundefined
                DocTrucker @dc42
                last edited by

                @dc42 Just spotted that formatting for the M208 commands. Can you confirm that this is only for 2.02+ and not the recent versions of firmware that run on the v0.6 & v0.8.5? I like the us of :, its far more intuative!

                Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

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

                  It's supported in 1.23 as well.

                  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

                  DocTruckerundefined 1 Reply Last reply Reply Quote 0
                  • DocTruckerundefined
                    DocTrucker @dc42
                    last edited by

                    @dc42 Thanks. Tweaked the duet gcode guide to reflect that.

                    Didn't realise it was possible to edit the guides until recently!

                    Running 3 P3Steel with Duet 2. Duet 3 on the shelf looking for a suitable machine. One first generation Duet in a Logo/Turtle style robot!

                    1 Reply Last reply Reply Quote 0
                    • hpizundefined
                      hpiz @dc42
                      last edited by

                      @dc42 said in Allow slower minimum movement speed:

                      n 2.03

                      If no one has told you yet today, just wanted to let you know that you're awesome.

                      Love the Duet board, your firmware, the community. Great stuff happening here.

                      1 Reply Last reply Reply Quote 1
                      • adarshsimonundefined
                        adarshsimon
                        last edited by

                        @dc42 Im using the duet on a project that requires extremely low speeds. For example I need to move 0.00005mm in 60 seconds. I have set lower speeds with M203 as mentioned in the documentation, however the move is completed in half the time. I have tried the same setup for longer distances and it works fine. Basically i need the movement to complete exactly at set times. Thank you for any input.

                        Big fan of Duet products.

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

                          Currently, if you use a M203 I parameter below 0.6 mm/min (0.01mm/sec), it will set the minimum movement speed to 0.01mm/sec. Looks like you need much less than that. However, if you really can move with a resolution better than 0.00005mm then I guess you have a very small machine. Have you considered changing your units so that what RRF thinks is mm is actually nm?

                          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

                          adarshsimonundefined 2 Replies Last reply Reply Quote 0
                          • adarshsimonundefined
                            adarshsimon @dc42
                            last edited by

                            @dc42 Thank you for the quick reply. I will try out your recommendation.

                            1 Reply Last reply Reply Quote 0
                            • adarshsimonundefined
                              adarshsimon @dc42
                              last edited by

                              @dc42 Hello, your solution works. Thank you!

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

                                @adarshsimon, I'm glad to help! Can you tell me a little more about the project?

                                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

                                adarshsimonundefined 2 Replies Last reply Reply Quote 0
                                • adarshsimonundefined
                                  adarshsimon @dc42
                                  last edited by adarshsimon

                                  @dc42 sure, we are developing an electro spinning machine which requires very low material to be dispensed. We use a syringe to hold the material that is to be dispensed and the lowest dispensing rate is about 0.05ml/hour. Hence the low speed requirement. We are using duet because we also need 3 axis movement of the syringe.

                                  1 Reply Last reply Reply Quote 0
                                  • adarshsimonundefined
                                    adarshsimon @dc42
                                    last edited by

                                    @dc42 Hello, I think i need some more help. The system we are designing has a single axis movement setup which moves 70mm . I have changed the steps per mm setup to allow for the slow speeds we require.

                                    The translation stage is however supposed to move at relatively higher speeds (eg. 100mm/min). We need the translation stage to reach the speed with the highest acceleration possible. I have set the acceleration and other settings to reflect the change in steps per mm , however the stage always accelerates when starting a move and decelerates when stopping.

                                    This is affecting our timing. Is there a limit to max instantaneous speed change?.

                                    My config file

                                    ; General preferences
                                    G90                                   ; send absolute coordinates...
                                    M83                                   ; ...but relative extruder moves
                                    M550 P"PICO"                          ; set printer name
                                    
                                    ; Network
                                    M552 S1 P192.168.1.2                  ; enable network and acquire dynamic address via DHCP
                                    M586 P0 S1                            ; enable HTTP
                                    M586 P1 S1                            ; disable FTP
                                    M586 P2 S0                            ; disable Telnet
                                    
                                    ; Drives
                                    M569 P0 S1                            ; physical drive 0 goes forwards
                                    M569 P1 S1                            ; physical drive 1 goes forwards
                                    M569 P2 S1  
                                    M569 P3 S1 
                                    M569 P4 S1                            ; physical drive 4 goes forwards
                                    M584 X0 Y1 Z2 U3 V4                   ; set drive mapping
                                    M350 X256 Y256 Z256 U256 V256 I0      ; configure microstepping without interpolation
                                    M92 X102.4 Y512 Z512 U102.4 V512              ; set steps per mm
                                    M566 X1000000.00 Y1000000.00 Z1000000.00 U1000000.00 V1000000.00    ; set maximum instantaneous speed changes (mm/min)
                                    M203 X1000000 Y1000000 Z1000000 U1000000 V1000000 I0.0001	; set maximum speeds (mm/min) 
                                    M201 X1000000.00 Y1000000.00 Z1000000.00 U1000000.00 V1000000.00         ; set accelerations (mm/s^2)
                                    M906 X1000 Y1000 Z1000 U1000 V1000 I30            ; set motor currents (mA) and motor idle factor in per cent
                                    M84 S30                               ; Set idle timeout
                                    
                                    ; Axis Limits
                                    M208 X0 Y0 Z0 U0 V0 S1                      ; set axis minima
                                    M208 X70 Y80 Z80 U80 V300 S0                   ; set axis maxima
                                    
                                    ; Endstops
                                    M574 X1 Y1 Z1 U1 V1 S0                      ; set active low and disabled endstops
                                    
                                    ; Z-Probe
                                    M558 P0 H5 F120 T6000                 ; disable Z probe but set dive height, probe speed and travel speed
                                    M557 X0:70 Y0:80 S20                  ; define mesh grid
                                    
                                    ; Heaters
                                    M140 H-1                              ; disable heated bed
                                    
                                    ; Fans
                                    
                                    ; Tools
                                    
                                    ; Custom settings are not defined
                                    
                                    botundefined 1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators
                                      last edited by

                                      There are minimum values for M201 and M566, but not maximum values. You can run M201 and M566 without parameters to see what values RRF is using.

                                      I suspect that you are hitting the maximum step pulse rate. You are using x256 microstepping, which we do not recommend because it results in very high step pulse rates. Increasing microstepping beyond x16 rarely improves resolution. Try changing it to x16 with interpolation.

                                      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

                                      adarshsimonundefined 1 Reply Last reply Reply Quote 0
                                      • botundefined
                                        bot @adarshsimon
                                        last edited by

                                        I think, since you're commanding a single move, that "instantaneous speed change" (aka jerk) is not being applied. Jerk is normally only applied between two moves of print movement.

                                        If you set M566 P1, you will enable "jerk policy 1" which replicates Marlin-style jerk. With this form, jerk is applied to every start and stop motion, regardless if there is another print move connected to it.

                                        With M566 P1 enabled, the print moves will always start at the "jerk" speed, as set in M566.

                                        *not actually a robot

                                        adarshsimonundefined 2 Replies Last reply Reply Quote 1
                                        • adarshsimonundefined
                                          adarshsimon @dc42
                                          last edited by

                                          @dc42 I will try this and update . Thanks for the reply

                                          1 Reply Last reply Reply Quote 0
                                          • adarshsimonundefined
                                            adarshsimon @bot
                                            last edited by

                                            @bot I will try this also and update. Thank you for the reply.

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