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

制御工学

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

この記事では制御器で最も使用されているPID制御について解説しています.

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

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

 

この記事を読む前に

PID制御はP制御・D制御・I制御の3つの制御で構成されています.

この記事ではそれらのすべてをまとめたPID制御について解説しています.

いきなりPID制御を学ぶのは難しいと思うので以下の記事を先に読んでおくことをおすすめします.

 

PID制御とは

まず,PID制御とは何なのかについて解説していきます.

PID制御は現在,現場で最も利用されている制御器となっています.

この制御器はP(Proportion: 比例),D(Drivation: 微分),I(Integral: 積分)の三つの要素から構成されています.

また,調整するパラメータが3つで済むため,制御性能の調整がしやすく構造が単純なことから使い勝手の良い制御器と言えます.

PID制御器は以下のようなブロック線図となります.

まず,目標値と出力の差をとり
求められた偏差にP要素,D要素,I要素の計算をそれぞれ行います.

入力としてそれらの和を利用することでPID制御器を構成することができます.

ブロック線図内の\(K_{p},\ K_{d},\ K_{i}\)は自由な値に設定できますが,それらの値によってシステムの応答が決まるので慎重に決める必要があります.

 

プログラムの書き方

プログラムの書き方は,先程のブロック線図でも解説したのですが

まず,目標値\(r\)と出力\(y\)の差を求めます.これを偏差\(e\)と言います.

$$ e = r-y $$

偏差\(e\)にP要素,D要素,I要素の計算をそれぞれ行います.

Pは比例なので,偏差\(e\)に定数ゲイン\(K_{p}\)を掛けます.

$$ P = e\cdot K_{p} $$

Dは微分なので,偏差\(e\)を微分してから定数ゲイン\(K_{d}\)を掛けます.

$$ D = \frac{de}{dt}\cdot K_{d} $$

Iは積分なので,偏差\(e\)を積分してから定数ゲイン\(K_{i}\)を掛けます.

$$ D = e_{i}\cdot K_{i} $$

ここで,\(e_{i}\)は偏差\(e\)の積分を表していて,今回は積分法として長方形則を用います.

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

このとき,\(e_{i}\)の初期値は必ず0とします.

 

PID制御の数値シミュレーション結果

それでは,PID制御のプログラムの書き方もわかったので,数値シミュレーションを行ってみます.

制御対象は以下のような1次遅れ系のシステムとします.

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

数値シミュレーション上では\(T\)を10,\(K\)を1としています.
また,\(K_{p},\ K_{d},\ K_{i}\)は1500,1,1としています.

目標値の1へと定常偏差もなく収束していることが確認できます.

また,D要素のおかげで振動することもありませんでした.

 

PID制御の特徴

PID制御はP要素,D要素,I要素の3つで構成されています.

そのため,PID制御の特徴はそれぞれの要素の特徴をあわせもったものとなります.

P要素の特徴,D要素の特徴,I要素の特徴については別の記事で極位置やボード線図などを使って詳しく解説しています.

簡単にそれぞれの特徴をまとめると,Pゲインを大きくすると即応性を上げることができます.
即応性というのは目標値に到達するまでの時間のことを言います.

しかし,Pゲインを大きくしすぎるとシステムの出力が振動的な応答になってしまいます.

そこで,D制御を追加することで振動を抑制することができます.

振動を抑制することはできるのですが,定常偏差をなくすことはできません.

そこで,定常偏差をなくすためにI制御を追加します.

これでPID制御器が完成します.

 

まとめ

この記事ではPID制御の解説を行ってきました.

PID制御とはP要素,D要素,I要素の三つで構成されていて
使い勝手の良さから,現場で最も利用される制御器と言われています.

実際に使用されるようなPID制御器は,この記事で紹介したような単純なものではありませんが
これを応用したものとなっています.

PID制御の応用は現在も多くの研究者が研究をしています.

 

続けて読む

以下の記事ではPID制御を使って1次遅れ系のシステムを制御する方法を解説しています.

この記事でも1次遅れ系のシステムの数値シミュレーションを行いましたが,以下の記事ではPIDゲインの決め方も解説しています.

興味のある方は読んでください.

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

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

コメント

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