これはMoTeC ECUでのPID制御システムの使用に関する入門文書です。 これはHundredシリーズECUに基づいていますが、基本原理はM1シリーズECUにも適用され、M1は動作においてさらに柔軟性があります。
PIDとは?
PIDは比例(Proportional)、積分(Integral)、微分(Derivative)の略で、フィードバック制御システムの一種です。測定値(例えばセンサーからの値)を目標値(セットポイントまたは目標)と比較し、その差(誤差)を減らすために出力を調整します。
コントローラー(我々の場合はECU)は、物理システムを制御するために常に更新される計算を使用します。誤差の現在値、最近の時間間隔にわたる誤差の積分、および誤差信号の現在の微分を見て、どの程度の修正をどのくらいの期間適用するかを決定します。
ドライブバイワイヤシステムの場合、ドライバーのペダル位置が目標値を示し、スロットルボディのスロットルポジションセンサーの角度がフィードバックチャネルとなります。両信号に差がある場合、ECUの出力のデューティサイクルが変更され、フィードバックが目標値に追従するようにします。
システムの応答時間は物理的な構成要素(遅延時間)に大きく依存します。例えば、カム位置は迅速に変化しますが、燃料セルのガス圧ははるかに遅く変化します。ドライブバイワイヤシステムはサーボモーターを使用してスロットルブレードを目標位置に動かしますが、この場合もシステムの応答時間は異なります。
また、ドライバーが異なる位置を要求する速度の変化も考慮できます。実際には、PIDパラメータの調整時に、目標値の急激な(またはステップ)変化に対するシステムの応答をテストすることでこれを考慮できます。
現実の世界では、PIDシステムはセットポイントに完全に追従することは決してありません。代わりに、調整パラメータには「デッドバンド」—コントローラーがシステムをセットポイントにさらに近づけようとしないセットポイント周辺の領域—が含まれています。
出力信号は比例、積分、微分成分の合計です。これらを順に見ていきます。
比例成分
比例成分は比例ゲイン(「P」)に誤差を掛けたものに等しいです。比例パラメータは誤差があると即座に反応し、システムの応答の大部分を制御します。比例成分だけでは誤差をゼロにすることはできません。なぜなら誤差が減少すると比例応答も減少するからです。
比例ゲインが小さすぎると、誤差はわずかにしか減少せず、応答が遅く見えます。比例ゲインが大きすぎるとシステムは不安定になり、ハンティングが発生します。ハンティングとは、セットポイント周辺でシステムが急激に過剰応答と不足応答を繰り返す現象です。
積分成分
積分はよりゆっくり変化する要素で、長期的に誤差を減らすために存在します。誤差がゼロでない限り、積分成分の大きさは増加し続けます。例えば、ブーストやアイドル制御バルブは位置を保持するためにある程度のデューティサイクルを必要とし、誤差値がほぼゼロの場合、PおよびD成分の影響は小さいですが、I成分がバルブの位置を保持します。制御がセットポイントを超えると、誤差の符号が変わり、積分成分に「負の」項が追加され、それを減少させます。
積分ゲインが大きすぎると問題を引き起こすこともあります。「積分風船効果(Integral Windup)」は、誤差が一定の場合に発生し、積分成分が出力を増加し続けて誤差を減らそうとします。誤差を維持する条件が解除されると、システムは目標値を超過し、制御を逆にする必要があります。長期的な誤差がデッドバンド内に収まるように、最低限の積分ゲインを使用してください。
一部のMoTeC PID機能には「積分クランプ」パラメータが含まれており、積分成分の最大許容値を設定して積分風船効果を防止します。
微分成分
微分ゲインはシステム制御に減衰効果をもたらします。これはシステムの応答時間を改善するためにあります。誤差値の変化率に基づいているため、急激な誤差変化に対しては微分成分は大きくなり、緩やかな変化に対しては小さくなります。
再び、システムの応答時間は物理的な構成要素(遅延時間)に大きく依存するため、微分ゲインはそれに応じて設定する必要があります。例えば、微分ゲインが大きすぎると、応答が目標値を超えて「オーバーシュート」し、システムが逆方向に動くことになります。
測定位置に高周波ノイズがある場合、大きな微分ゲインは激しい変動を引き起こします。したがって、微分ゲインの大きさは物理システムのノイズに依存します。フィードバックチャネルにフィルターを使用する場合、システムの応答時間はノイズよりも低い周波数でなければなりません。
微分成分はシステムの初期過渡変化時に作用する傾向があり、応答曲線を「平坦化」し、比例応答によるオーバーシュートを減少させる効果があります。
フィードフォワード
「線形化」とも呼ばれます。あるシステムは常に一定の出力デューティサイクルを必要とします。例えば、DBWスロットルボディのバネによる既知の抵抗がある場合です。フィードフォワードは、ある目標を制御するために必要な出力量に関する知識に基づく予測出力値であり、システム制御の出発点として使用できます。
例えば、フィードフォワードはPDおよびPIDブースト制御機能の平均位置として使用されます。平均位置はバルブが動作を開始するデューティサイクルの出発値を設定します。目標ブーストを達成するためにおおよそ既知のデューティサイクルが必要な場合、これを平均位置として設定すると制御ループが近い出発点を持つことになります。
現実世界の例え
ブレーキのないドライバーが信号で車を止めたいと考えていると想像してください。ドライバーはアクセルペダルを使って車を前進させ、信号に近づきます。車が近づくにつれて、ドライバーはアクセルを踏む量を減らします。スロットルの量は比例ゲインに相当します。ドライバーはタイヤと路面の間の転がり摩擦で車が減速することを頼りにしています。もしドライバーが信号に早く到達しようとすると、より多くのスロットルが使われます。
問題は、ドライバーが転がり摩擦だけを頼りに車を止めようとすると、信号を通り過ぎてしまい、バックに入れて戻る必要があるかもしれないことです。これが何度か繰り返されて車が信号で止まりますが、ドライバーが早く到達しようとすればするほど(システム応答が良いほど)、オーバーシュートとアンダーシュートの問題は悪化します。
今度はドライバーにブレーキシステムがあると考えてみてください。信号に近づく際、スロットル量を減らして車を減速させるだけでなく、ブレーキをかけて速度を落とすことができます。ブレーキはシステムの微分成分に相当します。スロットルとブレーキを使うことで、ドライバーはより簡単に、一般的により速く信号に到達し停止でき、オーバーシュートやアンダーシュートも少なくなります。
次に信号がわずかに上り坂にある場合を考えてみましょう。ドライバーはスロットルとブレーキを使って停止操作を行えますが、停止時に車は後ろに転がり始めます。ドライバーは少しだけスロットルをかける必要があります(ブレーキは速度を減らすためだけで、停止のためではないと仮定)。これがシステムの積分成分に相当します。
同じドライバーでも非常にパワフルな車を持っている場合、信号に到達するために必要なスロットルとブレーキの量は、パワーの低い車の場合とは異なります。明らかに、パワフルな車はより速く目的を達成しますが、より多くのエネルギーが必要であり、そのため機器にかかるストレスも大きくなります。
コメント
0件のコメント
サインインしてコメントを残してください。