CoreXY X-Axis in moves in the wrong direction on Homing



  • You guys must be tired or reading about my issues…
    Newest issues... Endstop working, only problem, I have both my X and Y setup as normally closed switch at high end. If I test, and manually press, they both work.
    However when I home Y-Axis perfect moves to the switch (+ side) and stops, if I home the X-Axis it moves to the wrong side (- side)... unsure what I did this time.

    My Z is a BLTouch, but I will not worry about that until X-Y are homing correctly.

    Thanks you for your help

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare

    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X300 Y300 Z250 S0 ; Set axis maxima

    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X2 Y2 S0 ; Define active high microswitches
    M558 P4 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P15 X3 Y1.8 Z2.5; Set Z probe trigger value, offset and trigger height
    M557 X15:315 Y15:315 S20 ; Define mesh grid

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    ; M92 X160 Y160 Z800 E837 ; Set steps per mm with Titan extruder geared
    M92 X160 Y160 Z800 E100 ; Set steps per mm with extruder not geared
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S260 ; Set maximum heater temperature to 260C
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1

    ; Tools
    M563 P0 D1 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Network
    M550 PMy printer ; Set machine name
    M540 PBE:EF:DE:AD:FE:ED ; Set MAC address
    M552 P192.168.2.50 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured
    ;PID
    M307 H1 A506.7 C200.3 D6.0 B0 ; Save hotend PID
    M307 H3 A-1 C-1 D-1 ; reserve pin 21 for M42 or servo use

    T0



  • Hi,

    Did you try changing the M569 settings for the X motor?

    Frederick



  • Yes, I tried…
    I am using a CoreXY so I played with the M569 P0 S1 and the M569 P1 S0 ; Drive 1 goes forwards...
    Only thing it does is invert what axis has issue...

    But thanks for the suggestion, I prefer the new spot for the 0;0;0


  • administrators

    Where on the bed have you chosen X=0 Y=0, and which directions are +X and +Y? Where are the endstop switches located?



  • On the image below my endstop are in red, the Z-probe BLTouch in blue.
    Now, when homing the X-Axis works perfectly well, but when move the Y axis, instead of moving toward the +, it moves to the -.

    When I played with the M569, the homing on the hotend axis always worked, but never the other axis.

    Edit: I am sorry, I realized that I haven't copied all the modification that I had to apply to my endstop when I changed the M569.


  • administrators

    OK, so X) Y0 is at the front left, +X is to the right and +Y is to the back. You have a low end (min) X endstop switch and a high end (max) Y endstop switch.

    Because your Y endstop switch is at the high end (at the back), you need to:

    1. Declare it as a high end switch (Y2) in the M574 command. You have already done this. However, if the X endstop is at the left, it is a low end switch and you need X1 in the M574 command, not X2.

    2. In your homey.g file and the Y homing section of homeall.g, you need to move the Y axis in the +Y direction. It sounds to me that you are moving it in the -Y direction, sway from the endstop switch.

    See https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer#Homing_X_and_Y and then https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer#homeall.g_file. Note that the illustration for CoreXY assumes both switches are low end, so with your high-end Y endstop switch you will need to reverse the sign of the Y parameter in all the G1 commands.



  • Will modify the Honey.g and Homeall.g tonight.

    Thanks you



  • @Nylkos:

    Will modify the Honey.g and Homeall.g tonight.

    Thanks you

    I wonder what would honey.g would do 🙂



  • Nylkos wrote
    Will modify the Honey.g and Homeall.g tonight.

    Thanks you
    I wonder what would honey.g would do ?

    Last edited by whosrdaddy (Today 17:10)

    Quote Answer Report

    LOL
    I feel like correcting it but wouldn't be has funny…

    For printing, what would be the optimal position for the X=0, Y=0, Z=0?
    ATM mine is front to the left... I am wandering if I should move it to the back... logically, due to the lever effect, the closest to the ballscrew my print will be the less force would be on the bed, no?



  • My setup is the same, and I had to figure all that out two nights ago. I think I will be moving my Y limit to the other end once I have printing abilities. I see no reason to have one high and one low. It's just how the design I chose did it. I seem to be the first one building this particular design. The designer has not actually completed his build.



  • @Nylkos:

    …...................................
    For printing, what would be the optimal position for the X=0, Y=0, Z=0?
    ATM mine is front to the left... I am wandering if I should move it to the back... logically, due to the lever effect, the closest to the ballscrew my print will be the less force would be on the bed, no?

    For printing, it really doesn't matter where "Home" is. It's just a reference point. If you want your prints to be orientated closer to the balls screw, then just orient them that way on the build plate of you slicer. AFAIK most slicers will default to putting the object in the centre of the bed (regardless of where XY home is). If you are worried that the bed droops away from the screws, then homing Z in the centre of bed will make the best of a bad situation.



  • ok
    Thanks you


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.