Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. jcsb1994
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 32
    • Best 1
    • Controversial 0
    • Groups 0

    Posts made by jcsb1994

    • RE: What are the G Code commands that affect stepper feedrate?

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

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      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.

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

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

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @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)
      
      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: 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. 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?)

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

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

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: Uploading and running files from G code commands

      @bearer I am familiar with C and C++
      learning bash doesnt seem too long.

      I would need the project to be cross platform. Is bash only usable with linux?

      Basically, I have a script that generates G code made out of while loops for the duet. I just want the duet to receive those commands automatically. Ideally the easiest method would be to send the commands directly to the duet via USB through a terminal opened by my script. This is what I did before I start using while loops, which do not seem to be usable with direct USB commands, and it worked great. The problem was that I need to send repetitive commands for long periods of time, and I would eventually fill the buffer because there is no way to stay in sync with where the motors are in their operations, the script has to estimate when to send the commands.
      That being said, a while loop is much more efficient and the motors can indefinitely loop. But I am forced to generate a file.g since I cannot simply send this via a USB terminal, unfortunately. I am not sure I understand the solution you offered. The duet was connected to a Pi's USB (which is linux so bash works) and then the Pi was connected to your computer?

      Since the user will be on a computer (i am on windows right now) I need the person to be able to run the script and ideally the file.g that this script generates can be automatically brought to the duet

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: Uploading and running files from G code commands

      @bearer said in Uploading and running files from G code commands:

      finally got around to trying this on a Duet2Wifi w/ RRF 3.1.1 that wasn't attached to a Raspberry Pi over the SPI interface which for now breaks some of the SD card operations..

      Wait, that wasn't or that was attached to a Pi?

      What language is this file in? i am not familiar with this syntax. I am really interestted in trying this out

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @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
      
      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @bearer Ha ok thanks I understand.. I didn't see it this way I thought it meant where it paused on the running program.

      And if a motor current is limited in such a way that it limits its max speed below the required feedrate, will the other motors slow down even if their current max setup will let them reach the required feedrate?

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @Phaedrux Ok, so I changed my max current values for 1400mA on the 2 bigger motors. But it didn't change anything.

      I also had a weird message.

      I started by uploading this script with the upload and start button

      echo 12345
      
      while true
      	G1 X25 Y25 Z25 U25 F1500
      	G1 H1 X-25 Y-25 Z-25 U-25 F1500
      	M122
      
      M0 H1
      

      981feeb6-f62a-43c3-b27a-9ba293a942a7-image.png

      And made sure the movements were taking significantly more time than a second each.

      Then I pressed on pause, and this message appeared:
      959a0a88-3183-4bcc-adb0-a82623d7172d-image.png

      The Printing paused message seems wrong. there isn't even a line ith these values! is the code being changed when uploaded to the Duet3d??

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @Phaedrux
      I tried increasing the Vin to around 24V but the movements are still slowed. my 24V power supply was pushed to its current limits however (4.8A consumption, and its rated 5A).

      Here is what I get with M122. Everything looks fine even at 23.5V but the problem persists.

      === 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: 2 of 24 (22 max)
      === RTOS ===
      Static ram: 27980
      Dynamic ram: 92936 of which 20 recycled
      Exception stack ram used: 472
      Never used ram: 9664
      Tasks: NETWORK(ready,488) HEAT(blocked,1456) MAIN(running,1824) IDLE(ready,80)
      Owned mutexes: WiFi(NETWORK)
      === Platform ===
      Last reset 00:00:54 ago, cause: power up
      Last software reset at 2020-07-28 12:22, 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 34.2, current 34.6, max 34.7
      Supply voltage: min 23.5, current 23.5, max 23.6, under voltage events: 0, over voltage events: 0, power good: yes
      Driver 0: ok, SG min/max not available
      Driver 1: ok, SG min/max not available
      Driver 2: ok, SG min/max not available
      Driver 3: ok, SG min/max not available
      Driver 4: standstill, SG min/max not available
      Date/time: 2020-07-28 16:13:24
      Cache data hit count 94461989
      Slowest loop: 9.87ms; fastest: 0.12ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 9
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 0.6ms, write time 0.0ms, max retries 0
      === Move ===
      Hiccups: 0(0), FreeDm: 169, MinFreeDm: 165, MaxWait: 16ms
      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 ready with "M122" 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.
      
      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @bearer no voltage drop! During movement:
      adaa440c-2c52-46de-9770-b0f3262ec68c-image.png

      It is not a clone, so I am really puzzled right now...

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @Phaedrux I just found out what made the feedrate slow down. It isnt the firmware update, it is the fact that I added motors to my board! It seems like operating 4 motors compared to only 1 drains too much current for the duet3d wifi. Is there a solution to this. As of now (I just tested) with this command:

      while true
      	G1 U25 F1500
      	G1 H1 U-25 F1500
      M0 H1
      

      I get around 1 sec per move (plus wastes from accel/decel)

      But when I use this command:

      while true
      	G1 X25 Y25 Z25 U25 F1500
      	G1 H1 X-25 Y-25 Z-25 U-25 F1500
      M0 H1
      

      Then I get up to 1.7s per move, as I explained before. It seems linear however, I get a little slower at 2 and 3 motors (around 1.5s per move).

      Is there a current setting to correct this or it is a physical limit to the Duet3D wifi? I am using

      M906 X700.00 Y700.00 Z700.00 U700.00 E500.00           ; Set motor currents (mA)
      

      for my motor currents, and I my 4 motors are actually

      • 2 X - 17hd48002h‑22b

      • 2 X - 17hm15-0904s

      all of which are nema17. Is there a setting for max board current? I am worried about increasing the max current for my individual motors, the 17hm15 can't/shouldnt go a lot higher.

      Am I right thinking it is a current issue?
      Thanks!

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: Using while in terminal commands

      @bearer oups it is not part of the string, its just a pasting mistake

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • Using while in terminal commands

      Hi,
      I am trying to implement a while loop meta command in one of my projects. It works fine when placing it into a g file that is uploaded and run as a print file.

      ;test.g
      ;echoes 12345 and executes a successful while loop
      echo 12345
      
      while true
      	G1 X25 F1500
      	G1 H1 X-25 F1500
      
      M0 H1
      

      But I want to see if it is possible to send a while loop via direct usb serial commands (i.e. through sending G code on a terminal). When sending the same string to the terminal (and making sure the indentation is still present) the Duet3D discards the while operation and does the moving only once.

      "motors: while true\n
          G1 H0 X25.417066 F528.000676\n
          G1 H1 X-25.417066 F528.000676\n"
      

      Is it possible or the while can onlu be used inside files?
      thanks!

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • Uploading and running files from G code commands

      Hi, I am looking for a way to upload files automatically to my duet3D and use them without having to use the web interface (basically I want a command prompt script to send commands to my duet3d, but directly sending the g code through usb caused a bunch of missed commands)

      I have found the M559 command, but I cannot make it work. I tried typing the whole file path:

      M559 P"C:\Users\...\Desktop\test.g"
      

      But I get an Error: Can't open file for writing. I can't find a way to use this command..

      There also is this post where @lolorc mentions "in the mean time, i'll continue to upload my files through usb serial"
      https://forum.duet3d.com/topic/8513/duetwifiserver-1-22-released
      I really tried looking at how to upload files through USB but I cannot find any documentation online.

      Then, I plan on using M23 and M24 to run the uploaded file directly from my command line application. Is this feasible? If so, would it be better/easier to use M559 (sent through USB anyway) or upload through USB (if lolorc doesnt refer to the same thing)?

      The key thing here is that I dont want to have to click anything, once the file is generated, it can be uploaded automatically and run on the duet.

      Thanks for your help!

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @Phaedrux I tried looking at his recent posts, but there are so many!! I didnt have any luck finding something on feedrate bad conversion.

      My program used to work however. I wonder if this can be caused by upgrading to reprap version 3 (I used to be on RRF2 when it worked).

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • RE: What are the G Code commands that affect stepper feedrate?

      @Phaedrux Yeah! (not in this example however). But even when correcting Feedrate for accel/decel losses (which are pretty small) I have more than 60% increase in time taken (feedrate is basically 2/3 of what is should be on paper)

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994
    • What are the G Code commands that affect stepper feedrate?

      Hi,
      I am trying to send commands that last for a specific period of time, given their feedrate and amount o move, this should be more or less predictable.

      This command:

      G1 H1 X-25.000000 Y-25.000000 Z-25.000000 U-25.000000 F1500.000000
      

      is supposed to move my motors for about 1 second, but it takes around 1.7s, although the distance of 25mm is respected.

      I have setup my config to convert steps into axis movement correctly since distances are right. But I do not know what can be wrong to have 70% time increase on my expected feedrate!

      here are the commands I think could have an impact:

      M92 X50.929 Y50.929 Z50.929 U50.929  E50.929               ; Set steps per mm
      M566 X100.00 Y100.00 Z100.00 U100.00 E120.00                ; Set maximum instantaneous speed changes (mm/min)
      M203 X10000.00 Y10000.00 Z10000.00 U10000 E10000.00            ; Set maximum speeds (mm/min)
      M201 X1100.00 Y1100.00 Z1100.00 E1100.00                ; Set accelerations (mm/s^2); 
      M906 X700.00 Y700.00 Z700.00 U700.00 E500.00           ; Set motor currents (mA)
      M84 S0                                             ; Disable motor idle current reduction
      

      Thanks for your help...

      posted in Duet Hardware and wiring
      jcsb1994undefined
      jcsb1994