[3.4b3] Homing coupler does not work correctly
-
@greenlee @Diamondback please check that the direction has not been changed like this:
- Reboot
- Send M569 P# where # is the driver number that the coupler is connected to and record the response, in particular the forwards/backwards direction
- Home the printer
- Send M569 P# again and check that the direction hasn't changed/
-
@dc42 said in [3.4b3] Homing coupler does not work correctly:
@greenlee @Diamondback please check that the direction has not been changed like this:
- Reboot
- Send M569 P# where # is the driver number that the coupler is connected to and record the response, in particular the forwards/backwards direction
- Home the printer
- Send M569 P# again and check that the direction hasn't changed/
The older line is right after booting, the later line is after homing.
Btw, it's not just turning in the wrong direction, it's also turning way less than being asked for (in addition to the wrong direction)(Above is with beta4)
-
@dc42 For what it's worth, my coupler is the only stepper using a different direction...
-
@diamondback please test the C motor using the following commands:
G91
G1 H2 C500
G1 H2 C-500Repeat the last two as necessary and check that the direction is different for the two commands. Obviously the initial move command one won't work if the coupler is against the stop and can't move in the commanded direction.
The other thing that may be changing between the first homing and subsequent homings is the motor current. Send M906 and M913 without parameters to check the current setting.
-
@dc42 said in [3.4b3+] Homing coupler does not work correctly:
@diamondback please test the C motor using the following commands:
G91
G1 H2 C500
G1 H2 C-500Repeat the last two as necessary and check that the direction is different for the two commands. Obviously the initial move command one won't work if the coupler is against the stop and can't move in the commanded direction.
The other thing that may be changing between the first homing and subsequent homings is the motor current. Send M906 and M913 without parameters to check the current setting.
The H2 move seems to work correctly, it correctly switches movement direction based on the sign.
Checking the motor current seems to not show anything wrong, they all report the same (and expected) values before and after homing failure.
-
I had a similar problem after updating from 3.3 to 3.4rc4.
This is what I ended up with, for reliable operation. It probably has excess M400s and other bits could be tweaked somewhat, but it works..
The G91/G90 messed things up, but the negative move also seemed to be a problem.
; homec.g ; called to home the C axis (coupler) ; ;G91 M400 G92 C499 M400 M913 C60 ; MOTOR TO 60% CURRENT G1 H1 C0 F2000 ; M400 G92 C0 ;G90 M913 C100 ;MOTOR TO 100% CURRENT G1 C0 F10000 ;Open Coupler M98 P"/macros/Coupler - Unlock"
-
@diamondback were you able to fix this having the same problem
-
This is what I have in my home couple script on a toolchanger running 3.3b5 (pre release)
; homec.g ; called to home the C axis (coupler) ;crashc G92 C350 M913 C40 ; C MOTOR TO 40% CURRENT G1 C-350 F5000 M913 C100 ; C MOTOR TO 100% CURRENT G1 C1 F5000 G92 C0 ;Open Coupler M98 P"/macros/Coupler - Unlock"
It worked on previous betas that I tested with this machine (not all were tested with this machine though).
If you are having issues and the steps outlined above don't help, can you confirm if the coupler works with 3.3?
-
@rpoltera said in [3.4b3+] Homing coupler does not work correctly:
@diamondback were you able to fix this having the same problem
No, the behavior is still the very same (3.3 works, 3.4 doesn't).
I did not have time yet to look into the ideas posted by @rjenkinsgb -
@diamondback this is what I have in homec.g:
; homec.g ; called to home the C axis (coupler) G91 M400 M913 C60 ; XY MOTORS TO 60% CURRENT G1 H2 C-1000 F10000 G92 C-125 G90 M913 C100 ; XY MOTORS TO 100% CURRENT G1 C0 F10000 ;Open Coupler M98 P"/macros/Coupler - Unlock"
-
@dc42 Mine looks like this:
; homec.g ; called to home the C axis (coupler) if sensors.gpIn[0].value = 0 || sensors.gpIn[1].value = 0 || sensors.gpIn[2].value = 0 || sensors.gpIn[3].value = 0 M291 S1 T5 P"Please return tool to dock before homing coupler" R"Can't home coupler" abort G91 M400 M913 C60 ; C MOTOR TO 60% CURRENT G1 H2 C-300 F10000 G92 C0 G90 M400 M913 C100 ; C MOTORS TO 100% CURRENT M98 P"/macros/Toolchanging/Coupler - Unlock" ; open coupler
You mentioned that you saw a couple of failed homes on your TC as well, what happened to that?
-
@dc42 Further info: It seems that if I home Z before C, it works correctly as it did with 3.3. So basically I home C last now and so far, that worked every time.
-
@dc42 Hm I'm starting to think that my issue might be related to this thread: https://forum.duet3d.com/topic/25647/3-4b4-and-3-4b5-issue-with-sensorless-homing
If my initial home move command aborted immediately because sensorless homing triggered, the whole behavior makes sense.
I looked at my config and sure enough, C is halfway configured with sensorless homing there:M574 C1 S3 ; Stall detect coupler at low end of its range ;Stall Detection ;M915 C S6 F0 H200 R0 ; Coupler
(more or less copied from your toolchanger config on github)
I'm not actually using stall detection, but just ram the coupler against its hard stop for some time as recommended.
Thoughts?
-
@diamondback try commenting out the M574 command for C, I also use the "ram the coupler against the hard stop" method on my tool changer. I set the current lower in my home C file during homing and then increase it back up at the end because I want to use more current when coupling the tools than when homing.
-
@t3p3tony Hm, no luck Still the same broken behavior with no M574 command for C. Maybe there is some default that applies instead?
-
@diamondback what does sending:
M574
With no arguments report?
Also try sending
G1 H2 C-300 F10000
And
G1 H2 C300 F10000
From the console
-
@t3p3tony said in [3.4b3+] Homing coupler does not work correctly:
M574
It reports nothing for C when nothing is set, so that's good.
M574 Endstop configuration: X: high end switch connected to pin xstop Y: low end switch connected to pin ystop Z: none C: none
The G1 commands also work on their own, it's literally just within the homeall file where things go south...
-
@diamondback I am having problems homing the coupler on my TC right now, which I am investigating.
-
@diamondback please can you try adding parameter R0 to the M584 command that creates the C axis, and reboot.
I am still investigating, however last time I had this problem, it disappeared when I rebooted the controller. So I don't want to do anything that needs a reset, such as trying this M584 change myself.
-
@dc42 Didn't change anything, with R0 it still homes incorrectly.