Product specs:

  • Uses Trinamic's TMC2209 driver chip
  • Stand Alone or Easy UART mode
  • 28VDC max input
  • 2.7 AMPS peak output
  • Supports 1/8, 1/16, 1/32 and 1/64 microsteps
  • StealthChop2, SpreadCycle and Passive breaking features
  • Thermal shutdown, overload and short circuit protection
  • Stallguard4 for sensor less homing and stall detection
  • Pololu style footprint. 


WARNINGS AND PRECAUTIONS:

  • Static sensitive devices -  Remove from anti-static packaging only when ready to install
  • Burn / Injury warning - Device surface and heatsink could reach temperatures that could burn and injure. Allow devices to cool before touching.
  • Possible Fire Hazard -  Do not leave drivers running unattended, to be installed by knowledgeable individuals only. 
  • Damage to device - Power off main supply before attempting to install or detach module. Avoid cutting off at DC source while motors are running. Do not disconnect motors from main board while powered. Observe correct orientation when mounting module.


Pin out Diagram:





Installation Guide: Stand Alone Mode


When configured for Stand Alone mode, the driver current is set manually using the trim pot on top of the driver and microstepping is configured through MS1 and MS2 Jumpers. Drivers are drop in replacement for any Pololu style drivers ( Motor direction may vary by controller)



# Configuring solder jumpers for Stand Alone Mode (Bottom of driver)


There are 2 solder jumpers on the bottom side of the driver, J3 and J4. For Stand Alone mode short pads A and B on J3 and leave J4 open as shown below.


The drivers can be ordered pre-configured for Stand Alone Mode. 




# Setting Micro-stepping jumpers for Stand Alone mode (Using MS1 and MS2 jumpers on controller)


The SD2209 uses jumper pins M1, M2 to set the micro stepping up to 1/64. Chart below shows jumper settings. OFF= No Jumper and ON=with Jumper. M3 jumper is used exclusively for SpreadCycle and StealthChop mode selection.




# Setting SpreadCycle and StealthChop2 for Stand Alone Mode: 


The SD2209 features user selectable modes SpreadCycle and StealthChop. This is set using the MS3 jumper. OFF= No Jumper and ON=with Jumper.


stealthChop2™ No-noise, high-precision chopper algorithm for inaudible motion and inaudible
standstill of the motor. Allows faster motor acceleration and deceleration than
stealthChop™ and extends stealthChop to low stand still motor currents.

spreadCycle™ High-precision cycle-by-cycle current control algorithm for highest dynamic
movements.



When selecting stealthChop2 mode, it is often necessary to fine tune the current limit setting to get the best performance and avoid missed steps. It is recommended to start with a setting of 0.8 Amp. For more information regarding these modes please refer to the chip manufacturer's data sheet. 



# Setting Current Limit for Stand Alone Mode (Using Trim Pot)


The Vref voltage can be measured by a voltmeter with the +lead going to the top of the trimmer (rotating crown) and ground lead goes to any ground pin on the host controller.

Calculate the Set Current Limit using the formulas below.


Peak current can be calculated using formula


I = Vref x 1.08  

or

Vref = I x 0.92


[where "I" is the current limit and "Vref" is the voltage set by the on-board trim pot, external vref can be fed to the Vref pin as shown above]


Example: To set current limit at 0.8 AMP, what is the required Vref setting?

Vref = I x 0.92 = 0.8 x 0.92 = 0.736 volts


##############################################################################


Installation Guide: Easy UART mode


The Easy UART mode allows the driver to be configured fully using UART without using extra wires on any 32bit LPC1768/69 based controller board. This only works on Marlin 32bit Firmware.



# Configuring solder jumpers for Easy UART Mode (Bottom of driver)


There are 2 solder jumpers on the bottom side of the driver, J3 and J4. For Easy UART mode short pads B and C on J3 and short J4 as shown below.


The drivers can be ordered pre-configured for Easy UART Mode. 




# Set Trimpot to zero or lowest setting.


For Easy UART mode, the trim pot needs to be set to zero or the lowest possible setting. Current limit will be set in firmware.


The midpoint of the trimpot rotating crown should be pointed to the left most part as shown in the illustration below(Red square)




# Software configuration for Easy UART mode. 


Make sure the TMCStepper Library is installed before compiling.


1. Start editing Configuration.h on Marlin and change these lines to the ones shown below.


#define X_DRIVER_TYPE  TMC2209

#define Y_DRIVER_TYPE  TMC2209

#define Z_DRIVER_TYPE  TMC2209


#define E0_DRIVER_TYPE  TMC2209


2. Open Configuration_adv.h and edit the following lines.


-Set your desired current limit. Stating low is recommended.

-Set microsteps

-Change X_RSENSE to 0.10

-Do this for Y,Z and E0 if using SD2209 driver on all of them


 #if AXIS_IS_TMC(X)

    #define X_CURRENT       800        // (mA) RMS current. Multiply by 1.414 for peak current.

    #define X_CURRENT_HOME  X_CURRENT  // (mA) RMS current for sensorless homing

    #define X_MICROSTEPS     16    // 0..256

    #define X_RSENSE          0.10

    #define X_CHAIN_POS      -1    // <=0 : Not chained. 1 : MCU MOSI connected. 2 : Next in chain, ...

  #endif


----------------------------------------------------

Uncomment this line


#define SOFTWARE_DRIVER_ENABLE 


----------------------------------------------------


If you want StealthChop mode on your drivers leave these lines uncommented, omment out using // infront of the line if you want to use SpreadCycle mode instead.


  #define STEALTHCHOP_XY

  #define STEALTHCHOP_Z

  #define STEALTHCHOP_E


----------------------------------------------------

Uncomment this line


#define TMC_DEBUG


----------------------------------------------------



3. Open your board's pin file, I will be using the Re-ARM pins file for this example.


Locate these lines and change them. As for the pin number for RX and TX pins use the ENABLE_PIN for that particular axis for both.


On the Re-ARM pins file the ENABLE_PIN for X is P0_10 so you would use that for both RX and TX on the X axis entry as shown below. Repeat for all axes that uses the SD2209 using their corresponding ENABLE_PIN for that axis.


  #ifndef X_SERIAL_TX_PIN

    #define X_SERIAL_TX_PIN  P0_10

  #endif

  #ifndef X_SERIAL_RX_PIN

    #define X_SERIAL_RX_PIN  P0_10

  #endif


  #ifndef Y_SERIAL_TX_PIN

    #define Y_SERIAL_TX_PIN  P0_19

  #endif

  #ifndef Y_SERIAL_RX_PIN

    #define Y_SERIAL_RX_PIN  P0_19

  #endif


  #ifndef Z_SERIAL_TX_PIN

    #define Z_SERIAL_TX_PIN  P0_21

  #endif

  #ifndef Z_SERIAL_RX_PIN

    #define Z_SERIAL_RX_PIN  P0_21

  #endif


  #ifndef E0_SERIAL_TX_PIN

    #define E0_SERIAL_TX_PIN P0_04

  #endif

  #ifndef E0_SERIAL_RX_PIN

    #define E0_SERIAL_RX_PIN P0_04

  #endif