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

    What are the G Code commands that affect stepper feedrate?

    Scheduled Pinned Locked Moved Unsolved
    Duet Hardware and wiring
    8
    34
    1.3k
    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.
    • Phaedruxundefined
      Phaedrux Moderator
      last edited by

      Well there's no way for the firmware to know if back emf or whatever is preventing a motor from behaving as commanded because it's an open loop system, so no, the motion planner shouldn't be slowing down movement because of that.

      The reason for asking for the M122 report was to see if there were a number of hiccups being counted, which would be an indication that the internal step rate was being exceeded, which could cause slow down and micro pauses as it tries to keep up. That doesn't look like the case here though.

      I'm afraid we'll have to wait until DC42 returns from vacation to be able to really explain what might be going on.

      Z-Bot CoreXY Build | Thingiverse Profile

      1 Reply Last reply Reply Quote 0
      • A Former User?
        A Former User
        last edited by

        we're also missing the microstepping setting and one motor is 0.9deg and the other 1.8deg?

        jcsb1994undefined 1 Reply Last reply Reply Quote 0
        • jcsb1994undefined
          jcsb1994 @A Former User
          last edited by

          @bearer I have tested with 3 motors of the same model (the one at 1.8deg step) and no luck, the moves still take 1.5s each instead of 1 (1.1 maybe with accel/decel). It doesnt seem like having different motor models change something.
          here are my config settings

          M350 X16 Y16 Z16 U16 E8 I1                            	; Configure microstepping with interpolation
          M92 X101.858 Y50.929 Z101.858 U50.929						; Set steps per mm
          

          And may be all my settings just in case

          ; Drives
          G91 
          M584 X0 Y1 Z2 U3 E4
          ;M584 A0 B1 U2 V3  				   ; map drives for first band
          M564 H0	S0	  				   ; can move motors without homing, S0 can ignore axis limits
          M569 P0 S1                                         ; Drive 0 goes forwards
          M569 P1 S1                                         ; Drive 1 goes forwards
          M569 P2 S1                                         ; Drive 2 goes forwards
          M569 P3 S1                                         ; Drive 3 goes forwards
          M350 X16 Y16 Z16 U16 E8 I1                            	; Configure microstepping with interpolation
          M92 X101.858 Y50.929 Z101.858 U50.929						; Set steps per mm
          M566 X100.00 Y100.00 Z100.00 U100.00 E120.00                ; Set maximum instantaneous speed changes (mm/min)
          M203 X20000.00 Y20000.00 Z20000.00 U20000.0 E20000.00            ; Set maximum speeds (mm/min) Z wobbles at 800
          
          M201 X1100.00 Y1100.00 Z1100.00 E1100.00                ; Set accelerations (mm/s^2); testing was done at 4500 4500 10 250
          M906 X700.00 Y1400.00 Z700.00 U1400.00 E500.00           ; Set motor currents (mA)
          M84 S0                                             ; Disable motor idle current reduction
          
          ; Axis Limits
          M208 A0:63 B0:63 U0:63 V0:63 W0:63 X0:63 Y0:63 Z0:63 E0:63                            ; Set axis min-maxima
          G92 X0 Y0 Z0 U0 			; set all position to 0 along axis
          
          ; Endstops
          ;M574 A1 B1 U1 V1 W1 X1 Y1 Z1 E1:1:1:1 S0          ; Set active low for all 8 motors on Jack
          
          M574 X1 S1 P"!xstop"   ; A min active LOW endstop switch
          M574 Y1 S1 P"!ystop"   ; B min active LOW endstop switch
          M574 Z1 S1 P"!zstop"   ; U min active LOW endstop switch
          M574 U1 S1 P"!e0stop"  ; V max active LOW endstop switch
          
          droftartsundefined 1 Reply Last reply Reply Quote 0
          • jcsb1994undefined
            jcsb1994
            last edited by

            So I guess there is no other known possible error source? Next step is further research and possible help from @dc42 ?

            droftartsundefined jcsb1994undefined 2 Replies Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @jcsb1994
              last edited by

              @jcsb1994 your config.g is missing a U value in M201 (max acceleration), so likely using the default and slowing all axes in a coordinated move as a result. Send M201 on its own to check setting, and do the same for each of the other motor settings. Testing each axis individually and seeing if one is slow would be the way the sensible way to test this.

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              Phaedruxundefined wilrikerundefined 2 Replies Last reply Reply Quote 2
              • Phaedruxundefined
                Phaedrux Moderator @droftarts
                last edited by

                @droftarts Good eye.

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • wilrikerundefined
                  wilriker @droftarts
                  last edited by

                  @droftarts said in What are the G Code commands that affect stepper feedrate?:

                  @jcsb1994 your config.g is missing a U value in M201 (max acceleration), so likely using the default and slowing all axes in a coordinated move as a result.

                  For the sake of completeness: the default for a movement axis (i.e. not an extruder axis) is 500mm/s².

                  Also it could be simply tested. In the current setup moving all axes except U should work in the expected amount of time while also moving U axis will slow it down.

                  Manuel
                  Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                  with probably always latest firmware/DWC (incl. betas or self-compiled)
                  My Tool Collection

                  1 Reply Last reply Reply Quote 0
                  • jcsb1994undefined
                    jcsb1994 @jcsb1994
                    last edited by

                    @droftarts said in What are the G Code commands that affect stepper feedrate?:

                    @jcsb1994 your config.g is missing a U value in M201 (max acceleration), so likely using the default and slowing all axes in a coordinated move as a result. Send M201 on its own to check setting, and do the same for each of the other motor settings. Testing each axis individually and seeing if one is slow would be the way the sensible way to test this.

                    Ian

                    @wilriker said in What are the G Code commands that affect stepper feedrate?:

                    @droftarts said in What are the G Code commands that affect stepper feedrate?:

                    @jcsb1994 your config.g is missing a U value in M201 (max acceleration), so likely using the default and slowing all axes in a coordinated move as a result.

                    For the sake of completeness: the default for a movement axis (i.e. not an extruder axis) is 500mm/s².

                    Also it could be simply tested. In the current setup moving all axes except U should work in the expected amount of time while also moving U axis will slow it down.

                    Thank you for your keen replies. I have checked with M201, my M201 U value was at default 500.00 as expected. I set it to 1100.00 in my config.g and checked again with M201 at bootup and it was effectively set to 1100.
                    But it doesnt seem to be the problem here. It didnt change anything, I double checked all my individual axes and they move normally by themselves. the problem is when I start moving more than one, even X and Y simultaneously start to slow down.
                    I am wondering if a setting is making the MCU compute too many things for more than 1 motor?
                    I didnt try it yet, but maybe 1100 as a max acceleration is too low, too? But i wouldnt see why, since the motors are ok when by themselves. Maybe the board has a design flaw or something broken? (how would I be able to check that?)

                    wilrikerundefined 1 Reply Last reply Reply Quote 0
                    • wilrikerundefined
                      wilriker @jcsb1994
                      last edited by

                      @jcsb1994 I looked through your config again and besides the aforementioned missing M201 Unnn value there is nothing obvious that would explain this.

                      Can you please do the following:

                      • Run M122 (discard the result this is just for resetting various values)
                      • Execute the move with one motor and make sure duration is as expected
                      • Run M122 and post the result
                      • Execute the move with how many motors it takes to provoke longer than expected duration
                      • Run M122 and post the result together with the actual command

                      Manuel
                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                      My Tool Collection

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

                        Also I suggest you send M350 without parameters to verify that the microstepping is still set to x16, and M203 without parameters to verify that the speed limits haven't changed from the values in config.g.

                        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

                        1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @jcsb1994
                          last edited by

                          @jcsb1994 said in What are the G Code commands that affect stepper feedrate?:

                          A couple more config oddities, but probably doesn't explain the issue:

                          G91

                          You set G91 for relative movements. Do you change back to absolute movements at any point, with G90? Try replacing G91 with G90.

                          M208 A0:63 B0:63 U0:63 V0:63 W0:63 X0:63 Y0:63 Z0:63 E0:63 ; Set axis min-maxima

                          There's a number of axes there that are not defined. Comment out A, B, V, W and E (E axis doesn't usually have limit).

                          M92 X101.858 Y50.929 Z101.858 U50.929 ; Set steps per mm

                          You have defined the extruder, but haven't defined the steps per mm.

                          alt text

                          I find the positions that the printer stopped at very odd. Did you do some moves before running the script? I suppose it doesn't really matter, as you were using relative moves, but it is outside the bounds set by M208, though you have overridden it with M564.

                          G1 H1 X-25 Y-25 Z-25 U-25 F1500
                          In your move script, the H1 is unnecessary, as you're not homing (I think). If you run in absolute positioning (G90), change this to G1 X0 Y0 Z0 U0 F1500

                          Is this your full config.g? If not, can you post the full config.g.

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          jcsb1994undefined 1 Reply Last reply Reply Quote 0
                          • jcsb1994undefined
                            jcsb1994 @wilriker
                            last edited by jcsb1994

                            @wilriker said in What are the G Code commands that affect stepper feedrate?:

                            M122

                            Sorry for the late reply, I didnt have access to the board.

                            Here is the 1st move with the right speed (at the bottom) with M122 run right after it

                            8/6/2020, 9:42:33 AM	M122
                            === Diagnostics ===
                            RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later
                            Board ID: 08DGM-917NK-F23T0-6J9DL-3SS6K-KW9SH
                            Used output buffers: 3 of 24 (19 max)
                            === RTOS ===
                            Static ram: 27980
                            Dynamic ram: 92936 of which 20 recycled
                            Exception stack ram used: 328
                            Never used ram: 9808
                            Tasks: NETWORK(ready,468) HEAT(blocked,1456) MAIN(running,1840) IDLE(ready,80)
                            Owned mutexes:
                            === Platform ===
                            Last reset 00:03:49 ago, cause: power up
                            Last software reset at 2020-08-03 10:30, reason: User, spinning module GCodes, available RAM 9872 bytes (slot 2)
                            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
                            Error status: 0
                            MCU temperature: min 28.7, current 29.2, max 29.4
                            Supply voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
                            Driver 0: standstill, SG min/max not available
                            Driver 1: standstill, SG min/max not available
                            Driver 2: standstill, SG min/max not available
                            Driver 3: standstill, SG min/max not available
                            Driver 4: standstill, SG min/max not available
                            Date/time: 2020-08-06 09:42:33
                            Cache data hit count 407286085
                            Slowest loop: 9.95ms; fastest: 0.12ms
                            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 0.9ms, write time 0.0ms, max retries 0
                            === Move ===
                            Hiccups: 0(0), FreeDm: 169, MinFreeDm: 168, MaxWait: 33253ms
                            Bed compensation in use: none, comp offset 0.000
                            === MainDDARing ===
                            Scheduled moves: 9, completed moves: 9, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
                            === AuxDDARing ===
                            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
                            === Heat ===
                            Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                            === 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
                            Daemon is idle in state(s) 0
                            Autopause is idle in state(s) 0
                            Code queue is empty.
                            === Network ===
                            Slowest loop: 199.84ms; fastest: 0.09ms
                            Responder states: HTTP(2) 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.23
                            WiFi MAC address b4:e6:2d:53:14:68
                            WiFi Vcc 3.45, reset reason Unknown
                            WiFi flash size 4194304, free heap 22880
                            WiFi IP address 192.168.1.192
                            WiFi signal strength -64dBm, reconnections 0, sleep mode modem
                            Socket states: 4 0 0 0 0 0 0 0
                            
                            8/6/2020, 9:42:14 AM	G1 H0 Y25 F1500
                            

                            Here is the slower move with 2 motors (running all 4 would be even slower) and M122 run right after it.

                            8/6/2020, 9:46:50 AM	M122
                            === Diagnostics ===
                            RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet WiFi 1.02 or later
                            Board ID: 08DGM-917NK-F23T0-6J9DL-3SS6K-KW9SH
                            Used output buffers: 3 of 24 (19 max)
                            === RTOS ===
                            Static ram: 27980
                            Dynamic ram: 92936 of which 20 recycled
                            Exception stack ram used: 328
                            Never used ram: 9808
                            Tasks: NETWORK(ready,468) HEAT(blocked,1456) MAIN(running,1840) IDLE(ready,80)
                            Owned mutexes: WiFi(NETWORK)
                            === Platform ===
                            Last reset 00:08:06 ago, cause: power up
                            Last software reset at 2020-08-03 10:30, reason: User, spinning module GCodes, available RAM 9872 bytes (slot 2)
                            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task MAIN
                            Error status: 0
                            MCU temperature: min 29.0, current 30.4, max 30.6
                            Supply voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
                            Driver 0: standstill, SG min/max not available
                            Driver 1: standstill, SG min/max not available
                            Driver 2: standstill, SG min/max not available
                            Driver 3: standstill, SG min/max not available
                            Driver 4: standstill, SG min/max not available
                            Date/time: 2020-08-06 09:46:50
                            Cache data hit count 864652416
                            Slowest loop: 22.65ms; fastest: 0.12ms
                            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.0ms, write time 9.2ms, max retries 0
                            === Move ===
                            Hiccups: 0(0), FreeDm: 169, MinFreeDm: 167, MaxWait: 268218ms
                            Bed compensation in use: none, comp offset 0.000
                            === MainDDARing ===
                            Scheduled moves: 10, completed moves: 10, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
                            === AuxDDARing ===
                            Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
                            === Heat ===
                            Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                            === 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
                            Daemon is idle in state(s) 0
                            Autopause is idle in state(s) 0
                            Code queue is empty.
                            === Network ===
                            Slowest loop: 201.82ms; fastest: 0.09ms
                            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 3
                            WiFi firmware version 1.23
                            WiFi MAC address b4:e6:2d:53:14:68
                            WiFi Vcc 3.45, reset reason Unknown
                            WiFi flash size 4194304, free heap 23320
                            WiFi IP address 192.168.1.192
                            WiFi signal strength -65dBm, reconnections 0, sleep mode modem
                            Socket states: 4 0 0 0 0 0 0 0
                            
                            8/6/2020, 9:46:44 AM	G1 H0 X-25 Y-25 F1500
                            

                            @dc42
                            I tested both! They didn't change from config.g

                            8/6/2020, 9:49:22 AM	M203
                            Max speeds (mm/sec): X: 333.3, Y: 333.3, Z: 333.3, U: 333.3, E: 333.3, min. speed 0.50
                            8/6/2020, 9:48:53 AM	M350
                            Microstepping - X:16(on), Y:16(on), Z:16(on), U:16(on), E:8(on)
                            
                            1 Reply Last reply Reply Quote 0
                            • jcsb1994undefined
                              jcsb1994 @droftarts
                              last edited by

                              @droftarts Here is my config.g before I apply your changes:

                              ; Configuration file for Duet WiFi (firmware version 1.23)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v2 on Thu Feb 07 2019 21:56:57 GMT-0500 (Eastern Standard Time)
                              
                              ; General preferences
                              ;G90                                                ; Send absolute coordinates
                              M83                                                ; ...but relative extruder moves
                              
                              ; Network
                              M550 P"JackTheRipper"                              ; Set machine name
                              M551 P"notshowninforums"                                     ; Set password
                              ;M552 S0                                           ; Enable network : send to idle mode
                              M552 S1                                            ; Enable network : establish connection
                              ;M587 shouldn't be in config.g, use YAT instead to connect, then leave M552 S1 command to stay connected when repowering
                              ;M587 S"notshowninforums" P"notshowninforums"                   ; Configure access point. You can delete this line once connected
                              M586 P0 S1                                         ; Enable HTTP
                              M586 P1 S0                                         ; Disable FTP
                              M586 P2 S0                                         ; Disable Telnet
                              
                              
                              ; Drives
                              G91 
                              M584 X0 Y1 Z2 U3 E4
                              ;M584 A0 B1 U2 V3  				   ; map drives for first band
                              M564 H0	S0	  				   ; can move motors without homing, S0 can ignore axis limits
                              M569 P0 S1                                         ; Drive 0 goes forwards
                              M569 P1 S1                                         ; Drive 1 goes forwards
                              M569 P2 S1                                         ; Drive 2 goes forwards
                              M569 P3 S1                                         ; Drive 3 goes forwards
                              M350 X16 Y16 Z16 U16 E8 I1                            	; Configure microstepping with interpolation
                              M92 X101.858 Y50.929 Z101.858 U50.929						; Set steps per mm
                              M566 X100.00 Y100.00 Z100.00 U100.00 E120.00                ; Set maximum instantaneous speed changes (mm/min)
                              M203 X20000.00 Y20000.00 Z20000.00 U20000.0 E20000.00            ; Set maximum speeds (mm/min) Z wobbles at 800
                              
                              M201 X1100.00 Y1100.00 Z1100.00 U1100.0 E1100.00                ; Set accelerations (mm/s^2); testing was done at 4500 4500 10 250
                              M906 X700.00 Y1400.00 Z700.00 U1400.00 E500.00           ; Set motor currents (mA)
                              M84 S0                                             ; Disable motor idle current reduction
                              
                              ; Axis Limits
                              M208 A0:63 B0:63 U0:63 V0:63 W0:63 X0:63 Y0:63 Z0:63 E0:63                            ; Set axis min-maxima
                              G92 X0 Y0 Z0 U0 			; set all position to 0 along axis
                              
                              ; Endstops
                              ;M574 A1 B1 U1 V1 W1 X1 Y1 Z1 E1:1:1:1 S0          ; Set active low for all 8 motors on Jack
                              
                              M574 X1 S1 P"!xstop"   ; A min active LOW endstop switch
                              M574 Y1 S1 P"!ystop"   ; B min active LOW endstop switch
                              M574 Z1 S1 P"!zstop"   ; U min active LOW endstop switch
                              M574 U1 S1 P"!e0stop"  ; V max active LOW endstop switch
                              
                              
                              ; Z-Probe
                              ;M307 H3 A-1 C-1 D-1                                ; Disable heater on PWM channel for BLTouch
                              ;M558 P9 H7 F120 T3000                              ; Set Z probe type to bltouch and the dive height + speeds
                              ;G31 P500 X-22 Y30 Z1.3                             ; Set Z probe trigger value, offset and trigger height LAST BEST VALUE : Z = 1.5, Y = -30
                              ;M557 X0:250 Y0:300 S50                             ; Define mesh grid
                              
                              ; Heaters
                              M140 H-1                                          ; Disable heated bed
                              ;M305 P0 B4725 C7.060000e-8                         ; Set thermistor + ADC parameters for heater 0
                              ;M143 H0 S80                                        ; Set temperature limit for heatbed to 80C
                              ;M305 P1 B4725 C7.060000e-8                         ; Set thermistor + ADC parameters for heater 1
                              ;M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
                              ;M305 P2 T100000 B4138 R4700                       ; Set thermistor + ADC parameters for heater 2
                              
                              
                              ; Fans
                              ;M106 P0 S0.3 I0 F500 H-1                           ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                              ;M106 P1 S1 I0 F500 H1 T45                          ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                              
                              ; Tools
                              M563 P0 D0 H1                            ; Define tool 0
                              G10 P0 X0 Y0 Z0 E0                      ; Set tool 0 axis offsets
                              G10 P0 R0 S0                             ; Set initial tool 0 active and standby temperatures to 0C
                              
                              ; Automatic power saving
                              ;M911 S20 R21 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
                              
                              ; Custom settings are not configured
                              
                              ; Miscellaneous
                              ;M501                                               ; Load saved parameters from non-volatile memory
                              
                              SSID:	EBOX-1731
                              Protocol:	Wi-Fi 4 (802.11n)
                              Security type:	WPA2-Personal
                              Network band:	2.4 GHz
                              Network channel:	1
                              IPv6 address:	fde0:83b6:6742:10::cb6
                              fde0:83b6:6742:10:21d1:ad:29e2:705
                              Link-local IPv6 address:	fe80::21d1:ad:29e2:705%12
                              IPv6 DNS servers:	fe80::3e90:66ff:fe53:4c90%12
                              IPv4 address:	192.168.1.205
                              IPv4 DNS servers:	192.168.1.1
                              DNS suffix search list:	lan
                              Manufacturer:	Intel Corporation
                              Description:	Intel(R) Wireless-AC 9260 160MHz
                              Driver version:	21.70.0.6
                              Physical address (MAC):	04-33-C2-76-E8-5F
                              

                              @droftarts said in What are the G Code commands that affect stepper feedrate?:

                              I find the positions that the printer stopped at very odd. Did you do some moves before running the script? I suppose it doesn't really matter, as you were using relative moves, but it is outside the bounds set by M208, though you have overridden it with M564.

                              If I inderstand correctly, the positions written here are the code from pause.g?

                              @bearer said in What are the G Code commands that affect stepper feedrate?:

                              you pressed pause and the duet ran pause.g which by default contain some retraction g-code...

                              @droftarts said in What are the G Code commands that affect stepper feedrate?:

                              In your move script, the H1 is unnecessary, as you're not homing (I think). If you run in absolute positioning (G90), change this to G1 X0 Y0 Z0 U0 F1500

                              The H1 lets my endstops stop my move. This is true with G90 and G91. When I put H0 or nothing at all the motor tries to run passed the endstop.

                              This is the new config.g. The problem isnt solved, but I dont like G91 at all it is messy for sending displacements of a specific distance haha!

                              ; Configuration file for Duet WiFi (firmware version 1.23)
                              ; executed by the firmware on start-up
                              ;
                              ; generated by RepRapFirmware Configuration Tool v2 on Thu Feb 07 2019 21:56:57 GMT-0500 (Eastern Standard Time)
                              
                              ; General preferences
                              G90                                                ; Send absolute coordinates... not for jack
                              M83                                                ; ...but relative extruder moves
                              
                              ; Network
                              M550 P"JackTheRipper"                              ; Set machine name
                              M551 P"llolollol"                                     ; Set password
                              ;M552 S0                                           ; Enable network : send to idle mode
                              M552 S1                                            ; Enable network : establish connection
                              ;M587 shouldn't be in config.g, use YAT instead to connect, then leave M552 S1 command to stay connected when repowering
                              ;M587 S"iiiiiiiii" P"aaaaaaaa"                   ; Configure access point. You can delete this line once connected
                              M586 P0 S1                                         ; Enable HTTP
                              M586 P1 S0                                         ; Disable FTP
                              M586 P2 S0                                         ; Disable Telnet
                              
                              
                              ; Drives
                              ;G91 
                              M584 X0 Y1 Z2 U3
                              ;M584 A0 B1 U2 V3  				   ; map drives for first band
                              M564 H0	S0	  				   ; can move motors without homing, S0 can ignore axis limits
                              M569 P0 S1                                         ; Drive 0 goes forwards
                              M569 P1 S1                                         ; Drive 1 goes forwards
                              M569 P2 S1                                         ; Drive 2 goes forwards
                              M569 P3 S1                                         ; Drive 3 goes forwards
                              M350 X16 Y16 Z16 U16 E8 I1                            	; Configure microstepping with interpolation
                              M92 X101.858 Y50.929 Z101.858 U50.929						; Set steps per mm
                              M566 X100.00 Y100.00 Z100.00 U100.00 E120.00                ; Set maximum instantaneous speed changes (mm/min)
                              M203 X20000.00 Y20000.00 Z20000.00 U20000.0 E20000.00            ; Set maximum speeds (mm/min) Z wobbles at 800
                              
                              M201 X1100.00 Y1100.00 Z1100.00 U1100.0 E1100.00                ; Set accelerations (mm/s^2); testing was done at 4500 4500 10 250
                              M906 X700.00 Y1400.00 Z700.00 U1400.00 E500.00           ; Set motor currents (mA)
                              M84 S0                                             ; Disable motor idle current reduction
                              
                              ; Axis Limits
                              M208 X0:63 Y0:63 Z0:63 U0:63                            ; Set axis min-maxima
                              G92 X0 Y0 Z0 U0 			; set all position to 0 along axis
                              
                              ; Endstops
                              ;M574 A1 B1 U1 V1 W1 X1 Y1 Z1 E1:1:1:1 S0          ; Set active low for all 8 motors on Jack
                              
                              M574 X1 S1 P"!xstop"   ; A min active LOW endstop switch
                              M574 Y1 S1 P"!ystop"   ; B min active LOW endstop switch
                              M574 Z1 S1 P"!zstop"   ; U min active LOW endstop switch
                              M574 U1 S1 P"!e0stop"  ; V max active LOW endstop switch
                              
                              
                              ; Z-Probe
                              ;M307 H3 A-1 C-1 D-1                                ; Disable heater on PWM channel for BLTouch
                              ;M558 P9 H7 F120 T3000                              ; Set Z probe type to bltouch and the dive height + speeds
                              ;G31 P500 X-22 Y30 Z1.3                             ; Set Z probe trigger value, offset and trigger height LAST BEST VALUE : Z = 1.5, Y = -30
                              ;M557 X0:250 Y0:300 S50                             ; Define mesh grid
                              
                              ; Heaters
                              M140 H-1                                          ; Disable heated bed
                              ;M305 P0 B4725 C7.060000e-8                         ; Set thermistor + ADC parameters for heater 0
                              ;M143 H0 S80                                        ; Set temperature limit for heatbed to 80C
                              ;M305 P1 B4725 C7.060000e-8                         ; Set thermistor + ADC parameters for heater 1
                              ;M143 H1 S280                                       ; Set temperature limit for heater 1 to 280C
                              ;M305 P2 T100000 B4138 R4700                       ; Set thermistor + ADC parameters for heater 2
                              
                              
                              ; Fans
                              ;M106 P0 S0.3 I0 F500 H-1                           ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                              ;M106 P1 S1 I0 F500 H1 T45                          ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                              
                              ; Tools
                              M563 P0 D0 H1                            ; Define tool 0
                              G10 P0 X0 Y0 Z0 E0                      ; Set tool 0 axis offsets
                              G10 P0 R0 S0                             ; Set initial tool 0 active and standby temperatures to 0C
                              
                              ; Automatic power saving
                              ;M911 S20 R21 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss
                              
                              ; Custom settings are not configured
                              
                              ; Miscellaneous
                              ;M501                                               ; Load saved parameters from non-volatile memory
                              
                              SSID:	EBOX-1731
                              Protocol:	Wi-Fi 4 (802.11n)
                              Security type:	WPA2-Personal
                              Network band:	2.4 GHz
                              Network channel:	1
                              IPv6 address:	fde0:83b6:6742:10::cb6
                              fde0:83b6:6742:10:21d1:ad:29e2:705
                              Link-local IPv6 address:	fe80::21d1:ad:29e2:705%12
                              IPv6 DNS servers:	fe80::3e90:66ff:fe53:4c90%12
                              IPv4 address:	192.168.1.205
                              IPv4 DNS servers:	192.168.1.1
                              DNS suffix search list:	lan
                              Manufacturer:	Intel Corporation
                              Description:	Intel(R) Wireless-AC 9260 160MHz
                              Driver version:	21.70.0.6
                              Physical address (MAC):	04-33-C2-76-E8-5F
                              

                              Should I send a video of what is happening?

                              jcsb1994undefined 1 Reply Last reply Reply Quote 0
                              • jcsb1994undefined
                                jcsb1994 @jcsb1994
                                last edited by

                                Yesterday I tried with the slowest speed possible, I was sending 25mm movements with a feedrate of 300 (i.e. G1 X25 Y25 Z25 U25 F300) and was also slowed by a similar factor. I had around 8 seconds instead of 5 per move when moving more than one motor.
                                That makes me think that it clearly is a software setting somewhere that slows it down? Or it just cant compute more than one motor? Since it is slowed down even more when the command I sent it should already be going slower than the speed it used to go to when I was asking 1500 feedrate, I doubt it can be hardware related.

                                I am starting to lose hope on what else I can do to solve this. I already read the whole G code page in search for useful settings.

                                1 Reply Last reply Reply Quote 0
                                • fcwiltundefined
                                  fcwilt
                                  last edited by

                                  The H1 lets my endstops stop my move. This is true with G90 and G91. When I put H0 or nothing at all the motor tries to run passed the endstop.

                                  H1 is to be used when homing as it will set the axis position to axis min/max (depending on the location of the end stop sensor) when the end stop sensor is activated.

                                  You don't use it just to try and solve a problem with moving past the axis min/max.

                                  If normal moves are not limited to the axis min/max perhaps you have a M564 somewhere disabling the min/max limit. You could also have a problem with your homing code or your motor steps/mm settings.

                                  I dont like G91 at all it is messy for sending displacements of a specific distance haha!

                                  What does that mean?


                                  Thanks

                                  Frederick

                                  Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                  jcsb1994undefined 1 Reply Last reply Reply Quote 0
                                  • jcsb1994undefined
                                    jcsb1994 @fcwilt
                                    last edited by

                                    @fcwilt said in What are the G Code commands that affect stepper feedrate?:

                                    The H1 lets my endstops stop my move. This is true with G90 and G91. When I put H0 or nothing at all the motor tries to run passed the endstop.

                                    H1 is to be used when homing as it will set the axis position to axis min/max (depending on the location of the end stop sensor) when the end stop sensor is activated.
                                    You don't use it just to try and solve a problem with moving past the axis min/max.
                                    If normal moves are not limited to the axis min/max perhaps you have a M564 somewhere disabling the min/max limit. You could also have a problem with your homing code or your motor steps/mm settings.

                                    I removed my M564 command and tried using my home files instead, but no luck. My steps/mm settings are fine, at least I think so since my axes movement distances

                                    I dont like G91 at all it is messy for sending displacements of a specific distance haha!

                                    What does that mean?
                                    I meant the opposite, sorry! I always have to calculate the motors position before sending a command with G90. I am interested in moving the motors for particular distances, so G91 is much easier for me.

                                    At that point, either it is due to the newer firmware, or my duet is broken!

                                    fcwiltundefined B_Magnumundefined 2 Replies Last reply Reply Quote 0
                                    • fcwiltundefined
                                      fcwilt @jcsb1994
                                      last edited by

                                      @jcsb1994

                                      Hi,

                                      This is not related to your problem but it can help those trying to help.

                                      If you set your forum signature you can put your hardware and/or firmware information there so everyone knows at a glance.

                                      Frederick

                                      Printers: a E3D MS/TC setup and a RatRig Hybrid. Using Duet 3 hardware running 3.4.6

                                      1 Reply Last reply Reply Quote 0
                                      • B_Magnumundefined
                                        B_Magnum @jcsb1994
                                        last edited by

                                        @jcsb1994 I don't know if you are still working on this but I think I was having the same issues. I never actually timed the moves on the 2.x firmware but it seemed like the moves completed in the correct amount of time. When I updated to the 3.1.1 firmware my motors went way faster than they were supposed to. So I think they changed how the feedrates are calculated.

                                        Now I think that the feedrate is only calculated using the X, Y, and Z values. Meaning that with your initial example of G1 X-25 Y-25 Z-25 U-25 F1500 to find out how long the move is going to take you first need to find how long the diagonal move will be.

                                        This will be 25^2 + 25^2 + 25^2 = c^2, c will equal 43.3. Then you divide by the feedrate and multiply by 60 to get the length of time the move will take in seconds. Meaning that the time for this move should be 1.73 s. I did the math for the feedrate of 300 as well and I got that the move should take 8.66 s.

                                        The math seems to match what you are getting but it would be nice to confirm that this is actually what is going on and see if these changes were implemented when updating to firmware 3.x.

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