Duet 3 Mini 5+ sensorless homing configuration
-
@phaedrux Sure! Sorry I must have missed your message.
I have "outsourced" the changes that need applying for homing (motor current, driver tuning, V parameter etc.) from the actual homing moves into a separate macro, so I can tweak this centrally.
Here is how I home all axes:
; homeall.g ; called to home all axes M98 P"homing_modifications.g" ; applies necessary modifications for the homing moves ; get Z out of the way G91 ; relative positioning G1 H2 Z5 F1200 ; lift Z M400 ; wait for current moves to finish ; home X G1 H1 X5 F1200 ; move slowly away G1 H1 X-255 F3600 ; move to X axis endstop and stop there (first pass) G1 X5 F1200 ; go back a few mm G1 H1 X-10 F3000 ; move to X axis endstop once more (second pass) G1 X10 F1200 ; go back a few mm M400 ; wait for current moves to finish ; home Y G1 H1 Y5 F1200 ; move slowly away G1 H1 Y-220 F3600 ; move to Y axis endstop and stop there (first pass) G1 Y5 F1200 ; go back a few mm G1 H1 Y-10 F3000 ; move to Y axis endstop once more (second pass) G1 Y10 F1200 ; go back a few mm M400 ; wait for current moves to finish ; home Z G90 ; absolute positioning G1 X11.5 Y4.5 F6000 ; go to first probe point G30 ; home Z by probing the bed G1 Z0.6 F500 ; move Z to origin G91 ; relative positioning G1 Z1 F500 ; lift Z relative to current position M400 ; Wait for current moves to finish M98 P"homing_modifications_reset.g" ; resets all modifications applied for the homing move
; homing_modifications.g ; tune motor drivers, set motor current and V parameter for homing moves ; apply modifications M569 P0.1 V10 ; reduce V to ensure stealthChop is enabled for X M569 P0.2 V10 ; reduce V to ensure stealthChop is enabled for Y M913 X70 Y70 ; drop motor current to 50% G4 P100 ; wait 100ms ; tune drivers G91 ; relative positioning G1 H2 X0.2 Y0.2 F3000 ; power up motors to ensure they are not stalled G4 P100 ; wait 100ms M400 ; wait for current moves to finish
; homing_modifications_reset.g ; reset all homing modifications applied in homing_modifications.g ; M913 X100 Y100 ; return current to 100% for X and Y M569 P0.1 V2000 ; restore default V for X M569 P0.2 V2000 ; restore default V for Y G90 ; absolute positioning
Here is the configuration of the endstops/stallguard sensitivity:
; Endstops M574 X1 S3 ; configure sensorless endstop for low end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y M915 X S3 F0 H200 R0 ; set the X axis sensitivity M915 Y S3 F0 H200 R0 ; set the Y axis sensitivity
This works very well for me. I might still tweak it here and there but everything will then be released on the Bear Project GitHub repo.
Hope that helps someone looking into this thread later down the line
-
-
I am very thankful I found this thread because I was having the very same issue and, after some experimenting with your scripts it works better for me too now.
However, I do have a question: why there is no M915 command on these routines? I assume if ignored it assumes a certain value lie S3??
I mean, I tried with and without M915 and it works, so... I am confused, somehow