PID制御アルゴリズム

PID制御器は、電気システム、自動制御システム、および電子機器などで広く使用される閉ループ制御器です。PID制御器の目標は、出力の制御値を調整し、システムのプロセス変数PV(Process Variable)の測定値と設定値SP(SetPoint)の偏差Error e(t) = (SP – PV)を最小限(~0)に抑えることです。これにより、システムは安定し、迅速な応答が得られます。

PID制御アルゴリズム
PID制御アルゴリズム (イラスト)

PIDは、Proportional Integral Derivativeの略語であり、工業制御システムで広く使用されているフィードバック制御メカニズムです。この制御器は、閉ループ制御系やフィードバック信号を持つシステムで最も一般的に使用されています。

PID制御器は、機器が設計者やユーザーの希望に基づいて設定された値と、実際のプロセス変数との差異である偏差を計算するために使用されます。これにより、制御値の調整を通じて、制御システムは最小の偏差を達成し、より正確に動作し、より効率的になります。

最良の結果を得るには、PID が接続されているシステムの性質に応じて PID のパラメータを調整する必要があります。同一の制御の場合、動作時に PID パラメータが正確で最も効果的になるように、システムの特性を計算する必要があります。

PID 制御器の構造を分析する

PIDはProportional (比例), Integral (積分), Derivative (微分) の頭文字からなる略語です。これは非常に古くから存在していますが、現在でもPIDは自動制御アプリケーションで最も広く使用されている制御アルゴリズムです。PID制御アルゴリズムの本質をより理解するために、直線上の車両の位置制御の例を使用します。DC モーターが取り付けられた車両 (おもちゃなど) があるとします。 エンジンは写真のように車を直線的に前後に押す力を発生させます。

車両を制御するためにエンジンによって生成される力を F とします。 最初に車両は位置 A にあり、そのタスクは、精度 (accurate)、高速 (fastresponse)、安定性 (small overshot) の要件に従って、力 F を (自動的に) 制御して車両を正しい位置 O に押すことです。

当然のことですが、車両の現在位置が目標位置(点O)から大きく離れている場合、つまり偏差(error)が大きい場合、車両を点Oに早く近づけるためには大きな力Fを加える必要があります。このアイデアを形式化する簡単な方法は、線形関係を使用することです。

PID制御アルゴリズム
PID制御アルゴリズム (イラスト)

     F=Kp*e     (1)                                                                                                                      
     ここで、Kp は係数 P (比例ゲイン) と呼ばれる特定の正の定数、e は制御する必要がある偏差、つまり点 O から車両の現在位置までの距離です。 制御の目標は、e をできるだけ早くゼロにすることです。 明らかに、Kp が大きい場合、F も大きくなり、車両はすぐに位置 O に移動します。しかし、力 F が大きすぎると、車両は非常に早く加速します (ニュートンの第 2 法則: F=ma)。 車両が位置 O (つまり e=0) に到達すると、力 F=0  (F=Kp*e =Kp*0 =0 であるため) であっても、慣性により右に移動し続け、偏差 e は再びゼロ以外になります。この偏差値はオーバーショットと呼ばれます。 このとき、偏差 e は負となり、力 F が再び現れますが、車両を点 O に引き戻そうとする逆方向になります。しかし、やはり Kp が大きいため、力 F の値も大きくなり、車を引き戻すことができます。このプロセスが継続し、車両は点 O を中心に振動し続けますが、点Oからどんどん遠ざかって振動する場合があります。このときの制御は不安定であると言われます。

車両のオーバーショットを減らすための 1 つの提案は、制御に「ブレーキ」コンポーネントを使用することです。 車両が点 O から遠いときに制御が大きな力 F を生成し、車両が点 O に近づくと「ブレーキ」コンポーネントが車両の速度を低下させるのが理想的です。 物体がある点の周りで振動するとき、その物体は振動の中心 (点 O) で最高の速度を持つことがわかっています。 つまり、点 O の近くでは、車両の偏差 e が最も速く変化します (最も速く変化する e は最大の ebd ではないことを区別する必要です)。 一方、e の変化率は、この変数の時間に対する導関数によって計算できます。

したがって、車両が A から O に近づくと、偏差 e の導関数の値は増加しますが、力 F とは逆の方向になります (e が急速に減少しているため)。 導関数を「ブレーキ」コンポーネントとして使用すると、車両のオーバーショットを減らすことができます。 この「ブレーキ」コンポーネントは、調査している PID 制御の D (Derivativeの略) コンポーネントです。 この D コンポーネントを既存の P 制御に追加すると、次の PD 制御が得られます。

    F=Kp*e+Kd*(de/dt)   (2)         

                                                                                           
    ここで、(de/dt) は偏差 e の速度、Kd は係数 D (Derivative gain) と呼ばれる非負の定数です。

D の存在により、車両のオーバーショットが減少します。車両が O に近づくと、力 F は 2 つのKp*e > =0 (P) と Kd*(de/dt) <=0 (D) で構成されます。 Dの値が Pより大きく、力 F が方向を変えて車両に「ブレーキ」をかける場合、車両の速度は点 O 付近で急激に減少します。

Dが Pに比べて大きすぎる場合、または P 自体が小さい場合、車両が点 O (実際には 点O にまだ来ない) に近づくと、車両は完全に停止でき、Dは 0 (偏差 e はもう変化しないため)です。力 F = Kp *eでKp、eはともに小さいですが、Fも小さいため、静止摩擦力に勝てない可能性があります。

数十トンのトラックを力で押すと、押す力はあるのにトラックが動かない状況を想像してください。 したがって、偏差 e が 0 に等しくなくても、トラックは永遠に静止したままになります。この状況の偏差 e は、steady state error (定常状態偏差と大まかに訳されます) と呼ばれます。

定常状態偏差を回避するために、偏差を「蓄積する」機能を持つコンポーネントを制御に追加します。Steady state errorが発生すると、2 つのコンポーネント P と D はその効果を失い、新しい制御コンポーネントが時間の経過とともに偏差を「蓄積」し、時間の経過とともに力 F を増加させます。 ある時点で、力 F は静止摩擦を克服して車両を点 O まで前進させるのに十分な大きさになります。この「累積」コンポーネントは、PID 制御の I (積分Integralの略) コンポーネントです。

ある量の時間の経過に伴う積分は、その量の時間の経過に伴う合計であることがわかっているためです。 この時点までの制御は完全に PID となりました。

    F=Kp*e+Kd*(de/dt)+Ki*§edt (3)                                                                                             
    (積分記号の代わりに § 記号を使用します。§edt は t に関する変数 e の積分です)

したがって、PID 制御の各コンポーネントの機能が明確になりました。 目的と制御オブジェクトに応じて、PID 制御は P、PI、または PD 制御に縮小できます。 PID 制御設計者の主な仕事は、制御が良好かつ安定して動作するように係数 Kp、Kd、および Ki を選択することです (この工程は PID ゲイン調整と呼ばれます)。 これは多くの要因に依存するため、簡単な作業ではありません。

PID制御アルゴリズムの応用

現在、PID制御器は、水流制御、ボイラー圧力システム制御、炉制御などの自動化システムで広く使用されています。

IDEA Technology Group Joint Stock Company では、PID 制御アルゴリズムが自動商品仕分け機や自動商品検査機に広く使用されています。

連絡先情報:

  • アイデアテクノロジーコーポレーション 株式会社
  • 住所: High-rise factory, lot 100 Linh Trung 1 Export Processing Zone, Linh Trung Ward, Thu Duc City, HCMC, Vietnam
  • 電話: (+84) 931 477 868
  • メール: info@ideagroupvn.com
  • サイト: https://ideatechmart.com/