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

    x and y axis speed limit?

    Scheduled Pinned Locked Moved Unsolved
    Tuning and tweaking
    4
    14
    911
    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.
    • 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