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

    x and y axis speed limit?

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    4
    14
    919
    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.
    • Jaspergundefined
      Jasperg
      last edited by

      Hi all,

      I am testing my boards and trying to work out what is limiting the speed of the x and y axis.

      As far as I can tell x , and z are all set up the same. But X and Y do not ever seem to get to the requested speed, while Z will do. I even tried replacing moving the Y motors to the U axis and they started working the same as the Z but as soon as I move them back to the Y they are limited again.

      Then I added a new motor to U and it will get to speed I request or stall trying.

      below is my current config file.

      Thanks for any help!

      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 02 2022 12:58:01 GMT+0800 (Singapore Standard Time)
      
      ; General preferences
      G90                                                            ; send absolute coordinates...
      M83                                                            ; ...but relative extruder moves
      M550 P"chip chop"                                              ; set printer name
      
      ; Network
      M552 S1                                                        ; enable network
      M586 P0 S1                                                     ; enable HTTP
      M586 P1 S0                                                     ; 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                                                     ; physical drive 2 goes forwards
      M569 P3 S1                                                     ; physical drive 3 goes forwards
      M569 P4 S1                                                     ; physical drive 4 goes forwards
      M569 P5 S1                                                     ; physical drive 5 goes forwards
      M569 P6 S1                                                     ; physical drive 6 goes forwards
      
      M584 X0:4 Y1:5  Z2:3                                                 ; set drive mapping E3:4:5 
      M584 U6 
      M350 X6 Y6 Z6 U6 I1 ; E6:6:6                                              ; configure microstepping with interpolation
      M92 X40.00 Y40.00 Z40.00 U40.00 ;E40.00:40.00:40.00                       ; set steps per mm
      M566 X3.00 Y3.00 Z3.00 U3.00 ;E3.00:3.00:3.00                             ; set maximum instantaneous speed changes (mm/min)
      M203 X350000.00 Y350000.00 Z350000.00 U350000.00 ;E350000.00:350000.00:350000.00   ; set maximum speeds (mm/min)
      M201 X34000.00 Y34000.00 Z34000.00 U34000.00 ;E29000.00:29000.00:29000.00       ; set accelerations (mm/s^2)
      M906 X1800 Y1800 Z1800 U1800 I10 ;E1800:1800:1800 I0.1                     ; set motor currents (mA) and motor idle factor in per cent
      M84 S5                                                                    ; Set idle timeout
      
      ; RepRapFirmware applies the M204 accelerations to the move as a whole, and also applies the limits set by M201 to each axis and extruder
        
      ; Axis Limits
      M208 X0 Y0 Z0 U-5000 S1                                               ; set axis minima
      M208 X180 Y180 Z180 U 5000 S0                                         ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"xstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
      M574 Y1 S1 P"ystop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
      M574 Z1 S1 P"zstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop
      
      ; Z-Probe
      ;M558 P0 H0 F120 T4800                                          ; disable Z probe but set dive height, probe speed and travel speed
      ;M557 X0:0 Y0:0 S20                                             ; define mesh grid
      
      ; Heaters
      M140 H-1                                                       ; disable heated bed (overrides default heater mapping)
      
      ; Fans
      
      ; Tools
      
      ; Custom settings are not defined
      
      
      code_text
      
      jay_s_ukundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Jasperg
        last edited by jay_s_uk

        @jasperg what i would say is your M566 is very very low. its in mm/min so i would expect values more like 180 (3 * 60) rather than 3. I use 300mm/min on my machine (5mm/s)

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        Jaspergundefined 2 Replies Last reply Reply Quote 0
        • Jaspergundefined
          Jasperg @jay_s_uk
          last edited by

          @jay_s_uk hey thanks for the advice. You mean M566 right?

          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @Jasperg
            last edited by

            @jasperg sorry yes, M566

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

            1 Reply Last reply Reply Quote 0
            • Jaspergundefined
              Jasperg @jay_s_uk
              last edited by

              @jay_s_uk hey thanks for the advice, ill try something much higher. you meant M566 right? I have not tried changing it as i didn't think it would affect different axis in different ways. As they are all set to 3. I can't think why the speed is limited only on the x and y. As far as I know I have set up x,y,z all with exactly the same settings.
              I am still quite new to this.

              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
              • jay_s_ukundefined
                jay_s_uk @Jasperg
                last edited by

                @jasperg your microstepping is also very odd. which duet board are you using?
                Microstepping is normally a geometric value (e.g. 1, 2, 4, 8, 16, 32, 64, 128 or 256) so a value of 6 wouldn't be valid (M350) so I don't know whether this is screwing with things.
                What motors are you using (can you provide the datasheet)? as your M203 and M201 values are a lot higher than I would typically expect as well
                Your idle current (the I value in M906) is also quite low and could cause an issue (a value of 30 is more typical than 10)

                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                Jaspergundefined 1 Reply Last reply Reply Quote 2
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  Can you send M122 and M98 P"config.g" in the DWC gcode console and copy paste the results here?

                  Z-Bot CoreXY Build | Thingiverse Profile

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

                    @jasperg if you are testing the speed by running a print, or after you have run a print, and the print file was generated by PrusaSlicer, then the print file may have reset the M203 X and Y speed limits to very conservative values.

                    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

                    Jaspergundefined 1 Reply Last reply Reply Quote 0
                    • Jaspergundefined
                      Jasperg @jay_s_uk
                      last edited by Jasperg

                      @jay_s_uk Oh yes I must have deleted the 1 on each of them some how. I though I had set it to 16.

                      M203 is set high on all axis as did not want that to be the limiting factor when I am testing.

                      I should probably explain what I am trying to do.
                      I have 2 motors on each axis each are the ones spec'd in the the voron 2 design

                      I am using T40 pully with a belt connecting each motor. And I have just mounted them 2020 with a linear rail. between them and I am just running them back and forth at higher and higher accelerations till they stall, just to see what the limit in speed is over the distance.

                      With a requested speed of 2833 mm/s I get 1897.4 on X and Y but 2473.9 on Z.
                      As Increase the acceleration on each axis I get a faster and faster speed on Z but X and Y seem to have hit a limit that I cannot see. I added a U axis as well with just one motor, not attached to anything but the same settings as the others, and it has the same top speed as Z over the same distance.

                      I then tried adding the Y motors on to the U axis and they were then moving at the same speed as the Z as well.

                      It seems like there is something I have not found that is limiting the acceleration when it is on the X and Y axis

                      motor spec
                      Electrical Specification
                      Inductance(mH) 3
                      Phase Resistance(ohm) 1.4
                      Rated Current(A) 2
                      Step Angle(deg.) 1.8 Bipolar
                      Holding Torque(Ncm) 59

                      Physical Specification
                      IP Rating 40
                      Frame Size Nema 17

                      1 Reply Last reply Reply Quote 0
                      • Jaspergundefined
                        Jasperg @Phaedrux
                        last edited by

                        @phaedrux

                        M98 P"config.g"
                        HTTP is enabled on port 80
                        FTP is disabled
                        TELNET is disabled
                        
                        
                        M122
                        === Diagnostics ===
                        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1 (2022-06-01 21:05:28) running on Duet WiFi 1.02 or later + DueX5
                        Board ID: 08DGM-956GU-DJ3SJ-6J1FD-3S06T-9ANZG
                        Used output buffers: 3 of 26 (23 max)
                        === RTOS ===
                        Static ram: 23860
                        Dynamic ram: 74216 of which 0 recycled
                        Never used RAM 13836, free system stack 120 words
                        Tasks: NETWORK(ready,13.3%,203) HEAT(notifyWait,0.0%,388) Move(notifyWait,0.0%,294) DUEX(notifyWait,0.0%,24) MAIN(running,86.6%,384) IDLE(ready,0.0%,30), total 100.0%
                        Owned mutexes: WiFi(NETWORK)
                        === Platform ===
                        Last reset 01:47:11 ago, cause: power up
                        Last software reset at 2022-07-09 14:09, reason: User, GCodes spinning, available RAM 10580, slot 1
                        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                        Error status: 0x00
                        Step timer max interval 0
                        MCU temperature: min 37.8, current 41.3, max 42.3
                        Supply voltage: min 23.8, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0, power good: yes
                        Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                        Events: 0 queued, 0 completed
                        Driver 0: standstill, SG min 0
                        Driver 1: standstill, SG min 0
                        Driver 2: standstill, SG min 0
                        Driver 3: standstill, SG min 0
                        Driver 4: standstill, SG min 0
                        Driver 5: standstill, SG min 0
                        Driver 6: standstill, SG min n/a
                        Driver 7: standstill, SG min n/a
                        Driver 8: standstill, SG min n/a
                        Driver 9: standstill, SG min n/a
                        Driver 10: 
                        Driver 11: 
                        Date/time: 2022-07-12 19:29:29
                        Cache data hit count 4294967295
                        Slowest loop: 20.39ms; fastest: 0.18ms
                        I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                        === Storage ===
                        Free file entries: 10
                        SD card 0 detected, interface speed: 20.0MBytes/sec
                        SD card longest read time 1.5ms, write time 2.0ms, max retries 0
                        === Move ===
                        DMs created 83, segments created 7, maxWait 1448437ms, bed compensation in use: none, comp offset 0.000
                        === MainDDARing ===
                        Scheduled moves 18, completed 18, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                        === AuxDDARing ===
                        Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                        === Heat ===
                        Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                        === GCodes ===
                        Segments left: 0
                        Movement lock held by null
                        HTTP is idle in state(s) 0
                        Telnet is idle in state(s) 0
                        File is idle in state(s) 0
                        USB is idle in state(s) 0
                        Aux is idle in state(s) 0
                        Trigger is idle in state(s) 0
                        Queue is idle in state(s) 0
                        LCD is idle in state(s) 0
                        Daemon is idle in state(s) 0
                        Autopause is idle in state(s) 0
                        Code queue is empty
                        === DueX ===
                        Read count 0, 0.00 reads/min
                        === Network ===
                        Slowest loop: 199.84ms; fastest: 0.08ms
                        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                        HTTP sessions: 1 of 8
                        - WiFi -
                        Network state is active
                        WiFi module is connected to access point 
                        Failed messages: pending 0, notready 0, noresp 2
                        WiFi firmware version 1.26
                        WiFi MAC address 60:01:94:73:5b:e4
                        WiFi Vcc 3.34, reset reason Turned on by main processor
                        WiFi flash size 4194304, free heap 24240
                        WiFi IP address 192.168.103.167
                        WiFi signal strength -58dBm, mode 802.11n, reconnections 0, sleep mode modem
                        Clock register 00002002
                        Socket states: 0 0 0 0 0 0 0 0
                        
                        1 Reply Last reply Reply Quote 0
                        • Jaspergundefined
                          Jasperg @dc42
                          last edited by

                          @dc42 at the moment I am just testing each axis with 2 motors mounted on a 2020 with linear rail running back and forth on a belt with T40 pulleys connected to the the motors. I am just sending the gcode below at the moment

                          g00 x0 y0 z0  f170000
                          g00 x0 y180 z0
                          g00 x0 y0 z0  
                          g00 x0 y180 z0
                          g00 x0 y0 z0  
                          g00 x0 y180 z0
                          g00 x0 y0 z0  
                          G4 P10
                          
                          g00 x00 y00 z00
                          g00 x0 y0 z180 
                          g00 x00 y00 z00
                          g00 x0 y0 z180 
                          g00 x00 y00 z00
                          g00 x0 y0 z180 
                          g00 x00 y00 z00
                          G4 P10
                          
                          g00 x00 y00 z00
                          g00 x180 y0 z0
                          g00 x00 y00 z00
                          g00 x180 y0 z0
                          g00 x00 y00 z00
                          g00 x180 y0 z0
                          g00 x00 y00 z00
                          G4 P10
                          
                          1 Reply Last reply Reply Quote 0
                          • Jaspergundefined
                            Jasperg
                            last edited by

                            I have updated the config to have M350 16 micro stepping and M566 180 maximum instantaneous speed change. but did not see any difference.

                            ; Configuration file for Duet WiFi (firmware version 3.3)
                            ; executed by the firmware on start-up
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 02 2022 12:58:01 GMT+0800 (Singapore Standard Time)
                            
                            ; General preferences
                            G90                                                            ; send absolute coordinates...
                            M83                                                            ; ...but relative extruder moves
                            M550 P"chip chop"                                              ; set printer name
                            
                            ; Network
                            M552 S1                                                        ; enable network
                            M586 P0 S1                                                     ; enable HTTP
                            M586 P1 S0                                                     ; 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                                                     ; physical drive 2 goes forwards
                            M569 P3 S1                                                     ; physical drive 3 goes forwards
                            M569 P4 S1                                                     ; physical drive 4 goes forwards
                            M569 P5 S1                                                     ; physical drive 5 goes forwards
                            M569 P6 S1                                                     ; physical drive 6 goes forwards
                            
                            M584 X0:4 Y1:5  Z2:3                                                 ; set drive mapping E3:4:5 
                            M584 U6 
                            M350 X16 Y16 Z16 U16 I1 ; E6:6:6                                              ; configure microstepping with interpolation
                            M92 X40.00 Y40.00 Z40.00 U40.00 ;E40.00:40.00:40.00                       ; set steps per mm
                            M566 X180.00 Y180.00 Z180.00 U180.00 ;E3.00:3.00:3.00                             ; set maximum instantaneous speed changes (mm/min)
                            M203 X350000.00 Y350000.00 Z350000.00 U350000.00 ;E350000.00:350000.00:350000.00   ; set maximum speeds (mm/min)
                            M201 X34000.00 Y34000.00 Z34000.00 U34000.00 ;E29000.00:29000.00:29000.00       ; set accelerations (mm/s^2)
                            M906 X1800 Y1800 Z1800 U1800 I10 ;E1800:1800:1800 I0.1                     ; set motor currents (mA) and motor idle factor in per cent
                            M84 S5                                                                    ; Set idle timeout
                            
                            ; RepRapFirmware applies the M204 accelerations to the move as a whole, and also applies the limits set by M201 to each axis and extruder
                              
                            ; Axis Limits
                            M208 X0 Y0 Z0 U-5000 S1                                               ; set axis minima
                            M208 X180 Y180 Z180 U 5000 S0                                         ; set axis maxima
                            
                            ; Endstops
                            M574 X1 S1 P"xstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
                            M574 Y1 S1 P"ystop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
                            M574 Z1 S1 P"zstop"                                            ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop
                            
                            ; Z-Probe
                            ;M558 P0 H0 F120 T4800                                          ; disable Z probe but set dive height, probe speed and travel speed
                            ;M557 X0:0 Y0:0 S20                                             ; define mesh grid
                            
                            ; Heaters
                            M140 H-1                                                       ; disable heated bed (overrides default heater mapping)
                            
                            ; Fans
                            
                            ; Tools
                            
                            ; Custom settings are not defined
                            
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators
                              last edited by

                              @jasperg you appear to be commanding moves 180mm long. Have you worked out the maximum speed that can be reached mid-move, given the acceleration you have configured?

                              The M566 settings are not relevant here. The microstep settings could be relevant, in that if you have specified high microstepping in the M350 command then at high speeds you may reach the limit at which step pulses can be generated.

                              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

                              Jaspergundefined 1 Reply Last reply Reply Quote 0
                              • Jaspergundefined
                                Jasperg @dc42
                                last edited by

                                @dc42 what I did is set the length of the move to 180 and put a very high rate. With what i think are exactly the same settings on each axis. Then gradually up the acceleration that I set in the config file on each new test, originally I was doing this to test at what point the motor stalls, as I wanted to see how effective using 2 motors driving the same belt was at increasing power and speed but at one point the x and y axis stop accelerating any faster, yet the z will continue to do so. I can't find anything that is set any differently between each axis at the moment.

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