PID制御のチューニングのテクニックとして、Ziegler Nicholsの限界感度法(ジーグラ・ニコルス法)が有名なので、チューニング結果がどのようなものか確認してみることにしました.
Wikipediaや一般的な制御の教科書ではジーグラ・ニコルス法を適用できる前提条件が明記されてないことが多いですが、
[1]の文献では特に前提がないもの (参考例ではむだ時間のない3次遅れ系)
[2]によるとむだ時間 + 1次遅れ系 ($ \frac{K}{1+Ts}e^{-Ls} $)のときのみと
[3]ではむだ時間+1次遅れ系($ \frac{K}{1+Ts}e^{-Ls} $)ないしはむだ時間+積分系($ \frac{K}{s}e^{-Ls} $)
としています.
むだ時間をパデ近似で有利関数表現するとどこまでも次数を上げることができるので、[1], [2], [3]を読み合わせるて解釈すると、むだ時間がある1次遅れ系相当か、ある程度の次数の有理関数表現ができるプラントになら適用できるということだろう.
(後者を言ってしまうとなんでも…か…?)
追記 : ジーグラ・ニコルス法は、(むだ時間のない) 積分系・1次遅れ系・2次遅れ系に適用できないとのこと.
以降の検討で「1. ジーグラ・ニコルスの限界感度法と1次遅れ系」「2. ジーグラ・ニコルスの限界感度法と2次遅れ系」は、それを裏付ける結果になっている.
むだ時間を含む1次遅れ系では有効ですが結果については「3. ジーグラ・ニコルスの限界感度法とむだ時間のある1次遅れ系」を参照ください.
Note that the Ziegler-Nichols’ closed loop method can be applied only to processes having a time delay or having dynamics of order higher than 3. Here are a few examples of process transfer function models for which the method can not be used:
http://home.hit.no/~hansha/documents/control/theory/tuning_pid_controller.pdf
- $ H(s) = \frac{K}{s} $ (integrator) (10.5)
- $ H(s) = \frac{K}{T s + 1} $ (first order system) (10.6)
- $ H(s) = \frac{K}{(\frac{s}{ω_0})^2 + 2ζ\frac{s}{ω_0} + 1}$ (second order system) (10.7)
ジーグラ・ニコルスの限界感度法は、ステップ応答法やCHR法と行ったチューニング手法と違い、むだ時間がある系のチューニングを明示的には前提としていないものの実態は、むだ時間のある系を対象としていることがわかります。
むだ時間を考えないでチューニングする場合は
- 最適制御
1状態1入力システム:最適制御入力 http://pid123.blogspot.jp/2015/01/21.html
2状態1入力システム:最適制御入力 http://pid123.blogspot.jp/2015/02/21-2.html - 極配置設計
極、零点の配置と過渡応答 http://ysserve.wakasato.jp/Lecture/ControlMecha1/node16.html - $ H \infty $
-追記ここまで-
0. ジーグラ・ニコルスの限界感度法の段取り
- $ K_i = 0, K_d =0 $として$ K_p $ を0からだんだん大きくしていき、
系が振動的になったところで止める
このときの $ K_p $ を $ K_u $とし、
振動周期を $ T_u $とする - $ K_u, T_u $を使って、$ K_p, K_d, K_i $を定める
決め方は表の通り
制御の種類 | $ K_p $ | $ K_d $ | $ K_i $ |
P制御 | $ 0.5 K_u $ | 0 | 0 |
PI制御 | $ 0.45 K_u $ | 0 | $ \frac{0.45 K_u}{0.83 T_u} $ |
PID制御 | $ 0.6 K_u $ | $ 0.075 T_u K_u $ | $ \frac{0.6 K_u}{0.5 T_u} $ |
1. ジーグラ・ニコルスの限界感度法と1次遅れ系
まず、むだ時間のない1次遅れ系にPI制御を適用することを考えてみる.この時、
\[ P_0(s) = \frac{1}{1+Ts} \]
\[ C_0(s) = K_p + \frac{K_i}{s} \]
従って、フィードバック系の伝達関数は、
\[ G_0(s) = \frac{P_0 C_0}{1+P_0 C_0} = \frac{K_p s + K_i}{Ts^2+(1+K_p)s+K_i} \]
すると、段取りに従い、安定限界を求めるべく$ K_i = 0 $とすると、
\[ G_0(s) = \frac{K_p}{Ts + (K_p +1)} \]
とただの1次遅れ系なってしまい安定限界を求めるどころではない.
つまり、この時は、$ K_u $ を求めようにも、
$ K_p $ を上げたいだけ上げても安定な状態になってしまうので、
ジーグラ・ニコルスの限界感度法を適用するのは少し難しい.
$ K_p $ を上げたいだけ上げても安定な状態になってしまうので、
ジーグラ・ニコルスの限界感度法を適用するのは少し難しい.
だが実際に1次遅れ系にPI制御を適用するとき($ K_i > 0 $)は、
\[ G_0(s) = \frac{K_p s + K_i}{Ts^2+(1+K_p)s+K_i} = \frac{(2\zeta \omega_n - 1) s + \omega_n^2}{s^2+2 \zeta \omega_n s+\omega_n^2} \]
と、閉ループ伝達関数は2次遅れ系になる.
つまり、$ \zeta = \frac{K_p + 1}{2T \sqrt{K_i}}$ を小さく取り過ぎると振動が持続するので注意.
以上のことをひとことで言うと、1次遅れ系で、むだ時間なしの場合はジーグラ・ニコルスの限界感度法でKp, Kiは求まらない
(但し書きとしてアクチュエータの出力制限がないとか、離散化が無視できるとか云々)
つまり、$ \zeta = \frac{K_p + 1}{2T \sqrt{K_i}}$ を小さく取り過ぎると振動が持続するので注意.
以上のことをひとことで言うと、1次遅れ系で、むだ時間なしの場合はジーグラ・ニコルスの限界感度法でKp, Kiは求まらない
(但し書きとしてアクチュエータの出力制限がないとか、離散化が無視できるとか云々)
2. ジーグラ・ニコルスの限界感度法と2次遅れ系
3. ジーグラ・ニコルスの限界感度法とむだ時間のある1次遅れ系
ジーグラ・ニコルスがそれなりに上手く行く条件です.
参考
[1] 古典制御 - 吉川 恒夫[2] Ziegler-Nichols Tuning Rules for PID
http://www.mstarlabs.com/control/znrule.html
[3]制御工学 (JSMEテキストシリーズ)
[4] The Time Delay
http://lpsa.swarthmore.edu/BackGround/TimeDelay/TimeDelay.html
0 件のコメント:
コメントを投稿