◆PID制御を利用して理想の波形を手に入れよう!
◆本記事の特徴としてPIDの解説ですが式が一つも出てきません!
ON・OFF制御では図1に示すような上下限の閾値に対してオーバーシュートは避けられません。PID制御を利用すると、図2に示すように上下限の閾値ではなく目標値に対してのズレがほぼなくなります。
しかもスタートから狙い値に到達するまでの立ち上がりも早くなります。
![ON・OFF制御ではオーバーシュートとアンダーシュートを繰り返します。](https://image.jimcdn.com/app/cms/image/transf/dimension=436x10000:format=jpg/path/sf4944586e5afa2de/image/i80f1e0950e41ff36/version/1585237118/on-off%E5%88%B6%E5%BE%A1%E3%81%A7%E3%81%AF%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%81%A8%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%82%92%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99.jpg)
![オーバーシュートもアンダーシュートもほとんど出ません。](https://image.jimcdn.com/app/cms/image/transf/dimension=436x10000:format=jpg/path/sf4944586e5afa2de/image/i78ef72e8229cd424/version/1585237120/%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%82%82%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%82%82%E3%81%BB%E3%81%A8%E3%82%93%E3%81%A9%E5%87%BA%E3%81%BE%E3%81%9B%E3%82%93.jpg)
◆PID制御の使い方
具体的には温度調節器あるいはデジタル調節器を使います。もともとが温度を制御するための用途で使われることが多かったため温度調節器と言います。
しかし測定対象が温度であろうと力であろうと、センサーからの出力は電気信号です。
異種金属をつなげて両方に温度差を与えると温度差に応じた電気が生じるゼーベック効果を利用した熱電対を使えば温度を電気信号に変換して計測ができます。
ある種の物質にひずみが生じると電気が生じる圧電効果を利用したピエゾ素子を使えば力や振動を電気信号に変換して計測ができます。
つまり電気的な仕様が合えば温度以外のものも扱えます。とはいえ温度調節器という名前の機器で他の測定値を扱うのは心理的な抵抗があるので、デジタル調節器と呼びます。
システム構成は図3のようになります。アナログ信号をデジタル調節器に入力します。調節器は目標値との差を演算処理し操作器に制御出力を出します。操作器はソリッド・ステート・リレー(SSR)、電磁開閉器、電力調整器などを使います。操作器からの信号を受けてヒーター出力が上がったり下がったりと動作します。
![センサーからデジタル調節器に入力し演算した結果を制御出力として操作器へ出力。そして操作器からの出力がヒーターを制御します。](https://image.jimcdn.com/app/cms/image/transf/dimension=653x10000:format=jpg/path/sf4944586e5afa2de/image/i28026f0dda91e8fc/version/1585237218/%E3%82%BB%E3%83%B3%E3%82%B5%E3%83%BC%E3%81%8B%E3%82%89%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E8%AA%BF%E7%AF%80%E5%99%A8%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%97%E6%BC%94%E7%AE%97%E3%81%97%E3%81%9F%E7%B5%90%E6%9E%9C%E3%82%92%E5%88%B6%E5%BE%A1%E5%87%BA%E5%8A%9B%E3%81%A8%E3%81%97%E3%81%A6%E6%93%8D%E4%BD%9C%E5%99%A8%E3%81%B8%E5%87%BA%E5%8A%9B-%E3%81%9D%E3%81%97%E3%81%A6%E6%93%8D%E4%BD%9C%E5%99%A8%E3%81%8B%E3%82%89%E3%81%AE%E5%87%BA%E5%8A%9B%E3%81%8C%E3%83%92%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%88%B6%E5%BE%A1%E3%81%97%E3%81%BE%E3%81%99.jpg)
ON・OFF制御では単純に閾値を超えればOFF、閾値を下回ればONとしていました。
PID制御ではPとIとDの3つの設定値を基に複雑な演算を行います。
*デジタル調節器で任意に設定する値になります。
まずはPIDの設定をP値を1、I値がさを0、Dを0の設定としたときの出力が図4の通りであったとします。
目標値への到達も遅く、その後は目標値に届かない状態が続きます。目標値と出力平均との間が埋まらずに常に生じるずれを定常偏差と呼びます。
この状態をPIDの制御値をどういじって改善すればよいかを見ていきます。
![PIDの制御値を調整前の初期波形です。](https://image.jimcdn.com/app/cms/image/transf/dimension=648x10000:format=jpg/path/sf4944586e5afa2de/image/i862d2985ac26d1c3/version/1585237289/pid%E3%81%AE%E5%88%B6%E5%BE%A1%E5%80%A4%E3%82%92%E8%AA%BF%E6%95%B4%E5%89%8D%E3%81%AE%E5%88%9D%E6%9C%9F%E6%B3%A2%E5%BD%A2%E3%81%A7%E3%81%99.jpg)
1.P制御(Propotional Contorol) :比例制御での改善
目標値と出力地との差を見て出力を制御します。
P値を上げたときの出力変化を示したものが図5です。破線がP値変更前です。
変更前に比べて最初の立ち上がりが早くなります。また、その後の出力平均がより目標値に近づきます。つまり定常偏差が小さくなりました。
立ち上がりと偏差が改善される一方で出力幅(山谷の大きさ)はより大きくなってしまっています。また小さくなったとはいえ定常偏差は残ります。これがP制御の限界です。
![P値を変更する事で立上が早く、定常偏差が小さくなります。](https://image.jimcdn.com/app/cms/image/transf/dimension=650x10000:format=jpg/path/sf4944586e5afa2de/image/ib9350ab4189ae8bd/version/1585237437/p%E5%80%A4%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E4%BA%8B%E3%81%A7%E7%AB%8B%E4%B8%8A%E3%81%8C%E6%97%A9%E3%81%8F-%E5%AE%9A%E5%B8%B8%E5%81%8F%E5%B7%AE%E3%81%8C%E5%B0%8F%E3%81%95%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99.jpg)
2.I制御(Integral Control):積分制御
P制御の限界からさらに改善するためにI制御を利用します。定常偏差の量を積分しその結果に応じて出力を変動させます。
I値を上げていったときの出力変化を示したものが図6です。破線がI値変更前です。
変更前に比べてより定常偏差が小さくなります。
しかし積分という演算の性質上、応答に時間がかかるためオーバーシュートやアンダーシュートは必ず発生します。これがI制御の限界です。
![I値を変更する事で定常偏差が改善されましたが、オーバーシュート、アンダーシュートが残ります。](https://image.jimcdn.com/app/cms/image/transf/dimension=648x10000:format=jpg/path/sf4944586e5afa2de/image/i5b8754f2fa284709/version/1585237534/i%E5%80%A4%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E4%BA%8B%E3%81%A7%E5%AE%9A%E5%B8%B8%E5%81%8F%E5%B7%AE%E3%81%8C%E6%94%B9%E5%96%84%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C-%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88-%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%81%8C%E6%AE%8B%E3%82%8A%E3%81%BE%E3%81%99.jpg)
3.D制御(Differential Control):微分制御
I制御の限界からさらい改善するためにD制御を利用します。出力が急激に変化したときに変化に抵抗しようとする働きをします。
D値を上げたときの出力変化を示したものが図7です。破線がD値変更前です。
変更前に比べて改善されることが一目瞭然です。
![D値を変更する事で、オーバーシュートとアンダーシュートが改善されます。](https://image.jimcdn.com/app/cms/image/transf/dimension=653x10000:format=jpg/path/sf4944586e5afa2de/image/i02a1d93da874f473/version/1585237612/d%E5%80%A4%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E4%BA%8B%E3%81%A7-%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%81%A8%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%88%E3%81%8C%E6%94%B9%E5%96%84%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99.jpg)
◆PID制御を実際に使うときのまとめです。
・デジタル調節器を使いましょう。
・PIDの設定値を変更する事で制御できます。
・PIDの設定値はそれぞれKp、Ki、Kdと表現されます。
・立上を早くしたい場合はP値を上げましょう。
ただし標準偏差は残る。
オーバーシュートアンダーシュートが大きくなす。
・標準偏差を小さくしたい場合はI値を上げましょう。
ただしオーバーシュート、アンダーシュートは残る。
・オーバーシュート、アンダーシュートを改善したい場合はD値を上げましょう。
次回はフィードフォワードとフィードバックについて解説します。
前回はON・OFF制御について解説しています。
コメントをお書きください