best practice - limit extruder speed



  • For the nozzle * filament I have defined max extrusion rate that works.

    The big issue with flex3drive and PLA for e.g. is that the first time the filament is not going through the sharp teeth of the hobbed drive will eat the PLA and the extrusion from that moment on is dead. I never saw it recover after the second/third issue. Usually, it fails immediately after first "click" but in rare cases, it can recover but soon after, the second one comes and it is fatal. Never seen/heard the third.

    I did some testing and found max I can get out of .3mm X nozzle on e3v6 with flex3drive is 400mm/min, so ~960 mm³/min. Other nozzles and other filaments behave differently (e.g. PETG/ABS/HIPS never fail catastrophically, they under extrude but recover). For start, I understand dropping the current on the motor is the first step (better to skip step than to strip filament) and I'll be doing that but for now, want to limit the extrusion speed. Specification of the Flex3Drive states

    • max speed 2400mm/min
    • max acceleration 120mm/min
    • retraction 900mm/min

    The question is what is the best practice here, I have minimal experience with duet and RRF. What I see as options are

    1. add M203 E400 to config.g
    2. add M203 E400 to filaments/something.g (not sure how this filaments thing works but will check out)
    3. add M203 E400 to startup script in my slicer

    If this approach is bad, why?
    If this approach is good, which of these three to go with?

    I guess 900 mm/min retraction will be affected here poorly and I doubt retraction causes problem. Priming the nozzle on the other hand could make a problem. I could limit the volumetric speed of extrusion in some slicers but for start s3d don't have this option, and some other ones don't have it too.

    Open for ideas 🙂



  • For one, 960 mm3/min is about 16 mm3/sec and that should be the absolute top speed with a Volcano hot end. With a standard hot end you could possibly reach half of that but even that is optimistic.
    I don't know anything about a flex3drive but if it uses a standard hotend you need to dial down your speeds drastically!
    Use the maximum speeds your are given for the config.g file but don't expect to use that speed as something you can achieve through the hot end extruding plastic.
    You are limited by the slowest device in your chain and that is the hot end!



  • @jens55 said in best practice - limit extruder speed:

    For one, 960 mm3/min is about 16 mm3/sec and that should be the absolute top speed with a Volcano hot end.

    I very much disagree but irrelevant to the question at hand, let us call this X mm³/min that I'm successfully printing. And X mm³/min is achieved by Y mm/min feed rate for E axis.

    You are limited by the slowest device in your chain and that is the hot end!

    Of course, that's why the question. Since this value is different for different nozzle * material configuration the question is what's the best place to put the limit at. With smoothieware (that's what I still use most and what I used in the past almost exclusively) I'd put this limit in slicer (volumetric, or startup, or filament, depending on the slicer and way it organizes profiles). Since I see RRF has it's own "filaments" configuration and since config is easily changed with G-Code (and not by edit config then restart like smoothieware) I'm asking what's the best practice for RRF how to configure limitations. Irrelevant if limit is 10 or 10000 marbles per tick



  • I used S3D and have several profiles set up for different filaments etc. So if your slicer can manage different profiles, I would favor adding M203 E400 to the slicer startup script. This will take precedence over any setting you have in config.g.
    Hope that helps



  • @appjaws said in best practice - limit extruder speed:

    I used S3D and have several profiles set up for different filaments etc. So if your slicer can manage different profiles

    I'm on s3d too migrating slowly to ideamaker (cura is not my cup of tea and slic3r/ps is IMO inferior to ideamaker, but I do still use slic3r/ps from time to time) as they are not fixing bugs 3-4 years old, no real release for 3 years and now the first release that they are supposed to push looks like vaporware (moved release date 4 times already with empty info about it every time) they want more money (while back they advertised you pay once and that's it). Anyways they all support profiles, and my original idea was to put it there. Thing is that DUET/RRF comes with many different concepts from what I'm used to so maybe there's a "better way".

    I would favor adding M203 E400 to the slicer startup script

    Another thing that I'm uncertain about is if I should use M203 or limit this differently. "Pushing" filament faster than X does not work in this combination, BUT, retraction can easily run at F2400. Doing this with M203 I'm limiting retractions too. I probably don't need retractions faster than F400 but...

    I currently put the limit in the config.g as I have 3kg spool that will, on this printer, take a while to use, especially as I'm printing more on other printers, but am exploring proper solution for this (and also trying to figure out why is flex3drive failing the way it is)



  • I use Cura and it's various settings for extruder speed during it's various operations.

    Another option is to use the 'filaments' system in RRF where you set maximum speed based on which filament you are using (your option #2). I do not use that system so I can't give detailed instructions but the concept is that you set parameters based on the filament that is loaded so for example PLA gets one speed and PETG gets another speed.

    Alas, maybe I don't understand the question since I use Cura and in my world various operations require different speeds rather than one maximum speed for everything. The concept of limiting extruder speeds to the maximum you can push filament through the hot end (and thus limiting retraction speed and un-retract moves) seems odd to me as well.

    I will watch to see what other people suggest.



  • That max extrusion speed determined when the extruder chews a divot into the filament is also going to be a function of drive gear tooth profile and the amount of pressure that the drive gear applies to the filament which determines how deeply the teeth bite into the filament. If the teeth bite deeply, the extruder may be incapable of chewing a divot into the filament and the speed will be limited by other factors- how fast can the heater block liquefy the filament, motor torque limit, etc.

    The extruder should never chew a divot into the filament- keeping the drive gear pressure up and motor torque down should prevent it from happening. If something blocks the extruder nozzle, you want the motor to slip. You don't want the drive gear chewing a divot into the filament.



  • @mrehorstdmd said in best practice - limit extruder speed:

    The extruder should never chew a divot into the filament- keeping the drive gear pressure up and motor torque down should prevent it from happening. If something blocks the extruder nozzle, you want the motor to slip. You don't want the drive gear chewing a divot into the filament.

    In theory 😄

    In practice, it really depends a great deal on the teeth profile and plastic. There is no way to gradually modify pressure on the filament on G5. There is no "spring". You chose "arm" you are using and arm position the idler to a predefined location. Normally you chose between 2 arms, one work better for soft, other for hard filaments. Similar to flexion extruder, only on flexion you have a wider range of motion with 4 "indents" marking 4 predefined distances between idler and teeth but you can set the value between if you really want.

    I never had an issue with old flex3drive with any materials nor with this new one with PETG/ABS/HIPS/PA. I even properly printed a 700g roll of PLA, but this new roll I added is lot harder and stiffer than PLA previously used so teeth bite into it very lightly and the filament is striped easy. The "strip" is rather shallow. Never had that with any filament before.

    Now, the current game here doesn't work. 40:1 transmission flex3drive comes with makes the torque on the teeth super strong. As long as there's enough current to drive the motor at required speeds the teeth will strip filament and motor will not stall/skip steps, believe me, I tried, I dropped the current so the motor will stall if I lightly touch the motor shaft with my finger and it was striping filament 😞 .. on 1:1 or 1:3, 1:5 like you have on these "normal" extruders it works great, using skipped steps to detect filament position works awesome on titan, BMG .. but with flex3drive 40x torque just goes trough filament like it's made out of soap. You can run this extruder with a small nema8 motor :), very little torque required on the input.



  • @arhi What's the advantage of using an extruder geared down to 40:1, other than the ability to push the filament hard (but slowly)?



  • @mrehorstdmd I can't speak for the nimble or similar extruders, but with a direct-drive extruder with similar gearing you can print tiny details consistently. 0.2 mm line widths and 0.04 mm layer heights, and not a single part of extrusion is missed.



  • @bot That makes sense... thanks.



  • @mrehorstdmd said in best practice - limit extruder speed:

    @arhi What's the advantage of using an extruder geared down to 40:1

    I'm not the one that engineered this one but what I understand is that high gear ration solves the 2 huge problems

    • backlash

    • flex in the shaft itself (my old shaft on the 1m length flexes easily half a turn, so half a turn of a motor in one direction and half a turn in other direction and your extruder did not move a bit if you link shaft to a direct drive 1:1!!! actually it will move before half a turn, depends on the force required to move the filament, would move immediately if filament is free but if you hold it by hand it is half a turn. With 40:1 ratio first thing is you reduce this 40 times, so for the same force required to move the hob you have 40 times less play. Then, since you multiply torque 40 times too, the force required to move the filament is 40 times lower so for the same force your flex shaft twist less (I'd say 40 times less but it's not that linear) so let's say, in lamen terms, your "error" is 160 times lower compared to no gearing (it is not 160 times lower, it's lot less but you get my point)

    now with regards to "push it slowly", I had some issues with .9 degree motor (totally wrong for this operation) but with some regular 1.8 degree motor, nothing special, 1/16 microstepping I'm able to kill vulcano nozzle without a problem (with duet as it can step fast enough, 8bit boards can't) and I still can drop to 1/4 or 1/2 or 1/1 stepping and get way more speed .. torque required is very low, nema8 can drive 40:1 extruder, and nema8 can rotate very very very fast 😄

    p.s. the new shaft is just a tad thicker but is wound differently, it twists lot less than old one so it is even more precise


Log in to reply