TRINAMIC TMC2660-EVAL Datasheet

POWER DRIVER FOR STEPPER MOTORS INTEGRATED CIRCUITS
TRINAMIC Motion Control GmbH & Co. KG Hamburg, Germany
TMC2660 DATASHEET
BLOCK DIAGRAM
FEATURES AND BENEFITS
Drive Capability up to 4A motor current
Voltage up to 30V DC Highest Resolution up to 256 microsteps per full step Compact Size 10x10mm QFP-44 package Low Power Dissipation, very low RDSON & synchronous
rectification
EMI-optimized programmable slope Protection & Diagnostics overcurrent, short to GND,
overtemperature & undervoltage
stallGuard2™ high precision sensorless motor load detection coolStep™ load dependent current control for energy savings
up to 75% microPlyer™ microstep interpolation for increased
smoothness with coarse step inputs. spreadCycle™ high-precision chopper for best current sine
wave form and zero crossing
APPLICATIONS
Textile, Sewing Machines Factory Automation Lab Automation Liquid Handling Medical Office Automation Printer and Scanner CCTV, Security ATM, Cash recycler POS Pumps and Valves Heliostat Controller CNC Machines
DESCRIPTION
The TMC2660 driver for two-phase stepper motors offers an industry-leading feature set, including high-resolution microstepping, sensorless mechanical load measurement, load-adaptive power optimization, and low-resonance chopper operation. Standard SPI and STEP/DIR interfaces simplify communication. Integrated power MOSFETs handle motor currents up to 2.2A RMS continuously or
2.8A RMS boost current per coil. Integrated protection and diagnostic features support robust and reliable operation. High integration, high energy efficiency and small form factor enable miniaturized designs with low external component count for cost-effective and highly competitive solutions.
Universal, cost-effective stepper driver for two-phase bipolar motors with state-of-the-art features.
Integrated MOSFETs for up to 4 A motor current per coil. With Step/Dir Interface and SPI.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 2
www.trinamic.com
APPLICATION EXAMPLES: SMALL SIZE BEST PERFORMANCE
The TMC2660 scores with power density, integrated power MOSFETs, and a versatility that covers a wide spectrum of applications and motor sizes, all while keeping costs down. Extensive support at the chips, board, and software levels enables rapid design cycles and fast time-to-market with competitive products. High energy efficiency from TRINAMIC’s coolStep technology delivers further cost savings in related systems such as power supplies and cooling.
TMC4210+TMC2660-EVAL EVALUATION-BOARD FOR 1 AXIS
Top level layout of TMC2660-EVAL
ORDER CODES
Order code
PN
Description
Size [mm²]
TMC2660-PA
00-0114
coolStep™ driver with internal MOSFETs, up to 30V DC, QFP-44 with 12x12 pins
10 x 10 TMC2660-PA-T
00-0114-T
-T devices are packaged in tape on reel
TMC2660-EVAL
40-0068
Evaluation board for TMC2660.
85 x 55
LANDUNGSBRÜCKE
40-0167
Baseboard for TMC2660-EVAL and further evaluation boards
85 x 55 ESELSBRÜCKE
40-0098
Connector board for plug-in evaluation board system
61 x 38
Evaluation board system with TMC2660
This evaluation board is a development platform for applications based on the TMC2660. The board features a USB interface for communication with the TMCL-IDE control software running on a PC. The power MOSFETs of the TMC2660 support drive currents up to 2.4A RMS and 29V. The control software provides a user-friendly GUI for setting control parameters and visualizing the dynamic response of the motor. Motor movement can be controlled through the Step/Dir interface using inputs from an external source or signals generated by the onboard microcontroller acting as a step generator. Optionally add a motion controller card between CPU board and TMC2660-EVAL.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 3
www.trinamic.com
TABLE OF CONTENTS
1 PRINCIPLES OF OPERATION ............... 4
1.1 KEY CONCEPTS ............................................... 4
1.2 CONTROL INTERFACES .................................... 5
1.3 MECHANICAL LOAD SENSING ......................... 5
1.4 CURRENT CONTROL ........................................ 5
2 PIN ASSIGNMENTS ................................. 6
2.1 PACKAGE OUTLINE ......................................... 6
2.2 SIGNAL DESCRIPTIONS .................................. 6
3 INTERNAL ARCHITECTURE .................... 8
4 STALLGUARD2 LOAD MEASUREMENT 9
4.1 TUNING THE STALLGUARD2 THRESHOLD ...... 10
4.2 STALLGUARD2 MEASUREMENT FREQUENCY
AND FILTERING ............................................ 11
4.3 DETECTING A MOTOR STALL ........................ 11
4.4 LIMITS OF STALLGUARD2 OPERATION ......... 11
5 COOLSTEP CURRENT CONTROL ......... 12
5.1 TUNING COOLSTEP ....................................... 14
6 SPI INTERFACE ...................................... 15
6.1 BUS SIGNALS............................................... 15
6.2 BUS TIMING ................................................ 15
6.3 BUS ARCHITECTURE ..................................... 16
6.4 REGISTER WRITE COMMANDS ...................... 17
6.5 DRIVER CONTROL REGISTER (DRVCTRL) .... 18
6.6 CHOPPER CONTROL REGISTER (CHOPCONF) ..
................................................................... 20
6.7 COOLSTEP CONTROL REGISTER (SMARTEN)21
6.8 STALLGUARD2 CONTROL REGISTER
(SGCSCONF) ............................................. 22
6.9 DRIVER CONTROL REGISTER (DRVCONF) ... 23
6.10 READ RESPONSE .......................................... 24
6.11 DEVICE INITIALIZATION ............................... 25
7 STEP/DIR INTERFACE ........................... 26
7.1 TIMING ........................................................ 26
7.2 MICROSTEP TABLE ....................................... 27
7.3 CHANGING RESOLUTION .............................. 28
7.4 MICROPLYER STEP INTERPOLATOR ............... 28
7.5 STANDSTILL CURRENT REDUCTION ................ 29
8 CURRENT SETTING ................................ 30
8.1 SENSE RESISTORS ........................................ 31
9 CHOPPER OPERATION ......................... 32
9.1 SPREADCYCLE MODE .................................... 33
9.2 CONSTANT OFF-TIME MODE ........................ 35
10 POWER MOSFET STAGE ...................... 37
10.1 BREAK-BEFORE-MAKE LOGIC ........................ 37
10.2 ENN INPUT ................................................. 37
11 DIAGNOSTICS AND PROTECTION ... 38
11.1 SHORT TO GND DETECTION ........................ 38
11.2 OPEN-LOAD DETECTION .............................. 39
11.3 OVERTEMPERATURE DETECTION ................... 39
11.4 UNDERVOLTAGE DETECTION ......................... 40
12 POWER SUPPLY SEQUENCING .......... 41
13 SYSTEM CLOCK ...................................... 41
13.1 FREQUENCY SELECTION ................................ 42
14 LAYOUT CONSIDERATIONS ............... 43
14.1 SENSE RESISTORS ........................................ 43
14.2 POWER MOSFET OUTPUTS ......................... 43
14.3 POWER SUPPLY PINS .................................. 43
14.4 POWER FILTERING ....................................... 43
14.5 LAYOUT EXAMPLE ........................................ 44
15 ABSOLUTE MAXIMUM RATINGS ....... 45
16 ELECTRICAL CHARACTERISTICS ....... 46
16.1 OPERATIONAL RANGE .................................. 46
16.2 DC AND AC SPECIFICATIONS ...................... 46
16.3 THERMAL CHARACTERISTICS ........................ 49
17 PACKAGE MECHANICAL DATA .......... 50
17.1 DIMENSIONAL DRAWINGS ........................... 50
17.2 PACKAGE CODE ........................................... 50
18 DISCLAIMER ........................................... 51
19 ESD SENSITIVE DEVICE ...................... 51
20 TABLE OF FIGURES ............................... 52
21 REVISION HISTORY ............................. 52
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 4
www.trinamic.com
1 Principles of Operation
µC
SPI
S/D
High-Level
Interface
N
S
0A+
0A-
0B+
TMC2660
0B-
µC
SPI
SPI
S/D
TMC429
Motion
Controller
for up to 3 Motors
High-Level
Interface
N
S
0A+
0A-
0B+
TMC2660
0B-
Figure 1.1 Block diagram: applications
The TMC2660 motor driver chip with included MOSFETs is the intelligence and power between a motion controller and the two phase stepper motor as shown in Figure 1.1. Following power-up, an embedded microcontroller initializes the driver by sending commands over an SPI bus to write control parameters and mode bits in the TMC2660. The microcontroller may implement the motion­control function as shown in the upper part of the figure, or it may send commands to a dedicated motion controller chip such as TRINAMIC’s TMC429 as shown in the lower part.
The motion controller can control the motor position by sending pulses on the STEP signal while indicating the direction on the DIR signal. The TMC2660 has a microstep counter and sine table to convert these signals into the coil currents which control the position of the motor. If the microcontroller implements the motion-control function, it can write values for the coil currents directly to the TMC2660 over the SPI interface, in which case the STEP/DIR interface may be disabled. This mode of operation requires software to track the motor position and reference a sine table to calculate the coil currents.
To optimize power consumption and heat dissipation, software may also adjust coolStep and stallGuard2 parameters in real-time, for example to implement different tradeoffs between speed and power consumption in different modes of operation.
The motion control function is a hard real-time task which may be a burden to implement reliably alongside other tasks on the embedded microcontroller. By offloading the motion-control function to the TMC429, up to three motors can be operated reliably with very little demand for service from the microcontroller. Software only needs to send target positions, and the TMC429 generates precisely timed step pulses. Software retains full control over both the TMC2660 and TMC429 through the SPI bus.
1.1 Key Concepts
The TMC2660 motor driver implements several advanced features which are exclusive to TRINAMIC products. These features contribute toward greater precision, greater energy efficiency, higher reliability, smoother motion, and cooler operation in many stepper motor applications.
stallGuard2 High-precision load measurement using the back EMF on the coils coolStep Load-adaptive current control which reduces energy consumption by as much as
75%
spreadCycle High-precision chopper algorithm available as an alternative to the traditional
constant off-time algorithm
microPlyer Microstep interpolator for obtaining increased smoothness of microstepping over a
STEP/DIR interface
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 5
www.trinamic.com
In addition to these performance enhancements, TRINAMIC motor drivers also offer safeguards to detect and protect against shorted outputs, open-circuit output, overtemperature, and undervoltage conditions for enhancing safety and recovery from equipment malfunctions.
1.2 Control Interfaces
There are two control interfaces from the motion controller to the motor driver: the SPI serial interface and the STEP/DIR interface. The SPI interface is used to write control information to the chip and read back status information. This interface must be used to initialize parameters and modes necessary to enable driving the motor. This interface may also be used for directly setting the currents flowing through the motor coils, as an alternative to stepping the motor using the STEP and DIR signals, so the motor can be controlled through the SPI interface alone.
The STEP/DIR interface is a traditional motor control interface available for adapting existing designs to use TRINAMIC motor drivers. Using only the SPI interface requires slightly more CPU overhead to look up the sine tables and send out new current values for the coils.
1.2.1 SPI 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 TMC2660 slave always consists of sending one 20-bit command word and receiving one 20-bit status word.
The SPI command rate typically corresponds to the microstep rate at low velocities. At high velocities, the rate may be limited by CPU bandwidth to 10-100 thousand commands per second, so the application may need to change to fullstep resolution.
1.2.2 STEP/DIR Interface
The STEP/DIR interface is enabled by default. Active edges on the STEP input can be rising edges or both rising and falling edges, as controlled by another mode bit (DEDGE). Using both edges cuts the toggle rate of the STEP signal in half, which is useful for communication over slow interfaces such as optically isolated interfaces.
On each active edge, the state sampled from the DIR input determines whether to step forward or back. Each step can be a fullstep or a microstep, in which there are 2, 4, 8, 16, 32, 64, 128, or 256 microsteps per fullstep. During microstepping, a step impulse with a low state on DIR increases the microstep counter and a high decreases the counter by an amount controlled by the microstep resolution. An internal table translates the counter value into the sine and cosine values which control the motor current for microstepping.
1.3 Mechanical Load Sensing
The TMC2660 provides stallGuard2 high-resolution load measurement for determining the mechanical load on the motor by measuring the back EMF. In addition to detecting when a motor stalls, this feature can be used for homing to a mechanical stop without a limit switch or proximity detector. The coolStep power-saving mechanism uses stallGuard2 to reduce the motor current to the minimum motor current required to meet the actual load placed on the motor.
1.4 Current Control
Current into the motor coils is controlled using a cycle-by-cycle chopper mode. Two chopper modes are available: a traditional constant off-time mode and the new spreadCycle mode. spreadCycle mode offers smoother operation and greater power efficiency over a wide range of speed and load.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 6
www.trinamic.com
2 Pin Assignments
2.1 Package Outline
1
9
4
12
17
14
15
16
221821
13
19
20
33
25
30
41
44
43
42
39
36
35
40
38
37
34
TMC2660-PA
QFP44
-
OB1
OB1
OB2
OB2
BRB
VSB
DIR
GND
TST_MODE
STEP
GND
VS
VHS
VCC_IO
SG_TST
TST_ANA
-
-
OA1
OA2
OA2
OA1
BRA
VSA
SRA
GND
SDO
SDI
SCK
SRB
CSN
CLK
5VOUT
ENN
-
2
3
5
6
7
8
10
11
24
23
27
26
29
28
32
31
Figure 2.1 TMC2660 pin assignment
2.2 Signal Descriptions
Pin
Number
Type
Function
OA1
2, 3 7, 8
O (VS)
Bridge A1 output. Interconnect all of these pins using thick traces capable to carry the motor current and distribute heat into the PCB.
OA2
5, 6 10, 11
O (VS)
Bridge A2 output. Interconnect all of these pins using thick traces capable to carry the motor current and distribute heat into the PCB.
OB1
26, 27 31, 32
O (VS)
Bridge B1 output. Interconnect all of these pins using thick traces capable to carry the motor current and distribute heat into the PCB.
OB2
23, 24 28, 29
O (VS)
Bridge B2 output. Interconnect all of these pins using thick traces capable to carry the motor current and distribute heat into the PCB.
VSA VSB
4 30
Bridge A/B positive power supply. Connect to VS and provide sufficient filtering capacity for chopper current ripple.
BRA BRB
9 25
AI
Bridge A/B negative power supply via sense resistor in bridge foot point.
SRA SRB
12 22
AI
Sense resistor inputs for chopper current regulation.
5VOUT
13 Output of the on-chip 5V linear regulator. This voltage is used to supply the low-side MOSFETs and internal analog circuitry. An external capacitor to GND close to the pin is required. Place the capacitor near pins 13 and 17. A 470nF ceramic capacitor is sufficient.
SDO
14
DO VIO
SPI serial data output.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 7
www.trinamic.com
Pin
Number
Type
Function
SDI
15
DI VIO
SPI serial data input. (Scan test input in test mode.)
SCK
16
DI VIO
Serial clock input of SPI interface. (Scan test shift enable input in test mode.)
GND
17, 39, 44
Digital and analog low power GND. CSN
18
DI VIO
Chip select input for the SPI interface. (Active low.)
ENN
19
DI VIO
Power MOSFET enable input. All MOSFETs are switched off when disabled. (Active low.)
CLK
21
DI VIO
System clock input for all internal operations. Tie low to use the on-chip oscillator. A high signal disables the on-chip oscillator until power down.
VHS
35 High-side supply voltage (motor supply voltage - 10V)
VS
36 Motor supply voltage
TST_ANA
37
AO VIO
Reserved. Do not connect.
SG_TST
38
DO VIO
stallGuard2 output. Signals a motor stall. (Active high.)
VCC_IO
40 Input/output supply voltage VIO for all digital pins. Tie to digital logic supply voltage. Operation is allowed in 3.3V and 5V systems.
DIR
41
DI VIO
Direction input. Sampled on an active edge of the STEP input to determine stepping direction. Sampling a low increases the microstep counter, while sampling a high decreases the counter. A 60-ns internal glitch filter rejects short pulses on this input.
STEP
42
DI VIO
Step input. Active edges can be rising or both rising and falling, as controlled by the DEDGE mode bit. A 60-ns internal glitch filter rejects short pulses on this input.
TST_MODE
43
DI VIO
Test mode input. Puts IC into test mode. Tie to GND for normal operation.
n.c.
1, 33
No internal connection - can be tied to any net, e.g., in order to improve power routing to pins VSA and VSB.
n.c.
20, 34
No internal connection
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 8
www.trinamic.com
3 Internal Architecture
Figure 3.1 shows the internal architecture of TMC266O.
+V
M
+V
M
VHS
5V linear regulator
5VOUT
470nF
VS
GND
slope HS
slope LS
SRA
D
ENABLE
5V supply
TMC2660
OSC
15MHz
CSN
D
SCK
SDI
D
D
SDO
D
R
SENSE
SPI interface
Chopper
logic
R
SENSE
=75m for 4A peak (2.8A RMS) R
SENSE
=100m for 3A peak (2.1A RMS)
Provide sufficient filtering capacity near bridge supply (electrolyt capacitors and ceramic capacitors)
S
D
G
S
D
G
motor coil A
S
D
G
S
D
G
P-Gate drivers
Short to
GND
detectors
N-Gate drivers
Break
before
make
VHS
+5V
9
DAC
VM-10V
linear
regulator
100n 16V
100n
Protection &
Diagnostics
+V
M
slope HS
slope LS
R
SENSE
Chopper
logic
R
SENSE
=75m for 4A peak (2.8A RMS) R
SENSE
=100m for 3A peak (2.1A RMS)
S
D
G
S
D
G
motor coil B
S
D
G
S
D
G
P-Gate
drivers
Short to
GND
detectors
N-Gate
drivers
Break
before
make
VHS
+5V
9
DAC
ENABLE
ENABLE
Step & Direction interface
Step multiply
16 à 256
Sine wave 1024 entry
M U X
STEP
D
DIR
D
Temperature
sensor
100°C, 150°C
coolStep
Energy
efficiency
stallGuard 2
Clock
selector
CLK
D
SG_TST
Digital
control
D
SHORT TO GND
BACK EMF
CLK
8-20MHz
SIN & COS
Phase polarity
Phase polarity
VCC_IO
D
D
TEST_SE
3.3V or 5V
+V
CC
100n
9-29V
step & dir
(optional)
SPI
stallGuard
output
TEST_ANA
22R
22R
Optional input protection and filter network against inductive sparks upon motor cable break
VSENSE
0.30V
0.16V
V
REF
OA1
OA2
VSA
BRA
SRB
BRB
OB2
OB1
VSB
10nF
10nF
Provide sufficient filtering capacity near bridge supply (electrolyt capacitors and ceramic capacitors)
Figure 3.1 TMC2660 block diagram
PROMINENT FEATURES INCLUDE:
Oscillator and clock selector
provide the system clock from the on-chip oscillator or an external source.
Step and direction interface
uses a microstep counter and sine table to generate target currents for the coils.
SPI interface
receives commands that directly set the coil current values.
Multiplexer
selects either the output of the sine table or the SPI interface for controlling the current into the motor coils.
Multipliers
scale down the currents to both coils when the currents are greater than those required by the load on the motor or as set by the CS current scale parameter.
DACs and comparators
convert the digital current values to analog signals that are compared with the voltages on the sense resistors. Comparator outputs terminate chopper drive phases when target currents are reached.
Break-before-make and gate drivers
ensure non-overlapping pulses, boost pulse voltage, and control pulse slope to the gates of the power MOSFETs.
On-chip voltage regulators
provide high-side voltage for P-channel MOSFET gate drivers and supply voltage for on-chip analog and digital circuits.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 9
www.trinamic.com
4 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 load­adaptive current reduction. (stallGuard2 is a more precise evolution of the earlier stallGuard technology.) The stallGuard2 measurement value changes linearly over a wide range of load, velocity, and current settings, as shown in Figure 4.1. At maximum motor load, the value goes to zero or near to zero. This corresponds to a load angle of 90° between the magnetic field of the coils and magnets in the rotor. This also is the most energy-efficient point of operation for the motor.
motor load
(% max. torque)
stallGuard2
reading
100
200
300
400
500
600
700
800
900
1000
0 10 20 30 40 50 60 70 80 90 100
Start value depends on motor and operating conditions
Motor stalls above this point. Load angle exceeds 90° and available torque sinks.
stallGuard value reaches zero and indicates danger of stall.
This point is set by stallGuard
threshold value SGT.
Figure 4.1 stallGuard2 load measurement SG as a function of load
Two parameters control stallGuard2 and one status value is returned.
Parameter
Description
Setting
Comment
SGT
7-bit signed integer that sets the stallGuard2 threshold level for asserting the SG_TST output and sets the optimum measurement range for readout. Negative values increase sensitivity, and positive values reduce sensitivity so more torque is required to indicate a stall. Zero is a good starting value. Operating at values below
-10 is not recommended.
0
indifferent value
+1… +63
less sensitivity
-1… -64
higher sensitivity
SFILT
Mode bit which enables the stallGuard2 filter for more precision. If set, reduces the measurement frequency to one measurement per four fullsteps. If cleared, no filtering is performed. Filtering compensates for mechanical asymmetries in the construction of the motor, but at the expense of response time. Unfiltered operation is recommended for rapid stall detection. Filtered operation is recommended for more precise load measurement.
0
standard mode
1
filtered mode
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 10
www.trinamic.com
Status word
Description
Range
Comment
SG
10-bit unsigned integer stallGuard2 measurement value. A higher value indicates lower mechanical load. A lower value indicates a higher load and therefore a higher load angle. For stall detection, adjust SGT to return an SG value of 0 or slightly higher upon maximum motor load before stall.
0… 1023
0: highest load low value: high load high value: less load
4.1 Tuning the stallGuard2 Threshold
Due to the dependency of the stallGuard2 value SG from motor-specific characteristics and application­specific demands on load and velocity the easiest way to tune the stallGuard2 threshold SGT for a specific motor type and operating conditions is interactive tuning in the actual application.
The procedure is:
1. Operate the motor at a reasonable velocity for your application and monitor SG.
2. Apply slowly increasing mechanical load to the motor. If the motor stalls before SG reaches
zero, decrease SGT. If SG reaches zero before the motor stalls, increase SGT. A good SGT starting value is zero. SGT is signed, so it can have negative or positive values.
3. The optimum setting is reached when SG is between 0 and 400 at increasing load shortly
before the motor stalls, and SG increases by 100 or more without load. SGT in most cases can be tuned together with the motion velocity in a way that SG goes to zero when the motor stalls and the stall output SG_TST is asserted. This indicates that a step has been lost.
The system clock frequency affects SG. An external crystal-stabilized clock should be used for applications that demand the highest precision. The power supply voltage also affects SG, so tighter regulation results in more accurate values. SG measurement has a high resolution, and there are a few ways to enhance its accuracy, as described in the following sections.
4.1.1 Variable Velocity Operation
Across a range of velocities, on-the-fly adjustment of the stallGuard2 threshold SGT improves the accuracy of the load measurement SG. This also improves the power reduction provided by coolStep, which is driven by SG. Linear interpolation between two SGT values optimized at different velocities is a simple algorithm for obtaining most of the benefits of on-the-fly SGT adjustment, as shown in Figure 4.2. An optimal SGT curve in black and a two-point interpolated SGT curve in red are shown.
back EMF reaches
supply voltage
optimum
SGT setting
Motor RPM
(200 FS motor)
stallGuard2
reading at
no load
2
4
6
8
10
12
14
16
100
200
300
400
500
600
700
800
900
10001820
0 0 50 100 150 200 250 300 350 400 450 500 550 600
lower limit for stall
detection 4 RPM
simplified
SGT setting
Figure 4.2 Linear interpolation for optimizing SGT with changes in velocity.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 11
www.trinamic.com
4.1.2 Small Motors with High Torque Ripple and Resonance
Motors with a high detent torque show an increased variation of the stallGuard2 measurement value SG with varying motor currents, especially at low currents. For these motors, the current dependency might need correction in a similar manner to velocity correction for obtaining the highest accuracy.
4.1.3 Temperature Dependence of Motor Coil Resistance
Motors working over a wide temperature range may require temperature correction, because motor coil resistance increases with rising temperature. This can be corrected as a linear reduction of SG at increasing temperature, as motor efficiency is reduced.
4.1.4 Accuracy and Reproducibility of stallGuard2 Measurement
In a production environment, it may be desirable to use a fixed SGT value within an application for one motor type. Most of the unit-to-unit variation in stallGuard2 measurements results from manufacturing tolerances in motor construction. The measurement error of stallGuard2 – provided that all other parameters remain stable – can be as low as:
  󰇛󰇜
4.2 stallGuard2 Measurement Frequency and Filtering
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. For these applications, the SFILT bit enables a filtering function over four load measurements. The filter should always be enabled when high-precision measurement is required. It compensates for variations in motor construction, for example due to misalignment of the phase A to phase B magnets. The filter should only be disabled when rapid response to increasing load is required, such as for stall detection at high velocity.
4.3 Detecting a Motor Stall
To safely detect a motor stall, a stall threshold must be determined using a specific SGT setting. Therefore, you need to determine the maximum load the motor can drive without stalling and to monitor the SG value at this load, for example some value within the range 0 to 400. The stall threshold should be a value safely within the operating limits, to allow for parameter stray. So, your microcontroller software should set a stall threshold which is slightly higher than the minimum value seen before an actual motor stall occurs. The response at an SGT setting at or near 0 gives some idea on the quality of the signal: Check the SG value without load and with maximum load. These values should show a difference of at least 100 or a few 100, which shall be large compared to the offset. If you set the SGT value so that a reading of 0 occurs at maximum motor load, an active high stall output signal will be available at SG_TST output.
4.4 Limits of stallGuard2 Operation
stallGuard2 does not operate reliably at extreme motor velocities: Very low motor velocities (for many motors, less than one revolution per second) generate a low back EMF and make the measurement unstable and dependent on environment conditions (temperature, etc.). Other conditions will also lead to extreme settings of SGT and poor response of the measurement value SG to the motor load.
Very high motor velocities, in which the full sinusoidal current is not driven into the motor coils also lead to poor response. These velocities are typically characterized by the motor back EMF reaching the supply voltage.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 12
www.trinamic.com
5 coolStep Current Control
coolStep allows substantial energy savings, especially for motors which see varying loads or operate at a high duty cycle. Because a stepper motor application needs to work with a torque reserve of 30% to 50%, even a constant-load application allows significant energy savings because coolStep automatically enables torque reserve when required. Reducing power consumption keeps the system cooler, increases motor life, and allows reducing cost in the power supply and cooling components.
Reducing motor current by half results in reducing power by a factor of four.
Energy efficiency - power consumption decreased up to 75%. Motor generates less heat - improved mechanical precision. Less cooling infrastructure - for motor and driver. Cheaper motor - does the job.
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
0 50 100 150 200 250 300 350
Efficiency
Velocity [RPM]
Efficiency with coolStep
Efficiency with 50% torque reserve
Figure 5.1 Energy efficiency example with coolStep
Figure 5.1 shows the efficiency gain of a 42mm stepper motor when using coolStep compared to standard operation with 50% of torque reserve. coolStep is enabled above 60rpm in the example.
coolStep is controlled by several parameters, but two are critical for understanding how it works:
Parameter
Description
Range
Comment
SEMIN
4-bit unsigned integer that sets a lower threshold. If SG goes below this threshold, coolStep increases the current to both coils. The 4-bit SEMIN value is scaled by 32 to cover the lower half of the range of the 10-bit SG value. (The name of this parameter is derived from smartEnergy, which is an earlier name for coolStep.)
0… 15
lower coolStep threshold: SEMINx32 SEMAX
4-bit unsigned integer that controls an upper threshold. If SG is sampled equal to or above this threshold enough times, coolStep decreases the current to both coils. The upper threshold is (SEMIN + SEMAX + 1) x 32.
0… 15
upper coolStep threshold: (SEMIN+SEMAX+1)x32
Figure 5.2 shows the operating regions of coolStep. The black line represents the SG measurement value, the blue line represents the mechanical load applied to the motor, and the red line represents the current into the motor coils. When the load increases, SG falls below SEMIN, and coolStep
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 13
www.trinamic.com
increases the current. When the load decreases and SG rises above (SEMIN + SEMAX + 1) x 32 the current becomes reduced.
stallGuard2
reading
0=maximum load
motor current increment area
motor current reduction area
stall possible
SEMIN
SEMAX+SEMIN+1
time
motor current
current setting CS (upper limit)
½ or ¼ CS (lower limit)
mechanical load
current increment due to
increased load
slow current reduction due
to reduced motor load
load angle optimized load angle optimized
load
angle
optimized
Figure 5.2 coolStep adapts motor current to the load.
Four more parameters control coolStep and one status value is returned:
Parameter
Description
Range
Comment
CS
Current scale. Scales both coil current values as taken from the internal sine wave table or from the SPI interface. 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™.
0… 31
scaling factor: 1/32, 2/32, … 32/32
SEUP
Number of increments of the coil current for each occurrence of an SG measurement below the lower threshold.
0… 3
step width is: 1, 2, 4, 8
SEDN
Number of occurrences of SG measurements above the upper threshold before the coil current is decremented.
0… 3
number of stallGuard measurements per decrement: 32, 8, 2, 1
SEIMIN
Mode bit that controls the lower limit for scaling the coil current. If the bit is set, the limit is ¼ CS. If the bit is clear, the limit is ½ CS.
0 Minimum motor current: 1/2 of CS
1
1/4 of CS
Status word
Description
Range
Comment
SE
5-bit unsigned integer reporting the actual current scaling value determined by coolStep. This value is biased by 1 and divided by 32, so the range is 1/32 to 32/32. The value will not be greater than the value of CS or lower than either ¼ CS or ½ CS depending on the setting of SEIMIN.
0… 31
Actual motor current scaling factor set by coolStep: 1/32, 2/32, … 32/32
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 14
www.trinamic.com
5.1 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. The encodings for these parameters allow the coil currents to be increased much more quickly than decreased, because crossing the lower threshold is a more serious event that may require a faster response. If the response is too slow, the motor may stall. In contrast, a slow response to crossing the upper threshold does not risk anything more serious than missing an opportunity to save power.
coolStep operates between limits controlled by the current scale parameter CS and the SEIMIN bit.
5.1.1 Response Time
For fast response to increasing motor load, use a high current increment step SEUP. If the motor load changes slowly, a lower current increment step can be used to avoid motor current oscillations. If the filter controlled by SFILT is enabled, the measurement rate and regulation speed are cut by a factor of four.
5.1.2 Low Velocity and Standby Operation
Because stallGuard2 is not able to measure the motor load in standstill and at very low RPM, the current at low velocities should be set to an application-specific default value and combined with standstill current reduction settings programmed through the SPI interface.
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 15
www.trinamic.com
6 SPI Interface
TMC2660 requires setting configuration parameters and mode bits through the SPI interface before the motor can be driven. The SPI interface also allows reading back status values and bits.
6.1 Bus Signals
The SPI bus on the TMC2660 has four signals:
SCK bus clock input SDI serial data input SDO serial data output CSN chip select input (active low)
The slave is enabled for an SPI transaction by a low on the chip select input CSN. Bit transfer is synchronous to the bus clock SCK, with the slave latching the data from SDI on the rising edge of SCK and driving data to SDO following the falling edge. The most significant bit is sent first. A minimum of 20 SCK clock cycles is required for a bus transaction with the TMC2660.
If more than 20 clocks are driven, the additional bits shifted into SDI are shifted out on SDO after a 20-clock delay through an internal shift register. This can be used for daisy chaining multiple chips.
CSN must be low during the whole bus transaction. When CSN goes high, the contents of the internal shift register are latched into the internal control register and recognized as a command from the master to the slave. If more than 20 bits are sent, only the last 20 bits received before the rising edge of CSN are recognized as the command.
6.2 Bus Timing
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 6.1 shows the timing parameters of an SPI bus transaction, and the table below specifies their values.
CSN
SCK
SDI
SDO
t
CC
t
CC
t
CL
t
CH
bit19 bit18 bit0
bit19 bit18 bit0
t
DO
t
ZC
t
DU
t
DH
t
CH
Figure 6.1 SPI Timing
TMC2660 DATASHEET (Rev. 1.07 / 2020-JUN-09) 16
www.trinamic.com
SPI Interface Timing
AC-Characteristics
clock period is t
CLK
Parameter
Symbol
Conditions
Min
Typ
Max
Unit
SCK valid before or after change of CSN
tCC 10
ns
CSN high time
t
CSH
*)
Min time is for synchronous CLK with SCK high one tCH before CSN high only
t
CLK
>2t
CLK
+10
ns
SCK low time
tCL
*)
Min time is for synchronous CLK only
t
CLK
>t
CLK
+10
ns
SCK high time
tCH
*)
Min time is for synchronous CLK only
t
CLK
>t
CLK
+10
ns
SCK frequency using internal clock
f
SCK
Assumes minimum OSC frequency
4
MHz
SCK frequency using external 16MHz clock
f
SCK
Assumes synchronous CLK
8
MHz
SDI setup time before rising edge of SCK
tDU 10
ns
SDI hold time after rising edge of SCK
tDH 10
ns
Data out valid time after falling SCK clock edge
tDO
No capacitive load on SDO
t
FILT
+5
ns
SDI, SCK, and CSN filter delay time
t
FILT
Rising and falling edge
12
20
30
ns
6.3 Bus Architecture
SPI slaves can be chained and used with a single chip select line. If slaves are chained, they behave like a long shift register. For example, a chain of two motor drivers requires 40 bits to be sent. The last bits shifted to each register in the chain are loaded into an internal register on the rising edge of the CSN input. For example, 24 or 32 bits can be sent to a single motor driver, but it latches just the last 20 bits received before CSN goes high.
Driver 3
Half Bridge 2
Half Bridge 1
Half Bridge 1
Half Bridge 2
+V
M
VSA / B
2 x current comparator
2 phase stepper motor
N
S
TMC2660 stepper driver
RSA / B
Protection
& diagnostics
sine table
4*256 entry
STEP
DIR
2 x DAC
SPI control,
Config & diags
CSN
SCK
SDO
SDI
stallGuard2
coolStep™
x
step multiplier
SG_TST
OA1
OA2
BRA / B
R
SENSERSENSE
OB1
OB2
chopper
VCC_IO
TMC429 triple stepper motor controller
SPI to master
nSCS_C
SCK_C
SDOZ_C
SDI_C
CLK
3x linear RAMP
generator
Position
comparator
Interrupt controller
nINT
Reference switch
processing
Step &
Direction pulse
generation
Output select
SPI or
Step & Dir
Microstep table
Serial driver
interface
POSCOMP
3 x REF_L, REF_R
S1 (SDO_S)
D1 (SCK_S)
S2 (nSCS_S)
D2 (SDI_S)
S3 (nSCS_2)
D3 (nSCS_3)
Driver 2
Real time Step & Dir interface
User CPU
Motion command SPI
TM
Configuration and diagnostics SPI
TM
Mechanical Feedback or
virtual stop switch
Realtime event trigger Virtual stop switch
Stepper #1
Third driver and motor
Second driver and motor
System interfacing
System control
Motion control
coolStep motor
driver
Figure 6.2 Interfaces to a TMC429 motion controller chip and a TMC2660 motor driver
Loading...
+ 36 hidden pages