Hello everyone,
I am building a fully customized Idex printer with the hybrid-corexy kinematics. Now I discovered a problem with the movements. I can’t get all the axes to move in the right direction.
The X motors need to move when Y is changed to keep the print head in the same position. I set the direction pins so that Y moves to the back and X moves to the right (origin in the front left). The problem is that when I set it this way, the X motor spins in the wrong direction and therefore moves the printhead during the Y movement. If I invert X or Y, the printhead stays in position, but the origin is in the wrong corner.
Does anyone have any idea how to fix this?
I think a solution should be to tell Klipper to change the X direction it needs to compensate for the Y movements (not generally the X direction!). But I don’t know if this is possible.
I am sitting with the exact issue you are having. Sineos has linked you to my post. I am currently looking into getting a kinematic sorted out for a single head hybrid corexy. I am looking at getting logic inversion implemented but no luck so far. that is literally the only thing I can find that is missing from klipper. Using the !dir setting changes motor direction and logic, these are supposed to be separate individually definable settings. I feel like the kinematic that is in the repo is for one machine only. I will come back and let you know if I get it to do what I want.
I think I have found a solution. If you change the underlying kinematik python program you can quite easily change the direction. I’ve got it working now, but I can only do limited testing as I haven’t installed the limit switches yet.
Solution:
SSH to yout Klipper Device
“cd /klipper/klippy/kinematics”
“sudo nano hybrid_corexy.py”
there you need to change line 24 and 39. Simply change “-” → “+” or “+” → “-”
→ self.rails[0].setup_itersolve(‘corexy_stepper_alloc’, b’+')
In addition you need to change line 66, “+” → “-”
→ return [x_factor * (pos[0] - pos[1]), y_factor * pos[1], pos[2]]
reboot
This fixed my problem. I hope someone can try this fix and see if it is a reliable solution. If this solution works reliably it would be great if this could just be an option in the config to choose from.
Thanks everyone for your input and special thanks to JConradie for the correct hint.
EDIT: you need to change one more thing, aded it up there. If not the position of the toolhead is wrong resulting in lots of trouble when homing and doing Z.Tilt…
Yo, thanks for that man. solved my problem too. I am going to check if I can make an option so this can be done directly in the printer.cfg. Little less of a run around then.