feedrate confusions
-
@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.
-
@deckingman yes, this is perfect... now i get it.. let me do some other tests and see what i can post here