2.8A RMS
7… 28.5V DCSPI, RS232, RS485, CAN, and USB
+ +
TMCM-351
Encoder interface
TRINAMIC Motion Control GmbH & Co. KG
Hamburg, Germany
www.trinamic.com
TMCM-351 Hardware Manual (V1.06 / 2011-NOV-14) 2
Table of Contents
1 Life support policy ....................................................................................................................................................... 3
2 Features ........................................................................................................................................................................... 4
3 Order codes .................................................................................................................................................................... 5
4 Mechanical and electrical interfacing ..................................................................................................................... 6
4.2.1 Power connector ............................................................................................................................................ 9
4.2.2 Motor connector............................................................................................................................................. 9
4.2.4 Analog input connector ............................................................................................................................. 12
4.2.5 USB connector .............................................................................................................................................. 12
4.2.7 CAN connector .............................................................................................................................................. 13
4.3.3 J3: CAN bus termination ............................................................................................................................ 18
6.1 System architecture ........................................................................................................................................... 21
10 Revision history .......................................................................................................................................................... 29
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.
Information given in this data sheet is believed to be
accurate and reliable. However neither responsibility is
assumed for the consequences of its use nor for any
infringement of patents or other rights of third parties,
which may result from its use.
Specifications are subject to change without notice.
The TMCM-351 is a powerful three axes bipolar stepper motor controller/driver board with encoder interface
for all three axes and a large number of general purpose digital and analog input/outputs. Several different
serial communication interfaces are available.
Electrical data
Supply voltage: +24V DC nominal (28.5V DC max.)
Motor current: up to 2.8A RMS per axis (programmable)
Stepper motor data
two phase bipolar stepper motors with up to 2.8A RMS coil current (e.g. QSH5718 or QSH6018)
optional incremental encoder interface (a/b/n), accepts differential or single ended input signals
Interfaces
reference switch inputs per motor axis (6 altogether, internal pull-up resistors, +24V compatible)
8 general purpose inputs (+24V compatible)
8 general purpose outputs incl. two power outputs (all open-collector)
1 shutdown input (enable/disable driver stage in hardware)
dedicated analog inputs (programmable 3.3V/10V input range)
SPI connector with three chip select signals for I/O extension
Encoder interface (based on TMC423)
RS232 interface
RS485 interface
CAN interface
USB interface
Features
High-efficient operation, low power-dissipation (TMC249 stepper driver with external MOSFETs)
Dynamic current control
Integrated Protection
On the fly alteration of motor parameters (e.g. position, velocity, acceleration)
Motion profile calculation in real-time (TMC428 motion controller)
Each axis individually and independently programmable
Supports up to 64 microsteps per fullstep
Integrated stallGuard™ for motor stall detection (e.g. elimination of end switches)
Closed-loop operation with TMCL™ possible (when using the optional incremental encoder interface)
Software
TMCL™ remote (direct mode) or stand-alone operation (memory for 2048 TMCL™ commands)
Fully supported by TMCL-IDE (PC based integrated development environment)
Optional CANopen firmware
The TMCM-351 three axes controller driver board has a board size of 160mm x 100mm (standard euro board
format). There are four mounting holes altogether for M3 screws placed at a distance of 4mm from each
corner of the board (Figure 4.1). The high measures 29mm.
The TMCM-351 has connectors for three motors, related reference switches, three encoders, analog and
digital inputs and outputs and several serial interfaces (RS232, RS485, CAN and USB). On the next page you
will find a table with all connector types and their mating ones.
The TMCM-351 TMCL™ Firmware Manual (see www.trinamic.com) includes a section about putting the TMCM351 into operation. Please refer to this manual, too.
A 2-pin detachable screw connector is used for power supply.
Please connect the power as shown below:
Table 4.2: Power connector
4.2.2 Motor connector
For the three motors there are two connector options: either one detachable screw connector (for
prototyping, smaller series) or three separate crimp connectors (for higher volume series).
Please connect your motors as shown below:
Table 4.3: Motor connector (detachable screw connector)
For the reference switch inputs (two reference switch inputs are supported for each motor) there are two
connector options: either one detachable screw connector (for prototyping, smaller series) or three separate
crimp connectors (for higher volume series).
The TMCM-351 can be configured so that a motor has a left and a right limit switch (Figure 4.4).
The motor stops when the traveler has reached one of the limit switches.
Figure 4.4: Left and right limit switches
4.2.3.2 Triple switch configuration
It is possible to program a tolerance range around the reference switch position. This is useful for a triple
switch configuration, as outlined in Figure 4.5. 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 together. The center switch
(travel switch) allows for a monitoring of the axis in order to detect a step loss.
Figure 4.5: Limit switch and reference switch
4.2.3.3 One limit switch for circular systems
If a circular system is used (Figure 4.6), only one reference switch is necessary, because there are no endpoints in such a system.
Board is self-powered – just use to detect availability
of attached host system (e.g. PC)
2
USB-
Differential USB bus
3
USB+
Differential USB bus
4
GND
System / module ground
5
1
9
6
Pin
Label
Description
2
RS232_TxD
RS232 transmit serial data
3
RS232_RxD
RS232 receive serial data
5
GND
System / board ground
1, 4, 6, 7, 8, 9
n.c.
Pins not used / not connected
4.2.4 Analog input connector
The board has four dedicated analog inputs with programmable input range (0… +3.3V or 0… +10V). There are
two connectors with two analog inputs connected to each connector
Please connect as shown below:
Table 4.7: Analog input connector
4.2.5 USB connector
The board includes an USB interface for serial communication. A standard USB type B connector is used for
this purpose. USB is one out of four different interfaces available for communication with the board.
Please connect the USB interface with the enclosed cable as follows:
Table 4.8: USB connector
4.2.6 RS232 connector
The board includes an RS232 interface for serial communication. A standard DSUB 9-pin female connector is
used for this purpose. RS232 is one out of four different interfaces available for communication with the
board.
Please connect as shown below:
Table 4.9: RS232 connector
Attention: Please verify the setting of J2 (selection of RS232 or RS485 interface in section 4.3.2) for a proper
operation of the RS232 connection.
The board includes a CAN interface for serial communication. A standard DSUB 9-pin male connector is used
for this purpose. CAN is one out of four different interfaces available for communication with the board.
Please connect as shown below:
Table 4.10: CAN connector
Attention: Please verify the setting of J3 (CAN bus termination in section 0) for a proper operation of the
CAN connection.
4.2.8 RS485 connector
The board includes an RS485 interface for serial communication. A 4-pin detachable screw connector is used
for this purpose. RS485 is one out of four different interfaces available for communication with the board.
Please connect as shown below:
Table 4.11: RS485 connector
Attention: Please verify the settings of J1 (RS485 bus termination in section 4.3.1) and J2 (selection of RS232
or RS485 interface in section 4.3.2) for a proper operation of the RS485 connection.
4.2.9 SPI connector
For extension of the available inputs and outputs an SPI interface is available. A standard 2.54mm pitch two
row header is used as connector for the external SPI interface.
The I/O connector offers 8 digital and analog inputs and 8 digital outputs. All inputs are +24V compatible. All
outputs offer open collector driver stages. OUT_0/1/2/3/4/5 can sink up-to 100mA, OUT_6/7 are more powerful
and can drive up to 2A. A standard 2.54mm pitch two row header is used for this connector (refer to Figure
4.8 please).
Please connect the I/Os as follows:
Table 4.13: I/O connector
* The /Shutdown input pin has to be connected to the supply voltage in order to enable the driver stages
for all three stepper motor axes. A jumper between pin 19 and pin 20 can be used to permanently enable
drivers (please refer to section 4.3.5 for detailed information).
Figure 4.7: Examples for possible wirings for GPI and GPO
Three connectors (one encoder interface connector per axis) are available. A standard 2.54mm pitch two row
header is used for connecting an encoder. Differential and single ended incremental encoders with/without
zero/index channel are supported.
Please connect as follows:
Single ended encoder:
GND to pin 1 and/or 2
+5V to pin 7 and/or 8
A to pin 5
N to pin 3
B to pin 9
Differential encoder:
GND to pin 1 and/or 2
+5V to pin 7 and/or 8
A+ to pin 5, A- to pin 6
N+ to pin 3, N- to pin 4
B+ to pin 9, B- to pin 10
Table 4.13: Encoder connector
Figure 4.9: Internal encoder connector circuit (for one encoder connector)
Most settings of the board are done through the software. Nevertheless, a few jumpers are available for
configuration.
Figure 4.10: Configuration with jumpers
4.3.1 J1: RS485 bus termination
The board includes a 120 Ohm resistor for proper bus termination of the RS485 interface. When this jumper
is closed, the resistor will be placed between the two differential bus lines RS485+ and RS485-.
4.3.2 J2: RS232 / RS485 interface selection
This 3-pin single row header is used for selecting one of two desired serial interfaces: RS232 or RS485 using
a jumper:
The board includes a 120 Ohm resistor for proper bus termination of the CAN interface. When this jumper is
closed, the resistor will be placed between the two differential bus lines CAN_H and CAN_L.
4.3.4 J4 – J12: Encoder input termination
For enhanced reliability differential encoder signals should be terminated properly. The board offers
termination resistors (120 Ohm) for all three encoder interface signals (a/b/n) for all three encoders. By
setting jumpers, these resistors will be placed between the differential encoder signals. Do not set these
jumpers in case encoders with single ended signals are used.
Figure 4.12: Encoder input termination
4.3.5 Enable all driver stages permanently
The /Shutdown input pin has to be connected to the supply voltage in order to enable the driver stages for
all three stepper motor axes. A jumper between pin 19 and pin 20 can be used to permanently enable
drivers.
Motor coil current for sine wave peak
(chopper regulated, adjustable via software)
0 4
A
I
COIL_RMS
Continuous motor current (RMS)
0 2.8
A
I
SUPPLY
Power supply current
<< I
COIL
1.4 * I
COIL
A
I
+5V_OUTPUT
Current available from on-board +5V output
(e.g. via Encoder connector 0/1/2, Reference
connector etc.) for external devices, e.g.
encoder supply, reference switches etc.
Summarized for all +5V connections together.
300
mA
T
ENV
Environment temperature at rated current (no
forced cooling required)
-20 +40 *)
°C
Environment temperature at 80% of rated
current or 50% duty cycle
(no forced cooling required)
-20 +60 **)
°C
Symbol
Parameter
Min
Typ
Max
Unit
V
REF_0/1/2_L/R
Input voltage for reference switch inputs
REF_0/1/2_L and REF_0/1/2_R
0 28.5
V
V
REF_0/1/2_L/R_L
Low level voltage for reference switch inputs
REF_0/1/2_L / REF_0/1/2_R
0 0.8
V
V
REF_0/1/2_L/R_H
High level voltage for reference switch inputs
REF_0/1/2_L / REF_0/1/2_R
2.0 28.5
V
5 Operational Ratings
The operational ratings shown below should be used as design values. In no case should the maximum
values been exceeded during operation.
Table 5.1: General operational ratings of the module
*) Please note: rated current of 2.8A RMS and 4A peak is reached with setting SAP 6, <motor>, 228 (see
TMCM-351 TMCL™ firmware manual [TMCL]). Same value for CANopen firmware (see CANopen manual
[CANopen])
**) Please note: tested with setting SAP 6, <motor>, 180 (see TMCM-351 TMCL™ firmware manual [TMCL]).
Same value for CANopen firmware (see CANopen manual [CANopen])
Table 5.2: Operational ratings of the reference switch inputs
Input voltage for general purpose digital
inputs IN_0/1/2/3/4/5/6/7
0 28.5
V
V
IN_0/1/2/3/4/5/6/7_L
Low level voltage for general purpose digital
inputs IN_1/2/3/4/5/6/7
0 1.6
V
V
IN_0/1/2/3/4/5/6/7_H
High level voltage for general purpose digital
inputs IN_1/2/3/4/5/6/7
4 28.5
V
V
Analog_0!1/2/3
Full scale input voltage range for analog
voltage inputs
(programmable voltage divider switched off)
0 3.3
V
V
Analog_0!1/2/3
Full scale input voltage range for analog
voltage inputs
(programmable voltage divider switched on)
0 10
V
Symbol
Parameter
Min
Typ
Max
Unit
N
RS485
Number of nodes connected to single RS485
network
256*)
Symbol
Parameter
Min
Typ
Max
Unit
N
CAN
Number of nodes connected to single CAN
network
110*)
Table 5.3: Operational ratings of the general purpose digital I/Os and dedicated analog inputs
Table 5.4: Operational ratings of the RS485 interface
Table 5.5: Operational ratings of the CAN interface
*) Number of nodes per CAN or RS485 network highly depends on communication speed and cable length.
Higher speeds and longer cables will reduce max. feasible number of nodes in one network.
In figure 6.1 the main parts of the TMCM-351 are shown. The module mainly consists of the µC (connected
to the EEPROM TMCL™ memory), the TMC428 motion controller (which controls up to three axes), three
TMC249 stepper drivers, three external MOSFETs, the interfaces (RS232, RS485, USB, and CAN), I/Os, and the
encoder interface based on the TMC423.
Figure 6.1: Main parts of the TMCM-351
6.1 System architecture
The TMCM-351 integrates a microcontroller with the TMCL™ (Trinamic Motion Control Language) operating
system. The motion control real-time tasks are realized by the TMC428.
6.1.1 Microcontroller
On this module, the Atmel AT91SAM7X256 is used to run the TMCL™ operating system and to control the
TMC428. The CPU has 256KB flash memory and a 64KB RAM. The microcontroller runs the TMCL™ (Trinamic
Motion Control Language) operating system which makes it possible to execute TMCL™ commands that are
sent to the module from the host via the RS232, RS485, USB, or CAN interface. The microcontroller interprets
the TMCL™ commands and controls the TMC428 which executes the motion commands. In addition it is
connected with the encoder interface and processes the inputs.
The flash ROM of the microcontroller holds the TMCL™ operating system. The TMCL™ operating system can
be updated via the RS232 interface or via the CAN interface. Use the TMCL-IDE to do this.
Motor stops when stallGuard™ value is reached and position is not set zero.
6.1.2 EEPROM
To store TMCL™ programs for stand-alone operation the TMCM-351 module is equipped with a 16kByte
EEPROM attached to the microcontroller. The EEPROM can store TMCL™ programs consisting of up to 2048
TMCL™ commands. The EEPROM is also used to store configuration data.
6.1.3 TMC428 motion controller
The TMC428 is a high-performance stepper motor control IC and can control up to three 2-phase-steppermotors. Motion parameters like speed or acceleration are sent to the TMC428 via SPI by the microcontroller.
Calculation of ramps and speed profiles are done internally by hardware based on the target motion
parameters.
6.1.4 Stepper motor drivers
On the TMCM-351 modules the TMCM249 chips are used. These chips have the stallGuard™ feature.
As the power dissipation of TMC249 chips is very low no heat sink or cooling fan is needed. The
temperature of the chips does not get high. The coils will be switched off automatically when the
temperature or the current exceeds the limits and automatically switched on again when the values are
within the limits again.
The TMCM-351 module is equipped with a circuit that extends the microstep resolution of the TMC249 chips
to true 64 times microstepping. The maximum peak coil current of each stepper motor driver chip is
1500mA.
6.2 stallGuard™ - sensorless motor stall detection
The TMCM-343 modules are equipped with the stallGuard™ feature. The stallGuard™ feature makes it
possible to detect if the mechanical load on a stepper motor is too high or if the traveler has been
obstructed. The load value can be read using a TMCL™ command or the module can be programmed so that
the motor will be stopped automatically when it has been obstructed or the load has been too high.
stallGuard™ can also be used for finding the reference position without the need for a reference switch:
Activate stallGuard™ and then let the traveler run against a mechanical obstacle that is placed at the end of
the way. When the motor has stopped it is definitely at the end of its way, and this point can be used as
the reference position.
For using stallGuard™ in an actual application, some manual tests should be done first, because the
stallGuard™ level depends upon the motor velocities and on the occurrence of resonances.
Mixed decay should be switched off while stallGuard™ is in use in order to get usable results.
Table 6.1: stallGuard™ parameter SAP 205
To activate the stallGuard™ feature use the TMCL™ command SAP 205 and set the stallGuard™ threshold
value according to Table 6.1. The actual load value is given by GAP 206. The TMCL-IDE has some tools which
let you try out and adjust the stallGuard™ function in an easy way. They can be found at stallGuard™ in the Setup menu and are described in the following chapters. Please refer to the TMCM-341/342/343 TMCL™
Firmware Manual for further information about working with TMCL-IDE.
The stallGuard™ adjusting tool helps to find the necessary motor parameters
when stallGuard™ is to be used. This function can only be used when a
module is connected that features stallGuard™. This is checked when the
stallGuard™ adjusting tool is selected in the Setup menu. After this has been
successfully checked the stallGuard™ adjusting tool is displayed.
First, select the axis that is to be used in the Motor area. Now you can enter
a velocity and an acceleration value in the Drive area and then click Rotate Left or Rotate Right. Clicking one of these buttons will send the necessary
commands to the module so that the motor starts running. The red bar in
the stallGuard™ area on the right side of the windows displays the actual
load value. Use the slider to set the stallGuard™ threshold value. If the load
value reaches this value the motor stops. Clicking the Stop button also stops
the motor.
Figure 6.2: stallGuard™ adjusting tool
All commands necessary to set the values entered in this dialogue are displayed in the Commands area at
the bottom of the window. There, they can be selected, copied and pasted into the TMCL™ editor.
6.2.2 stallGuard™ profiler
The stallGuard™ profiler is a utility that helps you find the best parameters for using stall detection. It scans
through given velocities and shows which velocities are the best ones. Similar to the stallGuard™ adjusting
tool it can only be used together with a module that supports stallGuard™. This is checked right after the
stallGuard™ profiler has been selected in the Setup menu. After this has been successfully checked the
stallGuard™ profiler window will be shown.
First, select the axis that is to be used. Then, enter the Start velocity
and the End velocity. The start velocity is used at the beginning of
the profile recording. The recording ends when the end velocity has
been reached. Start velocity and end velocity must not be equal.
After you have entered these parameters, click the Start button to
start the stallGuard™ profile recording. Depending on the range
between start and end velocity this can take several minutes, as the
load value for every velocity value is measured ten times. The Actual velocity value shows the velocity that is currently being tested and
so tells you the progress of the profile recording. You can also abort
a profile recording by clicking the Abort button.
The result can also be exported to Excel or to a text file by using the
Export button.
Do not use. For fullstep please see fullstep threshold
1
2
2
4
3
8
4
16
5
32 6 64
6.2.2.1 The result of the stallGuard™ profiler
The result is shown as a graphic in the stallGuard™ profiler window. After the profile recording has finished
you can scroll through the profile graphic using the scroll bar below it. The scale on the vertical axis shows
the load value: A higher value means a higher load. The scale on the horizontal axis is the velocity scale.
The color of each line shows the standard deviation of the ten load values that have been measured for the
velocity at that point. This is an indicator for the vibration of the motor at the given velocity.
There are three colors used:
Green: The standard deviation is very low or zero. This means that there is effectively no
vibration at this velocity.
Yellow: This color means that there might be some low vibration at this velocity.
Red: The red color means that there is high vibration at that velocity.
6.2.2.2 Interpreting the result
In order to make effective use of the stallGuard™ feature you should choose a velocity where the load
value is as low as possible and where the color is green. The very best velocity values are those where the
load value is zero (areas that do not show any green, yellow or red line). Velocities shown in yellow can
also be used, but with care as they might cause problems (maybe the motor stops even if it is not stalled).
Velocities shown in red should not be chosen. Because of vibration the load value is often unpredictable
and so not usable to produce good results when using stall detection.
As it is very seldom that exactly the same result is produced when recording a profile with the same
parameters a second time, always two or more profiles should be recorded and compared against each
other.
6.3 Microstep resolution
The TMCM-351 supports a true 64 microstep resolution. To meet your needs, the microstep resolution can be
set using the TMCL™ software. The default setting is 64 microsteps, which is the highest resolution. For
setting the microstep resolution with the TMCL™ firmware use instruction 5: SAP, type 140: microstep
resolution.
You can find the appropriate value in Table 6.2.
Table 6.2: Microstep resolution setting
Please refer to the TMCM-351 TMCL™ Firmware Manual (www.trinamic.com) for more information.
divider for the velocity. The higher the value is, the less
is the maximum velocity
default value = 0
0… 13
ramp_div
divider for the acceleration. The higher the value is, the
less is the maximum acceleration
default value = 0
0… 13
Usrs
microstep-resolution (microsteps per fullstep = 2
usrs
)
0… 7 (a value of 7 is
internally mapped to
6 by the TMC428)
3220482
velocity]Hz[f
]Hz[usf
div_pulse
CLK
usrs
2
]Hz[usf
]Hz[fsf
29div_rampdiv_pulse
max
2
CLK
2
af
a
usrs
2
a
af
7 TMCM-351 operational description
7.1 Calculation: Velocity and acceleration vs. microstep and
fullstep frequency
The values of the parameters sent to the TMC428 do not have typical motor values like rotations per second
as velocity. But these values can be calculated from the TMC428-parameters as shown in this document.
The parameters for the TMC428 are:
Table 7.1: TMC428 velocity parameters
The microstep-frequency of the stepper motor is calculated with
with usf: microstep-frequency
To calculate the fullstep-frequency from the microstep-frequency, the microstep-frequency must be divided
by the number of microsteps per fullstep.
with fsf: fullstep-frequency
The change in the pulse rate per time unit (pulse frequency change per second – the acceleration a) is
given by
TMCL™, the TRINAMIC Motion Control Language, is described in separate documentations, which refer to the
specific products (e.g. TMCM-351 TMCL™ Firmware Manual [TMCL]). The manuals are provided on the TMC
TechLibCD and on www.trinamic.com. Please refer to these sources for updated data sheets and application
notes.
The TMC TechLibCD includes data sheets, application notes, and schematics of evaluation boards, software of
evaluation boards, source code examples, parameter calculation spreadsheets, tools, and more.
The TMCM-351 module can also be used with the CANopen protocol. For this purpose, a special CANopen
firmware has to be installed. To do that, download the latest version of the TMCM-351 CANopen firmware
from the Trinamic website or use the version provided on the TechLib CD and install it using the firmware
update function of the TMCL-IDE (Setup/Install OS). The TMCM-351 module is then ready to be used with
CANopen. Please see the specific CANopen manual provided on the TRINAMIC website and on the TechLibCD
on how to use the TMCM-351 module with the CANopen protocol.