makerbase-mks / SGEN_L

MKS SGEN_L is a powerful 32-bit 3D printer control board with LPC1768. Support Marlin2.0, Smoothieware. Support MKS LCD12864B/MINI12864/LCD2004/12864 and MKS TFT Touch Screens. The motherboard integrates SPI / UART interface and works with MKS TMC2130/TMC2208 V2.0/TMC2209. It can be used after plugged in. No soldering or flying lead is required ...
https://es.aliexpress.com/item/33036918120.html?spm=a2g0o.store_home.slider_165457030.3
GNU General Public License v3.0
87 stars 61 forks source link

TMC2209 Bi-Directional UART Master/Slave Address Configuration, Marlin 2.0 #26

Closed borland1 closed 4 years ago

borland1 commented 4 years ago

When using MKS TMC2209 driver modules, it is not clear how to set up MKS_SGEN_L board jumpers for optional bi-directional PDN_UART addressing with MS1 and MS2 ( MS1_ADDR0 and MS2_ADDR1 ) jumpers.

Marlin 2.0 provides ability to setup addressing ( 0 thru 3) for up to four TMC2209 stepper drivers in Configuration_adv.h file, in section 'tmc_smart'... In comments, the Address Table is shown as:

` * Address | MS1 | MS2

followed by the defines assigning specific address values, as appropriate:

define X_SLAVE_ADDRESS 0

define Y_SLAVE_ADDRESS 0

define Z_SLAVE_ADDRESS 0

define E0_SLAVE_ADDRESS 0

The MKS_SGEN_L schematic shows:

NeoMod commented 4 years ago

@borland1 did you managed to solve the issue?

borland1 commented 4 years ago

@borland1 did you managed to solve the issue?

Yes. What I missed is on the schematic, the motor driver slots are shown as typical (only one shown) with label "UART", however there is actually UART1 (E0), UART2 (X), UART3 (Y), UART4 (Z), and UART5 (E1). So, each TMC driver has it's own separate UART line and so all installed TMC drivers can use same addresses set by driver pins MS1 and MS2. No address conflicts will be present. I only installed two TMC2209 drivers for X and Y.