PI制御とは・プログラムの書き方や特徴・性質

制御工学

みなさん,こんにちは
おかしょです.

このブログではPID制御を解説するために,機能を制限して詳しく解説しています.

今回はD制御を制限したPI制御について解説していきます.

この記事を読むと以下のようなことがわかる・できるようになります.

  • PI制御とは
  • PI制御のプログラムの書き方
  • PI制御の特徴

 

この記事を読む前に

PI制御はP制御にI制御を加えた形になります.

そのため,PI制御について詳しく知るにはP制御について詳しく知っておく必要があります.

以下の記事ではP制御について解説しているので,先に読んでおくことをおすすめします.

 

PI制御とは

まず,PI制御とはどのような制御器なのでしょうか.
そこから見ていきましょう.

PI制御の「P」というのは「比例」を意味する「Proportion」の頭文字です.

一方,「I」は「積分」を意味する「Integral」の頭文字です.

このように制御器の名前はそれぞれの単語の頭文字をとって略されることが多いです.

PI制御器を制御対象に適用した場合,ブロック線図は以下のように表されます.

この図を見ると明らかなように,P制御のゲイン\(K_{p}\)は目標値と出力の差である偏差に直接かけられています.
一方,I制御のゲイン\(K{i}\)は偏差を一度積分してからかけられています.

それらを足した値が,制御入力として制御対象に入っています.

このとき,図では積分を積分記号で表していますが,\(1/s\)とラプラス変換した表現で表されていることもあります.

各ゲインは好きな値に自分で設定することができます.
この値によって制御性能が大きく変わるため,慎重に設定しなければなりません.

 

プログラムの書き方

次に,PI制御のプログラムの書き方を紹介します.

プログラムは積分をどのように行うのかによって異なります.

例えば,積分を長方形則で行うのであれば以下のようになります.

$$ u = e\cdot K_{p}+e_{i}\cdot K_{i} $$

ここで,\(e\)というのは偏差のことで

$$ e = r-y $$

で表されます.\(r\)は目標値,\(y\)は出力です.

\(e_{i}\)というのは偏差\(e\)を積分した値で

$$ e_{i} = e_{i}+e\cdot dt $$

で表されます.この値の初期値はわかるはずがないので0とします.

 

PI制御の特徴

PI制御の特徴をや性質を調べるために,数値シミュレーションをします.

数値シミュレーションでは以下のような2次遅れ系のシステムを制御対象とします.

$$ G(s) = \frac{\omega_{n}^{2}}{s^{2}+2\zeta \omega_{n} s+\omega_{n}^{2}} $$

ここで,\(\zeta\)は0.5,\(\omega_{n}\)は1としています.

目標値\(r\)は1として,Pゲイン\(K_{p}\)は固定してIゲイン\(K_{i}\)をさまざまな値に変化させて数値シミュレーションを行いました.
その結果,以下のようになりました.

02. 数値シミュレーション結果

この図の右上に表示されている凡例はIゲイン\(K_{i}\)の値が示されています.

青い線で示されているのは\(K_{i}=0\)の時,つまりI制御はしていないP制御の応答になります.P制御ではゲインが小さければ小さいほど定常偏差が生じることがあり,この数値シミュレーション結果にもそれが表れています.

これにI制御を加えたことによって,定常偏差がなくなっていることが確認できます.

\(K_{i}=1\)とした時が最も良い応答結果が得られています.

この数値シミュレーションから,\(K_{i}\)が小さい時は収束が遅くなり,反対に大きい時は振動的になってしまうことがわかります.

 

極の位置を確認

次に,PI制御をした時の極の位置を確認していきます.

そのために,まずこのシステムの伝達関数を求めます.

制御対象の伝達関数を\(G(s)/)とすると,PI制御の伝達関数は以下のようになります.

\begin{eqnarray}
\frac{Y}{R} &=& \frac{(K_{p} +\frac{1}{s}K_{i})G(s)}{1+(K_{p} +\frac{1}{s}K_{i})G(s)}\\
&=&\frac{(K_{p} s +K_{i})G(s)}{s+(K_{p} s +K_{i})G(s)}
\end{eqnarray}

この式の\(G(s)\)に今回使用した2次遅れ系を代入すると以下のようになります.

$$ \frac{Y}{R} = \frac{K_{p} \omega_{n}^{2}s+K_{i} \omega_{n}^{2}}{s^{3}+2\zeta \omega_{n} s^{2}+\omega_{n}^{2}(1+K_{p})s+K_{i} \omega_{n}^{2}} $$

この極位置を求めるには分母多項式を方程式として解く必要があります.
3次方程式の解の公式は存在しますが,非常に長く,複雑なためゲインと極位置の説明をするのには適していません.

そこで,極位置とゲインの関係を説明するために,ここでは以下のような1次遅れ系のシステムを制御対象とします.

$$ G(s) = \frac{K}{Ts+1} $$

これを先程のPI制御の伝達関数に代入します.

$$ \frac{Y}{R} = \frac{KK_{p} s+KK_{i}}{Ts^{2}+(1+KK_{p})s+KK_{i}} $$

このときの分母多項式を解いて,極位置を求めると以下のように求まります

$$ s = \frac{-(1+KK_{p})\pm \sqrt{(1+KK_{p})^{2}-4TKK_{i}}}{2T} $$

まずは,即応性について見ていきます.

極位置において,即応性を決定づけるのは実部です.つまり,分子の第1項目です.
この値を変化させるのはPゲイン\(K_{p}\)なので,\(K_{p}\)の値を大きくすることによって即応性を向上させることができます.

これはP制御の時やPD制御の時と同様になります.

次に,振動特性について見ていきます.

この特性はルートで囲まれている項の正負によって決まります.
この中の値が負の場合は,応答が振動してしまいます.

この項を決定するのはPゲイン\(K_{p}\)とIゲイン\(K_{i}\)の関係です.

では,応答が振動的にならないようにするにはどのような関係にすればいいのでしょうか.
極位置のルートで囲われた項を\(=0\)として解いてみます.

\begin{eqnarray}
(1+KK_{p})^{2}-4TKK_{i} &=& 0\\
K_{i} &=&\frac{(1+KK_{p})^{2}}{4TK}
\end{eqnarray}

制御対象が1次遅れ系の場合は\(K_{p}\)に対して,\(K_{i}\)を上記のように設定すれば振動しなくなります.また,この値よりも\(K_{i}\)を小さくしても振動的な応答にはなりません.

 

定常偏差の確認

数値シミュレーションではI制御を加えることによって,定常偏差をなくすことができました.

ここでは,数式上でも定常偏差をなくすことができることを証明します.
そのために,最終値の定理を使って応答が収束する値を調べてみたいと思います.

先程求めた,2次遅れ系の制御対象にPI制御を適用した時の伝達関数を使用します.

$$ \frac{Y}{R} = \frac{K_{p} \omega_{n}^{2}s+K_{i} \omega_{n}^{2}}{s^{3}+2\zeta \omega_{n} s^{2}+\omega_{n}^{2}(1+K_{p})s+K_{i} \omega_{n}^{2}} $$

これに最終値の定理を使うと,以下のようになります.

\begin{eqnarray}
y(\infty)&=&\displaystyle \lim_{s \to 0} s\cdot F(s)\\
&=&\displaystyle \lim_{s \to 0} s\cdot \frac{K_{p} \omega_{n}^{2}s+K_{i} \omega_{n}^{2}}{s^{3}+2\zeta \omega_{n} s^{2}+\omega_{n}^{2}(1+K_{p})s+K_{i} \omega_{n}^{2}}\cdot \frac{1}{s}\\
&=& 1
\end{eqnarray}

このように,最終値は目標値である1になることが最終値の定理からも確認ができました.

 

ボード線図から確認

次はボード線図を使って,PI制御の性質を調べていきます.

その前に,制御対象として用いた2次遅れ系のボード線図を以下に示します.

03. ボード線図(制御無し)

次にPゲイン\(K_{p}\)を1とした時のボード線図を示します.

04. ボード線図(P制御)

P制御をした時のボード線図について詳しく知りたい方は,こちらを参照してください.

最後に,PI制御を適用した時のボード線図を示します.
数値シミュレーションの時と同様にIゲイン\(K_{i}\)をさまざまな値に変化させています.

05. ボード線図(PI制御)

まずは,上に表示されているゲイン線図から見ていきます.

ゲイン線図を見る限り,Iゲインがシステムのゲインに与える影響は小さいように思えます.
ただ,大きくしすぎると高周波数のゲインが大きくなるので少し注意が必要そうです.

次に位相線図を見てみます.

位相に関しても,ゲインを大きくしすぎない限りは問題なさそうです.

ただゲインを大きくしすぎると,位相が360°も遅れてしまうので
位相線図から見てもゲインを大きくしても良いことはないようです.

 

まとめ

この記事では,PI制御の特徴や性質をいろいろな方面から調べていきました.

その結果,I制御をすれば定常偏差をなくすことが可能になることがわかりました.
しかし,ゲインを大きくしてもあまり良いことはないので注意が必要です.

 

続けて読む

PI制御について理解できたら,PID制御について解説している以下の記事も参考にしてください.

Twitterでは記事の更新情報や活動の進捗などをつぶやいているので気が向いたらフォローしてください.

それでは最後まで読んでいただきありがとうございました.

コメント

タイトルとURLをコピーしました