Welcome! Log In Create A New Profile

Advanced

TMC2208: not all UART devices recognized

Posted by Schild0r 
TMC2208: not all UART devices recognized
June 11, 2019 03:50PM
Hello there,

today I changed my drivers from A4988 to TMC2208 (UART mode). I soldered the pads on the bottom of the driver boards together and made some wires for the serial connection


As you can see the 1K resistor is soldered in line with the green wire thus the green wire should be TX. As mentioned here not all pins on the Mega2560 (I am using the MKS Gen L) are RX capable but this pinout should be fine (correct??)

  #define X_SERIAL_TX_PIN    40
  #define X_SERIAL_RX_PIN    63
  #define X2_SERIAL_TX_PIN   -1
  #define X2_SERIAL_RX_PIN   -1

  #define Y_SERIAL_TX_PIN    59
  #define Y_SERIAL_RX_PIN    64
  #define Y2_SERIAL_TX_PIN   -1
  #define Y2_SERIAL_RX_PIN   -1

  #define Z_SERIAL_TX_PIN    19 //MS default 42
  #define Z_SERIAL_RX_PIN    11 //MS default 65
  #define Z2_SERIAL_TX_PIN   -1
  #define Z2_SERIAL_RX_PIN   -1

  #define E0_SERIAL_TX_PIN   42 //MS default 44
  #define E0_SERIAL_RX_PIN   65 //MS default 66
  #define E1_SERIAL_TX_PIN   44 //MS default -1
  #define E1_SERIAL_RX_PIN   66 //MS default -1

And if I am not colorblind this should match it (correct??)


Unfortunately only the E1 driver will be recognized by Marlin because M122 responds:
21:18:19.600 : X	Y	Z	E0	E1
21:18:19.634 : Enabled		false	false	false	false	true
21:18:19.636 : Set current	800	800	800	800	800
21:18:19.667 : RMS current	1436	1436	1436	1436	795
21:18:19.697 : MAX current	2025	2025	2025	2025	1121
21:18:19.699 : Run current	25/31	25/31	25/31	25/31	25/31
21:18:19.700 : Hold current	12/31	12/31	12/31	12/31	12/31
21:18:19.731 : CS actual		0/31	0/31	0/31	0/31	12/31
21:18:19.760 : PWM scale		0	0	0	0	14
21:18:19.788 : vsense		0=.325	0=.325	0=.325	0=.325	1=.18
21:18:19.817 : stealthChop	false	false	false	false	true
21:18:19.847 : msteps		256	256	256	256	16
21:18:19.875 : tstep		0	0	0	0	1048575
21:18:19.875 : pwm
21:18:19.878 : threshold		0	0	0	0	0
21:18:19.878 : [mm/s]		-	-	-	-	-
21:18:19.907 : OT prewarn	false	false	false	false	false
21:18:19.907 : OT prewarn has
21:18:19.910 : been triggered	false	false	false	false	false
21:18:19.938 : off time		0	0	0	0	5
21:18:19.968 : blank time	16	16	16	16	24
21:18:19.968 : hysteresis
21:18:19.997 : -end		-3	-3	-3	-3	2
21:18:20.025 : -start		1	1	1	1	3
21:18:20.025 : Stallguard thrs
21:18:20.027 : DRVSTATUS	X	Y	Z	E0	E1
21:18:20.056 : stst						X
21:18:20.084 : olb
21:18:20.112 : ola
21:18:20.141 : s2gb
21:18:20.168 : s2ga
21:18:20.197 : otpw
21:18:20.225 : ot
21:18:20.253 : 157C
21:18:20.282 : 150C
21:18:20.310 : 143C
21:18:20.338 : 120C
21:18:20.339 : s2vsa
21:18:20.339 : s2vsb
21:18:20.347 : Driver registers:	X = 0x00:00:00:00
21:18:20.353 : Y = 0x00:00:00:00
21:18:20.359 : Z = 0x00:00:00:00
21:18:20.365 : E0 = 0x00:00:00:00
21:18:20.372 : E1 = 0xC0:0C:00:00

I already tried switching the drivers one for another but it will only recognize E1 with any one of the drivers.

So I am hoping that one of you can tell me what I am missing.

Thanks in advance
Re: TMC2208: not all UART devices recognized
June 12, 2019 04:17AM
The mistake that I made on my ramps 1.4 was that the X-axis Tx and Rx are reversed from all the other axes. I am having a real hard time making out how you wired it all up, but could it be that on every axis but the E0, the Tx and Rx wires are in reverse?


http://www.marinusdebeer.nl/
Re: TMC2208: not all UART devices recognized
June 12, 2019 06:04AM
Thought of that too at first but i checked it and every wiring is the same. Also I don't think that is the problem because when I plug one driver of the other axis in the E1 socket and its TX and RX pins the same way, it will still be recognized as E1.
[SOLVED] TMC2208: not all UART devices recognized
June 13, 2019 06:03PM
Update:
tried it with another spare MKS Gen L with nothing but the driver and the tx/rx cables plugged in to the correct pins.
Did not make a difference no matter if I try it with the pins that I assigned myself to TX/RX or if I try it with the ones that are the standard ones set by default marlin
It will always just recognize the driver connected to the pins 44 (TX) and 66 (RX)

BUT: If I use a fresh download of Marlin 1.1.9 and only modify
- the Board to be an MKS Gen L
- the number of extruders to 2
- the used drivers to be TMC2208
- support for TMC_driver_status, TMC_debug, M43 features
- my own pin definitions (complete pins.ramps.h)

it will recognize the drivers

SOOO I guess there is some feature conflicting with this...

Any ideas on that?

Next step is to modify the fresh Marlin to match my version step by step and see at which point it will stop working (if you guys don't have a better idea to spare me some time)

EDIT:
So I modified the fresh download of Marlin to match mine in the four files I made changes.
Interestingly it did not get to the point where it would stop recognizing the drivers

Turns out Marlin 1.1.9 does not equal Marlin 1.1.9 which was downloaded two months ago (no bugfix version or something of that matter)

PROBLEM SOLVED! Thanks for mental support

Edited 2 time(s). Last edit at 06/14/2019 12:09PM by Schild0r.
Sorry, only registered users may post in this forum.

Click here to login