Skip to content

TMC2209 Uart mode and Sensorless Homing

Mark edited this page Jan 21, 2022 · 2 revisions

Uart mode

Wiring

MKS/Two tree TMC2209 driver

TMC2209 datasheet

Hardware configure

Plug in jumppers on the driver MS1 MS2 MS3 in different orders to set as different address as shown picture below.

tmc220

tmc220

Configure Marlin for TMC2209

1.Configure the address setting is in the Configuration_adv.h

   /**
   * Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
   * Set the address using jumpers on pins MS1 and MS2.
   * Address | MS1  | MS2
   *       0 | LOW  | LOW
   *       1 | HIGH | LOW
   *       2 | LOW  | HIGH
   *       3 | HIGH | HIGH
   *
   * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers
   * on the same serial port, either here or in your board's pins file.
   */
  #define  X_SLAVE_ADDRESS 0
  #define  Y_SLAVE_ADDRESS 1
  #define  Z_SLAVE_ADDRESS 2
  //#define X2_SLAVE_ADDRESS 0
  //#define Y2_SLAVE_ADDRESS 0
  //#define Z2_SLAVE_ADDRESS 0
  //#define Z3_SLAVE_ADDRESS 0
  //#define Z4_SLAVE_ADDRESS 0
  #define E0_SLAVE_ADDRESS 3
  //#define E1_SLAVE_ADDRESS 0
  //#define E2_SLAVE_ADDRESS 0
  //#define E3_SLAVE_ADDRESS 0
  1. Edit the "Configuration.h", enable the sensorless homing and X/Y driver type is TMC2209.

before:

#define X_DRIVER_TYPE  A4988 
#define Y_DRIVER_TYPE  A4988 

after:

#define X_DRIVER_TYPE  TMC2209  
#define Y_DRIVER_TYPE  TMC2209 
  1. make sure the baudrate to 115200
#define BAUDRATE 115200

Sensorless Homing

  1. and then if you want run in Sensorless Homing, please enable it in Configuration_adv.h

before:

//#define SENSORLESS_HOMING // StallGuard capable drivers only

after:

#define SENSORLESS_HOMING // StallGuard capable drivers only

FAQ:

Testing X connection... Error: All LOW
Recv: Testing Y connection... Error: All LOW
Recv: Testing Z connection... Error: All LOW
Recv: Testing E connection... Error: All LOW

The reason of this TMC Error message is that with write only access to TMC, and there is no RXD connection in the hardware. So that's normal.

Have fun!

sensorless homing video