PDx-170-57-E / TMCM-170 Hardware Manual (V1.10 / 2011-NOV-24)
13
Copyright © 2011, TRINAMIC Motion Control GmbH & Co. KG
6
Functional description
6.1
Setting the basic values for operation (using the
demonstration application)
The TMCM-170 can use nearly any BLDC motor and encoder type. However, care has to be taken to
correctly set the motor pole count (default: 8) and encoder resolution (default: 4096) and direction
(default: Encoder gives same direction as motor) before trying to operate the motor! Using a
PANdrive™ motor please refer to chapter 3.5.1. This motor comes normally with the encoder HEDS-
5640-A12, in this case the encoder resolution is 2000. Please note the TMCL-code in the appendix at
the end of this document.
If a hall sensor is used, please check if the hall sensor polarity is to be reversed (try operating the
motor in block commutation mode, first). Also choose a fitting initialization mode (2 is most
universal) and set the corresponding parameters (please see chapter on start up).
The motor behavior afterwards may still give unsatisfactory results: The next step is to tune the PID
parameters.
For these basic settings, the Windows based demonstration application can be used. It requires
connection to the RS232 interface or via an RS485 converter to the RS485 interface. For RS485, as a
first step use the TMCL-IDE to set the parameter “Telegram pause time” to a value of about 20. Further
basic settings are required for motor start up (see next chapter).
To avoid motor operation or damage before the unit is completely parameterized, use a supply
voltage of only 8V! This disables the motor.
6.2
Start-up for encoder based commutation
The TMCM-170 uses an incremental encoder for motor commutation. Incremental means, that the
encoder does not give an absolute position reference. Thus, the unit needs an internal start up
procedure, which determines the encoder position with respect to the actual pole motor orientation.
The TMCM-170 provides basically two modes for encoder initialization:
Mode 0
uses additional motor hall sensors for the start up phase. Therefore, the motor can not do a
precise positioning until it has done at least one electrical rotation. This can be perceived
by a somehow rough behavior on the first positioning run.
We recommend using this mode, when the motor has hall sensors and mode 1 does not
give reliable results.
However, the motor hall sensors typically are not as precise, as this would be desired for
sine commutation. To accomplish with the hall sensor error and hysteresis, you can set the
corresponding parameters “Init Sine Block Offset CW” and CCW.
Mode 1
drives the motor field into a known position and then evaluates the encoder position.
While this is a very precise scheme, it is susceptible to external force applied to the rotor:
The rotor is not to be blocked in any direction. Additionally external mechanical torque
applied to the axis should be kept low. To use this mode, it is important to set the “Sine
Initialization Current A” as high as possible (within the 14A limit). Default value is 11A. You
can set Sine Initialization Current B to a somewhat lower value (at least ½ of Current A) to
give optimum results. The best setting has do be determined for a given motor. To allow
for minimum motor movement upon initialization, this mode also checks the hall sensor
positions.
Mode 2
is the same as mode 1, but does not check if the motor has hall sensors.
Mode 3
is the most precise and reliable initialization mode: It uses the encoder N-channel for
initialization. To first find the N-channel reference position, the motor is turned by up to
one rotation, until the N-channel is found positive. The velocity and direction can be
specified using the parameter “Sine Init Velocity”. After finding the reference position, the