Trinamic TMCM-1211 TMCL Firmware Manual

Trinamic TMCM-1211 TMCL Firmware Manual

For stepper
Table of Contents

Advertisement

Quick Links

Module for Stepper
TMCM-1211 TMCL
Firmware Version V1.10 | Document Revision V1.00 • 2018-OCT-02
The TMCM-1211 is a single axis controller/driver module for 2-phase bipolar stepper motors. The
TMCM-1211 TMCL
rmware allows to control the module using TMCL™ commands, supporting
standalone operation as well as direct mode control, making use of the Trinamic TMC5160 motion
controller and motor driver. Dynamic current control, and quiet, smooth and e
are combined with stallGuard™ coolStep™ and stealthChop™ features.
Applications
• Laboratory Automation
• Manufacturing
• Robotics
Simpli ed Block Diagram
Step/Dir
Inputs
GPIO
USB
RS485
CAN
10...30V DC
©2018 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.
Firmware Manual
• Factory Automation
• Test & Measurement
• Technology evaluation
REFL/REFR
ENCA/ENCB
TMCL™
Memory
SPI
ARM
SPI
Cortex M0+™
Microcontroller
Features
• Single Axis Stepper motor control
• Supply voltage 24V DC
• TMCL™
• USB interface
• RS485 interface
• CAN interface
• coolStep™
• stallGuard2™
• stealthChop™
• First experiences with stepper
motors
• Hobby applications
Stepper
Energy Efficient
Motor
Driver
Controller
TMC2 6 2
&
Driver
TMCM-1211
MODULE
cient operation
Stepper
Motor

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMCM-1211 TMCL and is the answer not in the manual?

Questions and answers

Summary of Contents for Trinamic TMCM-1211 TMCL

  • Page 1 TMCM-1211 TMCL rmware allows to control the module using TMCL™ commands, supporting standalone operation as well as direct mode control, making use of the Trinamic TMC5160 motion controller and motor driver. Dynamic current control, and quiet, smooth and e cient operation are combined with stallGuard™...
  • Page 2: Table Of Contents

    ........56 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 3 ..........124 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 4 ..........133 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 5: Features

    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.
  • Page 6: Stallguard2

    Efficiency with 50v torque reserve Efficiency Velocity [RPM] Figure 2: Energy E ciency Example with coolStep ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 7: Sixpoint Motion Controller

    Firmware Manual • Firmware Version V1.10 | Document Revision V1.00 • 2018-OCT-02 1.3 sixPoint Motion Controller TRINAMIC’s sixPoint motion controller is a new type of ramp generator which offers faster machine opera- tion compared to the classical linear acceleration ramps. The sixPoint ramp generator allows adapting the acceleration ramps to the torque curves of a stepper motor.
  • Page 8: First Steps With Tmcl

    TMCL-IDE installed on your PC then please download it from the TMCL-IDE product page of Trinamic’s website (http://www.trinamic.com) and install it on your PC. Please also ensure that your TMCM-1211 is properly connected to your power supply and that the stepper motor is properly connected to the module.
  • Page 9: Testing With A Simple Tmcl Program

    2. Click the Download icon (or choose Download from the TMCL menu) in the TMCL creator to donwload the program to the module. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 10 3. You can at any time pause the program, set or reset breakpoints and resume program execution. 4. To end the debug mode click the Bug icon again. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 11: Tmcl And The Tmcl-Ide An Introduction

    Whereas the boot loader is installed during production and testing at TRINAMIC and remains untouched throughout the whole lifetime, the rmware can be updated by the user. New versions can be downloaded free of charge from the TRINAMIC website (http://www.trinamic.com).
  • Page 12: Checksum Calculation

    8-bit addition. Here are two examples which show how to do this: Checksum calculation in C: Checksum calculation in Delphi: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 13: Reply Format

    Wrong type Invalid value Con guration EEPROM locked Command not available Table 4: TMCL Status Codes ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 14: Standalone Applications

    They will be assembled automatically into their binary representations. Afterwards this code can be downloaded into the module to be executed there. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 15: Tmcl Command Overview

    <condition>, <jump address> Jump conditional <jump address> Jump absolute CSUB <subroutine address> Call subroutine RSUB Return from subroutine ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 16 Decrement and jump if not zero ROLA <motor number> Rotate left, velocity speci ed by accu- mulator ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 17: Tmcl Commands By Subject

    These commands can also be used in direct mode and in standalone mode. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 18: Branch Commands

    These commands control the external I/O ports and can be used in direct mode as well as in standalone mode. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 19: Calculation Commands

    The following commands are use to de ne and handle interrupts: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 20 Before an interrupt handling routine gets called, the context of the normal program (i.e. accumulator register, X register, ags) will be saved automatically. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 21 Interrupts.inc. This le de nes symbolic constants for all interrupt numbers which can be used in all interrupt commands. The beginning of the program above then looks as follows: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 22: New Tmcl Commands

    Rotate right using the accumulator Set indexed variable Get indexed variable Accu to indexed variable Table 13: New TMCL Commands ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 23: Detailed Tmcl Command Descriptions

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 24: Rol (Rotate Left)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 25: Mst (Motor Stop)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 26: Mvp (Move To Position)

    100 - OK don’t care Example Move motor 0 to position 90000. Mnemonic: MVP ABS, 0, 90000 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 27 Value (Byte 0) Checksum Example Move motor 0 to stored coordinate #8. Mnemonic: MVP COORD, 0, 8 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 28 Before moving to a stored coordinate, the coordinate has to be set using an SCO, CCO or ACO command. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 29: Sap (Set Axis Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 30: Gap (Get Axis Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 31: Stap (Store Axis Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 32: Rsap (Restore Axis Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 33: Sgp (Set Global Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 34: Ggp (Get Global Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 35: Stgp (Store Global Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 36: Rsgp (Restore Global Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 37: Rfs (Reference Search)

    Example Start reference search of motor 0. Mnemonic: RFS START, 0. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 38 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 39: Sio (Set Output)

    Bank 2 – Digital Outputs The following output lines can be set by the SIO commands) using bank 2. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 40 A bit that is set switches on the corresponding pull-up resistor. So for example SIO 0, 0, 0 turns off all pull-up resistors, and SIO 0, 0, 63 turns on all pull-up-resistors. All pull-up resistors are on by default. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 41: Gio (Get Input)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 42 Analog Inputs in Bank 1 Port Command Range AIN0 GIO 0, 1 0. . . 65535 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 43 PWMU2 GIO 4, 2 PWMD0 GIO 5, 2 PWMD1 GIO 6, 2 PWMD2 GIO 7, 2 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 44: Calc (Calculate)

    100 - OK the operand (don’t care) Example Multiply accumulator by -5000. Mnemonic: CALC MUL, -5000 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 45 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 46: Comp (Compare)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 47: Jc (Jump Conditional)

    Jump to the address given by the label when the position of motor #0 is greater than or equal to 1000. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 48 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 49: Ja (Jump Always)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 50: Csub (Call Subroutine)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 51: Rsub (Return From Subroutine)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 52: Wait (Wait For An Event To Occur)

    4 RFS – reference search completed <motor number> 0 for no timeout Example one tick is 10 milliseconds ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 53 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 54: Stop (Stop Tmcl Program Execution - End Of Tmcl Program)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 55: Sco (Set Coordinate)

    • SCO <coordinate number>, 255, 0 copies the coordinate selected by <coordinate number> to the EEPROM. The coordinate number must be a value between 1 and 20. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 56: Gco (Get Coordinate)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 57 • GCO <coordinate number>, 255, 0 copies the coordinate selected by <coordinate number> from the EEPROM to the RAM. The coordinate number must be a value between 1 and 20. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 58: Cco (Capture Coordinate)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 59: Aco (Accu To Coordinate)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 60: Calcx (Calculate Using The X Register)

    Status Value 100 - OK don’t care Example Multiply accumulator and X register. Mnemonic: CALCX MUL ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 61 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 62: Aap (Accu To Axis Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 63: Agp (Accu To Global Parameter)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 64: Cle (Clear Error Flags)

    Reply in Direct Mode Status Value 100 - OK don’t care Example Reset the timeout ag. Mnemonic: CLE ETO ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 65 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 66: Ei (Enable Interrupt)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 67: Di (Disable Interrupt)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 68: Vect (De Ne Interrupt Vector)

    Status Value 100 - OK don’t care Example De ne interrupt vector for timer #0 interrupt: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 69 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 70: Reti (Return From Interrupt)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 71: Calcvv (Calculate Using Two User Variables)

    (don’t care) Example Subtract user variable #42 from user variable #65. Mnemonic: CALCVV SUB, 65, 42 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 72 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 73: Calcva (Calculate Using A User Variable And The Accumulator Register)

    100 - OK the operand (don’t care) Example Subtract accumulator from user variable #27. Mnemonic: CALCVA SUB, 27 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 74 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 75: Calcav (Calculate Using The Accumulator Register And A User Variable)

    100 - OK the operand (don’t care) Example Subtract user variable #27 from accumulator. Mnemonic: CALCXV SUB, 27 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 76 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 77: Calcvx (Calculate Using A User Variable And The X Register)

    (don’t care) Example Subtract X register from user variable #27. Mnemonic: CALCVX SUB, 27 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 78 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 79: Calcxv (Calculate Using The X Register And A User Variable)

    (don’t care) Example Subtract user variable #27 from X register. Mnemonic: CALCXV SUB, 27 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 80 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 81: Calcv (Calculate Using A User Variable And A Direct Value)

    (don’t care) Example Subtract 5000 from user variable #27. Mnemonic: CALCV SUB, 27, 5000 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 82 Target address Status Instruction Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 83: Rst (Restart)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 84: Djnz (Decrement And Jump If Not Zero)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 85: Call (Conditional Subroutine Call)

    10 EDV - deviation error 11 EPO - position error Example Call a subroutine if a condition is met: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 86 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 87: Mvpa (Move To Position Speci Ed By Accumulator Register)

    Example Move motor 0 to position speci ed by accumulator. Mnemonic: MVPA ABS, 0 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 88 Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 89: Rola (Rotate Left Using The Accumulator Register)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 90: Rora (Rotate Right Using The Accumulator Register)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 91: Siv (Set Indexed Variable)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 92: Giv (Get Indexed Variable)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 93: Aiv (Accumulator To Indexed Variable)

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 94: Customer Speci C Command Extensions (Uf0

    3.6.51 Customer speci c Command Extensions (UF0. . . UF7 – User Functions) These commands are used for customer speci c extensions of TMCL. They will be implemented in C by Trinamic. Please contact the sales department of Trinamic Motion Control GmbH & Co KG if you need a customized TMCL rmware.
  • Page 95: Request Target Position Reached Event

    Instruction number Type Motor/Bank Value (Byte 3) Value (Byte 2) Value (Byte 1) Value (Byte 0) Checksum ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 96 Value (Byte 1) Value (Byte 0) Motor bit mask Checksum depends also on motor bit mask ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 97: Tmcl Control Commands

    0 (don’t care) address the speci ed memory loca- program memory tion location (special reply format). ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 98 Especially the commands 128, 129, 131, 136 and 255 are interesting for use in custom host applications. The other control commands are mainly being used by the TMCL-IDE. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 99: Axis Parameters

    Maximum acceleration in positioning ramps. Ac- 0. . . 7629278 acceleration celeration and deceleration value in velocity [pps mode. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 100 Acceleration A1 First acceleration between VSTART and V1 (in 0. . . 7629278 position mode only). [pps ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 101 22 when set ot 1. Measured Speed measured by the motor driver. 0. . . 7999774 speed [pps] ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 102 ”1” will disable current comperator comparator usage for termination of fast decay cycle. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 103 Scaling: 0. . . 3: 1, 2, 4, 8 0: slow increment 3: fast increment / fast reaction to rising load ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 104 Velocity dependent gradient for PWM amplitude 0. . . 15 (stealthChop). Setting this value to 0 turns off stealthChop. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 105 0 - User de ned PWM amplitude. The current settings do not have any in uence. 1 - Enable automatic current control. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 106 Motor full step Full step resolution of the motor (Default: 200). 0. . . 65535 resolution ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 107 . . . 2147483647 [µsteps] Encoder Encoder counts per round. 0. . . 65535 resolution ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 108 1 - the units are pps for velocity and pps acceleration/deceleration Default value is 1 (pps units). Table 16: All TMCM-1211 Axis Parameters ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 109: Global Parameters

    Parameter can be stored in the EEPROM Automatically stored in the EEPROM Table 17: Meaning of the Letters in the Access Column ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 110 Host address used in the reply telegrams 0. . . 255 address sent back via RS485. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 111 EEPROM automatically on startup. 0 - user variables are restored (default) 1 - user variables are not restored ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 112: Bank 1

    The global parameter bank 1 is normally not available. It may be used for customer speci c extensions of the rmware. Together with user de nable commands these variables form the interface between extensions of the rmware (written by Trinamic in C) and TMCL applications. 5.3 Bank 2 Bank 2 contains general purpose 32 bit variables for use in TMCL applications.
  • Page 113: Bank 3

    0=off, 1=low-high, 2=high-low, 3=both 0. . . 3 transition Table 20: Interrupt Parameters in Bank 3 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...
  • Page 114: Module Speci C Hints

    For example, setting global parameter #78 to 7 (default value) programs PWMU0, PWMU1 and PWMU2 as outputs and PWMD0, PWMD1 and PWMD2 as inputs. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 115: Hints And Tips

    The drawings in the following subsections show how each reference search mode works. A linear stage with two end points and a moving slider is used as example. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 116: Mode 1

    Add 64 to the mode number (i.e. set axis parameter #193 to 67) to search the left end switch rst and then use the middle of the right end switch as the zero point. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 117: Mode 4

    Add 128 to the mode number (i.e. set axis parameter #193 to 129) to reverse the polarity of the home switch input. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 118: Mode 6

    Add 128 to the mode number (i.e. set axis parameter #193 to 131) to reverse the polarity of the home switch input. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 119 : reference search speed (axis parameter 194) : reference switch speed (axis parameter 195) Figure 11: Reference search Mode 8 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 120: Using Encoders

    With the TMCM-1211 the encoder cannot be used for a servo-like closed-loop operation (but there are a number of other Trinamic modules which can do real closed-loop operation).
  • Page 121: Coolstep

    The lower threshold of the coolStep™ current can be adjusted up to I6/4. Refer to parameter 168. Figure 12: coolStep Adjustment Points and Thresholds ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 122 The stan- dard value is 200 (which means 2000msec). Table 23: coolStep Adjustment Points and Thresholds ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 123: Velocity And Acceleration Calculation

    So, with a 200 fullsteps motor and a microstep setting of 256 (axis parameter #140 = 8), a velocity of 51200pps will result in 1rps (60rpm). ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 124: Sixpoint Ramp

    Firmware Manual • Firmware Version V1.10 | Document Revision V1.00 • 2018-OCT-02 7.6 sixPoint Ramp The TMCM-1211 is equipped with a motion controller that supports TRINAMIC’s sixPoint ramp technology. Please see also section for more information about the sixPoint ramp. The sixPoint ramp can be...
  • Page 125: Tmcl Programming Techniques And Structure

    The TMCL-IDE provides an include le with symbolic names for all important axis parameters and global parameters. Please consider the following example: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 126: Using Variables

    The host can also poll a variable using GGP in direct mode and see if it has been changed by the TMCL program. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 127: Using Subroutines

    TMCL routines are changed (so when changing the TMCL routines the host program does not have to be changed). Example: ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 128: Make The Tmcl Program Start Automatically

    • Use the Autostart entry in the TMCL menu of the TMCL Creator in the TMCL-IDE. Go to the Autostart entry in the TMCL menu and select "’On"’. ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved.
  • Page 129: Figures Index

    Thresholds ....121 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 130: Tables Index

    ....Document Revision ... 133 ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at...
  • Page 131: Supplemental Directives

    11.5 Disclaimer: Life Support Systems TRINAMIC Motion Control GmbH & Co. KG does not authorize or warrant any of its products for use in life support systems, without the speci c written consent of TRINAMIC Motion Control GmbH & Co. KG.
  • Page 132: Collateral Documents & Tools

    In particular, this also applies to the stated possible applications or areas of applications of the product. TRINAMIC products are not designed for and must not be used in connection with any applications where the failure of such products would reasonably be expected to result in signi cant personal injury or death (safety-Critical Applications) without TRINAMIC’s speci c written consent.
  • Page 133: Revision History

    12.2 Document Revision Version Date Author Description V1.00 2018-OCT-02 First release version. Table 26: Document Revision ©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download newest version at www.trinamic.com...

Table of Contents