Module for Stepper Motors
MODULE
TMCM-1110 TMCL
™
Firmware Manual
Firmware Version V1.08 | Document Revision V1.01 • 2017-OCT-10
The TMCM-1110 is a single axis controller/driver module for 2-phase bipolar stepper motors. The
TMCM-1110 TMCL rmware allows to control the module using TMCL™ commands, supporting
standalone operation as well as direct mode control, making use of the Trinamic TMC429 motion
controller and the TMC262 motor driver. Dynamic current control, and quiet, smooth and e cient
operation are combined with stallGuard™ and coolStep™ features.
Features
•
•
•
•
•
•
•
•
Single Axis Stepper motor control
Supply voltage 24V DC
TMCL™
USB interface
RS485 interface
CAN interface
coolStep™
stallGuard2™
Applications
• Laboratory Automation
• Manufacturing
• Robotics
• Factory Automation
• Test & Measurement
• Technology evaluation
• First experiences with stepper
motors
• Hobby applications
Simpli ed Block Diagram
Reference Switches
Motor 0..2
Step/Dir IN
Motor 0
EEPROM
RS485
USB
Motor 0
µC
Inputs
GPIOs
10… 30V DC
Motion
Controller
Driver
Motor 0
Step/Dir OUT
Motor 1
Step/Dir OUT
Motor 2
TMCM-1110
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at:
www.trinamic.com
Read entire documentation.
TMCM-1110 TMCL
™
Firmware Manual • Firmware Version V1.08 | Document Revision V1.01 • 2017-OCT-10
2 / 109
Contents
1 Features
1.1 stallGuard2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 coolStep
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 First Steps with TMCL
2.1 Basic Setup
. . . . . . . . . . . . . . . .
2.2 Using the TMCL Direct Mode
. . . . .
2.3 Changing Axis Parameters
. . . . . . .
2.4 Testing with a simple TMCL Program
.
5
6
6
7
7
7
7
8
10
10
11
12
12
13
14
14
15
15
16
16
17
17
18
21
21
22
23
24
27
28
29
30
31
32
33
34
35
37
39
42
44
45
47
48
49
50
52
53
54
56
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 TMCL and the TMCL-IDE — An Introduction
3.1 Binary Command Format
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Checksum Calculation
. . . . . . . . . . . . . . . . . . . . . . . .
3.2 Reply Format
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Status Codes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Standalone Applications
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 TMCL Command Overview
. . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 TMCL Commands
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 TMCL Commands by Subject
. . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 Motion Commands
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.2 Parameter Commands
. . . . . . . . . . . . . . . . . . . . . . . .
3.5.3 Branch Commands
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.4 I/O Port Commands
. . . . . . . . . . . . . . . . . . . . . . . . .
3.5.5 Calculation Commands
. . . . . . . . . . . . . . . . . . . . . . .
3.5.6 Interrupt Processing Commands
. . . . . . . . . . . . . . . . . .
3.6 Detailed TMCL Command Descriptions
. . . . . . . . . . . . . . . . . .
3.6.1 ROR (Rotate Right)
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2 ROL (Rotate Left)
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.3 MST (Motor Stop)
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4 MVP (Move to Position)
. . . . . . . . . . . . . . . . . . . . . . .
3.6.5 SAP (Set Axis Parameter)
. . . . . . . . . . . . . . . . . . . . . .
3.6.6 GAP (Get Axis Parameter)
. . . . . . . . . . . . . . . . . . . . . .
3.6.7 STAP (Store Axis Parameter)
. . . . . . . . . . . . . . . . . . . . .
3.6.8 RSAP (Restore Axis Parameter)
. . . . . . . . . . . . . . . . . . .
3.6.9 SGP (Set Global Parameter)
. . . . . . . . . . . . . . . . . . . . .
3.6.10 GGP (Get Global Parameter)
. . . . . . . . . . . . . . . . . . . .
3.6.11 STGP (Store Global Parameter)
. . . . . . . . . . . . . . . . . . .
3.6.12 RSGP (Restore Global Parameter)
. . . . . . . . . . . . . . . . .
3.6.13 RFS (Reference Search)
. . . . . . . . . . . . . . . . . . . . . . . .
3.6.14 SIO (Set Output)
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.15 GIO (Get Input)
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.16 CALC (Calculate)
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.17 COMP (Compare)
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.18 JC (Jump conditional)
. . . . . . . . . . . . . . . . . . . . . . . . .
3.6.19 JA (Jump always)
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.20 CSUB (Call Subroutine)
. . . . . . . . . . . . . . . . . . . . . . . .
3.6.21 RSUB (Return from Subroutine)
. . . . . . . . . . . . . . . . . .
3.6.22 WAIT (Wait for an Event to occur)
. . . . . . . . . . . . . . . . . .
3.6.23 STOP (Stop TMCL Program Execution – End of TMCL Program)
3.6.24 SCO (Set Coordinate)
. . . . . . . . . . . . . . . . . . . . . . . . .
3.6.25 GCO (Get Coordinate)
. . . . . . . . . . . . . . . . . . . . . . . .
3.6.26 CCO (Capture Coordinate)
. . . . . . . . . . . . . . . . . . . . . .
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at
www.trinamic.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
TMCM-1110 TMCL
™
Firmware Manual • Firmware Version V1.08 | Document Revision V1.01 • 2017-OCT-10
3 / 109
3.6.27
3.6.28
3.6.29
3.6.30
3.6.31
3.6.32
3.6.33
3.6.34
3.6.35
3.6.36
3.6.37
3.6.38
ACO (Accu to Coordinate)
. . . . . . . . . . . . . . . . . . . . . . . . . . .
CALCX (Calculate using the X Register)
. . . . . . . . . . . . . . . . . . . .
AAP (Accu to Axis Parameter)
. . . . . . . . . . . . . . . . . . . . . . . . .
AGP (Accu to Global Parameter)
. . . . . . . . . . . . . . . . . . . . . . .
CLE (Clear Error Flags)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EI (Enable Interrupt)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DI (Disable Interrupt)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VECT (De ne Interrupt Vector)
. . . . . . . . . . . . . . . . . . . . . . . .
RETI (Return from Interrupt)
. . . . . . . . . . . . . . . . . . . . . . . . .
Customer speci c Command Extensions (UF0. . . UF7 – User Functions)
Request Target Position reached Event
. . . . . . . . . . . . . . . . . . .
TMCL Control Commands
. . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
58
60
61
62
64
65
66
68
69
70
72
74
83
83
86
87
87
89
89
89
89
90
90
90
91
93
93
94
94
94
95
95
96
96
97
98
99
4 Axis Parameters
5 Global Parameters
5.1 Bank 0
. . . . .
5.2 Bank 1
. . . . .
5.3 Bank 2
. . . . .
5.4 Bank 3
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Module Speci c Hints
6.1 Velocity and Acceleration Calculation
. . . . . . . . . .
6.1.1 Velocity Conversion
. . . . . . . . . . . . . . . .
6.1.2 Acceleration Conversion
. . . . . . . . . . . . . .
6.1.3 How to choose Pulse Divisor and Ramp Divisor
6.1.4 Conversion between PPS, RPM and RPS
. . . . .
6.2 General Purpose Inputs and Outputs
. . . . . . . . . .
6.3 The Encoder Interface
. . . . . . . . . . . . . . . . . . .
7 Hints and Tips
7.1 Reference Search
7.1.1 Mode 1
. .
7.1.2 Mode 2
. .
7.1.3 Mode 3
. .
7.1.4 Mode 4
. .
7.1.5 Mode 5
. .
7.1.6 Mode 6
. .
7.1.7 Mode 7
. .
7.1.8 Mode 8
. .
7.2 stallGuard2
. . . .
7.3 coolStep
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8 TMCL Programming Techniques and Structure
8.1 Initialization
. . . . . . . . . . . . . . . . . . . . .
8.2 Main Loop
. . . . . . . . . . . . . . . . . . . . . .
8.3 Using Symbolic Constants
. . . . . . . . . . . . .
8.4 Using Variables
. . . . . . . . . . . . . . . . . . .
8.5 Using Subroutines
. . . . . . . . . . . . . . . . .
8.6 Combining Direct Mode and Standalone Mode
8.7 Make the TMCL Program start automatically
. .
9 Figures Index
10 Tables Index
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at
www.trinamic.com
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
101
. 101
. 101
. 101
. 102
. 103
. 103
. 104
105
106
TMCM-1110 TMCL
™
Firmware Manual • Firmware Version V1.08 | Document Revision V1.01 • 2017-OCT-10
4 / 109
11 Supplemental Directives
11.1 Producer Information
. . . . . . . . .
11.2 Copyright
. . . . . . . . . . . . . . . . .
11.3 Trademark Designations and Symbols
11.4 Target User
. . . . . . . . . . . . . . . .
11.5 Disclaimer: Life Support Systems
. . .
11.6 Disclaimer: Intended Use
. . . . . . .
11.7 Collateral Documents & Tools
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
107
. 107
. 107
. 107
. 107
. 107
. 107
. 108
12 Revision History
109
12.1 Firmware Revision
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
12.2 Document Revision
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at
www.trinamic.com
TMCM-1110 TMCL
™
Firmware Manual • Firmware Version V1.08 | Document Revision V1.01 • 2017-OCT-10
5 / 109
1 Features
The TMCM-1110 is a single axis controller/driver module for 2-phase bipolar stepper motors with state
of the art feature set. It is highly integrated, offers a convenient handling and can be used in many
decentralized applications. The module has been designed for coil currents up to 2.8A RMS and 24V
DC supply voltage. It is also equipped with end switch inputs as well as some general purpose digital
inputs and outputs and one analogue input. With its high energy e ciency from TRINAMIC’s coolStep™
technology cost for power consumption is kept down. The TMCL rmware allows for both standalone and
direct mode operation.
Main characteristics
• Motion controller & stepper motor driver:
–
Hardware motion pro le calculation in real-time.
–
On the y alteration of motion parameters (e.g. position, velocity, acceleration).
–
High performance microcontroller for overall system control and communication protocol
handling.
–
Up to 256 microsteps per full step.
–
High-e cient operation, low power dissipation.
–
Dynamic current control.
–
Integrated protection.
–
stallGuard2™ feature for stall detection.
–
coolStep™ feature for reduced power consumption and heat dissipation.
• Interfaces
–
USB interface.
–
RS485 bus.
–
CAN bus.
–
Additional digital inputs and outputs.
–
One analogue input.
–
End switch inputs.
–
Step/direction input and output.
Software
TMCL remote controlled operation via USB, RS485 or CAN interface and/or stand-alone operation via TMCL
programming. PC-based application development software TMCL-IDE available for free.
Electrical data
• Supply voltage: +12V and +24V nominal (10. . . 27V DC supply range).
• Motor current: up to 2.8A RMS / 3.9A peak (programmable).
Please see also the separate Hardware Manual.
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at
www.trinamic.com