Printer Model: Ender 5 Plus - Endorphin Mod (Hybrid CoreXY)
MCU / Printerboard: BTT SKR Mini E3 V3, EBB36 Can V1.2
Host / SBC: Raspberry Pi 4
klippy.log
I was running Hybrid CoreXY fine and then added CanBus to upgrade printhead and extruder. Now, when I go to home, the X homes fine (to the right), but when it goes to home the Y axis “stepper_X” (the one responsible for X/Y movement) for some reason starts to move the wrong direction (CCW) so the head starts to move diagonal to the back left, towards 0,350, not 350,350 (back right) where it used to. Totally stumped, any help appreciated.
I cleared my klippy log, connected and homed the printer, let it move towards the back left then e-stopped.
What I believe to be relevant Printer.cfg sections below. Thanks!
After homing completes, does the toolhead move in the right directions when you command it?
If it doesn’t, you might want to try inverting the X/Y Stepper “DIR” pins in your printer.cfg to see if you can get things moving in the right direction - note that you need to keep a table and go through all four combinations of the two “DIR” pins being inverted or left not inverted.
If that doesn’t do anything then we will have to look at the process you used to connect your EBB36. Are you using a CAN hat or a U2C board? What other changes did you make to your system/printer.cfg when installing the toolhead.
Finally, you have a lot of macros with a surprising number that are issuing G28 commands. Where did you get them all and what is your level of understanding?
Thank you! Last night it would run into the rail so I turned it off each time I tried it this morning. I’ll see if it is still doing that - because it hasn’t finished homing I haven’t had the manual control yet.
I am using the U2C. After adding the EBB I created EBBCan.cfg and moved anything that was attached to the EBB there (fans/extruder/heater/filament sensor). In Printer.cfg I deleted those sections (commented first then deleted when it compiled right) and added the MCU and include EBBCan.
I do know I need to go comment out some of the Moonraker macros. Those were in there before - I just haven’t yet because that file is marked as read-only in mainsail. I’ll try that too though.
Sorry I should have been more specific - the 2 I was thinking I should comment in Mainsail are pause and resume because those are duplicated right now from the Orbiter Filament sensor configuration file. I’ll hold off on that for now.
If the problem isn’t fixed by playing around with the “DIR” pins, then look at the macros.
When commenting out the macros, comment out everything that wasn’t provided in the Klipper/Moonraker/Mainsail install. That means you’ll briefly run without your filament sensor.
I let it home (into the back left corner) and then it properly moved to my z_safe_home position in the middle of the bed and successfully probed home. After that, X movements worked as I expected (negative to the left, positive to the right). Y movements however followed the same homing behavior where positive moved towards the back left (not holding on the X value, instead x decreasing) and negative moved towards the front right (increasing the X)
I just thought of something else too - the Y movements on top of having the erroneous x movement, seems faster than the X movement, almost aggressive. Could it be that for some reason my A or B motor is not configuring right and moving too fast (not in unison like they should)? I didn’t intentionally change either setting.
Here is the config I did change for my Extruder and put in EBBCan.cfg…
If your A or B stepper motors are not configuring correctly, I would look at the plethora of macros that you have. Have to commented out all except for the Mainsail ones and tried homing/movement?
When I look at the stepper X/Y statements along with their TMC2209 parameters, I don’t see anything amiss - however, there are a lot of macros putting in commands. That would be the first place that I would look - comment them out and see how things move.
I did try inverting the DIR pins.
Both configurations where I changed inverted the X pin caused the printer to home x left, never reaching the X endstop which is mounted on the right.
The configuration with neither inverted caused the head to correct home x to the right, but then started to move to the front right (it seemed ok like it was just moving in a straight line to the front - no extruder past limit noise), but that endstop is in the back.
The last configuration was the one I had from before, where it moves diagonally. I removed all the extra macros I could and just kept these as I needed my BLTouch for homing Z.
There are four combinations of inverting the DIR pins:
Stepper X - DIR/Stepper Y - DIR
Stepper X - !DIR/Stepper Y - DIR
Stepper X - !DIR/Stepper Y - !DIR
Stepper X - DIR/Stepper Y - !DIR
CoreXY machines are funny beasts, which DIR pins to change are not intuitive. You could map out the belts and try to figure out which should be inverted but I find it easier to just run through the four combinations to find which on works.
Yes, I tried all 4 combinations and made a check sheet like you suggested.
I’m thinking that the other thing that changed was that the belt went from attached at the front with my old hot end to the back with the new hot end. I’m not positive i have that right. I think i’ll ask that in the Endorphin subreddit.
The only other troubleshooting option I was curious about was - i’m no longer using the extruder driver from my Mini E3V3 since its driven from my EBB. Can i move the X stepper to the extruder output on the Mini, and remap the pins? Would all the other settings stay the same?
I wondered about that and that’s why I asked to try the different “DIR” pin settings.
No problem doing that at all - that may help you to understand the issue you’re having with one stepper not producing as much torque as the other (ie the driver not turning as quickly due to the driver being damaged).
See what people on Reddit have to say about how the belt is installed - you may also have a binding problem which is causing one stepper to not perform the same as the other.
Thanks again - according to a user on reddit who has the same print head in hybrid corexy as i do, having the belt attached in the back instead of the front means i would “have to edit the py files and change the formulas to reflect that.” He also linked me to the EVA front STL he used. I’m printing it, will reassemble the printhead to connect in the front and see if that does it. Thanks so much again!
Following up - the reddit user was correct. Attaching the ‘A’ pulley at the front of the machine vs the back did change the kinematics in a way that I couldn’t resolve by simply changing the stepper pins. Moving the Pulley connection point (where it was fixed to the printhead) to the front fixed everything.