How to calculate feed rate?
-
Hi,
How does one configures (and does it right) filament feed rate?
Is there a life hack how to do it except trial and error?
Heads of my printer are basically bolts connected to steppers. And threading of bolts does push filament into hotend.
I guess from that I can (theoretically) know how many motor steps required to move 1mm of raw filament.
I also should know diameter of nozzle (which I dont) but old BFB software was configured to 0.25 so I guess it is the one.
Is there a calculator or formula to table to use in order to configure it right?P.S. At least at this point head motors are spinning way to slow for print to happen
-
Did you just want calibrate the extrusion?
The nozzle diameter should not be relevant, you have a range where you can extrude. Just 0.25 is really small so you can't go much fast in extrusion. Keep this in mind. If you will go you will bite the filament, ecc ecc
This guide should make your calibration easy :
https://all3dp.com/2/extruder-calibration-6-easy-steps-2/ -
@giostark said in How to calculate feed rate?:
This guide should make your calibration easy :
https://all3dp.com/2/extruder-calibration-6-easy-steps-2/Thank you. I'll study it now.
I just realized that I'm not even sure I asked a right question. Perhaps I should have asked how to setup feed & feedrate. -
@monster Extruder calibration is one thing - that's how may steps are required to extrude 1mm of filament. The feed rate is speed. But as far as your configuration file is concerned, the maximum feedrate you set using M203 is largely irrelevant as long as it isn't too low. It needs to be set at or higher than the maximum speed that you think you might need for retraction moves and within the maximum speed that your extruder can handle. Any retraction move will take place at the speed defined either in the slicer or in M207 if you use firmware retraction. So if for example you set the maximum speed to 1800 (mm/min) using M203 then any extruder only move would be limited to 30mm/sec (1800/60) regardless of what retraction speed you set in the slicer or in M207. So if you think you'll need to retract at say 60mm/sec then make sure that M203 is set to at least 3600 (mm/min). For print moves which will be combined X,Y and E moves, the extruder will run much slower - typically single digit percentages of the carriage speed (e.g. 5mm/sec for a carriage speed of 100mm/sec, depending on nozzle size and layer height).
-
@deckingman Thank you a lot for this portion of knowledge. I'm slowly processing it I guess after re-reading it 10th time I'll get it right
@giostark amazing link. Thank you for that lifehack
-
There's also this guide on extruder calibration and max volumetric feed rate that goes into a bit more depth
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40#s165
-
Once you have your steps/mm feed rate working, you will want to know what your hot end is capable extruding by volume. Need to know so your X-Y moves/speeds set in your slicer program are not so fast that the hot end cannot extrude filament to match. CNC Kitchen has a good article w/ video here:
https://www.cnckitchen.com/blog/flow-rate-benchmarking-of-a-hotend -
@Phaedrux said in How to calculate feed rate?:
There's also this guide on extruder calibration and max volumetric feed rate that goes into a bit more depth
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40#s165
Awesome! That also answers on "Find Maximum Extrusion Rate" which i bumped on last night
-
@Wally said in How to calculate feed rate?:
Once you have your steps/mm feed rate working, you will want to know what your hot end is capable extruding by volume. Need to know so your X-Y moves/speeds set in your slicer program are not so fast that the hot end cannot extrude filament to match. CNC Kitchen has a good article w/ video here:
https://www.cnckitchen.com/blog/flow-rate-benchmarking-of-a-hotendThanks! That for the moment is a step after next step. Good that now I know what to red!
-
@Phaedrux said in How to calculate feed rate?:
There's also this guide on extruder calibration and max volumetric feed rate that goes into a bit more depth
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40#s165
Great resource, and I used it.
Can't say it solved the riddle completelyMax Print Speed = Volumetric Limit / ( Layer Height * Extrusion Width)
Oki - I tested/calculated my Volumetric Limit --> i got 9 --> it worked ideal with G1 E50 F80
Extrusion Width is more like fixed parameter defined by nozzle and btw Volumetric Limit also depends on it, isn't it?
Layer Height is something that you choose in slicer. And that suggests that this setting belongs to slicer. And so I go and actually find the setting.
According to formula I should have (if I wanna print with layer 0.2) -> 9/(0.25*0.2) = 9/0.5=180
At the moment in Cura i got Print speed = 60 but I get extreme underextrusion. Somehow extruder's stepper spins like a snail.; Drives M569 P0 S0 ; physical drive 0 goes backward M569 P1 S0 ; physical drive 1 goes backward M569 P2 S1 ; physical drive 2 goes backward M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 ; physical drive 4 goes forwards M569 P5 S1 ; physical drive 5 goes forwards M584 X0 Y1 Z2 E3:4:5 ; set drive mapping M350 X16 Y16 Z16 E16:16:16 I1 ; configure microstepping with interpolation M92 X87.40 Y87.40 Z1060.00 E6500.00:6500.00:6500.00 ; set steps per mm M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min M204 P2000 T4000 ; Set printing and travel accelerations M203 X3000.00 Y3000.00 Z1000.00 E80.00:80.00:80.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z50.00 E500.00:500.00:500.00 ; set accelerations (mm/s^2) M906 X300 Y600 Z500 E700:700:700 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S10 ; Set idle timeout ; Tools M207 S1.0 F2400 M563 P0 D2 H1 F0 ; 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 M563 P1 D1 H2 F0 ; define tool 1 G10 P1 X45 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C M563 P2 D0 H3 F0 ; define tool 2 G10 P2 X88 Y0 Z0 ; set tool 2 axis offsets G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
Clearly my settings are wrong somewhere...
-
@monster said in How to calculate feed rate?:
Extrusion Width is more like fixed parameter defined by nozzle and btw Volumetric Limit also depends on it, isn't it?
Yes, that's right. It's typical to use a extrusion width equal to the nozzle with or slightly larger. It is set in the slicer.
Layer height is set in the slicer as well.
M203 X3000.00 Y3000.00 Z1000.00 E80.00:80.00:80.00 ; set maximum speeds (mm/min)
You must set your extruder max speed to much high than 80mm/min this would explain the snail speed. You should set this value to 8000 perhaps. If you had this set this low during your testing you should change it and then redo your extruder calibration.
-
@Phaedrux said in How to calculate feed rate?:
M203 X3000.00 Y3000.00 Z1000.00 E80.00:80.00:80.00 ; set maximum speeds (mm/min)
You must set your extruder max speed to much high than 80mm/min this would explain the snail speed. You should set this value to 8000 perhaps. If you had this set this low during your testing you should change it and then redo your extruder calibration.
Ahaa! That is a bit counter intuitive I'd say - as with loaded filament motor won't go much higher! Thank you for that! I'll redo whole thing again now!
-
@monster The main reason to have it set higher is to allow for retractions which will probably be in the range of 25 to 80mm/s which is substantially faster than the 1.33mm/s you have set. The speed used during printing will depend on the slicer which will choose how fast it needs to go based on how fast you are printing and the extrusion width and layer height.
-
@Phaedrux said in How to calculate feed rate?:
You must set your extruder max speed to much high than 80mm/min this would explain the snail speed. You should set this value to 8000 perhaps. If you had this set this low during your testing you should change it and then redo your extruder calibration.
You were so right about it!
I did it again and now I got stability with G1 E100 F160 twice as fast!
That made Volumetric Limit --> 18.8
Max Print Speed --> 367Though when it prints nothing changes! Extruder's stepper still a snail
Also slicer doesn't seem very happy about speed:
But retruction speed sounds like ultrasonic
-
I constantly have this feeling that I'm missing some setting either in firmware on in slicer.
Would it be possible to slice that kinda print which would require printer do only one move, lets say one 10cm line of extrusion? And then look in g code and see what slicer set there for extrusion? Would that be helpful? -
@monster said in How to calculate feed rate?:
Max Print Speed --> 367
This is an over ambitious choice for print speed. The extruder may be able to provide enough plastic at that rate, but the rest of the machine likely will not.
It's far more common to use a print speed around 60mm/s for most things due to reasons of model size and geometry, overhangs, bridging, fine detail, etc.
Your
M203 X3000 Y3000
also means the max speed is being limited by the firmware to only 50mm/sTo get to 367mm/s you would need to raise the M203 value to 22000mm/min
Note the difference between mm/min and mm/s. Multiply or divide by 60 to convert between them.
You may find this post helpful at this point in your commissioning.
https://forum.duet3d.com/topic/14250/tuning-jerk-accel-speed-settings/3?_=1586556079200
-
@Phaedrux Good points, thank you!!!
I just printed this:
G0 F3600 X10 Y100 Z0.3 ;TYPE:SKIRT G1 F1500 E6.5 G1 X110 E100 F100 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10 G0 F3600 X10 Y105 G11 G1 X110 E100 F200 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10 G0 F3600 X10 Y110 G11 G1 X110 E100 F400 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10 G0 F3600 X10 Y115 G11 G1 X110 E100 F800 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10 G0 F3600 X10 Y120 G11 G1 X110 E100 F1600 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10 G0 F3600 X10 Y125 G11 G1 X110 E100 F3200 ; push 10mm of filament into the nozzle while moving to the X=30 position at the same time G10
got that
would you say that this confirms that on firmware side (incl config) all looks correct?
Picture oriented that way that bottom stripe is first print line and top&broken one is last printed line. -
@monster said in How to calculate feed rate?:
would you say that this confirms that on firmware side (incl config) all looks correct?
Printing an actual sliced object would be a better way. I can't tell much from that other than the last one might be good as a prime line....
-
Small step forward achieved
I wasn't progressing no matter I do until I noticed that in firmware I did have a filament set to an extruder used to print sliced object. So I unloaded that filament in WebUI.
Then prints began to reflect changes in Cura.Task was to print a small ring. I know ring isn't very decisive test object but I chosen it as printing ring makes less vibrations then square. Heads are heavy - vibrations significant.
best result (ring at bottom) I could achieve by setting filament flow 200% and setting in printer settings that my extruded loaded with filament 2mm diameter. When actual diameter is 3mm.
Btw retraction isn't happening at all - as it wants to spin motors way too fast. I hear only whistle instead of retraction.
Does loading filament in WebUI needed for some purposes? Perhaps that is factor here and I should somehow define it right in filament config.g?
And lastly. If in WebUI I do extrude with 1mm/s it extrudes kinda slowish but it does eat about of 5mm of filament. If I chose 5mm/s it goes very fast - on the edge of its max speed. Those 15, 30, 60 aren't usable for me. Is there a way to define what speeds I can select in WebUI?
-
@monster said in How to calculate feed rate?:
Does loading filament in WebUI needed for some purposes?
No, that's mainly for setting up specific settings for different kinds of filament. It will work without doing so.
https://duet3d.dozuki.com/Wiki/Filaments
https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_FilamentsWhat settings are you using in your config.g now?
What slicer are you using and what settings do you have set?