フィルターのクリア

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

5 ビュー (過去 30 日間)
Robert U.
Robert U. 2019 年 4 月 17 日
コメント済み: Robert U. 2019 年 9 月 10 日
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