TMC2041 DATASHEET (Rev. 1.02 / 2017-MAY-16)
53
14 Getting Started
Please refer to the TMC2041 evaluation board to allow a quick start with the device, and in order to
allow interactive tuning of the device setup in your application. Alternatively, all tuning can be done
using a TMC5072 evaluation board, as the TMC5072 driver part is fully compatible. Chapter 13 will
guide you through the process of correctly setting up all registers.
14.1 Initialization Examples
Initialization SPI datagram example sequence to enable driver 1 for step and direction operation and
initialize the chopper for a 2 phase motor:
SPI send: 0x8000000006; // GCONF=6: Enable both drivers for step and direction operation
SPI send: 0xEC000100C3; // CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadCycle)
SPI send: 0xB000061F05; // IHOLD_IRUN: IHOLD=5, IRUN=31 (max. current), IHOLDDELAY=6
For UART based operation it is important to make sure that the CRC byte is correct. The following
example shows initialization for a TMC2041 with slave address 0 (NEXTADDR pin low). It programs
driver 1 and driver 2 to spreadCycle mode:
UART write: 0x05 0x00 0x80 0x00 0x00 0x00 0x06 0x6E; // stepdir1=1, stepdir2=1
UART write: 0x05 0x00 0xEC 0x00 0x01 0x00 0xC5 0xD3; // DRV1: TOFF=5, HEND=1, HSTR=4,
// TBL=2, MRES=0, CHM=0
UART write: 0x05 0x00 0xB0 0x00 0x01 0x14 0x05 0xBB; // IHOLD=5, IRUN=20, IHOLDDELAY=1
UART write: 0x05 0x00 0xFC 0x00 0x01 0x00 0xC5 0x01; // DRV2: TOFF=5, HEND=1, HSTR=4,
// TBL=2, MRES=0, CHM=0
UART write: 0x05 0x00 0xD0 0x00 0x01 0x14 0x05 0xF0; // IHOLD=5, IRUN=20, IHOLDDELAY=1
UART read: 0x05 0x00 0x01 0xC1;
// Request driver status GSTAT
Hint
Tune the configuration parameters for your motor and application for optimum performance. For
generation of the UART data, use the CRC calculation tool from www.trinamic.com.
www.trinamic.com