How to tune the low-speed range of your motor/system

How to tune the low-speed range of your motor/system

Problem

I have tuned my motor with the Configuration Wizard (or manually) and it works well overall in the mid-high speed range. However, when I try to tune it at low speed, it doesn't seem to work that well and I am facing some stability problems. What can I do to improve it?

Let's use the following motor as our example to illustrate this phenomenon:


Steps

  • The first step is to see how the tuning changes between the mid-high speed range and the low-speed range. This can be done very easily with the Velocity tab in the Tune window:

  • Normally there will be significant changes between both, with the low-speed range being way worse tuned and less stable. This applies to almost all the systems but if this is not your case, then you don't need to do any more steps. However, if the tuning performance really changes, we need to proceed to the following steps.
  • The trick that we do here in order to improve the tuning performance is to use the PID controller used for position control but in the velocity loop. Therefore, the next step needed is to tune the position loop in a fast and stable fashion. If you don't know how to tune the position loop correctly please refer to the following article: Tuning of control loops: Position/Velocity loops. Such tuning should look more or less like the following:

  • Once the tuning of the position loop is finished, we need to go to the diagram of the Profile/Cyclic Synchronous Velocity and select the position PID controller instead of the velocity PID controller. This can be done with the switch that is shown in the diagram and that should be selected in the following position:

  • Once this switch is set so that the position controller is the one used for velocity mode, then you can go back to the Tune window and check how the performance of the tuning at low speed has improved. If you are still not satisfied, you can test changing the PID parameters in order to find the most optimal response for your system. In the case of the example, the performance improved to what can be seen in the following picture:

Besides having a proper performance for the low-speed range, this new PID controller should be able to perform great as well in the mid-high speed range so you will not need to switch between PID controllers depending on the speed at which you want to move the motor.

    • Related Articles

    • Why does my brushless motor not reach rated speed?

      Problem I have already configured my motor completely with the Configuration Wizard (or manually) but when I try to move the motor, I can see that it clearly does not reach its rated speed. Why does that happen and what can I do about it? Before ...
    • How to tune a stepper motor

      In this How-to guide, basic steps for the tuning of a stepper motor are explained. The main objective is to point out the main differences between tuning of a 'normal' actuator and a stepper actuator. Knowledge about tuning and how to use MotionLab ...
    • How to configure a brushed DC motor

      Problem I have a rotatory brushed DC motor with a certain feedback device but I don't know how to properly configure it and tune it. What is the right process that I need to follow? Clarifications and checkings This article describes (step by step) ...
    • Basic system configuration guide using the registers

      Problem I have my Everest XCR servo drive connected to my brushless motor and my feedback devices and I want to start configuring it in MotionLab3. What do I need to do? Clarifications and checkings This step-by-step guide shows how to perform the ...
    • How to use the sensorless wizard to configure a motor to run in sensorless mode

      Problem In this How-to guide, we explain how to start up a BLAC motor in sensorless mode making use of the sensorless wizard of MotionLab. This manual has been written and verified using the following version: MotionLab 2.13.2.662 This guide assumes ...