This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Motor control loop sampling time

Hello experts,

the servo application has 3 nested control loops for current, speed and position. We denote the sampling times for these control loops as Tc (current), Ts (speed) and Tp (position). I know that the inner loop must be faster than the outer loop. I.e. : Tc <= Ts <= Tp.
Now comes my question. How many times must the inner loop be faster than the outer loop?
10 times: Tp = 10Ts = 100Tc or 5 times: Tp = 5Ts = 25Tc or .... ?
Are there technical reasons for how many times the inner control loop must be faster than the outer control loop. Or one realizes the outer control loop slower, just to save the computing time.
Is there anything against it, if the control loops would be equally fast (Tc = Ts = Tp = e.g. 100µs), if one would have enough computing time.


Thanks in advance - Bui


  • Bui,

    Moving this to Industrial Motor Drive support as well.

    Regards,

    Ryan

  • Hello Bui,

    thank you for reaching out to us. 

    Yes, the ratio of 1:5:25 (or 1:10:100) for cascaded current/speed/position controllers save MIPS and also reduce sample rate requirement of the speed and/or position sensor. It also help to get a more stable overall cascaded digital control loop. A factor of 5-10 for the speed and position controller has been established rule of thumb.

    If not needed - due to typically lower bandwidth for the speed and position response of the motor anyway - a slower sample rate achieve similar closed-loop speed and position performance and transient response. 

    Today with the high-performance real-time MCU like C2000 or Sitara AM2x MCUs, it is possible to especially run the speed control and position control at higher frequency for example up to the PWM frequency. This can enable higher dynamic motor drives, if the motor drive, signal chain and the control loop is designed properly (phase margin). 

    A side note: You may have a loo at the C2000 fast current loop (immediate PWM update), which significantly increase the bandwidth of the closed-loop current control over traditional PID based control schemes: Quick Response Control of PMSM Using Fast Current Loop

    Regards,
    Martin Staebler

  • Hello Martin,

    thank you very much for the detailed answer.
    Did I understand correctly that there are absolutely no technical reasons against Tc, Ts and Tp being the same? You choose Tc < Ts < Tp only because, you want to save the computing time and also because it is not necessary to choose all 3 sampling times the same, due to the lower bandwidth of speed controller as well as the position controller.

    Regards - Bui

  • Hello Bui,

    yes, I won't see any technical reason not to run all three cascaded controllers at the same time. Of course, as mentioned earlier the motor drive, signal chain and the control loop have to be designed properly (phase margin) to get a stable system. 

    Regards,
    Martin Staebler

  • Good morning Martin,

    thanks and have a nice day!

    Regards - Bui