Cyclic Synchronous Torque Control

../../../../../../../../../_images/torque_control_loop.png

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 a motion control device like SOMANET Drive. 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 object 0x2003:2).

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 act 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 Feedforward Control

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).

../../../../../../../../../_images/torque_transformation.png

Model-Predictive Current Controller

The purpose of the model-predictive current controller (block “Current Controller” in the block diagram) is to make the actual torque-generating current match the requested torque-generating current.

Just as a regular PID current controller, the model-predictive current controller tries to remove the current error.

Instead of a PID structure, it internally uses a model-based approach to determine the required voltages at motor terminals.

The underlying equations allow to predict the current over one sampling period and calculate the required voltages so that by the end of the following voltage application period, the current errors will be suppressed to 0.

As base for these calculations, the motor parameters (0x2003) are used. These should be set precisely to achieve good performance.

This controller structure can theoretically suppress the error values of motor currents to 0 in only one control execution period. However, it is sensitive to sensor noise and also depends on the model accuracy. In order to optimize the model-based controller for real world applications, two tuning parameters are added:

An integrator is added and parameterized by the gain Ki (0x2010:2). This makes the controller robust to inaccuracies of the model. A proportional gain is introduced in order to soften the actions of the model-based sub-structure: Kp (0x2010:1) can take values between 0 and 1, where high values typically make the system sensitive to noise, while low values reduce the control bandwidth.

Both parameters are tuned by default and work universally for a wide range of system setups. It is not recommended to change these parameters.

For further information on current control and model-based current control in particular, see IEEE publications 6775336 and 6775315.

Values Kp, Ki and Kd for Torque Controller