ECUに記述されたプログラムだけではない

 

ECUのプログラム容量は、日を増すごとに巨大化している。

昔は1面だけだった部分のマップも複数面用意されて、状況によって切り替えが行われる。

たとえばDITの場合、アイドルマップだけでも8面。これに間違った数値を入れると車が動かなくなる。それだけ各マップ・各コンピュータ間の協調制御が緻密に行われていると言える。

 

昔は512Mだったロムも、1Mになり、1.5M、今は2Mが主流で、4Mになるのも時間の問題だろう。

しかしよく考えていただきたい。

可変バルブやタンブル流制御など、あれだけの複雑で緻密な制御の根幹が、たったの2Mである。
「実際はこの2Mの指令だけで動いてるはずがない!」というのが、普通の感想ではないだろうか。

 

ECUは学習し、都度補正値を生成して実行させる。

人の脳と同じだ。

経験したことは覚える。

ああ、こういう時はこうすれば効率がいいな、と。

 

学習領域を狭めて、つねに同じ数値で動くようにピンポイントで設定、一台一台の車の仕様に合わせたチューニングをすることも可能だが、世の車は千差万別の仕様があり、あらゆる環境で使用されるため、我々は学習を最大限利用することを是とする。

 

サーキットやレース専用車であれば、走るステージや負荷も想定範囲でその都度セッティング可能かもしれないが、公道を走るロードカーであれば、あらゆる状況を想定せねばならない。そこで学習がクローズアップされてくる。

これにより、燃焼はあらゆる局面で正常化され、むやみに濃く噴く必要もなくなる。

 

端的に言えば、ECUに記述されているプログラムに指令を出す根幹部分がある。ここからの指令で学習方向を教えてやればいい。

学生に『回答』ではなく『勉強の方法』を教えてやるのと同じだ。

現代のECUの頭脳は東大生かそれ以上とすると、いわゆるサブコンなどは幼稚園児程度と思っていただいていい。

この賢い頭脳をフルに活用せずして、ECUを攻略したとは言えないのではないか。

 

もちろん、学習失敗=誤学習という可能性もある。

人間だって勘違いすることがあるのと同じ。

心配は無い。黒煙が出るなどの状況が起こった場合は、燃調の学習が間違っている可能性が高い。

ECUのヒューズを抜いて学習をリセット、再度学習させてやればいい。

学習のコツとしては、最初に高回転をよく使ってあげることだ。

普段あまりつかわない高回転域を意図的に連続使用し最初に覚えさせてあげれば、あとは普段乗りでいろんな状況に出会って学んでゆくだろう。

再学習はパーツ変更した際にも有効だ。

吸排気パーツの交換をした時は、再学習をお勧めする。

また、すべての値は車両各部に配されたセンサーからの数値を参照して計算されるので、センサーの汚れや破損にも要注意だ。これはノーマル車にも言える。

ありがちな事例では「二次エア」の混入というのもある。吸気パーツが正常に取り付けられていないために、正規の経路以外から余計な空気を吸っている場合だ。これはほとんどの場合エアフロセンサー以降で吸入されるため、エアフロの値とスロットルに入る空気量が変わってくる。アフターパーツを取り付けた時は要確認だ。

 

このように、現代のECUプログラムは、考えながら走る頭脳である。

マップに書かれたことは基準値として参考にされるが、そのとおり必ず実行されるものではない。

とはいえ、マップの記述も非常に重要なので、弊社でも効率良い燃調、力の出るバルタイ、点火時期の進角など、ひととおりのチューニングは行なっているが、問題はそれを元に「車がどういう方向で考えるか?」である。

 


COBBやNASIOCなんかからチューニングガイドがダウンロードできるが学習については点火時期ぐらいしか触れられていないので整理してみる。

1.点火時期
Total Timing = Base Timing + (IAM * Timing Advance) + correction + compensations

学習というとIAM(Current value of the ignition advanced multiplier stored in ram)とcorrection

(Fine Learning Knock CorrectionとFeedback Knock Correctionぐらい、Feedback Knock Correctionをみているプライベーターやチューナーは皆無だと思う)が、学習といわれている。
この部分に関しては通常のスバル車であれば一回学習してしまえばまあほとんど変わることがなく、学習時間も急速に学習させる方法を使えば1、2分で学習してしまう。
(例外は86/BRZやDITでちょっと違った学習のさせ方をしている。)
本当に重要な学習というのはcorrectionの一部とcompensationsでここがきちんと学習されるかどうかでエンジンの性能が大きく変わってくる。スバルの公式見解だとECUのリセットから160kmほどで学習されるというが、実際のところは160kmで値が落ち着くだけであって、常にフィードバックがかかっていて、微修正を行っている。

2.空燃比学習
O2センサーとλセンサーからのフィードバック、エアフロセンサー、クランクセンサー、スロットルポジションセンサー、アクセルポジションセンサー等々、複雑に絡みあった学習になっている。サンプリングレートは1/100から1/10程度であるが、何km走れば学習値が安定するとか公になっていないし、かなり個体差が大きいことが知られている。
純正でワイドバンドλセンサーをつけて全域で学習している車両はR35ぐらい(今はもう少し増えていると思うが)、学習領域を外れると学習値から外想した値を使って制御をかける。

3.他のコンピューターとの連係
車には数百個からのコンピューターが付いていてお互いに通信し合っている。ECUだけでなくTCUや統合コンピューター等々と整合を取り合っている。この整合が取れるまでも学習といっていいと思う。

4.学習に対する補正
インジェクターの劣化やスパークプラグの劣化、各種センサーの劣化についても監視できるものは監視していて、常に学習してフィードバックをかけている。当然ECUのリセットや書き換えで消えてしまうので再学習するまでに時間がかかる。これが2.の時間を決定しているのではないかと推測している。

どうも、車に関していうとリアルタイムOSで動いているという概念がアフター業界的に無いように思われる。外乱にさらされることの少ない大規模なプラント(石油精製や発電プラントなど)でさえ外乱に対して、蓄積された学習値を使い同一出力が得られるようにフィードバックがかけられているのに、常に外乱にさらされている車にはなぜその考え方が根付かないのか。車のこそリアルタイムOSであり、学習や補正が重要なのだ。