12

PIDコントローラーの不可欠な部分を理解していません。ウィキペディアからのこの擬似コードを想定しましょう:

previous_error = 0
integral = 0 
start:
  error = setpoint - measured_value
  integral = integral + error*dt
  derivative = (error - previous_error)/dt
  output = Kp*error + Ki*integral + Kd*derivative
  previous_error = error
  wait(dt)
  goto start

Integral は、最初はゼロに設定されています。そして、ループ内で、時間の経過とともにエラーを統合しています。測定値または設定値に (正の) 変更を加えると、誤差は正になり、積分は時間の経過とともに (最初から) 値を「食い尽くし」ます。しかし、私が理解していないのは、エラーが安定してゼロに戻ると、積分部分にはまだ何らかの値(時間の経過とともに積分されたエラー)があり、コントローラーの出力値に寄与することですが、そうではありません。

誰か説明してくれませんか?

4

6 に答える 6

1

このように見てみましょう: エラー自体がゼロに安定するだけでは十分ではありません。積分がゼロになる必要があります。これは、時間の経過に伴う測定値の平均が設定値と一致することを意味します。

悪い例は、いくつかの Ki、Kp、Kd を使用してゼロから 100% の値に到達しようとすることです。

x = 0、60、80、90、98、99、100、100、100。

x の値は? 平均値は 80.777 です。100にも近くありません。

于 2012-11-24T15:37:30.163 に答える
1

ここでの説明の一部は、積分部分がオーバーシュートすると、比例部分がそれに反対し始めるということだと思います。したがって、2 番目のオーバーシュートは小さくなり、3 番目のオーバーシュートはさらに小さくなります。しかし、上で述べたように、通常、誤差を非ゼロにする何らかのプロセス ノイズが存在し、コントローラが一定の出力に到達することはありませんが、出力の変動は非常に小さいはずです。

于 2014-08-18T08:12:28.197 に答える
1

定常誤差には I 項が必要です。ウィキペディアのグラフの例を見てください。

http://en.wikipedia.org/wiki/File:Change_with_Ki.png

I 項のゲインを変更すると、グラフの変化を確認できます。明らかに、Ki = 2 は、大幅なオーバーシュートの原因となる積分ワインドアップのために高すぎます。Ki = .5 は問題ないように見えますが、できるだけ早く安定した値に到達したい場合は、Ki をもう少し増やす必要があります。Ki = 1 を見てください。少しオーバーシュートしますが、Ki = .5 よりも早く安定に達します。したがって、その種のトレードオフに価値があるかどうかを判断する必要があります。

于 2013-01-30T21:36:21.907 に答える
1

制御するシステムとセンサーの品質に応じて、コントローラーとシステム/プラントの間には常に何らかの障害が発生します。コントローラの積分部分は、このような外乱が発生してもゼロにはなりませんが、代わりにそれを打ち消します! これは、システムの出力が基準と等しくなるまで積分が変化し続けるという事実によって引き起こされます (つまり、積分値は外乱と反対になります)。

たとえば、制御パラメーターを説明しているこのページを参照してください。システムと入力が特定の特性を持っている場合、定常状態のエラーが発生する可能性があります。積分はこれに対抗しようとします。その結果、最終的なエラーは大幅に減少しますが、場合によってはオーバーシュートが大きくなります。

また、センサーの精度/ノイズにより、積分の値の精度に制限が課される可能性があり、ゼロ付近で振動する可能性があります。

于 2012-11-24T17:03:18.233 に答える
0

当然のことながら、PID の定義に疑問を呈する理由があります。これは、積分項に関して、PID 制御の間違いを永続させるからです。間違いは次のように説明できます: 1) エラーがゼロであっても、積分項は出力アクションを引き起こします。2) 積分は、もはや関係のない以前のエラーに基づいています。コントローラーが入力と出力を比較し、負のフィードバックを介してエラーをゼロに駆動する場合、比例制御はエラーを 0 にすることができます。

正しい PID 項: D 項: 定常状態の INPUT に変更 (微分) を追加して、加算ジャンクションで結合します。

I 項: 定常状態の OUTPUT の負の値 (負のフィードバック) に変化 (微分) を加えて、加算ジャンクションで結合します。

統合は、負のフィードバック (の周り) で組み合わせた場合の差別化です。

出力は、非常に高いゲームと負の極性 (反転) でサミング ジャンクションに接続されます。

P 項: 目的の OUTPUT を目的の INPUT で割ったもの、または加算ジャンクションに供給された信号を OUTPUT で割った比率を、加算ジャンクションに供給された信号で割ったもの。

D項、微分により、入力に対する出力応答が高速化されるため、出力はより早く正しい値に近づきます。

積分は、正しい/望ましい値に近づくにつれて、出力応答を遅くします。

于 2016-12-24T19:16:27.267 に答える