Motor tuning guide
Current tuning
To perform the current tuning, it is necessary to keep the rotor locked. This can be done either mechanically, or by means of the commutation sensor. If the rotor cannot be locked mechanically, the commutation sensor needs to be changed to internal generator in constant mode. However, if this is the case, after tuning the current the phasing procedure will have to be re-done.
Current Direct tuning
- Set Current direct set-point to 0.0 by writing the following parameter - 0x01B
- Set Current quadrature set-point to 0.0 by writing the following parameter - 0x01A
- Set Current direct Kp to 0.0 by writing the following parameter - 0x505
- Set Current direct Ki to 0.0 by writing the following parameter - 0x506
- Set operation mode to current mode by writing the following parameter - 0x014
- Enable motor using the Control-word parameter - 0x010
- Set Current direct set-point to any value lower than the motor's rated current by writing the following parameter - 0x01B
- Increase the Current direct Kp little by little until the current direct value (0x03C) starts to tend to the set-point by writing the following parameter - 0x505
- Increase the Current direct Ki little by little until the current direct value (0x03C) reaches the set-point by writing the following parameter - 0x506
- Change the Current direct set-point, perform different steps and modify Kp and Ki until the response of the controller is accurate and fast enough
Current Quadrature tuning
- Set Current direct set-point to 0.0 by writing the following parameter - 0x01B
- Set Current quadrature set-point to 0.0 by writing the following parameter - 0x01A
- Set Current quadrature Kp to 0.0 by writing the following parameter - 0x500
- Set Current quadrature Ki to 0.0 by writing the following parameter - 0x501
- Set operation mode to current mode by writing the following parameter - 0x014
- Enable motor using the Control-word parameter - 0x010
- Set Current quadrature set-point to any value lower than the motor's rated current by writing the following parameter - 0x01A
- Increase the Current quadrature Kp little by little until the current quadrature value (0x03B) starts to tend to the set-point by writing the following parameter - 0x500
- Increase the Current quadrature Ki little by little until the current quadrature value (0x03B) reaches the set-point by writing the following parameter - 0x501
- Change the Current quadrature set-point, perform different steps and modify Kp and Ki until the response of the controller is accurate and fast enough
Velocity tuning
- Set Velocity set-point to 0.0 by writing the following parameter - 0x021
- Set Velocity Kp to 0.0 by writing the following parameter - 0x50A
- Set Velocity Ki to 0.0 by writing the following parameter - 0x50B
- Set Velocity Kd to 0.0 by writing the following parameter - 0x50C
- Set operation mode to velocity mode by writing the following parameter - 0x014
- Enable motor using the Control-word parameter - 0x010
- Set Velocity set-point a value in-between 0 and the maximum velocity of the motor by writing the following parameter - 0x021
- Increase Velocity Kp little by little until the Actual velocity (0x031) starts to tend to the set-point by writing the following parameter - 0x50A
- Increase the Velocity Ki little by little until the Actual velocity (0x031) reaches the set-point by writing the following parameter - 0x50B
- Change the Velocity set-point, perform different steps and modify Kp and Ki until the response of the controller is accurate and fast enough
Position tuning
Position tuning without profiler
- Set Position Kp to 0.0 by writing the following parameter - 0x511
- Set Position Ki to 0.0 by writing the following parameter - 0x512
- Set Position Kd to 0.0 by writing the following parameter - 0x513
- Set operation mode to position mode by writing the following parameter - 0x014
- Enable motor using the Control-word parameter - 0x010
- Set Position set-point a value in-between 0 and the Max. position value by writing the following parameter - 0x020
- Increase Position Kp little by little until the Actual position (0x030) starts to tend to the set-point by writing the following parameter - 0x511
Start by very small values. - If needed, modify Kd and Ki until the driver can track the position demand correctly.
- Change the Position set-point, perform different steps and modify Kp and Ki and Kd until the response of the controller is accurate and fast enough
Position tuning using profiler
To tune the position loop, a profiler can be used to generate the position demands. This allows the user to see how well the controller follows the demand without causing very aggressive movements.
Profiler configuration (for tuning purposes)
- Configure Profiler max. velocity to a low value by writing the following parameter - 0x025
- Configure Profiler max. acceleration to a lower value than Profiler max. velocity by writing the following parameter - 0x026
- Configure Profiler min. acceleration to a lower value than Profiler max. velocity by writing the following parameter - 0x027
- Activate Profile position mode by writing the value 0x14 (Profiler mode: 1 and Operation mode: 4) into the operation mode parameter - 0x014
Profiler usage
- Set Position set-point to 0 by writing the following parameter - 0x020
- Enable motor using the Control-word parameter - 0x010
- Once the motor is enabled, latch position set-point into the profiler. To do this, set to 1 the New set-point bit of the Control-word parameter (0x010). A rising edge of this bit when the power stage is enabled, latches the set-point and new demands are generated.
For instance, if the value 0xF in the Control-word was set to put the driver in operation enabled, setting a value of 0x20F would latch a position set-point.
Position tuning procedure using profiler
- Configure the profiler and operation mode using the procedure above.
- Set Position Kp to 0.0 by writing the following parameter - 0x511
- Set Position Ki to 0.0 by writing the following parameter - 0x512
- Set Position Kd to 0.0 by writing the following parameter - 0x513
- Enable motor using the Control-word parameter - 0x010
- Set Position set-point a value in-between 0 and the Max. position value by writing the following parameter - 0x020
- Latch position using the procedure above
- Increase Position Kp little by little until the Actual position (0x030) starts to tend to the set-point by writing the following parameter - 0x511
Start by very small values. - If needed, modify Kd and Ki until the driver can track the position demand correctly.
- Change the Position set-point (and latch it in the profiler), perform different steps and modify Kp and Ki and Kd until the response of the controller is accurate and fast enough.
- If desired, increase the velocity and accelerations of the profiler to perform more aggressive movements.