TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 1 TMC429 – DATA SHEET Intelligent Triple Stepper Motor Controller with Serial Peripheral Interfaces and Step Direction – Full Compatible Successor of the TMC428 – ® TRINAMIC Motion Control GmbH & Co. KG Waterloohain 5 D – 22769 Hamburg GERMANY www.trinamic.com 1 Features The TMC429 is a miniaturized high performance stepper motor controller. It controls up to three 2phase stepper motors. All motors can operate independently.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 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 support or sustain life, and whose failure to perform, when properly used in accordance with instructions provided, can be reasonably expected to result in personal injury or death.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 3 2 TMC429 vs. TMC428 The TMC429 is the 100% functional compatible and pin compatible successor of the TMC428. The TMC429 can be used as a TMC428 in existing hardware / software environments. There are some additional functions of the TMC429 that are mapped in register address ranges that where indicated reserverd addresses for later versions. Without access to these additional registers of the TMC429, the TMC429 behaves identically as a TMC428.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) REF1 nSCS REFR1 REF2 4 REF3 REFR2 REFR3 nSCS2_S3 STP_3 nSCS3_D3 DIR_3 nSCS_S_S2 STP_2 SDI_S_D2 DIR_2 SDO_S_S1 STP_1 SCK_S_D1 DIR_1 nSCS_C SCK SCK_C MOSI SDI_C µC TMC429-LI nINT_SDO_C MISO TMC262 TMC262 SDOZ_C POSCMP CLK V33 V5 TEST TMC262 GND Figure 1: TMC429 within QFN32 package. All signals of the TMC429 are available for the QFN32 package.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 5 Reference Switch Inputs (active high) 1K 1K 1K *For details concerning electrical connections of the TMC26x refer to its datasheet.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 6 velocity during deceleration is done with a soft, exponentially shaped velocity profile. In VELOCITY_MODE, a target velocity is set by the user and the TMC429 takes into account user defined limits of velocity and acceleration. In HOLD_MODE, the user sets target velocities, but the TMC429 ignores any limits of velocity and acceleration, to realize arbitrary velocity profiles, controlled completely by the user.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 3.6 7 Representation of Signed Values by Two’s Complement Those motion parameters that have to cover negative and positive motion direction as well are processed as signed numbers represented by two’s complement as usual. Signed motion parameters are x_target, x_actual, v_target, v_actual, a_actual, a_threshold (pls. refer section 9.9, page 21). Limit motion parameters as v_min, v_max, a_max, are represented as unsigned binary numbers. 3.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 8 Different sets of additional signals of the TMC429 are available for the diferent package varians of it. Please refer Figure 5-1: TMC429 pin out, page 8, and Table 5-1: TMC429 , page 9. Please refer this figure and this table concerning the pins 1, 12, 13, 24 of the SOP24 package.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 10 6 Functional Description and Block Diagram From the software point of view, the TMC429 provides a set of registers of different units and on-chip RAM (see Figure 6-1), accessed via the serial µC interface in an uniform way. The serial interface uses just a simple protocol with fixed length datagram for read access and write access.
[POSCMP] [REF3R] [REF2R] [REF1R] REF3 REF2 REF1 TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 12 serial data clock input SCK_C. The maximum duration of the serial data clock period is unlimited. While the µC interface of the TMC429 is idle, the SDO_C signal is the (active low) interrupt status nINT of the integrated interrupt controller of the TMC429. The timing of the multiplexed interrupt status signal nINT is characterized by the parameters tIS an tSI (see Table 7-1, page 14).
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 13 The signal nSCS_C has to be high for at least three clock cycles before starting a datagram transmission. To initiate a transmission, the signal nSCS_C has to be set to low. Three clock cycles later the serial data clock may go low. The most significant bit (MSB) of a 32 bit wide datagram comes first and the least significant bit (LSB) is transmitted as the last one.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) Symbol tSUCSC tHDCSC tSCKCL tSCKCH tSD tIS tSI tDAMAGRAMuC tDAMAGRAMuC fCLK tCLK tPD 14 Parameter Setup Clocks for nSCS_C Hold Clocks for nSCS_C Serial Clock Low Serial Clock High SDO_C valid after SCK_C low nINTERRUPT status valid after nSCS_C low SDO_C valid after nSCS_C high Datagram Length Datagram Length Clock Frequency Clock Period tCLK = 1 / fCLK CLK-rising-edge-to-Output Propagation Delay Min Typ 3 3 3 3 2.5 2.5 Max 3.5 4.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 16 microcontroller in regard to the datagram covering mechanism. This feature is necessary to enable direct data transmission from a microcontroller to the stepper motor driver chips for initialization purposes. The CDGW status bit also gives the status of the datagram_high_word and datagram_low_word (see section 10.1). The status bits RS3, RS2, RS1 represent the settings of the reference switches.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 17 8 Address Space Partitions The address space is partitioned in different ranges. Each of the up to three stepper motors has a set of registers individually assigned to it, arranged within a contiguous address space. An additional set of registers within the address space holds some global parameters common for all stepper motors. One dedicated global parameter register is essential for the configuration of the serial four wire stepper motor driver interface.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 18 Important Hint: All register bits are initialized with ‘0’ during power on reset, except the SPI clock predivider clk2_div (see section 10.11, page 35) that is initialized with 15.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 19 9 Register Description The registers hold binary coded numbers. Some are unsigned (positive) numbers, some are signed numbers in two’s complement, and some are control bits or single flags. The functionality of different registers depends on the ramp mode (s. page 25). 9.1 x_target (IDX=%0000) This register holds the current target position in units of full steps, respectively micro steps.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 9.4 20 v_max (IDX=%0011) This parameter sets the maximum motor velocity. The absolute value of the velocity will not exceed this limit, except if the limit v_max is changed during motion to a value below the current velocity. Note: To set target position x_target and current position x_actual to an equivalent value (e.g.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 21 Important Note: So, a_max can be set without restrictions within its range of 0 to 2047 for those combinations of ramp_div and pulse_div with | ramp_div – pulse_div | 1. The parameter a_max must not be set below a_max_lower_limit except a_max is set to 0. The condition a_max a_max_lower_limit as well as a_max a_max_upper_limit must be satisfied to reach any target position without oscillations.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 22 Important Notes: The maximum current scaling factor 1 is selected by i_scale = %000. This is the power-on default. The minimum current scaling factor 1/8 = 0.125 is selected by i_scale = %001. The current scaling factor Is proportionally reduces the effective number of micro steps per full step. For example, with i_scale = %100 (= 4/8 = 50%) the number of effective micro steps per full step is halved.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 23 If the proportionality factor p is set too small, this results in a slow approach to the target position. If set too large, it causes overshooting and even oscillations around the target position. The calculation of the proportionality factor is simple: The representation of the proportionality factor p by the two parameters p_mul and p_div is some kind of a fixed point representation. It is p = p_mul / p_div with p_mul = {128, 128+1, 128+2, 128+3, ...
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 24 9.11 Calculation of p_mul and p_div The proportionality factor p = p_mul / p_div depends on the acceleration limit a_max and frequency pre-divider parameters ramp_div and pulse_div. So, a pair of p_mul / p_div has to be calculated once for each provided acceleration limit a_max. There may exist more than one valid pair of p_mul and p_div for a given a_max.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 25 p = a_max / ( 128 * 2^( ramp_div-pulse_div ) ) and p’ = p_mul / p_div = (128+pmul) / 2^(3+pdiv) and q = p’ / p for each pair (pmul , pdiv) and select one of the pairs satisfying the condition 0.95 < q < 1.0. So, the value q interpreted as a function q(a_max, ramp_div, pulse_div, pmul, pdiv) gives the quality criterion required. Although q = 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 26 The mode called RAMP_MODE is provided as the default mode for positioning tasks, while the VELOCITY_MODE is for applications, where stepper motors have to be driven precisely with constant velocity. The SOFT_MODE is similar to the standard RAMP_MODE except that the target position is approached exponentially reduced velocity. This feature can be useful for applications where vibrations at the target position have to be minimized.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 27 Note: Definition of the reference switch by the configuration bit REF_RnL has no effect on the stop function of the reference switches if DISABLE_STOP_L=’0’ respectively DISABLE_STOP_R=’0’. The bit REF_RnL (reference switch Right not Left) defines which switch is the reference switch: If set to ‘1’, the right, else (set to ‘0’) the left one is the reference switch.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 28 INT is low (‘0’). The interrupt status is mapped to the most significant bit (31) of each datagram sent back to the µC (see Table 7-4, page 15) and it is only available at the SDO_C / nINT pin of the TMC429 if the pin nSCS_C is high. Demultiplexing of the multiplexed interrupt status signal at the pin SDO_C / nINT can be done using additional hardware.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 29 switch changes from high to low and if the interrupt mask bit MASK_STOP_LEFT_LOW is set. The interrupt flag INT_STOP_RIGHT_LOW is similar to INT_STOP_LEFT_LOW but for the right reference switch. The INT_STOP_LEFT_HIGH indicates that the left reference switch input changes from low to high if the mask MASK_STOP_LEFT_HIGH is set. The INT_STOP_RIGHT_HIGH indicates it for the right reference switch if the mask MASK_STOP_LEFT_HIGH is set. 9.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 30 Important Hint: Changing pulse_div in VELOCITY_MODE or in HOLD_MODE might force an internal micro step (with micro step resolution defined by usrs) depending on the actual micro step position. This is the same for the TMC429. This behavior can be observed especially when the motor is at rest in VELOCITY_MODE or in HOLD_MODE. In RAMP_MODE this does not occur. So, pulse_div should only be changed in RAMP_MODE. 9.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 31 10 Global Parameter Registers The registers addressed by RRS=0 with SMDA=%11 are global parameter registers. To emphasize this difference, the JDX is used as index name instead of IDX. 10.1 datagram_low_word (JDX=%0000) & datagram_high_word (JDX=%0001) The TMC429 stores datagrams sent back from the stepper motor driver chain with a total length of up to 48 bits.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 32 writes cover_pos but reads back cover_pos+1. The cw (= cover waiting) bit available by read out of this register. The CDGW status bit (see section 10.3) is the result of logical OR between cw and an internal signal that indicates the status of the stepper motor serial driver chain send register. 10.3 cover_datagram (JDX=%0011) This register holds up to 24 bit of a cover datagram. A cover datagram covers the next datagram sent to the stepper motor driver chain.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 33 10.5 if_configuration_429 (JDX=%0100) The register if_configuration_429 is the interface configuration register for the TMC429. It is for configuration of the additional reference inputs, the demultiplexed interrupt output, the step / direction interface and for association of the position compare output signal to one stepper motor.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 34 10.5.1 TMC429 Step/Direction Timning The step direction mode is enabled while the "ENable StepDirection" control bit EN_SD of the if_configuration_429 register is set to '1'. The timing of the step direction interface is controllen by the four LSBs [3…0] of the clk2_div of the global parameter register. The clk2_div[3…0] is named stpdiv_429.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 35 10.10 Reference Switches l3 & r3 & l2 & r2 & l2 & r1 (JDX=%1110) The current state of all reference switches– demultiplexed internally by the TMC429 if left and right reference switches are used –can be read from this read-only register. The bit named continuous_update of the Stepper Motor Global Parameter Register (JDX=%1111) is important for reading out of reference switches as explained below. 10.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 36 if it is ‘1’ fast decay is low active. The bit named polarity_DAC_AB defines the polarity of the DAC bit vectors. If it is ‘0’ the DAC bits are high active and if it is ‘1’ the DAC bits are inverted – low active.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 37 The bit continuous_update is also important for the automatic coil current scaling (see page 21). This bit must be set to ‘1’ to be sure that the coil current is also scaled if all motors are at rest. Important Hint: The TMC429-I (SSOP16 package variant) hat only one left side reference switch available when operating in step-direction mode.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 39 10.12 Triple Switch Configuration The programmable tolerance range around the reference switch position is useful for a triple switch configuration, as outlined in Figure 10-8. In that configuration two switches are used as automatic stop switches, and one additional switch is used as the reference switch between the left stop switch and the right stop switch. The left stop switch and the reference switch are wired or.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 40 10.14 Simultanous Start of up to Three Stepper Motors Starting stepper motors simultaneously can be acheved by sending successive datagrams starting the stepper motors. If the delay between those datagrams is of the magnitude of some microseconds, the stepper motors can be considered as started simultaneously. Feeding the reference switch signals through or gates (see Figure 10-10) allows exact simultaneous start of the stepper motors under software control.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 42 MSB MDA CA3 CA2 CA1 CA0 PHA MDB CB3 CB2 CB1 CB0 PHB ... DAC_A_0 DAC_A_1 PH_A FD_A DAC_B_0 DAC_B_1 Serial-to-Parallel Interface(s) Serial Driver Interface ... 3x PH_B FD_B Direction Step LSB Zero One control signals Micro Stepping Unit (incl.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 43 The control signals for each of the two coils of a 2-phase stepper motor are 6 bits for the DAC controlling the current of a coil, a phase polarity bit, and a fast decay bit for those stepper motor driver chips with a fast decay feature for the coil current. These signals are available individually for each coil (COIL A and COIL B). Constant configuration bits named Zero and One are provided. Additionally, step and direction bits are available.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) MSBs of full wave index (range) %00 (0...63) %01 (64...127) %10 (128...191) %11 (192...255) Quadrant 48 PH_A (sin) PH_B (cos) FD_A (sin) FD_B (cos) 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 st 1 nd 2 rd 3 th 4 Table 13-3: Phase Bits and Fast Decay Control Bits Hints: One should always initialize the whole LUT to be sure to read valid wave values, even if one changes the micro step resolution after some micro steps have been done on higher resolution.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 49 13.3 Micro Step Enhancement Even for stepper motors optimized for sine-cosine control, it is possible to improve micro step behavior by adapting the micro step look-up table (LUT). For different types of stepper motors, a periodic trapezoidal or triangular function similar to a sine function or a superposition of these function as a replacement of the pure sine wave function (Figure 13-1) might be a better choice.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 50 The shape parameter σ selects one of three functions fbox(φ), fcircle(φ), frhomb(φ), respectively a superposition of two of them. The shape parameter σ = 0 selects the function fcircle(φ) which is the sine function sin( ) as used for sine cosine microstepping. With this, one gets the unit circle (r=1.0) by transformation to Cartesian coordinates {y = sin( ); x = cos( )} as outlined in Figure 13-1, a shape parameter σ = +1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 51 15 How to Run a Motor with Start-Stop-Speed in RAMP_MODE Either the TMC428 or the TMC429 has an integrated automatic start-stop-speed mechanism because this can easily realized by a simple command sequence. To start and stop with with a speed V_START_STOP different from zero, one has to do the follwoing: 1. 2. 3. 4.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 52 16 Package Outlines and Dimensions 16.1 Shrink Small Outline Package with 16 Pins (SSOP16, 150 MIL, JEDEC drawing MO-137 (150 mils)) of TMC429 S TOP VIEW h x 45° 7 8 6 5 4 3 2 1 LEAD (SIDE VIEW) b b1 E H c1 c WITH PLATING 9 10 11 12 13 14 15 16 e BASE METAL N=16 B h x 45° C A2 A L D A1 END VIEW SIDE VIEW Figure 16-1: Package Outline Drawing SSOP16, 150 MILS, 0.635mm (0.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 53 16.2 Small Outline Package with 24 Pins (SOP24) of TMC429-PI24, JEDEC drawing MS-013 (300 mils) TOP VIEW h x 45° 11 12 10 9 8 7 6 5 4 3 2 1 E H N = 24 13 14 15 16 17 18 19 20 21 22 23 24 h x 45° B e C A2 A L D A1 SIDE VIEW END VIEW Figure 16-2: Package Outline Drawing SOP24, 300 MILS Symbo l A A1 A2 B C D E e H h L N Dimensions in INCHES Dimensions in MILLIMETERS Min 2.35 0.1 Typ 0.33 0.23 15.2 7.4 Max 2.65 0.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 54 16.3 QFN Package with 32 Pins (QFN32) of TMC429-LI Figure 16-3: Package Outline Drawing QFN32 Parameter total thickness stand off mold thickness lead frame thickness lead width body size X body size Y lead pitch exposed die pad size X exposed die pad size Y lead length package edge tolerance mold flatness co-planarity lead offset exposed pad offset Symbol A A1 A2 A3 b D E e J K L aaa bbb ccc ddd eee Dimensions in MILLIMETERS Min 0.80 0.00 0.2 3.2 3.2 0.
TMC429 DATASHEET (v. 1.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 56 18 On-Chip Voltage Regulator The on-chip voltage regulator delivers a 3.3V supply for the chip core. An external 470nF ceramic capacitor has to be connected between the V33 pin (see Figure 18-1, page 56) and ground, with connections as short as possible. Additionally, an external 100nF ceramic capacitor (CBLOCK) has to be connected between pin V5 and ground– with connections as short as possible –in 5V operational mode. In 3.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 57 19 Power-On-Reset The TMC429 is equipped with a static and dynamic reset with internal hysteresis (see Figure 19-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 18-1 ).
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 58 20 Characteristics Symbol VDD3 VI3 VO3 VDD5 VI5 VO5 VESD Parameter DC Supply Voltage DC Input Voltage, 3.3 V I/Os DC Output Voltage, 3.3 V I/Os DC Supply Voltage DC Input Voltage, 5V I/Os DC Output Voltage, 5V I/Os ESD Voltage TEMP_D2 TEMP_D3 TEMP_D4 TSG Ambient Air Temperature Range Ambient Air Temperature Range Ambient Air Temperature Range Storage Temperature Conditions Voltage at Pin V33 in 3.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) Symbol ISC32MHZ ISC16MHZ ISC8MHZ429 ISC4MHZ IPDN25C Parameter Supply Current Supply Current Supply Current Supply Current Power Down Current 59 Conditions f = 32 MHz at Tc=25°C f = 16 MHz at Tc=25°C f = 8 MHz at Tc=25°C (IOs driven) f = 4 MHz at Tc=25°C Power Down Mode at Tc=25°C, 5V Supply Min Conditions fCLK = 1 / tCLK Raising Edge to Raising Edge of CLK Min 0 31.25 Typ 15 5 5 1.25 70 Max 2.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 60 21 Example for Calculation of p_mul and p_div for the TMC429 /* PROGRAM EXAMPLE ‘pmulpdiv.c’ : How to Calculate p_mul & p_div for the TMC429 */ #include #include #include #include
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 61 22 Revision History Version 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 Date (Author) Comment December 08, 2009 (LL) TMC429 Datasheet v. 1.00 based on TMC428 Datasheet v. 2.03 / December 18, 2009; section 9.11.1 Optimized Calculation of p_mul and p_div corrected (p.
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 62 23 Table of Figures Figure 1: TMC429 within QFN32 package. ............................................................................................. 4 Figure 2: TMC429 / TMC26x outline for configuration via SPI and step direction for motion (only SPI signals and Step/Direcction signals drawn). ..................................................................................... 4 Figure 3-3: TMC429 application environment with TMC429 in SSOP16 package ......
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 63 Table 10-2: TMC429 interface configuration register ............................................................................ 33 Table 10-3: Stepper motor global parameter register............................................................................ 35 Table 10-4: Global parameter LSMD (last stepper motor driver) ..........................................................
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 64 9.1 x_target (IDX=%0000)............................................................................................................. 19 9.2 x_actual (IDX=%0001) ............................................................................................................ 19 9.3 v_min (IDX=%0010) ................................................................................................................ 19 9.4 v_max (IDX=%0011) ................................
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 16.3 65 QFN Package with 32 Pins (QFN32) of TMC429-LI ........................................................... 54 17 Marking ...................................................................................................................................... 55 18 On-Chip Voltage Regulator ...................................................................................................... 56 19 Power-On-Reset ...........................................