【制御理論】PID制御のボード線図を求めてみる記事

PID制御の伝達関数はわかりますか?

$$G_c(s)=K_p+\frac{K_i}{s}+K_ds$$

ほいじゃあ、この式からボード線図はわかりますか?わからんすよねぇ。それを解決する記事です。

PID制御のボード線図がわからない!!

という悩みをお持ちの方の解決になれば幸いです。ではやってみます。

スポンサーリンク

結論:PID制御のボード線図はこれ

PID制御の伝達関数をボード線図が分かる様に書き直したのが以下の通りです。

$$G_c(s)=\frac{K_i(As+1)(Bs+1)}{s}$$

$$AB=\frac{K_d}{K_i}、A+B=\frac{K_p}{K_i}$$

ボード線図は以下の通りです。

もしくは

ちなみに計算機で導出過程が間違ってないか?を確認した結果は以下になります。

なんでそうなるの?と思いますよね。では以下で導出過程を記します。

導出過程

まずは最初の伝達関数を見ると、、、これが何でボード線図わからないかというと、+で繋がっているからですね。伝達関数は掛け算で繋がんと分からんのです。なので、式変形していきます。

$$G_c(s)=K_p+\frac{K_i}{s}+K_ds$$

まずは一つの分数にします。

$$G_c(s)=\frac{K_ps+K_i+K_ds^2}{s}$$

並べ替えます。

$$G_c(s)=\frac{K_ds^2+K_ps+K_i}{s}$$

分子をKiで括ります。

$$G_c(s)=\frac{K_i(\frac{K_d}{K_i}s^2+\frac{K_p}{K_i}s+1)}{s}$$

さてここで困ります。「おいおいおい、分子が因数分解できんぞ。」と。ここで発想を変えて、仮に因数分解できたと仮定して式を立てます。

$$G_c(s)=\frac{K_i(As+1)(Bs+1)}{s}$$

これを分解すると

$$G_c(s)=\frac{K_i(ABs^2+(A+B)s+1)}{s}$$

つまり、こういうことです。

$$AB=\frac{K_d}{K_i}、A+B=\frac{K_p}{K_i}$$

さて、AとBについて解いていけば因数分解できますね。まず後ろ側の式をA=~の形にします。

$$A=\frac{K_p}{K_i}-B$$

これを前の式のAに代入します。まずはBを解くって感じですね。

$$(\frac{K_p}{K_i}-B)B=\frac{K_d}{K_i}$$

展開します。

$$\frac{K_p}{K_i}B-B^2=\frac{K_d}{K_i}$$

並び替えます。

$$B^2-\frac{K_p}{K_i}B+\frac{K_d}{K_i}=0$$

2次方程式の解の公式を使いましょう。懐かしいですね。

解の公式

ax^2+bx+cの解は以下になる。

$$x=\frac{-b±\sqrt{b^2-4ac}}{2a}$$

$$B=\frac{\frac{K_p}{K_i}±\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2}$$

んでAは以下の通りですね。

$$A=\frac{K_p}{K_i}-B$$

$$A=\frac{K_p}{K_i}-(\frac{\frac{K_p}{K_i}±\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2})$$

$$A=\frac{\frac{K_p}{K_i}±\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2}$$

ん、つまりA,Bは以下の解を持つと。。。

$$(A,B)_1=(\frac{\frac{K_p}{K_i}-\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2},\frac{\frac{K_p}{K_i}+\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2})$$

$$(A,B)_2=(\frac{\frac{K_p}{K_i}+\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2},\frac{\frac{K_p}{K_i}-\sqrt{(-\frac{K_p}{K_i})^2-4\frac{K_d}{K_i}}}{2})$$

あーしんど。伝達関数を思い出しましょう。

$$G_c(s)=\frac{K_i(As+1)(Bs+1)}{s}$$

これを見てボード線図を考えます。

  • 0Hzでポールがいる。
  • 1/Aでゼロ点がある。
  • 1/Bでゼロ点がある。

近似ボード線図を描くと以下の通りです。

もしくは以下の通りですね。

以上です。

え?以上?お前の計算が合っているかどうかの確かめもせずに以上だと?と思われた方へ以下の記事をご確認ください。

pythonでボード線図描いてみたら計算結果と同じになりました。なので、ここまでの計算は間違っていないと思います。

はい。以上になります。誰かの参考になれば幸いです。最後までお読みいただきありがとうございました!!!