Hello:
So what is the current state of support for the MMU2? Nearest I can tell, at least two people made really good progress on it: trevjonez (GitHub - trevjonez/klipper: Klipper is a 3d-printer firmware) and kakoa-fr (github /kakou-fr/ [/klipper/ and a few others]). Trev was working on getting the original MM-Control board to work and Kakoa was working on getting DIY boards to work along with the BTT MMU DIP board. Trev seemed to have solved the problem with the HC595 shift registers. Kakoa seems to have had success with the DIY version as evidenced by his FB group and Thingiverse pages.
I have tried numerous times to get both solutions to work for me. Now, I’m no programmer so I’m sure I’ve made a lot of mistakes. I tried to merge both of their most recent branches with no success (in retrospect I’m not sure why I tried this). I tried to update Trev’s most recent branch (GitHub - trevjonez/klipper at tjones/mmu2-2020-fw) to the most recent version of Klipper but I wasn’t successful. Well, I was partially I suppose as I got Klipper flashed to my main board and to the MM-Control board, but I could never figure out the configuration. Neither repos had a full example of what to configure so there was a lot of head-scratching and guessing.
Most recently, I deleted all my Klipper files and installed Trev’s branch 2020 branch with this command: git clone -b tjones/mmu2-2020-fw --single-branch git://github. com/trevjonez/klipper.git. I flashed the firmware successfully. When it came time to configure the printer.cfg file and the mmu2.cfg file, I removed all of the unnecessary configs and just left the bare minimum in the first config file. I started working on the mmu2.cfg file one section at a time. I figured if I got one section to work then that would be a really good sign.
One problem that I have run into is the way the steppers are defined. In Trev’s branch, the idler stepper is labeled [stepper_i]. If it is labeled like this, Klipper just throws an unknown stepper error. I’ve searched and searched and I think there may be a missing config file. It may or may not be related to a “mmu2 kinematics” file that I think is missing (the [mmu2] section has a kinematics variable but the default ‘mmu(2?)’ doesn’t work on my machine). Anyways, I changed the section to [manual_stepper] and that seemed to help as I was no longer getting errors.
Once I was without errors, I attempted to autohome. After a few seconds, I would get a timeout error with a failed to home message. I haven’t been able to figure this out yet. I tried excluding the mmu2.cfg file but that didn’t help. My printer.cfg file is basically the same one that I was using before for some months so I’m hoping that either something is misconfigured or it has to do with the specific version of Klipper from Trev’s branch. I had to make a few changes like from rotation_distance to step_distance under the [stepper_x/y/z/e] and move microsteps to the TMC sections. I don’t know if it is related to that.
When I try to home, I can feel the stepper try to move, maybe. I can feel it vibrate just a little bit and my belt gets tight. If I turn the motors off through OctoPrint, I can move the hotend on the X axis without resistance.
Anyways, are there any plans to integrate their works into the main Klipper repository? It would be a real shame if all of their efforts went to waste. Seems like Trev worked on his fork on and off for maybe 2 years, at least according to various dates that I found. I was going to contact trevjonez and kakoa-fr on their forks but it doesn’t seem like there is any way of doing that, so that’s why I’m posting this here. Sorry if this is the wrong place for this.
I forgot to mention, my printer is an Ender 3. I’m using the BTT GTR V1.0 board with TMC2226 drivers. I know what you are thinking, why doesn’t he just use the drivers on his main board to do a DIY MMU instead? Well… I don’t have an answer to that other than I don’t want to run a bunch of wires from the board to the MMU2 steppers. And besides, the MMU2 was designed with this board in mind so I’d rather use it if I can. I suppose I could go back to Marlin to use the MM-Control board but that sounds worse to me than not using MMU2 at all!
Attached is my klippy.log file. At the end of it, I have included the results from DUMP_TMC in case there is a clue in there as to what is going on. Like I said, I’m guessing the problem has already been solved in newer versions of Klipper but I’m just trying to be thorough.
ghostbin. co/paste/rbqwq4j (had to split the link, sorry)