PIDコントローラーの説明


9

単純な言葉でPIDコントローラーを説明するテキストが見つかりません。私は理論を知っています。それは微分、比例ゲイン、積分などを計算するということですが、実際には各関数と関数の各組み合わせの出力が何であるかを知る必要があります。

たとえば、プロポーショナルで開始:記録されたエラーに比例する入力を送信します。エラーが5 Vの場合、を実行してエラーを減らしますか?または?またはまたは何ですか?わかりません。1125 V-1155 V155 V

デリバティブに関しては、特定の時間にわたってデリバティブを監視しますか?そして、何をしますか?また、最初にノイズ/妨害があり、PIDコントローラーが比較する通常の使用率の変化を持たない場合はどうなりますか?積分と同じです。優れたリソースを私に指摘したり、説明してもらえますか?

回答:


11

ほとんどの人が毎日使用するPID機能は、車や自転車を操縦するための手と目の協調です。あなたの目は入力であり、ステアリングホイール/ハンドルバーの角度は出力です。セットポイントは通常、レーンの中心です(鹿が飛び出すか、犬が追いかけるまで)。 このタスクを実行するとき、


あなたの心は常に3つの異なる要因を考慮しなければなりません。それが各要素に与える重要性は、PIDの世界では「調整」と呼ばれる過去の経験に基づいています。

比例: 「私は車線の中心から遠く離れているので、その方向に戻ります。」
当然、もっと遠くにいるときは、非常に近くにいるときよりも鋭く曲がりたいです。これにより、レーンの中心にタイムリーに戻ることができます。

派生: 「ホイール/ハンドルバーをその方向に引っ張るだけではなく、修正しすぎて転がってクラッシュする」
あなたは側溝にいるかもしれませんが、運転経験から、急に曲がると物事は非常に速く変化し、設定値をオーバーシュートして対向車線に入るのを防ぐために、曲がる角度を小さくする必要があることがわかります。

インテグラル: 「風が私を道路の端に押し付け続けています。粗い状態を維持するには、風に変え
なければなりません。あなたは、車線の中心にかなり近いですが、あなたが望む場所ではありません。プロポーショナルは、あなたが本当に近くにいるので小さく、デリバティブは、あまり速く変化していないので小さいです。インテグラルとは、「おい、私はそれほどオフではないことを知っているが、かなり長い間オフになっていることを知っている」という言葉であり、設定点を維持できるように、風に変えてみませんか。

PIDは完全ではなく、ステアリング能力は実際には標準のPIDよりもかなり優れています。風が消えたとき(なんらかの理由で)積分項をゼロにし、風が戻るのを待っている間、反対側の交通に迷惑をかけないことを理解するのに十分賢いです。人間はまた、動作中に加速や物理などの他の入力を考慮して自己調整しますが、ほとんどのマシン/コンピューターは現在これを行うことができません。


いい説明ありがとう。つまり、比例補正が理想的ですが、次のような欠点があります。慣性に対応できず、外部ノイズに対応できません。慣性に対処するためにDが必要であり、ノイズに対処するためにIが必要な理由です。これは良い要約ですか?私は何かを逃しますか?
エルゴン

そこにたどり着くまでの時間が長い場合は、プロポーショナルがうまく機能します。減衰させて調整するだけで問題なく動作します。Integralは、近くにいるが完全には到達していないときに、真の設定値に確実に到達するようにします。デリバティブは、設定値にすばやく到達したい場合に最も重要です。プロポーショナルはよりアグレッシブに設定され、デリバティブはオーバーシュートを減らすために使用されます。慣性を相殺するだけでなく、出力(ステアリングホイールの角度)も相殺します。
ericnutsch 2016年

PIDはシステム@ergonを認識していません。それがPIDの美点ですが、最大の欠点でもあります。物事を予測することはできず、反応するだけです。Derivateは、測定方法が原因でノイズが多いことが多いため、実際には少し難しいです。主に大きなP値を相殺します。
joojaa 16

9

直感的には、以下の説明が役立つことがわかりました。

議論のために、私たちのシステムはバケツに水を入れて水を入れます。バケツ内の水深を測定し、蛇口で水の流量を制御します。できるだけ早くバケットを満たしたいが、オーバーフローさせたくない場合。

比例要素は、線形尺度であり、この場合にはバケツの水の高さは、これはバックが与えられた時にどのようにフルの有用な尺度であるが、それは私たちに、それは時間の私達によってその充填されたどのように迅速について何も伝えていません満杯であることに注意してください。タップをオフにするのは遅すぎる可能性があります。または、水をゆっくり充填すると、水が穴より早く漏れて、満杯になることはありません。

紙の上では、この音はそれ自体で十分であるようであり、場合によってはそうですが、システム自体が本質的に不安定である場合(倒立振子や戦闘機のような)、エラーの測定と入力ノイズの影響は、外部ノイズが摂動を誘発する速度に比べて遅いです。

誘導体素子は、水位の変化率です。これは、バケツをできるだけ早く満たしたい場合に特に便利です。たとえば、最初はすぐに満たすためにタップを開き、レベルが上部に近づいたら少し閉じます。もう少し正確で、過剰に埋めることはできません。

積分要素は、水の総体積は、バケットを追加しています。バケツがまっすぐな側面を持っている場合、それは水の流れに比例する速度で満たされるのでそれほど問題ではありませんが、バケツが先細りまたは湾曲した側面を持っている場合、その中の水の量は速度に影響を及ぼし始めます水位が変化します。より一般的には、これは時間の経過とともに蓄積される積分であるため、P要素とD要素が十分に補正されていない場合、たとえばバケットを半分いっぱいに維持するなどして、より大きな応答を適用します。

これを見る別の方法は、積分は時間の経過に伴う累積エラーの測定値であり、制御戦略が目的の結果を達成する上でどれほど効果的であるかを実質的にチェックし、システムが実際に動作する方法に応じて入力を変更できることですある期間にわたって。

要約すると:

P(比例)要素は、制御する変数に比例します(単純なサーモスタットのように)

D(導関数)要素は、その変数の変化率に比例します

(積分)要素はおそらく理解するのが最も難しいですが、Pパラメーターが測定している量に関連しています。これは通常、体積、質量、電荷、エネルギーなどの累積量になります。


素晴らしい答え、私がどこでも見つけた最高の説明。しかし、さらに2つの質問があります。1.パラメータはどのように調整されますか?自動的に、または他の方法で?パラメータが1つだけの場合は、アルゴリズム的に、たとえば、最終的に安定した値に到達するまで、上下に微調整する方法を漠然と見ています。2.ある意味で、環境の性質が変化した場合、この値自体がPIDシステムの必要性につながります。たとえば、バケットまたはタップを変更する場合、パラメーターを最も効率的に調整するにはどうすればよいですか?私はこれがあまり質問しないことを願っています、おそらくそれは別の質問が必要ですか?
CL22、2016年

パラメータのチューニングは、最初にシステムをどのようにモデル化するかにかかっています。これは、周波数に関してシステム応答をモデル化するラプラス変換で数学的に行うことができます。つまり、質量/ばね/ダンパーシステムとして扱います。または、実際のダイヤルとノブを調整するだけの物理的なシステムを持つこともできます。実際には、それは両方のビットになるかもしれません。数学モデルは、現実世界の動作に応じて微調整する妥当な開始点を提供します。
クリスジョンズ

実際のシステムでは@Jodesの多くは、モデリングでは事前に把握できない動作を持っています。
joojaa 16

4

PIDコントローラーは、調整パラメーターを使用して応答を調整します。

PID制御の方程式から:

ここに画像の説明を入力してください

3つのK添え字項は調整パラメーターであり、PIDコントローラー出力の各項ごとに1つ(比例、積分、微分)があります。

したがって、たとえば、誤差が+ 5VでKpが0.3の場合、出力は1.5Vになります。積分項と微分項についても同様です。

実際には、これらのパラメータは実験的に決定されます。チーグラー・ニコルズ(PDF)チューニング方法は、業界で非常に人気にするために使用される単純なヒューリスティック手法です。

最近では、ほとんどの市販のPIDコントローラーとPLC機能にチューニングが組み込まれています。

お役に立てば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.