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

x and y axis speed limit?

Scheduled Pinned Locked Moved Unsolved
Tuning and tweaking
4
14
913
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.
  • undefined
    Jasperg
    last edited by 11 Jul 2022, 09:23

    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
    
    undefined undefined 2 Replies Last reply 11 Jul 2022, 09:28 Reply Quote 0
    • undefined
      jay_s_uk @Jasperg
      last edited by jay_s_uk 7 Nov 2022, 11:46 11 Jul 2022, 09:28

      @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

      undefined 2 Replies Last reply 11 Jul 2022, 11:42 Reply Quote 0
      • undefined
        Jasperg @jay_s_uk
        last edited by 11 Jul 2022, 11:42

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

        undefined 1 Reply Last reply 11 Jul 2022, 11:45 Reply Quote 0
        • undefined
          jay_s_uk @Jasperg
          last edited by 11 Jul 2022, 11:45

          @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
          • undefined
            Jasperg @jay_s_uk
            last edited by 11 Jul 2022, 11:49

            @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.

            undefined 1 Reply Last reply 11 Jul 2022, 11:54 Reply Quote 0
            • undefined
              jay_s_uk @Jasperg
              last edited by 11 Jul 2022, 11:54

              @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

              undefined 1 Reply Last reply 12 Jul 2022, 11:01 Reply Quote 2
              • undefined
                Phaedrux Moderator
                last edited by 11 Jul 2022, 19:59

                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

                undefined 1 Reply Last reply 12 Jul 2022, 11:31 Reply Quote 0
                • undefined
                  dc42 administrators @Jasperg
                  last edited by 12 Jul 2022, 06:45

                  @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

                  undefined 1 Reply Last reply 12 Jul 2022, 11:38 Reply Quote 0
                  • undefined
                    Jasperg @jay_s_uk
                    last edited by Jasperg 7 Dec 2022, 11:28 12 Jul 2022, 11:01

                    @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
                    • undefined
                      Jasperg @Phaedrux
                      last edited by 12 Jul 2022, 11:31

                      @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
                      • undefined
                        Jasperg @dc42
                        last edited by 12 Jul 2022, 11:38

                        @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
                        • undefined
                          Jasperg
                          last edited by 12 Jul 2022, 11:42

                          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
                          • undefined
                            dc42 administrators
                            last edited by 12 Jul 2022, 11:54

                            @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

                            undefined 1 Reply Last reply 12 Jul 2022, 13:54 Reply Quote 0
                            • undefined
                              Jasperg @dc42
                              last edited by 12 Jul 2022, 13:54

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