Is it possible to home both axis simultaneously on a corexy?



  • Title says all. cant find much info on the subject, and was curious to see if this is possible with a corexy kinematic system.



  • Afaik its been discussed a few times here; my understanding is you can until one axis is homed, then you need to do a second move to home the other one. With conditional g-code you could make that an intelligent thing now I guess.

    (You'll probably find more details from actual corexy wizards if you search the forum)



  • @bearer im not too familiar with conditional gcode, but ill check it out.
    I figured the logic would go something like:

    Home both axis by moving one motor in a diagonal direction, then proceed to next line
    if (x endstop is reached before y endstop)
       rotate both motors in direction "A" to finish homing the second axis
    else if (y endstop is reached before x endstop)
       rotate both motors in direction "B" to finish homing the second axis
    

    if that makes any sense. hopefully



  • correct me if im wrong, but it seems i'll have to upgrade the rig to rrf3.0



  • @Turbo said in Is it possible to home both axis simultaneously on a corexy?:

    correct me if im wrong, but it seems i'll have to upgrade the rig to rrf3.0

    yes and no; for conditional code you'll need rrf3.0.

    but you could also home both axis followed by each axis as an individual move? the one that homed first might just skip the move?


  • Moderator

    Normally it's done like this:

    https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter#Section_homeall_g_file

    G91 ; relative mode
    G1 H1 X-240 Y-240 F3000 ; coarse home X or Y
    G1 H1 X-240 ; coarse home X
    G1 H1 Y-240 ; coarse home Y
    G1 X4 Y4 F600 ; move away from the endstops
    G1 H1 X-10 ; fine home X
    G1 H1 Y-10 ; fine home Y
    ''' Z homing section follows'''
    

    The first line with X and Y moves will go until either endstop is hit, then the single X and Y homing moves will proceed until both endstops are hit (one of them would already be hit) then back off and home each axis individually.

    I guess you could get fancy with conditional, but I don't see the benefit.



  • This post is deleted!


  • @Phaedrux okay so it works kinda. the issue arises when its already close to its home position. for some reason, it goes nuts. it also tries to move when already in the home position with both limit switches actuated. investigating...

    
    ;-----Simultaneous X&Y Home-------------------------------------
    M913 X70 Y70			; reduce motor current to 70% to prevent belts slipping
    G91						; use relative positioning
    M566 X200 Y200    		; Set maximum instantaneous speed changes (mm/min)
    M201 X250 Y250   		; Set accelerations (mm/s^2)
    G1 H1 X-300 Y300 F3000 	; coarse home X or Y
    G1 H1 X-300 			; coarse home X
    G1 H1 Y300 				; coarse home Y
    G1 X4 Y-4 F600 			; move away from the endstops
    G1 H1 X-10 				; fine home X
    G1 H1 Y10 				; fine home Y
    G90 					; Back to absolute positioning
    M400					; make sure everything has stopped before we reset the motor currents
    M913 X100 Y100			; motor currents back to normal
    M574 X2 S1 				; set endstops back to normal
    


  • @Phaedrux to add detail to the issue, when close to its original home position, homing it again proves an issue. when executing the file, the y axis homes without movement from the x axis, and then it tries to go super far left for some reason, rather than to the middle of the build volume to z probe, which is right of the home position.


  • Moderator

    You may want to add another small back off move to disengage the endstop switch after it's been fine homed.

    Is that your full homeall?

    Can you post your full config.g too?

    @Turbo said in Is it possible to home both axis simultaneously on a corexy?:

    M574 X2 S1 ; set endstops back to normal

    What does this mean? When was it changed to not normal?

    Just to check, is 0,0 the front left corner? +x to the right, +y to the back?



  • @Phaedrux that line is leftover from previous config. copy paste and me not paying attention. you are correct on 0,0 position

    this is the rest of the code after homing x and y

    ;--blah blah blah home x and y. rest of code below
    
    ;-----Home Z Axis------
    G91                		; relative positioning
    G1 Z5 F7200 S2     		; lift Z relative to current position
    G90                		; absolute positioning
    G1 X141 Y65.5 F7200 	; go to first probe point
    G30                		; home Z by probing the bed
    
    ; Uncomment the following lines to lift Z after probing
    G91               		; relative positioning
    G1 Z5 F120 S2     		; lift Z relative to current position
    G90               		; absolute positioning
    
    ;------Return to right Rear Corner------
    ;G1 X5 Y65.5 F7200 			; move to left 
    G1 X5 Y180 F7200			; move to home corner
    M566 X1200 Y1200       		; Set maximum instantaneous speed changes (mm/min)
    M201 X1500 Y1500     		; Set accelerations (mm/s^2)
    

Log in to reply