Build my own MMU?  

Page 2 / 2
  RSS
christian.ho
(@christian-ho)
Eminent Member

@nikolai:

Ok, good to know that the debries problem is actually not that bad.

 

@karl-herbert:

good to know! I will have a look into it. So far I only discovered mods on thingiverse and the prusa library. Danke!

Posted : 04/02/2021 9:10 pm
christian.ho
(@christian-ho)
Eminent Member

I carefully looked at @karl-herbert's desgin. Really nice job!

There are a few things for which I don't get the purpose:

- Underneath the pulleys are holes. Similar to what I suggested in my recent post, but in karl-herbert's design they seem to have a different purpose as they are not located underneath the filament. Maybe to improve the stability of the part (because there are more perimeter walls)?

- The front PTFE adapter has a indent. Is it to give space for tolerances in the position of the z nut?

- Also there is more material in the region where the filament can be cut. I guess that holds the filament better in place when cutting. I did not get what the grid like structure in the gap is for. Looks a bit like support structure for printing, but why not use automatic generated supports?

- The blade cuts in both directions. In which cases is that helpful?

 

 

Here the full list of mods that I found, sorted by part:

pulley body:
- feed after pulleys: corner filleted
- almost everywhere: chamfer
- brass bar (Stützrolle): pulleys rest on it. This is to prevent the pulley shaft from bending.
- holes underneath Pulleys (purpose?)
- bottom slightly thicker
- iglidur at selector motor shaft end. Original: directly in printed plastic

mmu2 rear PTFE holder:
- filament input: Festo Adapter

front PTFE holder:
- concave indent towards selector. Maybe to allow tolerance on z nut position?
- wall before and behind location where the filament is cut, additional material as support structure for print (?)

idler body:
- ball bearing on opposite end of motor, original: just in plastic
- ball bearings on hinges, original: just shafts in plastic
- chamfers
- bottom slightly thicker

idler shaft:
- rings (Stellring) at end to screw idler shaft to motor shaft, original: two nuts in plastic
- chamfers

finda selector:
- finda mount more sturdy
- dual way blade (purpose?) additional screw
- above and below brass bushings: thicker plastic
- original: one brass bushings, modification: iglidur bushings
- additional magnet, to avoid false triggering of the sensor?

frame holder:
- chamfer

ELE assembly:
- reset pin: to push reset button
- second cover with mount for fan
- chamfer

Label MMU2S
- not at all on original

Posted : 06/02/2021 9:37 pm
karl-herbert
(@karl-herbert)
Illustrious Member

@christian-ho

Good overview. You have put a lot of effort into it.

To document every change in detail was too much work for me, because a lot is self-explanatory. The two-sided cutting function of the blade is only a safety option in the MMU2 misbehavior. Cut-outs are included so that the cut-off filament tip does not get stuck in the MMU2 and accumulate over time. Ideally, a catch basket could be designed for this purpose.

So that everyone, which intends to revise the MMU2 also, STEP files of the entire unit uploaded (MMU2_Unit_Assembly.stp).

I look forward to new ideas, suggestions for improvement and feedback on this.

 
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 06/02/2021 10:37 pm
christian.ho
(@christian-ho)
Eminent Member

I want to make a change to the filament input /PTFE connectors:

While I do like the option to have all tubes easily removable, I would prefer such ones with a bigger diameter.

Currently I have my filament in a box that protects it from humidity and dust. When I print something, a PTFE tube guides the filament to the printer. I observed that in 4mm OD, 2mm ID tube can cause quite some friction, so I switched to 5mm OD, 3mm ID tube which is much better. (At that time, I was not aware of 4mm OD, 2.5mm ID tube.)

 

My modification to the input allows to use tubes with an outer diameter of 6mm. (Modifying for 5mm is simple)

 

 

The ring fits tightly around the tube. The screw holds it in place. A short 4x2mm tube towards the pulleys guides the filament the remaining way.

I will certainly have to chamfer that tube input, to get the filament loaded from the bigger tube. Maybe the transition fom 6x4 to 4x2 is too much, so maybe I will have to add another piece in between, or work with 5x3mm tube from the beginning.

Tested so far:

- The ring really holds the tube well.

- Screw and nut are printable in this dimension and are certainly stable enough (although hollow).

Posted : 07/02/2021 11:19 am
christian.ho
(@christian-ho)
Eminent Member

@karl-herbert:

forgot to mention: I used your STEP file to find the differences. I loaded both versions (yours, prusa) into fusion and was easily able to compare them. That is a lot easier than just with stl files. So thanks very much for sharing the STEP!

Short update:

I almost entirely used all the changes you made to the part PTFE front holder. I also used your way to generate support material. I was not able to get slicer to do it in a way that seems convenient.

 

One change I made:

The end of the hole is now chamfered. I would expect problems during the print if the change was just horizontal.

 

One question: Did you enable supports when printing the pulley body? Or how can this part of the print succeed?

 

 

I implemented the support of the pulley rod differently. I copied many features of this mod:

https://www.thingiverse.com/thing:4441611

 

The filament is guided closer to the pulleys, also plastic supports the pulleys. Although there is only contact between plastic and pulley in regions where the pulley is smooth, I don't really feel comfortable with the pulley permanently moving over the plastic. I'm wonderung: Isn't that a problem for the brass rod, too?

Posted : 09/02/2021 5:25 pm
karl-herbert
(@karl-herbert)
Illustrious Member

@christian-ho

I almost entirely used all the changes you made to the part PTFE front holder. I also used your way to generate support material. I was not able to get slicer to do it in a way that seems convenient.

For this reason I have constructed the support for it.

 

One question: Did you enable supports when printing the pulley body? Or how can this part of the print succeed?

No, I have not. I have mostly designed the holes this way for this reason:

The filament is guided closer to the pulleys, also plastic supports the pulleys. Although there is only contact between plastic and pulley in regions where the pulley is smooth, I don't really feel comfortable with the pulley permanently moving over the plastic. I'm wonderung: Isn't that a problem for the brass rod, too?

The linked change is certainly a good idea, which could be included. The brass rod I regularly give a few drops of oil.

 
Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 09/02/2021 6:37 pm
christian.ho
(@christian-ho)
Eminent Member

TL;DR: I have a question: Can someone tell me how far the filament is pulled back during a normal unload? I mean: at which exact spot will it stop?

 

I started to plan how to make the filament sensor on the MMU reliable.

My favourite is currently 2 ball bearrings enclosing the filament. Similar to the filament diameter sensor presented by Thomas Sanladerer. ( at 9:18, you can see a cross section of the sensor)

It would be a LOT easier to design it, if I could move the sensor a bit further out. But there I see a problem: When unloading filament, the MMU will have to pull it a bit more from the point, when the sensor does not detect filament anymore. As far as I can see, that would mean a change in the MMU firmware. I would really prefer not to do that.

Anyway, I looked into the source code and tried to locate where the filament is unloaded, and where the extra movement beyond finda happens.

I found several places:

(1)

https://github.com/prusa3d/MM-control-01/blob/master/MM-control-01/motion.cpp

line 127.

Once the sensor does not see the filament anymore, the firmare will do 99 steps (line 129, 141).

However, if the predefined number of unload steps  were executed, the loop also stops. So the FINDA seems more to be a fix in case of some failure?

(2) After that, it does 100 more steps without condition.

See line 529 of:

https://github.com/prusa3d/MM-control-01/blob/master/MM-control-01/mmctl.cpp

 

At this point the filament should have passed the sensor. Otherwise the mmu will try to unload again.

 

(3) Now finally another 450 steps (same file, line 641) are moved.

The pully diameter is: 6.3mm

450 Steps is ~45mm.

This means the filament is at least ~2mm before the end of the PTFE tube between pulley and selector (still inside the tube, 2mm from the end that is towards the pulley)

So the 450 seems to be the magic number that I have to change. (BTW: Code with lots of magic numbers everywhere is really annoying!)

What puzzles me: If the loop (see (1)) gets aborted by FINDA, the filament will move 650 steps. This is ~65mm and will bring the filament behind the pulleys (= unloading even from the MMU / ejecting).

So this will definetively require the user's attention, but at this point no error is generated. Is this a bug or a feature...?

Anyway, at this point I am really not sure if I did a mistake when analyzing the code. Therefore: my question from the beginning of this post.

Posted : 13/02/2021 3:41 pm
christian.ho
(@christian-ho)
Eminent Member

Hi,

Can someone please tell me: how does the mmu2s find the end position of the selector? Does it move towards the motor until it registeres the stall? Or towards the other direction?

 

Update on my development:

This is my current idea how my filament sensor on the selector will look like:

there are two ball bearings. the lower is fixed in place, the upper is on a leaver. the filament comes in from the left side and pushes the upper ball bearing upwards, thus also the leaver.

The leaver extends a bit further out, so it moves a longer distance. the 1.75mm of filament moves the end of the leaver by ~4mm. I hope this will allow a very reliable operation. Still, I will have the position of the light barrier adjustable, so I can do fine tuning.

I will use the EE-SX1025. It has a narrow transition (0.5mm from light path is fully open to fully blocked). Also it was available on ebay...

Comments are welcome!

 

Posted : 18/02/2021 5:35 pm
christian.ho
(@christian-ho)
Eminent Member

Short update from me: I started printing the parts. Although I am not 100% done designing...

Here an overview of the MMU unit.

 

The filament selector, sensor adjustment parts, printed ptfe tube holder.

cross section through the selector.

the lower ball bearring is fixed in place, the upper will be pushed up by the filament and move the red leaver, which blocks the light path of the photo interrupter.

More updates will come.

 

P.S. one question: does anybody know the purpose of these hexagonal pockets:

There does not seem to be a part of the selector that moves into those. Stability maybe?

Posted : 23/02/2021 6:27 pm
karl-herbert
(@karl-herbert)
Illustrious Member

@christian-ho

Interesting design! I am curious how this will prove itself in practice!
The hexagonal slots are most likely material savings.

I would support the sensor lever possibly with two neodymium magnets, so that the gravitational forces are strengthened and it reacts reliably and quickly.

 

Statt zu klagen, dass wir nicht alles haben, was wir wollen, sollten wir lieber dankbar sein, dass wir nicht alles bekommen, was wir verdienen....
Posted : 23/02/2021 7:14 pm
christian.ho
(@christian-ho)
Eminent Member

I'm really curious, too. 🙂

Thanks for pointing out the idea with the magnets! In the beginning I planned to have an option to add a spring, but aparently forgot it at some point. Fortunately I did not print these parts yet. Adding the magnets is probably simpler than adding an option for a spring....

Posted : 23/02/2021 8:16 pm
christian.ho
(@christian-ho)
Eminent Member

I'm trying to figure out how to add the magnets or the spring.

 

But first of all, how large should the force be?

My considerations: The leaver with screws weighs about 3 grams, which means the leaver is pushed downwards due to gravity with a force of roughly 0.03N. (I'm neglecting here that some weight is also supported by the hinge. As I only need the right order of magnitude, this approximation is fine I think).

Applying a force of just 0.3N should immensely speed up the reaction of the leaver (If applied by a magnet or spring, not additional weight. -> inertial mass vs gravitational mass)

Of course the force needed also depends on the position where I apply it. I should rather calculate with torques instead of forces.

 

I also don't want to go too high with the force as I want to be able to use very soft filament. So it needs to be able to move the leaver while not leaving the path.

However, this is based on the assumption that the purpose of this pretension is only to speed up the reaction of the leaver. If it is important for other purposes (maybe squeezing a bad filament tip just enough that the sensor does not detect it anymore) then my result is not relevant.

I had the impression, that getting good tips when unloading is well under control, at least with modified ramming settings.

 

But maybe I am missing something?

Posted : 26/02/2021 6:05 pm
Page 2 / 2
Share:

Please Login or Register