Motec M100系のアイドリング制御調整 謎のインテグラルゲイン
Motec M100系のアイドリング制御調整 謎のインテグラルゲイン
永遠の課題(笑)になっているMotecM100系によるアイドリング制御。いつまで経ってもなかなか納得いく結果が得られない状態のままです。
よくよく考えてみるとスーパーチャージャー装備した直後にアイドリングバルブ制御をMotecで行っているので、ECUマネージャー2.xの頃からだから14年の歳月が経過していますね。(笑)
結論から言うと車のECU設定は季節に合わせたオールマイティな設定を行うのはかなり大変で、多少気に入らない動作があるものの走る事が出来れば取り合えずOKみたいな感じなので、時折追及して気に入らない部分を何とかしようという事で時々思い返したように新しい設定方法を考えてみたりしています。
まあ、暇な時間の発作のようなものでしょうか(笑)
で、表題の通りなんですが前々からどうも納得がいかないMotecのアイドリング制御のインテグラルゲイン。アイドリング制御方法(ドライブバイワイヤー、ステッピングモーター、アイドリングバルブ)にもよるのかもしれなかったり様々な要素があるとは思いますが、インテグラルゲイン(Iパラメーター)はなかなか癖があるというのは誰もが思っている正直なところかな?
Iパラメーターを大きくするとアイドリング制御中からいきなり効いてしまい、回転が落ちている最中にIパラメーターが効いてしまって、アイドリング回転数よりかなり下がってしまいエンストしたり、しそうになったり。
多分、同じ思いをしている人が多いんじゃないかな?
Motecのアイドリング制御は「弱い」なんて世間で言われているようですが、バージョン2.xの頃は自由が利かなかったので確かに強いとは言えなかったかもしれないけどバージョン3.xのECUマネージャーになってからは、それなりにいじれるようにはなったのでマシになったと思います。
あまり他のECUを知らないので正直なんとも言えませんが、多くの人はIパラメーターを大きくするとアイドリング回転数を下回ってしまうため、Iパラメーターを小さくして目標回転数になるのに時間がかかるなんて感じにしている人が多いと思います。
で、結論から言うとIntegral Gainの値は上記の値に設定。0.2という数字ですが、この値に設定する前は0.008だったので単純計算で25倍レスポンスを上げたことになるのかな?
このパラメーター0.2のままだとエンジンの回転数が落ちていきアイドリング制御が開始される1600回転(上記の設定)からIパラメーターが効いてしまうので、アイドリングの目標回転数(850回転にしています。)を通り越して600回転とかまで落ちて、勢い余ってエンストギリギリだったり、運が悪いとエンストしたりといった感じの値。
余談ですが、上記のアイドリング設定の内容はアクティブグランドスピードを設定できる最大値である100km/hに設定して、ほぼいつもアクセルオフで1600回転以下ではアイドリング制御がかかるようにしてあります。アクティブグランドスピードをゼロに設定するとスピード判定はオフにはできず、それはトラクションコントロールを有効にしてグランドスピードがMotecが読み取れるようにするとスピードがゼロになってからアイドリング制御が開始されるようになってしまうので、マニュアル車の場合は基本的にアクセルオフでアイドリング開始回転数以下になったらいつでもアイドリング制御にした方が色々と自然な感じになるかと思います。ちなみにトラクションコントロールの設定を切ってしまうとグランドスピードがゼロのままになってしまいログに記録されないので、それはそれでNGかなっと。
話がそれましたが、Iパラメーターを大きくするとエンストしそうになるのをどうやって制御するか?についてですが、意外と簡単で、
Idle Min/Max integration limitの制御の横軸を回転数にして、目標回転数より少し上では、大きめの値に設定してアイドリング制御が開始された直後はIパラメーターの影響が殆どないように1.0、-1.0などに設定してあげるとかなり目標のアイドリング回転数にジャストに合わせてくれるようになりました。
数値はあくまでも自分の車というかアイドリングバルブ用なので他車ではまったく異なる値になるかもしれませんが、設定方法のコツは以下にまとめてみます。
- Iパラメターゼロで大体アイドリング回転数域に収まるように調整する。この際、Dead-Bandはゼロにしておく方がよい。(後から任意でアイドリング有効回転幅を指定してください。ゼロでもかまいません。)
- Idle Min/Max integration limitはヘルプマニュアルにある通り+10/-10に設定する。その際、横軸はRPM指定して、目標回転数、アイドリング制御開始回転数に合わせて回転数設定をおおざっぱに行う。(自分の場合、アイドリング回転数は850回転にしているので900回転、アイドリング制御開始は1600回転なのでIパラメーターによる制御は1200回転から少しかかるように、0,900,1200,6500に設定しました。)
- Iパラメターの数値を上げて、空ぶかしなどをすると目標のアイドリング回転数を下回る感じで何とかエンストしないぐらいの値まで上げる。(これは結構繰り返しテストしてみる必要があります。)
- Idle Min/Max integration limitへ横軸設定したIパラメターの制御がアイドリングより高い回転数の時に無効になるように1.0/-1.0、0.5/-0.5とゼロでない値に設定する。
上記のような感じで繰り返し調整していき、アクセルを空ぶかししても指定したアイドリング回転数でぴたりと制御されるようになりました。
またこれまでIパラメーターの数値を抑えていたためAIM RPMの目的回転数をその場で変更してもなかなか目標の回転数にはなりませんでしたが、Iパラメターが大きいのとIdle Min/Max integration limitの値が反映された、ほぼすぐにピタリと目的の回転数に合うよになりました。自分の車での実験では900回転、800回転にはほぼ納得いく感じで回転数が合うようになりました。
あ、もちろん目標の回転数付近の点火タイミングはなるべくフラット(極端に変わらない値)にして回転が突飛に上がらないようにしておく必要があります。
上記は先の設定内容で空ぶかしして目標のアイドリング回転数850回転に収まる様子です。
Motecの制御の多くはPID制御になっていて、これまで何度も繰り返してきたアイドリング制御のPIDで一番の曲者だったIパラメーターも一応かなり思う通りに制御出来るよになりました。
どうしてIパラメーターの調整に関して今更手を出したかというと、Iパラメーターの値を抑えた状態だと、高速道路を走行後アイドリング回転数を上回る回転数(850回転設定の場合、900~950回転)になったり、DME側で制御されているチャコールキャニスターベントバルブが開いてガスがいきなり濃くなる(チャコールキャニスターに沁み込んでいるガソリンタンク内部で気化したガソリン量によって濃さが異なる)と850回転で安定したいた回転数が700回転ぐらいまで落ちてなかなか目標の回転数まで上がらなくなったりするケースが頻繁にありました。
本来アイドリング制御が正常に行われれば目標の回転数にピタリと合わせるはずですが、エンストはしないもののなかなか目標の回転数より大幅にずれたままの状態になったりしていました。(しばらく走行すると何事もなかったように安定する)アイドリング回転数の制御をしっかりと出来ないのはIパラメーターに原因があると思い今回の方法を思いついた次第です。
今回の設定で夏場のエアコンコンプレッサーによる負荷がかかっても安定するかと思います。(Idle Min/Max integration limitの調整は必要かもしれませんが...。)
その他
以下、色々気が付いた点を列挙してみます。
- Iパラメーターを従来通り小さな値(自分の場合は0.03~0.008ぐらい)にしたときIdle Min/Max integration limitの値をそれぞれの最大値(200.0、-200.0)に設定しても、ディフォルトの値(10.0、-10.0)に設定しても、自分のアイドリングバルブの場合は動作に差があまりありませんでした。Motec内部で、Iパラメター×Idle Min/Max integration limit値みたいな計算になっているんだと思います。Iパラメーターが小さすぎるとIdle Min/Max integration limitの値はほとんど効かなくなるような気がします。
- Iパラメーターを大きな値(例えば1.0とか)にしてIdle Min/Max integration limitの値をゼロにしたときは、IパラメーターをゼロにしてIdle Min/Max integration limitの値をディフォルトの値(10.0、-10.0)に設定したときと同じような動作をしました。Idle Min/Max integration limitの値をゼロからMaxはプラス方向、MINはマイナス方向に少しづつ増やしていくとIパラメーターとIdle Min/Max integration limitの数値の関係性、数値の設定のコツがわかるかと思います。
参考にする人がいるかどうかわかりませんが、以上、「Motec M100系のアイドリング制御調整 謎のインテグラルゲイン」でした。