1 / 1
Filamentalist — image 1

Filamentalist

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

MMU Buffer

Rating
4.8 / 5
Likes
201
Downloads
483
Makes
14
Views
9,130
Reviews
5

Updated at source:

Model information

License
Creative Commons — Attribution — Noncommercial — Share Alike

To Do:

  1. Add comment re: beveling inner edge of PTFE tubes and cleaning up filament funnel hole if necessary.
  2. Update pics to latest parts
  3. Discuss tuning for rim slip vs o-ring slip and recommended roller surfaces.
  4. Cover o-ring replacement process.
  5. Design a spool weight?
  6. Check/update test code at bottom (single tool should be good)
  7. Mention design compromises around space/compactness. It's a simpledesign so feel free to usermod to your heart's content!
  • height to fit Beta team's enclosures
  • width to fit 6 across a 350
    • this drove minimal roller rim size (and to print without supports)
  1. Discuss spool widths and the suggestion for usermods to widen as needed (i.e. KVP at 72mm wide, KVP printed "Koil" spool, etc.)

The "Filamentalist"

In Beta Testing

An "analog" passive filament driven buffer project currently in Beta build/testing by an elite team of MMU buffering experts.

 

See video of 3 buffers swapping here:  https://photos.app.goo.gl/iyLBGgytfVCPNLVBA

Theory of operation:

The Filamentalist uses the axial force delivered by the ERCF gear motor along the filament to load and unload to/from the filament spool. An adjustable spring clamp forces the filament against two o-rings that sit on the drive pulley to create a high traction interface. A one-way clutch style bearing locks against the drive shaft and rotates the filament spool to take up filament during an unload. For loading and print extruding, the clutch modulates between engagement/disengagement allowing for effective free-spooling of the filament spool simliar to a roller style spool holder. For unloading/buffering, some slip will occur between the filament and the o-ring interface and/or the spool rim and the rim roller of the buffer to account for the varying diameter range of a spool from full to empty (full spool = max slip, empty spool = no/minimal slip).

 

BOM:

Qty per SitePartExample Source ReferenceComments
18mm D x 80mm Stainless Steel Dowell Pinhttps://www.amazon.com/uxcell-Stainless-Chamfered-Support-Elements/dp/B0BC8VFSWDor cut any 8mm stainless rod to 80mm lengths
5MR608 bearingsCan be obtained anywhere (Home Depot, Amazon, Aliexpress, etc.)MR608RS, MR608ZZ, etc.
1HF081412 One-Way Bearinghttps://www.amazon.com/dp/B0C7TRFJBS, Aliexpress8mm Bore, 12mm length, 14.2mm Diameter.
1ECAS press-in pneumatic fittings for the bowden tubes (like used in ERCF) A locking clip is required and can be bought or printed (stl included)
2#110 O-ringsHome Depot, https://www.amazon.com/211-Buna-N-Ring-Durometer-Black/dp/B000FN0W7I/, Aliexpress13/16" ID, 1-1/16" OD or 20mm ID, 27mm OD Nitrile Butadiene Rubber
1Springhttps://www.amazon.com/gp/product/B08FDYJLYC/, AliexpressLike in extruders - 304 Stainless Steel,6mm OD,1mm Wire Size,7.5mm Compressed Length,15mm Free Length,37.2N Load Capacity
23mm Heatset Voron standard size
13x35mm SHCSSS Socket Head Cap ScrewSpring Tensioner Screw anything in the range of 35mm +/- 10mm should work
63x12 FHCSStainless Steel Flat Head Screwfor Tensioner Mnt and Rear Axle installation 8/10/12mm lengths will work
23x18 FHCSStainless Steel Flat Head Screwfor Tensioner Arm clamp bearings and Tensioner Mnt pivot installation 16mm length will work
2Rubber Bandhttps://www.amazon.com/dp/B0CPJPN41VSize #94 (3 1/2" x 3/4"), any wide rubber bands in the 2.5"-3.5" size will work. Can combined multiples across face of rollers
var.2.5mm ID PTFE tubingAmazon, Aliexpress, 3D printing vendors2.5mm ID recommended but you can try whatever you have. Length depends on the distance from your buffer location to your ERCF inputs

Beta Test Potential Failure Modes to Test/Vette:

  1. O-ring durability. The Chinese design used little, kinda thick silicone rings. Those would wear through in ~70 cycles. We are not seeing noticeable wear on the dual Buna-N o-rings at this point but at thousands of cycles we might see it. Test CF filament.
  2. Potential slippage and grinding at the ERCF gear due to buffer drag and variation of top hat clamping force across the user base. Not an issue so far in real-workd printing cases. Can/does occur when running test scripts and cycling the same section of filament in-and-out of the gears over-and-over.
  3. The sharp bend at the clamp and tension could cause brittle filament to break. SkiBikeMake and Cheesefrog have experienced this with specific spools. SkiBikeMake plans to revise design of tensioner arm to include an additional rolloer guide to lessen the severity of the bend at the clamp.
  4. Potential for being on the edge of gear motor stall. We are close to the stall threshold so the risk is that there is enough variation in the user community's ERCF builds, motors, and buffer builds that stall arises as an issue. I definitely have occasionally experienced stall if something caused a small increase in resistance. I may need to go NEMA17 to provide the headroom but will test on NEMA14 first.
  5. TPU may not be stiff enough to transmit power to the Drive Roller and/or kink/bunch in the bowden path and create a high friction situation that inhibits the ability to unload filament. Shore Hardness 96A TPU has been tested and functioned well.

Printing Guidelines:

General:

  • Material: ABS or ASA (~170 gm per site)
  • Print Time: ~8hr 17min (based on the Ellis PIF profile speeds, accelerations, and volumes)
  • 0.2mm layer height
  • 40% infill recommended. Linear style infills are fastest (rectilinear, monotonic, grid, triangles, stars, etc.)
  • Wall Count: 4
  • Solid Top/Bottom Layers: 5

Part Specific:

  • Orientation suggestions are relative to the installed assembly orientation and are shown in the slicer images below.

    

Qty per SitePartPicOrientationPrinted Supports NeededComments
1Right Support HorizontalN 
1Left Support HorizontalN 
1Rear Roller Axle HorizontalNalign flat of "D" to build plate
1Rim Roller HorizontalNDished side up, scattered seams for press-fit bore
1Center Drive Roller HorizontalNScattered seams for press fit-bore
2Center Drive Roller Spacer HorizontalNScattered seams
 Tensioner Arm Left Horizontal  
 Tensioner Arm Right Horizontal  
1Tensioner Mnt Vertical (as installed)  
1Rear Roller VerticalNScattered seams
1Axle Pressing Tool VertialNPocket opening up. Print with 100% infill for reuse strength and durability when building multiple buffers.
2ECAS Locking Clip HorizontalNTab up

There is an alternate version of the base that clips into two 2020 rails spaced 170mm apart (center-to-center). It enables quick add/remove/relocate capabilities and requires no hardware to mount. You print all of the same parts except for the 2 Base Supports that use the clip mount version. Assembly is the same.

 

Assembly Instructions:

1. Tensioner Mount Assembly

 

  • 1.1 Install 3mm heatset insert into Tensioner Mnt.
  • 1.2 Install the ECAS fitting into the Tensioner Mnt. It should be a moderate press-in. You may need to push it in firmly using the end of a 8mm steel shaft or printed rear axle shaft to get it to sit flush to the Tensioner Mnt mating surface.

2. Tensioner Arm Installation

 

  • 2.1 Lay the Tensioner Arm Right part on a flat surface. Slide the 608 bearing onto the bearing post. Place the Tensioner Arm Left part into postion making sure the triangular indexing peg seats correctly at the bottom of the arm (light hammer taps with a tiny hammer may be required to seat).
  • 2.2 Place a 3x18 FHCS (or x16, x12) through the bearing mount hole of the Tensioner Arm Left part and moderately tighten the screw into the Tensioner Arm right piece. Once installed verify that the bearing turns freely.
  • 2.3 Place a 3x18 FHCS (or x16, x12) through the hole in the Tensioner Arm Left part at the "nose" end and moderately tighten the screw into the Tensioner Arm right piece.
  • 2.4 Install the Tensioner Arm onto the Tensioner Mnt using a 3x18mm FHCS screw (or x16) . Tighten until snug and then back off until the arm rotates freely on the mount.
  • 2.5 Place an M3 washer followed by the spring onto an M3x35 SHCS (or x30, x40) and slide through the hole in the bottom of the arm assembly. Screw the SHCS into the heatset insert of the Tensioner Mnt. No tension should be on the spring at this point.

3. Drive Roller Assembly

  

  • 3.1 Press HF081412 One-Way Bearing into Center Drive Roller. Orientation does not matter at this point.
  • 3.2 Insert the Rim Roller Splined Hub part into the Rim Roller Splined part until they are flush with each other. You may need to place them on a hard surface and give it a little hit to pop in flush. Place the roller onto the Axle Pressing Tool as shown in picture. Press or gently tap with hammer to drive the 8x80mm axle shaft through the Roller assembly until the shaft bottoms-out on the pocket in the Axle Pressing Tool. If tapping the shaft in, you will hear when the shaft reaches the floor of the Axle Pressing Tool.

The purpose of this two-piece roller is to allow for future o-ring replacement by removing the rim from the hub versus having to press a roller off of the axle and then press it back on. For o-ring replacement, remove the Drive Roller Assembly from the buffer (unscrew the Right and Left SUpports). Then gently rock the splined roller and it should pop loose from the splined hub. You can now remove the old o-rings and install a pair of new ones, pop the splined roller back onto the hub, and install the supports back on.

  • 3.3 Slide (1) Center Drive Roller spacer followed by the Center Drive Roller (with One-way bearing already installed) followed by the second Center Drive Roller spacer onto the axle shaft. Orientation is still not important. If for universal harmony reasons you want the threaded Rim Rollers of each buffer all located on the same side then pick an orientation for the one-way bearing and stay with that.
  • 3.4 Position the Rim Roller part (non threaded roller) onto the Axle Pressing Tool with dished side facing down as shown in picture. Press or gently tap with hammer to drive the 8x80mm axle shaft through the Rim Roller part until the shaft bottoms-out in the pocket of the Axle Pressing Tool.

4. Base Assembly

There is an alternate version of the base that clips into two 2020 rails spaced 170mm apart (center-to-center). It enables quick add/remove/relocate capabilities and require no hardware to mount. You print all of the same parts except for the 2 Base Supports that use the clip mount version. Assmebly is the same.

  

  • 4.1 Press a total of (4) MR608 bearings into the Right Support, Left Support, and Rear Roller parts. The Axle Pressing Tool can be used to aid with pressing the bearings into the deep bearing pockets of the Rear Roller. Ensure the inner races of the bearings in the Right/Left Support parts turn freely.

 

  • 4.2 Place the Tensioner Assembly around the Drive Roller Assembly and screw the Tensioner Mnt onto one of the Support parts using (2) 3x12 FHCS screws (or x10, x8).

!! THIS IS WHERE AXLE ORIENTATION MATTERS !!

Orient the Drive roller assembly so that the one-way bearing locks in the filament unload/eject direction. This can be verified byholding one of the outer drive rollers and rotating the center drive roller. It should lock when the center roller is rotated in the direction away from the ERCF.

  • 4.3 Insert the Rear Roller Axle through the same base part aligning the "D" shape end to the flat in the 8mm pocket of the Support. Ensure it presses all of the way in (you may need to tap it in a bit). Secure with (1) 3x18 FHCS screw (or x10, x8).
  • 4.4 Slide the Rear Roller onto the Rear Roller Axle.
  • 4.5 Install the opposite side Support part to assembly pressing in the D shaft end and securing with (3) 3x12 FHCS screws (or x10, x8). Make sure there is no spring tension on the Tensioner arm for this step.
  • 4.6 Insert a section of bowden tube into the ECAS until it bottoms out/butts against the Tensioner Mnt behind the ECAS. Place a locking clip in the ECAS (if you don't have these, an stl file is provided to print the locking clips). 2.5mm ID tubing is recommended to ensure good stiffness and minimal "buckling" of filament in the driven filament path. Cut your section of tubing a little long for the location of the buffer and the run to the ERCF slot position. You can fine tune/trim the length after installtion of the buffer.

Tuning

The only tuning the system requires is Tensioner Arm clamping force. The arm does not need an extreme amount of tension. To tune the spring force, lift the tensioner and insert a section of filament through the o-ring bearing interface and into the bowden tube. Hold the center roller by placing your thumb against the o-rings and try to pull the filament out. You want the slip force to be slightly more than what the overall system drag is, so you have to imagine the range of gear motor pull force vs buffer drag and set a slip range in-between the two "imaginary" lines. Adjust the spring tensioner screw accordingly and err on the light side. Run the buffer (see test code below). If loose filament is forming around the filament spool during unload, tighten the spring tensioning screw. If no loose filament is forming around the filament roll, gradually reduce the spring tension until loose filament starts to accumulate and then increase tension in ~1/2 screw turn increments until you feel you have the lightest tension that results in a tightly packed unload.

Testing

Below are macros you can cut and paste into the bottom of your mmu_software.cfg to test and tune your buffers.

Happy multi-material printing and buffering!

Single rewinder test macro:

gcode:
{% set gate = params.TESTGATE | default(0) | int %}
{% set repeats = params.REPEATS | default(20) | int %}
{% set length = params.LENGTH | default(800) | float %}
{% set speed = params.SPEED | default(300) | float %}
{% set accel = params.ACCEL | default(400) | float %}

MMU_HOME TOOL={gate}

MMU_TEST_LOAD LENGTH=50
{% for n in range(repeats) %}

    MMU_SERVO POS=DOWN

        MMU_SELECT GATE={gate}
        MMU_TEST_LOAD LENGTH={test_load_length} # preload gate for a bit of length
        MMU_TEST_MOVE SPEED={speed} ACCEL={accel} MOVE={length}
        MMU_TEST_MOVE SPEED={speed} ACCEL={accel} MOVE=-{length}
        MMU_SERVO POS=UP

{% endfor %}

MMU_HOME

Test Macro for cycling through multiple rewinders:

[gcode_macro rewinder_test_multitool] gcode: {% set gates = [5] %} # [0,1,2,3,4,5] move between these gates {% set test_load_length = params.TEST_LOAD_LENGTH | default(50) | float %} {% set repeats = params.REPEATS | default(20) | int %} {% set speed = params.SPEED | default(300) | float %} {% set accel = params.ACCEL | default(400) | float %} {% set length = params.LENGTH | default(800) | float %}

MMU_HOME

MMU_TEST_LOAD LENGTH=50

{% for n in range(repeats) %}
    {% for gate in gates %}
        MMU_SELECT GATE={gate}
        MMU_TEST_LOAD LENGTH={test_load_length} # preload gate for a bit of length
        MMU_TEST_MOVE SPEED={speed} ACCEL={accel} MOVE={length}
        MMU_SERVO POS=UP
        MMU_TEST_MOVE SPEED={speed} ACCEL={accel} MOVE=-{length}
        MMU_EJECT
        MMU_RECOVER

    {% endfor %}

{% endfor %}</code></pre>

Tags