Please help corexy can not home zero

The physical structure of my MACHINE is like this PIC

HERE IS THE STEPPER CONFIGITION

[printer]

kinematics:corexy
max_velocity: 200
max_accel: 500
max_z_velocity: 50
max_z_accel: 200
[stepper_x]
step_pin: PA4
dir_pin:PA5
enable_pin:!PA6
microsteps: 8
rotation_distance: 40

endstop_pin: !PB4
position_endstop: 0
position_max: 145
homing_speed: 10
[stepper_y]
step_pin: PA7
dir_pin:PB0
enable_pin:!PA6
microsteps: 16
rotation_distance: 64.8
endstop_pin: !PB5
position_endstop: 0
position_max: 200
homing_speed: 10

homing_positive_dir:True
position_endstop: 0.2
position_max: 30
homing_speed: 20

Now I’m facing a problem that I can’t correctly HOME to zero. The specific situation is as follows:

when I set the motor DIR direction

dir_pin:PA5 dir_pin:PB0

OR

dir_pin: PA5 dir_pin: !PB0

HOME zero X , the print head will move towards the x+ direction of the physical machine,

HOME zero Y , the print head will move towards the Y+ direction of the physical machine.

when I set the motor DIR direction

dir_pin:!PA5 dir_pin:!PB0

OR

dir_pin: !PA5 dir_pin: PB0

HOME zero X , the print head will move towards the Y- direction of the physical machine,

HOME zero Y , the print head will move towards the X- direction of the physical machine,

SO PLEASE HELP ME ,

I think you have to swap the motor connectors on the board and then try different directions.
There is a guide for Vorons where it says what is wrong for each case:

You printer is rotated compared to a Voron but the basics are the same.

I HAVE TYRED swap the motor connectors and all four different combinations of dir pin., still can not move toward the correct direction

Ah just saw you have the wrong config or something thrown together:

homing_positive_dir:True
position_endstop: 0.2
position_max: 30
homing_speed: 20

First is, there is only a travel of 30 mm and that overwrites the former 200 mm.
Second and culprit here: homing_positive_dir:True That causes homing to max and not to 0.
So just remove that and check the whole config section for stepper_y.

“position_max: 30 - I’m not sure what this is for as it seems to have no effect. When homing, the travel distance is at least 10cm. I’ve tried set
homing_positive_dir to false initially, but it didn’t work. then I set it to true, but it still didn’t work.”

If you want to home to 0 you need to comment or delete homing_positive_dir:True so it defaults to false.
See: Configuration reference - Klipper documentation

If it is still not working you should check with different dir-pin states.

If you have a good eye you can use stepper_buzz to check for the right initial direction - see:
https://www.klipper3d.org/G-Codes.html?h=stepper_b#stepper_buzz

Or you put your print head to the center of the gantry and use SET_KINEMATIC_POSITION to reset position and then force move stepper x and y for some mm to check what directions are driven into.
https://www.klipper3d.org/G-Codes.html?h=stepper_b#force_move_1

Get your stepper config sections right and check from the base again.
Additionally for next topics please upload the whole klippy.log as requested.

[force_move]
enable_force_move: True

[respond]
[gcode_macro DIREY]
description: y
gcode:

FORCE_MOVE STEPPER=stepper_y DISTANCE=20 VELOCITY=10

[gcode_macro DIRE_x]
description: A
gcode:

FORCE_MOVE STEPPER=stepper_x DISTANCE=20 VELOCITY=10

[gcode_macro DIRE_z]
description: z
gcode:

FORCE_MOVE STEPPER=stepper_z DISTANCE=20 VELOCITY=10

I’ve already tried setting all of those, 。 There are no issues with the motor’s wiring and controlling the direction of its operation.

but homing_positive_dir:True or false There’s no noticeable impact.

Please upload your latest klippy.log here.
Best is to roll it over so just the last instance is logged.

klippy.log (5.5 MB) i do not know how to to roll it over

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.