TMC428-A ETC2 [List of Unclassifed Manufacturers], TMC428-A Datasheet

no-image

TMC428-A

Manufacturer Part Number
TMC428-A
Description
Intelligent Triple Stepper Motor Controller with Serial Peripheral Interfaces
Manufacturer
ETC2 [List of Unclassifed Manufacturers]
Datasheet
TMC428 DATASHEET (v. 2.02 / April 26
TRINAMIC Motion Control GmbH & Co. KG
Sternstrasse 67
D – 20357 Hamburg
GERMANY
P +49 - (0) 40 - 51 48 06 - 0
F +49 - (0) 40 - 51 48 06 - 60
www.trinamic.com
info@trinamic.com
1 Features
The TMC428 is a miniaturized high performance stepper motor controller. It controls up to three 2-
phase stepper motors. All motors can operate independently. The TMC428 allows up to 6 bit micro
step resolution – corresponding to 64 micro steps per full step – individually selectable for each motor.
Once initialized, it performs all real time critical tasks autonomously based on target positions and
velocities, which can be altered on-the-fly. So, an inexpensive microcontroller together with the
TMC428 forms a complete motion control system. The microcontroller is free to do application specific
interfacing and high level control functions. Both, the communication with the microcontroller and with
one to three daisy chained stepper motor drivers take place via two separate 4 wire serial peripheral
interfaces. The TMC428 directly connects to SPI
*
Copyright © 2004-2006, TRINAMIC Motion Control GmbH & Co. KG
SPI is Trademark of Motorola, Inc.
Controls up to three 2-phase stepper motors
Serial 4-wire interface for µC with easy-to-use protocol
Configurable interface for SPI
Different types of SPI
Communication on demand minimizes traffic to the SPI
Programmable SPI
Wide range for clock frequency – can use CPU clock up to 16 MHz
Internal 24 bit wide position counters
Full step frequencies up to 20 kHz
Read-out facility for actual motion parameters (position, velocity, acceleration) and driver status
Individual micro step resolution of {64, 32, 16, 8, 4, 2, 1} micro steps via built-in sequencer
Programmable 6 bit micro step table with up to 64 entries for a quarter sine-wave period
Built-in ramp generators for autonomous positioning and speed control
On-the-fly change of target motion parameters (like position, velocity, acceleration)
Automatic acceleration dependent current control (power boost)
Low power operation: Only 1.25 mA @ 4 MHz (typ.)
Power down mode with transparent wake-up for normal operation
3.3V or 5V operation with CMOS / TTL compatible IOs (all inputs Schmitt-Trigger)
Available in ultra small 16 pin SSOP package and small 24 pin SOP package
TM
TM
data rates up to 1 Mbit/s
TMC428 – DATASHEET
stepper motor driver chips may be mixed within a single daisy chain
Intelligent Triple Stepper Motor Controller with
TM
motor drivers
th
, 2006)
TM*
smart power stepper motor drivers.
TM
stepper motor driver chain
Serial Peripheral Interfaces
1

Related parts for TMC428-A

TMC428-A Summary of contents

Page 1

... The TMC428 is a miniaturized high performance stepper motor controller. It controls up to three 2- phase stepper motors. All motors can operate independently. The TMC428 allows bit micro step resolution – corresponding to 64 micro steps per full step – individually selectable for each motor. ...

Page 2

... TMC428 DATASHEET (v. 2.02 / April 26 Life support policy TRINAMIC Motion Control GmbH & Co. KG does not authorize or warrant any of its products for use in life support systems, without the specific written consent of TRINAMIC Motion Control GmbH & Co. KG. Life support systems are equipment intended to ...

Page 3

... Hint: Unused reference switch inputs should be pulled to ground (Figure 2-1). With this one can connect reference switches that connect to +5V resp. +3.3V when pushed. Concerning different reference switch configurations please refer to Figure 9-3, Figure 9-4, Figure 9-5. REF1 SS nSCS_C TMC428-I / MOSI SDI_C TMC428-A µC SCK SCK_C MISO SDO_C CLK V33 CLK ...

Page 4

... To have access to those error bits, datagrams with a total length bits sent back from the stepper motor driver chain to the TMC428 are buffered within two 24 bit wide registers. The microcontroller has direct access to these registers. Although, the TMC428 provides datagrams with bits, only the last 48 bits sent back from the driver chain are buffered for read out by the microcontroller ...

Page 5

... Package TMC428-I SSOP16 – 150 mils, 16 pins, plastic package, industrial (-40°C ... +85°C) TMC428-A SSOP16 – 150 mils, 16 pins, plastic package, automotive (-40°C ... +125°C) TMC428-PI24 SOP24 – 300 mils, 24 pins, plastic package, industrial (-40°C ... +85°C) TMC428-DI20 DIL20 – ...

Page 6

... V33 GND TEST 12, 13, 24 n.c. Table 4-1: TMC428 pin out (*the DIL20 package variant is not recommended for new designs) Copyright © 2004-2006, TRINAMIC Motion Control GmbH & Co 2006 n.c. n. REF1 SDI_S 3 22 REF2 GND 4 ...

Page 7

... The ramp generator also interfaces the reference switch inputs. Unused reference switches have to be connected to ground. A pull-down resistor is necessary at the SDI_S input of the TMC428 for those serial peripheral interface stepper motor drivers that set their serial data output to high impedance ‘ ...

Page 8

... Hint: If the microcontroller and the TMC428 work on different clock domains that run asynchronous to each other, the timing of the SPI interface of the microcontroller should be made conservative in the way that the length of one SPI clock cycle equals 8 or more clock cycles of the TMC428 clock CLK. This make the system robust concerning frequency drift, jitter, etc. ...

Page 9

... A complete serial datagram frame has a fixed length of 32 bit. While the data transmission from the microcontroller to the TMC428 is idle, the low active serial chip select input nSCS_C and also the serial data clock signal SCK_C are set to high. While the signal nSCS_C is high, the TMC428 assigns the status of the internal low active interrupt signal named nINT to the serial data output SDO_C (see Figure 6-1) ...

Page 10

... TMC428 DATASHEET (v. 2.02 / April 26 tCLK tPD tPD CLK nSCS_S SCK_S SDO_S SDI_S tCKSL tSUSCSdrv tHDSCSdrv 1 x sampled SDI_S Figure 6-3: Timing diagram of the serial stepper motor driver interface To switch to the next motor, an additional bit called next motor bit (NxM-Bit) is prefixed to the five bit wide primary signal code words ...

Page 11

... SDO_C) serial interface. Each datagram sent to the TMC428 via the pin SDI_C and each datagram received from the TMC428 via the pin SDO_C is 32 bits long. The first bit sent is the MSB (most significant bit named sdi_c_bit#31 at Figure 6-1). The last bit sent is the LSB (least significant bit named sdi_c_bit#0 in Figure 6-1) ...

Page 12

... The status bit INT is the internal high active interrupt controller status output signal. Handling of interrupt conditions without using interrupt techniques is possible by polling this status bit. The interrupt signal is also directly available at the SDO_C pin of the TMC428 if nSCS_C is high. The pin SDO_C may directly be connected to an interrupt input of the microcontroller. Since the SDO_C / nINT output is multiplexed, the microcontroller has to disable its interrupt input while it sends a datagram to the TMC428, because the SDO_C signal– ...

Page 13

... TMC428. With inactive interrupt (INT=0), no cover datagram waiting (CDGW=0), all reference switches inactive (RS3=0, RS2=0, RS1=0), and all stepper motors at target position (xEQt3=1, xEQt2=1, xEQt1=1) the status bits would be %10010101 the TMC428 would send back the 32 bit datagram: 10010101000000000000000000000000 ...

Page 14

... TMC428. The same is true for changing a target velocity. Some parameters are packed together in a single data word at a single address. Those parameters– initialized once and unchanged during operation – ...

Page 15

... TMC428 DATASHEET (v. 2.02 / April 26 Important Hint: All register bits are initialized with ‘0’ during power on reset, except the SPI clock pre- divider clk2_div (see section 9.7, page 29) that is initialized with 15. 32 bit DATAGRAM sent from a µC to the TMC428 via pin SDI_C ...

Page 16

... This register holds the current target position in units of full steps, respectively micro steps. The unit of the target position depends on the setting of the associated micro step resolution register usrs. If the difference x_target - x_actual is unequal zero, the TMC428 moves the stepper motor in that direction of x_target so that the difference becomes zero. The condition | x_target - x_actual | < 2 satisfied for motion into the correct direction ...

Page 17

... This read-only register holds the current velocity of the associated stepper motor. Internally, the ramp generator of the TMC428 processes with 20 bits while only 12 bits can be read out as v_actual. So, an actual velocity of zero read out by the microcontroller means that the current velocity interval between zero and one ...

Page 18

... The actual acceleration, which the TMC428 actually applies to a stepper motor, can be read out by the microcontroller from this read-only register for monitoring purposes. The actual acceleration is used to select scale factors for the coil currents. Internally updated with each clock. The returned value a_actual is smoothed to avoid oscillations of the readout value ...

Page 19

... Table 8-2: Current scale selection scheme The automatic motion dependent current scale feature of the TMC428 is provided primarily for micro step operation. It may also be applied for full step or half step drivers, if those provide current control bits. For those drivers, one could initialize the micro step table with a constant function, square function or sine wave using the two most significant DAC bits ...

Page 20

... Figure 8-2: Ramp generator and pulse generator The parameter p has to be calculated for a given acceleration. This calculation is not done by the TMC428 itself, because this task has to be done only once for a given acceleration limit. The acceleration limit is a stepper motor parameter, which is usually fixed in most applications. If the acceleration limit has to be changed nevertheless, the microcontroller could calculate on demand a pair of p_mul and p_div for each acceleration limit a_max and given ramp_div and pulse_div ...

Page 21

... Figure 8-1). The TMC428 automatically decelerates, if required using the difference between current position and target position and the proportionality parameter p, which has 2048 / S. With this, one gets p = 2048 / ( ( ½ * 2048* 256 / a_max ) * 2^(ramp_div-pulse_div) ) ...

Page 22

... The HOLD_MODE is provided for motion control applications, where the ramp generation is completely controlled by the microcontroller. The TMC428 has three reference switch inputs REF1, REF2, REF3. Without additional hardware, three reference switches are available. These switches can be used as reference switches and can be Copyright © ...

Page 23

... TMC428 DATASHEET (v. 2.02 / April 26 used as automatic stop switches as well. Per default, one reference switch input is assigned individually to each stepper motor as a left reference switch (see Figure 9-3, page 32). The reference switch input REF3 can alternatively be assigned as the right reference switch of stepper motor number one (see Figure 9-4, page 32) ...

Page 24

... Table 8-5: lp & ref_conf & ramp_mode (rm) data bit positions 8.13 interrupt_mask & interrupt_flags (IDX=%1011) The TMC428 provides one interrupt register of eight flags for each stepper motor. Interrupt bits are named INT_<mnemonic>. An interrupt bit can set back to ‘0’ by writing ‘1’ to it. Each interrupt bit can either be enabled (‘ ...

Page 25

... INT_STOP_LEFT_LOW high to low transition of left reference switch INT_STOP_RIGHT_LOW high to low transition of right reference switch INT_STOP_LEFT_HIGH low to high transition of left reference switch INT_STOP_RIGHT_HIGH low to high transition of right reference switch Table 8-6: interrupt bit mnemonics 32 bit DATAGRAM sent from a µC to the TMC428 ...

Page 26

... The parameter velocity is in range 0 to 2047 and represents parameters v_min, v_max and absolute values of v_target and v_actual. So, the pulse generator of the TMC428 would generate one step pulse with each pulse generator clock pulse if the velocity could be set to 2048. The full step frequency R change R in the pulse rate per time unit (pulse frequency change per second – ...

Page 27

... JDX is used as index name instead of IDX. 9.1 datagram_low_word (JDX=%0000) & datagram_high_word (JDX=%0001) The TMC428 stores datagrams sent back from the stepper motor driver chain with a total length bits. The register datagram_low_word holds the lower 24 bits of this 48 bits and the register datagram_high_word holds the higher 24 bits of the 48 bits ...

Page 28

... This is because the coverage of a step bit would cause losing that associated step if the step bit is active. The TMC428 stores cover_pos+1 instead of cover_pos due to internal requirements. So, one writes cover_pos but reads back cover_pos+1. The cw (= cover waiting) bit available by read out of this register ...

Page 29

... A write to the register address named power_down sets the TMC428 into the power down mode until it detects a falling edge at the pin nSCS_C. During power down, all internal clocks are stopped, all outputs remain stable, and all register contents are preserved. ...

Page 30

... This feature is useful only for the TMC428 within the larger packages, where the two additional chip select signals nSCS2, nSCS3 are available (see Figure 2-2). The one common chip select signal nSCS_S is used if the bit named csCommonIndividual=‘ ...

Page 31

... So, for a chain of three drivers with 12 bit datagram length each, the upper limit of the datagram frequency is f_datagram[Hz] = f_sck_s[Hz 3*(12+ f_sck_s[Hz] / 41. The TMC428 sends datagrams to the stepper motor driver chain on demand only. No datagrams are send if continuous_update is ‘0’ during rest periods. This reduces the communication traffic. The multiplexed reference switch inputs are processed while datagrams are sent to the stepper motor driver chain only ...

Page 32

... TMC428 DATASHEET (v. 2.02 / April 26 REF1 REF2 REF3 nSCS_C nSCS_S SDI_C SDO_S TMC428 SCK_C SCK_S SDO_C SDI_S CLK V33 V5 TEST GND Figure 9-3: Reference switch configuration ‘left-side-only’ for mot1r=0 (and refmux=0) REF1 REF2 REF3 nSCS_C nSCS_S SDI_C SDO_S TMC428 SCK_C SCK_S SDO_C SDI_S ...

Page 33

... The bit named refmux must be set to ‘1’ to enable reference switch multiplexing (see Figure 9-5). For the two variants TMC428-PI24 and TMC428-DI20, the reference switch multiplexing also works for csCommonIndividual=’1’ using three separate driver selection signals (nSCS_S, nSCS2, nSCS3) if the signal nSCS_S is connected to the multiplexer 74HC157 according to Figure 9-8. If reference switch multiplexing is enabled, mot1r is ignored. With refmux set to ‘ ...

Page 34

... TMC428 DATASHEET (v. 2.02 / April 26 reference switch negative direction Figure 9-7: Reference search 9.9 Reference Search The goal of the reference search is to determine the position x 9-7). Due to mechanical inaccuracy of switches, the reference switch is active within a range where x and x may vary. If the traveler is within the range x ...

Page 35

... Different stepper motors may step with different micro step resolutions, but the micro step look up table (LUT) is the same for all stepper motors controlled by one TMC428. Any quarter wave period stored in the micro step table is expanded automatically to a full period wave together with its 90° phase shifted wave. ...

Page 36

... So, the TMC428 primarily provides a full set of control signals individually for each of the up to three stepper 2-phase stepper motors respectively stepper motor driver chips of the daisy chain. ...

Page 37

... Copyright © 2004-2006, TRINAMIC Motion Control GmbH & Co 2006) %10001 constant ‘1’ %10010 down resp. counter clockwise / clockwise %10011 step bit for step/direction control of drivers %10100 %10101 %10110 %10111 %11000 %11001 ‘1’ for TMC428-I, TMC428-A, TMC428-PI24, TMC428-DI20 %11010 %11011 %11100 %11101 %11110 %11111 37 ...

Page 38

... FD_B) is fixed to ‘0’. For the third driver the fast decay control bit are used. The corresponding content of the configuration on-chip RAM is outlined in Table 11-2. The sequence to be sent to the TMC428 for this configuration is outlined in Table 11-3. ...

Page 39

... Table 11-3: Configuration datagram sequence for the example (with '-' (don't cares)) 12 Initialization of the Micro Step Look-Up-Table The TMC428 provides a look-up-table (LUT values of 6 bit for micro stepping. The micro step LUT can be adapted by storing an arbitrary quarter period of a periodic function to match individual stepper motor characteristics ...

Page 40

... Table 12-1: Scheme of ¼ sine wave period with 6 bit resolution and values These 64 values represent a quarter sine period in the interval [0 ... automatically by the TMC428 to a full sine cosine period (see section 12.1, page 41). The table is sent to the on-chip RAM of the TMC428 by 32 datagrams: ...

Page 41

... TMC428 for initialization of the micro step table after power-on reset. The initialization of the micro step look-up-table is not necessary, if full stepping is used for all stepper motors. The on-chip RAM is not initialized during power-on reset ...

Page 42

... So, a partially initialized look-up table should be taken into account only must because of too small memory of the host microcontroller. Instead of partial initialization of the look-up table of the TMC428, initialization with a triangular function would be a better choice ...

Page 43

... TMC428 during operation. So, to reach function value (f( )), one automatically gets a pair of function values {f( automatic expansion of the TMC428– primary provided for sine cosine microstepping ( sin( )) – also works fine with other micro step wave forms ...

Page 44

... REF1, REF2, REF3 should be pulled down to ground or disabled by setting ref_conf. With those settings, the TMC428 runs a motor if one writes either x_target or v_target, depending on the choice of the ramp mode rm. An application note named "TMC428 – Getting Started" together with C source code examples are available on Copyright © ...

Page 45

... TMC428 DATASHEET (v. 2.02 / April 26 14 Package Outlines and Dimensions 14.1 Shrink Small Outline Package with 16 Pins (SSOP16, 150 MIL ) of TMC428- I and TMC428-A S TOP VIEW h x 45° N= SIDE VIEW Figure 14-1: Package Outline Drawing SSOP16, 150 MILS ...

Page 46

... TMC428 DATASHEET (v. 2.02 / April 26 14.2 Small Outline Package with 24 Pins (SOP24) of TMC428-PI24 TOP VIEW h x 45° SIDE VIEW Figure 14-2: Package Outline Drawing SOP24, 300 MILS Symbo Dimensions in MILLIMETERS l Min Typ 2. 0 0.23 D 15.2 7 1.27 BSC ...

Page 47

... TMC428 DATASHEET (v. 2.02 / April 26 14.3 Dual-In-Line Package with 20 Pins (DIL20) of TMC428-DI20 Figure 14-3: Package Outline Drawing DIL20, 300 MILS (not recommended for new designs) Symbo Dimensions in MILLIMETERS l Min Typ A A1 0.38 A2 3.05 3.43 0.36 0. 1.14 1.27 C 0.20 0.25 24.0 24. 22.86 BSC E 7.62 7.87 6.99 7.24 E1 2.54 BSC e eA 7.62 BSC eB 2 ...

Page 48

... TMC428-I Trinamic 56563A TMC428-A 56563A SSOP16 – 150 MILS YYWW (year YY and week WW) XXXXXXXXX No TMC428-A Trinamic 56563A TMC428-A Trinamic 56563A TMC424-PI24 56563A SOP24 – 300 MILS YYWW (year YY and week WW) XXXXXXXXX Yes TMC 428-PI24 Trinamic 56563A YYWW XXXXXXXXX TMC 428-PI24 ...

Page 49

... TMC428 DATASHEET (v. 2.02 / April 26 16 On-Chip Voltage Regulator The on-chip voltage regulator delivers a 3.3V supply for the chip core. An external 470 nF ceramic capacitor has to be connected between the V33 pin (see Figure 16-1, page 49) and ground, with connections as short as possible. Additionally, an external 100 nF ceramic capacitor (CBLOCK) has to be connected between pin V5 and ground– ...

Page 50

... TMC428 DATASHEET (v. 2.02 / April 26 17 Power-On-Reset The TMC428 is equipped with a static and dynamic reset with internal hysteresis (see Figure 17-1). So, it performs an automatic reset during power-on. If the power supply voltage goes below a threshold, an automatic power on reset is performed also. The power on reset time tRESPOR also depends on the power up time of the on-chip voltage regulator (see Table 16-1 ) ...

Page 51

... TMC428 DATASHEET (v. 2.02 / April 26 18 Characteristics Symbol Parameter VDD3 DC Supply Voltage DC Input Voltage, 3.3 V I/Os VI3 DC Output Voltage, 3.3 V I/Os VO3 DC Supply Voltage VDD5 VI5 DC Input Voltage, 5V I/Os VO5 DC Output Voltage, 5V I/Os VESD ESD Voltage Ambient Air Temperature Range TEMP_D2 TEMP_D3 Ambient Air Temperature Range TEMP_D4 Ambient Air Temperature Range ...

Page 52

... TMC428 DATASHEET (v. 2.02 / April 26 Symbol Parameter Conditions ISC16MHZ Supply Current MHz at Tc=25°C Supply Current MHz at Tc=25°C ISC4MHZ Power Down Current Power Down Mode at Tc=25°C, 5V Supply IPDN25C Table 18-5: Power dissipation Symbol Parameter Conditions fCLK Operation Frequency fCLK = 1 / tCLK Clock Period Raising Edge to Raising Edge of CLK ...

Page 53

... TMC428 DATASHEET (v. 2.02 / April 26 19 Example for Calculation of p_mul and p_div for the TMC428 /* PROGRAM EXAMPLE 'pmulpdiv.c' : How to Calculate p_mul & p_div for the TMC428 */ #include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> void CalcPMulPDiv(int a_max, int ramp_div, int pulse_div, float p_reduction, ...

Page 54

... INT to avoid confusing caused by the low active interrupt status output signal (still named SDO_C / nINT), section 6.4, page 11, Table 6-4, page 12, section 6.5, page 13, section 8.13, page 24; hint to an application note "TMC428 – Getting Started" available on www.trinamic.com th 2 ...

Page 55

... Table of Figures Figure 2-1: TMC428 application environment with TMC428 in SSOP16 package.................................3 Figure 2-2: Usage of drivers without serial data output (SDO) with TMC428 in larger packages (*the DI20 package variant is not recommended for new designs) .........................................................4 Figure 4-1: TMC428 pin out (*the DIL20 package variant is not recommended for new designs) .........6 Figure 5-1: TMC428 functional block diagram........................................................................................7 Figure 6-1: Timing diagram of the serial µ ...

Page 56

... TMC428 DATASHEET (v. 2.02 / April 26 Table 12-1: Scheme of ¼ sine wave period with 6 bit resolution and values ...................40 Table 12-2 - Datagrams for initialization of a quarter sine wave period microstep look-up-table.........40 Table 12-3: Phase Bits and Fast Decay Control Bits............................................................................41 Table 12-4: Wave look-up table (LUT) indices for different microstep resolutions ..............................42 ...

Page 57

... Micro Step Enhancement ...................................................................................................43 13 How to get Started in Running a Motor .................................................................................44 14 Package Outlines and Dimensions ........................................................................................45 14.1 Shrink Small Outline Package with 16 Pins (SSOP16, 150 MIL ) of TMC428-I and TMC428 14.2 Small Outline Package with 24 Pins (SOP24) of TMC428-PI24 ........................................46 14.3 Dual-In-Line Package with 20 Pins (DIL20) of TMC428-DI20............................................47 15 Marking ...

Page 58

... TMC428 DATASHEET (v. 2.02 / April 26 Please refer to www.trinamic.com for updated data sheets and application notes on this product and on other products. The TMCtechLIB CD-ROM – including data sheets, application notes, schematics of evaluation boards, software of evaluation boards, source code examples, parameter calculation spreadsheets, tools, and more – is available from TRINAMIC Motion Control GmbH & Co request to info@trinamic.com Copyright © ...

Related keywords