Unable to get sensorless homing working....
-
Anyway good luck!
That did the trick.
For reference: I changed the config to a bare minimum, and yes, I saw the pauses and the M400 from your config example. I decided not to test with them because all of the timeouts are lower than I need to write or copy and paste the code to the telnet session.
I got it working now with V40 at the M569:
M569 P0.2 S1 D3 V40 M569 P0.1 S0 D3 V40 M201 X1000 Y1000 M913 X60 Y60 M566 X0 Y0 M201.1 X1000 Y1000 M915 P1:2 S-20 R0 H200
That is not very much tuned but it is "working" now and the toolhead stops where it is supposed to stop. I think that I have underestimated the impact of the V parameter at M569.
I should spend a bit more time in finding the "optimal" settings for the speed etc but this should be a peace of a cake since I have a working setup now. It was frustrating to turn the screws and did not get anything to work, this is over now luckily and I can start with the tuning and the polishing.
.Thanks for your technically and mentally support.
Cheers, Chriss
-
@gloomyandy Let me ask me one more question please.....
I came a step further but there is still a strange behaviour.
This is my curernt homex.g:
M915 P1:2 S64 R0 H200 ; Reduce stall detection sensitivity M98 P"/macros/print_scripts/xy_current_low.g" ; Lower AB currents G91 ; relative positioning M400 ; Wait for all moves to stop G1 H2 X0.01 ;Z0.01 ; Move X a small amount to enable M400 ; Wait for all moves to stop G4 P200 ; Delay to allow TMC to detect stopped state G1 H1 X-20 F8000 ; Back away from endstop M400 ; Wait for all moves to stop M915 P1:2 S-20 R0 H200 ; Configure motor stall detection G4 P200 ; Delay to ensure settings are made G1 H4 X260 F8000 ; Move towards endstop until it stalls M400 ; Wait for all moves to stop
It works so far that the motor stops when it hits the physical end and the axis is homed after that execution in 90% of the cases. But the X position is totally random after that, sometimes it is 372, the next time 273,1 etc.
I do not understand how that can happen, my config.g is clear here:
; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X249 Y257 S0 ; set axis maxima
I still play with a minimal config.g for now
; Hardware: Duet Mini 5+ ; Toolboard 1.1 LC ; PalenlDue 7" PanelDueFirmware-logo-3.5.0-rc8-7.0i.bin ; Stepper XY = LDO 0,9° 2Amax LDO-42STH40-2004MAC ; Stepper Z = LDO 1,8° 2Amax LDO-42STH48-2004AC ; Stepper E = LDO 1,8 1Amax LDO-42STH20-1004ASH ; Enable network if {network.interfaces[0].type = "ethernet"} M552 P0.0.0.0 S1 else M552 S1 ; Network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet M98 P"/sys/variables.g" ; Source the varaibles files G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"v2" ; set printer name M669 K1 ; 1=select CoreXY mode 0=Cadasian G4 S1 ; wait 1s for expansion boards to start ;;; Drives ;X M569 P0.2 S1 D3 V10 ; physical drive 0.2 goes forward M584 X0.2 ; Map the stepper to X ;Y M569 P0.1 S0 D3 V10 ; physical drive 0.1 goes backward M584 Y0.1 ; Map the stepper to Y ; Stepper settings M350 X16 Y16 I1 ; configure microstepping with interpolation M92 X160 Y160 ; set steps per mm (800 from manuall, measured 823 M98 P"/macros/print_scripts/speed_printing.g" ; Accelerations and speed M906 X1400 Y1400 I30 ; set motor currents (mA) and motor idle factor in per cent (E stepper max 1A) M201.1 X1000 Y1000 ; Set reduced acceleration for special move types M84 S120 ; Idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X249 Y257 S0 ; set axis maxima ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Endstops -- Display status with: M119 ; Old endstops with HAL sensors ;M574 Y2 S1 P"0.io5.in" ; Y ;M574 X2 S1 P"!0.io6.in" ; X ; Stall detection M574 Y2 S3 ; Y Sensorless M574 X2 S3 ; X Sensorless ;M915 P1:2 S-20 R0 H200 ; Configure motor stall detection M915 P1:2 S-20 R0 H200 ; Configure motor stall detection
Should I change the home behaviour to home at 0 and not on max anymore? Would that make any difference?
Cheers, Chriss
-
@gloomyandy
Forget it..... I just found that in the docu:sets the X and Y endstops to sensorless homing at the axes low end. This is required.
Cheers, Chriss
-
@Chriss Actually I think your problem is this line:
G1 H4 X260 F8000
You are using a H4 move you need to be using a H1 move. See: https://docs.duet3d.com/User_manual/Reference/Gcodes#g0g1-h-and-s-parameter
Oh and where was the line you quoted in the documentation?
-
@gloomyandy True.. you are right... two mistakes... the G1 and the endstops at the wrong side.
Is that not true anymore?
Cheers, Chriss
-
@Chriss Honestly I'm not sure, that statement in the docs is a little ambiguous and I can't think of any reason why stall detection would only work on the low end. Having said that I've never used it on the high end. Try it and see if it works.
-
@gloomyandy
I tried it all the time with the high end and we know now that it is working after the parameter "nightmare". Maybe something for @droftarts ? I will play a bit more with x at the low end for now. I would like to have Y on the high end for optical reasons. Let's see how it works there than.Cheers, Chriss
-
-
-
@droftarts I will do. Let's wait what David will tell us.
-
-
@droftarts I can tell you that it is working on the high end. My problem came from the G1 H4 instead of using G1 H1.
-
@gloomyandy i use high end sensorless homing ok. i use Y high , x low
-
@Chriss the sentence is "For example, M574 X1 S2 and M574 Y1 S3 sets the X and Y endstops to sensorless homing at the axes low end". It's an example. However, it's unclear to me what the following sentence "This is required." refers to, or why it's there at all.
-
@dc42 It was in the dozuki page, seems to refer to it being a requirement to set M574 to S3, now I reread it. Not that sensorless homing has to be at the low end. I'll edit the text to make that clear.
Ian
-
I think that the "This is required" reveres to the part 'Change your endstop type to "sensorless" in config.g. T' when I read now slowly through it. Anyway, it is a bit misleading, at least for none native speakers and I would remove it.
And the next step is not 100% correct in my opinion, it says: ". Do not press "yes" for restart. There are other changes that must still be made."
Yes, other changes are required, but none oof them are in the config.g and can be done without a reboot or a reread of the config.g.Cheers, Chriss
-
@Chriss I've changed the wording on those steps. As it's all required, I took out the 'required'! Also made it clear sensorless homing can be either end of the axis, and that a restart is optional at that point.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Sensors_stall_detection#configuring-sensorless-homingIan
-
@droftarts Thanks a lot... it looks much better now. At least to me.