Current and Torque Control Loop

Torque control loop

General ViewDetail ViewGeneral View
Detail View


The master commands a torque but internally it is computed as current. In most cases, as the position or velocity is the controlled value, the current measurement is sufficient. If a precise torque is required by the application, it should be verified with a torque sensor.

General Scope of the Torque Controller

The task of the torque controller is to make sure that the torque currently produced by the motor corresponds to the desired torque. This makes it one of the core algorithms of servo drives. It is used whenever a motor is driven.

In general, the RMS value of motor phase currents are proportional with the generated torque. The ratio between these two is known as torque constant k_T (as defined in subitem 0x2003:2).

The torque control loop is executed at a frequency of 16 kHz (as of firmware v4.2.0).

Reference Torque Generation

The reference torque can be updated in every execution step. In cyclic synchronous torque mode, the reference torque is transferred directly from the EtherCAT master to the torque controller via the PDO (object 0x6071). In other modes, a position or velocity controller is running on the SOMANET Drive and acts as higher level control, so their outputs act as reference for the torque controller. The offset torque 0x60B2 is also part of the reference torque as described in Torque Offset

Functional Description and Controller Structure

The following figure represents the structure of the torque controller. The implemented torque control algorithm is based on field oriented control (FOC).


Figure 3: Torque loop structure

Tuning of the current controller

The controller can be fine-tuned by directly setting two parameters:

  • Settling time (subitem 0x2010:10)

  • Damping ratio (subitem 0x2010:11)

Settling time is entered in [µs], the default value 1000 µs.

Damping ratio is entered in [per mill], the default value is 2000 ‰.


For a damping ratio of 0.7, the entered value should be 700 [per mill].