SKR 1.4 turbo TMC2209 - Y and Y2 not moving in sync/same rate

Hi,

I’m having trouble with the Y2 axis connected to E1M ports on my SKR 1.4 turbo card not moving at the same rate as the Y axis connected to tye YM port.

I’m using the same setup and firmware supplied by @Spinne for MPCNC-with-SKR-1.4-Turbo-2209-TMC-Stepper-DualEndstop with the addition of a TFT35-E3 v3.0.


Picture of my setup (I have only attached the Y axis for this test) and 10mm movement of Y axis swapping the ports on the card. E1M moves around 120 degrees, while MY moves 270.

I’m feeling a bit lost, have anyone encountered this? or know of a possible solution?

Thanks!

Hi Crow Jay, thx for using my version :slight_smile:
did you used the already complied version or did you complied by yourself?

If so, can you check if in file configuration_adv.h the values Y_MICROSTEPS are still at 16?

Hey! Thanks for creating it.

I compiled it myself, only change i made was to the #define SERIAL_PORT and added the
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER while removing
//#define REPRAP_DISCOUNT_SMART_CONTROLLER.

I have forked your code.

Y_MICROSTEPS are still at 16.

Can you check the values with M122? I think it prints what they are configured for.

M122
X X2 Y Y2 Z
Address 0 0 0 0 0
Enabled false false false false false
Set current 1400 1400 1400 1400 1400
RMS current 1381 1381 1381 1381 1381
MAX current 1947 1947 1947 1947 1947
Run current 24/31 24/31 24/31 24/31 24/31
Hold current 12/31 12/31 12/31 12/31 12/31
CS actual 12/31 12/31 0/31 12/31 12/31
PWM scale 14 14 0 14 14
vsense 0=.325 0=.325 0=.325 0=.325 0=.325
stealthChop true true false true true
msteps 16 16 256 16 16
tstep max max 0 max max
PWM thresh.
[mm/s]
OT prewarn false false false false false
triggered
OTP false false false false false
off time 3 3 0 3 3
blank time 24 24 16 24 24
hysteresis
-end -1 -1 -3 -1 -1
-start 1 1 1 1 1
Stallguard thrs 0 0 0 0 0
DRVSTATUS X X2 Y Y2 Z
sg_result 0 0 0 0 0
stst *
olb
ola
s2gb
s2ga
otpw
ot
157C
150C
143C
120C
s2vsa
s2vsb
Driver registers:
X 0xC0:0C:00:00
X2 0xC0:0C:00:00
Y 0x00:00:00:00 Bad response!
Y2 0xC0:0C:00:00
Z 0xC0:0C:00:00
Testing X connection… OK
Testing X2 connection… OK
Testing Y connection… Error: All LOW
Testing Y2 connection… OK
Testing Z connection… OK
ok

I would say this is the issue. Y2 is fine but Y stepper isn’t responding the same to the driver. First thing I would do is switch the Y2 and Y steppers and see if you get the same error or if it moves to the Y2 and if the movement swaps steppers as well. Then if the issue does swap i’d check the wiring to that stepper and make sure everything looks good there.
I did find someone else with that issue on the z and a past ticket in marlin that indicated your tmcstepper library has to be 0.6.1 or above but that was pushed into firmware about a year ago. Hopefully someone else more familiar with marlin will chime in on how to troubleshoot that more

I tried swapping the steppers one more time, and the M122 reply does not change. I also tried swapping the wires, but no change, even with no wires at all.

I wonder if your driver on the board itself is faulty. That could explain it giving your stepper weird motion commands and failing the 2 way communication self-test

Ok? Is there any way of testing if it is faulty? Other than this?

I tried a stock Marlin and get:
M122
Testing X connection… OK
Testing Y connection… Error: All LOW
Testing Z connection… OK

Also with the firmware that is on the board when it is delivered, the Y-axis moves 2 times the amount as the X-axis. Not that it shows much.

Try moving the drivers (not the steppers) between say, X and Y. If the M119 shows Y is still bad response, then something is wrong with that socket. If it shows X is bad response then something is wrong with that stepper driver.

If the socket is bad, check the jumpers and check under the board for a bad solder joint.

Ah, yes, I tried both, swapping stepper motors, and stepper drivers, and the M122 still reports Error on the Y connection.

So the socket is bad. I remember one other person looking under the board for a problem with a socket.

I am honestly surprised it moves at all. I thought they would not move if they couldn’t talk to Marlin. But maybe I am thinking of TMC2130.

Just to check all the boxes, you have the one little uart jumper on that socket? There isn’t anything different about the jumpers on or around that port?

Backside looks good, maybe one of the solders on a SMD resistor is a bit off, but nothing that else that I can see with my aging eyes. Anyway, thanks for all the help, I’ll get a new one on monday and have a go. I will keep you updated.

2 Likes

Turns out it was a bad board, I got a replacement today, and all works like it should.
Thanks for helping out with the Troubleshooting.

M122
X X2 Y Y2 Z
Address 0 0 0 0 0
Enabled false false false false false
Set current 1400 1400 1400 1400 1400
RMS current 1381 1381 1381 1381 1381
MAX current 1947 1947 1947 1947 1947
Run current 24/31 24/31 24/31 24/31 24/31
Hold current 12/31 12/31 12/31 12/31 12/31
CS actual 12/31 12/31 12/31 12/31 12/31
PWM scale 14 14 14 14 14
vsense 0=.325 0=.325 0=.325 0=.325 0=.325
stealthChop false false false false false
msteps 16 16 16 16 16
tstep max max max max max
PWM thresh.
[mm/s]
OT prewarn false false false false false
triggered
OTP false false false false false
off time 3 3 3 3 3
blank time 24 24 24 24 24
hysteresis
-end -1 -1 -1 -1 -1
-start 1 1 1 1 1
Stallguard thrs 0 0 0 0 0
DRVSTATUS X X2 Y Y2 Z
sg_result 0 0 0 0 0
stst
olb *
ola *
s2gb
s2ga
otpw
ot
157C
150C
143C
120C
s2vsa
s2vsb
Driver registers:
X 0x80:0C:00:00
X2 0x80:0C:00:00
Y 0x80:0C:00:C0
Y2 0x80:0C:00:00
Z 0x80:0C:00:00
Testing X connection… OK
Testing X2 connection… OK
Testing Y connection… OK
Testing Y2 connection… OK
Testing Z connection… OK
ok

1 Like