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.gM400 ; 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 stallG91 ; use relative positioning
G1 S2 Z10 F1200 ; lift ZG1 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 500msecM913 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 stallG91 ; 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 microswitchesSorry 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.gHere 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 stallG91 ; use relative positioning
G1 S2 Z10 F1200 ; lift ZG1 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 500msecM913 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 stallG1 S1 Y-300 F6000 ; move beyond axis minimum
G4 P500 ; wait 500msec
G1 Y5 ; move away from home
G4 P500G1 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 -
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 motorsFor 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.
-
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.