Duet 3 Mini 5+ sensorless homing configuration
-
Hello everyone
I am currently in the process of setting up the Mini 5+ with a MK3 Bear. So far the basics (heaters, thermistors, axis movements and fans) are working fine and I can successfully use DWC to apply changes to my configs and navigate the printer etc. Thanks for providing such detailed documentation, which made that part very easy!
Where I am currently a bit stuck is the configuration of sensorless homing and stall detection for X and Y. I tried to follow this guide as much as I could: https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#main
I keep crashing the axis on the first pass and so far neither current, nor speed or detection sensitivity changes fixed it. Here is how I have the X axis currently configured:
config.g
homex.g
Is there something obvious I am doing wrong at this stage?
What I found a little confusing in the guide was that it seems to suggest I should configure and test homing first and once that is done, tune stall detection. Now my understanding is though that homing wont work without stall detection. I might have misunderstood the guide here though.
If any other information is needed to help me troubleshoot, just let me know.
I appreciate any input Thanks!
-
you can not have 2 endstops configured for 1 axis .
so your second z endstop config is overwriting, but thats ok as you dont really need the S2 setting
also your have the endstop section twice in your config
you are missing the M569 for 0.4
your speeds maybe a bit low, sensorless homing needs fast speeds.
also very important. unless you are on the newest firmware it wont work.
see
https://github.com/Duet3D/RepRapFirmware/blob/v3-dev/WHATS_NEW_RRF3.md -
@Veti thanks for your reply!
1. Z axis... I peaked at the Caribou3D settings for the Duet2 Wifi and it was configured like that (I assume a) due to the Pinda being responsible for the distance of nozzle to sheet and b) the Z axis crashing into the top end for leveling both sides of the X axis to be parallel to the bed).
So I guess I will remove the second one here for now, thanks!
2. Endstop section... Thanks, no clue how I missed that.
3. M569... thanks! I think the configuration tool did not let me select a second driver for Z and then I forgot this here. So far the axis is moving fine though without it being configured with M569... I will add this now
4. Speed... ok, thank you, I will use higher speed and work my way down from there
5. FW version... I am using the latest so should be fine
I will report back what happens once I applied those changes.
-
@flobler said in Duet 3 Mini 5+ sensorless homing configuration:
So I guess I will remove the second one here for now, thanks!
btw if you want to set up z dual sensorless you need to use S4
see
https://duet3d.dozuki.com/Wiki/Gcode#Section_M574_RepRapFirmware_Num_3 -
@Veti thanks!
I want to use the Pinda to trigger the endstop at the low end though to be able to set the offset from nozzle to bed. So in this case I would want to use S0 here, right?
-
@flobler
no a g30 command is enough, regardless of how you configured the z endstop.the offset is set with the g31 command
its hard to see if you missed the command because you did not post your entire config.
what about the M558 command?
-
Here is the whole config.g.
So are you saying I should remove the "M574 Z1 S2" and rather configure sensorless homing for the high end on the Z-axis with "M574 Z1 S3"? Then I should be able to crash into the top of the Z axis for leveling the X axis parallel to the bed...
The low endstop/offset through the Pinda is entirely handled through G30/G31?
Thanks again Sorry if this is taking me a while...
-
@flobler said in Duet 3 Mini 5+ sensorless homing configuration:
So are you saying I should remove the "M574 Z1 S2" and rather configure sensorless homing for the high end on the Z-axis with "M574 Z1 S3"? Then I should be able to crash into the top of the Z axis for leveling the X axis parallel to the bed...
The low endstop/offset through the Pinda is entirely handled through G30/G31?yes give that a try.
you want to change it to M574 Z2 S4 as you are homing to the max.
delete the M574 Z1 S2 then in the homing script issue a G30 command to determine z=0
-
also check with M122 that you are actually on the latest firmware. with the mini the first update can go wrong.
-
Great, thank you! I also just checked and I am on the latest firmware, thanks for the tip.
I guess figuring out the sensorless homing now will be a bit of trial and error. I will try different speeds now and see if that helps
-
I spent the past couple of hours trying to find the correct values for sensorless homing but got no further.
For this purpose I tried to home X only to see if I could get it home correctly, therefore only adjusted homex.g
General:
Values I adjusted in homex.g throughout my tests:
- M913 (range of adjustment 30-80%)
- M915 S value (range of adjustment 1-3)
- G1 F value (range from 4000-10000)
Procedure:
- Set values and upload homex.g
- Move X 100mm away from home point
- Try Homing
- Stop
How I changed values:
a) Start with
- M915 S3
- G1 F10000
- M913 X80 Y 80
b) Adjust M915 to S2 and S1, try homing for each value
c) Lower G1 F by 1000
d) Repeat b)-c) until G1 F4000 is reached
e) Lower M913 by 10
f) Repeat b)-e) until M913 X30 Y30 is reached
g) End with
- M915 S1
- G1 F4000
- M913 X30 Y30
I hope this makes sense... So far all of those tests gave me a crash.
Are my jumps on the values too big? Is there something else I am forgetting with those tests?
-
i havnt gotten around to testing sensorless homing on the mini 5
i think you are the first person to try. -
i just tried with the highest sensitivity and could not get the sensorless homing to trigger.
@dc42 any suggestions?
-
The critical point in the doc on stall detection for the Duet 3 Mini is this:
Additionally, the TMC2209 stepper driver used in Duet 3 Mini 5+ (and Duet 3 Tool board TOOL1LC once stallGuard is implemented in firmware), features stallGuard 4. This is optimised for operation with stealthChop, while its predecessor stallGuard 2 (TMC5160 and TMC2260) works with spreadCycle. You will need to adjust the speed at which stealthChop changes over to spreadCycle. This is set by M569 V parameter. The default is 2000.
You will need to reduce the V parameter (at least during homing) so that at the speed of the homing move, the driver is operating in stealthChop mode. By default it is only in stealthChop mode at very low speeds, too low for homing moves. See the M569 command.
-
my steppers are running in stealhchop with up to 120mm/sec, still it would not trigger
-
Confirm you are using firmware 3.2RC2 ?
What does M569 P# report, for values of # corresponding to the drivers for the axes you are trying to home?
-
@flobler
can you also with stealthchop.@dc42 i configured back, and running a print, but these are the settings that i am running all the time
30/12/2020, 20:19:44 M569 P0
Drive 0 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 30 (125.0 mm/sec), pwmScaleSum 222, pwmScaleAuto 27, pwmOfsAuto 64, pwmGradAuto 22, pos 584Drive 1 runs forwards, active low enable, timing fast, mode stealthChop, ccr 0x00053, toff 3, tblank 0, tpwmthrs 30 (125.0 mm/sec), pwmScaleSum 73, pwmScaleAuto 0, pwmOfsAuto 57, pwmGradAuto 19, pos 611
-
Please post your config.g file again, because the M569 commands in the one you posted earlier do not maintain stealthChop mode up to 120mm/sec.
-
we've had good success with sensorless homing on the LPC port using
D3 V40
after each M569 for the axis being homed.
we typically suggest runningM915 P0 S-63 H10 R1 ; Set very sensitive stall detect M574 X1 S3 ; configure endstop for stall detection G1 X200 H1 ; Should stall pretty much immediately
to ensure that everything is working correctly. You can then tweak as required to work on your system
-
@dc42 that was me who posted the config
I can confirm that I am running 3.2RC2. I will reduce the V parameter and try again. I will report back.
Thanks for the help!