Datasheet

TMC4671 Datasheet IC Version V1.3 | Document Revision V2.00 2020-Apr-17
50 / 142
4.7 FOC23 Engine
The FOC23 engine performs the inner current control loop for the torque current I
Q
and the ux current
I
D
including the required transformations. Programmable limiters take care of clipping of interim results.
Per default, the programmable circular limiter clips U_D and U_Q to U_D_R =
p
(
2)
·
U_Q and U_R_R =
p
(
2)
·
U_D. PI controllers perform the regulation tasks. Please make sure to enable controllers by pulling ENI pin
to high level.
4.7.1 ENI and ENO pins
The ENI (Enable input) can be used to start and stop control action. During reset ENO (Enable out) is low
and afterwards it forwards ENI signal. Thereby it can be used to enable the power stage. When ENI is low,
all controllers are deactivated and PWM operates at 50% duty cycle. ENI input value can be read through
TMC4671_INPUTS_RAW register.
4.7.2 PI Controllers
PI controllers are used for current control and velocity control. A P controller is used for position control.
The derivative part is not yet supported but might be added in the future. The user can choose between
two PI controller structures: The classic PI controller structure, which is also used in the TMC4670, and
the advanced PI controller structure. The advanced PI controller structure shows better performance in
dynamics and is recommended for high performance applications. User can switch between controllers by
setting register MODE_PID_TYPE. Controller type can not be switched individually for each cascade level.
4.7.3 PI Controller Calculations - Classic Structure
The PI controllers in the classic structure perform the following calculation
Y = P · e + I ·
Z
t
0
e(t) dt (27)
with
e = X_TARGET X (28)
where X_TARGET stands for target ux (s16), target torque (s16), target velocity (s32), or target position
(s32) with error e, which is the dierence between target value and actual values. The Y stands for the
output of the PI controller feed as target input to the successive PI controller of the FOC servo controller
cascade (position PI velocity PI current PI voltage).
Y_PID_FLUX = PID_FLUX_P * ERROR_FLUX / 256
Y_PID_FLUX_RATE = PID_FLUX_I * ERROR_FLUX / 65536 / (32 µs)
Y_PID_TORQUE = PID_FLUX_P * ERROR_TORQUE / 256
Y_PID_TORQUE_RATE = PID_TORQUE_I * ERROR_TORQUE / 65536 / (32 µs)
Y_PID_VELOCITY = PID_VELOCITY_P * ERROR_VELOCITY / 256
Y_PID_VELOCITY_RATE = PID_VELOCITY_I * ERROR_VELOCITY / 65536 / (256 µs)
©2020 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at www.trinamic.com