(57)【要約】【課題】エンジンの気筒間ばらつきによる空燃比フィードバック制御の乱れを低減又は防止できるようにする。【解決手段】吸気管圧力センサ１８で検出した吸気管圧力等の挙動に基づいて各気筒毎に気筒間ばらつき値を算出し、各気筒の気筒間ばらつき値に基づいて各気筒毎に燃料噴射量等を補正することで気筒間ばらつきを補正する。エンジン運転中に、気筒間ばらつきが大きいとき、又は、気筒間ばらつき補正が完了するまでは、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れて空燃比フィードバック補正量が乱れる可能性があると判断して、空燃比フィードバック制御の制御ゲインを通常よりも小さい値に切り換えるか、或は、空燃比フィードバック制御を禁止する。これにより、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れているときでも、空燃比制御の安定性を確保する。【選択図】  図１
2004190592.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関の運転状態に関する情報を検出するセンサの出力に基づいて所定のフィードバック制御を行うフィードバック制御手段を備えた内燃機関の制御装置において、
前記内燃機関の気筒間の運転状態のばらつきを表す気筒間ばらつき値を求める気筒間ばらつき検出手段と、
前記気筒間ばらつき値が所定範囲を越えているときに、前記フィードバック制御の制御ゲインを小さくするか又は前記フィードバック制御を禁止する制御安定化手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項２】
前記気筒間ばらつき値に基づいて前記内燃機関の気筒間の運転状態のばらつきを補正する気筒間ばらつき補正手段を備え、
前記制御安定化手段は、前記気筒間ばらつき補正手段による気筒間ばらつき補正が完了していないときに、前記フィードバック制御の制御ゲインを小さくするか又は前記フィードバック制御を禁止することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
複数の気筒を有する内燃機関の運転状態に関する情報を検出するセンサの出力に基づいて所定のフィードバック制御を行うフィードバック制御手段を備えた内燃機関の制御装置において、
前記内燃機関の気筒間の運転状態のばらつきを表す気筒間ばらつき値を求める気筒間ばらつき検出手段と、
前記気筒間ばらつき値に基づいて前記内燃機関の気筒間の運転状態のばらつきを補正する気筒間ばらつき補正手段と、
前記気筒間ばらつき補正手段による気筒間ばらつき補正が完了していないときに、前記フィードバック制御の制御ゲインを小さくするか又は前記フィードバック制御を禁止する制御安定化手段と
を備えていることを特徴とする内燃機関の制御装置。
【請求項４】
前記制御安定化手段は、前記気筒間ばらつき補正手段による気筒間ばらつき補正の完了後も所定期間が経過するまで、前記フィードバック制御の制御ゲインを小さくするか又は前記フィードバック制御を禁止することを特徴とする請求項２又は３に記載の内燃機関の制御装置。
【請求項５】
前記制御安定化手段は、前記気筒間ばらつき値が所定範囲以内に減少するまで、前記フィードバック制御の制御ゲインを小さくするか又は前記フィードバック制御を禁止することを特徴とする請求項１乃至４のいずれかに記載の内燃機関の制御装置。
【請求項６】
前記フィードバック制御手段は、排出ガスセンサで検出した排出ガスの空燃比を目標空燃比に制御するように各気筒の燃料噴射弁の燃料噴射量を制御する空燃比フィードバック制御を行い、
前記制御安定化手段は、前記気筒間ばらつき値が所定範囲を越えている気筒に対してのみ前記空燃比フィードバック制御の制御ゲインを小さくするか又は前記空燃比フィードバック制御を禁止することを特徴とする請求項１乃至５のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の気筒を有する内燃機関の運転状態に関する情報を検出するセンサの出力に基づいて所定のフィードバック制御を行う内燃機関の制御装置に関するものである。
【０００２】
【従来の技術】
近年、車両に搭載される内燃機関においては、排気管に排出ガスを浄化する三元触媒等の触媒と排出ガスの空燃比を検出する空燃比センサとを設置し、空燃比センサで検出した排出ガスの空燃比を目標空燃比（触媒の浄化ウインド）に制御するように燃料噴射弁の燃料噴射量を制御する空燃比フィードバック制御を行うことで、触媒の排出ガス浄化効率を高めるようにしている。
【０００３】
このような空燃比フィードバック制御では、特許文献１（特開２００１−９０５８４号公報）に記載されているように、燃料噴射弁から空燃比センサまでの制御対象を模擬した空燃比制御モデルを構築し、エンジン運転状態に応じて空燃比制御モデルの応答時定数を変化させ、この応答時定数に応じて制御ゲインを変化させることで、エンジン運転状態に応じて空燃比制御モデルの特性を変化させて、全運転領域で空燃比フィードバック制御の安定性を確保しながら、エンジン運転状態の変化に対する空燃比フィードバック制御の応答性を向上できるようにしたものがある。
【０００４】
【特許文献１】
特開２００１−９０５８４号公報（第２頁等）
【０００５】
【発明が解決しようとする課題】
ところが、複数の気筒を有する内燃機関では、各気筒の個体差（部品公差、組付公差等）や経年変化等によって各気筒の運転状態にばらつきが生じることがあり、気筒間の運転状態のばらつきが大きいと、その影響を受けて空燃比センサ出力のサイクル内変動が大きくなる。しかし、上記特許文献１の空燃比フィードバック制御では、気筒間ばらつきを考慮しておらず、気筒間ばらつきが大きい状態でも、エンジン運転状態が同じであれば、同一の制御ゲインを設定するため、気筒間ばらつきの影響を受けて空燃比センサ出力の変動が大きくなると、それに伴って空燃比フィードバック補正量の変動が大きくなってしまい、空燃比フィードバック制御の安定性が損なわれてしまう可能性がある。
【０００６】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、気筒間ばらつきによるフィードバック制御の乱れを低減又は防止することができ、フィードバック制御の安定性を向上させることができる内燃機関の制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の制御装置は、内燃機関の気筒間の運転状態のばらつきを表す気筒間ばらつき値を気筒間ばらつき検出手段により求め、気筒間ばらつき値が所定範囲を越えているときに、制御安定化手段によりフィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止するようにしたものである。この構成では、気筒間ばらつきによるセンサ出力の乱れによってフィードバック制御が乱れるような状態になれば、気筒間ばらつき検出手段により検出した気筒間ばらつき値が所定範囲を越えてフィードバック制御の制御ゲインを小さくしたり又はフィードバック制御を禁止するため、気筒間ばらつきによるフィードバック制御の乱れを低減又は防止することができ、フィードバック制御の安定性を向上させることができる。
【０００８】
また、気筒間ばらつき値に基づいて内燃機関の気筒間の運転状態のばらつきを補正する気筒間ばらつき補正手段を備えたシステムの場合、気筒間ばらつき補正が完了するまでは、まだ気筒間ばらつきが大きいため、フィードバック制御が乱れる可能性がある。
【０００９】
そこで、請求項２，３のように、気筒間ばらつき補正が完了していないときに、フィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止するようにしても良い。このようにすれば、気筒間ばらつき補正の完了前で、まだ気筒間ばらつきが大きいときに、フィードバック制御の乱れを低減又は防止することができ、フィードバック制御の安定性を向上させることができる。
【００１０】
また、気筒間ばらつき補正を実行してから実際に気筒間ばらつきが十分に小さくなるまでには暫く時間がかかることがあるため、請求項４のように、気筒間ばらつき補正の完了後も所定期間が経過するまで、フィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止するようにしても良い。このようにすれば、気筒間ばらつき補正の完了直後で気筒間ばらつきが十分に小さくなっていない可能性がある期間にも、フィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止する処理を行って、確実にフィードバック制御の乱れを低減又は防止することができる。
【００１１】
或は、請求項５のように、気筒間ばらつき値が所定範囲以内に減少するまで、フィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止するようにしても良い。このようにしても、気筒間ばらつきが確実に小さくなるまで、フィードバック制御の制御ゲインを小さくするか又はフィードバック制御を禁止する処理を継続することができ、確実にフィードバック制御の乱れを低減又は防止することができる。
【００１２】
また、請求項６のように、排出ガスセンサで検出した排出ガスの空燃比を目標空燃比に制御するように各気筒の燃料噴射弁の燃料噴射量を制御する空燃比フィードバック制御を行うシステムの場合には、気筒間ばらつき値が所定範囲を越えている気筒に対してのみ空燃比フィードバック制御の制御ゲインを小さくするか又は空燃比フィードバック制御を禁止するようにしても良い。このようにすれば、気筒間ばらつきが大きい気筒に対してのみ空燃比フィードバック制御の制御ゲインを小さくするか又は空燃比フィードバック制御を禁止する処理を行って、空燃比フィードバック制御の安定性の悪化を防止しながら、気筒間ばらつきが小さい気筒に対しては通常の空燃比フィードバック制御を行って、空燃比制御性を確保することができる。
【００１３】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図６に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば４気筒のエンジン１１は、第１気筒＃１〜第４気筒＃４の４つの気筒を有し、このエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１４】
また、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７に、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００１５】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比又はリーン／リッチ等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられている。また、エンジン１１のシリンダブロックには、冷却水温を検出する水温センサ２５や、エンジン１１のクランク軸が一定クランク角（例えば３０℃Ａ）回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００１６】
前述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００１７】
その際、ＥＣＵ２７は、後述する図６に示す空燃比Ｆ／Ｂ（「Ｆ／Ｂ」は「フィードバック」の略記）補正量算出プログラムを実行することで、排出ガスセンサ２４で検出した排出ガスの検出空燃比λs を目標空燃比λtgに一致させるように所定の制御ゲインωを用いて空燃比Ｆ／Ｂ補正量ＦＡＦを算出し、図示しない燃料噴射量算出プログラムを実行することで、空燃比Ｆ／Ｂ補正量ＦＡＦを用いて燃料噴射量を算出して、燃料噴射弁２０の燃料噴射量を制御する。
【００１８】
しかし、気筒間の運転状態のばらつきが大きいと、その影響を受けて排出ガスセンサ２４出力のサイクル内変動が大きくなり、それに伴って空燃比Ｆ／Ｂ補正量ＦＡＦの変動が大きくなってしまい、空燃比Ｆ／Ｂ制御の安定性が損なわれてしまう可能性がある。
【００１９】
そこで、ＥＣＵ２７は、後述する図２及び図３に示す気筒間ばらつき検出プログラムを実行することで、エンジン１１の気筒間の運転状態のばらつきを表す気筒間ばらつき値ＤＥＶを算出し、後述する図５に示す気筒間ばらつき補正プログラムを実行することで、気筒間ばらつき値ＤＥＶに基づいてエンジン１１の気筒間の運転状態のばらつきを補正する。
【００２０】
そして、図６に示す空燃比Ｆ／Ｂ補正量算出プログラムを実行して空燃比Ｆ／Ｂ補正量ＦＡＦを算出する際、気筒間ばらつき値ＤＥＶが所定範囲を越えているとき、又は、気筒間ばらつき補正が完了していないときには、空燃比Ｆ／Ｂ制御の制御ゲインωを通常よりも小さくすることで、空燃比Ｆ／Ｂ補正量の乱れを低減又は防止して、空燃比Ｆ／Ｂ制御の安定化を図る。以下、ＥＣＵ２７が実行する各プログラムの処理内容を説明する。
【００２１】
［気筒間ばらつき検出プログラム］
図２及び図３に示す気筒間ばらつき検出プログラムは、例えば、イグニッションスイッチ（図示せず）のオン後に所定周期で実行され、特許請求の範囲でいう気筒間ばらつき検出手段としての役割を果たす。
【００２２】
ここで、図４に示すように、吸気管圧力センサ１８で検出した吸気管圧力の波形は、各気筒の運転状態（吸入空気量、燃焼状態、空燃比等）を反映した脈動波形となる。従って、各気筒の影響が現れるクランク角範囲毎に吸気管圧力センサ１８で検出した吸気管圧力の極小値、極大値、平均値、振幅値、面積、軌跡長等の特性値を算出すれば、各気筒の運転状態を反映した脈動波形の特性値を算出することができるので、この特性値を用いれば、各気筒の運転状態のばらつきを反映した気筒間ばらつき値を算出することができる。
【００２３】
尚、本プログラムでは、吸気管圧力の極小値を用いて気筒間ばらつき値を算出するため、図４（ａ）に示すように、後述する第１〜第４のクランク角範囲は、それぞれ第１〜第４気筒の影響で吸気管圧力が極小値となる領域を含むように設定されている。
【００２４】
本プログラムが起動されると、まず、ステップ１０１で、気筒間ばらつき検出の実行条件が成立しているか否かを、例えば、定常状態（過渡状態ではない）か否か等によって判定する。気筒間ばらつき検出の実行条件が不成立と判定されれば、以降の処理を行うことなく、本プログラムを終了する。
【００２５】
一方、上記ステップ１０１で、気筒間ばらつき検出の実行条件が成立していると判定された場合には、ステップ１０２に進み、クランク角センサ２６の出力信号に基づいて検出したクランク角が第１のクランク角範囲（第１気筒＃１の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内であるか否かを判定する。その結果、第１のクランク角範囲内であると判定されれば、ステップ１０３に進み、第１のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第１気筒＃１の吸気管圧力極小値ＰＭmin(#1) として算出する。
【００２６】
一方、上記ステップ１０２で、クランク角が第１のクランク角範囲内ではないと判定された場合には、ステップ１０４に進み、クランク角が第２のクランク角範囲（第２気筒＃２の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内であるか否かを判定する。その結果、第２のクランク角範囲内であると判定されれば、ステップ１０５に進み、第２のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第２気筒＃２の吸気管圧力極小値ＰＭmin(#2) として算出する。
【００２７】
また、上記ステップ１０４で、クランク角が第２のクランク角範囲内ではないと判定された場合には、ステップ１０６に進み、クランク角が第３のクランク角範囲（第３気筒＃３の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内であるか否かを判定する。その結果、第３のクランク角範囲内であると判定されれば、ステップ１０７に進み、第３のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第３気筒＃３の吸気管圧力極小値ＰＭmin(#3) として算出する。
【００２８】
また、上記ステップ１０６で、クランク角が第３のクランク角範囲内ではないと判定された場合には、クランク角が第４のクランク角範囲（第４気筒＃４の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内であると判断して、ステップ１０８に進み、第４のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第４気筒＃４の吸気管圧力極小値ＰＭmin(#4) として算出する。
【００２９】
この後、図３のステップ１０９に進み、全気筒の吸気管圧力極小値ＰＭmin(#1) 〜ＰＭmin(#4) の平均値ＡＶＥＰＭmin を算出する。
ＡＶＥＰＭmin ＝｛ＰＭmin(#1) ＋……＋ＰＭmin(#4) ｝／４
【００３０】
この後、ステップ１１０に進み、各気筒の吸気管圧力極小値ＰＭmin(#i) と平均値ＡＶＥＰＭmin とを用いて各気筒の気筒間ばらつき値ＤＥＶ(#i)を次式により算出する。ここで、＃ｉ＝＃１〜＃４である。
ＤＥＶ(#i)＝ＰＭmin(#i) −ＡＶＥＰＭmin
【００３１】
この後、ステップ１１１に進み、各気筒の気筒間ばらつき値ＤＥＶ(#i)が、それぞれ所定範囲内（Ｋ１≦ＤＥＶ(#i)≦Ｋ２）であるか否かを判定する。その結果、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)のうち１つでも所定範囲から外れていると判定された場合には、ステップ１１２に進み、気筒間ばらつきフラグＸＤＥＶを気筒間ばらつきが大きいことを意味する「１」にセットして、本プログラムを終了する。
【００３２】
一方、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)が所定範囲内であると判定された場合には、ステップ１１３に進み、気筒間ばらつきフラグＸＤＥＶを気筒間ばらつきが小さいことを意味する「０」にリセットして、本プログラムを終了する。
【００３３】
［気筒間ばらつき補正プログラム］
図５に示す気筒間ばらつき補正プログラムは、例えば、イグニッションスイッチのオン後に所定周期で実行され、特許請求の範囲でいう気筒間ばらつき補正手段としての役割を果たす。本プログラムが起動されると、まず、ステップ２０１で、各気筒の気筒間ばらつき値ＤＥＶ(#i)を読み込んだ後、ステップ２０２に進み、各気筒の気筒間ばらつき値ＤＥＶ(#i)を用いて、各気筒の燃料噴射時間補正係数ＦＴＡＵ(#i)を次式により算出する。
ＦＴＡＵ(#i)＝ＤＥＶ(#i)＋１
【００３４】
この後、ステップ２０３に進み、補正前の全気筒の平均燃料噴射時間ＴＡＵに各気筒の燃料噴射時間補正係数ＦＴＡＵ(#i)を乗算して、各気筒の最終燃料噴射時間ＴＡＵ(#i)を求める。
ＴＡＵ(#i)＝ＴＡＵ×ＦＴＡＵ(#i)
以上の処理により、各気筒の気筒間ばらつき値ＤＥＶ(#i)に応じて各気筒の燃料噴射量を補正することで、気筒間の空燃比ばらつきを小さくする。
【００３５】
［空燃比Ｆ／Ｂ補正量算出プログラム］
図６に示す空燃比Ｆ／Ｂ補正量算出プログラムは、例えば、燃料噴射毎に実行され、特許請求の範囲でいうフィードバック制御手段としての役割を果たす。本プログラムが起動されると、まず、ステップ３０１で、▲１▼気筒間ばらつきが小さい（気筒間ばらつきフラグＸＤＥＶ＝０）か否かを判定し、また、▲２▼気筒間ばらつき補正が完了してから所定期間（所定時間、所定クランク角等）経過したか否かを判定する。
【００３６】
その結果、気筒間ばらつきが大きい（気筒間ばらつきフラグＸＤＥＶ＝１）と判定された場合、又は、気筒間ばらつき補正完了から所定期間が経過する前であると判定された場合には、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れて空燃比Ｆ／Ｂ補正量ＦＡＦが乱れる可能性があると判断して、ステップ３０２に進み、空燃比Ｆ／Ｂ制御の制御ゲインωを通常値ω1 よりも小さい値ω2 に切り換える。これにより、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れても、空燃比Ｆ／Ｂ補正量ＦＡＦが乱れることを低減又は防止する。このステップ３０２の処理が特許請求の範囲でいう制御安定化手段としての役割を果たす。
【００３７】
一方、上記ステップ３０１で、気筒間ばらつきが小さいと判定された場合、又は、気筒間ばらつき補正が完了してから所定期間が経過したと判定された場合には、ステップ３０３に進み、空燃比Ｆ／Ｂ制御の制御ゲインωを通常値ω1 に戻す。
【００３８】
このようにして、ステップ３０２又は３０３で制御ゲインωを設定した後、ステップ３０４に進み、検出空燃比λs を目標空燃比λtgに一致させるように制御ゲインωを用いて空燃比Ｆ／Ｂ補正量ＦＡＦを算出する。
【００３９】
以上説明した本実施形態（１）では、気筒間ばらつきが大きいときに、空燃比Ｆ／Ｂ制御の制御ゲインωを通常よりも小さい値ω2 に切り換えるようにしたので、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れても、空燃比Ｆ／Ｂ補正量ＦＡＦが乱れることを低減又は防止することができ、空燃比Ｆ／Ｂ制御の安定性を向上させることができる。
【００４０】
また、本実施形態（１）では、気筒間ばらつき補正を実行してから実際に気筒間ばらつきが十分に小さくなるまでには暫く時間がかかることがあることを考慮して、気筒間ばらつき補正の完了後も所定期間が経過するまで、空燃比Ｆ／Ｂ制御の制御ゲインωを通常よりも小さくする処理を継続するようにしたので、気筒間ばらつき補正の完了直後で気筒間ばらつきが十分に小さくなっていない可能性がある期間にも、空燃比Ｆ／Ｂ制御の制御ゲインωを小さくする処理を行って、確実に空燃比Ｆ／Ｂ制御の乱れを低減又は防止することができる。
【００４１】
しかしながら、必ずしも、気筒間ばらつき補正完了から所定期間が経過するまで空燃比Ｆ／Ｂ制御の制御ゲインωを小さくする処理を継続する必要はなく、気筒間ばらつき補正によって速やかに気筒間ばらつきが小さくなるような場合には、気筒間ばらつき補正完了直後に、直ちに空燃比Ｆ／Ｂ制御の制御ゲインωを通常値ω1 に戻すようにしても良い。
【００４２】
《実施形態（２）》
前記実施形態（１）では、吸気管圧力の極小値を用いて気筒間ばらつき値を算出したが、本発明の本実施形態（２）では、後述する図７及び図８に示す気筒間ばらつき検出プログラムを実行することで、吸気管圧力の極大値を用いて気筒間ばらつき値を算出するようにしている。
【００４３】
［気筒間ばらつき検出プログラム］
図７及び図８に示す気筒間ばらつき検出プログラムでは、吸気管圧力の極大値を用いて気筒間ばらつき値を算出するため、図４（ｂ）に示すように、後述する第１〜第４のクランク角範囲は、それぞれ第１〜第４気筒の影響で吸気管圧力が極大値となる領域を含むように設定されている。
【００４４】
本プログラムでは、ステップ４０１で気筒間ばらつき検出の実行条件が成立していると判定された場合、クランク角が第１のクランク角範囲（第１気筒＃１の影響で吸気管圧力が極大値となる領域を含むクランク角範囲）内のときに、該第１のクランク角範囲内における吸気管圧力の極大値ＰＭmax を、第１気筒＃１の吸気管圧力極大値ＰＭmax(#1) として算出する（ステップ４０２、４０３）。
【００４５】
一方、クランク角が第２のクランク角範囲（第２気筒＃２の影響で吸気管圧力が極大値となる領域を含むクランク角範囲）内のときに、該第２のクランク角範囲内における吸気管圧力の極大値ＰＭmax を、第２気筒＃２の吸気管圧力極大値ＰＭmax(#2) として算出する（ステップ４０４、４０５）。
【００４６】
また、クランク角が第３のクランク角範囲（第３気筒＃３の影響で吸気管圧力が極大値となる領域を含むクランク角範囲）内のときに、該第３のクランク角範囲内における吸気管圧力の極大値ＰＭmax を、第３気筒＃３の吸気管圧力極大値ＰＭmax(#3) として算出する（ステップ４０６、４０７）。
【００４７】
また、クランク角が第４のクランク角範囲（第４気筒＃４の影響で吸気管圧力が極大値となる領域を含むクランク角範囲）内のときに、該第４のクランク角範囲内における吸気管圧力の極大値ＰＭmax を、第４気筒＃４の吸気管圧力極大値ＰＭmax(#4) として算出する（ステップ４０８）。
【００４８】
この後、図８のステップ４０９に進み、全気筒の吸気管圧力極大値ＰＭmax(#1) 〜ＰＭmax(#4) の平均値ＡＶＥＰＭmax を算出する。
ＡＶＥＰＭmax ＝｛ＰＭmax(#1) ＋……＋ＰＭmax(#4) ｝／４
【００４９】
この後、ステップ４１０に進み、各気筒の吸気管圧力極大値ＰＭmax(#i) と平均値ＡＶＥＰＭmax とを用いて各気筒の気筒間ばらつき値ＤＥＶ(#i)を次式により算出する。
ＤＥＶ(#i)＝ＰＭmax(#i) −ＡＶＥＰＭmax
【００５０】
この後、ステップ４１１に進み、各気筒の気筒間ばらつき値ＤＥＶ(#i)が、それぞれ所定範囲内（Ｋ１≦ＤＥＶ(#i)≦Ｋ２）であるか否かを判定し、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)のうち１つでも所定範囲から外れていると判定された場合には、ステップ４１２に進み、気筒間ばらつきフラグＸＤＥＶを「１」にセットし、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)が所定範囲内であると判定された場合には、ステップ４１３に進み、気筒間ばらつきフラグＸＤＥＶを「０」にリセットする。
以上説明した本実施形態（２）のようにしても、各気筒の気筒間ばらつき値ＤＥＶ(#i)を精度良く求めることができる。
【００５１】
《実施形態（３）》
次に、図９を用いて本発明の実施形態（３）を説明する。本実施形態（３）では、図９示す空燃比Ｆ／Ｂ補正量算出プログラムを実行することで、燃料噴射弁２０から排出ガスセンサ２４までの制御対象を模擬した空燃比制御モデルを用いて、排出ガスセンサ２４で検出した排出ガスの検出空燃比λs を目標空燃比λtgに一致させるように所定の制御ゲインωを用いて空燃比Ｆ／Ｂ補正量ＦＡＦを算出する。この際、気筒間ばらつき値ＤＥＶが所定範囲を越えているとき、又は、気筒間ばらつき補正が完了していないときには、制御ゲインωを通常よりも小さくすることで、空燃比Ｆ／Ｂ補正量の乱れを低減又は防止して、空燃比Ｆ／Ｂ制御の安定化を図る。
【００５２】
図９に示す空燃比Ｆ／Ｂ補正量算出プログラムでは、まずステップ５０１で、空燃比制御モデルの応答時定数τのマップ又は数式を用いて、現在のエンジン運転状態（例えば吸入空気量）に応じた空燃比制御モデルの応答時定数τを算出する。この空燃比制御モデルの応答時定数τのマップ又は数式は、予め、実験、シミュレーション等によって設定され、ＥＣＵ２７のＲＯＭに記憶されている。
【００５３】
この後、ステップ５０２に進み、制御ゲインωのマップ又は数式を用いて、空燃比制御モデルの応答時定数τに応じた制御ゲインωを算出する。この制御ゲインωのマップ又は数式は、予め、実験、シミュレーション等によって設定され、ＥＣＵ２７のＲＯＭに記憶されている。
【００５４】
この後、ステップ５０３に進み、▲１▼気筒間ばらつきが小さい（気筒間ばらつきフラグＸＤＥＶ＝０）か否かを判定し、また、▲２▼気筒間ばらつき補正が完了したか否かを判定する。
【００５５】
その結果、気筒間ばらつきが大きい（気筒間ばらつきフラグＸＤＥＶ＝１）と判定された場合、又は、気筒間ばらつき補正が未完了であると判定された場合には、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れて空燃比Ｆ／Ｂ補正量ＦＡＦが乱れる可能性があると判断して、ステップ５０４に進み、エンジン運転状態に応じた算出した制御ゲインωに補正係数ｆ0 （０＜ｆ0 ＜１）を乗算して制御ゲインωを補正することで、制御ゲインωを通常よりも小さい値に切り換える。
ω＝ω×ｆ0
【００５６】
一方、上記ステップ５０３で、気筒間ばらつきが小さいと判定された場合、又は、気筒間ばらつき補正が完了したと判定された場合には、ステップ５０５に進み、エンジン運転状態に応じて算出した制御ゲインωをそのまま採用する。
【００５７】
以上のようにして、ステップ５０４又は５０５で制御ゲインωを設定した後、ステップ５０６に進み、空燃比制御モデルの応答時定数τ、制御ゲインω、減衰係数ζ、検出空燃比λs と目標空燃比λtgとの偏差Δλ等を用いて、空燃比制御モデルから導かれる空燃比Ｆ／Ｂ補正量ＦＡＦの算出式により、検出空燃比λs を目標空燃比λtgに一致させるように空燃比Ｆ／Ｂ補正量ＦＡＦを算出する。
尚、空燃比制御モデルを用いた空燃比Ｆ／Ｂ補正量ＦＡＦの算出に関連する技術は、例えば、特開２００１−９０５８４号公報に詳細に記載されている。
【００５８】
以上説明した本実施形態（３）では、エンジン運転状態に応じて制御ゲインωを変化させるようにしたので、全運転領域で空燃比Ｆ／Ｂ制御の安定性を確保しながら、エンジン運転状態の変化に対する空燃比Ｆ／Ｂ制御の応答性を向上させることができる。しかも、気筒間ばらつきが大きいときや気筒間ばらつき補正が未完了のときには、空燃比Ｆ／Ｂ制御の制御ゲインωを通常よりも小さい値に切り換えるようにしたので、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れても、空燃比Ｆ／Ｂ補正量ＦＡＦが乱れることを低減又は防止することができ、空燃比Ｆ／Ｂ制御の安定性を向上させることができる。
【００５９】
尚、本実施形態（３）においても、前記実施形態（１）と同じように、気筒間ばらつき補正完了後も所定期間が経過するまで、空燃比Ｆ／Ｂ制御の制御ゲインωを小さくする処理を継続するようにしても良い。
【００６０】
《実施形態（４）》
上記各実施形態（１）〜（３）では、気筒間ばらつきが大きいときに空燃比制御を安定化させるために制御ゲインωを小さくするようにしたが、本発明の実施形態（４）では、後述する図１０に示す制御安定化プログラムを実行することで、気筒間ばらつきが大きいときに空燃比Ｆ／Ｂ制御を禁止して空燃比制御を安定化させるようにしている。
【００６１】
［制御安定化プログラム］
図１０に示す制御安定化プログラムでは、まず、ステップ６０１で、▲１▼気筒間ばらつきが小さい（気筒間ばらつきフラグＸＤＥＶ＝０）か否かを判定し、また、▲２▼気筒間ばらつき補正が完了したか否かを判定する。
【００６２】
その結果、気筒間ばらつきが大きい（気筒間ばらつきフラグＸＤＥＶ＝１）と判定された場合、又は、気筒間ばらつき補正が未完了であると判定された場合には、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れているため、空燃比Ｆ／Ｂ制御を実行すると、空燃比Ｆ／Ｂ補正量ＦＡＦが乱れる可能性があると判断して、ステップ６０２に進み、空燃比Ｆ／Ｂ制御を禁止する（例えば、空燃比Ｆ／Ｂ補正量ＦＡＦを基準値に固定する）。
【００６３】
一方、上記ステップ６０１で、気筒間ばらつきが小さいと判定された場合、又は、気筒間ばらつき補正が完了したと判定された場合には、ステップ６０３に進み、空燃比Ｆ／Ｂ制御を許可する。
【００６４】
以上説明した本実施形態（４）では、気筒間ばらつきが大きいときや気筒間ばらつき補正が未完了のときに、空燃比Ｆ／Ｂ制御を禁止するようにしたので、気筒間ばらつきによって排出ガスセンサ２４の出力が乱れても、空燃比制御の安定性を向上させることができる。
尚、気筒間ばらつき補正完了後も所定期間が経過するまで、空燃比Ｆ／Ｂ制御を禁止する処理を継続するようにしても良い。
【００６５】
《実施形態（５）》
前記実施形態（４）では、気筒間ばらつきが大きいときに、全ての気筒に対して空燃比Ｆ／Ｂ制御を禁止するようにしたが、本発明の実施形態（５）では、後述する図１１及び図１２に示す気筒間ばらつき検出及び制御安定化プログラムを実行することで、気筒間ばらつきが大きい気筒に対してのみ空燃比Ｆ／Ｂ制御を禁止するようにしている。
【００６６】
［気筒間ばらつき検出及び制御安定化プログラム］
図１１及び図１２に示す気筒間ばらつき検出及び制御安定化プログラムでは、ステップ７０１で気筒間ばらつき検出の実行条件が成立していると判定された場合、クランク角が第１のクランク角範囲（第１気筒＃１の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内のときに、該第１のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第１気筒＃１の吸気管圧力極小値ＰＭmin(#1) として算出する（ステップ７０２、７０３）。
【００６７】
一方、クランク角が第２のクランク角範囲（第２気筒＃２の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内のときに、該第２のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第２気筒＃２の吸気管圧力極小値ＰＭmin(#2) として算出する（ステップ７０４、７０５）。
【００６８】
また、クランク角が第３のクランク角範囲（第３気筒＃３の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内のときに、該第３のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第３気筒＃３の吸気管圧力極小値ＰＭmin(#3) として算出する（ステップ７０６、７０７）。
【００６９】
また、クランク角が第４のクランク角範囲（第４気筒＃４の影響で吸気管圧力が極小値となる領域を含むクランク角範囲）内のときに、該第４のクランク角範囲内における吸気管圧力の極小値ＰＭmin を、第４気筒＃４の吸気管圧力極小値ＰＭmin(#4) として算出する（ステップ７０８）。
【００７０】
この後、図１２のステップ７０９に進み、各気筒の吸気管圧力極小値ＰＭmin(#i) を用いて各気筒の気筒間ばらつき値ＤＥＶ(#i)を算出する。本実施形態（５）では、第ｊ気筒＃ｊの気筒間ばらつき値ＤＥＶ(#j)を求める場合、第ｊ気筒＃ｊの吸気管圧力極小値ＰＭmin(#j) と第ｊ気筒＃ｊ以外の気筒の吸気管圧力極小値の平均値との偏差を求め、それを第ｊ気筒＃ｊの気筒間ばらつき値ＤＥＶ(#j)とする。
【００７１】
ＤＥＶ(#1)＝ＰＭmin(#1) −｛ＰＭmin(#2) ＋ＰＭmin(#3) ＋ＰＭmin(#4) ｝／３
ＤＥＶ(#2)＝ＰＭmin(#2) −｛ＰＭmin(#1) ＋ＰＭmin(#3) ＋ＰＭmin(#4) ｝／３
ＤＥＶ(#3)＝ＰＭmin(#3) −｛ＰＭmin(#1) ＋ＰＭmin(#2) ＋ＰＭmin(#4) ｝／３
ＤＥＶ(#4)＝ＰＭmin(#4) −｛ＰＭmin(#1) ＋ＰＭmin(#2) ＋ＰＭmin(#3) ｝／３
【００７２】
この後、ステップ７１０に進み、各気筒の気筒間ばらつき値ＤＥＶ(#i)の絶対値が、それぞれ所定値Ｘよりも大きいか否かを判定する。その結果、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)のうち１つでも所定値Ｘよりも大きいと判定された場合には、ステップ７１１に進み、｜ＤＥＶ(#i)｜＞Ｘと判定された気筒、つまり、気筒間ばらつきが大きい気筒に対してのみ空燃比Ｆ／Ｂ制御を禁止する。この場合、気筒間ばらつきが大きい気筒以外の気筒（つまり、気筒間ばらつきが小さい気筒）に対しては通常の空燃比Ｆ／Ｂ制御を行う。
【００７３】
一方、全ての気筒間ばらつき値ＤＥＶ(#1)〜ＤＥＶ(#4)が所定値Ｘ以下である（｜ＤＥＶ(#i)｜≦Ｘ）と判定された場合には、ステップ７１２に進み、全気筒に対して空燃比Ｆ／Ｂ制御を許可する。
この後、ステップ７１３に進み、各気筒の吸気管圧力極小値ＰＭmin(#i) を例えば１サイクル（７２０℃）毎にリセットして、本プログラムを終了する。
【００７４】
以上説明した本実施形態（５）では、気筒間ばらつきが大きい気筒に対してのみ空燃比Ｆ／Ｂ制御を禁止するようにしたので、気筒間ばらつきによる空燃比Ｆ／Ｂ制御の安定性の悪化を防止しながら、気筒間ばらつきが小さい気筒に対しては通常の空燃比Ｆ／Ｂ制御を行って、空燃比制御性を確保することができる。
【００７５】
尚、本実施形態（５）では、気筒間ばらつきが大きい気筒に対してのみ空燃比Ｆ／Ｂ制御を禁止するようにしたが、気筒間ばらつきが大きい気筒に対してのみ空燃比Ｆ／Ｂ制御の制御ゲインωを通常よりも小さくするようにしても良い。
【００７６】
また、上記各実施形態（１）〜（５）では、本発明を空燃比Ｆ／Ｂ制御に適用したが、本発明はこれに限定されず、例えば、クランク角センサ２６で検出したエンジン回転速度を目標アイドル回転速度に制御するように吸入空気量制御弁（アイドルスピードコントロールバルブ又はスロットルバルブ）の開度を制御するアイドル回転速度Ｆ／Ｂ制御等、気筒間ばらつきの影響を受ける種々のＦ／Ｂ制御に本発明を適用することができる。
【００７７】
また、上記各実施形態（１）〜（５）では、吸気管圧力の所定期間毎の極大値又は極小値に基づいて気筒間ばらつき値を算出したが、気筒間ばらつき値の算出方法は適宜変更しても良く、例えば、吸気管圧力の所定期間毎の平均値、振幅値、面積、軌跡長等に基づいて気筒間ばらつき値を算出するようにしても良い。また、吸気管圧力に代えて、吸入空気量、筒内圧力、回転速度、イオン電流、空燃比等に基づいて気筒間ばらつき値を算出するようにしても良い。
【００７８】
また、上記各実施形態（１）〜（５）では、各気筒毎に燃料噴射量を補正することで気筒間ばらつきを補正したが、気筒間ばらつきの補正方法は適宜変更しても良く、例えば、各気筒毎に点火時期を補正したり、各気筒毎に吸入空気量を補正して気筒間ばらつきを補正するようにしても良い。
その他、本発明の適用範囲は４気筒のエンジンに限定されず、５気筒以上又は３気筒以下の複数気筒エンジンに本発明を適用しても良い。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】実施形態（１）の気筒間ばらつき検出プログラムの処理の流れを示すフローチャート（その１）
【図３】実施形態（１）の気筒間ばらつき検出プログラムの処理の流れを示すフローチャート（その２）
【図４】吸気管圧力の挙動を示すタイムチャート
【図５】実施形態（１）の気筒間ばらつき補正プログラムの処理の流れを示すフローチャート
【図６】実施形態（１）の空燃比Ｆ／Ｂ補正量算出プログラムの処理の流れを示すフローチャート
【図７】実施形態（２）の気筒間ばらつき検出プログラムの処理の流れを示すフローチャート（その１）
【図８】実施形態（２）の気筒間ばらつき検出プログラムの処理の流れを示すフローチャート（その２）
【図９】実施形態（３）の空燃比Ｆ／Ｂ補正量算出プログラムの処理の流れを示すフローチャート
【図１０】実施形態（４）の制御安定化プログラムの処理の流れを示すフローチャート
【図１１】実施形態（５）の気筒間ばらつき検出及び制御安定化プログラムの処理の流れを示すフローチャート（その１）
【図１２】実施形態（５）の気筒間ばらつき検出及び制御安定化プログラムの処理の流れを示すフローチャート（その２）
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、１８…吸気管圧力センサ、２０…燃料噴射弁、２１…点火プラグ、２２…排気管、２４…排出ガスセンサ、２６…クランク角センサ、２７…ＥＣＵ（フィードバック制御手段，気筒間ばらつき検出手段，気筒間ばらつき補正手段，制御安定化手段）。
【図１】
2004190592.tif 000003
【図２】
2004190592.tif 000004
【図３】
2004190592.tif 000005
【図４】
2004190592.tif 000006
【図５】
2004190592.tif 000007
【図６】
2004190592.tif 000008
【図７】
2004190592.tif 000009
【図８】
2004190592.tif 000010
【図９】
2004190592.tif 000011
【図１０】
2004190592.tif 000012
【図１１】
2004190592.tif 000013
【図１２】
2004190592.tif 000014