以下、本発明の実施形態を図面に基づいて説明する。
まず、本発明を適用する内燃機関(以下、エンジンともいう)について説明する。
−エンジン−
図1及び図2は本発明を適用するエンジンの概略構成を示す図である。なお、図2にはエンジンの1気筒の構成のみを示している。
この例のエンジン1は、車両に搭載されるポート噴射式4気筒エンジンであって、その各気筒#1,#2,#3,#4を構成するシリンダブロック1a内には上下方向に往復動するピストン1cが設けられている。ピストン1cはコネクティングロッド16を介してクランクシャフト15に連結されており、ピストン1cの往復運動がコネクティングロッド16によってクランクシャフト15の回転へと変換される。
クランクシャフト15にはシグナルロータ17が取り付けられている。シグナルロータ17の外周面には複数の歯(突起)17aが等角度(この例では、例えば10°CA(クランク過度))ごとに設けられている。また、シグナルロータ17は、歯17aの2枚分が欠落した欠歯部17bを有している。
シグナルロータ17の側方近傍には、クランク角を検出するクランクポジションセンサ31が配置されている。クランクポジションセンサ31は、例えば電磁ピックアップであって、クランクシャフト15が回転する際にシグナルロータ17の歯17aに対応するパルス状の信号(電圧パルス)を発生する。このクランクポジションセンサ31の出力信号からエンジン回転数NEを算出することができる。
エンジン1のシリンダブロック1aにはエンジン冷却水の水温を検出する水温センサ32が配置されている。また、シリンダブロック1aの上端にはシリンダヘッド1bが設けられており、このシリンダヘッド1bとピストン1cとの間に燃焼室1dが形成されている。エンジン1の燃焼室1dには点火プラグ3が配置されている。点火プラグ3の点火タイミングはイグナイタ4によって調整される。イグナイタ4はECU(Electronic Control Unit)200によって制御される。
エンジン1のシリンダブロック1aの下部には、潤滑油(エンジンオイル)を貯留するオイルパン18が設けられている。オイルパン18に貯留された潤滑油は、エンジン1の運転時に、異物を除去するオイルストレーナを介してオイルポンプ(図示せず)によって汲み上げられて、ピストン1c、クランクシャフト15、コネクティングロッド16などエンジン各部に供給され、その各部の潤滑・冷却等に使用される。そして、このようにして供給された潤滑油は、エンジン各部の潤滑・冷却等のために使用された後、オイルパン18に戻され、再びオイルポンプ19によって汲み上げられるまでオイルパン18内に貯留される。
エンジン1の燃焼室1dには吸気通路11と排気通路12とが接続されている。吸気通路11の一部は吸気ポート11a及び吸気マニホールド11bによって形成されている。吸気通路11にはサージタンク11cが設けられている。また、排気通路12の一部は排気ポート12a及び排気マニホールド12bによって形成されている。
エンジン1の吸気通路11には、吸気を濾過するエアクリーナ7、熱線式のエアフロメータ33、吸気温センサ34(エアフロメータ33に内蔵)、エンジン1の吸入空気量を調整するためのスロットルバルブ5などが配置されている。スロットルバルブ5は、サージタンク11cの上流側(吸気流れの上流側)に設けられており、スロットルモータ6によって駆動される。スロットルバルブ5の開度はスロットル開度センサ35によって検出される。スロットルバルブ5のスロットル開度はECU200によって駆動制御される。
エンジン1の排気通路12には三元触媒8が配置されている。三元触媒8においては、燃焼室1dから排気通路12に排気された排気ガス中のCO、HCの酸化及びNOxの還元が行われ、それらを無害なCO2、H2O、N2とすることで排気ガスの浄化が図られている。
三元触媒8の上流側(排気流れの上流側)の排気通路12にフロント空燃比センサ37が配置されている。フロント空燃比センサ37は、空燃比に対してリニアな特性を示すセンサである。また、三元触媒8の下流側の排気通路12にはリアO2センサ38が配置されている。リアO2センサ38は、排気ガス中の酸素濃度に応じて起電力を発生するものであり、理論空燃比に相当する電圧(比較電圧)よりも出力が高いときはリッチと判定し、逆に比較電圧よりも出力が低いときはリーンと判定する。これらフロント空燃比センサ37及びリアO2センサ38の出力信号は空燃比フィードバック制御(例えば、特開2010−007561号公報に記載の技術参照)に用いられる。
吸気通路11と燃焼室1dとの間に吸気弁13が設けられており、この吸気弁13を開閉駆動することにより、吸気通路11と燃焼室1dとが連通または遮断される。また、排気通路12と燃焼室1dとの間に排気弁14が設けられており、この排気弁14を開閉駆動することにより、排気通路12と燃焼室1dとが連通または遮断される。これら吸気弁13及び排気弁14の開閉駆動は、クランクシャフト15の回転がタイミングチェーン等を介して伝達される吸気カムシャフト21及び排気カムシャフト22の各回転によって行われる。
吸気カムシャフト21の近傍には、特定の気筒(例えば第1気筒#1)のピストン1cが圧縮上死点(TDC)に達したときにパルス状の信号を発生するカムポジションセンサ39が設けられている。カムポジションセンサ39は、例えば電磁ピックアップであって、吸気カムシャフト21に一体的に設けられたロータ外周面の1個の歯(図示せず)に対向するように配置されており、その吸気カムシャフト21が回転する際にパルス状の信号(電圧パルス)を出力する。なお、吸気カムシャフト21(及び排気カムシャフト22)は、クランクシャフト15の1/2の回転速度で回転するので、クランクシャフト15が2回転(720°回転)するごとにカムポジションセンサ39が1つのパルス状の信号を発生する。
そして、吸気通路11の吸気ポート11aには、燃料を噴射可能なインジェクタ(燃料噴射弁)2が配置されている。インジェクタ2は各気筒#1〜#4毎に設けられている。これらインジェクタ2・・2は共通のデリバリパイプ101に接続されている。デリバリパイプ101には、後述する燃料供給系100の燃料タンク104に貯溜の燃料が供給され、これによって、インジェクタ2から吸気ポート11a内に燃料が噴射される。この噴射燃料は吸入空気と混合されて混合気となってエンジン1の燃焼室1dに導入される。燃焼室1dに導入された混合気(燃料+空気)は点火プラグ3にて点火されて燃焼・爆発する。このときに生じた高温高圧の燃焼ガスによりピストン1cが往復動され、クランクシャフト15が回転されてエンジン1の駆動力(出力トルク)が得られる。燃焼ガスは、排気バルブ14の開弁にともない排気通路12に排出される。なお、エンジン1は、第1気筒#1→第3気筒#3→第4気筒#4→第2気筒#2の順で燃焼・爆発する。以上のエンジン1の運転状態はECU200によって制御される。
一方、燃料供給系100は、各気筒#1〜#4のインジェクタ2・・2に共通に接続されたデリバリパイプ101、このデリバリパイプ101に接続された燃料供給管102、燃料ポンプ(例えば電動ポンプ)103、及び、燃料タンク104などを備えており、燃料ポンプ103を駆動することにより、燃料タンク104内に貯留の燃料を、燃料供給管102を介してデリバリパイプ101に供給することができる。そして、このような構成の燃料供給系100によって各気筒#1〜#4のインジェクタ2に燃料が供給される。
以上の構成の燃料供給系100において、燃料ポンプ103の駆動はECU200によって制御される。
−ECU−
ECU200は、図3に示すように、CPU201、ROM202、RAM203及びバックアップRAM204などを備えている。
ROM202は、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。CPU201は、ROM202に記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、RAM203は、CPU201での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップRAM204は、例えばエンジン1の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
以上のCPU201、ROM202、RAM203及びバックアップRAM204は、バス207を介して互いに接続されるとともに、入力インターフェース205及び出力インターフェース206と接続されている。
入力インターフェース205には、クランクポジションセンサ31、水温センサ32、エアフロメータ33、吸気温センサ34、スロットル開度センサ35、アクセルペダルの踏み込み量に応じた検出信号を出力するアクセル開度センサ36、フロント空燃比センサ37、リアO2センサ38、及び、カムポジションセンサ39などの各種センサ類が接続されている。また、入力インターフェース205にはイグニッションスイッチ40が接続されており、イグニッションスイッチ40がオン操作されると、スタータモータ(図示せず)によるエンジン1のクランキングが開始される。
出力インターフェース206には、インジェクタ2、点火プラグ3のイグナイタ4、スロットルバルブ5のスロットルモータ6、及び、燃料供給系100の燃料ポンプ103などが接続されている。
そして、ECU200は、上記した各種センサの検出信号に基づいて、インジェクタ2の駆動制御(燃料噴射量調整制御)、点火プラグ3の点火時期制御、スロットルバルブ5のスロットルモータ6の駆動制御(吸入空気量制御)、空燃比フィードバック制御などを含むエンジン1の各種制御を実行する。さらに、ECU200は、下記の「気筒判別処理」、「燃焼悪化気筒特定処理」、及び、「燃料噴射量補正制御」を実行する。
以上のECU200により実行されるプログラムによって、本発明の多気筒内燃機関の制御装置が実現される。
−気筒判別処理−
ECU200が実行する気筒判別処理について説明する。
まず、この例に適用するクランク角の検出に用いるシグナルロータ17には、図2に示すように、各歯17aが例えば10°CA毎に形成されており、2枚が欠落した34枚の歯17aを有している。このシグナルロータ17の欠歯部17bがクランクポジションセンサ(電磁ピックアップ)31の近傍を通過する際には、電圧パルスの発生間隔が長くなる。こうしたシグナルロータ17の欠歯部17bに対応した信号(欠歯信号)の出力によって、クランクシャフト15の回転位相(クランク位置)を検出することができ、各気筒が上死点に位置する時期を認識することができる。このようなシグナルロータ17の欠歯部17bに対応したクランクポジションセンサ31の出力信号(欠歯信号)は、気筒判別の上死点位置を判別するための信号すなわち「上死点位置判別信号」となっている。
ここで、4サイクル機関(4気筒エンジン)では、ピストンの昇降に応じて回転するクランクシャフトの2回転(720°CA)が機関サイクルの1周期となっており、各気筒は機関サイクルの1周期毎に2度ずつ上死点に位置する。そのため、上記のようなクランクポジションセンサ31の出力信号(欠歯信号)だけでは、2度のうちのいずれの上死点にあるのかを判別することはできない。つまり気筒判別を行うことはできない。そこで、この例では、クランクポジションセンサ31の出力信号(欠歯信号)に、カムポジションセンサ39の出力信号(電圧パルス)を組み合わせることで気筒判別を可能としている。その気筒判別について以下に説明する。
まず、クランクポジションセンサ31は、上記したように、クランクシャフト15が1回転(360°CA)する間に1回(機関サイクルの1周期に2回)、上記欠歯信号を出力する。この例では、第1気筒#1及び第4気筒#4の上死点前の所定クランク角でクランクポジションセンサ31が欠歯信号を出力する構成となっている。
また、カムポジションセンサ39は、上記したように、クランクシャフト15が2回転する間に1回(機関サイクルの1周期に1回)、電圧パルスを出力する。この例では、第1気筒#1が圧縮上死点に位置し、第4気筒#4が排気上死点に位置したときにカムポジションセンサ39が電圧パルスを出力する構成となっている。
このような構成により、クランクポジションセンサ31が欠歯信号を出力したときに、カムポジションセンサ39が電圧パルスを発生すれば、第1気筒#1が圧縮上死点に位置し、第4気筒#4が排気上死点に位置することになる。また、クランクポジションセンサ31が欠歯信号を出力したときに、カムポジションセンサ39が電圧パルスを発生しないときには、第1気筒#1が排気上死点に位置し、第4気筒#4が圧縮上死点に位置することになる。このようにカムポジションセンサ39が発生する電圧パルスは、気筒判別を行うための信号すなわち「気筒判別信号」となっている。
このように、クランクポジションセンサ31の欠歯信号(上死点位置判別信号の最初の検出)と、その検出に対応したカムポジションセンサ39の気筒判別信号(電圧パルス)の発生の有無とに基づいて、遅くともクランクシャフト15が1回転する間において気筒判別(クランク角確定)を行うことができる。そして、そのような気筒判別により、機関始動時・始動後の運転時等において、各気筒#1〜#4のピストン位置(吸入行程・圧縮行程・爆発行程・排気行程)を認識することができ、精密な燃料噴射制御や点火時期制御などのエンジン運転制御を行うことができる。
なお、以上の処理では、クランクポジションセンサ31及びカムポジションセンサ39の出力信号から気筒判別(クランク角確定)及び各気筒#1〜#4のピストン位置の認識等を行っているが、他の公知の手段によって気筒判別(クランク角確定)及び各気筒#1〜#4のピストン位置の認識等を行うようにしてもよい。
−燃焼悪化気筒特定処理−
次に、ECU200が実行する燃焼悪化気筒特定処理について説明する。
まず、4つの気筒#1〜#4のうち、ある1つの気筒(例えば第1気筒#1)のみに燃焼悪化(リーン燃焼悪化)が発生した場合、その気筒の爆発行程におけるエンジン回転速度が次第に低下していくので、この燃焼悪化が生じた気筒(第1気筒#1)の爆発行程中においてクランクシャフト15が一定クランク角度を回転するのに要する時間が、他の気筒(第2気筒#2〜第4気筒#4)の爆発行程時におけるその時間よりも長くなる。したがって、これらの時間を計測して比較することにより燃焼悪化が生じている気筒を認識することが可能になる。
その具体的な処理の一例について説明する。まず、ECU200は、クランクポジションセンサ31及びカムポジションセンサ39の出力信号を所定のクランク角度毎(例えば30°CA毎)に取り込み、それらの各信号に基づいて、第1気筒#1が爆発行程にあるときに、この爆発行程中において、クランクシャフト15が一定クランク角度(例えば180°CA)を回転するのに要する経過時間T1と、この第1気筒#1の爆発行程よりも1回前(360°CA前)に爆発行程を迎えていた第2気筒#2の爆発行程中においてクランクシャフト15が一定のクランク角度(例えば180°CA)を回転するのに要する経過時間T2との差を演算して、第1気筒#1の回転変動量ΔNE1(=T1−T2)を得る。
また、同様にして、エンジン1の各気筒#2〜#4の爆発行程中においてクランクシャフト15が一定クランク角度(例えば180°CA)を回転するのに要する経過時間T3(第3気筒#3)、T4(第4気筒#4)、T2(第2気筒#2)を順次演算して、第3気筒#3の回転変動量ΔNE3(=T3−T1)、第4気筒#4の回転変動量ΔNE4(=T4−T3)、及び、第2気筒#2の回転変動量ΔNE2(=T2−T4)を得る。
そして、ECU200は、上記演算により求めた各気筒#1〜#4の回転変動量ΔNE1〜ΔNE4と判定閾値Thne(例えば図5参照)とを比較し、回転変動量ΔNEが判定閾値Thneを超えている気筒がある場合、その気筒を「燃焼悪化が生じている気筒」と認識する。
なお、回転変動量ΔNEに対して設定する判定閾値Thneは、リーン燃焼悪化(A/Fインバランスによる悪化)が生じて排気エミッションが悪化するエンジン1の回転変動量を実験・シミュレーション等によって取得し、その結果を基に経験的に適合した値である。この判定閾値ThneはECU200のROM202内に記憶されている。
なお、各気筒#1〜#4の回転変動量は、他の公知の手法によって認識(演算)するようにしてもよい。
−燃料噴射量補正制御(機関制御値の補正制御)−
次に、エンジン1の回転変動を抑制するための燃料噴射量の補正制御の例([補正制御例1]〜[補正制御例8])について以下に説明する。
[補正制御例1]
まず、図1及び図2に示すようなエンジン1においては、エンジン始動後、三元触媒8が十分に暖機された状態(十分な排気浄化作用を発揮する状態)になると、回転変動(燃焼不安定)がある程度生じても排気エミッションが悪化しないようになる。こうした点に着目し、この例では、三元触媒8の暖機が十分となった場合に燃料噴射量の増量補正を終了することで、必要以上に燃料噴射量の増量補正が継続されることに伴う排気エミッションの悪化を抑制する点に特徴がある。
その具体的な制御の一例について図4のフローチャート及び図5のタイミングチャートを参照して説明する。図4の制御ルーチンはECU200において実行される。
この図4の制御ルーチン実行中に、ECU200は、上記エアフロメータ33の出力信号に基づいてエンジン始動後の積算吸入空気量(積算Ga)を算出している。
またECU200は、エンジン1が回転を開始した時点から、上記した演算処理にて、1サイクル毎(720°CA毎)に、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量ΔNE1,回転変動量ΔNE3,回転変動量ΔNE4,回転変動量ΔNE2を繰り返して演算し、その各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図5に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
図4に示す制御ルーチンはイグニッションスイッチ40がON操作された時点(IG−ON)で開始される。制御ルーチンが開始されると、ステップST101において、エンジン1の回転変動を判定する判定タイミングであるか否かを判定する。具体的には、エンジン始動後の経過時間が所定値(例えば、3sec)に達しているか否かを判定し、その経過時間が所定値に達した時点で(ステップST101の判定結果が肯定判定となった時点で)、「判定タイミング成立」と判定してステップST102に進む。
なお、ステップST101の判定条件は、エンジン1が確実に始動したことを判別するための条件である。このステップST101の判定処理については、例えば、水温センサ32の出力信号から得られるエンジン冷却水の水温を判定パラメータとし、その水温が所定値に達したときに「判定タイミング成立」と判定するようにしてもよいし、また、上記エンジン始動後の経過時間とエンジン水温とを組み合わせて判定するようにしてもよい。さらに、他のパラメータを用いてステップST101の判定処理を実行するようにしてもよい。
ステップST102では、上記判定タイミングでの各気筒#1〜#4の回転変動量(#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を比較し、それらの気筒#1〜#4のうち、回転変動量ΔNEが最大となる気筒を特定する。その特定気筒(ΔNEが最大の気筒)の回転変動量ΔNEが回転変動判定値Thneよりも大きい場合に、燃料噴射量の増量補正が必要であると判断して、燃料噴射量の増量値を算出する(ステップST103)。図5の例では、回転変動量ΔNEが最大となる気筒が第1気筒#1であり、その回転変動量#1ΔNEが回転変動判定値Thneを超えているので、この第1気筒#1の燃料噴射量の増量値を算出する。なお、ステップST102において、回転変動量ΔNEが回転変動判定値Thneを超える気筒がない場合は、燃料噴射量の増量補正を実施せずに、この制御ルーチンを終了する。
ここで、燃料噴射量の増量値は、例えば、上記特定気筒の回転変動量ΔNE(例えば第1気筒#1の回転変動量ΔNE#1)が上記回転変動判定値Thneを超える分(ΔNE−Thne)に増量補正係数をかけることにより算出する。この増量補正係数は、リーン燃焼悪化によって生じた回転変動を抑制できるような燃料増量値を実験・計算等によって取得し、その結果を基に適合した値であって、例えばECU200のROM202内に記憶されている。
また、燃料噴射量の増量値の他の算出方法として、例えば、回転変動量ΔNEと回転変動判定値Thneとの差(ΔNE−Thne)に基づいてマップを参照して算出するという方法を採用してもよい。この燃料噴射量の増量値を算出するマップについては、回転変動量ΔNEと回転変動判定値Thneとの差(ΔNE−Thne)をパラメータとして、リーン燃焼悪化により生じた回転変動を抑制できるような燃料増量値を実験・計算等により取得し、その結果を基に適合した値をマップ化したものを用いる。なお、燃料噴射量の増量値は固定値(一定値)であってもよい。
以上のステップST102で算出した燃料噴射量の増量値を用いて、回転変動量ΔNEが最大の特定気筒(例えば第1気筒#1)について燃料噴射量の増量補正を実施する(ステップST103)。この燃料噴射量の増量補正により、特定気筒の燃焼状態が改善されてエンジン1の回転変動が抑制されていく。
次に、ステップST104において、エンジン始動後の吸入空気量(Ga)の積算値(積算Ga)が、図5に示す終了判定値tha(燃料噴射量の増量補正を終了するタイミングを判定する値)よりも大きいか否かを判定する。ステップST104の判定結果が否定判定である場合(積算Ga≦Tha)は上記燃料噴射量の増量補正を継続する。
そして、積算Gaが終了判定値Thaよりも大きくなった時点ta(ステップST104の判定結果が肯定判定となった時点)で、三元触媒8が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図5に示すように、徐変処理にて増量値を徐々に減少(増量値を「0」にまで徐変)させていくことにより(ステップST105)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、積算Gaが終了判定値Thaよりも大きくなった時点taで燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、三元触媒8の暖機度合いに相関するエンジン始動後の積算Gaを認識し、その積算Gaが終了判定値Thaよりも大きくなったときに、三元触媒8の暖機が十分となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)になったと判断して燃料噴射量の増量補正を終了している。このように、燃料増量が必要でなくなったときに燃料噴射量の増量補正を適正に終了することによって、増量補正が必要以上に継続されることに伴う排気エミッション悪化を抑制することができる。
ここで、この例のステップST104の判定処理に用いる終了判定値Thaは、エンジン始動後、三元触媒8の暖機が十分となり、回転変動(燃焼不安定)がある程度生じても排気エミッション悪化が問題とならない状態(回転変動による排気エミッションの浄化が可能な状態)に至るまでの積算吸入空気量を実験・計算等によって取得し、その結果を基に適合した値である。
この終了判定値Thaは固定値(一定値)であってもよい。また、終了判定値Thaはマップなどを用いて可変に設定するようにしてもよい。終了判定値Thaを可変とする場合、例えば、回転変動量ΔNEが大きいほど燃料増量の必要性が高く、三元触媒8の完全暖機近くまで燃料増量を維持した方が排気エミッション悪化を抑制できるという点を考慮して、燃料噴射量の増量値(増量補量)が大きいほど終了判定値Thaが高い側の値となるように(増量補正終了までの期間が長くなるように)可変に設定する。また、終了判定値Thaについては、エンジン1の燃焼の安定性を及ぼすパラメータ、例えば、吸気温・外気温(温度が低い程:燃焼不安定)や、運転負荷(アイドル運転時:燃焼不安定)に応じて可変に設定するようにしてもよい。
ここで、以上の[補正制御例1]では、エンジン始動後の積算Gaに基づいて燃料噴射量の増量補正の終了タイミングを判定しているが、これに替えて、エンジン始動後の経過時間をパラメータとし、そのエンジン始動後の経過時間が所定の終了判定値よりも大きくなったときを、燃料噴射量の増量補正の終了タイミングと判定するようにしてもよい。
この場合、エンジン始動後の経過時間に対して設定する終了判定値は、エンジン始動後、触媒暖機が十分となって排気エミッション悪化が問題とならない状態(回転変動による排気エミッションの浄化が可能な状態)に至るまでの経過時間を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。なお、この終了判定値についても、上記した終了判定値Thaと同様に、固定値(一定値)であってもよいし、燃料噴射量の増量値(増量補正量)が大きいほど終了判定値が高い側の値となるように(増量補正終了までの期間が長くなるように)可変に設定するようにしてもよい。また、吸気温・外気温や運転負荷に応じて終了判定値を可変に設定するようにしてもよい。
[補正制御例2]
この例では、エンジン冷却水の水温に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
その具体的な例について図6のフローチャート及び図7のタイミングチャートを参照して説明する。図6の制御ルーチンはECU200において実行される。この図6の制御ルーチンの実行中において、ECU200は、水温センサ32の出力信号に基づいてエンジン冷却水の水温を逐次算出している。
図6に示すフローチャートのステップST201〜ステップST203の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図7に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図7の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST203)、水温センサ32の出力信号から得られるエンジン冷却水の水温が、図7に示す終了判定値Thbよりも大きいか否かを判定する(ステップST204)。ステップST204の判定結果が否定判定である場合(水温≦Thb)は上記燃料噴射量の増量補正を継続する。
そして、エンジン冷却水の水温が終了判定値Thbよりも大きくなった時点tb(ステップST204の判定結果が肯定判定となった時点)で、三元触媒8が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図7に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST205)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、エンジン冷却水の水温が終了判定値Thbよりも大きくなった時点tb(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、三元触媒8の暖機度合いに相関するエンジン冷却水の水温を認識し、その水温が終了判定値Thbよりも大きくなったときに、三元触媒8の暖機が十分となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
なお、この例のステップST204の判定処理に用いる終了判定値Thbは、エンジン始動後、三元触媒8の暖機が十分となって排気エミッション悪化が問題とならない状態(回転変動による排気エミッションの浄化が可能な程度)に至ったときのエンジン水温を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。この終了判定値Thdは、上記した[補正制御例1]と同様に、固定値(一定値)であってもよいし、燃料噴射量の増量値(増量補正量)が大きいほど高い側の値になるように(増量補正終了までの期間が長くなるように)可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Thbを可変に設定するようにしてもよい。
ここで、以上の[補正制御例2]では、エンジン冷却水の水温に基づいて燃料噴射量の増量補正の終了を判定しているが、これに替えて、エンジン1の油温をパラメータとし、そのエンジン1の油温と所定の終了判定値とを比較し、そのエンジン油温が終了判定値よりも大きくなった時点で燃料噴射量の増量補正を終了するようにしてもよい。この場合、エンジン1の油温に対して設定する終了判定値は、触媒暖機が十分となって排気エミッション悪化が問題とならない状態に至ったときのエンジン油温を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。
[補正制御例3]
この例では、三元触媒8の触媒床温に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
その具体的な例について図8のフローチャート及び図9のタイミングチャートを参照して説明する。図8の制御ルーチンはECU200において実行される。この図8の制御ルーチン実行中において、ECU200は、例えば、クランクポジションセンサ31の出力信号から得られるエンジン回転数NE、及び、エアフロメータ33の出力信号から得られる吸入空気量Gaに基づいてマップ等を参照して三元触媒8の触媒床温を逐次推定している。
図8に示すフローチャートのステップST301〜ステップST303の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば、図9に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図9の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST303)、上記推定による三元触媒8の触媒床温が、図9に示す終了判定値Thc(燃料噴射量の増量補正を終了するタイミングを判定する値)よりも大きいか否かを判定する(ステップST304)。ステップST304の判定結果が否定判定である場合(触媒床温≦Thc)は上記燃料噴射量の増量補正を継続する。
そして、上記触媒床温が終了判定値Thcよりも大きくなった時点tc(ステップST304の判定結果が肯定判定となった時点)で、三元触媒8が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図9に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST305)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、触媒床温が終了判定値Thcよりも大きくなった時点tc(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、三元触媒8の触媒床温が終了判定値Thcよりも大きくなったときに、三元触媒8の暖機が十分となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
なお、この例のステップST304の判定処理に用いる終了判定値Thcは、三元触媒8の暖機が十分となる触媒床温を実験・計算等によって適合した値(例えば、Thc=600℃)である。この終了判定値Thcは、上記した[補正制御例1]と同様に、固定値(一定値)であってもよいし、燃料噴射量の増量値(増量補正量)が大きいほど高い側の値になるように(増量補正終了までの期間が長くなるように)可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Thcを可変に設定するようにしてもよい。
また、この例では、エンジン回転数NE及び吸入空気量Gaから触媒床温を推定しているが、エンジン1の他の運転状態・運転履歴に基づいて触媒床温を推定するようにしてもよい。さらに、三元触媒8の上流側と下流側の排気通路12とに温度センサを設け、それら2つの温度センサの出力信号から触媒床温を推定するようにしてもよいし、三元触媒8に温度センサを設けて触媒床温を直接検出するようにしてもよい。
ここで、図9の例では、上記触媒床温が終了判定値Thcよりも大きくなったことを判定した時点tc(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量値の減少開始(または燃料噴射量の増量補正を速やかに終了)しているが、これに限られることなく、例えば図10に示すように、触媒床温が終了判定値Thcよりも大きくなったことを判定した後に、フューエルカット(F/C:気筒への燃料供給停止)があった時点で燃料噴射量の増量補正を終了(増量値=0に設定)するようにしてもよい。また同様に、触媒床温が終了判定値Thcよりも大きくなったことを判定した後に、ストイキ制御でなくなった時点で燃料噴射量の増量補正を終了(増量値=0に設定)するようにしてもよい。このような図10の補正終了時制御は、上述した[補正制御例1]〜[補正制御例2]及び後述する[補正制御例4]〜[補正制御例8]に適用してもよい。
[補正制御例4]
この例では、リアO2センサ38が活性化したとき(電圧信号を出力したとき)には三元触媒8が十分に暖機された状態となる点に着目し、そのリアO2センサ38の出力電圧に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
その具体的な例について図11のフローチャート及び図12のタイミングチャートを参照して説明する。図11の制御ルーチンはECU200において実行される。
図11に示すフローチャートのステップST401〜ステップST403の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図12に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図12の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST403)、リアO2センサ38の出力電圧が、図12に示す終了判定値Thd(燃料噴射量の増量補正を終了するタイミングを判定する値)よりも大きいか否かを判定する(ステップST404)。ステップST404の判定結果が否定判定である場合(リアO2センサ38の出力電圧≦Thd)は上記燃料噴射量の増量補正を継続する。
そして、リアO2センサ38の出力電圧が終了判定値Thdよりも大きくなった時点td(ステップST404の判定結果が肯定判定となった時点)で、三元触媒8が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図12に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST405)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、リアO2センサ38の出力電圧が終了判定値Thdよりも大きくなった時点td(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、リアO2センサ38の出力電圧が終了判定値Thdよりも大きくなったときに(リアO2センサ38が活性化したときに)、三元触媒8の暖機が十分となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)になったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
なお、この例のステップST404の判定処理に用いる終了判定値Thdは、リアO2センサ38が活性化したときの出力電圧値を考慮して経験的に適合した値である。この終了判定値Thdは、上記した[補正制御例1]と同様に、固定値(一定値)であってもよいし、燃料噴射量の増量値(増量補正量)が大きいほど高い側の値になるように(増量補正終了までの期間が長くなるように)可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Thdを可変に設定するようにしてもよい。
[補正制御例5]
この例では、フロント空燃比センサ37の出力信号から得られる実空燃比(A/F)に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
その具体的な例について図13のフローチャート及び図14のタイミングチャートを参照して説明する。図13の制御ルーチンはECU200において実行される。この図13の制御ルーチン実行中において、ECU200は、フロント空燃比センサ37の出力信号から実空燃比を逐次算出している。
図13に示すフローチャートのステップST501〜ステップST503の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図14に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図14の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST503)、フロント空燃比センサ37の出力信号から得られる実空燃比(A/F)が、図14に示す下限判定値α1から上限判定値α2までの範囲内である(α1<A/F<α2)か、否かを判定する(ステップST504)。これら下限判定値α1及び上限判定値αは、三元触媒8の浄化能力が最適となる実空燃比(A/F)の範囲を示す値であって、例えば理論空燃比が14.6である場合、下限判定値α1は14.4であり、上限判定値α2は14.8である。
そして、フロント空燃比センサ37の出力信号から得られる実空燃比(A/F)が、下限判定値α1以下(A/F≦α1)または上限判定値α2以上(α2≦A/F)である場合(ステップST504の判定結果が否定判定である場合)は上記燃料噴射量の増量補正を継続する。
一方、実空燃比(A/F)が、下限判定値α1〜上限判定値α2の範囲内に入った場合(α1<A/F<α2:ステップST504の判定結果が肯定判定)に、燃料噴射量の増量補正の終了タイミングteであると判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図14に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST505)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングte(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、フロント空燃比センサ37の出力信号から得られる実空燃比(A/F)が理論空燃比に制御される状態となったときに、三元触媒8の浄化能力が最適となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
ここで、燃料噴射量の増量補正を終了する際に増量値を徐々に減少させる場合、図14に示すように、増量値の減少率(勾配)を一定にする徐変処理のほか、例えば図15に示すように、燃料噴射量の増量補正の終了タイミングteからの経過時間tnに応じて、その経過時間tnが長くなるほど増量値の減少率を小さくしていく、という徐変処理を行ってもよい。また、例えば図16に示すように、燃料噴射量の増量補正の終了タイミングteでのエンジン冷却水の水温に応じて、水温が低い場合(水温低時)は、水温が高い場合(水温高時)と比較して、増量値の減少率(勾配)を小さく設定するようにしてもよい。なお、これら図15及び図16の補正終了時制御は、上述した[補正制御例1]〜[補正制御例4]及び後述する[補正制御例6]〜[補正制御例8]に適用してもよい。
[補正制御例6]
まず、車両等に搭載されるエンジンでは、エンジン始動時(冷間始動時等)において、点火プラグによる点火時期を通常時よりも遅角(暖機遅角)し、燃焼室から排出される排気ガスの温度を上昇させることによって触媒(三元触媒)の暖機を促進する制御が実施される場合がある。このような触媒暖機制御において触媒暖機が十分となったときには、点火時期の遅角量(暖機遅角量)を減少させる側つまり点火時期を進角側に制御している。このような制御に着目し、この例では、上記触媒暖機制御時における点火時期に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
その具体的な制御の例について図17のフローチャート及び図18のタイミングチャートを参照して説明する。図17の制御ルーチンはECU200において実行される。
図17に示すフローチャートのステップST601〜ステップST603の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図18に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図18の例では、第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST603)、点火時期が、図18に示す終了判定値Thf(燃料噴射量の増量補正を終了するタイミングを判定する値)よりも進角側であるか否かを判定する(ステップST604)。その点火時期が終了判定値Thfの遅角側(Thfも含む)である場合(ステップST604の判定結果が否定判定である場合)は上記燃料噴射量の増量補正を継続する。
そして、点火時期が終了判定値Thfよりも進角側となった時点tf(ステップST604の判定結果が肯定判定となった時点)で、三元触媒8が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図18に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST605)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、点火時期が終了判定値Thfよりも進角側となった時点tf(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、触媒暖機制御実行時の暖機遅角が通常時の点火時期に戻されたときに、三元触媒8の暖機が十分となり排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)になったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
なお、この例のステップST604の判定処理に用いる終了判定値Thfは、通常時の点火時期(点火時期遅角による触媒暖機が完了したときの点火時期)を考慮して、実験・計算等によって適合した値である。この終了判定値Thfは、上記した[補正制御例1]と同様に、固定値(一定値)であってもよいし、燃料噴射量の増量値(増量補正量)が大きいほど進角側の値となるように(増量補正終了までの期間が長くなるように)可変に設定するようにしてもよい。また、吸気温・外気温や運転負荷に応じて終了判定値Thbを可変に設定するようにしてもよい。
[補正制御例7]
まず、三元触媒8は、触媒雰囲気の酸素濃度が理論空燃比での混合気の燃焼時の値になるとき、排気ガス中の有害成分(HC,CO,NOx)のすべてを最も効果的に除去できる。このような点を考慮して、エンジン始動後でフロント空燃比センサ37及びリアO2センサ38が活性化した時点で空燃比フィードバック制御を開始している。こうした空燃比フィードバック制御(空燃比(F/B)制御)を行うことにより、三元触媒8の浄化能力を最適にすることができる。
こうような点に着目して、この例では、空燃比フィードバック制御(空燃比(F/B)制御)を開始した時点を、燃料噴射量の増量補正の終了タイミングと判定する点に特徴がある。その具体的な例について図19のフローチャート及び図20のタイミングチャートを参照して説明する。図19の制御ルーチンはECU200において実行される。
図19に示すフローチャートのステップST701〜ステップST703の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図20に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図20の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST703)、空燃比(F/B)制御フラグがONであるか否かを判定し(ステップST704)、その判定結果が否定判定である場合は上記燃料噴射量の増量補正を継続する。
そして、空燃比(F/B制御)フラグが「ON(開始)」になったときに、料噴射量の増量補正の終了タイミングtgであると判定して燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図20に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST705)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングtg(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、空燃比(F/B)制御を開始したときに、三元触媒8が十分に暖機され(触媒浄化能力が最適となり)、回転変動(燃焼不安定)がある程度生じても排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)となった判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
[補正制御例8]
車両等に搭載されるエンジンでは、冷間時などにおいて触媒の温度を早期に上昇させて触媒を活性させるために、2次空気供給(AI:Air Injection)制御を実施して触媒の上流側に2次空気を供給し、酸素濃度を高めて排気ガス中のHC、COを2次燃焼させ、さらに、2次燃焼の熱により触媒の暖機を促進する制御が実施される場合がある(例えば、特開2001−263050号公報参照)。このようなAI制御が終了したときには三元触媒8の暖機が十分となる。こうした点に着目して、この例では、AI制御を実行する機能を備えている場合、そのAI制御が終了した時点を燃料噴射量の増量補正の終了タイミングと判定する点に特徴がある。その具体的な例について図21のフローチャート及び図22のタイミングチャートを参照して説明する。図21の制御ルーチンはECU200において実行される。
図21に示すフローチャートのステップST801〜ステップST803の各処理は、上記した図4のフローチャートのステップST101〜ステップST103の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した[補正制御例1]と同様に、ECU200は、エンジン1が回転を開始した時点から、各気筒(第1気筒#1,第2気筒#2,第3気筒#3,第4気筒#4)の回転変動量の時間変化(例えば図22に示す#1ΔNE1,#2ΔNE2,#3ΔNE3,#4ΔNE)を認識している。
この例では、回転変動が最大の特定気筒(図22の例では第1気筒#1)の燃料噴射量の増量補正を実施しているときに(ステップST803)、AI制御フラグが「ON」であるか否かを判定し(ステップST804)、その判定結果が否定判定である場合は上記燃料噴射量の増量補正を継続する。
そして、ステップST804の判定結果が肯定判定となったときに(AI制御フラグが「OFF」になったときに)、燃料噴射量の増量補正の終了タイミングthであると判定して燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「0」にするのではなく、図22に示すように、徐変処理にて増量値を徐々に減少させていくことにより(ステップST805)、増量補正終了時において燃焼状態(出力トルク・A/F)に段差が生じることを抑制する。なお、そのような徐変処理は、必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングth(増量補正の終了タイミングを判定した時点)で燃料噴射量の増量補正を速やかに終了(増量値=0に設定)するようにしてもよい。
以上のように、この例の制御によれば、AI制御が停止したときに、三元触媒8が十分に暖機され、回転変動(燃焼不安定)がある程度生じても排気エミッション悪化が問題にならない状態(燃料増量を必要としない状態)となったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
[他の補正制御例]
以上の補正制御例では、エンジン始動後に回転変動量ΔNEが最大となる気筒が第1気筒#1である場合について説明したが、これに限られることなく、エンジン始動後に回転変動量ΔNEが最大となる気筒が、第2気筒#2、第3気筒#3、または、第4気筒#4の場合であってもよく、その回転変動が最大となる気筒(第2気筒#2、第3気筒#3、第4気筒#4)について燃料噴射量の増量補正を行うようにすればよい。
以上の補正制御例では、エンジン始動後に回転変動量ΔNEが回転変動判定値Thneを超える気筒が1つである場合の例について説明したが、これに限られることなく、複数の気筒の回転変動量ΔNEが上記回転変動判定値Thneを超える場合は、それらの各気筒について燃料噴射量の増量補正を行うようにする。例えば、図23に示すように、回転変動量ΔNEが回転変動判定値Thneを超える気筒が第1気筒#1及び第2気筒#2である場合、その各気筒について燃料噴射量の増量補正を実施する。ただし、これら2つの気筒の燃料噴射量の増量補正の終了を同じタイミングで行うと、エンジン1の燃焼状態(出力トルク・A/F)に段差が生じる場合があるので、これを抑制するために、例えば図23に示すように、第1気筒#1の補正終了タイミングtj1に対して、第2気筒#2の補正終了タイミングtj2を所定時間だけ遅延させる。
なお、回転変動量ΔNEが回転変動判定値Thneを超える気筒が複数ある場合、その気筒数に応じて、気筒数が多いほど上記終了判定値(Tha〜The)を高い側に可変に設定するようにしてもよい。
以上の補正制御例では、エンジンの1サイクル毎(720°CA毎)に、回転変動量ΔNE1,回転変動量ΔNE3,回転変動量ΔNE4,回転変動量ΔNE2を繰り返して演算しているが、これに限られることなく、複数回のサイクル毎に、回転変動量ΔNE1,回転変動量ΔNE3,回転変動量ΔNE4,回転変動量ΔNE2を繰り返して演算するようにしてもよい。また、このような回転変動量の演算は、燃料噴射量の増量補正が終了した時点で停止するようにしてもよい。
−他の実施形態−
以上の例では、各気筒の爆発行程中において、クランクシャフトが一定クランク角度を回転するのに要する時間からエンジンの回転変動を認識しているが、他のパラメータに基づいてエンジンの回転変動を認識するようにしてもよい。
以上の例では、各気筒毎の燃焼状態をエンジンの回転変動に基づいて認識しているが、他のパラメータに基づいて各気筒毎の燃焼状態を認識するようにしてもよい。例えば、各気筒に配設された点火プラグの放電電極に対して電圧を印加した際に生じる電流(イオン電流)をイオン電流センサで検出し、そのイオン電流検出値に基づいて各気筒の燃焼状態を認識してもよいし、あるいは、筒内圧を検出する筒内圧センサを用いて各気筒の筒内圧力を検出し、その筒内圧力検出値に基づいて各気筒の燃焼状態を認識するようにしてもよい。
以上の例では、4気筒ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、例えば6気筒や8気筒などの他の任意の気筒数の多気筒内燃機関の制御にも適用可能である。
以上の例では、ポート噴射型ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、筒内直噴型ガソリンエンジンの制御にも適用可能である。また、直列多気筒ガソリンエンジンのほか、V型多気筒ガソリンエンジンの制御にも本発明を適用することができる。
さらに、ガソリンエンジンに限られることなく、例えばガソリンとアルコールとを任意の割合で混合したアルコール含有燃料が使用可能なフレックス燃料内燃機関の制御にも本発明を適用することができる。