Re: Improvements to the MMU 2.0 controller firmware
Abe, you mentioned, that you saw one, using a bearing? Do you have a link to that bearing mod?
https://www.thingiverse.com/thing:3091625
It would be interesting to see a log of what insertion and removal looks like with strings, on both axis. I wonder if repeated motion couldn't answer some questions.
This is a newer one:
https://www.thingiverse.com/thing:3129921
this may be the better over all, though you do throw out one dimension. Unless you watched the wheel from the side, you could use left/right for filament diameter, up and down for feeding speed.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
After working great for many resets in a row, after a power cycle, I was getting similar behavior to before: Unreliable restarts.
Now after messing with various GUIs, I gave up and used a shell as you said:
git clone https://github.com/KarlZeilhofer/MM-control-01.git
cd MM-control-01
git fetch --all
git pull --all
git checkout rework
I got on the right branch. About to upload now.
Proceed either with platformio
Platormio? Never heard of it. I am NOT happy hitting "upload-reset-reset-upload-upload-upload-reset" trying to get needless recompiling matched to the MMU's being ready to take it. The Arduino forums show people being told it works fine going back half a decade so I guess I'll just keep hitting reset.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
OMG, it's what I pictured when I heard that Prusa was making a filament switcher!!!!
I need to beat it up so far, but it's good across a few resets and power cycles. I ran the "load all" from the menu and it was probably 25% faster over all just from the switching speeds.
I tried to stall it, and I don't think I did, I didn't feel the "cog" feeling... but I prevented it from moving. It would be a smart time to rehome, and maybe that's what it did, but it appeared to reset.
Ah, I think when it stalls, it homes, and stays at home, although it lights the light of where it thinks it is (where it would be if it hadn't stalled).
You need to explicitly put it back to where it should be instead of just homing, I think. This is only moving it around with the hardware buttons, not during a print.
It's the sort of thing which belongs on Git - I've been getting gunshy but perhaps it's worthy of an "issue".
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
I can't wait to try Karl's firmware. My MMUv2 upgrade should be shipping any day now, should Prusa keep their word. (Not holding my breath...)
Thank you Karl Z for all the hard work you've done and I hope Prusa will realize it too.
Re: Improvements to the MMU 2.0 controller firmware
Awesome work Karl, I see you're doing stallguard properly with the dia pin.
The changes I have made where just scratching the surface of what Karl has done, I will be checking out Karl's rework branch tonight.
Has anyone noticed the idler getting out of sync after 80or so changes? I had a print going amazing until it couldn't engage filament. Maybe a idler rehome every 40 or so changes could help.
what does everyone think?
Re: Improvements to the MMU 2.0 controller firmware
@Abe: as a Git GUI I really can recommend GitKraken. Sadly it's not open source, but it's free for open source projects. And it consumes huge amounts of RAM (it's made with the new fancy, crappy, bloatware electron UI with java script - but it's the best Git GUI, I am aware of).
@Robert: As said, don't use it for production. The idler drum still needs some tweaks, I also noticed loose of steps. In the current state, the motor currents were just directly used from the official V1.0.2 master branch. Perhaps that one should be increased.
Greets, Karl
Re: Improvements to the MMU 2.0 controller firmware
I posted a couple issues on your GitHUB. Nothing serious, but it's good to keep track.
I had a couple questionable start ups, one where the board didn't come up at all (no lights/motion). Wiggling cables helped, but more wiggling wouldn't bring the problem back. My CR-10 was brought to its knees by bad connectors, I wonder if this is an issue here?
My print last night worked fine, lots of jams, and all the recoveries went well.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
I have this issue where, if I get a problem and have to reset the MMU, subsequent feeds aren't working. I think it's the unloads, but the whole thing gets flakey, with failed unloads and never started loads.
My working theory is the MMU doesn't know when you have TPU stuffed in it except at start up when the printer tells it so. This could be totally off base, nonetheless, it would behoove me to figure out how to make prints succeed after a reboot. Anything I can do to help, let me know!
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
Hey Guys,
I had a look at Karl's codebase overnight and this morning (AU 8-)) and made some extensive changes removing deprecated code.
Can I ask if anyone or everyone is able to run their eyes over it for any issues I may have missed? Karl.z2 if you could too that would help a lot.
I tested in the middle last night but code still was using old methods half the time 😥 It did print though 😀
https://github.com/TheZeroBeast/MM-control-01/tree/TheZeroBeast-Testing-Patch1
If I don't see any comments in 6h or so I'll rev up the MMU2 and see what I get 😕 video to follow after
Rob
Re: Improvements to the MMU 2.0 controller firmware
My working theory is the MMU doesn't know when you have TPU stuffed in it except at start up when the printer tells it so.
I believe that is currently the situation. I don't think the filament type is used anywhere in the MM2 firmware code.
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: Improvements to the MMU 2.0 controller firmware
Ok guys,
Here is the code rewrite starting from Karl.z2 code from a couple days ago.
Stallguard working on idler and selector, rehoming on the fly when a step is lost.
I am running a 735 change 28h print of 3d Phil so I will keep you posted on reliability but from my initial small test I had no issues, no user intervention (which is out of the ordinary) 😮
Here is where I am at the moment, use at your own risk and keep in mind all functions haven't been re-written with new motion system. That will come soon though.
https://github.com/TheZeroBeast/MM-control-01/tree/TheZeroBeast-Testing-Patch1
It's now late so video in a day or when this print fails of the motion system updates, loading, unloading filament etc....
Rob
Re: Improvements to the MMU 2.0 controller firmware
Hi Rob,
very impressive!
I don't know, on which platform you are developing, but if it's Linux, please consider to run format.sh before committing. This keeps the diffs clean.
Do you tweaked anything of the motor or motion settings?
Greets, Karl
Re: Improvements to the MMU 2.0 controller firmware
I believe that is currently the situation. I don't think the filament type is used anywhere in the MM2 firmware code.
I think it does use it? I think it feeds more on filament load/unloads? During calibration, TPU is always at least a cm short, back to back with PLA on the same setting. Or else it just picks it up with slop and time, I dunno.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
Ok guys,
Here is the code rewrite starting from Karl.z2 code from a couple days ago.
https://github.com/TheZeroBeast/MM-control-01/tree/TheZeroBeast-Testing-Patch1
Trees, branches and patches. For those of us with no gardening experience.... I add THAT as another repository, or is it actually a "patch" that I apply to Karl's?
Happy to try running it. I made my first "dream object" thanks in part to all your(-all's) efforts - a PLA squeegee with a TPU blade.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
Hey,
All the code I have seen so far only deals with PLA load/unload distances even though the MMU2 gets told what each type is.
The patch on my github is standalone, just the base motion is Karl.z2’s.
So download patch zip, build and upload.
My print last night did fail due to a string on one colour jamming it in the tube.
Although it made every other reed reliability to gears, all other colours worked until I cancelled it.
Working on a way to identify and cut off a dodgy end 👏👌
Karl.z2, mothion code isn’t changed very much, added parameters for finda sense and acc into moveSmooth
Re: Improvements to the MMU 2.0 controller firmware
I think it does use it? I think it feeds more on filament load/unloads? During calibration, TPU is always at least a cm short, back to back with PLA on the same setting. Or else it just picks it up with slop and time, I dunno.
Abraham
Here's the grep result of the PR MMU firmware:
You will see from the above that the values are stored in main.cpp and defined in motion.h/cpp. That is all. Noting. No use. Nada.
TPU is short because it's being stretched by the MMU drive gears as it is pulled from the spools and shrinking back when being pushed 🙁
Peter
Please note: I do not have any affiliation with Prusa Research. Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage…
Re: Improvements to the MMU 2.0 controller firmware
You will see from the above that the values are stored in main.cpp and defined in motion.h/cpp. That is all. Noting. No use. Nada.
Fair enough. I guess what I should say is SINCE it's in the g-code and clearly expected to exist, the idea was thought of and just non-implemented.
There is also a "relaxation time" - by some other name - which is to allow TPU's to settle before loading.
Ok, I'll get on this Patch.zip thing - distinct downloads instead of a repo to keep updated? Sounds like it, but cloning seems to have worked fine. Compiled and uploading in a minute.
I maintain an informal list of San Diego, CA 3D printing enthusiasts. PM me for details. If you include a contact email and I can add you to the informal mailing list.
Re: Improvements to the MMU 2.0 controller firmware
Hey Guys,
I have a working implementation of Cutting Malformed Tips which is where my print failed the night before.
I have had a couple successful small prints with it so I have merged it into the master on my GitHub.
Here is a video of load all with simulated malformed tip on filament 4 resulting automatic cut of tip and re-attempt to load before moving to filament 5.
Interestingly apart from the tip issue the filament was reliably getting to the bondtech gears. I have a good feeling we'll have a good solid solution in no time.
It is a shame we all payed 2/3 of another MK3 to have a very much half backed product 😯
Re: Improvements to the MMU 2.0 controller firmware
Hey Guys,
I have a working implementation of Cutting Malformed Tips which is where my print failed the night before.
I have had a couple successful small prints with it so I have merged it into the master on my GitHub.
Here is a video of load all with simulated malformed tip on filament 4 resulting automatic cut of tip and re-attempt to load before moving to filament 5.
Interestingly apart from the tip issue the filament was reliably getting to the bondtech gears. I have a good feeling we'll have a good solid solution in no time.
It is a shame we all payed 2/3 of another MK3 to have a very much half backed product 😯
That's awesome, good job to you, Karl, Chuck, and the others who have invested their time into fixing these issues. And yes I wonder what is going on with Prusa developers lately...
Would you recommend new MMU2 users stick to the original FW first before trying this? Or do you think it's solid enough to jump right in with your version?
Thanks again.
Re: Improvements to the MMU 2.0 controller firmware
Hey,
Thank you and yes, thank you to my fellow pioneers, investing our free time.
There is still a lot of polishing to do for failure cases and use of buttons within endless loops that could happen in certain situations but all in all it has a lot more protection already implemented the PRUSA FW and does print more reliable, hands down.
Go forth and test 😀
New features I will have in a branch to personally test before merging.
Next on the list is a confirmation from MK3-FilamentSensor to confirm filament passes about when it should or like what chuck does and feed to MK3-FilSense then just amount into extruder. This will require MK3 and MMU FW upgrades of course but in my mind isn't unsurmountable by any means.
Rob