PID制御の基本中の基本であるP制御。
P制御だけで使われる機会はほとんどないと思います。その理由は定常偏差が生まれてしまうからですが、なぜ定常偏差が出てしまうのでしょうか。ふと疑問に思ってよくよく考えてみたら当然であることに気づきました。今回はそんな当然すぎて忘れてしまうことを書いていきます。
P制御とは
P制御のPはPropotionalの略で比例制御という意味があります。
では一体何が比例なのか。
それは偏差(制御出力と目標値との差)とゲイン(=定数)が比例の関係になっています。
下の図のように、偏差eにゲイン$K_{p}$が掛かっています。
つまり、偏差が大きい初期は入力が大きくなり、目標値に近づくにつれて入力は少なくなっていきます。
問題点
P制御の問題点は一般には定常偏差が残ってしまうことだと思います。
つまり、目標値には届かずに、その一歩手前で偏差を生じたままになってしまいます。
そのためよくPI制御やPID制御として用いられることが多いです。
そこでなぜ定常偏差が残ってしまうのかを考えていきます。
目標となる温度があり、その温度に近づける場合を考えます。今の温度をセンサでフィードバックさせるイメージです。暖房のようなものです。
初期段階は目標値との差が大きいが故入力もそれに比例し大きいです。
しかし目標値に到達しかけると入力はだんだん小さくなります。
仮に目標値に到達したときのことを考えてみます。
すると誤差eが0になるため入力も0になります。($u(t)=K_{p}u(t)$であるため。)
入力が0になると当然、現状の温度は下がり始めます。若干下がると偏差が生じるため入力$u(t)$も上がるのですが、
その偏差が若干であるため、制御対象を動かすだけのパワーがありません。
モーターなどの制御対象には「これ以上の入力(電圧とか)で動き始める」といった物理的な下限があります。この値を誤差とゲインを掛けた入力が超えるまでは制御対象が動かないため温度は下がり続け、
やっと差が大きくなったら入力が始まり、目標値に近づくと思ったら入力がなくなり、の繰り返しです。
したがってP制御だけですと定常偏差が生じてしまいます。
もう少し理論的には
上のような一次遅れ系を制御する場合を考えます。(ほとんどの制御システムは入力したとたん出力しだすことはなく、遅れが生じます。)
この系の全体の伝達関数を求めます。
\begin{align}
Y(s)=\frac{\frac{K_{p}K}{K_{p}K+1}}{\frac{T}{K_{p}K+1}s+1}r(s)
\end{align}
このシステムに例えば10の単位ステップ入力を与えます。
\begin{align}
Y(s)=10\frac{\frac{K_{p}K}{K_{p}K+1}}{\frac{T}{K_{p}K+1}s+1}\frac{1}{s}
\end{align}
そしてこの時の定常値を求めます。
定常値は最終値の定理より求まります。
\begin{align}
\lim_{s\to0}sY(s)=10\times\frac{K_{p}K}{K_{p}K+1}
\end{align}
上記の式の通り,$K_{p}K$のゲインが10でも50でも100でも入力した10には届きません。
これは$\frac{A}{A+1}$が1にならないことと同じです。
PI制御
P制御の問題点を解決するのがPI制御です。
P制御の問題点は目標値に近づいたときに入力が0になってしまうため定常偏差が生じてしまうことでした。では目標値に到達しても入力し続けることができれば定常偏差はなくなるのか。
誤差の積分は、目標値に到達したときに0にはなりません。しかし積分値の増加は止まります。
つまり目標値に到達したときのままを維持してくれるわけです。
このPI制御の問題点を挙げるなら応答性の低さです。
外乱などにより急激に変化があったときは、定常値まで戻るのに時間を要してしまいます。
そこで傾きから次に必要な入力を操作するD要素が入ったPID制御が求められます。
比例ゲインや積分ゲインが大きいときや、外乱などによって急激に値が変化してしまうとき、また振動的になってしまう時は微分制御を使います。
微分制御はひとつ前の偏差と現在の偏差の値を比較して、偏差が急激に変化していたらその偏差を小さくするように作用します。
現在の偏差と一つ前の偏差を引き算して、それを時間で割ると、変化の度合い(傾き)が出ます。
その傾きが大きくなったときに、その変化を打ち消す側に出力をコントロールします。
そのため一つ前の偏差を保存しておく必要があります。
コメント