Duet 3 mini 5+ wifi sensorless homing - Help
-
Hey Guys I am trying to setup sensorless Homing on a Voron 0.2 . I can get X to home but Y only home when I click on Home Y, It does not work with Home All.
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Sat Feb 04 2023 22:42:11 GMT-0500 (Eastern Standard Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Zero" ; set printer name M669 K1 ; select CoreXY mode ; Network M551 P"###" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.1 S1 D2 F3 B2 Y5:3 ; physical drive 0.1 goes forwards M569 P0.2 S1 D2 F3 B2 Y5:3 ; physical drive 0.2 goes forwards M569 P0.0 S1 D3 V50 ; physical drive 0.0 goes forwards M569 P0.3 S1 D2 ; physical drive 0.3 goes forwards ;M915 X Y R0 F0 M584 X0.1 Y0.2 Z0.0 E0.3 ; set drive mapping ;M592 D0.3 A0.01139 B0.00088 ;Set Non-Linear Extrusion M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80 Y80 Z400.00 E400 ; set steps per mm M566 X480 Y480 Z100 E1200 P1 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z1800.00 E12000 ; set maximum speeds (mm/min) M201 X10000 Y10000 Z200.00 E2500 ; set accelerations (mm/s^2) M906 X650 Y650 Z300 E550 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X120 Y120 Z120 S0 ; set axis maxima ; Endstops M574 X2 S3 ;P"^io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !^io3.in M574 Y2 S3 ;P"^io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !^io5.in M574 Z2 S1 P"^io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !^io6.in ; Z-Probe ;M950 S1 C"out6" ; assign GPIO port 1 to out6 (Servo header), servo mode M558 P0 ;P5 K0 C"^io1.in" R0.1 A5 H1 F600:400 T6000 ;G31 X-37 Y-5 Z9.7 M557 X0:120 Y0:120 P3 M671 X60:5:115 Y5:-10:115 P0.5 ; adjusting screws ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 R0.616 K0.698:0.000 D3.15 E1.35 S1.00 B0 V24 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M307 H1 R2.997 K0.563:0.238 D5.72 E1.35 S1.00 B0 V24.1 M143 H1 S300 ; set temperature limit for heater 1 to 300C M308 S2 P"temp2" Y"thermistor" A"Chamber" T100000 M308 S11 Y"drivers" A"Duet stepper drivers" ; Fans M950 F0 C"out3" ;Q250 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 C"Part" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out5" ;Q500 ; create fan 1 on pin out5 and set its frequency M106 P1 S1 H1 T45 C"Hotend" ; set fan 1 value. Thermostatic control is turned on M950 F2 C"out4" M106 P2 C"Filter" S0 H-1 ; Tools M563 P0 S"Main" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined M671 X60:5:115 Y5:-10:115 P0.5 ; adjusting screws ; Miscellaneous T0 ; select first tool M280 P1 S1 M400 M280 P1 S-1 M98 P"/sys/lib/init.g"
; homeall.g ; called to home all axes M84 X Y M400 ; Wait for current moves to finish M569 P0.1 D3 V10 ; X -> B axis reduce V parameter so driver operates in stealthChop M569 P0.2 D3 V10 ; Y -> A axis reduce V parameter so driver operates in stealthChop G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M17 X Y ; Energize Motors X Y M913 X60 Y60 ; drop motor current to 20% G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M915 X S0 R0 F0 H200 ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec M915 Y S2 R0 F0 H200 ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec G4 P200 ; wait 200ms G91 ; set relative G1 H1 Z10 F1500 ; lower Z relative to current position M400 ; Wait for moves to finish G1 H1 X-1 F3000 ; Move X axis back a little bit to clear stall flag if it's triggered G1 H1 Y-1 F3000 ; Move Y axis back a little bit to clear stall flag if it's triggered M400 ; Wait for moves to finish G4 P200 ; wait 200ms G1 H1 X350 F3500 ; [ First Pass ] move quickly to X axis endstop and stop there M400 G1 H1 Y300 F3500 ; [ First Pass ] move quickly to Y axis endstop and stop there M400 ;reset motors M913 X100 Y100 ; return current to 100% M569 P0.1 D2 ; Take driver out of StealthChop Mode M569 P0.2 D2 ; Take driver out of StealthChop Mode ;z home G1 H1 Z300 F800 ; move Z down until the endstop is triggered M400 G1 H2 Z-5 F300 ;back away G1 H1 Z300 F60 ;second pass G4 S1 ; wait 1s G90 G92 Z119.5 ; set Z position to axis minimum M400 ;G1 Z{global.Nozzle_CL} F1500 ; lift Z to nozzle clearance M400 ;M915 X Y R0 ; Disable Logging and lower stall detection
;==================== ; homeX.g ;==================== ; called to home the X axis M84 X M400 ; Wait for current moves to finish M569 P0.1 D3 V10 ; X -> B axis reduce V parameter so driver operates in stealthChop M569 P0.2 D3 V10 ; Y -> A axis reduce V parameter so driver operates in stealthChop G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M17 X ; Energize Motors X Y M913 X60 Y60 ; drop motor current to 20% G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M915 X S0 R0 F0 H200 ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec G4 P200 ; wait 200ms G91 ; set relative G1 H1 Z10 F1500 ; lower Z relative to current position M400 ; Wait for moves to finish G1 H1 X-0.5 F3000 ; Move X axis back a little bit to clear stall flag if it's triggered ;G1 H1 Y-0.5 F3000 ; Move Y axis back a little bit to clear stall flag if it's triggered M400 ; Wait for moves to finish G4 P200 ; wait 200ms G1 H1 X350 F3500 ; [ First Pass ] move quickly to X axis endstop and stop there M400 G1 H2 Z-10 F6000 ; lift Z relative to current position G90 ; absolute positioning M400 ; Wait for current moves to finish M913 X100 Y100 ; return current to 100% M569 P0.1 D2 ; Take driver out of StealthChop Mode M569 P0.2 D2 ; Take driver out of StealthChop Mode
;==================== ; homeY.g ;==================== ; called to home the Y axis M84 Y M400 ; Wait for current moves to finish M569 P0.1 D3 V10 ; X -> B axis reduce V parameter so driver operates in stealthChop M569 P0.2 D3 V10 ; Y -> A axis reduce V parameter so driver operates in stealthChop G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M17 Y ; Energize Motors X Y M913 X60 Y60 ; drop motor current to 20% G4 P200 ; Pause for 200ms to let StealthChop do some sh!t M915 Y S2 R0 F0 H200 ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec G4 P200 ; wait 200ms G91 ; set relative G1 H1 Z10 F1500 ; lower Z relative to current position M400 ; Wait for moves to finish ;G1 H1 X-0.5 F3000 ; Move X axis back a little bit to clear stall flag if it's triggered G1 H1 Y-0.5 F3000 ; Move Y axis back a little bit to clear stall flag if it's triggered M400 ; Wait for moves to finish G4 P200 ; wait 200ms G1 H1 Y350 F3500 ; [ First Pass ] move quickly to X axis endstop and stop there M400 G1 H2 Z-10 F6000 ; lift Z relative to current position G90 ; absolute positioning M400 ; Wait for current moves to finish M913 X100 Y100 ; return current to 100% M569 P0.1 D2 ; Take driver out of StealthChop Mode M569 P0.2 D2 ; Take driver out of StealthChop Mode
-
@Karim you might find it easier to create your home x,y,z macros first a d in home all just call the macros in your home all like below
;homeall.g
M98 P" homex.g"
M98 P" homey.g"
M98 P"homez.g" -
@moth4017 ok really never made a macro.
-
This post is deleted! -
someone beat me to it here is my home.g file
; homeall.g echo "G28 Home all.g " M561 ;clear bed transforms (same as G29 S2) M98 P"/sys/homey.g" ;P define the parameter and is not part of the name M98 P"/sys/homex.g" ;P define the parameter and is not part of the name M98 P"/macros/ProbePickUp" ; probe pick up M98 P"/sys/homez.g" ;P define the parameter and is not part of the name M98 P"/macros/ProbeDropOff" ; probe drop off
-
@moth4017 ok did that now X home then Z home then Y home. Before X Y Z in this way.
-
@Karim im not sure what type of printer you have but you will need to do the homing in the sequence you require.
eg. X Y Z
-
@moth4017 this is a corexy voron O.2 . This is first time setting up sensorless homing. So really don’t know if homing is working right.
-
@Karim do you have sensorless homing working on x and y yet?
-
this is what i have on my duet3 mini5, your need to reconfigure the steppers and current and travel speed for the voron
; homex.g echo "home x stelh chop mode" M569 P0.0 ; Check status in console M569 P0.1 ; Check status in console G91 ; relative positioning M569 P0.0 S1 D3 V10 ; set to stealth chop M569 P0.1 S1 D3 V10 ; set to stealth chop M915 P0.0 S10 F0 R1 H150 ; Configure Z-Axis Stall Detection M915 P0.1 S10 F0 R1 H150 ; Configure Z-Axis Stall Detection echo "stall detection setup" M17 X Y ; Check status in console G1 P140 ;pause to allow the drivers to characterise the motor G1 H1 X-0.2 F3000 ; move a little for cal of sensorless homing / not stalled G1 H1 Y-0.2 F3000 ; move a little for cal of sensorless homing / not stall echo "lower motor current" M913 X30 Y30 ; Lower motor current % G4 P150 ; wait 150ms M574 X1 Y2 S3 ; Configure Z-Axis stall detection homing M569 P0.0 ; Check status in console M569 P0.1 ; Check status in console echo "home x" G1 H1 X-350 F6000 G1 H2 X10 Y10 G1 H1 X-350 F6000 G1 H2 X10 Y10; Home Z-Axis actuators independently M569 P0.0 ; Check status in console M569 P0.1 ; Check status in console G90 ; absolute positioning ;G1 X150 F6000 ; move to center of bed ;revert back echo "after revert back" M915 P0.0 S128 F0 R1 H550 ; Configure Z-Axis Stall Detection M915 P0.1 S128 F0 R1 H550 ; Configure Z-Axis Stall Detection M913 X100 Y100 ; Reset motor current % M569 P0.0 S1 D2 ; reset motors back to spread cycle, M569 P0.1 S1 D2 ; reset motors back to spread cycle, M569 P0.0 ; Check status in console M569 P0.1 ; Check status in console
-
@moth4017 yes I have X & Y it working. But it still need tuning.
-
@Karim Hey guys does belt tension have anything to do with sensorless homing.
-
@Karim I've not found that belt tension makes much difference
-
@moth4017 ok,
I am having Y stall sometime when homing.M915 X S0 R0 F0 H200 ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec M915 Y S2 R0 F0 H200 ; Sensitivity -5 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
So I find changing the S value in Y makes it move. is that the right way of fixing it.
M915 X S0 R0 F0 H200 ; Sensitivity 0 [-64 --> 64], R - take no action, F - No filter, 200steps/sec M915 Y S2 R9 F0 H200 ; Sensitivity 9 [-64 --> 64], R - take no action, F - No filter, 200steps/sec
-
its kind of a balancing act between the motor current , speed and s value ,
it took me quite a while to get them reliable , for some reason i found the tmc2209 and more difficult than others to get reliable
-
@Karim if it tends to stall at the start of the homing move then you probably need to reduce the acceleration of that axis when homing. Recent versions of RRF support command M201.1 for this purpose.
-
@Karim Just following up on if you got it to work, I've got to do the same thing for my v0.1, I'm upgrading to the v0.2 as well.
-
@blt3dp I am still testing, it still random stall when homing.
-
Ok Guys so My XY homes ok, but I have this problem every time the printer first power up and I try to home all Axis, X axis would not move, but I can home X along and it work ok. After I have a successful Home all the problem goes away till power off and on printer the it starts again.
; homeall.g ; called to home all axes M98 P"/sys/homez.g" M98 P"/sys/homex.g" M98 P"/sys/homey.g" G1 F9000 X60 Y60 Z60
-
@Karim hi i had this issue too so i just increased the current a little on the axis that stalled