Duet 3 mini 5+ Wifi sensorless homing help
-
I am in the process of building a new printer and decided to try a Duet with sensorless homing. Most of the printer is not setup yet as I can't get past the homing of x and y yet.
The printer is a custom built corexy, nothing fancy. I have been just trying to get the printer to home in the x direction and then will move on to other things.
The axis will move the correct direction and hit the stop, but doesn't stop.
Here is my config files:
Configuration file for Duet 3 Mini 5+ (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Jul 31 2021 22:33:01 GMT-0600 (Mountain Daylight Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"123" ; set printer name
M669 K1 ; select CoreXY mode; Network
M552 S1 ; Enable network; Drives
M569 P0.0 S1 ; physical drive 0.0 goes forwards
M569 P0.1 S1 ; physical drive 0.1 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S1 ; physical drive 0.3 goes forwards
M569 P0.4 S1 ; physical drive 0.4 goes forwards
M584 X0.1 Y0.2 Z0.3:4 E0.0 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm
M566 X400.00 Y400.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X350 Y350 Z450 E350 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout;Sensorless homing
M574 X1 S3 ;sets the X axis to low position, and the S value to mutliple motor load detection
M574 Y1 S3 ;sets the Y axis to low position, and the S value to mutliple motor load detection
M574 Z2 S1 ;sets the endstops to sensorless homing
M915 X Y R0 F0 S-5 H56 ;main command need for sensorless homing; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X285 Y310 Z300 S0 ; set axis maxima; Endstops
; WARNING: No endstops configured; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid; Heaters
M308 S0 P"temp1" Y"pt1000" R2200 ; configure sensor 0 as PT1000 on pin temp1
M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0
M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M308 S1 P"temp0" Y"pt1000" R2200 ; configure sensor 1 as PT1000 on pin temp0
M950 H1 C"out0" T1 ; create nozzle heater output on out0 and map it to sensor 1
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S300 ; set temperature limit for heater 1 to 300C; Fans
M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on; Tools
M563 P0 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
M575 P1 S1 B57600 ;defines the Panel DueHere is my homex file:
; homex.g
; called to home the X axis
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Jul 31 2021 22:33:01 GMT-0600 (Mountain Daylight Time)
M400
M913 X60 Y60 ; drop motor current to 70%
G91 ; relative positioning
;G1 H2 Z10 F12000 ; lift Z relative to current position
G1 H1 X-320.5 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F2000 ; go back a few mm
G1 H1 X-320.5 F1200 ; move slowly to X axis endstop once more (second pass)
G1 H2 Z-10 F6000 ; lower Z again
G90 ; absolute positioning
M400
M913 X100 Y100 ; return current to 100%
M400I have tuned the H value for M915:
Steppers: https://www.amazon.com/Usongshine-Nema17-Stepper-17HS4401S-Printer/dp/B07KW7F3P9/ref=sr_1_3?dchild=1&keywords=usongshine&qid=1628307329&sr=8-3
(200 * 1.5 *.35)/(sqrt(2) * Pi * .45) = 58 (config shows a little lower as I was adjusting it to test)Running the M574 command it shows that it is in motor stall mode:
8/6/2021, 9:48:02 PM M574
Endstop configuration:
X: low end motor stall (any motor)
Y: low end motor stall (any motor)
Z: noneSteps I have tried:
- Started with tuning the M906 current up and down until the motors moved smoothly but was under the recommended 500mA.
- Added the M574 and M915 commands in the config.g files.
- Adjusted the M913 command in the homex to a value that the motors would move smoothly.(Anything under 50% and the motors would not move.)
- I have tried changing the H value from the 200 to 30
- I have adjusted the F value within the homex file from F100 to F5000 with no change. I have adjust the S value from -10 to 25 with no change.
I'm about to just give up and install endstops.
-
@casperen which firmware version are you using? There was a bug with sensorless homing on the Duet 3 Mini, which was fixed in release 3.3.
-
@dc42 I am using the stable version of 3.3. I even redownloaded it this morning and tried to reapply it from the web browser.
-
@casperen For sensorless homing to work with a TMC2209 you need to have it running in stealthchop mode. At the moment your M569 configuration will have it switching out of stealthchop and into spreadcycle at a relatively low speed. You can find out what speed it will switch by sending M569 P# (replace # with the driver id). You can adjust this switch over point using the V parameter. If you use something like V40 it will stay in stealthchop mode pretty much all of the time. I'd also suggest adding D3 to the M569 lines just to make it clear that you are using stealthchop. So something like:
M569 P0.0 S1 D2 V40
If you don't want to leave the drivers in stealthchop mode all of the time you can add further M569 commands after you have completed the home operations. -
@gloomyandy said in Duet 3 mini 5+ Wifi sensorless homing help:
D2 V40
I tried adding the D2 V40 to the M569 for the X and Y drivers. I did not help, the problem persists.
I did notice that the motors are now making noise while the printer is idle. I'm assuming this is a side affect of the stealthchop mode?
-
@casperen Sorry that was a typo it should be D3 not D2 (I got it right the first time!).
-
@gloomyandy The tip to add D3 V40 has made thing somewhat better. Going to work thru the other settings again.
I will post the config file once I have things working.
-
@casperen Did you get things working?
I'm now stuggling with the same issue on my CoreXY.; Drives M569 P0.0 S1 D3 V40 ; physical drive 0.0 goes forwards M569 P0.1 S1 D3 V40 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S0 ; physical drive 0.3 goes backwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z3200.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z60.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z600 E800 I20 ; 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 X310 Y310 Z280 S0 ; set axis maxima ; 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 Y S-30 H200 R0 ; sensitivity of sensorless homing
This does nothing for me. Is the sensitivity too low? Tried it all over the place, from -50 to +50. Same with H (50 - 700) values and V (0 - 2000) values on M569
I'm on firmware, 3.4.1
@Phaedrux @dc42I cannot for the life of me get this to work. Whole point of getting this board was sensorless homing on XY
Changing the parameters seems completely random. Sometimes it will give false positives at same parameters as when it didn't and vice versa.23rd edit: I'm getting closer. X now homes, reponds to stall, moves back 5mm, but then starts crashing becuase the second pass is too slow(?)
So it seems they need more speed than F1800 which was generated by the RRF firmware generator. I seem to be closing in on it working now. What a ride.
I got X and Y working with this:
; Drives M569 P0.0 S1 D3 V40 ; physical drive 0.0 goes forwards M569 P0.1 S1 D3 V40 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z3200.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z450.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z600 E800 I20 ; 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 X310 Y310 Z320 S0 ; set axis maxima ; 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 S30 H140 R0 ; sensitivity of X and Y sensorless homing, R2 = pause print M915 Y S30 H140 R0 ; sensitivity of X and Y sensorless homing, R2 = pause print
homex
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 16 2022 00:07:15 GMT+0200 (Central European Summer Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-350 F3000 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 H1 X-15 F1800 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
homey
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sat Jul 16 2022 00:07:16 GMT+0200 (Central European Summer Time) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 Y-350 F3000 ; move quickly to Y axis endstop and stop there (first pass) G1 H1 Y10 F6000 ; go back a few mm G1 H1 Y-15 F1800 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
still working on homez and homeall, cannot get my prusa clone probe to work. It won't recognize it as a z-stop. The red light is always on, but does respond to metal below it. It does not show up in my DWC either. M119 says:
M119 Endstops - X: not stopped, Y: not stopped, Z: no endstop, Z probe: at min stop
config file:
; 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.10 on Sat Jul 16 2022 00:07:15 GMT+0200 (Central European Summer Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"SK-Go2" ; set printer name M669 K1 ; select CoreXY mode M918 P1 E4 F2000000 ; configure direct-connect display ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 D3 V40 ; physical drive 0.0 goes forwards M569 P0.1 S1 D3 V40 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z3200.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z450.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X900 Y900 Z600 E800 I10 ; 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 X310 Y310 Z320 S0 ; set axis maxima ; 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 S30 H140 R0 ; sensitivity of X and Y sensorless homing, R2 = pause print M915 Y S30 H140 R0 ; sensitivity of X and Y sensorless homing, R2 = pause print ; Z-Probe M574 Z1 S2 P"io3.in" ; configure Z-probe endstop for low end on Z M558 P5 C"zstop" I1 H30 F600 T12000 A1 ; set Z probe type as filtered digital (P5), dive height to 30. G31 P500 X-23 Y14 Z0.9 ; set Z probe trigger value, offset and trigger height M557 X20:285 Y20:290 S44.16:45 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 ; 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 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit 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 B3950 ; 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 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F1 C"out6" Q500 ; create fan 1 on pin out6 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on M308 S10 Y"mcu-temp" A"MCU" ; MCU temp on temp sensor 10 M950 F0 C"out5" ; create fan 1 on pin out6 and set its frequency M106 P0 S100 H10 T30 ; set fan 1 value. Virtual thermostatic control is turned on, turn on and off M912 P0 S-1.2 ; MCU temperature calibration ; Tools M563 P0 S"Volcano" 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 ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
I tried switching the +5v and GND cables. Didn't work, so switched it back. Now it's suddenly working. What an adventure it is to build 3d printers.
-
@velvia Unfortunately I went a different direction and abandoned the sensor less homing.
-
@casperen I got it working eventually.
-
@velvia said in Duet 3 mini 5+ Wifi sensorless homing help:
@casperen I got it working eventually.
What did you end up changing?