POWER DRIVER FOR STEPPER MOTORS INTEGRATED CIRCUITS TMC5041 DATASHEET Dual controller/driver for up to two 2-phase bipolar stepper motors. stealthChop™ no-noise stepper operation. Integrated motion controller with SPI interface.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 2 APPLICATION EXAMPLES: HIGH FLEXIBILITY – MULTIPURPOSE USE The TMC5041 scores with power density, complete motion controlling features and integrated power stages. It offers a versatility that covers a wide spectrum of applications from battery systems up to embedded applications with 1.5A motor current per coil. The small form factor keeps costs down and allows for miniaturized layouts.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 3 TABLE OF CONTENTS 1 PRINCIPLES OF OPERATION 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2 KEY CONCEPTS 5 SPI CONTROL INTERFACE 6 SOFTWARE 6 MOVING AND CONTROLLING THE MOTOR 6 STEALTHCHOP DRIVER WITH PROGRAMMABLE MICROSTEPPING WAVE 6 STALLGUARD2 – MECHANICAL LOAD SENSING 6 COOLSTEP – LOAD ADAPTIVE CURRENT CONTROL 7 PIN ASSIGNMENTS 2.1 2.2 3 PACKAGE OUTLINE SIGNAL DESCRIPTIONS SAMPLE CIRCUITS 3.1 3.2 3.3 3.4 3.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 4 24 ESD SENSITIVE DEVICE 83 25 TABLE OF FIGURES 84 26 REVISION HISTORY 85 www.trinamic.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 1 5 Principles of Operation REFL1 REFR1 ref. / stop switches motor 1 +VM F tor p mo e t S l coo river d F reference switch processing VCP CPI 100n charge pump CPO VSA 5VOUT 100n 5V Voltage regulator VCC 4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 6 1.2 SPI Control Interface The SPI interface is a bit-serial interface synchronous to a bus clock. For every bit sent from the bus master to the bus slave another bit is sent simultaneously from the slave to the master. Communication between an SPI master and the TMC5041 slave always consists of sending one 40-bit command word and receiving one 40-bit status word. The SPI command rate typically is a few commands per complete motor motion. 1.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 7 1.7 coolStep – Load Adaptive Current Control coolStep drives the motor at the optimum current. It uses the stallGuard2 load measurement information to adjust the motor current to the minimum amount required in the actual load situation. This saves energy and keeps the components cool.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 2 8 Pin Assignments TST_MODE O1A1 BR1A O1A2 VS GNDP VS O1B1 BR1B O1B2 - VCP 48 47 46 45 44 43 42 41 40 39 38 37 2.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) Pin VCC Number 33 Type DIE_PAD - GND 9 Function 5V supply input for digital circuitry within chip and charge pump. Attach 470nF capacitor to GND (GND plane). May be supplied by 5VOUT. A 2.2Ω resistor is recommended for decoupling noise from 5VOUT. When using an external supply, make sure, that VCC comes up before or in parallel to 5VOUT or VCC_IO, whichever comes up later! Connect the exposed die pad to a GND plane.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) Pin O2A1 BR2A Number 14 15 Type O (VS) O2A2 VS 16 17, 19 O (VS) GNDP O2B1 BR2B 18 20 21 GND O (VS) O2B2 O1B2 BR1B 22 39 40 O (VS) O (VS) O1B1 VS 41 42, 44 O (VS) GNDP O1A2 BR1A 43 45 46 GND O (VS) O1A1 47 O (VS) Table 2.4 Power driver pins www.trinamic.com 10 Function Motor 2 coil A output 1 Sense resistor connection for motor 2 coil A. Place sense resistor to GND near pin. Motor 2 coil A output 2 Motor supply voltage.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 3 11 Sample Circuits The sample circuits show the connection of the external components in different operation and supply modes. The connection of the bus interface and further digital signals is left out for clarity. VSA 5VOUT 4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 12 REFR1 REFL1 CPI 22n CPO 3.2 5 V Only Supply +5V VS +5V 5VOUT 100n O1A1 Full Bridge A 5V Voltage regulator 4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 13 3.3 External 5V Power Supply When an external 5V power supply is available, the power dissipation caused by the internal linear regulator can be eliminated. This especially is beneficial in high voltage applications, and when thermal conditions are critical.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 3.3.2 14 Internal Regulator Bridged In case a clean external 5V supply is available, it can be used for complete supply of analog and digital part (Figure 3.4). The circuit will benefit from a well regulated supply, e.g. when using a +/-1% regulator. A precise supply guarantees increased motor current precision, because the voltage at 5VOUT directly is the reference voltage for all internal units of the driver, especially for motor current control.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 15 conductive parts, especially the motors themselves to PCB ground, or to apply electrically conductive plastic parts. In addition, the driver can be protected up to a certain degree against ESD events or live plugging / pulling the motor, which also causes high voltages and high currents into the motor connector terminals. A simple scheme uses capacitors at the driver outputs to reduce the dV/dt caused by ESD events.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 4 16 SPI Interface 4.1 SPI Datagram Structure The TMC5041 uses 40 bit SPI™ (Serial Peripheral Interface, SPI is Trademark of Motorola) datagrams for communication with a microcontroller. Microcontrollers which are equipped with hardware SPI are typically able to communicate using integer multiples of 8 bit. The NCS line of the TMC5072 must be handled in a way, that it stays active (low) for the complete duration of the datagram transmission.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 17 Example: For a read access to the register (XACTUAL) with the address 0x21, the address byte has to be set to 0x21 in the access preceding the read access. For a write access to the register (VACTUAL), the address byte has to be set to 0x80 + 0x22 = 0xA2. For read access, the data bit might have any value (-). So, one can set them to 0.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 18 4.3 Timing The SPI interface is synchronized to the internal system clock, which limits the SPI bus clock SCK to half of the system clock frequency. If the system clock is based on the on-chip oscillator, an additional 10% safety margin must be used to ensure reliable data transmission. All SPI inputs as well as the ENN input are internally filtered to avoid triggering on pulses shorter than 20ns. Figure 4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5 19 Register Mapping This chapter gives an overview of the complete register set. Some of the registers bundling a number of single bits are detailed in extra tables. The functional practical application of the settings is detailed in dedicated chapters. Note - All registers become reset to 0 upon power up, unless otherwise noted.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 20 5.1 General Configuration Registers GENERAL CONFIGURATION REGISTERS (0X00…0X0F) R/W RW Addr n Register 0x00 11 GCONF R+C 0x01 4 GSTAT W 0x03 4 TEST_SEL R 0x04 9 + 8 INPUT www.trinamic.com Description / bit names Bit GCONF – Global configuration flags 0..2 Reserved, set to 0 3 poscmp_enable 0: Outputs INT and PP are tristated.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 21 GENERAL CONFIGURATION REGISTERS (0X00…0X0F) R/W Addr n Register W 0x05 32 X_COMPARE Description / bit names Position comparison register for motor 1 position strobe. Activate poscmp_enable to get position pulse on output PP. XACTUAL = X_COMPARE: - www.trinamic.com Output PP becomes high. It returns to a low state, if the positions mismatch.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 22 5.2 Ramp Generator Registers Addresses Addr are specified for motor 1 (upper value) and motor 2 (second address). 5.2.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 23 RAMP GENERATOR MOTION CONTROL REGISTER SET (MOTOR 1: 0X20…0X2D, MOTOR 2: 0X40…0X4D) R/W Addr n Register W 0x2B 0x4B 18 VSTOP W 0x2C 0x4C 16 TZEROWAIT Description / bit names Motor stop velocity (unsigned) Attention: Set VSTOP ≥ VSTART! Attention: Do not set 0 in positioning mode, minimum 10 recommended! Waiting time after ramping down to zero velocity before next movement or direction inversion can start and before motor power down starts.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5.2.2 24 Ramp Generator Driver Feature Control Register Set RAMP GENERATOR DRIVER FEATURE CONTROL REGISTER SET (MOTOR 1: 0X30…0X36, MOTOR 2: 0X50…0X56) R/W W Addr n Register 0x30 0x50 5 + 5 + 4 IHOLD_IRUN Description / bit names Bit IHOLD_IRUN – Driver current control 4..0 IHOLD Standstill current (0=1/32…31=32/32) In combination with stealthChop mode, setting IHOLD=0 allows to choose freewheeling or coil short circuit for motor stand still. 12..
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 25 RAMP GENERATOR DRIVER FEATURE CONTROL REGISTER SET (MOTOR 1: 0X30…0X36, MOTOR 2: 0X50…0X56) R/W RW R+C R Addr 0x34 0x54 0x35 0x55 0x36 0x56 n 12 14 32 Register SW_MODE RAMP_STAT XLATCH Description / bit names Switch mode configuration See separate table! Ramp status and switch event status See separate table! Ramp generator latch position, latches XACTUAL upon a programmable switch event (see SW_MODE).
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 26 6.2.2.1 SW_MODE – Reference Switch & stallGuard2 Event Configuration Register 0X34, 0X54: SW_MODE – REFERENCE SWITCH AND STALLGUARD2 EVENT CONFIGURATION REGISTER Bit 11 Name en_softstop Comment 0: Hard stop 1: Soft stop The soft stop mode always uses the deceleration ramp settings DMAX, V1, D1, VSTOP and TZEROWAIT for stopping the motor.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 27 6.2.2.2 RAMP_STAT – Ramp and Reference Switch Status Register 0X35, 0X55: RAMP_STAT – RAMP AND REFERENCE SWITCH STATUS REGISTER R/W R Bit 13 Name status_sg R+C 12 second_move R 11 R R 10 9 R 8 R+C 7 t_zerowait_ active vzero position_ reached velocity_ reached event_pos_ reached R+C 6 event_stop_ sg R 5 event_stop_r 4 event_stop_l 3 status_latch_r 2 status_latch_l 1 0 status_stop_r status_stop_l R+C R www.trinamic.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 28 5.3 Microstep Table Registers COMMON MICROSTEP TABLE REGISTERS (MOTOR 1/2: 0X60…0X69) R/W Addr n Register MSLUT[0] W 0x60 32 microstep table entries 0…31 MSLUT[1...
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5.3.1 29 MSLUTSEL – Look up Table Segmentation Definition 0X68: MSLUTSEL – LOOK UP TABLE SEGMENTATION DEFINITION Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Name X3 X2 Function LUT segment 3 start LUT segment 2 start Comment The sine wave look up table can be divided into up to four segments using an individual step width control entry Wx. The segment borders are selected by X1, X2 and X3.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 30 5.4 Motor Driver Registers MOTOR DRIVER REGISTER SET (MOTOR 1: 0X6A…0X6F, MOTOR 2: 0X7A…0X7F) R/W Addr n Register R 0x6A 0x7A 10 MSCNT R 0x6B 0x7B 9 + 9 MSCURACT RW 0x6C 0x7C 32 CHOPCONF W 0x6D 0x7D 25 COOLCONF R 0x6F 0x7F 32 DRV_ STATUS www.trinamic.com Description / bit names Microstep counter. Indicates actual position in the microstep table for CUR_A. CUR_B uses an offset of 256.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5.4.1 31 CHOPCONF – Chopper Configuration 0X6C, 0X7C: CHOPCONF – CHOPPER CONFIGURATION Bit 31 30 Name diss2g 29 28 27 26 25 24 mres3 mres2 mres1 mres0 23 22 21 20 19 vhighchm reserved high velocity chopper mode This bit enables switching to chm=1 and fd=0, when VHIGH is exceeded. This way, a higher velocity can be achieved. Can be combined with vhighfs=1.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 32 0X6C, 0X7C: CHOPCONF – CHOPPER CONFIGURATION Bit 11 Name fd3 Function TFD [3] 10 9 8 7 hend3 hend2 hend1 hend0 HEND hysteresis low value OFFSET sine wave offset 6 5 4 hstrt2 hstrt1 hstrt0 HSTRT hysteresis start value added to HEND TFD [2..0] fast decay time setting 3 2 1 0 toff3 toff2 toff1 toff0 www.trinamic.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5.4.2 33 COOLCONF – Smart Energy Control coolStep and stallGuard2 0X6D, 0X7D: COOLCONF – SMART ENERGY CONTROL COOLSTEP AND STALLGUARD2 Bit … 24 Name sfilt Function reserved stallGuard2 filter enable 23 22 21 20 19 18 17 16 15 sgt6 sgt5 sgt4 sgt3 sgt2 sgt1 sgt0 seimin reserved stallGuard2 threshold value 14 13 sedn1 sedn0 12 11 10 9 8 7 6 5 4 3 2 1 0 semax3 semax2 semax1 semax0 seup1 seup0 semin3 semin2 semin1 semin0 www.trinamic.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 5.4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 35 5.5 Voltage PWM mode stealthChop MOTOR DRIVER PWM REGISTER SET (MOTOR 1: 0X10…0X17, MOTOR 2: 0X18…0X1F) R/W Addr 0x10 0x18 0x11 0x19 W R 5.5.1 n Register 22 PWMCONF 8 PWM_ STATUS Description / bit names Voltage PWM mode chopper configuration See separate table! Actual PWM scaler (255=max.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 6 36 Current Setting The internal 5 V supply voltage available at the pin 5VOUT is used as a reference for the coil current regulation based on the sense resistor voltage measurement. The desired maximum motor current is set by selecting an appropriate value for the sense resistor. The sense resistor voltage range can be selected by the vsense bit in CHOPCONF.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) Parameter IRUN IHOLD IHOLD DELAY vsense Description Current scale when motor is running. Scales coil current values as taken from the internal sine wave table. For high precision motor operation, work with a current scaling factor in the range 16 to 31, because scaling down the current values reduces the effective microstep resolution by making microsteps coarser. This setting also controls the maximum current value set by coolStep.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 38 7 stealthChop™ stealthChop is an extremely quiet mode of operation for low and medium velocities. It is based on a voltage mode PWM. In case of standstill and at low velocities, the motor is absolutely noiseless. Thus, stealthChop operated stepper motor applications are very suitable for indoor or home use. The motor operates absolutely free of vibration at low velocities.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 39 7.2 Automatic Scaling In stealthChop voltage PWM mode, the autoscaling function (pwm_autoscale = 1) regulates the motor current to the desired current setting. The driver measures the motor current during the chopper on time and uses a proportional regulator to regulate the PWM_SCALE in order match the motor current to the target current. PWM_GRAD is the proportionality coefficient for this regulator.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) Motor current PWM scale Velocity 40 PWM reaches max. amplitude 255 PW M_ GR AD ok Nominal current (sine wave RMS) AD GR M_ PW RMS current constant ok Stand still PWM scale Current may drop due to high velocity 0 0 Time Setting for PWM_GRAD ok.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 41 With VM the motor supply voltage and RCOIL the motor coil resistance. ILower Limit can be treated as a thumb value for the minimum possible motor current setting. Example: A motor has a coil resistance of 5Ω, the supply voltage is 24V. With TBL=%01 and PWM_FREQ=%00, tBLANK is 24 clock cycles, fPWM is 2/(1024 clock cycles): 𝐼𝐿𝑜𝑤𝑒𝑟 𝐿𝑖𝑚𝑖𝑡 = 24 𝑡𝐶𝐿𝐾 ∗ 2 24𝑉 24 24𝑉 ∗ = ∗ = 225𝑚𝐴 1024 𝑡𝐶𝐿𝐾 5Ω 512 5Ω For pwm_autoscale mode, a lower coil current limit applies.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 𝑃𝑊𝑀_𝐴𝑀𝑃𝐿 = 42 374 ∗ 𝑅𝐶𝑂𝐼𝐿 ∗ 𝐼𝐶𝑂𝐼𝐿 𝑉𝑀 With VM the motor supply voltage and ICOIL the target RMS current The effective PWM voltage UPWM (1/SQRT(2) x peak value) results considering the 8 bit resolution and 248 sine wave peak for the actual PWM amplitude shown as PWM_SCALE: 𝑈𝑃𝑊𝑀 = 𝑉𝑀 ∗ 𝑃𝑊𝑀_𝑆𝐶𝐴𝐿𝐸 248 1 𝑃𝑊𝑀_𝑆𝐶𝐴𝐿𝐸 ∗ ∗ = 𝑉𝑀 ∗ 256 256 √2 374 With rising motor velocity, the motor generates an increasing back EMF voltage.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 43 7.4 Combining stealthChop with other Chopper Modes The TMC5041 allows combining stealthChop and different chopper modes based on velocity thresholds. This way, the optimum chopper principle can be chosen for different velocity ranges. As a first step, both chopper principles should be parameterized and optimized individually. In a next step, a transfer velocity has to be fixed.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 44 7.5 Flags in stealthChop 7.5.1 Open Load Flags In stealthChop mode, status information is different from the cycle-by-cycle regulated chopper modes. OLA and OLB show if the current regulation sees that the nominal current can be reached on both coils. - A flickering OLA or OLB can result from tiny asymmetries in the sense resistors or in the motor coils. An interrupted motor coil leads to a continuously active open load flag for the coil.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 45 7.6 Freewheeling and Passive Motor Braking stealthChop provides different options for motor standstill. These options can be enabled by setting the standstill current IHOLD to zero and choosing the desired option using the FREEWHEEL setting. The desired option becomes enabled after a time period specified by TZEROWAIT and IHOLD_DELAY. The PWM_SCALE regulation becomes frozen once the motor target current is at zero current in order to ensure a quick startup.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 8 46 spreadCycle and Classic Chopper While stealthChop is a voltage mode PWM controlled chopper, spreadCycle is a cycle-by-cycle current control. Therefore, it can react extremely fast to changes in motor velocity or motor load. The currents through both motor coils are controlled using choppers. The choppers work independently of each other. In Figure 8.1 the different chopper phases are shown.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 47 Three parameters are used for controlling both chopper modes: Parameter TOFF Description Setting Sets the slow decay time (off time). This setting also 0 limits the maximum chopper frequency. 1…15 For operation with stealthChop, this parameter is not used, but it is required to enable the motor. In case of operation with stealthChop only, any setting is OK.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 48 checked when measuring the motor current either with a current probe or by probing the sense resistor voltages (see Figure 8.2). Checking the sine wave shape near zero transition will show a small ledge between both half waves in case the hysteresis setting is too small. At medium velocities (i.e. 100 to 400 fullsteps per second), a too low hysteresis setting will lead to increased humming and vibration of the motor. Figure 8.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) I target current + hysteresis start 49 HDEC target current + hysteresis end target current target current - hysteresis end target current - hysteresis start on sd fd sd t Figure 8.3 spreadCycle chopper scheme showing coil current during a chopper cycle Two parameters control spreadCycle mode: Parameter HSTRT HEND Description Setting Hysteresis start setting. This value is an offset 0…7 from the hysteresis end value HEND.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 50 8.2 Classic Constant Off Time Chopper The classic constant off time chopper is an alternative to spreadCycle. Perfectly tuned, it also gives good results. Also, the classic constant off time chopper is beneficial when used in combination with fullstepping, i.e. at high velocity. The classic constant off-time chopper uses a fixed-time fast decay following each on phase.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 51 Parameter TFD (fd3 & HSTRT) Description Setting Fast decay time setting. With CHM=1, these bits 0 control the portion of fast decay for each chopper 1…15 cycle. Comment slow decay only duration of fast decay phase OFFSET (HEND) Sine wave offset. With CHM=1, these bits control 0…2 the sine wave offset. A positive offset corrects for 3 zero crossing error.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 9 52 Driver Diagnostic Flags The TMC5041 drivers supply a complete set of diagnostic and protection capabilities, like short to GND protection and undervoltage detection. A detection of an open load condition allows testing if a motor coil connection is interrupted. See the DRV_STATUS table for details. 9.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 53 10 Ramp Generator The ramp generator allows motion based on target position or target velocity. It automatically calculates the optimum motion profile taking into account acceleration and velocity settings. The TMC5041 integrates a new type of ramp generator, which offers faster machine operation compared to the classical linear acceleration ramps.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 54 10.2 Motion Profiles For the ramp generator register set, please refer to the chapter 5.2. 10.2.1 Ramp Mode The ramp generator delivers two phase acceleration and two phase deceleration ramps with additional programmable start and stop velocities (see Figure 10.1). Note The start velocity can be set to zero, if not used. The stop velocity can be set to ten (or down to one), if not used. Take care to always set VSTOP identical to or above VSTART.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 55 torque high deceleration 2xMFRICT MNOM2 Torque for VSTART MNOM1 high acceleration Torque available for acceleration A1 VMAX Torque required for static loads V1 0 reduced accel. Torque available for AMAX VSTART MFRICT reduced decel. motor torque MMAX velocity [RPM] MFRICT Portion of torque required for friction and static load within the system MMAX Motor pull-out torque at v=0 MNOM1/2 Torque available at V1 resp.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 56 REALIZE JOYSTICK CONTROL 1. 2. 3. 4. Use positioning mode in order to control the motion direction and to set the motion limit(s). Modify VMAX at any time in the range VSTART to your maximum value. With VSTART=0, you can also stop motion by setting VMAX=0. The motion controller will use A1 and AMAX as determined by V1 to adapt velocity for ramping up and ramping down.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 57 Note Since it is not necessary to differentiate the velocity to the last detail, the velocity thresholds use a reduced number of bits for comparison and the lower eight bits of the compare values become ignored. 10.5 Reference Switches Prior to normal operation of the drive an absolute reference position must be set. The reference position can be found using a mechanical stop which can be detected by stall detection, or by a reference switch.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 58 IMPLEMENTING A HOMING PROCEDURE 1. 2. 3. 4. 5. 6. Make sure, that the home switch is not pressed, e.g. by moving away from the switch. Activate position latching upon the desired switch event and activate motor (soft) stop upon active switch. stallGuard based homing requires using a hard stop (en_softstop=0). Start a motion ramp into the direction of the switch.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 59 11 stallGuard2 Load Measurement stallGuard2 provides an accurate measurement of the load on the motor. It can be used for stall detection as well as other uses at loads below those which stall the motor, such as coolStep loadadaptive current reduction. The stallGuard2 measurement value changes linearly over a wide range of load, velocity, and current settings, as shown in Figure 11.1. At maximum motor load, the value goes to zero or near to zero.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 60 11.1 Tuning stallGuard2 Threshold SGT The stallGuard2 value SG is affected by motor-specific characteristics and application-specific demands on load and velocity. Therefore the easiest way to tune the stallGuard2 threshold SGT for a specific motor type and operating conditions is interactive tuning in the actual application. INITIAL PROCEDURE FOR TUNING STALLGUARD SGT 1. 2. 3. 4.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 61 11.1.1 Variable Velocity Limits VCOOLTHRS and VHIGH The SGT setting chosen as a result of the previously described SGT tuning can be used for a certain velocity range. Outside this range, a stall may not be detected safely, and coolStep might not give the optimum result.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 62 11.2 stallGuard2 Update Rate and Filter The stallGuard2 measurement value SG is updated with each full step of the motor. This is enough to safely detect a stall, because a stall always means the loss of four full steps. In a practical application, especially when using coolStep, a more precise measurement might be more important than an update for each fullstep because the mechanical load never changes instantaneously from one step to the next.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 63 12 coolStep Operation coolStep is an automatic smart energy optimization for stepper motors based on the motor mechanical load, making them “green”. 12.
stallGuard2 reading mechanical load 64 motor current TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) current setting I_RUN (upper limit) motor current reduction area SEMAX+SEMIN+1 SEMIN ½ or ¼ I_RUN (lower limit) motor current increment area 0=maximum load load angle optimized Zeit slow current reduction due to reduced motor load load angle optimized current increment due to increased load stall possible load angle optimized Figure 12.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 65 12.3 Tuning coolStep Before tuning coolStep, first tune the stallGuard2 threshold level SGT, which affects the range of the load measurement value SG. coolStep uses SG to operate the motor near the optimum load angle of +90°. The current increment speed is specified in SEUP, and the current decrement speed is specified in SEDN. They can be tuned separately because they are triggered by different events that may need different responses.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 66 13 Sine-Wave Look-up Table The TMC5041 driver provides a programmable look-up table for storing the microstep current wave. It is common to both drivers. As a default, the table is pre-programmed with a sine wave, which is a good starting point for most stepper motors. Reprogramming the table to a motor specific wave allows drastically improved microstepping especially with low-cost motors. 13.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 67 When the microstep sequencer advances within the table, it calculates the actual current values for the motor coils with each microstep and stores them to the registers CUR_A and CUR_B. However the incremental coding requires an absolute initialization, especially when the microstep table becomes modified. Therefore CUR_A and CUR_B become initialized whenever MSCNT passes zero.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 68 14 Quick Configuration Guide This guide is meant as a practical tool to come to a first configuration and do a minimum set of measurements and decisions for tuning the driver. It does not cover all advanced functionalities, but concentrates on the basic function set to make a motor run smoothly. Once the motor runs, you may decide to explore additional features, e.g. freewheeling and further functionality in more detail.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 69 TUNING STEALTHCHOP AND SPREADCYCLE SC2 spreadCycle Configuration Try motion with desired acceleration and deceleration (not exceeding VCOOLTHRS) PWMCONF Disable stealthChop by setting PWM_GRAD=0 Coil current overshoot upon deceleration? Y PWMCONF increase PWM_GRAD (max.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 70 MOVING THE MOTOR USING THE MOTION CONTROLLER Move Motor Move to Target Configure Ramp Parameters RAMPMODE set velocity_positive RAMPMODE set position Start Velocity Set VSTART=0. Higher velcoity for abrupt start (limited by motor). Set AMAX=1000, set VMAX=100000 or different values Configure ramp parameters Stop Velocity Set VSTOP=10, but not below VSTART. Higher velocity for abrupt stop.
TMC5041 DATASHEET (Rev. 1.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 72 15 Getting Started Please refer to the TMC5041 evaluation board to allow a quick start with the device, and in order to allow interactive tuning of the device setup in your application. Chapter 14 will guide you through the process of correctly setting up all registers. 15.1 Initialization Examples SPI datagram example sequence to enable and initialize driver 1 for spreadCycle operation combined with stealthChop at low velocities.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 73 16 External Reset The chip is loaded with default values during power on via its internal power-on reset. In order to reset the chip to power on defaults, any of the supply voltages monitored by internal reset circuitry (VSA, +5VOUT or VCC_IO) must be cycled. VCC is not monitored. Therefore VCC must not be switched off during operation of the chip.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 74 steep slopes when using a high clock frequency. The external clock input is enabled with the first positive polarity seen on the CLK input. Attention Switching off the external clock frequency prevents the driver from operating normally. Therefore be careful to switch off the motor drivers before switching off the clock (e.g. using the enable input), because otherwise the chopper would stop and the motor current level could rise uncontrolled.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 75 18 Absolute Maximum Ratings The maximum ratings may not be exceeded under any circumstances. Operating the circuit at or near more than one maximum rating at a time for extended periods shall be avoided by application design. Parameter Supply voltage operating with inductive load (VVS ≥ VVSA) Supply and bridge voltage max.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 76 19.2 DC Characteristics and Timing Characteristics DC characteristics contain the spread of values guaranteed within the specified supply voltage range unless otherwise specified. Typical values represent the average value of all parts measured at +25°C. Temperature variation also causes stray to some values. A device with typical values will not leave Min/Max range within the full temperature range. Power supply current DC-Characteristics VVS = 24.
TMC5041 DATASHEET (Rev. 1.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) Digital pins Parameter DC-Characteristics Symbol Input voltage low level Input voltage high level Input Schmitt trigger hysteresis VINLO VINHI VINHYST Output voltage low level Output voltage high level Input leakage current Digital pin capacitance VOUTLO VOUTHI IILEAK C www.trinamic.com 78 Conditions Min Typ -0.3 0.7 VVIO Max 0.3 VVIO VVIO+0.3 V V V 0.2 V V µA pF 0.12 VVIO IOUTLO = 2mA IOUTHI = -2mA VVIO-0.2 -10 10 3.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 79 19.3 Thermal Characteristics The following table shall give an idea on the thermal resistance of the QFN-48 package. The thermal resistance for a four layer board will provide a good idea on a typical application. The single layer board example is kind of a worst case condition, as the typical application will require a 4 layer board. Actual thermal characteristics will depend on the PCB layout, PCB type and PCB size.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 80 20 Layout Considerations 20.1 Exposed Die Pad The TMC5041 uses its die attach pad to dissipate heat from the drivers and the linear regulator to the board. For best electrical and thermal performance, use a reasonable amount of solid, thermally conducting vias between the die attach pad and the ground plane. The printed circuit board should have a solid ground plane spreading heat into the board and providing for a stable GND reference. 20.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 81 20.4 Layout Example Schematic 1- Top Layer (assembly side) 2- Inner Layer (GND) 3- Inner Layer (supply VS) 4- Bottom Layer Components Figure 20.1 Layout example www.trinamic.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 82 21 Package Mechanical Data 21.1 Dimensional Drawings Attention: Drawings not to scale. Figure 21.1 Dimensional drawings Parameter [mm] 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 coplanarity lead offset exposed pad offset Ref A A1 A2 A3 b D E e J K L aaa bbb ccc ddd eee Min 0.80 0.00 0.2 5.2 5.2 0.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 83 22 Design Philosophy We feel that this is one of the coolest chips which we did within the last years. The TMC50XX and TMC5130 family brings premium functionality, reliability and coherence previously reserved to costly motion control units to smart applications. Integration at street level cost was possible by squeezing know-how into a few mm² of layout using one of the most modern smart power processes.
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 84 25 Table of Figures Figure 1.1 Basic application and block diagram .......................................................................................................... 5 Figure 1.2 Energy efficiency with coolStep (example) ............................................................................................... 7 Figure 2.1 TMC5041 pin assignments. ....................................................................................................
TMC5041 DATASHEET (Rev. 1.13 / 2017-MAY-16) 85 26 Revision History Version Date Author Description BD – Bernhard Dwersteg SD – Sonja Dwersteg 1.04 2013-NOV-06 SD 1.05 2015-JAN-20 BD 1.06 1.09 1.10 1.11 2015-JAN-23 2015-MAR-10 2015-MAR-25 2015-OCT-13 BD BD BD BD 1.12 2016-APR-22 BD 1.13 2017-MAY-16 BD First version of preliminary TMC5041 datasheet based on TMC5031 datasheet V1.07 Full TMC5041 datasheet based on preliminary datasheet and TMC5072 V1.