필터 지우기
필터 지우기

Tune controller by using pidtune() with output disturbance instead of input disturbance

조회 수: 5 (최근 30일)
Dear all,
I'd like to tune a PIDF controller for the plant G_plant =
117.2 z - 95.28
--------------------------
z^3 - 1.679 z^2 + 0.7333 z
on the command line by using pidtune().
I'd like a crossover frequency of 40 kHz, phase margin of 60 degree and the design focus should be "disturbance-rejection".
My problem currently is that for pidtune() it seems to be assumed that there is an input disturbance d like shown here:
But in my case, I have an output disturbance d with a transfer function g_d like shown here:
I call pidtune() as follows:
pidtune(G_plant, 'PIDF', 2 * pi * 40.0e3, pidtuneOptions('PhaseMargin', 60.0, 'DesignFocus', 'disturbance-rejection'))
I am not sure if I can use pidtune() in my case, since here the disturbance acts at another position, namely at the output of the plant and with an additional transfer function, not at its input. How can I take the other disturbance location into account?
Furthermore, if I chose as design focus "balanced" or "reference-tracking", the exactly same controller is designed like with "disturbance-rejection". Why do I not see any difference in the controllers' parameters?
Thank you and best regards,
Robert

답변 (1개)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2019년 5월 20일
Hi Robert,
In this case, I would suggest to take out your controller C from your system model and add it from the outside as a unit feedback back to the summing junction (ys - ym) and then your pidtune works perfectly well.
Good luck.
  댓글 수: 1
Robert U.
Robert U. 2019년 9월 10일
Dear Sulaymon,
thanks for your answer, but it is not fully clear to me what you mean.
Could you maybe give a sketch?
Thank you,
Robert

댓글을 달려면 로그인하십시오.

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by