Error in Sensorless homing
-
Dear Community,
I've now an other problem in setting up the sensorless homing for my XY axis after going through the guide.
The error is as follows: "Error: in line 17: G1: insufficient axes homed". XY axes are homing, but X keeps bumping into the limit. Then everything stop and the error is displayed. I tried lowering F in my G1 commands in homing files as well as lowing current in M913 but still have the problem.
; Homex.g:
M400 ; Wait for current moves to finish ; increase Z G91 ; relative positioning G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning M913 X40 Y40 ; drop motor current to 70% -> for sensorless homing ; home X G91 ; relative positioning var maxTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm G1 H1 X{-var.maxTravel} F6000 ; coarse home in the -X direction G1 X5 F6000 ; move back 5mm G1 H1 X{-var.maxTravel} F6000 ; fine home in the -X direction G90 ; absolute positioning ; decrease Z again G91 ; relative positioning G1 H2 Z-5 F6000 ; move Z relative to current position G90 ; absolute positioning M400 ; Wait for current moves to finish M913 X100 Y100 ; return current to 100% -> for sensorless homing M400 ; Wait for current moves to finish
;homey.g:
; increase Z G91 ; relative positioning G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning M400 ; Wait for current moves to finish M913 X40 Y40 ; drop motor current to 70% -> for sensorless homing M400 ; home Y G91 ; relative positioning var maxTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm G1 H1 Y{-var.maxTravel} F6000 ; coarse home in the -Y direction G1 Y5 F6000 ; move back 5mm G1 H1 Y{-var.maxTravel} F6000 ; fine home in the -Y direction G90 ; absolute positioning ; decrease Z again G91 ; relative positioning G1 H2 Z-5 F6000 ; move Z relative to current position G90 ; absolute positioning M400 ; Wait for current moves to finish M913 X100 Y100 ; return current to 100% -> for sensorless homing M400 ; Wait for current moves to finish
;homeall.g:
; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY M400 M913 M400 var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} F6000 ; coarse home in the -X and -Y directions G1 H2 X5 Y5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} F6000 ; fine home in the -X and -Y directions G90 ; absolute positioning M400 M913 M400 ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed
Thanks in advance,
-
@Timothee-Leblond board? Firmware version? Copy of your config?
-
I'm using a Mini 5+ under the 3.5.4 version.
Below my config.g:
; Default config.g template for DuetPi ; Replace this with a proper configuration file (e.g from https://configtool.reprapfirmware.org) ; Display initial welcome message M291 P"You are operating an SBC image in standalone mode. Please see <a href=""https://www.duet3d.com/StartHere"" target=""_blank"">here</a> further information." R"Welcome to your new Duet 3!" S1 T0 ; Enable PanelDue M575 P1 B57600 S1 ; Enable network ; M552 P0.0.0.0 S1 ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.8 on Fri Dec 13 2024 08:59:52 GMT-0500 (Eastern Standard Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"Duet 3" ; set hostname M915 X Y R0 F0 ; set sensorless homing M302 P1 ; Allow cold extrusion ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Wait a moment for the CAN expansion boards to become available G4 S2 ; Smart Drivers M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis) M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Y axis) M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis) M569 P121.0 S0 D2 ; driver 20.0 goes forwards (extruder 0) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.0 Y0.1 Z0.2 ; set axis mapping M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M906 X800 Y800 Z800 ; set axis driver currents M92 X80 Y80 Z400 ; configure steps per mm M208 X-6:310 Y0:310 Z-5:405 ; set minimum and maximum axis limits M566 X900 Y900 Z12 ; set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z180 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 ; set accelerations (mm/s^2) ; Extruders M584 E121.0 ; set extruder mapping M350 E16 I1 ; configure microstepping with interpolation M906 E800 ; set extruder driver currents M92 E100 ; configure steps per mm M566 E120 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; Probes M950 P0 C"out6" ; Set servo output on Mini 5+ M558 P9 H6 F250:30 T8000 C"^!io6.in" ; Set probe input to IO_6 on Mini 5+ G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height ;M950 S0 C"121.io0.out" ; Set servo output on Rototoolboard ;M558 P9 H6 F250:30 T8000 C"^!121.io0.in" ; Set probe input to IO_0 on Rototoolboard ;G31 P500 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height ; Endstops M574 X1 S3 ; configure X axis endstop M574 Y1 S3 ; configure Y axis endstop M574 Z1 S2 ; configure Z axis endstop M915 X Y R0 F0 ; Tools M563 P0 S"MainExtruder" D0 ; create Tool 0 using Extruder Drive 0 G10 P0 S0 R0 ; set Tool 0 active and standby temperatures to 0 T0 ; select Tool 0 at startup
Thanks for your help!
-
@Timothee-Leblond see the two posts here about sensorless homing https://forum.duet3d.com/post/351246
Your drivers need to be in stealthchop and yours are currently set to spreadcycle -
Even with stealthchop on with D3 it's not working.
Sensorless homing is turned on. I tried varying the speeds but nothing work.; Smart Drivers M569 P0.0 S1 D3 V188; driver 0.0 goes forwards (X axis) M569 P0.1 S1 D3 ; driver 0.1 goes forwards (Y axis) M569 P0.2 S1 D3 ; driver 0.2 goes forwards (Z axis) M569 P121.0 S0 D3 ; driver 20.0 goes forwards (extruder 0)
-
@Timothee-Leblond I don't see an M915 gcode setting the correct S and H values for your system. Best read the docs properly on sensorless homing
-
I kinda got what you meant. I tried using the following parameters and not It is not making noise anymore and works properly.
M915 X Y S5 R1 F1 H2 ; set sensorless homing
Do I need to put the same M915 at the end of my config.g after the endstop section? (instead of M915 X Y R0 F0)
Also, using a Biqu microprobe as Z sensor - Should I use the same parameters for Z axes such as D3 for stealthchop? Does my homez looks good:
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v3.5.8 on Tue Dec 10 2024 15:03:23 GMT-0500 (Eastern Standard Time) ; ################# Home Z Preparation ################ G91 ; Relative mode G1 H2 Z5 F5000 ; Lower the bed G90 var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F4000 ; go to bed centre ; Back to absolute positioning ; ################# Home Z Preparation ################ G30 ; Probe a single point