(57)【要約】【課題】エンジンの気筒間の空燃比ばらつきを精度良く補正できるようにする。【解決手段】減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替えて残りの全ての気筒を休止気筒とし、運転気筒を切り替える毎に、排気系の排気合流部に設置された空燃比センサの出力に基づいて運転気筒の空燃比を目標空燃比に制御することで、各運転気筒毎に気筒別空燃比補正量を学習して書き換え可能な不揮発性メモリに更新記憶する。通常のエンジン運転中は、空燃比センサの出力に基づいて各気筒の空燃比を推定し、各気筒の推定空燃比と目標空燃比との偏差に応じて算出した各気筒の燃料補正量と各気筒の気筒別空燃比補正量の学習値を用いて各気筒の燃料噴射量を補正することで、各気筒の空燃比の気筒間ばらつきを補正して各気筒の空燃比を目標空燃比に一致させるように制御する。【選択図】図２
2007285136.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の各気筒の吸気ポート及び／又は排気ポートに気筒毎に独立して開閉動作を休止可能なバルブ装置を設け、複数の気筒の排出ガスが合流する排気合流部に空燃比センサを設置して、この空燃比センサの出力に基づいて前記複数の気筒の空燃比を気筒毎に制御する内燃機関の気筒別空燃比制御装置において、
前記複数の気筒について気筒毎に空燃比の気筒間ばらつきを補正するための気筒別空燃比補正量を学習する気筒別空燃比補正量学習手段を備え、
前記気筒別空燃比補正量学習手段は、前記気筒別空燃比補正量の学習期間中に、前記複数の気筒のうちの一部の気筒を除いて燃料噴射及び前記バルブ装置の開閉動作を休止した状態で前記一部の気筒についてのみ燃料噴射及び前記バルブ装置の開閉動作を実行して前記空燃比センサの出力に基づいて空燃比を制御することで、前記一部の気筒について気筒別空燃比補正量を学習することを特徴とすることを特徴とする内燃機関の気筒別空燃比制御装置。
【請求項２】
前記気筒別空燃比補正量学習手段で学習した気筒別空燃比補正量を書き換え可能な不揮発性メモリに気筒毎に更新記憶しておき、内燃機関の運転中は各気筒の燃料噴射量を前記不揮発性メモリに記憶されている気筒別空燃比補正量を用いて補正することを特徴とする請求項１に記載の内燃機関の気筒別空燃比制御装置。
【請求項３】
前記気筒別空燃比補正量学習手段は、燃料カット期間又は減筒運転期間を前記気筒別空燃比補正量の学習期間に設定し、当該学習期間中に燃料噴射及び前記バルブ装置の開閉動作を行う気筒を順番に切り替えて気筒別空燃比補正量を学習することを特徴とすることを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御装置。
【請求項４】
前記気筒別空燃比補正量学習手段は、前記気筒別空燃比補正量の学習期間中に燃料噴射及び前記バルブ装置の開閉動作を行う気筒を１気筒ずつ順番に切り替えて気筒別空燃比補正量を学習することを特徴とすることを特徴とする請求項３に記載の内燃機関の気筒別空燃比制御装置。
【請求項５】
前記気筒別空燃比補正量学習手段は、前記気筒別空燃比補正量の学習期間中に燃料噴射及び前記バルブ装置の開閉動作を行う気筒の数を順番に増加又は減少させて気筒別空燃比補正量を学習することを特徴とする請求項３に記載の内燃機関の気筒別空燃比制御装置。
【請求項６】
前記気筒別空燃比補正量学習手段は、各気筒の気筒別空燃比補正量の学習頻度を検出し、前記気筒別空燃比補正量の学習期間中に前記学習頻度の少ない気筒から順番に気筒別空燃比補正量を学習することを特徴とする請求項１乃至５のいずれかに記載の内燃機関の気筒別空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒の排出ガスが合流する排気合流部に設置した空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に制御する内燃機関の気筒別空燃比制御装置に関する発明である。
【背景技術】
【０００２】
近年、特許文献１（特開２００４−３１６４８３号公報）に記載されているように、複数の気筒の排出ガスが合流する排気合流部に設置した１つの空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に推定して、複数の気筒の空燃比（燃料噴射量）を気筒毎に制御する気筒別空燃比制御技術が研究されている。
【特許文献１】特開２００４−３１６４８３号公報（第１頁〜第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、各気筒の燃料噴射系の個体差（燃料噴射弁の製造ばらつきや経時劣化等）によって各気筒の燃料噴射量にばらつきを生じることがあるため、上記特許文献１の技術により、排気合流部に設置した１つの空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に精度良く推定できたとしても、気筒別空燃比制御の実行中に各気筒の燃料噴射系の個体差によって気筒間の空燃比ばらつきが大きくなることがある。このような気筒間の空燃比ばらつきは、気筒別空燃比制御の精度を低下させてエミッションや燃費を悪化させる原因となる。
【０００４】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、気筒間の空燃比ばらつきを精度良く補正することができる内燃機関の気筒別空燃比制御装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に係る発明は、内燃機関の各気筒の吸気ポート及び／又は排気ポートに気筒毎に独立して開閉動作を休止可能なバルブ装置を設け、複数の気筒の排出ガスが合流する排気合流部に空燃比センサを設置して、この空燃比センサの出力に基づいて前記複数の気筒の空燃比を気筒毎に制御する内燃機関の気筒別空燃比制御装置において、前記複数の気筒について気筒毎に空燃比の気筒間ばらつきを補正するための気筒別空燃比補正量を学習する気筒別空燃比補正量学習手段を備え、この気筒別空燃比補正量学習手段は、前記気筒別空燃比補正量の学習期間中に、前記複数の気筒のうちの一部の気筒を除いて燃料噴射及び前記バルブ装置の開閉動作を休止した状態で前記一部の気筒についてのみ燃料噴射及び前記バルブ装置の開閉動作を実行して前記空燃比センサの出力に基づいて空燃比を制御することで、前記一部の気筒について気筒別空燃比補正量を学習するようにしたものである。
【０００６】
以下の説明では、燃料噴射及びバルブ装置の開閉動作を休止する気筒を「休止気筒」と呼び、燃料噴射及びバルブ装置の開閉動作を実行する気筒を「運転気筒」と呼ぶ。
本発明によれば、気筒別空燃比補正量の学習期間中に、複数の気筒のうちの例えば１つの気筒を除いて残り全ての気筒を休止気筒としてそれらの休止気筒の吸気ポート及び／又は排気ポートを閉じた状態で、１つの運転気筒についてのみ燃料噴射及びバルブ装置の開閉動作を実行するため、当該運転気筒の空燃比を空燃比センサの出力に基づいて精度良く検出することができる。このため、空燃比センサの出力に基づいて当該運転気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御すれば、その空燃比フィードバック制御により設定される当該運転気筒の空燃比補正量は、当該運転気筒についての気筒間の空燃比ばらつきを補正するための気筒別空燃比補正量となる。従って、この気筒別空燃比補正量を気筒毎に学習すれば、この学習値から気筒間の空燃比ばらつきを精度良く補正することができて、気筒別空燃比制御を精度良く実行することができる。
【０００７】
この場合、請求項２のように、気筒別空燃比補正量学習手段で学習した気筒別空燃比補正量を書き換え可能な不揮発性メモリに気筒毎に更新記憶しておき、内燃機関の運転中は各気筒の燃料噴射量を前記不揮発性メモリに記憶されている気筒別空燃比補正量を用いて補正するようにすると良い。このように、気筒別空燃比補正量の学習値を書き換え可能な不揮発性メモリに記憶させれば、内燃機関の停止中（イグニッションスイッチのオフ中）でも、気筒別空燃比補正量の学習値の記憶を保持することができるため、次の始動直後から、過去に学習された気筒別空燃比補正量を用いて気筒間の空燃比ばらつきを精度良く補正することができる。
【０００８】
ところで、通常の運転中（走行中）に、いずれかの気筒の気筒別空燃比補正量を学習するために、当該気筒を除いて他の気筒の運転を休止すると、トルクショックが発生してドライバビリティを悪化させることが懸念される。
【０００９】
この点を考慮して、請求項３のように、燃料カット期間又は減筒運転期間を気筒別空燃比補正量の学習期間に設定し、当該学習期間中に運転気筒を順番に切り替えて気筒別空燃比補正量を学習するようにすると良い。このようにすれば、燃料カット期間又は減筒運転期間を有効に利用して気筒別空燃比補正量を学習することができるため、ドライバビリティを悪化させずに気筒別空燃比補正量を学習することができる。尚、ハイブリッド電気自動車においては、モータの動力で車両を走行させている期間（内燃機関を停止させている期間）に気筒別空燃比補正量を学習するようにしても良い。
【００１０】
本発明は、請求項４のように、気筒別空燃比補正量の学習期間中に運転気筒を１気筒ずつ順番に切り替えて気筒別空燃比補正量を学習するようにしても良い。この場合、常に同じ気筒から気筒別空燃比補正量の学習を開始するようにしても良いし、或は、前回の学習期間に学習できなかった気筒から気筒別空燃比補正量の学習を開始するようにしても良い。或は、気筒別空燃比補正量の学習を開始する気筒をランダムに変更するようにしても良い。
【００１１】
また、請求項５のように、気筒別空燃比補正量の学習期間中に運転気筒の数を順番に増加又は減少させて気筒別空燃比補正量を学習するようにしても良い。運転気筒の数を増減させる場合は、最初に、例えば、いずれか１つの気筒のみを運転して、その運転気筒の気筒別空燃比補正量を学習し、その後、運転気筒の数を１気筒ずつ増加させて、学習済みの気筒の気筒別空燃比補正量を用いて、他の運転気筒の気筒別空燃比補正量を演算するという処理を繰り返すようにすれば良い。
【００１２】
或は、気筒別空燃比補正量の学習を開始する際に、予め、全気筒運転時の空燃比補正量を演算した上で、まず、１つの気筒のみを休止して、他の全ての気筒を運転してその時点の運転気筒全体の空燃比補正量を演算し、その後、運転気筒の数を１気筒ずつ減少させて、その都度、運転気筒全体の空燃比補正量を演算し、最後に、運転気筒の数を１気筒のみとしてその運転気筒の気筒別空燃比補正量を演算した上で、この運転気筒の気筒別空燃比補正量と上記空燃比補正量の演算データとから他の気筒の気筒別空燃比補正量を順次演算するようにしても良い。
【００１３】
ところで、複数の気筒の気筒別空燃比補正量を学習する際に、常に同じ気筒から気筒別空燃比補正量の学習を開始すると、学習期間が短い場合は、その学習期間中に気筒別空燃比補正量を学習できない気筒が発生するため、各気筒の学習頻度がばらついて学習精度が低下する可能性がある。
【００１４】
この対策として、請求項６のように、各気筒の気筒別空燃比補正量の学習頻度を検出し、気筒別空燃比補正量の学習期間中に前記学習頻度の少ない気筒から順番に気筒別空燃比補正量を学習するようにしても良い。このようにすれば、気筒別空燃比補正量の学習期間が短い場合でも、全ての気筒についてほぼ均等の頻度で気筒別空燃比補正量を学習することができ、学習精度を向上できる利点がある。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を具体化した３つの実施例１〜３を説明する。
【実施例１】
【００１６】
本発明の実施例１を図１乃至図５に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば直列４気筒のエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１７】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。エンジン運転中は、燃料タンク２１内の燃料が燃料ポンプ２２によりデリバリパイプ２３に送られ、各気筒の噴射タイミング毎に各気筒の燃料噴射弁２０から燃料が噴射される。デリバリパイプ２３には、燃料圧力（燃圧）を検出する燃圧センサ２４が取り付けられている。
【００１８】
また、エンジン１１の吸気ポートと排気ポートには、それぞれ気筒毎に独立して開閉動作可能なバルブ装置として、電磁駆動型の吸気バルブ２５と電磁駆動型の排気バルブ２６が設けられている。尚、本発明は、吸気バルブ２５と排気バルブ２６のいずれか一方のみを電磁駆動バルブ（気筒毎に独立して開閉動作可能なバルブ装置）とし、他方のバルブをエンジン１１のカム軸で駆動する構成としても良い。
【００１９】
一方、エンジン１１の各気筒の排気マニホールド３５が合流する排気合流部３６には、排出ガスの空燃比を検出する空燃比センサ３７が設置され、この空燃比センサ３７の下流側に排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒３８が設けられている。
【００２０】
上記空燃比センサ３７等の各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）４０に入力される。このＥＣＵ４０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて各気筒の燃料噴射弁２０の燃料噴射量や点火時期を制御する。
【００２１】
本実施例１では、ＥＣＵ４０は、所定の気筒別空燃比制御実行条件が成立しているときに、気筒別空燃比推定モデルを用いて空燃比センサ３７の検出値（排気合流部３６を流れる排出ガスの実空燃比）に基づいて各気筒の空燃比を推定し、各気筒の推定空燃比と目標空燃比との偏差に応じて各気筒の燃料補正量（燃料補正係数）を算出すると共に、各気筒の燃料補正量と後述する各気筒の気筒別空燃比補正量の学習値を用いて各気筒の燃料噴射量を気筒毎に補正することで、各気筒の空燃比の気筒間ばらつきを補正して各気筒の空燃比を目標空燃比に一致させるように制御する（以下、この制御を気筒別空燃比制御という）。
【００２２】
更に、本実施例１では、ＥＣＵ４０は、減速時燃料カット期間を気筒別空燃比補正量の学習期間として利用して、この減速時燃料カット期間中に、エンジン１１の４つの気筒について、気筒毎に空燃比の気筒間ばらつきを補正するための気筒別空燃比補正量を学習する。具体的には、減速時燃料カット期間中に、エンジン１１の４つの気筒のうちの１つの気筒を除いて燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を休止してそれらの気筒の吸気／排気ポートを閉じた状態で、残りの１つの気筒についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。以下の説明では、燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を休止する気筒を「休止気筒」と呼び、燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する気筒を「運転気筒」と呼ぶ。
【００２３】
図２に示すように、減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替え、その都度、空燃比センサ３７の出力に基づいて運転気筒の空燃比を目標空燃比に制御することで、各運転気筒毎に気筒別空燃比補正量を学習する。この場合、１つの気筒を除いて残り全ての気筒を休止気筒としてそれらの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行するため、当該運転気筒の空燃比を空燃比センサ３７の出力に基づいて精度良く検出することができる。このため、空燃比センサ３７の出力に基づいて当該運転気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御すれば、その空燃比フィードバック制御により設定される当該運転気筒の空燃比補正量は、当該運転気筒についての気筒間の空燃比ばらつきを補正するための気筒別空燃比補正量となる。従って、減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を目標空燃比に制御すれば、各運転気筒毎に気筒別空燃比補正量を精度良く学習することができる。この気筒別空燃比補正量の学習値は、ＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に気筒毎に更新記憶される。
【００２４】
以上説明した気筒別空燃比補正量の学習処理は、ＥＣＵ４０によって図３乃至図５の各ルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。
図３の減速時燃料カット実行条件判定ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行される。本ルーチンが起動されると、ステップ１０１〜１０３で、次の３つの条件(1) 〜(3) を全て満たすか否かで、減速時燃料カット実行条件が成立しているか否かを判定する。
【００２５】
(1) 冷却水温ＣＬＴが所定値以上（エンジン暖機判定温度以上）であること
［ステップ１０１］
(2) エンジン回転速度Ｎｅが所定値以上（燃料カット復帰回転速度以上）であること
［ステップ１０２］
(3) アクセルペダル踏込量Ａｐが所定値以下（アクセル全閉）であること
［ステップ１０３］
【００２６】
これら３つの条件(1) 〜(3) のいずれか１つでも満たさない条件があれば（つまり３つのステップ１０１〜１０３のいずれかで「Ｎｏ」と判定されれば）、減速時燃料カット実行条件が不成立となり、ステップ１０５に進み、減速時燃料カットを禁止する。
【００２７】
これに対して、上記３つの条件(1) 〜(3) を全て満たせば（つまり３つのステップ１０１〜１０３で全て「Ｙｅｓ」と判定されれば）、減速時燃料カット実行条件が成立して、ステップ１０４に進み、減速時燃料カットを実行する。
【００２８】
図４及び図５に示す気筒別空燃比補正量学習ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行され、特許請求の範囲でいう気筒別空燃比補正量学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ２０１で、減速時燃料カット実行中であるか否か（気筒別空燃比補正量の学習期間であるか否か）を判定し、減速時燃料カット実行中でなければ、ステップ２０２に進み、減速時燃料カット開始からの経過時間ＦＣＴをカウントする燃料カット時間カウンタを初期化して、ＦＣＴ＝０とし、本ルーチンを終了する。
【００２９】
上記ステップ２０１で、減速時燃料カット実行中と判定されれば、ステップ２０３に進み、減速時燃料カット開始から前回演算時までの経過時間ＦＣＴに本ルーチンの起動周期分の時間を積算して、減速時燃料カット開始から今回演算時までの経過時間（以下単に「燃料カット時間」という）ＦＣＴを求める。
【００３０】
この後、ステップ２０４に進み、燃料カット時間ＦＣＴが所定値ａ1 以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ1 以上になっていなければ、ステップ２０５に進み、＃１気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃１気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃１気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃１気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００３１】
一方、上記ステップ２０４で、燃料カット時間ＦＣＴが所定値ａ1 以上と判定されれば、ステップ２０６に進み、燃料カット時間ＦＣＴが所定値ａ1 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ1 であるときのみ、ステップ２０７に進み、その時点の運転気筒（＃１気筒）の気筒別空燃比補正量（その時点の空燃比フィードバック制御による空燃比補正量）を検出して、これを気筒別空燃比補正量の学習値としてＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２０７の処理は、燃料カット時間ＦＣＴが所定値ａ1 に達した時点に１回のみ行い、その後は、このステップ２０７の処理が飛び越される。
【００３２】
この後、ステップ２０８に進み、燃料カット時間ＦＣＴが所定値ａ2 （＝ａ1 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ2 以上になっていなければ、ステップ２０９に進み、＃２気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃２気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃２気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃２気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００３３】
一方、上記ステップ２０８で、燃料カット時間ＦＣＴが所定値ａ2 以上と判定されれば、ステップ２１０に進み、燃料カット時間ＦＣＴが所定値ａ2 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ2 であるときのみ、ステップ２１１に進み、その時点の運転気筒（＃２気筒）の気筒別空燃比補正量を検出して、ＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１１の処理は、燃料カット時間ＦＣＴが所定値ａ2 に達した時点に１回のみ行い、その後は、このステップ２１１の処理が飛び越される。
【００３４】
この後、図５のステップ２１２に進み、燃料カット時間ＦＣＴが所定値ａ3 （＝ａ2 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ3 以上になっていなければ、ステップ２１３に進み、＃３気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃３気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃３気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃３気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００３５】
一方、上記ステップ２１２で、燃料カット時間ＦＣＴが所定値ａ3 以上と判定されれば、ステップ２１４に進み、燃料カット時間ＦＣＴが所定値ａ3 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ3 であるときのみ、ステップ２１５に進み、その時点の運転気筒（＃３気筒）の気筒別空燃比補正量を検出して、ＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１５の処理は、燃料カット時間ＦＣＴが所定値ａ3 に達した時点に１回のみ行い、その後は、このステップ２１５の処理が飛び越される。
【００３６】
この後、ステップ２１６に進み、燃料カット時間ＦＣＴが所定値ａ4 （＝ａ3 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ4 以上になっていなければ、ステップ２１７に進み、＃４気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃４気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃４気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃４気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００３７】
一方、上記ステップ２１６で、燃料カット時間ＦＣＴが所定値ａ4 以上と判定されれば、ステップ２１８に進み、燃料カット時間ＦＣＴが所定値ａ4 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ4 であるときのみ、ステップ２１９に進み、その時点の運転気筒（＃４気筒）の気筒別空燃比補正量を検出して、ＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１９の処理は、燃料カット時間ＦＣＴが所定値ａ4 に達した時点に１回のみ行い、その後は、気筒別空燃比補正量の学習期間が終了したと判断して、ステップ２２０に進み、全ての気筒の燃料噴射をカットして減速時燃料カットを実行する。
【００３８】
以上説明した本実施例１によれば、減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を目標空燃比に制御して各運転気筒毎に気筒別空燃比補正量を学習するようにしたので、気筒別空燃比補正量を精度良く学習することができて、この学習値から気筒間の空燃比ばらつきを精度良く補正することができ、気筒別空燃比制御を精度良く実行することができる。
【００３９】
しかも、本実施例１では、気筒別空燃比補正量の学習値を書き換え可能な不揮発性メモリに記憶させるようにしたので、エンジン停止中（イグニッションスイッチのオフ中）でも、気筒別空燃比補正量の学習値の記憶を保持することができて、次のエンジン始動直後から、過去に学習された気筒別空燃比補正量を用いて気筒間の空燃比ばらつきを精度良く補正することができる。
【００４０】
また、本実施例１では、減速時燃料カット期間を気筒別空燃比補正量の学習期間として利用して気筒別空燃比補正量を学習するようにしたので、ドライバビリティを悪化させずに気筒別空燃比補正量を学習することができる利点がある。
【００４１】
尚、運転条件に応じて、一部の気筒のみを運転して他の気筒の運転を休止する減筒運転を行うエンジンでは、減筒運転期間を利用して気筒別空燃比補正量を学習するようにしても良い。或は、ハイブリッド電気自動車においては、モータの動力で車両を走行させている期間（エンジンを停止させている期間）に気筒別空燃比補正量を学習するようにしても良い。
【００４２】
また、本実施例１では、減速時燃料カット開始後に常に同じ気筒（＃１気筒）から気筒別空燃比補正量の学習を開始するようにしたが、前回の学習期間に学習できなかった気筒から気筒別空燃比補正量の学習を開始するようにしても良いし、或は、気筒別空燃比補正量の学習を開始する気筒をランダムに変更するようにしても良い。
【００４３】
また、本実施例１では、気筒別空燃比補正量の学習期間中に、休止気筒の吸気バルブ２５と排気バルブ２６の両方を閉じるようにしたが、吸気バルブ２５と排気バルブ２６のいずれか一方のみを閉じて、他方のバルブを通常通り開閉させるようにしても良い。要は、気筒別空燃比補正量の学習期間中に、休止気筒の吸気バルブ２５と排気バルブ２６の少なくとも一方のバルブを閉じることで、吸入空気が休止気筒を通して排気マニホールド３５に流れ込むのを防止するようにすれば良い。この場合、本実施例１のように、休止気筒の排気バルブ２６が電磁駆動バルブであれば、排気バルブ２６を閉じて、休止気筒内の残留ガスが排気マニホールド３５に流れ込むのを防止することが好ましい。これにより、休止気筒からのガスの影響を受けることなく、運転気筒の排出ガスの空燃比を空燃比センサ３７により精度良く検出することができる。
【実施例２】
【００４４】
ところで、複数の気筒の気筒別空燃比補正量を学習する際に、常に同じ気筒から気筒別空燃比補正量の学習を開始すると、学習期間が短い場合は、その学習期間中に気筒別空燃比補正量を学習できない気筒が発生するため、各気筒の学習頻度がばらついて学習精度が低下する可能性がある。
【００４５】
そこで、図６乃至図９に示す本発明の実施例２では、各気筒の気筒別空燃比補正量の学習頻度（検出回数）を検出回数カウンタでカウントして、これをＥＣＵ４０の書き換え可能な不揮発性メモリに記憶し、気筒別空燃比補正量の学習期間中に前記学習頻度（検出回数）の少ない気筒から順番に気筒別空燃比補正量を学習するようにしている。以下、本実施例２で実行する図７乃至図９に示す各ルーチンの処理内容を説明する。
【００４６】
図７の学習気筒順序判定ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行される。本ルーチンが起動されると、まずステップ３００で、減速時燃料カット実行条件が成立しているか否かを判定し、減速時燃料カット実行条件が成立していなければ、以降の処理を行うことなく、本ルーチンを終了する。
【００４７】
上記ステップ３００で、減速時燃料カット実行条件が成立していると判定されれば、ステップ３０１に進み、気筒別空燃比補正量を学習（検出）する気筒順序を決める第１〜第４気筒番号ＣＵＴ１〜ＣＵＴ４に気筒番号をセット済みか否かを判定し、セット済みであれば、そのまま本ルーチンを終了するが、まだ気筒番号がセットされていなければ、ステップ３０２に進み、各気筒の気筒別空燃比補正量の検出回数をカウントする検出回数カウンタＡＴ（＃）の中から検出回数が最小の気筒番号を選択し、次のステップ３０３で、最初に学習する気筒を表す第１気筒番号ＣＵＴ１に検出回数が最小の気筒番号をセットする。尚、ＡＴ（＃）は、ＡＴ（ＣＵＴ１）、ＡＴ（ＣＵＴ２）、ＡＴ（ＣＵＴ３）、ＡＴ（ＣＵＴ４）のいずれかであることを表している。
【００４８】
この後、ステップ３０４に進み、各気筒の検出回数カウンタＡＴ（＃）の中から検出回数が最小値から２番目の気筒番号を選択し、次のステップ３０５で、２番目に学習する気筒を表す第２気筒番号ＣＵＴ２に検出回数が最小値から２番目の気筒番号をセットする。      
【００４９】
この後、ステップ３０６に進み、各気筒の検出回数カウンタＡＴ（＃）の中から検出回数が最小値から３番目の気筒番号を選択し、次のステップ３０７で、３番目に学習する気筒を表す第３気筒番号ＣＵＴ３に検出回数が最小値から３番目の気筒番号をセットする。      
【００５０】
この後、ステップ３０８に進み、各気筒の検出回数カウンタＡＴ（＃）の中から検出回数が最小値から４番目の気筒番号を選択し、次のステップ３０９で、４番目に学習する気筒を表す第４気筒番号ＣＵＴ４に検出回数が最小値から４番目の気筒番号をセットして本ルーチンを終了する。
【００５１】
図８及び図９に示す気筒別空燃比補正量学習ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行され、特許請求の範囲でいう気筒別空燃比補正量学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ４０１で、減速時燃料カット実行中であるか否か（気筒別空燃比補正量の学習期間であるか否か）を判定し、減速時燃料カット実行中でなければ、ステップ４０２に進み、減速時燃料カット開始からの経過時間ＦＣＴをカウントする燃料カット時間カウンタを初期化して、ＦＣＴ＝０とし、本ルーチンを終了する。
【００５２】
上記ステップ４０１で、減速時燃料カット実行中と判定されれば、ステップ４０３に進み、減速時燃料カット開始から前回演算時までの経過時間ＦＣＴに本ルーチンの起動周期分の時間を積算して、減速時燃料カット開始から今回演算時までの経過時間（以下単に「燃料カット時間」という）ＦＣＴを求める。
【００５３】
この後、ステップ４０４に進み、燃料カット時間ＦＣＴが所定値ａ1 以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ1 以上になっていなければ、ステップ４０５に進み、気筒別空燃比補正量の検出回数が最小のＣＵＴ１気筒のみを運転気筒とし、残り３気筒を休止気筒として、前記実施例１と同様に、空燃比センサ３７の出力に基づいて当該ＣＵＴ１気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００５４】
一方、上記ステップ４０４で、燃料カット時間ＦＣＴが所定値ａ1 以上と判定されれば、ステップ４０６に進み、燃料カット時間ＦＣＴが所定値ａ1 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ1 であるときのみ、ステップ４０７に進み、その時点の運転気筒（ＣＵＴ１気筒）の気筒別空燃比補正量を検出して、これをＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶すると共に、ＣＵＴ１気筒の検出回数カウンタＡＴ（ＣＵＴ１）をカウントアップして不揮発性メモリに更新記憶する。このステップ４０７の処理は、燃料カット時間ＦＣＴが所定値ａ1 に達した時点に１回のみ行い、その後は、このステップ４０７の処理が飛び越される。
【００５５】
この後、ステップ４０８に進み、燃料カット時間ＦＣＴが所定値ａ2 （＝ａ1 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ2 以上になっていなければ、ステップ４０９に進み、気筒別空燃比補正量の検出回数が最小値から２番目のＣＵＴ２気筒のみを運転気筒とし、残り３気筒を休止気筒として、前記実施例１と同様に、空燃比センサ３７の出力に基づいて当該ＣＵＴ２気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００５６】
一方、上記ステップ４０８で、燃料カット時間ＦＣＴが所定値ａ2 以上と判定されれば、ステップ４１０に進み、燃料カット時間ＦＣＴが所定値ａ2 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ2 であるときのみ、ステップ４１１に進み、その時点の運転気筒（ＣＵＴ２気筒）の気筒別空燃比補正量を検出してＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶すると共に、ＣＵＴ２気筒の検出回数カウンタＡＴ（ＣＵＴ２）をカウントアップして不揮発性メモリに更新記憶する。このステップ４１１の処理は、燃料カット時間ＦＣＴが所定値ａ2 に達した時点に１回のみ行い、その後は、このステップ４１１の処理が飛び越される。
【００５７】
この後、図９のステップ４１２に進み、燃料カット時間ＦＣＴが所定値ａ3 （＝ａ2 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ3 以上になっていなければ、ステップ４１３に進み、気筒別空燃比補正量の検出回数が最小値から３番目のＣＵＴ３気筒のみを運転気筒とし、残り３気筒を休止気筒として、前記実施例１と同様に、空燃比センサ３７の出力に基づいて当該ＣＵＴ３気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００５８】
一方、上記ステップ４１２で、燃料カット時間ＦＣＴが所定値ａ3 以上と判定されれば、ステップ４１４に進み、燃料カット時間ＦＣＴが所定値ａ3 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ3 であるときのみ、ステップ４１５に進み、その時点の運転気筒（ＣＵＴ３気筒）の気筒別空燃比補正量を検出してＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶すると共に、ＣＵＴ３気筒の検出回数カウンタＡＴ（ＣＵＴ３）をカウントアップして不揮発性メモリに更新記憶する。このステップ４１５の処理は、燃料カット時間ＦＣＴが所定値ａ3 に達した時点に１回のみ行い、その後は、このステップ４１５の処理が飛び越される。
【００５９】
この後、ステップ４１６に進み、燃料カット時間ＦＣＴが所定値ａ4 （＝ａ3 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ4 以上になっていなければ、ステップ４１７に進み、気筒別空燃比補正量の検出回数が最小値から４番目のＣＵＴ４気筒のみを運転気筒とし、残り３気筒を休止気筒として、前記実施例１と同様に、空燃比センサ３７の出力に基づいて当該ＣＵＴ４気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００６０】
一方、上記ステップ４１６で、燃料カット時間ＦＣＴが所定値ａ4 以上と判定されれば、ステップ４１８に進み、燃料カット時間ＦＣＴが所定値ａ4 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ4 であるときのみ、ステップ４１９に進み、その時点の運転気筒（ＣＵＴ４気筒）の気筒別空燃比補正量を検出してＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶すると共に、ＣＵＴ４気筒の検出回数カウンタＡＴ（ＣＵＴ４）をカウントアップして不揮発性メモリに更新記憶する。このステップ４１９の処理は、燃料カット時間ＦＣＴが所定値ａ4 に達した時点に１回のみ行い、その後は、気筒別空燃比補正量の学習期間が終了したと判断して、ステップ４２０に進み、全ての気筒の燃料噴射をカットして減速時燃料カットを実行する。
【００６１】
以上説明した本実施例２によれば、各気筒の気筒別空燃比補正量の学習頻度（検出回数）をカウントし、気筒別空燃比補正量の学習期間中に学習頻度（検出回数）の少ない気筒から順番に気筒別空燃比補正量を学習するようにしたので、気筒別空燃比補正量の学習期間が短い場合でも、全ての気筒についてほぼ均等の頻度で気筒別空燃比補正量を学習することができ、学習精度を向上できる利点がある。
【実施例３】
【００６２】
上記実施例１，２では、気筒別空燃比補正量の学習期間中に運転気筒を１気筒ずつ順番に切り替えて気筒別空燃比補正量を学習するようにしたが、図１０乃至図１２に示す本発明の実施例３では、気筒別空燃比補正量の学習期間中に運転気筒の数を順番に減少させて気筒別空燃比補正量を学習するようにしている。
【００６３】
具体的には、図１０に示すように、減速時燃料カット期間（気筒別空燃比補正量の学習期間）の開始時に、予め、全気筒運転時の空燃比補正量を検出しておき、所定時間毎に、運転気筒の数を１気筒ずつ減少させて運転して、その都度、運転気筒全体の空燃比補正量を検出し、最後に、運転気筒の数を１気筒のみとしてその運転気筒の気筒別空燃比補正量を検出した上で、この運転気筒の気筒別空燃比補正量と上記空燃比補正量の検出データとから他の気筒の気筒別空燃比補正量を順次演算する。以下、本実施例３で実行する図１１及び図１２に示す各ルーチンの処理内容を説明する。
【００６４】
図１１及び図１２に示す気筒別空燃比補正量学習ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行され、特許請求の範囲でいう気筒別空燃比補正量学習手段としての役割を果たす。本ルーチンが起動されると、まずステップ５０１で、減速時燃料カット実行条件が成立しているか否か（気筒別空燃比補正量の学習実行条件が成立しているか否か）を判定し、減速時燃料カット実行条件が成立していなければ、ステップ５０２に進み、減速時燃料カット開始からの経過時間（以下単に「燃料カット時間」という）ＦＣＴをカウントする燃料カット時間カウンタを初期化して、ＦＣＴ＝０とし、本ルーチンを終了する。
【００６５】
上記ステップ５０１で、減速時燃料カット実行条件が成立していると判定されれば、ステップ５０３に進み、燃料カット時間ＦＣＴが０であるか否かを判定し、燃料カット時間ＦＣＴが０であれば、減速時燃料カット開始直前であると判断して、ステップ５０４に進み、４気筒（全気筒）運転時の空燃比補正量Ｃ1234を検出する。このステップ５０４の処理は、燃料カット時間ＦＣＴが０のときのみ行い、その後は、このステップ５０４の処理が飛び越される。
【００６６】
この後、ステップ５０５に進み、前回演算時までの燃料カット時間ＦＣＴに本ルーチンの起動周期分の時間を積算して、今回演算時までの燃料カット時間ＦＣＴを求める。
この後、ステップ５０６に進み、燃料カット時間ＦＣＴが所定値ａ1 以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ1 以上になっていなければ、ステップ５０７に進み、運転気筒の数を１つ減らして３つの気筒＃２，３，４のみを運転して、他の１つの気筒＃１を休止し、空燃比センサ３７の出力に基づいて当該３つの運転気筒＃２，３，４全体の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。尚、この時の休止気筒は気筒＃１に限定されず、他の気筒であっても良く、また、休止気筒を毎回異なる気筒に変更するようにしても良い。
【００６７】
一方、上記ステップ５０６で、燃料カット時間ＦＣＴが所定値ａ1 以上と判定されれば、ステップ５０８に進み、燃料カット時間ＦＣＴが所定値ａ1 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ1 であるときのみ、ステップ５０９に進み、３気筒運転時の空燃比補正量Ｃ234 を検出する。このステップ５０９の処理は、燃料カット時間ＦＣＴが所定値ａ1 に達した時点に１回のみ行い、その後は、このステップ５０９の処理が飛び越される。
【００６８】
この後、ステップ５１０に進み、燃料カット時間ＦＣＴが所定値ａ2 （＝ａ1 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ2 以上になっていなければ、ステップ５１１に進み、運転気筒の数を更に１つ減らして２つの気筒＃３，４のみを運転して、他の２つの気筒＃１，＃２を休止し、空燃比センサ３７の出力に基づいて当該２つの運転気筒＃３，４全体の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００６９】
一方、上記ステップ５１０で、燃料カット時間ＦＣＴが所定値ａ2 以上と判定されれば、ステップ５１２に進み、燃料カット時間ＦＣＴが所定値ａ2 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ2 であるときのみ、ステップ５１３に進み、２気筒運転時の空燃比補正量Ｃ34を検出する。このステップ５１２の処理は、燃料カット時間ＦＣＴが所定値ａ2 に達した時点に１回のみ行い、その後は、このステップ５１２の処理が飛び越される。
【００７０】
この後、図９のステップ５１４に進み、燃料カット時間ＦＣＴが所定値ａ3 （＝ａ2 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ3 以上になっていなければ、ステップ５１５に進み、運転気筒の数を更に１つ減らして１つの気筒＃４のみを運転して、他の３つの気筒＃１，＃２，＃３を休止し、空燃比センサ３７の出力に基づいて当該１つの運転気筒＃４の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する。
【００７１】
一方、上記ステップ５１２で、燃料カット時間ＦＣＴが所定値ａ3 以上と判定されれば、ステップ５１６に進み、燃料カット時間ＦＣＴが所定値ａ3 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ3 であるときのみ、ステップ５１７に進み、１気筒運転時の空燃比補正量Ｃ4 を検出する。この後、ステップ５１８に進み、上記ステップ５１７で検出した１気筒運転時の空燃比補正量Ｃ4 を＃４気筒の気筒別空燃比補正量ＣＭＰ４として学習し、これをＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。
【００７２】
この後、ステップ５１９に進み、＃３気筒の気筒別空燃比補正量ＣＭＰ３を、２気筒運転時の空燃比補正量Ｃ34と＃４気筒の気筒別空燃比補正量ＣＭＰ４を用いて次式により算出して、これをＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。
ＣＭＰ３＝Ｃ34×２−ＣＭＰ４
【００７３】
この後、ステップ５２０に進み、＃２気筒の気筒別空燃比補正量ＣＭＰ２を、３気筒運転時の空燃比補正量Ｃ234 と＃４気筒の気筒別空燃比補正量ＣＭＰ４と＃３気筒の気筒別空燃比補正量ＣＭＰ３を用いて次式により算出して、これをＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。
ＣＭＰ２＝Ｃ234 ×３−ＣＭＰ４−ＣＭＰ３
【００７４】
この後、ステップ５２１に進み、＃１気筒の気筒別空燃比補正量ＣＭＰ１を、４気筒運転時の空燃比補正量Ｃ1234と＃４気筒の気筒別空燃比補正量ＣＭＰ４と＃３気筒の気筒別空燃比補正量ＣＭＰ３と＃２気筒の気筒別空燃比補正量ＣＭＰ２を用いて次式により算出して、これをＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。
ＣＭＰ１＝Ｃ1234×４−ＣＭＰ４−ＣＭＰ３−ＣＭＰ２
【００７５】
これらのステップ５１７〜５２１の処理は、燃料カット時間ＦＣＴが所定値ａ3 に達した時点に１回のみ行い、その後は、気筒別空燃比補正量の学習期間が終了したと判断して、これらのステップ５１７〜５２１の処理を飛び越してステップ５２２に進み、全ての気筒の燃料噴射をカットして減速時燃料カットを実行する。
【００７６】
以上説明した本実施例３でも、前記実施例１と同様の効果を得ることができる。
尚、本実施例では、気筒別空燃比補正量の学習期間中に運転気筒の数を順番に減少させて気筒別空燃比補正量を学習するようにしたが、これとは反対に、運転気筒の数を順番に増加させて気筒別空燃比補正量を学習するようにしても良い。この場合には、最初に、例えば、いずれか１つの気筒のみを運転して、前記実施例１と同様の方法で、その運転気筒の気筒別空燃比補正量を学習し、その後、運転気筒の数を１気筒ずつ増加させて、学習済みの気筒の気筒別空燃比補正量を用いて、他の運転気筒の気筒別空燃比補正量を演算するという処理を繰り返すようにすれば良い。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】本発明の実施例１の気筒別空燃比補正量の学習方法を説明するためのタイムチャートである。
【図３】本発明の実施例１の減速時燃料カット実行条件判定ルーチンの処理の流れを示すフローチャートである。
【図４】本発明の実施例１の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その１）。
【図５】本発明の実施例１の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その２）。
【図６】本発明の実施例２の気筒別空燃比補正量の学習方法を説明するためのタイムチャートである。
【図７】本発明の実施例２の学習気筒順序判定ルーチンの処理の流れを示すフローチャートである。
【図８】本発明の実施例２の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その１）。
【図９】本発明の実施例２の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その２）。
【図１０】本発明の実施例３の気筒別空燃比補正量の学習方法を説明するためのタイムチャートである。
【図１１】本発明の実施例３の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その１）。
【図１２】本発明の実施例３の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その２）。
【符号の説明】
【００７８】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、１９…吸気マニホールド、２０…燃料噴射弁、２２…燃料ポンプ、２４…燃圧センサ、２５…吸気バルブ（バルブ装置）、２６…排気バルブ（バルブ装置）、３５…排気マニホールド、３６…排気合流部、３７…空燃比センサ、３８…触媒、４０…ＥＣＵ（気筒別空燃比補正量学習手段）
【図１】
2007285136.tif 000003
【図２】
2007285136.tif 000004
【図３】
2007285136.tif 000005
【図４】
2007285136.tif 000006
【図５】
2007285136.tif 000007
【図６】
2007285136.tif 000008
【図７】
2007285136.tif 000009
【図８】
2007285136.tif 000010
【図９】
2007285136.tif 000011
【図１０】
2007285136.tif 000012
【図１１】
2007285136.tif 000013
【図１２】
2007285136.tif 000014