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

    Allow slower minimum movement speed

    Scheduled Pinned Locked Moved
    Firmware wishlist
    6
    22
    1.8k
    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.
    • 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
                                          • adarshsimonundefined
                                            adarshsimon @bot
                                            last edited by

                                            @dc42 @bot both suggestions were right. The movement timing is predictable now . Thank you!.

                                            @bot "two moves of a print movement" means two axis have to move or two movement commands of a single axis would do?. Thanks in advance.

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