Welcome! Log In Create A New Profile


TMC2208 X-Axis UART Issue

Posted by IG88 
TMC2208 X-Axis UART Issue
May 03, 2021 05:35PM

I got a junk Davinci 1.1 Plus from a colleague. Ripped out the original electronics and wired in a spare SKR 1.3 i had laying around.

Using genuine Watterott TMC2208 drivers for X,Y and Z. Set them all up for UART and everything is working great for Y and Z.. But my X-axis is having issues.

So I sent an M122 command on Pronterface, I've pasted the result below.

What I've tried so far:
- Made sure jumpers on the SKR 1.3 are correct (none below the driver, and a jumper on the UART pins)
- Measured X stepper coils and wiring, all OK.
- Checked firmware, made sure #define X_DRIVER_TYPE TMC2208 is not set as _STANDALONE.
- Swapped the X driver for the Y driver. The issue follows the X-axis, Y axis still working fine. So at least whatever is causing the issue isn't frying the driver.

So this tells me the stepper drivers are all fine. Either an issue in Firmware (Marlin-bugfix-2.0.x) or an issue with my SKR1.3 board.

Just wondering if anyone knows how to diagnose the SKR, or point me to something else to check that I may have missed. Thanks!

M122 results:

Enabled false false false
Set current 800 800 800
RMS current 1436 795 795
MAX current 2025 1121 1121
Run current 25/31 25/31 25/31
Hold current 12/31 12/31 12/31
CS actual 0/31 12/31 12/31
PWM scale
vsense 0=.325 1=.18 1=.18
stealthChop false true true
msteps 256 16 16
interp false true true
tstep 0 max max
PWM thresh.
OT prewarn false false false
OTP false false false
pwm scale sum 0 14 14
pwm scale auto 0 0 0
pwm offset auto 0 36 36
pwm grad auto 0 14 14
off time 0 3 3
blank time 16 24 24
-end -3 -1 -1
-start 1 1 1
Stallguard thrs
uStep count 0 40 40
stst *
Driver registers:
X 0x00:00:00:00 Bad response!
Y 0xC0:0C:00:00
Z 0xC0:0C:00:00
Testing X connection... Error: All LOW
Testing Y connection... OK
Testing Z connection... OK
Re: TMC2208 X-Axis UART Issue
May 04, 2021 06:58AM
Jumpers. always check your jumpers

you have to check the UART jumpers are on (and there is metal in the jumper) and remove all jumper under the stepper drivers (and check for metal parts off of jumpers too)
Re: TMC2208 X-Axis UART Issue
May 04, 2021 01:27PM
Hi Dust,

Thanks for your reply. I just double checked and all jumpers are ok. Removed XST, YST, ZST, E0S, E1S jumpers. XUART, YUART, ZUART are all bridged. E0 and E1 UART are not (using a DRV8825 for my extruder, don't have a second extruder). No jumpers at all below the step stick.

Next up would be get the multimeter out and see if I get power to the 2208 on the X.

Other possibility might be to check pins in firmware, looked around and that might be an issue too apparently. Though I'm not sure what to look for there, I'm not that advanced. Maybe try a previous firmware version?
Re: TMC2208 X-Axis UART Issue
May 04, 2021 02:09PM
Just an update, I got the BTT version of Marlin 2.0 specifically for the SKR V1.3 to see if it might help. Still having the exact same issue. Going to check voltages now, suspect an issue with the SKR board..
Re: TMC2208 X-Axis UART Issue
May 05, 2021 09:49PM
Might be an issue with the motor too.

I'd check to see if I could drive the X motor with the Y controller (which is known working) just to be sure.
Re: TMC2208 X-Axis UART Issue
May 06, 2021 01:20PM
Swapping cables/drivers are the first things I tried unfortunately, see first post for the findings.

I swapped the DRV8825 and the corresponding jumpers to the X-axis and configured Marlin to reflect the change, just to see if it was an issue with the UART. Still no movement on the X-axis.

Then measured for the vref voltage on the DRV8825; nothing.. So it looks like the main board isn't powering the stepper driver on the X-axis.

Might be time to go shopping for a replacement main board!
Re: TMC2208 X-Axis UART Issue
May 06, 2021 05:42PM
Instead of buying a new board, I just decided to use E1 as X2 in Marlin and swapped my TMC2208 over from the X slot on the mainboard to the E1 slot to use it's stepper slot and motor output.

All works great now, I won't be installing a second extruder on this machine anyway so all is well.

If anyone reads this in the future and wants to do the same:

in Configuration_adv.h
#define X_DUAL_STEPPER_DRIVERS //this will automatically send the X output to E1, considering it isn't used
INVERT_X2_VS_X_DIR false //it's set to true by default, set to false so it mimics X's direction.

in Configuration.h
#define X2_DRIVER_TYPE //insert whatever stepper driver you're using
You don't need to define E1, leave it commented out: //E1_DRIVER_TYPE
Since my X axis stepper slot is broken anyway and I'm not using X, I commented it out too: //X_DRIVER_TYPE

I guess a cleaner way of doing it would be to change the Pins.h file to just change the E1 output pin to the X output pin but I couldn't figure out how to do that.

Edited 1 time(s). Last edit at 05/06/2021 06:28PM by IG88.
Sorry, only registered users may post in this forum.

Click here to login