Sensorless Homing problems on Duet 3 Mini 5+
-
Hello, I have been working on a Prusa MK3S upgrade based on the open5x repository on github, but I am having problems with sensorless homing of xyz axes. The difference to the repository is that I am using Duet 3 Mini 5+ board. I tried a number of different parameter combinations, but I cannot get it work. The motor hits the edge and just keeps on going, it doesn't recognize the edge of the printer. I tried changing current, speed, sensitivity, acceleration, jerk, the StealthChop settings. Where can I find some additional guidance regarding the parameters which enable sensorless homing?
-
@emi100 you probably need to put the drivers in stealthchop mode with M569 PX D3.
best post your firmware version, config file and homing files -
@emi100 See https://docs.duet3d.com/en/User_manual/Connecting_hardware/Sensors_stall_detection
Please post your config.g and homeall.g.Are your stepper motors 0.9° or 1.8°? If 0.9 (400 full steps per revolution), see the M915 H parameter: https://docs.duet3d.com/en/User_manual/Connecting_hardware/Sensors_stall_detection#minimum-recommended-speed-for-stall-detection
Ian
-
@emi100 to get sensorless homing working on TMC2209 drivers (as used on the Mini5+) you need t get several things right:
- Configure the driver and select the speed of the homing move so that stall detection is possible. In particular you need to put the driver in stealthChop mode and enable stealthChop at the speed of the homing move, These are not the recommended settings for use when printing or the default settings, so you would normally do this near the start of the homing file concerned and revert the settings at the end.
- Configure RRF to use sensorless homing.
- Find a combination of motor current percentage during homing, homing move speed, homing move acceleration and stall sensitivity that detects the homing position reliably.
To make #1 easier, in RRF 3.6beta4 before executing the homing move, RRF checks whether stall detection is possible and reports an error (which includes the reason) if it is not. So you may wish to upgrade to RRF 3.6beta4. After getting sensorless homing working, you can revert to firmware 3.5.4 if you wish because the same parameters should work.
-
Hello,
I have tried updating to beta version, but I get a warning about incompatibility. About the stealthchop mode, I put the settings in config. Wouldn't changing driver settings at the beginning and end of home files require restarting?
These are my files.
config:; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"open5x" ; set hostname ; Kinematics M669 K0 ; configure Cartesian kinematics ; Network M552 P0.0.0.0 S1 ; configure Ethernet adapter M586 P0 S1 ; configure HTTP ; Smart Drivers M569 P0.0 S0 D3 V2000 M569 P0.1 S0 D3 V2000 M569 P0.2 S0 D3 V2000 M569 P0.3 S0 D3 V2000 M569 P0.4 S1 D3 V2000 M569 P0.5 S0 D3 V2000 M569 P0.6 S0 D3 V2000 ; Motor Idle Current Reduction M906 I30 M84 S30 ; Axes M584 X0.0 Y0.1 Z0.2:0.3 E0.4 A0.5 B0.6 M350 X16 Y16 Z16 E32 A16 B16 I1 M906 X620.00 Y620.00 Z560.00 E700.00 A1300.00 B1300.00 I10 M92 X100.00 Y100.00 Z400.00 E280.00 M92 A26.667 M92 B35.556 M566 X240.00 Y240.00 Z12.00 E270.00 A480.00 B480.00 P1 M203 X12000.00 Y12000.00 Z750.00 E1500.00 A5000.00 B12000.00 M201 X1000.00 Y1000.00 Z1000.00 E1000.00 A1000.00 B1000.00 M208 X0:250 Y-92.3:50 Z-125:1 A-200:200 B-12000:12000 M564 H0 ; Endstops M574 X1 S3 M574 Y1 S3 M574 Z1 S3 M915 X S3 F0 H200 R1 M915 Y S3 F0 H200 R1 M915 Z S3 F0 H200 R1 ; Z-Probe (manual) M558 P0 H15 F120 T6000 M140 H-1 ; Disable heated bed ; Filament Sensor Port and Loading Feature ON M950 J1 C"io1.in" M581 P1 T2 S0 R0 ; HotEnd Heaters and Thermistor HotEnd M308 S1 P"temp2" Y"thermistor" T100000 B4725 R4700 M950 H1 C"out1" T1 M307 H1 A306.9 C115.4 D4.0 V23.8 B0 M143 H1 S285 M302 S185 R185 ; Fans M950 F1 C"io2.out" Q250 M106 P1 T85 S0 H1 M950 F0 C"io3.out" Q250 M106 P0 S0 H-1 ; Tools M563 P0 D0 H1 F0 G10 P0 X0 Y0 Z0 G10 P0 R0 S0
homeall:
M915 X S10 F0 H200 R1 M915 Y S10 F0 H200 R1 M913 X50 Y50 Z50 G91 ;relative G1 H2 Z10 F800 ;move Z up G1 H1 X-255 F2400 ;move X to endstop G1 H1 Y-215 F2400 ;move Y to endstop G1 H1 Z205 F1800 ;move Z to endstop G90 ;absolute M913 X100 Y100 Z100 ;restore M915 X S3 F0 H200 R1 M915 Y S3 F0 H200 R1
-
@emi100 you probably have only updated the firmware on the board and not DWC which is why you get messages about incompatibility.
You don't need to restart anything when making changes to homing files etc as they are only read when they are commanded to -
That is right about the firmware, I corrected that. I tried testing the new version, just moving the motors around a little bit through the console with G1 command, and homing X axis alone. The error messages report that the moves are either too slow, or too fast for driver x to detect stall ( full error text: Error: G1: move is too slow for driver 0 to detect stall (increase speed or Tcoolthrs , or Error: G1: move is too fast for driver 0 to detect stall (reduce speed or Tpwmthrs) ). For example, I get too slow for feed rate 2000, but too fast for just a slight change such as 2100.
-
@emi100 to avoid the "too fast" error you need to reduce the Tpwmthrs value as suggested by the error message. This parameter is controlled by the V parameter of the M569 command. If you send command M569 P# where # is the driver number then it will report the existing value and the speed that it corresponds to.