エンジンチューニング関連のHPなどで『学習制御』と言う言葉をよく目にしますが、実際に何を学習制御しているかご存じでしょうか。最新のECUはいろいろな学習制御を
行っていますが、チューニングや日常運転に関係する学習制御には次のような物があります。
・アイドル回転数制御
・点火時期制御
・空燃比フィードバック制御
ここで、それぞれの学習制御がどのように行われているかを見てみます。
・アイドル回転数制御
エンジンを始動すると水温やエンジン負荷、電気負荷の状態(エアコン・ヘッドライト)によって決められた回転数になるように、ECUがISC/V(アイドル
スピード コントロール
バルブ)などを制御します。この制御には一般的に駆動パルスのデューティー比を連続的に変化させて行っています。

この時に、ECUは前回の同じ条件(同じ水温、同じエンジン負荷、同じ電気負荷)のデューティー比を覚えていて、このデューティー比で制御を開始し目標回転数から大きく
ずれたアイドル回転数からスタートしないように制御します。そして、アイドル回転数が目標の回転数になると、そのデューティー比を学習します。

上のグラフのデューティー比と回転数の関係は参考で、実際のデューティー比とエンジン回転数を示すわけではありません。
・点火時期制御
どんなタイミングで点火するとエンジンが効率よく動くかご存じでしょうか。ガソリンに点火して爆発圧力が最大になるのには時間が掛かります。このため、ピストンが上死点に
達する少し前に点火する必要があります。ガソリンの燃焼速度はエンジンの回転数によって変化しないので、エンジンの回転数が早くなればそれに合わせて早く点火する必要が
あります。しかし、早く点火しすぎるとノッキングが発生します。このため、点火時期はノッキングの起こる直前が最良とされ、ECUはエンジンの個体差に合わせてノックセンサー
からの信号で点火時期を進めたり遅らせたりしています。

ECUはこの個体差に合わせた最良の点火時期を記憶してエンジンを始動後すぐに最良点で動かすようになっています。これが点火時期の学習制御です。
実際にはECU内部でエンジン回転数と負荷のマップを持っていて、このマップ内で補正値のデーターを記憶(学習)しています。
また、エンジンが高回転になるとノックセンサーがエンジンの振動とノッキングを判別できなくなるので、設定された回転数以上はノッキング判定を行いません。

最良点を見つけるとそこで学習が終了するのではなく、ガソリンの変動(銘柄など)や吸気温の変動が有るため常に進角とノッキング判定を繰り返し最良点を学習します。
ただし、どこまでも進角し続ける訳ではなくECUで設定されている上限までしか進角しません。また、ノッキングを検出した場合には遅角しますが、実際はエンジン保護のため
1度ずつ遅角するのではなく、数度遅角してから再度進角して最良点を見つけに行きます。
・空燃比フィードバック制御
ECUは排ガス規制に適合させるため酸素センサーからの信号をもとに空燃比を14.7対1になるように調整します。この調整はインジェクターの噴射パルス幅を調整する
ことで行っていますが、点火時期制御と同じようにエンジンの始動時から排ガスの浄化が可能なようにエンジン回転数と負荷のマップに補正値を記憶(学習)して空燃比の
学習に時間が掛からないようにしています。

ただし、これも点火時期制御と同じように学習の巾が決められていて、むき出しのエアークリーナーなどを装着しても学習制御で空燃比が14.7対1になるまで制御する
訳でありません。むしろ、ならない場合の方が方が多いと思います。また、酸素センサーによる空燃比フィードバック制御の制御範囲外ではむき出しエアークリーナーの
装着により空燃比が当初の設定よりも大幅にずれることになりエンジンブローの危険性があります。