PANDRIVE PD42-1070 Smart Stepper Motor User Manual
- June 2, 2024
- PANDRIVE
Table of Contents
- PANDRIVE PD42-1070 Smart Stepper Motor
- Features
- Applications
- Simplified Block Diagram
- First Steps with TMCL
- TMCL and the TMCL-IDE — An Introduction
- Axis Parameters
- Module Speci˝c Con˝guration
- Hints and Tips
- Supplemental Directives
- Revision History
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
PANDRIVE PD42-1070 Smart Stepper Motor
PD42-1070 is an easy-to-use PANdrive™ smart stepper motor. The module is controlled via a step and direction interface. One configuration pin selects the current control mode between StealthChop™ for absolute silent motor control and SpreadCycle™ for high speed. A TTL UART interface allows for more advanced configuration and permanent parameter storage via TMCL-IDE.
Features
- Supply Voltage +9 to +24V DC
- Step and direction interface
- MicroPlyer™ to 256 µ-steps
- StealthChop™ silent PWM mode
- SpreadCycle™ smart mixed decay
- StallGuard2™ load detection
- CoolStep™ autom. current scaling
- UART configuration interface
Applications
- Laboratory Automation
- Manufacturing
- Semiconductor Handling
- Robotics
- Factory Automation
- Test & Measurement
- Life Science
- Biotechnology
- Liquid Handling
Simplified Block Diagram
©2023 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download the newest version at: www.trinamic.com The PD42-1070 is a single-axis controller/driver module for 2-phase bipolar stepper motors with state of the state-of-the-art feature set. It is highly integrated, offers convenient handling and can be used in many decentralized applications. This drive has been designed for coil currents up to 1A RMS and 24V DC supply voltage. Two digital inputs are present for enabling the module and choosing the desired chopper mode. With its high energy efficiency from TRINAMIC’s CoolStep™ technology cost of power consumption is kept down.
Main characteristics
Stepper motor driver:
- High-performance microcontroller for overall system control and communication protocol handling.
- Up to 256 microsteps per full step.
- High-eficient operation, low power dissipation.
- Dynamic current control.
- Integrated protection.
- StallGuard™2 feature for stall detection.
- CoolStep™ feature for reduced power consumption and heat dissipation.
- StealthChop™ feature for quiet operation and smooth motion.
- DcStep™ feature for load-dependent speed control.
Interfaces
- TTL-UART (for configuration).
- Step/Direction.
- Enable Input.
- Chopper Mode Input.
Software
TMCL: remote-controlled operation alone or during step/direction mode. PC-
based application development software TMCL-IDE is available for free.
Electrical data
- Supply voltage : +12V and +24V nominal (10. . .27V DC supply range).
- Motor current: up to 1A RMS / 1.41A peak (programmable).
Please see also the separate Hardware Manual.
StallGuard2
StallGuard2 is a high-precision sensorless load measurement using the back EMF
of the coils. It can be used for stall detection as well as other uses at
loads below those that stall the motor. The StallGuard2 measurement value
changes linearly over a wide range of load, velocity, and current settings. At
maximum motor load, the value reaches zero or is near zero. This is the most
energy-efficient point of operation for the motor.
CoolStep
CoolStep is a load-adaptive automatic current scaling based on the load
measurement via StallGuard2 adapting the required current to the load. Energy
consumption can be reduced by as much as 75%. Cool-Step allows substantial
energy savings, especially for motors which see varying loads or operate at a
high-duty cycle. Because a stepper motor application needs to work with a
torque reserve of 30% to 50%, even a constant-load application allows
significant energy savings because CoolStep automatically enables torque
reserve when required. Reducing power consumption keeps the system cooler,
increases motor life, and allows cost reduction.
First Steps with TMCL
In this chapter you can and some hints for your first steps with the PD42-1070 and TMCL. You may skip this chapter if you are already familiar with TMCL and the TMCL-IDE. Things that you will need
- Your PD42-1070 PANdrive™.
- A 5V TTL-UART cable.
- A power supply (24V DC) for your PD42-1070 module.
- The TMCL-IDE 3.x already installed on your PC
Basic Setup
First of all, you will need a PC with Windows (at least Windows 7) and the
TMCL-IDE 3.x installed on it. If you do not have the 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 PD42-1070 is properly connected to your power supply and that
the stepper motor is properly connected to the module. Please see the
PD42-1070 hardware manual for instructions on how to do this. Do not connect
or disconnect a stepper motor to or from the module while the module is
powered! Then, please start up the TMCL-IDE. After that, you can connect your
PD42-1070 via UART and switch on the power supply for the module (while the
TMCL-IDE is running on your PC). The module will be recognized by the TMCL-
IDE, and necessary driver registrations in Windows will be automatically done
by the TMCL-IDE.
Using the TMCL Direct Mode
At first, try to use some TMCL commands in direct mode. In the TMCL-IDE a tree
view showing the PD42- 1070 and all tools available for it is displayed. Click
on the Direct Mode entry of the tool tree. Now, the Direct Mode tool will pop
up. In the Direct Mode tool you can choose a TMCL command, enter the necessary
parameters and execute the command.
Changing Axis Parameters
Next, you can try changing some settings (also called axis parameters) using
the SAP command in direct mode. Choose the SAP command. Then choose the
parameter type and the motor number. Last, enter the desired value and click
execute to execute the command which then changes the desired parameter. The
following table points out the most important axis parameters. Please see
Chapter 4 for a complete list of all axis parameters.
Most important axis parameters
Number| Axis Parameter| Description| Range [Units]| Default| Access
6| Maximum current| Motor current used when motor is running. The maximum
value is 31 which means 100% of the maximum current of the module.| 0 . . .
31| 24| RWE
Number| Axis Parameter| Description| Range [Units]| Default| Access
---|---|---|---|---|---
7| Standby current| The current used when the motor is not running. The
maximum value is 31 which means 100% of the max- imum current of the module.
This value should be as low as possible so that the motor can cool down when
it is not moving.| 0 . . . 31| 3| RWE
140| Microstep Resolution| Microstep resolutions per full step: 0 – fullstep
1 – halfstep
2 – 4 microsteps
3 – 8 microsteps
4 – 16 microsteps
5 – 32 microsteps
6 – 64 microsteps
7 – 128 microsteps
8 – 256 microsteps
| 0 . . . 8| 4| RWE
141| Microstep Interpolation| Interpolation of the current mi- crostep
resolution to 256 microsteps: 0 – No interpolation
1 – Interpolation to 256 microsteps
| 0 . . . 1| 1| RWE
179| VSense| Sense resistor voltage:
0 – High sense resistor voltage 1 – Low sense resistor voltage
| 0 . . . 1| 0| RWE
TMCL and the TMCL-IDE — An Introduction
As with most TRINAMIC modules, the software running on the microprocessor of the PD42-1070 consists of two parts, a boot loader and the firmware itself. Whereas the boot loader is installed during production and testing at TRINAMIC and remains untouched throughout 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 PD42-1070 supports TMCL direct mode (binary commands).In direct mode, the TMCL communication over RS-232, RS-485, CAN, and USB follows a strict client/server relationship. That is, a computer (e.g. PC/PLC) acting as the interface bus host will send a command to the PD42-1070. The TMCL interpreter on the module will then interpret this command, do the initialization of the motion controller, read inputs and write outputs or whatever is necessary according to the specified command. As soon as this step has been done, the module will send a reply back over the interface to the host. The host must not send any next command before the reply for a preceding command has been received.
Normally, the module will just switch to transmission and occupy the bus for a reply, otherwise it will stay in receive mode. It will not send any data over the interface without receiving a command first. This way, any collision on the bus will be avoided when there are more than two nodes connected to a single bus. The Trinamic Motion Control Language (TMCL) provides a set of structured motion control commands. Every command has a binary representation and a mnemonic. The binary format is used to send com- mands from the host to a module in direct mode, whereas the mnemonic format is used for easy usage of the commands when developing standalone TMCL applications using the TMCL-IDE (IDE means Inte- grated Development Environment). There is also a set of configuration variables for the axis and for global parameters which allow individual configuration of nearly every function of a module. This manual gives a detailed description of all TMCL commands and their usage.
Binary Command Format
Every command has a mnemonic and a binary representation. When commands are
sent from a host to a module, the binary format has to be used. Every command
consists of a one-byte command field, a one-byte type field, a one-byte
motor/bank field and a four-byte value field. So the binary representation of
a command always has seven bytes. When a command is to be sent via RS-232,
RS-485, RS-422 or USB interface, it has to be enclosed by an address byte at
the beginning and a checksum byte at the end. In these cases it consists of
nine bytes. The binary command format with RS-232, RS-485, RS-422 and USB is
as follows:
TMCL Command Format
Bytes| Meaning
1| Module address
1| Command number
1| Type number
1| Motor or Bank number
4| Value (MSB first!)
1| Checksum
- Info The checksum is calculated by accumulating all the other bytes using an 8-bit addition.
- Note When using the CAN interface, leave out the address byte and the checksum byte. With CAN, the CAN-ID is used as the module address and the checksum is not needed because CAN bus uses hardware CRC checking.
Checksum Calculation
As mentioned above, the checksum is calculated by adding up all bytes
(including the module address byte) using 8-bit addition. Here are two
examples which show how to do this:
Checksum calculation in C:
Checksum calculation in Delphi:
Reply Format
Every time a command has been sent to a module, the module sends a reply. The
reply format with RS- 232, RS-485, RS-422 and USB is as follows:
TMCL Reply Format
Bytes| Meaning
1| Reply address
1| Module address
1| Status (e.g. 100 means no error)
1| Command number
4| Value (MSB first!)
1| Checksum
- Info The checksum is also calculated by adding up all the other bytes using an 8-bit addition. Do not send the next command before having received the reply!
- Note When using CAN interface, the reply does not contain an address byte and a
checksum byte. With CAN, the CAN-ID is used as the reply address and the checksum is not needed because the CAN bus uses hardware CRC checking.
Status Codes
The reply contains a status code. The status code can have one of the
following values:
TMCL Status Codes
Code| Meaning
100| Successfully executed, no error
101| Command loaded into TMCL program EEPROM
1| Wrong checksum
2| Invalid command
3| Wrong type
4| Invalid value
5| Configuration EEPROM locked
6| Command not available
TMCL Command Overview
This section gives a short overview of all TMCL commands.
Overview of all TMCL Commands
Command| Number| Parameter| Description
SAP| 5|
| Set axis parameter (motion control specific settings)
GAP| 6|
STAP| 7|
| Store axis parameter (store motion control specific settings)
RSAP| 8|
GIO| 15|
TMCL Commands by Subject
Parameter Commands
These commands are used to set, read and store axis parameters or global
parameters. Axis parameters can be set independently for each axis, whereas
global parameters control the behaviour of the module itself. These commands
can also be used in direct mode and in standalone mode.
Parameter Commands
Mnemonic| Command number| Meaning
SAP| 5| Set axis parameter
GAP| 6| Get axis parameter
STAP| 7| Store axis parameter
RSAP| 8| Restore axis parameter
I/O Port Commands
These commands control the external I/O ports and can be used in direct mode
as well as in standalone mode.
I/O Port Commands
Mnemonic| Command number| Meaning
GIO| 15| Get input
Detailed TMCL Command Descriptions
The module-specific commands are explained in more detail on the following
pages. They are listed according to their command number.
SAP (Set Axis Parameter)
With this command, most of the motion control parameters of the module can be
specified. The settings will be stored in SRAM and therefore are volatile.
That is, information will be lost after power off.
Info
For a table with parameters and values which can be used together with this
command please refer to section 4.
- Internal function : The specified value is written to the axis parameter specified by the parameter number.
- Related commands: GAP.
- Mnemonic : SAP < parameter number>, ‹axis>, ‹value>
Binary representation
Binary Representation
Instruction| Type| Motor/Bank| Value
5| see chapter 4| 0|
Reply in Direct Mode
Reply in Direct Mode
Status| Value
100 – OK| don’t care
Example Set the maximum current for motor #0 to 15 (50%). Mnemonic: SAP 6, 0, 15.
Binary Form of SAP 6, 0, 15
Field| Value
Target address| 01h
Instruction number| 05h
Type| 06h
Motor/Bank| 00h
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 0Fh
Checksum| 1Bh
GAP (Get Axis Parameter)
Most motion / driver-related parameters of the PD42-1070 can be adjusted using e.g. the SAP command. With the GAP parameter, they can be read out. In standalone mode, the requested value is also transferred to the accumulator register for further processing purposes (such as conditional jumps). In direct mode the value read is only output in the value field of the reply, without affecting the accumulator.
Info For a table with parameters and values that can be used together with this command please refer to section 4.
- Internal function: The specificed value gets copied to the accumulator.
- Related commands: SAP.
- Mnemonic: GAP
,
Binary Representation
Instruction| Type| Motor/Bank| Value
6| see chapter 4| 0|
Reply in Direct Mode
Reply in Direct Mode
Status| Value
100 – OK| value read by this command
Example
Get the maximum current setting of motor #0. Mnemonic: GAP 6, 0.
Binary Form of GAP 6, 0
Field| Value
Target address| 01h
Instruction number| 06h
Type| 06h
Motor/Bank| 00h
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 00h
Checksum| 0Dh
STAP (Store Axis Parameter)
This command is used to store TMCL axis parameters permanently in the EEPROM of the module. This command is mainly needed to store the default configuration of the module. The contents of the user variables can either be automatically or manually restored at power on.
Info
For a table with parameters and values which can be used together with this
command please refer to section 4.
- Internal function : The axis parameter specified by the type and bank number will be stored in the EEP-ROM.
- Related commands : SAP, AAP, GAP, RSAP.
- Mnemonic : STAP < parameter number>, ‹bank>
Binary Representation
Instruction| Type| Motor/Bank| Value
7| see chapter 4| 0| 0 (don’t care)
Reply in Direct Mode
Status| Value
100 – OK| 0 (don’t care)
Example
Store axis parameter #6 of motor #0. Mnemonic: STAP 6, 0.
Binary Form of STAP 6, 0
Field| Value
Target address| 01h
Instruction number| 07h
Type| 06h
Motor/Bank| 00h
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 00h
Checksum| 0Eh
RSAP (Restore Axis Parameter)
With this command, the contents of an axis parameter can be restored from the EEPROM. By default, all axis parameters are automatically restored after power-up. An axis parameter that has been changed before can be reset to the stored value by this instruction. Info For a table with parameters and values which can be used together with this command please refer to section 4.
- Internal function: The axis parameter specified by the type and bank number will be restored from the EEPROM.
- Related commands: SAP, AAP, GAP, RSAP.
- Mnemonic : RSAP
,
Binary Representation
Instruction| Type| Motor/Bank| Value
8| see chapter 4| 0| 0 (don’t care)
Reply in Direct Mode
Status| Value
100 – OK| 0 (don’t care)
Example
Restore axis parameter #6 of motor #0. Mnemonic: RSAP 6, 0.
Binary Form of RSAP 6, 0
Field| Value
Target address| 01h
Instruction number| 08h
Type| 06h
Motor/Bank| 00h
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 00h
Checksum| 0Fh
GIO (Get Input)
With this command, the status of the available general-purpose outputs of the
module can be read. The function reads a digital or an analog input port.
Digital input ports will read as 0 or 1. In standalone mode the requested
value is copied to the accumulator register for further processing purposes
such as conditional jumps. In direct mode, the value is only output in the
value field of the reply, without affecting the accumulator. The actual status
of a digital output line can also be read.
- Internal function: The state of the I/O line specified by the type parameter and the bank parameter is read.
- Mnemonic: GIO
,
Binary Representation
Instruction| Type| Motor/Bank| Value
15| | | 0 (don’t care)
Reply in Direct Mode
Reply in Direct Mode
Status| Value
100 – OK| status of the port
Example
Get the status of digital input 0. Mnemonic: GIO 0, 0.
Binary Form of GIO 0, 0
Field| Value
Target address| 01h
Instruction number| 0Fh
Type| 00h
Motor/Bank| 00h
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 00h
Checksum| 10h
Reply (Status=no error, Value=1)
Field| Value
Host address| 02h
Target address| 01h
Status| 64h
Instruction| 0Fh
Value (Byte 3)| 00h
Value (Byte 2)| 00h
Value (Byte 1)| 00h
Value (Byte 0)| 01h
Checksum| 77h
Bank 0 – Digital Inputs
The digital input states can be accessed in bank 0.
Digital Inputs in Bank 0
Port| Description| Command| Range
0 – CHOP| Chopper selection| GIO 0, 0| 0/1
1 – Enable| Enable module| GIO 1, 0| 0/1
Customer-specific Command Extensions (UF0. . .UF7 – User Functions)
These commands are used for customer-specific 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 customized TMCL firmware.
- Related commands: none.
- Mnemonic : UF0.. .UF7
Binary Representation
Instruction| Type| Motor/Bank| Value
64. . . 71| | 0 | 0
Reply in Direct Mode
Reply in Direct Mode
Status| Value
100 – OK| user-defined
Axis Parameters
Most motor controller features of the PD42-1070 module are controlled by axis parameters. Axis parameters can be modi˝ed or read using SAP, GAP and AAP commands. Some axis parameters can also be stored to or restored from the EEPROM using STAP and RSAP commands. This chapter describes all axis parameters that can be used on the PD42-1070 module. There are different parameter access types, like read-only or read/write. Table 8 shows the different parameter access types used in the axis parameter tables.
Meaning of the Letters in the Access Column
Access type| Command| Description
R| GAP| Parameter readable
W| SAP, AAP| Parameter writable
E| STAP, RSAP| Parameter can be stored in the EEPROM
Axis 0 Parameters of the PD42-1070 Module
Number| Axis Parameter| Description| Range [Units]| Default| Access
6| Maximum current| Motor current used when motor is running. The maximum
value is 31 which means 100% of the maximum current of the module.| 0 . . .
31| 24| RWE
7| Standby current| The current used when the motor is not running. The
maximum value is 31 which means 100% of the max- imum current of the module.
This value should be as low as possible so that the motor can cool down when
it is not moving.| 0 . . . 31| 3| RWE
9| Standby
current delay
| Controls the number of clock cycles for motor power down after a motion as
soon as standstill is detected and TZEROWAIT has expired. 0 means instant
power down and 1-15 is the delay pero current reduction step in multiple of
218 clocks.| 0 . . . 15| 0| RWE
22| Speed threshold for CoolStep /
fullstep
| TSTEP corresponding to the speed threshold for de-activating CoolStep or
switching to fullstep mode.| 0 . . . 1048575| 0| RWE
135| TStep| Actual measured time between two 1/256 microsteps. This value
during a certain speed can be written to TP- WMTHRS.| 0 . . . 1048575| 0| RWE
Number| Axis Parameter| Description| Range [Units]| Default| Access
---|---|---|---|---|---
136| StealthChop VLimit| Direct access to the TPWMTHRS reg- ister (0x13 of the
TMC2130) for the StealthChop Velocity Limit Configura- tion. Use STAP and RSAP
to access the stored value in the EEPROM.| 0 . . . 1048575| 0| RWE
137| PWMConf| Direct access to the PWMConf reg- ister (0x70 of the TMC2130)
for the StealthChop Configuration. Use STAP and RSAP to access the stored
value in the EEPROM.| 0
. . . 4294967295
| 328136| RWE
138| CoolConf| Access to the COOLCONF register (0x6D of the TMC2130) for the
Cool- step Configuration. Use STAP and RSAP to access the stored value in the
EEPROM.| 0
. . . 4294967295
| 33011| RWE
139| CHOPConf| Access to the CHOPCONF regis- ter (0x6C of the TMC2130) for the
Chopper Configuration (excluded Microstep Configuration). Use STAP and RSAP to
access the stored value in the EEPROM.| 0
. . . 4294967295
| 33011| RWE
140| Microstep Resolution| Microstep resolutions per full step: 0 – fullstep
1 – halfstep
2 – 4 microsteps
3 – 8 microsteps
4 – 16 microsteps
5 – 32 microsteps
6 – 64 microsteps
7 – 128 microsteps
8 – 256 microsteps
| 0 . . . 8| 4| RWE
141| Microstep Interpolation| Interpolation of the current mi- crostep
resolution to 256 microsteps: 0 – No interpolation
1 – Interpolation to 256 microsteps
| 0 . . . 1| 1| RWE
142| Double Edge Steps| Step impulse at each step edge to re- duce step
frequency requirement.
0 – Single edge 1 – Double edge
| 0 . . . 1| 0| RWE
168| SmartEnergy current
minimum (SEIMIN)
| Sets the lower motor current limit for CoolStep operation by scaling the maximum current (see axis parame- ter 6) value.
0 – 1/2 of CS
1 – 1/4 of CS
| 0 . . . 1| 0| RWE
Number| Axis Parameter| Description| Range [Units]| Default| Access
---|---|---|---|---|---
169| SmartEnergy current down-step| Sets the number of StallGuard2 readings
above the upper threshold necessary for each current decrement of the motor
current. Number of Stall- Guard2 measurements per decrement: Scaling: 0. . .
3: 32, 8, 2, 1. 0: slow decrement, 3: fast decrement| 0 . . . 3| 0| RW
170| SmartEnergy hysteresis| Sets the distance between the lower and the upper
threshold for Stall- Guard2 reading. Above the up- per threshold, the motor
current becomes decreased. Hysteresis: ([AP172] + 1) 32. Upper StallGuard
threshold: ([AP172] + [AP170] + 1) 32| 0 . . . 15| 0| RW
171| SmartEnergy current up
step
| Sets the current increment step. The current becomes incremented for each measured StallGuard2 value be- low the lower threshold see SmartEnergy hysteresis start). Current increment step size: Scaling: 0. . . 3: 1, 2,
4, 8. 0: slow increment, 3: fast increment / fast reaction to rising load
| 0 . . . 3| 0| RW
172| SmartEnergy
hysteresis start
| The lower threshold for the Stall- Guard2 value (see SmartEnergy cur- rent up step).
Setting this to 0 (default) turns off CoolStep.
| 0 . . . 15| 0| RW
173| StallGuard2 filter enable| Enables the StallGuard2 filter for more
precision of the movement. If set, reduce the measurement frequency to one
measurement per four full steps. In most cases, it is expedient to set the
filtered mode before using CoolStep. Use the standard mode for step loss
detection.
0 – standard mode 1 – filtered mode
| 0 . . . 1| 0| RW
174| StallGuard2 threshold| This signed value controls the Stall- Guard2
threshold level for stall output and sets the optimum measurement range for
readout. A lower value gives a higher sensitivity. Zero is the starting value.
A higher value makes StallGuard2 less sensitive and requires more torque to
indicate a stall.| -64 . . . 63| 0| RW
Number| Axis Parameter| Description| Range [Units]| Default| Access
---|---|---|---|---|---
179| VSense| Sense resistor voltage:
0 – High sense resistor voltage 1 – Low sense resistor voltage
| 0 . . . 1| 0| RWE
180| SmartEnergy actual current| This status value provides the actual motor
current setting as controlled by CoolStep. The value goes up to the CS value
and down to the portion of CS as specified by SEIMIN. Actual motor current
scaling factor: 0. . . 31: 1/32, 2/32, . . . 32/32| 0 . . . 31| 0| R
182| SmartEnergy threshold
speed
| Above the speed that corresponds to this TSTEP value, CoolStep be- comes
enabled.| 0 . . . 1048575| 0| RE
206| Load value| Actual current control scaling for monitoring smart energy
current scaling or automatic current scaling.| 0 . . . 1023| 0| R
Module Speci˝c Con˝guration
This section explains how to use the two digital inputs of the PD42-1070. It also describes the default con˝guration for microstep resolution and interpolation as well as for current setting.
Digital Inputs
The PD42-1070 includes two digital inputs: ENABLE and CHOP. The ENABLE input
is a low active input that powers the motor when the ENABLE is not set. The
CHOP input allows the user to choose between different chopper modes. When
CHOP is cleared, the chopper mode is SpreadCycle. When CHOP is set, the active
chopper is StealthChop. The change from SpreadCycle to StealthChop is only
allowed when the motor is powered and still stands. The chopper mode will
remain SpreadCycle until both conditions are fulfilled.
NOTICE
Note that the voltage at the digital inputs can be reversed depending on
the reference voltage of the optocoupler. See the Hardware Manual of PD42-1070
for more details.
COMM=3.3. . . 5V | COMM=GND | |
---|---|---|
CHOP=GND | SpreadCycle | StealthChop |
CHOP=3.3. . . 5V | StealthChop | SpreadCycle |
NOTICE
In the TMC2130 Manual, available at
www.trinamic.com, you can find more information
about how to con˝gure StealthChop and SpreadCycle.
Default Configuration
By default, the PD42-1070 uses the con˝guration shown in Section 4 for each of
the parameters. In the following table, we show several of the variables that
can be also stored in the EEPROM permanent storage.
Default Configuration of PD42-1070 Parameters
Name| Command| Default Value| Meaning
Microstep Resolution| SAP/GAP 140, 0| 4| Resolution: 16 microsteps per full
step.
Microstep Interpolation| SAP/GAP 141, 0| 1| Interpolation to 256 micro steps.
Maximum Current| SAP/GAP 6, 0| 24| The current when a motor is running is
24/31.
Standby Current| SAP/GAP 7, 0| 3| The current when the motor is not running is
3/31.
VSense| SAP/GAP 179, 0| 0| High sense resistor voltage.
In summary, with the default conguration:
- The PD42-1070 works with 16 microsteps per full step interpolated to 256 microsteps.
- The current when motor is running is 1 A RMS and 0.136 A RMS when not running.
Reset to Factory Defaults
To reset all settings to their factory defaults, open the Global Parameters
tool in the TMCL-IDE and click the Restore Factory Defaults button.
Configuration with the TMCL-IDE Plugin
When using a PC and the TMCL-IDE, the PD42-1070 can be easily configured with
the Module Settings plugin. This tool provides a direct graphic interface to
the most important parameters of the module. Figure 3 shows the first tab of
the tool, which is called Current. In this tab, the tool shows the current
value of the axis parameters 6, 7 and 8, related to the motor current, and
allows the user to modify them. The button on the bottom left corner sends a
STAP for each of the parameters related to the current tab. In this case,
parameters 6, 7 and 8 would be stored in the EEPROM of the module. The next
tab, Microstep, works similarly and affects parameters 140, 141 and 142. When
this tab is active, these three parameters will be stored in EEPROM after
clicking on the Store Current Tab.
The StealthChop tab is shown in Figure 4. Parameter 137 “Chopconf” contains the value to be written in the register with the same name. The graphical interface allows the user to change individual fields of the register without having to look up the field bits in the reference manual of TMC2130. The last field “Upper Velocity Limit” relates to parameter 136. When rotating at the desired speed limit, click on “Read from TSTEP” to fill it automatically with the value from register 135 converted to step per second. The velocity value is approximated because of the possible inaccuracy of the TMC2130 internal clock. The Store Current Tab button stores in this case parameters 136 and 137 in the EEPROM. The SpreadCycle tab works like the StealthChop tab for axis parameter 139 and the fields of its related register. The last tab “Coolstep” is shown in Figure 5. To configure CoolStep, use the more advanced plugin (click on “coolStep” on the plugin list of the module). The exceptions are parameters 22 and 182, Thresh-old Speed and Deactivation Threshold Speed respectively. Rotate the motor at the desired speed for each parameter and click on Read from TSTEP to assign the correct value. Parameters 22 and 182 together with 138 (which contains configuration from the CoolStep plugin) will be stored in the EEPROM after a click on Store Current Tab.
NOTICE
In the TMC2130 Manual, available at
www.trinamic.com, you can find more information
about how to configure StealthChop, SpreadCycle and CoolStep.
Hints and Tips
This chapter gives some hints and tips on using the functionality of MCL, for example how to use and parameterize the built-in reference search algorithm. You will also find basic information about Stall- Guard2™ and CoolStep™ in this chapter.
StallGuard2
The module is equipped with motor driver chips that feature load measurement.
This load measurement can be used for stall detection. StallGuard2 delivers a
sensorless load measurement of the motor as well as a stall detection signal.
The measured value changes linear with the load on the motor in a wide range
of load, velocity and current settings. At maximum motor load the StallGuard
value goes to zero. This corresponds to a load angle of 90° between the
magnetic field of the stator and magnets in the rotor. This also is the most
energy-efficient point of operation for the motor. Stall detection means that
the motor will be stopped automatically when the load gets too high. This
function is configured mainly using axis parameters #174 and #181. Stall
detection can for example be used for finding the reference point without the
need for reference switches. A short routine written in MCL is needed to use
StallGuard for reference searching.
CoolStep
This section gives an overview of the CoolStep-related parameters. Please bear in mind that the figure only shows one example for a drive. Some parameters concern the configuration of the current. Other parameters are there for velocity regulation and for time adjustment. Figure 6 shows all the adjustment points for CoolStep. It is necessary to identify and configure the thresh-olds for current (16, 17 and 1183) and velocity (V182). Furthermore, the StallGuard2 feature has to be ad- justed (SG170). It can also be enabled if needed (SG181). The reduction or increase of the current in the CoolStep area (depending on the load) has to be configured using parameters 1169 and 1171. In this chapter, only basic axis parameters are mentioned which concern CoolStep and StallGuard2. The complete list of axis parameters in Chapter 4 contains further parameters that offer more configuration options.
SG123 stallGuard2™ parameter
The lower threshold of the coolStep™ current can be adjusted up to I6/4. Refer to parameter 168.
CoolStep Adjustment Points and Thresholds
Number| Axis Parameter| Description
I6| Absolute maximum current| The maximum value is 255. This value means 100%
of the maximum current of the module. The current adjustment is within the
range 0. . . 255 and can be adjusted in 32 steps (0. . . 255 divided by eight;
e.g. step 0 = 0. . . 7, step 1 = 8. . . 15 and so on).
Too high values may cause motor damage!
I7| Standby current| The current limit two seconds after the motor has
stopped.
I168| smart energy current minimum| Sets the lower motor current limit for
Cool-Step operation by scaling the CS (Current Scale, see axis parameter 6)
value.
Minimum motor current: 0 – 1/2 of CS
1 – 1/4 of CS
I169| smart energy current down step| Sets the number of StallGuard2 readings above the upper threshold necessary for each current decrement of the motor current. A number of StallGuard2 measurements per decrement:
Scaling: 0. . . 3: 32, 8, 2, 1
0: slow decrement
3: fast decrement
I171| smart energy current up step| Sets the current increment step. The current becomes incremented for each measured StallGuard2 value below the lower threshold (see smartEnergy hystere- sis start).
current increment step size: Scaling: 0. . . 3: 1, 2, 4, 8
0: slow increment
3: fast increment
SG170| smart energy hysteresis| Sets the distance between the lower and the
upper threshold for StallGuard2 read- ing. Above the upper threshold, the
motor current becomes decreased.
SG181| Stop on stall| Below this speed motor will not be stopped. Above this
speed motor will stop in case the StallGuard2 load value reaches zero.
V182| smart energy threshold speed| Above this speed, CoolStep becomes en-
abled.
T214| Power down delay| The standstill period before the current is changed
down to standby current. The standard value is 200 (which means 2000 msec).
Number| Axis Parameter| Description
---|---|---
Supplemental Directives
Producer Information
Copyright
TRINAMIC owns the content of this user manual in its entirety, including but
not limited to pictures, logos, trademarks, and resources. © Copyright 2023
TRINAMIC. All rights reserved. Electronically published by TRINAMIC, Germany.
Redistribution of sources or derived formats (for example, Portable Document
Format or Hypertext Markup Language) must retain the above copyright notice,
the complete data sheet, user manual, and doc- umentation of this product
including associated application notes; and a reference to other available
product-related documentation.
Trademark Designations and Symbols
Trademark designations and symbols used in this documentation indicate that a
product or feature is owned and registered as trademark and/or patent either
by TRINAMIC or by other manufacturers, whose products are used or referred to
in combination with TRINAMIC’s products and TRINAMIC’s product documentation.
This MCL™ Firmware Manual is a non-commercial publication that seeks to
provide concise scientific and technical user information to the target user.
Thus, trademark designations and symbols are only entered in the Short Spec of
this document that introduces the product at a glance. The trademark
designation /symbol is also entered when the product or feature name occurs
for the first time in the document. All trademarks and brand names used are
the property of their respective owners.
Target User
The documentation provided here is for programmers and engineers only, who are
equipped with the necessary skills and have been trained to work with this
type of product. The Target User knows how to responsibly make use of this
product without causing harm to himself or others, and without causing damage
to systems or devices, in which the user incorporates the product.
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 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 under instructions provided, can be reasonably expected to
result in personal injury or death. Information given in this document is
believed to be accurate and reliable. However, no responsibility is assumed
for the consequences of its use nor for any infringement of patents or other
rights of third parties that may result from its use. Specifications are
subject to change without notice.
Disclaimer: Intended Use
The data specified in this user manual is intended solely for product
description. No representations or warranties, either express or implied, of
merchantability, fitness for a particular purpose or of any other nature are
made hereunder with respect to information/specification or the products to
which information refers and no guarantee to compliance to the intended use is
given. 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 significant personal
injury or death (safety-critical Applications) without TRINAMIC’s specific
written consent. TRINAMIC products are not designed nor intended for use in
military or aerospace applications or environments or automotive applications
unless specifically designated for such use by TRINAMIC. TRINAMIC conveys no
patent, copyright, mask work right or other trade mark right to this product.
TRINAMIC assumes no liability for any patent and/or other trade mark rights of
a third party resulting from the processing or handling of the product and/or
any other use of the product.
Collateral Documents & Tools
This product documentation is related and/or associated with additional tool
kits, firmware and other items, as provided on the product page at:
www.trinamic.com.
Revision History
Firmware Revision
Version | Date | Author | Description |
---|---|---|---|
V0.04 | 2016-APR-22 | BS | Preliminary release. |
V0.05 | 2016-MAI-19 | BS | Firmware adapted for changes in prototypes. |
V1.00 | 2016-JUN-06 | BS | First offcial release version: adjusted current, |
stealthChop config and speed units.
V1.01| 2016-JUL-25| BS| Bug corrected. CHOP change to StealthChop limited to
motor enabled and in still stand.
Document Revision
Version | Date | Author | Description |
---|---|---|---|
V0.8 | 2016-APR-22 | BS | Exported from XML. |
V0.9 | 2016-MAI-03 | BS | Added APs, GPs and IOs. Common documentation structure. |
V1.0 | 2016-SEP-16 | BS | Corrected introduction. Included module-specific |
configuration section.
V1.1| 2016-NOV-22| BS| Adapted information for reduced TMCL structure.
V1.2| 2018-MAR-19| OK| Firmware revision history is also included.
V1.3| 2019-JAN-25| OK| Reset to factory default description changed.
Superfluous global parameters removed.
V1.4| 2019-APR-23| OK| The superfluous sentence in first chapter was removed.
V1.5| 2021-SEP-24| OK| New block diagram.
V1.6| 2021-DEC-21| OK| Corrected axis parameter table: replaced STGP by STAP
and RSGP by RSAP.
Description of axis parameters 136. . . 139 corrected. Added table to clarify the functionality of the CHOP input.
V1.7| 2023-JAN-26| OK| Section 3.5.2: Example changed from GAP 1, 0 to GAP 6, 0.
Section 3.5.1: Example changed from SAP 4, 0, 51200 to SAP 6, 0, 15.
Section 3.5.3: Example corrected from STAP 6, 7 to STAP 6, 0.
Section 3.5.4: Example corrected from RSAP 6, 7 to RSAP 6, 0.
Section 3.5.5: Example changed from GIO 0, 1 to GIO 0, 0.
2023 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany Terms of delivery and rights to technical change reserved. Download the newest version at www.trinamic.com
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>