M203 and default *minimum* feed speed
-
I've recently been struggling to determine the maximum volumetric flow capability of my hotend using the spreadsheet produced by Stefan of CNC Kitchen. Firstly, Stefan's spreadsheet doesn't work with delta printers (or any other type that has X=0, Y=0 in the centre of the build plate). Secondly, having written my own spreadsheet based on Stefan's, my next problem has been that all the printed "nuggets" were the same size and almost half the weight that they should be with a range of volumetric flows from 6mm³/s to 20mm³/s. Visually, the extruder was spinning at the same rate for each setting.
Looking further, I discovered that, for RRF2.03 and later (I'm on 3.4.0), M203 used to set maximum feed rates, has a default minimum feed rate of 30mm/min. This can be changed with the I parameter (that's capital i) once one knows of its existence (it's clearly shown in the Duet3D GCode dictionary!) At the default feed rate, with Stefan's method, all volumetric flows will be constrained to a minimum of about 24mm³/s, which is optimistic for a V5/V6 hotend (hence my 50% extrusions)! This will apply to all printer types running RRF2.03 and later, not just deltas.
I've now set M203 I6 and the gcode runs my extruder at much more sensible speeds, producing printed nuggets with weights that are where I would expect them to be (and I now know how bad my hotend is!)
Hopefully, this note will help others.
-
30mm/min is quite slow. I'm surprised there is such an interaction. What commands does his spreadsheet as you to send?
-
@phaedrux
Thanks for responding.
I agree, it's slow, but Stefan's gcode generating spreadsheet, to extrude a nugget at 4mm³/s, generates the following segment:;####### 4mm3/s
M117 240°C // 4mm3/s
G0 X5 Y5 Z15.5 F6000
G4 S30; Stabalize
G0 Z0.3 ; Drop down
G1 X30 E20 F300 ;Prime
G1 E-3.5 F7500; Retract
G0 X45 F6000 ; Wipe
G0 Z0.5 ; Lift
G1 E3.5 F7500 ; De-Retract
G1 Z10.5 E200 F4.99 ; Extrude
G1 E-3.5 F7500 ; Retract
G0 Z15.5; Lift
G0 X5 Y5 F6000
G92 E0 ; Reset ExtruderIt only seems to be a problem for RRF2.03 and later, and not for Marlin, which is what I think he's using.
-
@peterh1500 said in M203 and default *minimum* feed speed:
G1 Z10.5 E200 F4.99 ; Extrude
Does Marlin use mm/s or mm/min for the feed rate?
At 5mm/min it would take 40 minutes to complete that move to extrude 200mm. Is this really what is intended? I think you'd likely cook the filament at that speed.
-
@phaedrux
Now I'm puzzled...
According to their respective gcode dictionaries, both Marlin & RRF use feed values in mm/min for G1 commands.
In the extrude command generated by Stefan's spreadsheet, there is no specified X or Y move only a Z move from 0.5mm to 10.5mm. My understanding is that the feed rate applies to this Z move and not to the extruder move. The 200mm extrusion takes place over the time taken for the 10mm Z move, which would take 2 minutes at 5mm/min. Extruding the 481mm³ of filament (200mm of 1.75mm diameter) over 2 minutes would therefore take place at 4mm³/s.I've now uncovered another problem because I'm now trying to calibrate for A and B in M592 for non-linear extrusion. In RRF, non-linear extrusion seems to be only applied in conjunction with an extruding X or Y move, so I now can't measure what effect it has with Stefan's method, which only has a Z move during extrusion! The forum has a method with a gcode attributed to DC42, whereby one measures the length of filament entering the extruder, but this doesn't have the extrusion back pressure that Stefan's method has & the factors generated seem to be unhelpful. This is now off the topic that I started, but I'd be grateful of any suggestions?
-
Ah yes of course you're correct. The extrusion will complete at the same time the Z move finishes. I assume he's doing the Z move to give the coil some space as it builds?
And yes you are correct that non-linear extrusion is only in effect during XYE moves, ie, during a print move. Typically we're not printing during Z moves, ie, during a layer change.
@peterh1500 said in M203 and default *minimum* feed speed:
but this doesn't have the extrusion back pressure that Stefan's method
Why do you say that?
-
@phaedrux
Stefan's method has the nozzle in close proximity to the extruded material throughout the extrusion, by tracking upwards, which I've interpreted as maintaining a reasonably constant back pressure on the extruder. DC42's code (as far as I've found it in various posts on the forum) doesn't set the Z height and can be used extruding into mid air without any back pressure from printed material. I suppose that, in DC42's gcode I could set the Z height and allow the X movement to spread the filament on the build plate at a constant back pressure. However, I was about to declare that the extrusion lengths from DC42's method, and the weight of the nuggets (they're more blobs than coils!) from Stefan's method yield results that differ from each other in respect of the required A and B coefficients in M592, but now that I've looked at my data again, they're almost identical when expressed in percentage fall off of extrusion length / volume with speed of extrusion. I may be closer to a solution (for PLA at least) than I thought!
As an aside, I tried using G2 in place of the G1 in my gcode based on Stefan's method, to extrude a circle, so that there was an X and Y movement as well as a Z (it gave me helical nuggets!). This seemed to work OK but when I looked more closely, the duration of the extrusion was not what I anticipated for the circle circumference or for the length of the Z move, so I couldn't work out a feed rate to set an accurate volumetric extrusion rate! Have you any idea how RRF handles a simultaneous XY&Z move with extrusion?!
I'm grateful that you've made me think about it again, and more carefully, & re-examine my data. -
@peterh1500 said in M203 and default *minimum* feed speed:
Have you any idea how RRF handles a simultaneous XY&Z move with extrusion?!
Sounds like vase mode.