グレンのコメントを+しなければならなかった。彼は一貫して正しい場所に脳を持っています、私見。PIDで処理するのは、Δtディレイ。ICウェーハFABのランプ加熱温度制御を、何年かの間、何らかの方法で扱ってきました。PIDの概要から始めて、PIDが他の場合ほど有用ではない場合について少し説明します。また、他にも検討できる制御方法のドメインが他にもたくさんあることをお勧めします。
PID制御の正規表現は次のとおりです。
ut=K⋅[et+1Ti∫t0eτdτ+Tddetdt]
コントローラーのパラメーターが比例ゲインの場合 K、積分時間 Ti、および微分時間 Td。
- 比例制御:ここでの制御アクションは、単に制御エラーに比例します。(上記の方程式は、ut=K⋅et+ub、 どこ ubは、コントローラーバイアスまたはリセットです。)静的プロセスモデルの分析では、結果のプロセスに定常状態での残留オフセットまたはコントローラーバイアスがあることが示されています(ただし、システムの制御誤差がゼロになるようにシステムを手動で調整できます)。コントローラーバイアスを適切に選択することにより、1つだけのセットポイント値で設定します。)ゲインを増やすと、測定ノイズ(悪い)にもゲインが提供されるため、ループゲインが高すぎてはならず、「最良の」ループゲインはありません。それは目的に依存します。
- 比例+積分制御:積分動作の主な機能は、プロセス出力が定常状態の設定値と一致することを確認することです。積分動作では、小さな正の誤差は常に増加する制御信号になり、小さな負の誤差は常に減少する制御信号になります。これは、エラーがどんなに小さくても当てはまります。
- PID制御:微分制御を追加すると、閉ループの安定性が向上します。(プロセスの出力で制御の変更が認識されるまでにしばらく時間がかかります。そのため、制御システムは遅れ、そのエラーを修正します。微分項の結果は、一種の予測であり、遅延結果を予測するために使用される、エラー曲線の接線を使用したエラー。
上記の説明は、遅延の問題に関する独自の説明に追加されており、派生語が役立つことを示唆しています。しかし、いつものように、必ずしもそれほど単純なものはありません。
プロセスのダイナミクスが1次の場合、比例積分制御で十分です。これは、ステップ応答を測定することで簡単にわかります。(ナイキスト曲線が第1象限と第4象限にある場合)。1次でなくても、プロセスが厳密な制御を必要としない場合にも適用できます。
PID制御は、支配的なダイナミクスが2次であるプロセスに十分です。多くの場合、温度制御がここに当てはまります。したがって、これもまた、状況にデリバティブコントロールを追加することを主張するものです。
しかしながら。上記のすべては、いくつかの点を改善するために他のすべての可能なことを行った後にのみ検討する必要があります。
- 合理的に適用できる最も速い応答温度センサー(小さな質量、高温測定など)を使用し、制御したいプロセスへの応答遅延が可能な限り少ない状況(近い、遠くない)に適用します。
- 測定およびプロセス制御の実行における遅延変動を低減します。
この最後の点について少し詳しく説明したいと思います。あなたがどこかに立っているような、プロセスコントロールを想像してみてください。細くて非常に柔軟でぐらついた竹の棒を、あなたの上の木に座っている遠くの鳥小屋の穴に突き刺そうとしています。あなたが近くにいて、竹の棒が短いなら、それは簡単です。いつでもすばやく簡単に行うことができます。しかし、竹の棒が長く、鳥小屋があなたから遠く離れている場合、それを行うのは非常に困難です。ポールはさまよい続け、予測と制御を非常に困難にします。
(まだ明確でない場合は、竹の棒の長さはループ遅延時間のようになります。)
したがって、遅延はおそらく制御システムの最悪の悪夢です。より多くの遅延は非常に悪いです。したがって、この遅延を減らすために、あなたが自分の力ですべてを行うことが非常に重要です。しかし、もう1つ重要な点があります。
同じ状況を想像してみてください。しかし、今では竹の棒も長さを変え続けています。時々それはより短く、時にはより長く、そしてあなたの側での予測なしに絶えず変化します。今、あなたは自分のスタンスを変え続ける必要があり、遅延がいつ変わるかわからない。これは、ご使用のソフトウェアが非常に慎重に制御せず、こぶしでADC値を処理してDAC制御出力を生成する際の時間遅延である状況です。
したがって、遅延はPID制御システムにとって十分に悪いものです。可変遅延はさらに悪化します。そのため、ソフトウェアの設計には細心の注意を払う必要があります-非常に厳密な注意-IFステートメントや条件付き計算コード、またはタイマーのずさんな使用などがないようにしてください。サンプル出力と制御出力の間の遅延。
派生コントロールが必要かどうかについて心配する前に、上記を管理に入れる必要があります。まず最初に。あなたの行動を片付けなさい。次に、システムを調べて、残っていることを判断します(たとえば、PIとPIDを使用します)。
私は非常に正確な高温計システムを使用してPID制御システムに取り組んでいました(顧客にとっても非常に高価です)。私たちの高温計を扱っているカナダの研究者から電話を受けましたが、非常に大規模な商業会社(研究者は、彼が融液から引いていたヒ化ガリウムのブールの側面をさざ波で苦しんでいました。そして、適切なPID制御変数を理解するために私の助けが必要でした。(ブール引きでは、非常に均一な直径が必要です。)
彼が使用していたコントローラーは、標準的な基準ではかなり良かった。しかし、それは遅延を追加しました-そして、それらの中のソフトウェアは全体の制御ループに導入した遅延を厳密に制御しなかったので、それらの遅延も変化しました。
だから私が最初に彼に言ったのは、私がパイロメーターのソフトウェアにPID制御を追加し、彼が使用していたシステムから外部コントローラーをプルするだけでよいということです。私はそのソフトウェアを1週間もかからずに追加し、修正したパイロシステムを彼に出荷しました。私はPIDソフトウェアを使って空想的なことをしませんでした。ただし、ADCからDACへのばらつきを数マイクロ秒未満に抑え、全体の遅延も約100マイクロ秒に引き締めました。それを彼に送った。
来週月曜日に電話がありました。ブールはほとんど完全に引き出されており、波紋はまったくありませんでした。
遅延を削減し、それらの遅延のばらつきを削減するのと同じくらい簡単でした。PIDコントロールに関して特別なことはまったくありません。これは、誰もが1つについて初めて学ぶことになる、単純なバニラ実装でした。
これは、遅延と遅延変動性を排除することの重要性を示しています。確かに、微分制御はある種の「割線/接線」予測のアイデアを提供できます。しかし、遅延を減らし、変動性を最小限に抑えることに勝るものはありません。
竹の棒と鳥小屋の穴の問題について考え続けるだけです。
結論?
支配的な時間遅延があるシステムの制御は悪名高いほど困難です。私はあなたにいくつかの理由を提案しましたかもしれないが微分項は時間遅延に役立つと信じています。しかし、時間の遅れが支配的なプロセスでは、微分アクションはあまり役に立たないという一般的な合意があります。これが、私が簡単に取り除くことができるすべての遅延(たとえば、外部PIDボックスなど)を排除することでその研究者を助けることをすぐに提案した理由です。私の製品の実装が商用製品より優れているとは思いませんでした。実際、自分の実装が十分に吟味されていないことはわかっていました。熟練者、私はそれを一から書いて、それをテストしてインストールし、今までになかった新しく追加されたソフトウェアを備えたユニットを出荷し、一週間ですべてをしなければなりませんでした。しかし、この遅延が、この研究者が望んだ結果を得る上でのすべての可能性を殺していることも知っていました。だから私はすぐに、最善のアプローチは遅延を絞り出すことであり、天才しか従えない「見事に」実装された魔法のPIDコードを発明しないことだとすぐにわかりました。それはすべて遅延についてであり、それらの遅延が何よりもまずどのように変化するかについてです。残りはすべてずっと低い優先順位です。
「むだ時間補償器」と呼ばれるものがあります。しかし、最終的な分析では、遅延を引き出し、それらの遅延の変動性を引き出すためにできる限りのことを行う必要があります。そして、そこでできることをすべて行った後でも問題が解決しない場合は、PIDで許可されているよりも高度な制御が必要になる可能性があります。ここでは、おそらく、フーリエ変換(および逆変換を使用してステップ応答を分析し、システム応答の記述を作成する)に到達します。PIDを使用してこれらを変更することはできません。実際、応答関数を十分にモデル化できれば、ほとんど奇跡的な結果になります。
しかし、あなたの場合、私は遅延とその変動性を排除することに焦点を当てます。可能であれば、単純化したオン/オフランプ制御の使用も避けることを検討する必要があると思います。ランプの強度をコントロールできたらいいですね。しかし、あなたがそれを検討できるかどうかはわかりません。