background image

TMCM-142 TMCL

TM

 Firmware Manual (V1.06 / 2014-JUN-24) 

33 

 

 
Copyright © 2009, TRINAMIC Motion Control GmbH & Co. KG 

 

Number  Axis parameter 

Description 

Range [Unit] 

128 

Ramp mode 

Normally set automatically by the 
ROL, ROR, MVP and MST commands. 
0: positioning mode 
1: reserved 
2: velocity mode 
3: hold mode 

0...3 

193 

Reference search mode 

1 – Only the left reference switch 
is searched.  
2 – The right switch is searched 
and afterwards the left switch is 
searched.  
3 – Three-switch-mode: the right 
switch is searched first and 
afterwards the reference switch 
will be searched.  
Please see 9.2 for details on 
reference search 

 

1/2/3 

194 

Reference search speed  

Specifies the reference search 
speed. 

0…2147483647 
[µsteps/t] 

195 

Reference switch speed 

Specifies the speed for the exact 
reference switch calibration. 

0…2147483647 

212 

Maximum encoder 
deviation 

When the actual position (param. 1) 
and the encoder position (param. 
41) differ more than the value set 
here, the motor will be stopped. 
Setting this parameter to 0 disables 
this function. 

0…2147483647 
[µsteps] 

255 

Unit conversion mode 

Units to use for velocity and 
acceleration: 
0: use TMC457 units 
1: use PPS units 

0/1 

 

  

Please use the

 

TMC457 calculations data file (

www.trinamic.com

) for getting best values. 

 

Please refer to 7.1 for information about real world units vs. units of the TMC457.

 

 

Example:  

Set the absolute maximum current of motor to 200mA 

Mnemonic:

 SAP 6, 0, 200 

 

Binary:

 

Byte Index 

Function 

Target- 

address 

Instruction 

Number 

Type 

Motor/ 

Bank 

Operand 

Byte3 

Operand 

Byte2 

Operand 

Byte1 

Operand 

Byte0 

Checksum 

Value (hex) 

$01 

$05 

$06 

$00 

$00 

$00 

$00 

$c8 

$d5 

 
 

 

Содержание TMCL TMCM-142

Страница 1: ...TMCM 142 TMCLTM Firmware Manual Version 1 06 2014 JUN 24 Trinamic Motion Control GmbH Co KG Waterloohain 5 D 22769 Hamburg Germany http www trinamic com...

Страница 2: ...figuring the ASCII interface 22 6 7 Commands 24 6 7 1 ROR rotate right 24 6 7 2 ROL rotate left 25 6 7 3 MST motor stop 26 6 7 4 MVP move to position 27 6 7 5 SAP set axis parameter 29 6 7 6 GAP get a...

Страница 3: ...tion reached event 89 6 7 34 BIN return to binary mode 90 6 7 35 TMCL Control Functions 91 7 Axis parameters 93 7 1 Real world units vs units of the TMC457 98 8 Global parameters 99 8 1 Bank 0 99 8 2...

Страница 4: ...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...

Страница 5: ...ility with encoder feedback and PID position regulator Electrical data Supply voltage 18V 78 5V DC Motor current up to 7A peak 5A RMS programmable Supported motors Two phase bipolar motors with 1A to...

Страница 6: ...TMCM 142 IF Single axis stepper motor controller driver 5A RMS 75V with encoder feedback and the standard adapter interface board TMCM IF 76x70x33 Related motors QSH 5718 57mm NEMA23 1 8 step angle 5...

Страница 7: ...ut the whole lifetime the firmware can be updated by the user New versions can be downloaded free of charge from the TRINAMIC website http www trinamic com The firmware shipped with this module is rel...

Страница 8: ...face add on board Interface RS232 RS485 USB or CAN suitable to your TMCM 142 IF with cables Nominal supply voltage 24V DC 18 78 5V DC for your module A stepper motor which fit to your module for examp...

Страница 9: ...SB Connector 1 Terminal1 USB Connector 3 Connector 2 Connector 4 D SUB Connector 1 Adapter Side View Figure 5 1 Connectors of the TMCM 142 and the TMCM IF 2 Connect the motor and the power supply Conn...

Страница 10: ...the pinning of other interfaces Connect the USB interface Choose the USB port of the TMCM IF and connect the interface with a USB cable Accordingly adjust the DIP switches ON ON ON Switch 101 Switch...

Страница 11: ...tal user controlled input 7 Optically isolated active low needs power supply on pin 15 12 ENC_A Differential encoder Channel A input optional 13 IN2_A D Analog user controlled input 2 No internal resi...

Страница 12: ...ON The LED for power should glow now This indicates that the on board 5V supply is available If this does not occur switch power OFF and check your connections as well as the power supply 6 Start the...

Страница 13: ...he program to the TMCM 142 module via the icon Download 9 Press icon Run The desired program will be executed 10 Click Stop button to stop the program A simple example for using TMCL and TMCL IDE ROL...

Страница 14: ...If the module is not detected please check all points above cables interface power supply COM port baud rate 3 Issue a command by choosing instruction type if necessary motor and value and click Exec...

Страница 15: ...control commands but also commands to control the program structure like conditional jumps compare and calculating Every command has a binary representation and a mnemonic The binary format is used t...

Страница 16: ...hecksum byte Command array 0 8 of byte Set the Command array to the desired command Calculate the Checksum Checksum Command 0 for i 1 to 7 do Checksum Checksum Command i Command 8 Checksum Now send th...

Страница 17: ...can load them down into the EEPROM and then it will run on the module The TMCL IDE contains an editor and a TMCLTM assembler where the commands can be entered using their mnemonic format They will be...

Страница 18: ...l parameter GGP 10 Get global parameter STGP 11 Store global parameter into EEPROM RSGP 12 Restore global parameter from EEPROM 6 4 3 I O port commands These commands control the external I O ports an...

Страница 19: ...parameter ACO 39 Copy accu to coordinate For calculating purposes there is an accumulator or accu or A register and an X register When executed in a TMCLTM program in stand alone mode all TMCLTM comma...

Страница 20: ...mber value Set global parameter module specific settings e g communication settings or TMCL user variables GGP 10 parameter bank number Get global parameter read out module specific settings e g commu...

Страница 21: ...tarting address of the application 133 quit download mode target command execution is resumed don t care don t care don t care 134 read TMCL memory the specified program memory location is read don t...

Страница 22: ...module sends back a reply in ASCII format This reply consists of the address character of the host host address that can be set in the module the address character of the module the status code as a d...

Страница 23: ...ess the backspace key in a terminal program When bit 4 is set and bit 5 is clear the characters that are entered are not echoed back immediately but the entire line will be echoed back after the CR ch...

Страница 24: ...d the TMC239 power driver This makes possible choosing a velocity between 0 and 2147483647 When axis parameter 255 unit conversion mode is set to 1 the speed must be given as microsteps per second In...

Страница 25: ...between 0 and 2147483647 When axis parameter 255 unit conversion mode is set to 1 the speed must be given as microsteps per second In this case the range for the speed is 0 31999999 microsteps second...

Страница 26: ...nction The axis parameter target velocity is set to zero Related commands ROL ROR SAP GAP Mnemonic MST 0 Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 3 don t care 0 don t care motor number...

Страница 27: ...tioned limits too Moving the motor to a previously stored coordinate refer to SCO for details Internal function A new position value is transferred to the axis parameter 2 target position Related comm...

Страница 28: ...inate 8 Mnemonic MVP COORD 0 8 Binary Byte Index 0 1 2 3 4 5 6 7 8 Function Target address Instruction Number Type Motor Bank Operand Byte3 Operand Byte2 Operand Byte1 Operand Byte0 Checksum Value hex...

Страница 29: ...E 100 OK don t care Axis parameters which can be used for SAP Please note that for the binary representation parameter number has to be filled with the number and the value has to be filled with a val...

Страница 30: ...acceleration Acceleration 1 16777215 steps t2 17 Max deceleration Deceleration 1 16777215 steps t2 18 Bow 0 trapezoidal ramps corresponds to an infinite bow value 1 18 S shaped ramps in logarithmic r...

Страница 31: ...nts A too low offset leads to the motor turning too slow during zero transition a too high offset leads to a larger step This parameter can be optimized for the motor type It mainly depends on motor i...

Страница 32: ...n null channel is active Bit 4 continuous clear while null channel is active Bit 5 clear once at next null channel event Bit 6 null channel is positive edge triggered Bit 7 null channel is negative ed...

Страница 33: ...Reference switch speed Specifies the speed for the exact reference switch calibration 0 2147483647 212 Maximum encoder deviation When the actual position param 1 and the encoder position param 41 dif...

Страница 34: ...n t care motor number is always O as only one motor is involved Reply in direct mode STATUS VALUE 100 OK don t care Axis parameters which can be used for GAP Please note that for the binary representa...

Страница 35: ...ht stop switch polarity Bit 4 swap left and right stop switch Bit 5 enable soft stop Bit 8 latch position on left stop switch going active Bit 9 latch position on left stop switch going inactive Bit 1...

Страница 36: ...cro steps 8 8 micro steps 9 4 micro steps 10 2 micro steps 11 1 full step 0 11 28 PID tolerance Tolerance for PID regulation If the absolute value of the error pid_e is below pid_tolerance after an ex...

Страница 37: ...lkdiv 128 attention pid_d_clkdiv 0 results in 256 0 255 37 PID dv clipping Clipping parameter for PID calculation result pid_v_actual pid_v_actual v_actual clip PID_result pid_dv_clip 0 2147483647 ste...

Страница 38: ...leared after reading 0 1 45 Encoder latch Encoder position latched on N channel event steps 46 Position latch Motor position latched on stop switch event 47 Encoder warn distance Maximum deviation bet...

Страница 39: ...the speed for the exact reference switch calibration 0 2147483647 196 End switch distance Provides the distance between the two end switches after executing a reference search in mode 2 or 3 0 214748...

Страница 40: ...N 24 40 Copyright 2009 TRINAMIC Motion Control GmbH Co KG Function Host address Target address Status Instruction Operand Byte3 Operand Byte2 Operand Byte1 Operand Byte0 Checksum Value hex 02 01 64 06...

Страница 41: ...irect mode STATUS VALUE 100 OK don t care Parameter ranges Parameter number Motor number Value s chapter 7 0 s chapter 7 Axis parameters which can be used for STAP Please note that for the binary repr...

Страница 42: ...a stop switch 16 Max acceleration Acceleration 17 Max deceleration Deceleration 18 Bow 0 trapezoidal ramps corresponds to an infinite bow value 1 18 S shaped ramps in logarithmic representation bow_va...

Страница 43: ...ossing of the coil currents A too low offset leads to the motor turning too slow during zero transition a too high offset leads to a larger step This parameter can be optimized for the motor type It m...

Страница 44: ...active Bit 5 clear once at next null channel event Bit 6 null channel is positive edge triggered Bit 7 null channel is negative edge triggered Bit 8 clear encoder position on null event otherwise it i...

Страница 45: ...ion 212 Maximum encoder deviation When the actual position param 1 and the encoder position param 41 differ more than the value set here the motor will be stopped Setting this parameter to 0 disables...

Страница 46: ...ucture in direct mode STATUS VALUE 100 OK don t care Axis parameters which can be used for RSAP Please note that for the binary representation parameter number has to be filled with the number and the...

Страница 47: ...a stop switch 16 Max acceleration Acceleration 17 Max deceleration Deceleration 18 Bow 0 trapezoidal ramps corresponds to an infinite bow value 1 18 S shaped ramps in logarithmic representation bow_va...

Страница 48: ...ossing of the coil currents A too low offset leads to the motor turning too slow during zero transition a too high offset leads to a larger step This parameter can be optimized for the motor type It m...

Страница 49: ...active Bit 5 clear once at next null channel event Bit 6 null channel is positive edge triggered Bit 7 null channel is negative edge triggered Bit 8 clear encoder position on null event otherwise it i...

Страница 50: ...ence search speed 195 Reference switch speed Specifies the speed for the exact reference switch calibration 212 Maximum encoder deviation When the actual position param 1 and the encoder position para...

Страница 51: ...appropriate on board device Related commands GGP STGP RSGP AGP Mnemonic SGP parameter number bank number value Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 9 parameter number bank number...

Страница 52: ...t the functionality of the SHUTDOWN pin 0 no function 1 high active 2 low active 0 2 81 TMCLTM code protection Protect a TMCLTM program against disassembling or overwriting 0 no protection 1 protectio...

Страница 53: ...ications 231 231 9 general purpose variable 9 for use in TMCL applications 231 231 10 general purpose variable 10 for use in TMCL applications 231 231 11 general purpose variable 11 for use in TMCL ap...

Страница 54: ...TYPE MOT BANK VALUE 10 see chapter 7 bank number see chapter 7 don t care Reply in direct mode STATUS VALUE 100 OK don t care Global parameters of bank 0 which can be used for GGP Number Global parame...

Страница 55: ...after power up 0 1 80 shutdown pin functionality Select the functionality of the SHUTDOWN pin 0 no function 1 high active 2 low active 0 2 81 TMCLTM code protection Protect a TMCLTM program against d...

Страница 56: ...e in TMCL applications 231 231 8 general purpose variable 8 for use in TMCL applications 231 231 9 general purpose variable 9 for use in TMCL applications 231 231 10 general purpose variable 10 for us...

Страница 57: ...ustomer specific extensions of the firmware Together with user definable commands these variables form the interface between extensions of the firmware written in C and TMCLTM applications Please cont...

Страница 58: ...lications 20 55 general purpose variables 20 55 for use in TMCL applications Please refer to chapter 8 for more information about bank 0 to 2 Example Store the serial address of the target device Mnem...

Страница 59: ...ed for customer specific extensions of the firmware Together with user definable commands these variables form the interface between extensions of the firmware written in C and TMCLTM applications Ple...

Страница 60: ...1 231 17 general purpose variable 17 for use in TMCL applications 231 231 18 general purpose variable 18 for use in TMCL applications 231 231 19 general purpose variable 19 for use in TMCL application...

Страница 61: ...actual status of the reference search can be checked Internal function The reference search is implemented as a state machine so interaction is possible during execution Related commands WAIT Mnemoni...

Страница 62: ...14 port number bank number value Reply structure STATUS VALUE 100 OK don t care Example Set OUT_7 to high bank 2 output 7 general purpose output Mnemonic SIO 7 2 1 Binary Byte Index 0 1 2 3 4 5 6 7 8...

Страница 63: ...ue parameter must then be set to a value between 0 255 where every bit represents one output line Furthermore the value can also be set to 1 In this special case the contents of the lower 8 bits of th...

Страница 64: ...s of a digital output line can also be read Internal function The specified line is read Related commands SIO WAIT Mnemonic GIO port number bank number Binary representation INSTRUCTION NO TYPE MOT BA...

Страница 65: ...SIO 255 2 1 JA Loop 6 7 15 2 I O bank 1 analogue inputs The ADIN lines can be read as digital or analogue inputs at the same time The analogue values can be accessed in bank 1 6 7 15 3 I O bank 2 stat...

Страница 66: ...X COMP JC AAP AGP GAP GGP GIO Mnemonic CALC op value where op is ADD SUB MUL DIV MOD AND OR XOR NOT or LOAD Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 19 0 ADD add to accu 1 SUB subtract...

Страница 67: ...ding get or calculate instruction see GAP GGP GIO CALC CALCX The internal arithmetic status flags are set according to the comparison result Related commands JC jump conditional GAP GGP GIO CALC CALCX...

Страница 68: ...re in the appropriate state s Related commands JA COMP WAIT CLE Mnemonic JC condition label where condition ZE NZ EQ NE GT GE LT LE ETO EAL EDV EPO Binary representation INSTRUCTION NO TYPE MOT BANK V...

Страница 69: ...al function the TMCLTM program counter is set to the passed value Related commands JC WAIT CSUB Mnemonic JA Label Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 22 don t care don t care jump...

Страница 70: ...ck is limited to 8 This also limits nesting of subroutine calls to 8 The command will be ignored if there is no more stack space left Related commands RSUB JA Mnemonic CSUB Label Binary representation...

Страница 71: ...ry This command cannot be used in direct mode Internal function The TMCL program counter is set to the last value of the stack The command will be ignored if the stack is empty Related command CSUB Mn...

Страница 72: ...ticks parameter RFS Wait until the reference search of the motor specified by the motor field has been reached An optional timeout value 0 for no timeout must be specified by the ticks parameter The t...

Страница 73: ...should be placed at the end of every stand alone TMCLTM program It is not to be used in direct mode Internal function TMCLTM instruction fetching is stopped Related commands none Mnemonic STOP Binary...

Страница 74: ...on The passed value is stored in the internal position array Related commands GCO CCO MVP Mnemonic SCO coordinate number 0 position Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 30 coordina...

Страница 75: ...ray copied to the accumulator register and in direct mode returned in the value field of the reply Related commands SCO CCO MVP Mnemonic GCO coordinate number 0 Binary representation INSTRUCTION NO TY...

Страница 76: ...o the 20 by 3 bytes wide coordinate array Related commands SCO GCO MVP Mnemonic CCO coordinate number 0 Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 32 coordinate number 0 20 0 don t care...

Страница 77: ...number 0 is always stored in RAM only For Information about storing coordinates refer to the SCO command Internal function The actual value of the accumulator is stored in the internal position array...

Страница 78: ...OT LOAD SWAP Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 33 0 ADD add X register to accu 1 SUB subtract X register from accu 2 MUL multiply accu by X register 3 DIV divide accu by X regis...

Страница 79: ...in direct mode STATUS VALUE 100 OK don t care List of basic parameters which can be used for AAP Please note that for the binary representation parameter number has to be filled with the number and t...

Страница 80: ...a stop switch 16 Max acceleration Acceleration 17 Max deceleration Deceleration 18 Bow 0 trapezoidal ramps corresponds to an infinite bow value 1 18 S shaped ramps in logarithmic representation bow_va...

Страница 81: ...ossing of the coil currents A too low offset leads to the motor turning too slow during zero transition a too high offset leads to a larger step This parameter can be optimized for the motor type It m...

Страница 82: ...active Bit 5 clear once at next null channel event Bit 6 null channel is positive edge triggered Bit 7 null channel is negative edge triggered Bit 8 clear encoder position on null event otherwise it i...

Страница 83: ...bration 212 Maximum encoder deviation When the actual position param 1 and the encoder position param 41 differ more than the value set here the motor will be stopped Setting this parameter to 0 disab...

Страница 84: ...parameters of bank 0 which can be used for AGP Number Global parameter Description Range 64 EEPROM magic Setting this parameter to a different value as E4 will cause re initialization of the axis and...

Страница 85: ...active 2 low active 0 2 81 TMCLTM code protection Protect a TMCLTM program against disassembling or overwriting 0 no protection 1 protection against disassembling 2 protection against overwriting 3 pr...

Страница 86: ...applications 231 231 9 general purpose variable 9 for use in TMCL applications 231 231 10 general purpose variable 10 for use in TMCL applications 231 231 11 general purpose variable 11 for use in TM...

Страница 87: ...EAL clear the external alarm flag EDV clear the deviation flag EPO clear the position error flag Related commands JC Mnemonic CLE flags where flags ALL ETO EDV EPO Binary representation INSTRUCTION NO...

Страница 88: ...programming of these functions Internal function Call user specific functions implemented in C by TRINAMIC Related commands none Mnemonic UF0 UF7 Binary representation INSTRUCTION NO TYPE MOT BANK VAL...

Страница 89: ...n Mnemonic Binary representation INSTRUCTION NO TYPE MOT BANK VALUE 138 don t care don t care 0 1 Motor number Reply in direct mode right after execution of this command Byte Index 0 1 2 3 4 5 6 7 8 F...

Страница 90: ...rol GmbH Co KG 6 7 34 BIN return to binary mode This command can only be used in ASCII mode It quits the ASCII mode and returns to binary mode Related Commands none Mnemonic BIN Binary representation...

Страница 91: ...is started or continued 0 run from current address 1 run from specified address don t care don t care starting address 130 step application only the next command of a TMCLTM application is executed do...

Страница 92: ...ing the CAN bus interface just send this command in an eight byte frame instead of a seven byte frame Then eight bytes will be sent back so you will get all characters of the version string Type set t...

Страница 93: ...to the same value 1 16777215 steps t2 RWE 6 Max current Current when motor is running 0 means 0 15 means 100 of the maximum possible current 0 15 RWE 7 Standby current Current when motor is standing...

Страница 94: ...on 1 16777215 steps t2 RWE 18 Bow 0 trapezoidal ramps corresponds to an infinite bow value 1 18 S shaped ramps in logarithmic representation bow_value 2 bow_index 1 bow_index 1 2 3 18 bow_value 1 2 4...

Страница 95: ...zero crossing of the coil currents A too low offset leads to the motor turning too slow during zero transition a too high offset leads to a larger step This parameter can be optimized for the motor t...

Страница 96: ...ery pulse this constant is added to or subtracted from the encoder position register This constant is given in units of 1 65536 when bit 13 in param 43 is not set or in 1 10000 when bit 13 in param 43...

Страница 97: ...e step direction output 0 255 1 16 MHz RWE 128 Ramp mode Normally set automatically by the ROL ROR MVP and MST commands 0 positioning mode 1 reserved 2 velocity mode 3 hold mode 0 3 RW 129 Status flag...

Страница 98: ...file www trinamic com for getting best values 7 1 Real world units vs units of the TMC457 Parameter vs units Parameter symbol Unit Calculation description comment fCLK Hz Hz clock frequency of the TM...

Страница 99: ...ters and use the appropriate functions of the TMCL IDE to do it in an interactive way Meaning of the letters in column Access R readable GGP W writeable SGP E automatically restored from EEPROM after...

Страница 100: ...after power up 0 1 RWE 80 shutdown pin functionality Select the functionality of the SHUTDOWN pin 0 no function 1 high active 2 low active 0 2 RWE 81 TMCLTM code protection Protect a TMCLTM program a...

Страница 101: ...Co KG 8 2 Bank 1 The global parameter bank 1 is normally not available It may be used for customer specific extensions of the firmware Together with user definable commands see section 7 3 these vari...

Страница 102: ...use in TMCL applications 231 231 RWE 6 general purpose variable 6 for use in TMCL applications 231 231 RWE 7 general purpose variable 7 for use in TMCL applications 231 231 RWE 8 general purpose varia...

Страница 103: ...by the PID controller of the TMC457 Due to constraints of practical real word application the integer part of the PID regulator can be clipped to a limit named pid_iclip Without this the integral par...

Страница 104: ...the searching speed is identical to the maximum positioning speed axis parameter 4 unless reduced by axis parameter 194 After hitting the reference switch the motor slowly moves right until the switc...

Страница 105: ...of the motor There are two ways two solve this problem 1 Using an offset on the microstep sine wave Such an offset can be set using axis parameter 29 This will put an offset on the sine wave so that z...

Страница 106: ...ows 2000 Windows XP or Windows NT4 not with Windows 95 Windows 98 or Windows ME due to a bug in these operating systems Another problem is that Windows 2000 XP NT4 switches the direction back to recei...

Страница 107: ...s 4 45 2014 JUN 24 OK New USB Stack 10 2Document Revision Version Date Author Description 1 00 2009 FEB 28 SD Initial version 1 01 2009 JUL 10 SD Information about easyPID added minor changes 1 02 200...

Страница 108: ...yright 2009 TRINAMIC Motion Control GmbH Co KG 11 References TMCLTM TMCLTM reference and programming manual see http www trinamic com TMCM 142 IF TMCM 142 IF hardware manual see http www trinamic com...

Отзывы: