Skip to content

Current Regulation Control Loop

Introduction

Phase current control loop, or current regulation control loop, controls the phase current feedback loop with respect to our field-oriented control (FOC) implementation. You may need to adjust the current regulation of your system to adjust the behaviour, such as overall acceleration and current overshoot.

Current Regulator bandwidth is used to calculate the feedback gain for the controller’s current regulation loops: Current regulator Kp and Current regulator Ki.

As the Current Regulator bandwidth increases, the faster the controller tries to correct the output current relative to the target output, often with less overshoot and integrator windup as 'Current regulator Kp' becomes a dominant factor in the PI Loop. The Current Regulator bandwidth sets the Current regulator Kp and Current regulator Ki.

A side effect of higher Current Regulator bandwidth is that the phase current may become harder to control causing instability. It might over-adjust, increasing output/audible noise and overshoots causing Overcurrent faults. In some cases, if the Current Regulator bandwidth is low enough, the acceleration will be noticeably negatively affected. -->

Tuning

Bandwidth Tuning

Generally higher speed motors benefit from Current Regulator bandwidth >= 3000, up to 5000. Lower speed motors can tolerate lower values, such as 1500. Maintain a sufficiently high Current Regulator bandwidth to have desirable acceleration and performance.

Manual Tuning

Though it is not recommended to set individual PI gains. If the Current Regulator bandwidth is set to zero, you can manually set the Current regulator Kp and the Current regulator Ki values.

In firmware 6.021 and higher, you can also manually set the Current Regulator Kcc (address 1955). This is the cross-coupling gain used to decouple the D-axis and Q-axis current control loops. When Current Regulator bandwidth is non-zero (1 to 5000), Current Regulator Kcc shows the cross-coupling gain calculated by the controller.

When Current Regulator bandwidth is set to zero, the Kcc gain is set to zero unless Level 1 Features bit 5 Manual Kcc Tuning is enabled. To tune Kcc manually:

  1. Set Current Regulator bandwidth to zero.
  2. Enable Level 1 Features bit 5 Manual Kcc Tuning.
  3. Set Current Regulator Kcc.

WARNING

An incorrect Kcc value causes incorrect D-axis and Q-axis cross-coupling compensation, and incorrect D-axis and Q-axis current control.

When Current Regulator bandwidth is set to zero, Current Regulator Kcc keeps the value calculated from the last non-zero Current Regulator bandwidth. You can then change Current Regulator Kcc manually.

Tuning effects when increasing a parameter independently:

Parameter Rise time Overshoot Settling time Steady-state error Stability
Current regulator Kp Decrease Increase Small change Decrease Degrade
Current regulator Ki Decrease Increase Increase Eliminate Degrade