-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mmu3 #19
Comments
I was thinking on porting changes here to TZB firmware, but porting it MMU3 might be better idea. I want to buy MK4 upgrade too (MK3.5 probably), but I need to find more free time for that 😀 |
I have not yet dug into the code, but the MMU3 is a complete re-write, with a total overhaul of the communication protocol. I am guessing it won't make much sense to move my changes into it, because I did a lot of re-writing of the MMU2 code. Also, they have not yet announced what the "Mk4" version of the MMU3 will be. It is my understanding that the printer itself is not a lot more in control of that the MMU does. I am also willing to bet that they still have things like max extruders hard-coded, which could make things tricky. Once I get the new MMU (probably September) and have a chance to play with it, I will probably decide what to do with this project, and whether or not it can be adapted to the Mk4. Most likely, given that Prusa has added interaction with the printer for troubleshooting, my screen concept will be unnecessary. This would mean the shortest path to compatibility would be minor modifications to the MMU code (rotation directions, distance between filaments, etc), but probably more significant changes to the actual printer code. Also, given that they moved away from Arduino IDE as a compiler, which I am very familiar with, there will be an additional learning curve for me. |
Would it make sense to re-implement an MMUx12 from scratch? Sure, a MMU3 upgrade would be ideal, but I don't know if it's necessary. Arduinos and stepper drivers are easy to get. I've got a hand full of old RAMPS boards laying around. |
I'll be upgrading to 3.5, so I'll need MK3 upgrade. I'll reuse as many files from current MMUx12, so the original firmware will be only patched to use correct rotations as we have them in the files. I'll probably abandon that firmware, as it will too much to patch changes made by Prusa and it's easier to start from scratch with firmware. |
I can’t wait to have a solution for the 4. I appreciate you guys help. I’m not smart enough for this stuff but if there is anything I can do to help you guys out to get this to work on a Mk4 you let me know. |
@Dutchy1969 I'm waiting for my order to be delivered. I'm getting MK3.5 and MMU2S to MMU3 upgrade. In a month I should have it delivered and put together :) |
@Dutchy1969 good news, my 3.5 and MMU3 upgrade was shipped :) |
TLDR: For an MK3.5+ solution or one allowing the user to use the newer MK3S firmware 3.13+ There are Two main changes for MMU3
The rest of the new MMU3 stuff does not matter for this project since its all printed parts. A better idler, housing lid etc.. that will not be used in this project. For my Mk3S+ MMU2S I got the new power board and I was then able to use the 3.x firmware. Since then i have been using the " MK3S+ MMU3" profile without issue For the MK4 / 3.5+ the only change to the MMU3 (kit) is the wire you use to hook it up to the printer. |
Just checking in here. Let me say your mods to the MMU2 have been a game changers for my little 3D printing business, so Big thank you to @cjbaar . That being said I have upgraded a couple of my printers to MK4 with MMU3 and must say it is night and day difference the speed and quality of prints I get, This means I really want to upgrade my MMU2 x 12 to MMU3 x 12. Has there been any progress in this area? Would be happy to contribute to make it happen. Thanks! |
Sorry @Johnday29. I'm glad you have used the 12x successfully. I have not had any chance to look into what it will take to get this working with MMU3. |
Thanks for the reply. Please let me know if I can contribute to the effort
to get this going with the mmu3 software. It runs so much smoother and with
Mk4 compatibility it is so much faster would love a boost to the 12x 😎.
…On Fri, Sep 27, 2024, 12:30 PM cjbaar ***@***.***> wrote:
Sorry @Johnday29 <https://github.com/Johnday29>. I'm glad you have used
the 12x successfully. I have not had any chance to look into what it will
take to get this working with MMU3.
—
Reply to this email directly, view it on GitHub
<#19 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD5JNMHSDBXDAWFHTI3AIWDZYWI27AVCNFSM6AAAAAA25ISHN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZZG42TCNBRGM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@cjbaar The new MMU firmware has way less hard coded values and lot of that can be defined in https://github.com/prusa3d/Prusa-Firmware-MMU/blob/main/src/config/config.h and https://github.com/prusa3d/Prusa-Firmware/tree/MK3/Firmware/mmu2/variants and https://github.com/prusa3d/Prusa-Firmware/blob/MK3/Firmware/variants/MK3S.h#L673 Also have a look at https://prusa3d.github.io/Prusa-Firmware-Doc/Prusa-Firmware-MMU/index.html But i doubt that you get the LCD display working as it consumes too many resources. Here a build output of MMU3 _3.0.3
|
@3d-gussner That does look halfway promising. I do see variables for the selector start position and distances. It looks like the idler creates a hard-coded array of positions, instead of just constant motor steps. This can be created, but might take some tweaking. One thing I don't see is an easy way to reverse the motor directions, since some of mine are on opposite sides than the original. Maybe if you see that, let me know. The bigger issue, then, is on the printer side itself. Will the printer accept 12 tools? The older firmware was hard-coded to throw away any g-code above T4, and also would only display sinlge-digit numbers on the screen. Any idea what that code looks like for the Mk4 board? |
@3d-gussner OK, according to axis.h, |
And, of course, there is this warning. :)
|
See its a quick scan of the buddy firmware showing things like this that makes me think the printer won't cooperate without a lot of changes.
|
While this is really mostly above my head at this point I am excited you
all are looking into it. Please let me know if I can assist with anything.
Thanks.
…On Mon, Sep 30, 2024, 4:45 PM cjbaar ***@***.***> wrote:
See its a quick scan of the buddy firmware showing things like this that
makes me think the printer won't cooperate without a lot of changes.
enum class Tool {
Tool1 = 0,
Tool2 = 1,
Tool3 = 2,
Tool4 = 3,
Tool5 = 4,
None_Any = PrusaToolChanger::MARLIN_NO_TOOL_PICKED, // Park value
};
—
Reply to this email directly, view it on GitHub
<#19 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD5JNMFAT6S2HRDGNRENI6TZZHBBDAVCNFSM6AAAAAA25ISHN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBUGIYDGNZSGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
So.... this is interesting. |
Well that is Just wrong. Prusa is usually better than that.
…On Tue, Oct 1, 2024, 5:47 PM cjbaar ***@***.***> wrote:
So.... this is interesting.
"To flash your own (or a community-made) unsigned firmware, you’ll have to
break the appendix on the logic board (called the Buddy board) and move the
jumper in a correct position. Breaking the appendix on the Buddy board is
irreversible and voids the warranty of your printer’s electronics."
—
Reply to this email directly, view it on GitHub
<#19 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD5JNMABCPJ5ZWSOU3YHM5TZZMQ7LAVCNFSM6AAAAAA25ISHN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBXGIYTMNBXGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
OK, I've got some good news, some great news, and some possibly discouraging news.
I will post more once I have completed further testing. Of course, all of this also depends on Prusa not making any major modifications that block any of it... like suddenly cutting out extra T-codes (like the Mk3 did). I also don't know what will happen once the Prusa firmware becomes in charge of uploading the MMU firmware, which is supposed to occur in the near future. We will have to see if the printer firmware at that point will allow custom-loaded MMU configs. |
@3d-gussner How are you getting that build output you show above? I am using the python build script, as described in the instructions. I only ever get "SUCCESS" or "FAILURE" as an output, which clearly isn't helpful when its the latter. |
I use VScode and some extensions like cmake, cmake integration. After installing VScode and at least these two extensions execute Building with cmake will output more information. The Hope that helps |
Can't wait, I'm very excited!! Thanks for the hard work.
…On Fri, Oct 4, 2024, 12:18 AM 3d-gussner ***@***.***> wrote:
@3d-gussner <https://github.com/3d-gussner> How are you getting that
build output you show above? I am using the python build script, as
described in the instructions. I only ever get "SUCCESS" or "FAILURE" as an
output, which clearly isn't helpful when its the latter.
I use VScode and some extensions like cmake, cmake integration.
After installing VScode and at least these two extensions execute
./utils/bootstrap.py to ensure that you have all .dependencies.
You should then see in the bottom line CMake: [Release]: Ready <wrench+driver_icon>
[avr-gcc] . Press on Build
Building with cmake will output more information.
The build.py scripts intentionally only output SUCCESS or FAILURE to make
it easy for beginners.
Hope that helps
—
Reply to this email directly, view it on GitHub
<#19 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD5JNMBDQYUOLNYEGISMR43ZZYQLXAVCNFSM6AAAAAA25ISHN6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJSHA2DEMZQHE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
It is done. Works for now. New STL files uploaded for v3.3 |
Man congratulations this is AWESOME, I currently don't have a mk4/mmu3 setup I switched to the XL but it's way overkill for what I do. I might just sell it off and go back to a mk4 with now a MMu3/12 thank you so much!!!!! Does works for now mean it works with the older MMu boards as well or would it need a new board |
@Dutchy1969 I still have some questions around the board. I could not get my older one to communicate. The firmware loads, and the MMU is operational (homes, buttons move/load) ... but the printer doesn't see it. I cannot figure out why, and so far Prusa support wasn't much help. The boards have not changed, but I cannot tell what is keeping the previous board from working. |
do you have the new adapter w/ power stablizer in it ?
|
@sithlord48 Yes, I am using the power board with testing both boards |
Is there a way to tell the |
Yes. My older board says "Rev 0.3" and the new one "Rev 0.4.4". Both are "sheep edition." I don't think there were any major changes in hardware that should affect this, but I am not clear. Also not sure if (or how) the boot loader might affect this. The "older" one is running and moving, but just doesn't answer the printer somehow. I am not sure how to go about debugging that. |
Hi cjbaar, Currently I am running a MK3S+ with an MMU2 and the 1.4 12xMMU-Body. I did have to modify the Tcodes.ccp in the MK3 firmware though, as it had a check to see if the Tcode is between 0 and 4. I started to unmothball my MK3 about three weeks ago and tried to get it running with the new firmware and there was still some fiddling left for me to get the parameters in the config.h right. So thank you again for this update. It really helped a lot. |
@Biertram Glad to hear it. I have not tested it on the Mk3, so glad you had success with it. The Mk3 firmware continuing to block T codes is very annoying, since it is such a simple change. |
Yeah, I am sure they deleted that PR long ago. It was actually at 3.9.x, IIRC. Here is my fork of 3.11: https://github.com/cjbaar/Prusa-Firmware |
@3d-gussner Sure. Let me preface this with the info that I am not a software engineer, I just know enough to get myself into trouble. I currently run my MK3 on the firmware build MK3S_MK3S+_FW_3.14.1_ENGLISH. So these are the changes I made: MK3S.h mmu2_supported_version.h errors_list.h In the MMU2 V3.0.2 I applied cjbaar's config, except for the stepsPerUnit on the Pulley configuration (config.h L118): |
@Biertram Nice job |
Thank you. I don't quite remember what the issue with V3.0.3 was, but maybe going back to V3.0.2 might fix your communication issues as well. I just tried flashing my MMU with my V3.0.3 version, but this time it worked... Strange... Edit: Would a copy of my memory dump be of any help to you? |
@3d-gussner So it looks my communication issues are the result of a bad resistor on the board. The TX line (R2) should be 22ohm, but is measuring well over 1K. For whatever reason, the Mk3 works fine with this, but the Mk4 drops bytes. |
@Biertram Thanks for sharing. |
@cjbaar I looked at my rev 0.3 board and Replacing the tiny 0603 How do you connect the rev 0.3 board to the MK3S? Using the MMU2S cables or new PD board and matching cables which are part of the MMU2S to MMU3 upgrade? Not sure but the PD board also has some components on the TX RX lines and these may have "tighter" tolerances what is expected. |
@Biertram memory dumps are really hard to read and it doesn't make sense in this case.
This value should be changed as the pulley diameter is different than the stock one. |
Oh right... I confused pulley diameter and selector angle when I did the configuration... The original value didn't give me any trouble yet. But I'll change it to 37.384921 to account for the diameter. |
@Biertram The new MMU firmware is more forgiving on how much filament has been pushed/pulled. It relies more on the states of the FINDA and FSensor than the actual length pushed or pulled. You may be lucky in the previous configuration that the FINDA and FSensor triggered in the thresholds. |
@3d-gussner > How do you connect the rev 0.3 board to the MK3S? Using the MMU2S cables or new PD board and matching cables which are part of the MMU2S to MMU3 upgrade? Excellent point. I am connecting to the Mk3 with the legacy connectors, so it is probably the PD board that has issues with the faulty resistor. It's not a big deal for me, as I currently don't plan to upgrade my Mk3, but wanted to make sure it wasn't an issue for others trying to upgrade. Thanks for the input. |
I used the MMU2S cables to connect the rev 0.3 board to the MK3S and it works. I have been looking for the differences of the rev 0.3 vs 0.4.4 and I found that the F2 fuse is different
Guess that the bigger fuse improved the usage of the MMU2/S on the 12V MK2.5/S printers
I measured the resistance with my multi-meter between the MMU connector TX / RX pins and MK3.5/S, MK3.9/S and MK4/S Connector TX / RX pins on the PD board and get ~330Ohm. This means
|
Check if that is working for you https://github.com/3d-gussner/Prusa-Firmware/tree/MK3_MMU3_12x |
Does this link have the hex file for the firmware on the mk3s and the new mmu12 firmware? I am having a hard time finding the files. |
Are you currently running the mk3s with the new mmu12/mmu3 update? |
No there is no hex file. That is just the source code and I think it would make sense if @cjbaar looks into that, compiles it and publishes it here. It is his project, just trying to help.
No I don't run the MMU3_12x at the moment. |
I run the MK3s with the MMU2. Above I noted my changes to the MK3S firmware I did myself, to get the MMU and the MK3S working together. Unfortunately there are few more changes to it, for proper display of the menus and such, which I didn't change as they didn't bother me. |
@Biertram Look at my fork https://github.com/3d-gussner/Prusa-Firmware/tree/MK3_MMU3_12x This should have all LCD fixes included |
Yes MMU2S and MMU3 firmware are the same. |
I have a hex file in the firmware directory of this repo for the MMU3, which would be the same for either the Mk3 or the Mk4. I have renamed it "cjb_fw_mmu3_3.0.3-x12.hex" to avoid confusion on the printer side. However, I am not currently working on any Mk3 firmware that supports this. |
@cjbaar I published the firmware 3.14.1 for the MMU12x on my github fork https://github.com/3d-gussner/Prusa-Firmware/releases/tag/c3.14.1_MMU12x Feel free to copy the repo or link to that release. |
I just have to say, I downloaded and flashed everything you created for the MMU12. I originally bought the MMU3 from Prusa, never got around to using it. I immediately dismantled it, and built this MMU12. Right out of the gate, it worked flawlessly. I just want to say thank you so very much! |
That's great, @jasonmatthews41. Thanks for the feedback. I made several physical changes on the old design that I personally felt made things easier to work with, but for the MMU3 firmware, most of the reliability credit goes to Prusa. |
Oh... BTW, @cjbaar, I don't know if you've mentioned any of this? But it works just fine with the MK4S. You absolutely do need to use the silicone sock for the heater block. With rapid changes, it struggles with the MK4S overkill cooling fan. I went through 2 heaters, and a thermistor, before realizing the MK4S already has issues with thermal over temp, due to it's fan. It's 5 times worse with the MMU. |
@cjbaar I would like to thank especially you (and others that contributed) for making this work on the mk4 And special thanks to @VSCustoms for introducing me almost 2 years ago to this project. |
is the display with filament loading supported for MMU with 12? |
No. The ground-up rewrite of the MMU3 by the Prusa team means that I don't need to change firmware anymore. I only supply a different config.h file with new parameters. Also the standard firmware communicates more verbose message to the printer screen. |
any chance we get a fork of the mmu3 firmware and i think 3.13 for the mk3s+ and mk4 support?
i was hoping to get rid of my mk3s+ and move it over to the mk4 i started looking at the firmware and stuff but im not smart enough for that.
The text was updated successfully, but these errors were encountered: