@Phaedrux
Sure:
homeall:
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v3.5.8 on Tue Dec 10 2024 15:03:23 GMT-0500 (Eastern Standard Time)
; 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} F4000 ; coarse home in the -X and -Y directions
G1 H2 X5 Y5 F4000 ; move back 5mm
G1 H1 X{-var.xTravel} Y{var.yTravel} F1000 ; 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]
G91 ; relative positioning
G1 X{var.xCenter} Y{var.yCenter} F1000 ; go to bed centre
G90 ; absolute positioning
M401
G30 ; probe the bed
M402
homex:
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.5.8 on Tue Dec 10 2024 15:03:23 GMT-0500 (Eastern Standard Time)
; 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
M913 X40 Y40 ; drop motor current to 40% -> for sensorless homing
M400
; 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} F3000 ; coarse home in the -X direction
G1 X5 F3000 ; move back 5mm
G1 H1 X{-var.maxTravel} F1000 ; 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:
; homey.g
; called to home the Y axis
;
; generated by RepRapFirmware Configuration Tool v3.5.8 on Tue Dec 10 2024 15:03:23 GMT-0500 (Eastern Standard Time)
; 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} F3000 ; coarse home in the -Y direction
G1 Y5 F3000 ; move back 5mm
G1 H1 Y{var.maxTravel} F1000 ; 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
homez:
; 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
G90
G1 Z10 F3000 ; Move Z up 10mm to ensure clearance
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
M401
G30
M402 ; retract probe
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 S10 R1 F1 H2 ; 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 D3 V188; driver 0.0 goes forwards (X axis) -> D3 is for stealthChop mode = enable stall detection
M569 P0.1 S1 D3 V188; driver 0.1 goes forwards (Y axis) -> D3 is for stealthChop mode = enable stall detection
M569 P0.2 S1 D2 V188; driver 0.2 goes forwards (Z axis) -> D3 is for stealthChop mode = enable stall detection
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 H30 F250:30 T8000 C"^!io6.in" ; Set probe input to IO_6 on Mini 5+
G31 P500 X0 Y0 Z20 ; 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
I had the error: Error: G30: Insufficient axes homed for bed probing when trying to home all axes at the same time. For some reasons after I restarted the printer, I seem I no longer have it.
However, when I home all or home Z or send G30, the extuder gets all the way down ignoring the probe, hitting the bed. When I manually activate the pin of the probe before it reaches bed, this error appears: Error: G4: Probe already triggered at start of probing move.
On top of that, it is not going to the center of the bed before probing and my X axes make a noise when homing which I can't solve.