Calibrating maximum volumetric rate

Todo

More testing with different filmanets and different nozzles required.

The Maximum volumetric speed setting (MVS) in PrusaSlicer is poorly documented, and not well understood. It essentially imposes a governor on the maximum amount of filament that the slicer will attempt to push through your 3D printer’s hotend. While you can achieve the same effect by adjusting print speeds, using the MVS settings offers several advantages:

  • You can specify optimal print speeds in your slicer settings based on print quality or speed. PrusaSlicer will print up to these speeds unless doing so will exceed the MVS setting. This is an easy way to avoid the extruder clicks and jams associated with exceeding your hotend’s capacity (maximum volumetric rate).

  • Independent MVS values can be set under Print Settings and Filament Settings, allowing a print profile to specify an all-around default based on your hotend hardware, while easily adjusting MVS for different filaments when and if desired.

Note

These notes are based on my experiences with the Prusa i3 Mk3 printer. If you are using a different printer, please verify the hardware details are same. These pages may be a bit rough as I revise them and add new material. Please check back regularly for updates.

Testing approach

After rummaging around searching for a procedure to test my hotend extrusion rate limits, I finally settled on “free air” testing which involves simply issuing commands to set the nozzle temperature and extrude filament with no XY motion. I like free air tests over prints because acceleration values, XY motion and print parameters don’t come into play. It’s important to extrude a sufficient amount of filament (60mm+) in order to relieve any nozzle back-pressure that may have built up as filament first starts to flow.

Test procedure

Here’s how I’ve set up my testing:

  • I’m printing with eSun PLA+ filament with a nominal diameter of 1.75mm with a cross-section of roughly 2.405mm.

  • I’m running an OG R2 (April 2018) extruder setup.

  • G-code commands are sent directly to the printer using Pronterface connected via USB.

To do testing, fire up Pronterface or Octoprint connected to your 3D printer via USB and begin issuing manual g-code commands.

  1. First, set extruder mode to relative and set my nozzle temp to 200C and began extruding using eSun PLA+:

M83
M109 S200
  1. Then begin issuing commands to extrude 60mm of filament at different speeds:

G1 E60 F300
G1 E60 F400
  1. Increment speeds by 100mm/min (the Fxx parameter) until you the extruder clicking.

  2. Reduce by speed by 50mm/min.

  3. Increment upward by 10mm/min until you hear the extruder start to skip again

  4. Backed down by 5mm/min.

Once you find the highest speed that extrudes without extruder clicks, repeat the test 2 more times for verification.

Once you determine the speed for a particular temperature, the calculations are simple:

  • Divide the speed used in the G1 command by 60 to convert mm/min to mm/s.

  • Multiply the speed in mm/s by the area of the cross-section of my 1.75mm filament (2.405) to get the corresponding rate measured in mm3/s .

  • Reduce the measured rate (.5 mm3/s is a good amount) to leave some headroom for hardware and filament variations.

Test results

Results will vary significantly by nozzle temperature and opening size.

My first tests were conducted with an E3D 04.0mm nickel-plated copper nozzle:

Table 5 E3D 0.40mm nickel plated copper nozzle results

Temperature

Speed (mm/min)

Speed (mm/s)

Max. volumetric rate

195C

365

6.08

14.62 mm3/s

200C

400

6.67

16.04 mm3/s

210C

450

7.50

18.04 mm3/s

My next round of tests was conducted with an E3D 0.40mm plain brass nozzle:

Table 6 E3D 0.40mm brass nozzle results

Temperature

Speed (mm/min)

Speed (mm/s)

Max. volumetric rate

195C

395

6.58

15.82 mm3/s

200C

420

7.00

16.83 mm3/s

210C

450

7.50

18.04 mm3/s

So far, these results match my previous experience:

  • At 195C, Prusa’s 15 mm3/s default is a bit too aggressive for PLA printing with a 0.40mm nozzle.

  • Raising temps increases throughput (MVS), but at the risk of diminishing print quality.

  • Ambient temps will likely affect results. I’m doing this testing at 68F/20C during a surprisingly chilly New England night.

  • eSun PLA+ is a very smooth printing filament. Results will vary with different filament.

My conclusions are that:

  1. 15 mm3/s is not safe for all PLAs.

  2. 11.5 mm3/s is a good safe default to avoid problems for most users.

These conclusions are borne out (unscientifically) by a number of posts that popped up on the Prusa forums over the summer months in which users reported failures printing with PLA (at 15 mm3/s ) but none with PETG (8 mm3/s ). My advice for extruder click and jams problems is always slow down, and that fixes many of these problems. Setting a lower MVS value just does that without a lot of fiddling with speed settings.

E3D released a blog entry on the release of their SuperVolcano hotend that contained some valuable information. They compared results from printing the Benchy model at a variety of sizes using each of their hotends with different nozzle sizes:

  • V6 (standard on the Prusa i3 Mk3)

  • Volcano

  • SuperVolcano

Unfortunately, the only common nozzle size tested was 0.80mm, but that yielded some very interesting results.

Excerpt from E3D SuperVolcano test results

Fig. 55 Excerpt from E3D SuperVolcano test results

The highlighted column shows results in mm3/m . By converting to mm3/s we can see a few patterns:

  • The V6 with 0.8mm nozzle is rated at ~14 mm3/s.

  • The Volcano with 0.8mm nozzle is rated at ~19.5 mm3/s.

  • The SuperVolcano with 0.8mm nozzle is rated at ~24 mm3/s.

  • Nozzle size impacts throughput, which only makes sense. Smaller nozzles will reduce MVS.

  • Swapping a V6 0.40mm nozzle for a 0.80mm nozzle knocks 10 hours off total print time. Swapping a V6 with a 08.0mm nozzle mounted for a SuperVolcano “only” knocks another ~4 hours off total print time. Simply swapping to a larger nozzle is a very cost-effective, low-effort way of boosting stock i3 Mk3 performance.

  • The big gain with the SuperVolcano is when you jump to nozzles of 1.00mm or larger.

With a 0.80mm nozzle being the largest official E3D size for the V6, E3D’s advertised 15 mm3/s MVS is close, although with a 0.40mm nozzle it drops to closer to 10 mm3/s. I’m comfortable recommending 11.5 mm3/s for most users.

Todo

Additional testing to be done:

  • Compare results with different nozzle sizes & composition. (Lots of people having issues with filled materials. Does this test work satisfactorily to identify MVS for different filaments? I think so, but I’m sleepy. Do different nozzle sizes change the equation?)

  • Compare results at different ambient temps.

  • Compare results using that toxic non-name filament we all have stuck in the corners.

  • Determine whether extruder cooling (e.g. R2 versus R3 extruder parts) matters.

  • Determine whether the use of a MMU impacts results.

  • Different nozzle sizes.

  • Test P3-D claims of improvements.

  • Compare P3-D to E3D and others.

  • Compare those cheap AliExpress wonder-nozzles.

  • Titanium heatbreaks and stuff … though perhaps not. That stupid Prusa heatbreak step though?

  • Include MVS calibration into filament calibration procedure, limit testing to best heat tower results.

Contact and feedback

You can find me on the Prusa support forums or Reddit where I lurk in many of the 3D printing-related subreddits.

Last updated on 20190729