CoreXY Hevo Sensorless homing problem with Y.



  • Hello.

    All previous topics are closed thats why I make new one.
    Sometimes Y axis is not homing properly. After X homing, it moves a bit and finish homing in wrong posiotion.
    It happens when print finish and carriage go to parking position. After that, when I upload file to print homing Y axis will be like I said.
    If before print Ill manually use homeall scrips it will go OK.

    Here is my homeall.g
    0_1539634869422_homeall.g

    M400 ; make sure everything has stopped before we make changes
    M913 X40 Y40 ; XY motors to 65% current
    M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
    M574 X1 Y1 S3 ; set endstops to use motor stall

    G91 ; use relative positioning
    G1 S2 Z10 F1200 ; lift Z

    G1 S1 X-300 F3000 ; move right/back 325mm, stopping at the endstop
    G4 P500 ; wait 500msec
    G1 X5 ; move away from home
    G4 P500 ; wait 500msec

    M913 X40 Y40 ; XY motors to 65% current
    M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
    M574 X1 Y1 S3 ; set endstops to use motor stall

    G91 ; use relative positioning
    ; lift Z
    ; make sure everything has stopped before we make changes
    ; X is homed at this point, now home the other axis
    G1 S1 Y-300 F3000 ; move beyond axis minimum
    G4 P500 ; wait 500msec
    G1 Y5 ; move away from home

    ;G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 Z-255 F1800 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    G1 Z-10 F1200 ; lower Z
    M400 ; make sure everything has stopped
    M913 X100 Y100 ; XY motors to 100% current
    G90 ; back to absolute positioning
    M574 X1 Y1 S1 ; define active low microswitches

    Sorry for the mess, Im new with Duet 🙂
    cheers



  • I did some tests. I made very fast printable gcode (about 1sec print) just to make printer start and stop. I repeated it over and over. About 10% of homings before print was failure - after X was homed, Y wasnt.
    I tried higher value of sensivity - with no luck.
    I tried higher homing speed - same.
    Same with motor current.

    Any idea?

    Here is my config.g:
    0_1539641962022_config_backup.g

    Here is newly edited homeall.g:

    M400 ; make sure everything has stopped before we make changes
    M913 X40 Y40 ; XY motors to xx% current
    M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
    M574 X1 Y1 S3 ; set endstops to use motor stall

    G91 ; use relative positioning
    G1 S2 Z10 F1200 ; lift Z

    G1 S1 X-300 F6000 ; move right/back 325mm, stopping at the endstop
    G4 P500 ; wait 500msec
    G1 X5 ; move away from home
    G4 P500 ; wait 500msec

    M913 X40 Y40 ; XY motors to xx% current
    M915 H400 X Y S2 R0 F0 ; set X and Y to sensitivity 3, do nothing when stall, unfiltered
    M574 X1 Y1 S3 ; set endstops to use motor stall

    G1 S1 Y-300 F6000 ; move beyond axis minimum
    G4 P500 ; wait 500msec
    G1 Y5 ; move away from home
    G4 P500

    G1 S1 Z-255 F1800 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    G1 Z-10 F1200 ; lower Z
    M400 ; make sure everything has stopped
    M913 X100 Y100 ; XY motors to 100% current
    G90 ; back to absolute positioning
    M574 X1 Y1 S1 ; define active low microswitches


  • administrators

    My best guess is that the motors are hotter at the end of the print, and this is increasing the stall sensitivity. So you could try the following:

    • Use a higher S number in the M915 command, to reduce the sensitivity;
    • Use a lower motor current during printing, so that the motors don't get as hot;
    • After printing, lift Z to move the nozzle away from the print, then reduce X and Y motor current (M913) or even turn them off completely, then pause for a while to let the motor windings cool a bit; then home the printer.

    I think stall-detect homing on CoreXY printers is more difficult than on other types due to the increased length (hence elasticity) of the belt, which makes it more difficult to get a hard stall.



  • Big thanks for reply David.

    I tried higher S in the M915 to reduce sensivity. '4' is limit for my ears. And even with that sometimes homing fails.
    Temperature in my opinion is not the issue. Both motors have same temperature and only Yaxis fails.
    Moreover, I tested it on cold motors. My test print gcode is so short that motors cannot get even warm.
    Im printing quite fast (100-150mm/s, 400mm/s travel, 5k acc), so current reduction is someting im afraid of.

    I start to think its something maybe with slicer start and end gcode.

    Starting:
    G28;
    G1 Z10;

    Ending:
    G4 ; wait
    M221 S100
    M104 S0 ; turn off temperature
    M140 S0 ; turn off heatbed
    M107 ; turn off fan
    {if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+20, max_print_height)}{endif} ; Move print head up
    G1 X0 Y200; home X axis
    M84 ; disable motors

    For now I just edited ending gcode to go to home position after print. It works, but its not how it should be.



  • @maciek said in CoreXY Hevo Sensorless homing problem with Y.:

    so current reduction is someting im afraid of.

    You wouldn't have to reduce it during the print, just for the homing moves. It could then be increased again.


  • administrators

    The G4 command in your end GCode should have a parameter to tell it how long to wait. Or you can use M400 instead to just wait for everything to stop moving.


 

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