feedrate confusions
-
M584 X0 Y1 Z2 E3:4:5:6 ; drive remapping
; Drives
M569 P0 S1 ; Physical drive 0 goes forwards
M569 P1 S0 ; Physical drive 1 goes forwards
M569 P2 S0 ; Physical drive 2 goes backwards
M569 P3 S1 ; Physical drive 3 goes forwards
M569 P4 S0 ; Physical drive 4 goes forwards
M350 X128 Y128 Z128 E128:128:128:128 I1 ; Configure microstepping without interpolation
M92 X640.00 Y640.00 Z3200.00 E3200:3200:3200:3200 ; Set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00:120.00 ; Set maximum instantaneous speed changes (mm/min)(E120)
M203 X12000.00 Y12000.00 Z500.00 E3000:3000:3000:3000 ; Set maximum speeds (mm/min)
M201 X1000.00 Y1000.00 Z100.00 E5000.00:5000.00:5000.00:5000.00 ; Set accelerations (mm/s^2)
M906 X855.00 Y855.00 Z1000.00 E855.00:855.00:855.00:855.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeoutI tried this also
-
; Tools
M563 P0 D0:1:2:3 H1 ; Define tool 0
G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C -
@georgepaul Did you also just try
G1 E100 F100
?
Since your tool is configured to have 4 extruders and probably no mixing ratio (M567
) this should already be sufficient to move all extruder steppers. What happens then in regards to duration? -
@wilriker when i send G1 E100 F100, the first extruder(E0) moves and it rotates for 1 minute.
-
@georgepaul OK, then next question: does it work correctly if you define an equal mixing ratio like
M567 P0 E1:1:1:1
and then just use
G1 E100 F100
?
-
-
@georgepaul OK, we need more information. Can you please run the following commands on your machine and post the output:
M115 M201 M203 M566 M92 M350 M906
This will print what the machine currently takes as configured values plus the current firmware version.
-
@georgepaul said in feedrate confusions:
100
M115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.0(RTOS) ELECTRONICS: Duet WiFi 1.02 or later + DueX5 FIRMWARE_DATE: 2018-06-05b3M201
Accelerations: X: 1000.0, Y: 1000.0, Z: 100.0, E: 5000.0:5000.0:5000.0:5000.0M203
Maximum feedrates: X: 12000.0, Y: 12000.0, Z: 500.0, E: 3000.0:3000.0:3000.0:3000.0M566
Maximum jerk rates: X: 900.0, Y: 900.0, Z: 12.0, E: 120.0:120.0:120.0:120.0M92
Steps/mm: X: 640.000, Y: 640.000, Z: 3200.000, E: 3200.000:3200.000:3200.000:3200.000M350
Microstepping - X:128(on), Y:128(on), Z:128(on), E:128(on):128(on):128(on):128(on)M906
Motor current (mA) - X:855, Y:855, Z:1000, E:855:855:855:855, idle factor 30% -
As a first step perhaps try upgrading the firmware to latest and see if there has been a bug fix or change that makes a difference. Check the Whats New change log as well.
And does it occur the same with x16 microstepping?
-
I haven't tried with varying micro-stepping yet.. I don't think it should make a difference because for one motor E100 F100 is perfect.
-
@Phaedrux i just tried with 1/16 microstepping... still 2 minutes
-
I just updated my firmware from 2.00 to 2.03 and ran the same tests.
M115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet WiFi 1.02 or later + DueX5 FIRMWARE_DATE: 2019-06-13b2Now with M567 P0 E1:1:1:1
-
G1 E100 F100 / G1 E100:0:0:0 F100 all four motors turn in 1 minute.
-
G1 E100: 100:0:0 F100 two motors turn in 2 minute.
-
G1 E100: 100: 100:0 F100 three motors turn in 3 minute.
-
G1 E100: 100: 100: 100 F100 four motors turn in 4 minute.
And without M567 P0 E1:1:1:1
-
G1 E100 F100 / G1 E100:0:0:0 F100 first motors turn in 1 minute.
-
G1 E100:100 F100 two motors turn in 2 minute.
-
G1 E100: 100:100 F100 three motors turn in 3 minute.
-
G1 E100: 100: 100:100 F100 four motors turn in 4 minute.
-
-
now that the timing has changed by itself(after updates), i am sure its nothing to do with my config.g file
-
Thinking about it that makes even sense because: with the
G1 E100:100:100:100 F100
you command to extrude a total of 400mm of filament (distributed over for extruders) with a feedrate of 100mm/min. That takes four minutes. -
@wilriker
That's what I thought too.. so i tried with X and Y axis also,G1 X100 E100 F100 ;the move took 1minute
G1 Y100 E100 F100 ;the move took 1minute
G1 X100 Y100 E100 F100 ;the move took 1minute 25 seconds -
i am just curious to know what the printer is doing behind my back
there must be some formulae running in the background. What are the variables and constants that define these movements and feedrates?
-
@wilriker This logic makes sense because i tried, G1 E100:50:50:100 F100 and it took 3 minutes
-
@georgepaul said in feedrate confusions:
@wilriker
That's what I thought too.. so i tried with X and Y axis also,G1 X100 E100 F100 ;the move took 1minute
G1 Y100 E100 F100 ;the move took 1minute
G1 X100 Y100 E100 F100 ;the move took 1minute 25 secondsThat looks fine. The first command means move the X axis 100mm at a feedrate of 100mm/minute while extruding 100mm of filament. The second command is the same but for the Y axis. The third command means move in both the X and Y directions by 100mm. That's a diagonal move so the length of that diagonal is longer (by the square root of 2 so about 1.4 times longer). 60 seconds x 1.4 is about 84 seconds so near enough 1 minute and 25.
Edit. Be careful with feedrate. If you do G1 F50 then G1 X100 F100, the move will start at 50mm/minute and end at 100mm/minute so it will ramp up to speed over that move and thus take longer. https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move
-
@deckingman said in feedrate confusions:
@georgepaul said in feedrate confusions:
Edit. Be careful with feedrate. If you do G1 F50 then G1 X100 F100, the move will start at 50mm/minute and end at 100mm/minute so it will ramp up to speed over that move and thus take longer. https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_MoveHi Ian,
I don't think your interpretation of the wiki is correct here. What the section you refer to means is that a given feedrate parameter is sticky (i.e. does not have to be repeated) until the next one is seen. The first example shows that by first setting a feedrate and then a movement without an explicit feedrate reusing the previously set one. The second example basically states that the first set feedrate is immediately overwritten by the one given in the move command. But it does not bring that across very well.I also just tested it by running
G1 F10 G1 X100 F3000
and it does not accelerate all the way from 10 to 3000mm/min but accelerates (with my 3000mm/s²) to 3000mm/min immediately.
-
@wilriker I have to admit that I haven't tested it myself but from the wiki quote ...........
"
G1 F1500
G1 X50 Y25.3 E22.4 F3000However, in the above example, we set a feedrate of 1500mm/minute on line 1, then do the move described above accelerating to a feedrate of 3000 mm/minute as it does so. The extrusion will accelerate along with the X and Y movement, so everything stays synchronized."
and ...........
"Feedrate is treated as simply another variable (like X, Y, Z, and E) to be linearly interpolated".
end of quote.
Maybe it only acts does the linear interpolation of feedrate if it's a print move which includes extrusion ?? My printer is still in bits so I can't test it myself.