0x2010 Torque Controller¶
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 is 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 Feed Forward 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).
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.
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Controller Kp | 0x2010:1 | REAL | 32 | 0 | 0 | readwrite | |||||||
In the case of using predictive controllers for current loop the unit is undefined, and the default value is 2500. Moreover, Increasing this parameter directly amplifies the amplitude of applied voltages, and as a result, has an effect similar to Kp in the case of using a PID controller. The range of this torque controller gain is 0 to 100,000,000.
|
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Controller Ki | 0x2010:2 | REAL | 32 | 0 | 0 | readwrite | |||||||
The unit of this gain is 0.16 [uV/(Second * Amp_rms)]. The default value is 40000. The range of this torque controller gain is 0 to 100,000,000. |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Controller Kd | 0x2010:3 | REAL | 32 | 0 | 0 | readwrite | |||||||
This parameter is undefined for predictive current controller. The range of this torque controller gain is 0 to 100,000,000. |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Options | Unit | Access | PDO Mapping | ||||||
Field Weakening Enabled | 0x2010:4 | UDINT | 32 |
|
1 | readwrite | |||||||
In many applications, it is required to extend the velocity range of an electric motor. This parameter enables or disables “Field Weakening”, a feature that increases the speed range of a PM motor by weakening the magnetic field of the rotor linearly over the speed range. The user should set 3 parameters: 1. Field Weakening Starting Speed (Subitem 6) 2. Field Weakening Ending Speed (Subitem7) 3. Percentage of Field Weakening (f) (Subitem 5) Note: While the field weakening feature is enabled, it is assumed that the Drive is in its normal conditions with no fault. |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Field Weakening Percentage | 0x2010:5 | UDINT | 32 | 0 | 0 | 1 | readwrite | ||||||
Percentage of Field weakening. This field can have an integer value in the range of [0-100], and determines the "RMS" value of phase currents which are (only) generated to weaken the field. For example, if set to 10, then 10% of rated current will be injected in motor phases to weaken the rotor field. WARNING: Based on motor type, values more than 25% can lead to instability of torque control service. While tuning, proceed with "small steps", "limited power supply voltage" and "limited power supply current". |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Field Weakening Starting Speed | 0x2010:6 | UDINT | 32 | 0 | 0 | rpm | readwrite | ||||||
Field weakening is increased linearly from 0% (at starting speed point) to its final value (at ending speed point). |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Field Weakening Ending Speed | 0x2010:7 | UDINT | 32 | 0 | 0 | rpm | readwrite | ||||||
Field weakening is increased linearly from 0% (at starting speed point) to its final value (at ending speed point). |
|||||||||||||
Name | Index:Sub | Type | Bit Size | Min Data | Max Data | Default Data | Unit | Access | PDO Mapping | ||||
Commutation Angle Measurement Delay | 0x2010:8 | UDINT | 32 | 0 | μs | readwrite | |||||||