What does Ki*Ts mean in Discrete PI controller ?

7 views (last 30 days)
Hi everyone,
I am using a Discrete PI controller for an FOC algorithm I am developing in Simulink using the Motor Control Blockset. I would like to use a Ki gain if 2. At the input of the block, I have an input labelled Ki*Ts. If I use my gain with a sampling period of, let's say, 1ms, should Ki*Ts = 2e-3 ? What would be an appropiate sampling period (Ts) and what would be the reason for it ? Please any help would be really appreciated.

Answers (2)

Sharat Yadav
Sharat Yadav on 2 Dec 2020
I think the answer by Jesus clears the question, I am adding few points which one might find helpful.
  • For the Ki gain of value 2, The value of Ki*Ts = 2*Ts, where Ts is the sample time of the block, which in many cases is the sample time of the algorithm where the block is used.
  • One can refer any of the shipping demo of MCB (Motor Control Blockset) for clear understanding on how to decide the value of Ts. for eg: mcb_pmsm_foc_qep_f28379d, https://www.mathworks.com/help/mcb/gs/foc-pmsm-using-quadrature-encoder.html

Jesús Zambrano
Jesús Zambrano on 18 Apr 2020
From the documentation about the meaning of Ki*Ts, it indicates that: "You must premultiply the integral gain value by the integrator sample time (Ts) for the block to execute within asynchronous interrupts."
About: What would be an appropiate sampling period (Ts) and what would be the reason for it ?
This depends on your specific application. The sample time of the signal you want to implement the PI controller will give you this answer.


Find more on Control Algorithm Design in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by