Duet3D failed sensorless homing in spreadCycle
-
I am trying to home a Nema 8 motor that is coupled with a leadscrew however I am unable to get the sensorless homing to work at all as it is always in Spreadcycle mode even when I use M569 V10. I'm using the latest duet3d version for the firmware and I am using a Duet3 5+ mini. I have attached my code below:
config.g
; 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.16 on Tue Mar 21 2023 12:36:27 GMT-0500 (Central Daylight Time) ; Networking M552 S1 ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name ; 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 M584 X0.0 Y0.1 Z0.2 ; set drive mapping ;M350 X4 Y4 Z4 I1 ; configure microstepping with interpolation M92 X95 Y95 Z1.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 ; set maximum instantaneous speed changes (mm/min) M203 X5000 Y5000 Z60.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z1.00 ; set accelerations (mm/s^2) M906 X600 Y600 Z300 I30 ; 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 X55 Y84 Z30 S0 ; set axis maxima ; Endstops M574 X2 S3 ; configure sensorless endstop for high end on X M574 Y1 S3 ; configure sensorless endstop for low end on Y ; Z-Probe M558 P0 H5 F120 T3000 ; disable Z probe but set dive height, probe speed and travel speed ;M557 X0:0 Y0:0 S1 ; define mesh grid ; Heaters M140 H-1 ; disable heated bed (overrides default heater mapping) ; Fans ; Tools ; Custom settings are not defined M915 X Y S-8 F0 R0 ; S: Stall detection threshold; recommended values -10 to +63 / F: Filter Mode: 0 = unfiltered, every full step
homex.g
; homex.g ; called to home the X axis M569 P0.0 V10 ; make sure x-drive stays in stealthChop Mode G91 ; relative positioning ;G1 H2 Z5 F1800 ; lift Z relative to current position ;stealthChop calibration G1 H1 X0.5 F1000 ; move 2 micro steps away from endstop G4 P200 ; wait 100ms G1 H1 X5 F1000 ; move 5mm away from homing direction M569 P0; G4 P200 ; wait 100ms M400 ; wait for all moves to finish M913 X50 ; set current of x-stepper to 50% ;Homing move G1 H1 X200 F3000 ; move quickly to X axis endstop and stop there (first pass) G90 ; absolute positioning ; set standard settings M913 X100 ; set current of x-stepper to 100% M569 P0.0 V2000 ; stealthChop Mode only for slow moves M18;
Console printout for M569 P0 while homing:
Drive 0 runs forwards, active low enable, timing fast, mode spreadCycle, ccr 0x00053, toff 3, tblank 0, hstart/hend/hdec 5/0/0, pos 516
Does anybody know what is going on here and/or how I would be able to fix it?
I have provided a link to the motor I am using: https://www.adafruit.com/product/4411
-
hi here is my home file for my duet3 mini 5, core x y printer, as you have small nema motors you may need to turn up the sensativiaty and maybe more current than you expect .
; 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 M201.1 X300 Y300 echo "stall detection setup" M17 X Y ; Check status in console G1 P140 ;pause to allow the drivers to characterise the motor G1 H2 X-1 F3000 ; move a little for cal of sensorless homing / not stalled G1 H2 Y-1 F3000 ; move a little for cal of sensorless homing / not stalle echo "lower motor current" M913 X50 Y50 ; 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 X30 Y30; 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 M201.1 X1000 Y1000
-
@moth4017 The issue is that it does not go into stealthChop mode despite the M569 line of code
-
@osli you need to add
D3
to the M569
see https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m569-set-motor-driver-direction-enable-polarity-mode-and-step-pulse-timing -
@jay_s_uk Thanks I fixed that but with sensitivity set to both -128 and -64, I get no triggers in the console when I have R1 included in the M915 command?
-
@osli I think the R value only applies when using stall detection during a print rather than during sensorless homing. I may be wrong though
-
@osli Hi,I did the same operation recently, please try to improve your homing speed over 3600, if it helps.
-
@coolj Did you do it with a nema 8? Please could you provide your code?
-
@osli It only detects and alerts you when printing and not when you send G28 from console , I don't know why. I'm using a motor that I found in my trash. It's probably a little bigger than yours