(57)【要約】【課題】燃料系の誤差と空気系の誤差のそれぞれに応じて、適切に補正を実施し、空燃比ばらつきとトルクばらつきの双方を補正する。【解決手段】排気管集合部１０Ａの空燃比に基づいたフィードバック制御を実施中に、目標空燃比と実空燃比の差が所定値以下のとき、角加速度のばらつきがもっとも大きい気筒cyl_1の空燃比を例えば、燃料増量によってリッチ側に補正する。その後、あらためて、気筒毎の角加速度を検出し、気筒間の角加速度ばらつきが解消されていないときは、前記ばらつきがもっとも大きかった気筒の空気制御量に誤差があると判断し、当該気筒の空気量、燃料量、点火時期などを補正する。【選択図】図１
2011027059.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有するエンジンの制御装置であって、
前記各気筒に連通する排気管集合部の実空燃比に基づいて空燃比のフィードバック制御を行う手段と、
該空燃比フィードバック制御中に、目標空燃比と実空燃比の差が所定値以下であることを判定する手段と、
前記目標空燃比と実空燃比の差が所定値以下であると判定されたときに、前記複数の気筒のうち、クランク軸の角加速度のばらつきがもっとも大きい気筒を検出する手段と、
該角加速度のばらつきがもっとも大きい気筒の空燃比をリッチ側に補正し、もしくは前記角加速度のばらつきがもっとも大きい気筒以外の気筒の空燃比をリーン側に補正する手段と、
を備えたことを特徴とするエンジンの制御装置。
【請求項２】
前記角加速度のばらつきがもっとも大きい気筒の空燃比をリッチ側に補正する手段は、
前記角加速度のばらつきがもっとも大きい気筒の燃料量を増量補正もしくは空気量を減量補正することを特徴とする請求項１に記載のエンジンの制御装置。
【請求項３】
前記角加速度のばらつきがもっとも大きい気筒以外の気筒の空燃比をリーン側に補正する手段は、
前記角加速度のばらつきがもっとも大きい気筒以外の気筒の燃料量を減量補正もしくは空気量を増量補正することを
特徴とする請求項１に記載のエンジンの制御装置。
【請求項４】
前記角加速度のばらつきがもっとも大きい気筒cyl_1の空燃比を燃料量増量補正によりリッチ側に補正した後、
前記燃料量増量補正した気筒cyl_1の角加速度もしくはその平均値と、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、
前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較して、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より大きいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の空気量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空気量より多いと判断する手段を備えたことを
特徴とする請求項１に記載のエンジンの制御装置。
【請求項５】
前記角加速度のばらつきがもっとも大きい気筒cyl_1の空燃比を空気量減量補正によりリッチ側に補正した後、
前記空気量減量補正した気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、
前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より小さいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の燃料量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの燃料量より少ないと判断する手段を備えたことを特徴とする請求項１に記載のエンジンの制御装置。
【請求項６】
前記角加速度のばらつきが大きい気筒cyl_1以外の気筒cyl_nの空燃比を燃料量減量補正によりリーン側に補正した後、前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、
前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より大きいときは、前記角加速度のばらつきが大きい気筒cyl_1の空気量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空気量より多いと判断する手段を備えたことを特徴とする請求項１に記載のエンジンの制御装置。
【請求項７】
前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空燃比を空気量増量補正によりリーン側に補正した後、
前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、
前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より小さいときは、前記角加速度のばらつきが大きい気筒cyl_1の燃料量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの燃料量より少ないと判断する手段を備えたことを特徴とする請求項１に記載のエンジンの制御装置。
【請求項８】
前記空気量が多いと判断した気筒cyl_1の空気量および燃料量を少なくなるように補正する手段を備えたことを特徴とする請求項４または６に記載のエンジンの制御装置。
【請求項９】
前記空気量が多いと判断した気筒cyl_1の点火時期をリタード側に補正する手段を備えたことを特徴とする請求項４または６に記載のエンジンの制御装置。
【請求項１０】
前記燃料量が少ないと判断した気筒cyl_1の空気量および燃料量を多くなるように補正する手段を備えたことを特徴とする請求項５または７に記載のエンジンの制御装置。
【請求項１１】
前記燃料量が少ないと判断した気筒cyl_1の点火時期を進角側に補正する手段を備えたことを特徴とする請求項５または７に記載のエンジンの制御装置。
【請求項１２】
各気筒の角加速度の平均値を演算する手段と、
前記角加速度のばらつきがもっとも大きい気筒の角加速度平均値と前記角加速度のばらつきがもっとも大きい気筒以外の気筒の平均値とを比較して、前記角加速度のばらつきがもっとも大きい気筒の角加速度平均値がもっとも小さいときは、前記角加速度のばらつきがもっとも大きい気筒の燃料量を増量補正する手段とを備えたことを特徴とする請求項１に記載のエンジンの制御装置。
【請求項１３】
前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値との差が小さくなるように、空気量、燃料量、点火時期の補正を実施する手段を
備えたことを特徴とする請求項１、２、３、８、９、１０、１１、１２に記載のエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの制御装置に関し、特に、気筒間の燃料量ばらつきと空気量ばらつきの双方を検出・補正する制御装置に関する。
【背景技術】
【０００２】
地球環境問題を背景に、自動車に対する低排気化、低ＣＯ２化（低燃費化）の要求が更に高まってきている。エンジンの高性能化を目的に、可変動弁の採用など、エンジンに供給する燃料量と空気量を独立に制御する機構を持つエンジンが普及しつつある。このようなエンジンにおいては、燃料量と空気量を独立に制御する性能を、実用環境でも保証する必要がある。
【０００３】
特許文献１には、目標空燃比と実空燃比の所定期間における平均値の差が所定値以上ずれているときに、回転変動に基づいて異常気筒を検出し、燃料噴射量で当該気筒の空燃比を補正する発明が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４６８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
燃料量と空気量が独立に制御される機構においては、気筒別に燃料量と空気量がばらつく可能性がある。この場合、気筒間の空燃比ばらつきのみがなくなるように制御すると、気筒間のトルクがばらついてしまい、むしろ、エンジンの安定性（運転性）が悪化することがある。
【０００６】
例えば、意図せず特定の気筒の空気量のみが増加した場合、当該気筒の空燃比のみがリーンになる。これを、当該気筒のみの燃料噴射量を増量することでリーン化を補正した場合、当該気筒のみトルクが大きくなり、安定性が悪化する。
【０００７】
本発明は、上記の点に鑑みてなされたものであり、その目的とするところは、誤差原因に応じて、適切に補正を実施し、空燃比ばらつきとトルクばらつきの双方を補正するエンジンの制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
前記目的を達成すべく、本発明に係るエンジンの制御装置の第１態様は、複数の気筒を有するエンジンの制御装置であって、前記各気筒に連通する排気管集合部の実空燃比に基づいて空燃比のフィードバック制御を行う手段と、該空燃比フィードバック制御中に、目標空燃比と実空燃比の差が所定値以下であることを判定する手段と、前記目標空燃比と実空燃比の差が所定値以下であると判定されたときに、前記複数の気筒のうち、クランク軸の角加速度のばらつきがもっとも大きい気筒を検出する手段と、該角加速度のばらつきがもっとも大きい気筒の空燃比をリッチ側に補正し、もしくは前記角加速度のばらつきがもっとも大きい気筒以外の気筒の空燃比をリーン側に補正する手段と、を備えたことを特徴としている（図１を参照）。
【０００９】
複数の気筒を有するエンジンにおいて、ある気筒の空燃比がリーンになった場合、各気筒に連通する排気管集合部の空燃比に基づいたフィードバック制御を実施中のとき、排気管集合部の空燃比が目標空燃比（一般に理論空燃比）となるように、全気筒に同じ量だけ燃料噴射量の補正が実施される。
【００１０】
排気管集合部の空燃比は、全気筒の排気が十分に混合した後の空燃比を検出することが多い。これは、排気流速が遅い運転領域では、排気管集合部までに他気筒の排気と混合してしまうこと、特定の気筒の感度に影響を受けないような位置に空燃比センサを設置するために、結果的に気筒毎の空燃比を検出しにくくなること、などによる。
【００１１】
その結果、全気筒の平均空燃比が目標空燃比となるように、全気筒の燃料噴射量を一律に補正するのが、一般的である。したがって、ある気筒がリーンになると、全気筒の平均空燃比もリーン側にずれるため、その分だけ、全気筒の燃料噴射量を一律に増量補正する機能が自動的に働く。
【００１２】
その結果、排気管集合部の空燃比（全気筒の平均空燃比）は、目標空燃比にほぼ、収束するが、リーンであった気筒は、リーン度が小さくなるものの、依然として、リーンであり、それ以外の気筒は、むしろリッチになる。
【００１３】
この運転状態を前提として、第１態様に記載の手段を実施する。すなわち、第１態様に記載の如く、排気管集合部の空燃比に基づいたフィードバック制御を実施中に、目標空燃比と実空燃比の差が所定値以下であることを判定する。
【００１４】
そして、目標空燃比と実空燃比の差が所定値以下であると判定された場合（実空燃比が目標空燃比近傍に収束している）、筒内圧と相関のある角加速度のばらつきを気筒別に検出（演算）する。角加速度のばらつきが大きい気筒をリーン気筒と判断し、当該リーン気筒の空燃比をリッチ側に補正する。
【００１５】
このとき、排気管集合部の空燃比（全気筒の平均空燃比）は、当該リーン気筒の空燃比をリッチ側に補正した影響で、一時的にリッチ側にずれるが、その分、全気筒一律にリーン側に補正するように、空燃比フィードバック制御が機能するので、その結果、全ての気筒の空燃比が目標空燃比近傍に制御されることになる。あるいは、角加速度のばらつきが大きい気筒以外の気筒の空燃比をリーン側に補正するのもよい。
【００１６】
このとき、排気管集合部の空燃比（全気筒の平均空燃比）は、リーン気筒以外の気筒の空燃比をリーン側に補正した影響で、一時的にリーン側にずれるが、その分、全気筒一律にリッチ側に補正するように、空燃比フィードバック制御が機能するので、この場合も、全ての気筒の空燃比が目標空燃比近傍に制御されることになる。
【００１７】
特定気筒に着目した場合、空燃比のずれは、必ずしも、リーン側にずれるものではないが、リッチ側にずれた場合も、空燃比フィードバック制御により、その他の気筒がリーン側にずれるので、いずれにしてもリーン気筒は発生する。さらに、本制御を頻繁に実施することで、もっともリーンになった気筒のみを逐次補正できるので、その結果、常時、全気筒の空燃比のばらつきを抑制することができる。
【００１８】
本発明に係るエンジンの制御装置の第２態様では、第１態様に記載の前記角加速度のばらつきがもっとも大きい気筒の空燃比をリッチ側に補正する手段が、当該角加速度のばらつきがもっとも大きい気筒の燃料量を増量補正もしくは空気量を減量補正する（図２を参照）。これは、角加速度のばらつきが大きい気筒の空燃比をリッチ補正する方式として、補正対象気筒の燃料量を増量あるいは空気量を減量することを明記するものである。
【００１９】
本発明に係るエンジンの制御装置の第３態様では、第１態様に記載の前記角加速度のばらつきがもっとも大きい気筒以外の気筒の空燃比をリーン側に補正する手段が、当該角加速度のばらつきがもっとも大きい気筒以外の気筒の燃料量を減量補正もしくは空気量を増量補正する（図３を参照）。これは、角加速度のばらつきが大きい気筒以外の気筒の空燃比をリーン補正する方式として、対象気筒の燃料量を減量あるいは空気量を増量することを明記するものである。
【００２０】
本発明に係るエンジンの制御装置の第４態様では、前記構成に加えて、前記角加速度のばらつきがもっとも大きい気筒cyl_1の空燃比を燃料量増量補正によりリッチ側に補正した後、前記燃料量増量補正した気筒cyl_1の角加速度もしくはその平均値と、角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より大きいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の空気量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空気量より多いと判断する手段を備える（図４を参照）。
【００２１】
すなわち、第１態様に記載の方式で、角加速度のばらつきがもっとも大きいリーン気筒cyl_1を燃料量増量により補正した後、リーン気筒cyl_1の角加速度もしくはその平均値とリーン気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とをあらためて比較する。
【００２２】
このとき、リーン気筒cyl_1のリーン化の原因が意図せぬ空気量増量であった場合、燃料量増量補正により、リーン気筒cyl_1の空燃比は適正化（目標空燃比近傍に収束）されるものの、リーン気筒cyl_1以外の他の気筒cyl_nと比較して、供給燃料量が多くなるため、発生トルクは大きくなる。
【００２３】
すなわち、リーン気筒cyl_1の燃焼時に発生する角加速度は、リーン気筒cyl_1以外の他の気筒cyl_nの燃焼時に発生する角加速度と比較して大きくなる。したがって、リーン気筒cyl_1の角加速度もしくはその平均値がリーン気筒cyl_1以外の他の気筒cyl_nの角加速度もしくはその平均値より大きいときは、リーン気筒cyl_1の空気量が、リーン気筒cyl_1以外の他の気筒cyl_nの空気量より多かったと判断することができる。
【００２４】
本発明に係るエンジンの制御装置の第５態様では、前記構成に加えて、前記角加速度のばらつきがもっとも大きい気筒cyl_1の空燃比を空気量減量補正によりリッチ側に補正した後、前記空気量減量補正した気筒cyl_1の角加速度もしくはその平均値と、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より小さいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の燃料量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの燃料量より少ないと判断する手段を備える（図５を参照）。
【００２５】
すなわち、第１態様に記載の方式で、リーン気筒cyl_1を空気量減量により補正した後、リーン気筒cyl_1の角加速度もしくはその平均値とリーン気筒cyl_1以外の他の気筒cyl_nの角加速度もしくはその平均値をあらためて比較する。
【００２６】
このとき、リーン気筒cyl_1のリーン化の原因が意図せぬ燃料量減量であった場合、空気量減量補正により、リーン気筒cyl_1の空燃比は適正化（目標空燃比近傍に収束）されるものの、リーン気筒cyl_1以外の他の気筒cyl_nと比較して、供給燃料量が少ないため、リーン気筒cyl_1の発生トルクは小さくなる。
【００２７】
すなわち、リーン気筒cyl_1の燃焼時に発生する角加速度は、リーン気筒cyl_1以外の他の気筒cyl_nの燃焼時に発生する角加速度と比較して小さくなる。したがって、リーン気筒cyl_1の角加速度もしくはその平均値がリーン気筒cyl_1以外の他の気筒cyl_nの角加速度もしくはその平均値より小さいときは、リーン気筒cyl_1の燃料量が、リーン気筒cyl_1以外の他の気筒cyl_nの燃料量より少なかったと判断することができる。
【００２８】
本発明に係るエンジンの制御装置の第６態様では、前記構成に加えて、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空燃比を燃料量減量補正によりリーン側に補正した後、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値と前記加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とを比較する手段と、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より大きいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の空気量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空気量より多いと判断する手段を備える（図６を参照）。
【００２９】
すなわち、第１態様に記載の方式で、リーン気筒cyl_1以外の気筒cyl_nを燃料量減量により補正した後、リーン気筒cyl_1の角加速度もしくはその平均値とリーン気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とをあらためて比較する。
【００３０】
このとき、リーン気筒cyl_1のリーン化の原因が意図せぬ空気量増量であった場合、リーン気筒cyl_1以外の気筒cyl_nに対して燃料量減量補正を実施することで、空燃比フィードバック制御により全気筒一律に燃料増量（リッチ側に）補正する機能が働くため、リーン気筒cyl_1の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【００３１】
しかし、その結果、リーン気筒cyl_1は、リーン気筒cyl_1以外の他の気筒cyl_nと比較して、供給燃料量が多くなるため、発生トルクは大きくなる。すなわち、リーン気筒cyl_1の燃焼時に発生する角加速度は、リーン気筒cyl_1以外の他の気筒cyl_nの燃焼時に発生する角加速度と比較して大きくなる。
【００３２】
したがって、リーン気筒cyl_1の角加速度もしくはその平均値がリーン気筒cyl_1以外の他の気筒cyl_nの角加速度もしくはその平均値より大きいときは、リーン気筒cyl_1の空気量が、リーン気筒cyl_1以外の他の気筒cyl_nの空気量より多かったと判断することができる。
【００３３】
本発明に係るエンジンの制御装置の第７態様では、前記構成に加えて、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの空燃比を空気量増量補正によりリーン側に補正した後、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値を比較する手段と、前記角加速度のばらつきがもっとも大きい気筒cyl_1の角加速度もしくはその平均値が前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値より小さいときは、前記角加速度のばらつきがもっとも大きい気筒cyl_1の燃料量が、前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの燃料量より少ないと判断する手段を備える（図７を参照）。
【００３４】
すなわち、第１態様に記載の方式で、リーン気筒cyl_1以外の気筒cyl_nを空気量増量により補正した後、リーン気筒cyl_1の角加速度もしくはその平均値とリーン気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値とをあらためて比較する。
【００３５】
このとき、リーン気筒cyl_1のリーン化の原因が意図せぬ燃料量減量であった場合、リーン気筒cyl_1以外の他の気筒cyl_nに対して、空気量増量補正を実施することで、空燃比フィードバック制御に、全気筒一律に燃料増量（リッチ側に）補正する機能が働くため、リーン気筒cyl_1の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【００３６】
しかし、リーン気筒cyl_1は、リーン気筒cyl_1以外の他の気筒cyl_nと比較すると、依然として、供給燃料量が少ないため、発生トルクは小さくなる。すなわち、リーン気筒cyl_1の燃焼時に発生する角加速度は、リーン気筒cyl_1以外の他の気筒cyl_nの燃焼時に発生する角加速度と比較して小さくなる。
【００３７】
したがって、リーン気筒cyl_1の角加速度もしくはその平均値がリーン気筒cyl_1以外の他の気筒cyl_nの角加速度もしくはその平均値より小さいときは、リーン気筒cyl_1の燃料量が、リーン気筒cyl_1以外の他の気筒cyl_nの燃料量より少なかったと判断することができる。
【００３８】
本発明に係るエンジンの制御装置の第８態様では、前記第４態様または第６態様の構成に加えて、前記空気量が多いと判断した気筒cyl_1の空気量および燃料量を少なくなるように補正する手段を備える（図８を参照）。
【００３９】
すなわち、第４態様もしくは第６態様において、空気量が多いと判定されたリーン気筒cyl_1の発生トルクと、リーン気筒cyl_1以外の他の気筒cyl_nの発生トルクとの差をなくすために、その原因であるリーン気筒cyl_1の空気量を少なくなるように補正する。このとき、リーン気筒cyl_1の空燃比がリッチにならないように、空気量減量分に応じて、燃料量も少なくするものである。その結果、リーン気筒cyl_1とリーン気筒cyl_1以外の他の気筒cyl_nとの気筒の間に空燃比およびトルクのばらつきがなくなる。
【００４０】
本発明に係るエンジンの制御装置の第９態様では、前記第４態様または第６態様の構成に加えて、前記空気量が多いと判断した気筒cyl_1の点火時期をリタード側に補正する手段を備える（図９を参照）。
【００４１】
すなわち、第４態様もしくは第６態様において、空気量が多いと判定されたリーン気筒cyl_1の発生トルクと、リーン気筒cyl_1以外の他の気筒cyl_nの発生トルクとの差をなくすために、リーン気筒cyl_1の点火時期をリタード側に補正する。その結果、リーン気筒cyl_1とリーン気筒cyl_1以外の他の気筒cyl_nとの間に空燃比およびトルクのばらつきがなくなる。
【００４２】
本発明に係るエンジンの制御装置の第１０態様では、前記第５態様または第７態様の構成に加えて、前記燃料量が少ないと判断した気筒cyl_1の空気量および燃料量を多くなるように補正する手段を備える（図１０を参照）。
【００４３】
すなわち、第５態様もしくは第７態様において、燃料量が少ないと判定されたリーン気筒cyl_1の発生トルクと、リーン気筒cyl_1以外の他の気筒cyl_nの発生トルクとの差をなくすために、その原因であるリーン気筒cyl_1の燃料量を多くなるように補正する。このとき、リーン気筒cyl_1の空燃比がリッチにならないように、燃料量増量分に応じて、空気量も多くするものである。その結果、リーン気筒cyl_1とリーン気筒cyl_1以外の他の気筒cyl_nとの気筒の間に空燃比およびトルクのばらつきがなくなる。
【００４４】
本発明に係るエンジンの制御装置の第１１態様では、前記第５態様または第７態様の構成に加えて、前記燃料量が少ないと判断した気筒cyl_1の点火時期を進角側に補正する手段を備える（図１１を参照）。
【００４５】
すなわち、第５態様もしくは第７態様において、燃料量が少ないと判定されたリーン気筒cyl_1の発生トルクと、リーン気筒cyl_1以外の他の気筒cyl_nの発生トルクとの差をなくすために、リーン気筒cyl_1の点火時期を進角側に補正する。その結果、リーン気筒cyl_1とリーン気筒cyl_1以外の他の気筒cyl_nとの間に空燃比およびトルクのばらつきがなくなる。
【００４６】
本発明に係るエンジンの制御装置の第１２態様では、前記構成に加えて、各気筒の角加速度の平均値を演算する手段と、前記角加速度のばらつきがもっとも大きい気筒の角加速度平均値と前記角加速度のばらつきがもっとも大きい気筒以外の気筒の平均値とを比較して、前記角加速度のばらつきがもっとも大きい気筒の角加速度平均値が他の気筒の平均値と比較してもっとも小さいときは、前記角加速度のばらつきがもっとも大きい気筒の燃料量を増量補正する手段とを備える（図１２を参照）。
【００４７】
すなわち、前述したように、角加速度のばらつきが大きい気筒をリーン気筒と判断する。このとき、同時に、気筒毎の角加速度の平均値を演算する。予期せぬ燃料量減量によりリーン化しているのであれば、当該気筒のトルクは小さくなるので、当該気筒の角加速度平均値は他の気筒の角加速度平均値と比較して小さくなる。
【００４８】
一方、予期せぬ空気量増量によりリーン化しているものであれば、当該気筒のトルクは（燃料量は減っていないので）、ほとんど小さくならなので、当該気筒の角加速度平均値も他の気筒の角加速度平均値と比較して、ほとんど小さくならない。
【００４９】
したがって、角加速度のばらつきがもっとも大きい気筒の角加速度平均値が他の気筒の平均値と比較して、もっとも小さいとき、当該気筒の燃料量を増量することで、当該気筒の空燃比リーン化およびトルク減少化の双方を解決することができる。
【００５０】
本発明に係るエンジンの制御装置の第１３態様では、第１態様〜第３態様、第８態様〜第１１態様の構成に加えて、前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値の差が小さくなるように、空気量、燃料量、点火時期の補正を実施する手段を備える（図１３を参照）。
【００５１】
すなわち、第１態様〜第３態様、第８態様〜第１１態様において、前記角加速度のばらつきが大きい気筒cyl_1の発生トルクと前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの発生トルクとの差を、前記角加速度のばらつきが大きい気筒cyl_1の角加速度もしくはその平均値と前記角加速度のばらつきがもっとも大きい気筒cyl_1以外の気筒cyl_nの角加速度もしくはその平均値との差で検出し、当該差が小さくなるように（差が所定値以下となるまで）、空気量、燃料量、点火時期の補正を実施するものである。
【発明の効果】
【００５２】
本発明によれば、燃料量と空気量が独立に制御される機構において、燃料系と空気系の誤差のそれぞれに応じて、適切に補正を実施し、空燃比ばらつきとトルクばらつきの双方を補正するので、実用環境においても、エンジンを安定して動作させることができ、もって、安定した排気性能、燃費性能（ＣＯ２性能）を実現することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明に係る制御装置の第１態様の説明に供される図。
【図２】本発明に係る制御装置の第２態様の説明に供される図。
【図３】本発明に係る制御装置の第３態様の説明に供される図。
【図４】本発明に係る制御装置の第４態様の説明に供される図。
【図５】本発明に係る制御装置の第５態様の説明に供される図。
【図６】本発明に係る制御装置の第６態様の説明に供される図。
【図７】本発明に係る制御装置の第７態様の説明に供される図。
【図８】本発明に係る制御装置の第８態様の説明に供される図。
【図９】本発明に係る制御装置の第９態様の説明に供される図。
【図１０】本発明に係る制御装置の第１０態様の説明に供される図。
【図１１】本発明に係る制御装置の第１１態様の説明に供される図。
【図１２】本発明に係る制御装置の第１２態様の説明に供される図。
【図１３】本発明に係る制御装置の第１３態様の説明に供される図。
【図１４】本発明に係る制御装置の一実施形態を、それが適用されたエンジンと共に示す概略構成図。
【図１５】図１４に示されるコントロールユニットの内部構成を示す図。
【図１６】実施例１、５の制御システム図。
【図１７】実施例１〜８の基本噴射燃料量演算部の説明に供される図。
【図１８】実施例１〜８の空燃比フィードバック補正値演算部の説明に供される図。
【図１９】実施例１〜８の検出許可および制御ステージ演算部の説明に供される図。
【図２０】実施例１、２、５、６の気筒別角加速度特性演算部の説明に供される図。
【図２１】実施例１の気筒別燃料噴射量補正値演算部の説明に供される図。
【図２２】実施例１、５の気筒別空気量補正値演算部の説明に供される図。
【図２３】実施例２、６の制御システム図。
【図２４】実施例２の気筒別燃料噴射量補正値演算部の説明に供される図。
【図２５】実施例２、６の気筒別点火時期補正値演算部の説明に供される図。
【図２６】実施例３、７の制御システム図。
【図２７】実施例３、４、７，８の気筒別角加速度特性演算部の説明に供される図。
【図２８】実施例３、７の気筒別燃料噴射量補正値演算部の説明に供される図。
【図２９】実施例３の気筒別空気量補正値演算部の説明に供される図。
【図３０】実施例４、８の制御システム図。
【図３１】実施例４、８の気筒別点火時期補正値演算部の説明に供される図。
【図３２】実施例４の気筒別空気量補正値演算部の説明に供される図。
【図３３】実施例５の気筒別燃料噴射量補正値演算部の説明に供される図。
【図３４】実施例６の気筒別燃料噴射量補正値演算部の説明に供される図。
【図３５】実施例７の気筒別空気量補正値演算部の説明に供される図。
【図３６】実施例８の気筒別空気量補正値演算部の説明に供される図。
【発明を実施するための形態】
【００５４】
以下、本発明の実施の形態について図面を参照しながら説明する。
図１４は、本発明に係るエンジンの制御装置の一実施形態（実施例１〜８で共通）を、それが適用された車載用エンジンの一例と共に示す概略構成図である。
【００５５】
エンジン４０は、複数の気筒９（ここでは４気筒）で構成される筒内噴射エンジンであり、外部からの空気は、エアクリーナ１を通過し、吸気通路４、コレクタ５を経て、吸気通路４の下流部分を構成する分岐通路に分配されて、各気筒９の燃焼室９ａ内に流入する。
【００５６】
吸気通路４の下流端部分の吸気ポート４ａには、吸気通路４と燃焼室９ａとの間を開閉するための吸気動弁３０が配設されている。流入空気量は、エアフロセンサ２で検出され、電子スロットル３と吸気動弁３０により調節される。
【００５７】
吸気動弁３０は、図示していない動弁機構を備えており、エンジンコントロールユニット１６の吸気弁駆動回路３２からの駆動信号に基づいて駆動され、リフト量および開閉時期を調整可能な構成を有している。そして、各気筒に吸入される空気量を、気筒別に調整することができる。
【００５８】
クランク角センサ１５では、クランク軸４２の回転角１０°（ｄｅｇ）毎の信号と燃焼周期毎の信号が出力される。吸気温センサ２９では、吸気温を検出し、水温センサ１４では、エンジンの冷却水温度を検出し、アクセル開度センサ１３では、アクセルペダル６の踏み込み量を検出し、それによって運転者の要求トルクを検出する。
【００５９】
アクセル開度センサ１３、エアフロセンサ２、吸気温センサ２９、電子スロットル３に取り付けられたスロットル開度センサ１７、クランク角センサ１５、水温センサ１４のそれぞれの信号は、本実施形態におけるエンジン４０の制御装置であるエンジンコントロールユニット（ＥＣＵ）１６に送られ、これら各センサ出力からエンジン４０の運転状態を得て、空気量、燃料噴射量、点火時期のエンジン４０の主要な操作量が最適に演算される。
【００６０】
エンジンコントロールユニット１６内で演算された目標空気量は、目標スロットル開度から電子スロットル駆動信号に変換され、電子スロットル３に送られる。燃料噴射量は開弁パルス信号に変換され、燃料噴射弁(インジェクタ)７に送られる。燃料噴射弁７は、各気筒９にそれぞれ設けられており、開弁パルス信号に基づいて、燃焼室９ａ内に燃料を噴射する。
【００６１】
また、エンジンコントロールユニット１６で演算された点火時期で点火されるよう駆動信号が点火プラグ８に送られる。点火プラグ８は、各気筒９の燃焼室９ａ内に点火部が臨むように各々取り付けられている。
【００６２】
燃料噴射弁７から噴射された燃料は、吸気通路４からの空気と混合されて、燃焼室９ａ内にて混合気を形成する。混合気は、所定の点火時期で点火プラグ８から発生される火花により爆発し、その燃焼圧により気筒９内のピストン４１を押し下げてエンジン４０の動力となる。
【００６３】
各気筒９の排気は、燃焼室９ａから排気弁が配設された排気ポートを介して排気通路１０の上流部分を形成する個別通路部に排出され、その個別通路部から排気管集合部１０Ａを通って排気通路１０の下流部分に備えられた三元触媒１１に流入し、三元触媒１１で浄化された後、外部に排出される。三元触媒１１は、排気ガスに含まれている炭化水素ＨＣ及び一酸化炭素ＣＯを酸化させ、窒素酸化物ＮＯｘを還元して浄化させる。
【００６４】
排気通路１０における三元触媒１１よりも下流側には、触媒下流Ｏ２センサ２０が設けられており、排気通路１０における触媒１１よりも上流側の排気管集合部１０Ａには、排気空燃比を検出する排気センサとして触媒上流Ａ／Ｆセンサ１２が設けられている。
【００６５】
触媒上流Ａ／Ｆセンサ１２は、排気中に含まれる酸素濃度に対して線形の出力特性を持っている。排気中の酸素濃度と空燃比との関係は、ほぼ線形になっており、したがって、酸素濃度を検出する触媒上流Ａ／Ｆセンサ１２によって排気空燃比を求めることが可能となる。
【００６６】
そして、エンジンコントロールユニット１６では、触媒上流Ａ／Ｆセンサ１２の出力信号から三元触媒１１上流の排気空燃比を求め、触媒下流Ｏ２センサ２０の出力信号に基づいて三元触媒１１下流の酸素濃度もしくはストイキに対してリッチもしくはリーンであるかを求める。
【００６７】
また、触媒上流Ａ／Ｆセンサ１２、触媒下流Ｏ２センサ２０の出力を用いて三元触媒１１の浄化効率が最適となるよう燃料噴射量（噴射燃料量）もしくは空気量を逐次補正するＦ／Ｂ制御を行っている。
【００６８】
また、燃焼室９ａから排気通路１０に排出された排気ガスの一部は、必要に応じて排気還流管１８を通って吸気通路４側に還流される。この還流量は、排気還流管１８に設けられたＥＧＲバルブ１９によって制御される。
【００６９】
図１５は、エンジンコントロールユニット１６の内部構成図である。ＥＣＵ１６内には、エアフロセンサ２、触媒上流Ａ／Ｆセンサ１２、アクセル開度センサ１３、水温センサ１４、エンジン回転数センサ１５、スロットル弁開度センサ１７、触媒下流Ｏ２センサ２０、吸気温センサ２９、車速センサ３１の各センサ出力値が入力され、入力回路２４にてノイズ除去等の信号処理が行われた後、入出力ポート２５に送られる。
【００７０】
入力ポートの値は、ＲＡＭ２３に保管され、ＣＰＵ２１内で演算処理される。演算処理の内容を記述した制御プログラムは、ＲＯＭ２２に予め書き込まれており、前記制御プログラムに従って演算された各アクチュエータ作動量を表す値は、ＲＡＭ２３に保管された後、入出力ポート２５に送られる。
【００７１】
そして、火花点火燃焼時に用いられる点火プラグ８の作動信号は、点火信号出力回路２６内の一次側コイルの通流時はＯＮとなり、非通流時にはＯＦＦとなるＯＮ・ＯＦＦ信号がセットされる。点火時期はＯＮからＯＦＦになる時であり、出力ポートにセットされた点火プラグ用の信号が、点火信号出力回路２６で燃焼に必要な十分なエネルギーに増幅されて点火プラグ８に供給される。
【００７２】
また、燃料噴射弁７の駆動信号は、開弁時にはＯＮ、閉弁時にはＯＦＦとなるＯＮ・ＯＦＦ信号がセットされ、燃料噴射弁駆動回路２７にて燃料噴射弁７を開くに十分なエネルギーに増幅されて燃料噴射弁７に出力される。さらに、電子スロットル３の目標開度を実現する駆動信号は、電子スロットル駆動回路２８を経て電子スロットル３に出力される。そして、吸気動弁３０の目標リフト量、目標開閉時期を実現する駆動信号は、吸気動弁駆動回路３２を経て、吸気動弁３０に出力される。
【００７３】
次に、エンジンコントロールユニット１６が実行する制御の実施例について具体的に説明する。
［実施例１：図１６〜図２２］
図１６は、実施例１（実施例５）の制御装置１Ａを示す制御システム図である。制御装置１Ａのエンジンコントロールユニット１６は、機能ブロック図で示されているように、基本燃料噴射量演算部１６１、空燃比フィードバック補正値演算部１６２、検出許可および制御ステージ演算部１６３、気筒別角加速度特性演算部１６４、気筒別燃料噴射量補正値演算部１６５、気筒別空気量補正値演算部１６６を備えている。これらの各演算部は、エンジンコントロールユニット１６にて制御プログラムを実行することによって実現される。
【００７４】
基本燃料噴射量演算部１６１では、吸入空気量Ｑａとエンジン回転速度Ｎｅに基づいて、基本燃料噴射量Tp0を演算する。空燃比フィードバック補正値演算部１６２では、触媒上流Ａ／Ｆセンサ１２の出力（Rabf）に基づいて、排気管集合部空燃比（Rabf）が目標空燃比に収束するように、全気筒の燃料噴射量を等価に補正する補正値（Alpha)を演算し、また、目標空燃比と排気管集合部空燃比との誤差（e_Rabf）を演算する。
【００７５】
検出許可および制御ステージ演算部１６３では、気筒別の燃料噴射量補正、空気量補正を実施するための、気筒別の角加速度特性の検出許可フラグ（fp_kensyutsu）および制御ステージフラグ（f_stage）を演算する。制御ステージは、ステージ１およびステージ２の２つのステージからなる（詳細後述）。
【００７６】
気筒別角加速度特性演算部１６４では、検出許可および制御ステージ演算部１６３から検出許可が出ると(fp_kensyutsu=1)、各ステージに応じて、気筒別角加速度特性である異常気筒の気筒番号(Cyl_Mal)、異常気筒の角加速度の分散値（V_omega_Cyl_Mal）、異常気筒の角加速度の平均値(M_omega_Cyl_Mal)を演算する。そして、上記の気筒別角加速度特性の演算が完了した後、燃料量、空気量の補正を許可するフラグ(fp_hosei)を演算する。
【００７７】
気筒別燃料噴射量補正値演算部１６５では、前述の検出許可および制御ステージ演算部１６３により求めた制御ステージフラグ（f_stage）と、気筒別角加速度特性演算部１６４により求めた補正許可フラグ(fp_hosei)と、異常気筒の気筒番号(Cyl_Mal)と、異常気筒の角加速度の分散値（V_omega_Cyl_Mal）と、異常気筒の角加速度の平均値(M_omega_Cyl_Mal)に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。
【００７８】
そして、気筒別空気量補正値演算部１６６では、前述の検出許可および制御ステージ演算部１６３により求めた制御ステージフラグ（f_stage）と、気筒別角加速度特性演算部１６４により求めた補正許可フラグ(fp_hosei)と、異常気筒の気筒番号(Cyl_Mal)と、異常気筒の角加速度の平均値(M_omega_Cyl_Mal)に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos_n)を演算する。
【００７９】
ここに、IVO_Hos_nは、n番気筒の吸気弁開時期(IVO_n)に対して施される補正値であり、IVC_Hos_nは、n番気筒の吸気弁閉時期(IVC_n)に対して施される補正値である。IVO_n,IVC_nの演算方法については、従来より様々な方法があり、本発明とは直接関係しないので、ここでは詳述しない。
【００８０】
実施例１では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1のとき)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号（Cyl_Mal）、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、異常気筒に対して、燃料噴射量を増量補正する(F_Hos_n)。
【００８１】
・ステージ２(f_stage=2のとき)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が大きい気筒番号が異常気筒の気筒番号(Cyl_Mal)と一致したとき、異常気筒の角加速度の平均値をM_omega_Cyl_Malとする。
（３）M_omega_Cyl_Malに基づいて、異常気筒の燃料噴射量および空気量を減量補正する（F_Hos_n, IVO_Hos_n, IVC_Hos_n）。
以下に、各演算部の詳細説明を行う。
【００８２】
＜基本燃料噴射量演算部（図１７）＞
図１７は、基本燃料噴射量演算部の機能を示すブロック線図である。
【００８３】
図１６に示す基本燃料噴射量演算部１６１では、吸入空気量Ｑａとエンジン回転速度Ｎｅに基づいて、基本燃料噴射量(Tp0)を演算する。具体的には、下記に示される式（１）で演算する。
Ｔｐ０＝Ｋ０×Ｑａ／（Ｎｅ×Ｃｙｌ）  ・・・（１）
【００８４】
ここに、Cylは気筒数を表す。Ｋ0は、インジェクタの仕様（燃料噴射パルス幅と燃料噴射量の関係）に基づき決める。
【００８５】
＜空燃比フィードバック補正値演算部（図１８）＞
図１８は、空燃比フィードバック補正値演算部の機能を示すブロック線図である。
図１６に示す空燃比フィードバック補正値演算部１６２では、空燃比センサ１２の出力(Rabf)に基づいた燃料噴射量補正値を演算する。具体的には、図１８に示されるように、目標排気管集合部空燃比(TgRabf)と排気管集合部空燃比(Rabf)との差である空燃比フィードバック制御誤差(e_Rabf)に基づいて、ＰＩ制御により、空燃比フィードバック補正値(Alpha)を演算する。なお、空燃比フィードバック補正値(Alpha)は、全気筒の燃料噴射量に等価に補正される。
【００８６】
＜検出許可および制御ステージ演算部（図１９）＞
図１９は、検出許可および制御ステージ演算部の機能を示すブロック線図である。
図１６に示す検出許可および制御ステージ演算部１６３では、検出許可フラグ(fp_kensyutsu)および制御ステージ(f_stage)を演算する。具体的には、図１９に示されるように、最新の基本燃料噴射量(Tp0)とその前回演算値との差(ΔTp0)を演算し、最新のエンジン回転速度(Ne)とその前回演算値との差(ΔNe)を演算する。
【００８７】
そして、「ΔTp0が所定時間、所定範囲内にあり」かつ「ΔNeの所定時間、所定範囲にあり」かつ「空燃比フィードバック制御誤差e_Rabfが所定時間、所定範囲内にある」とき、後述の気筒別角加速度特性の検出を許可する(fp_kensyutsu=1)。
【００８８】
また、制御ステージ変更フラグ(f_ch_stage)が、0→１になったとき、制御ステージフラグ(f_stage)の値を１→２→１→２→・・・と順に切り換える。なお、制御ステージフラグ(f_stage)の初期値は０とし、最初の切換は０→１とする。
【００８９】
＜気筒別角加速度特性演算部（図２０）＞
図２０は、気筒別角加速度特性演算部の機能を示すブロック線図である。
図１６に示す気筒別角加速度特性演算部１６４では、各ステージに応じて、気筒別角加速度特性である異常気筒の気筒番号(Cyl_Mal)、異常気筒の角加速度の分散値（V_omega_Cyl_Mal）、異常気筒の角加速度の平均値( M_omega_Cyl_Mal)を演算する。具体的には、図２０に示されるように、fp_kensyutsu（検出許可フラグ）=1のとき、下記の処理を実施する。
【００９０】
・エンジン回転速度(Ne)から、気筒毎の角加速度(omega_n)を演算する。ここにnは、気筒番号を示す。燃焼周期毎にエンジン回転速度Neの平均値を求め、前回のエンジン回転速度Ne平均値との差を角加速度(omega_n)とする。
【００９１】
・ステージ１のとき（f_stage=1のとき）
（１）omega_nから、所定サイクル間における気筒毎のomega_nの分散値(V_omega_n)を求める。
（２）そして、V_omega_nがもっとも大きい気筒の気筒番号をCyl_Mal(異常気筒番号）とし、気筒番号がCyl_MalのV_omega_nをV_omega_Cyl_Mal（異常気筒の角加速度の分散値）とする。
（３）fp_kensyutsu=0→1となって、最初のCyl_MalおよびV_omwga_Cyl_Malが求まったとき、fp_hosei=１とする。
（４）V_omega_Cyl_Malがその他の気筒のV_omega_n以下となったら、fp_hosei=0、f_ch_stageを１回だけ１とする。
【００９２】
・ステージ２のとき（f_stage=2のとき）
（１）omega_nから、所定サイクル間における気筒毎のomega_nの平均値(M_omega_n)を求める。
（２）M_omega_nがもっとも大きい気筒の気筒番号が、Cyl_Mal（異常気筒番号）のとき、気筒番号がCyl_MalのM_omega_nをM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）fp_kensyutsu=0→1となって、最初のCyl_MalおよびM_omwga_Cyl_Malが求まったとき、fp_hosei（補正許可フラグ）=１とする。
（４）M_omega_Cyl_Malがその他の気筒のM_omega_n以下となったら、fp_hosei=0、f_ch_stageを１回だけ１とする。
（５）fp_kensyutsu=0のとき、fp_hosei=0とする。
【００９３】
＜気筒別燃料噴射量補正値演算部（図２１）＞
図２１は、気筒別燃料噴射量補正値演算部の機能を示すブロック線図である。
図１６に示す気筒別燃料噴射量補正値演算部１６５では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。具体的には、図２１に示されるように、fp_hosei=1のとき、下記の処理を実施する。
・気筒番号が、Cyl_Mal（異常気筒番号）の燃料噴射量補正値のみ、本演算部で演算される値とする。それ以外の気筒のF_Hos_n（気筒別燃料噴射量補正値）は、１．０とする。
・ステージ１のとき（f_stage=1）
（１）V_omega_Cyl_Malからテーブル(Tbl_V_omega_F_Hos)２２１を参照して、補正対象気筒（気筒番号がCyl_Mal）のF_Hos_n（気筒別燃料噴射量補正値）とする。
・ステージ２のとき（f_stage=2のとき）＞
（１）M_omega_Cyl_Malからテーブル(Tbl_M_omega_F_Hos)２２２を参照して、補正対象気筒（気筒番号がCyl_Mal）のF_Hos_n（気筒別燃料噴射量補正値）とする。
【００９４】
Tbl_V_omega_F_Hosの設定値は、角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。Tbl_M_omega_F_Hosの設定値は、角加速度の平均値とトルク（充填効率相当燃料噴射量）の関係を表すもので、実機試験の結果から決めるのが良い。すなわち、気筒番号Cyl_Malの気筒の角加速度平均値がその他の気筒の角加速度平均値よりも大きいとき、気筒別燃料噴射量補正値演算部１６５による補正を実施する。
【００９５】
角加速度の大きさは、当該気筒（異常気筒）のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒（異常気筒）のトルクが、その他の気筒と同じになるように当該気筒（異常気筒）の燃料量を少なくするものである。なお、燃料量のみ少なくすると、当該気筒（異常気筒）はリーンになるので、後述の気筒別空気量補正値演算部１６６で、当該気筒（異常気筒）の空気量（充填効率）も併せて少なくする。
【００９６】
＜気筒別空気量補正値演算部（図２２）＞
図２２は、気筒別空気量補正値演算部の機能を示すブロック線図である。
図１６に示す気筒別空気量補正値演算部１６６では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos(nは気筒番号))を演算する。具体的には、図２２に示されるように、f_stage=2かつfp_hosei=1のとき、下記の処理を実施する。
（１）気筒番号が、Cyl_Mal（異常気筒番号）の空気量補正値のみ、本演算部で演算される値とする。それ以外の気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
（２）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVO)２３１を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（３）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVC)２３２を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【００９７】
Tbl_M_omega_IVO_HosおよびTbl_M_omega_IVC_Hosの設定値は、角加速度の平均値とトルク（充填効率）の関係を表すもので、実機試験の結果から決めるのが良い。すなわち、気筒番号Cyl_Malの気筒の角加速度平均値がその他の気筒の角加速度平均値よりも大きいとき、気筒別空気量補正値演算部１６６による補正を実施する。
【００９８】
角加速度の大きさは、当該気筒（異常気筒）のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒（異常気筒）のトルクが、その他の気筒（異常気筒以外の他の気筒）と同じになるように当該気筒（異常気筒）の空気量（充填効率）を少なくするものである。なお、空気量のみ少なくすると、当該気筒（異常気筒）はリッチになるので、前述の気筒別燃料量補正値演算部１６５で、当該気筒（異常気筒）の燃料量も併せて少なくする。
【００９９】
実施例１の制御装置１Ａによれば、排気管集合部の空燃比に基づいた空燃比フィードバック制御を実施中に、目標空燃比と実空燃比との差が所定値以下であることを判定する。そして、目標空燃比と実空燃比との差が所定値以下であると判定された場合に、実空燃比が目標空燃比近傍に収束していると判断し、筒内圧と相関のある角加速度のばらつき（分散値、平均値）を気筒別に検出する。
【０１００】
そして、複数の気筒のうち、角加速度のばらつきがもっとも大きい気筒を異常気筒（リーン気筒）として特定し、その異常気筒の燃料噴射量を増量補正して、異常気筒の空燃比をリッチ側に補正する。
【０１０１】
このとき、排気管集合部の空燃比（全気筒の平均空燃比）は、異常気筒の空燃比をリッチ側に補正した影響で、一時的にリッチ側にずれるが、その分、全気筒一律にリーン側に補正するように、空燃比フィードバック制御が機能するので、その結果、全ての気筒の空燃比が目標空燃比近傍に制御されることになる。
【０１０２】
複数の気筒のうち、特定気筒に着目した場合、空燃比のずれは、必ずしも、リーン側にずれるものではないが、リッチ側にずれた場合も、空燃比フィードバック制御により、その他の気筒がリーン側にずれるので、いずれにしても異常気筒は発生する。さらに、本制御を頻繁に実施することで、もっともリーンになった気筒のみを異常気筒として逐次補正できるので、その結果、常時、全気筒の空燃比のばらつきを抑制することができる。
【０１０３】
そして、異常気筒の空燃比を燃料量増量補正によりリッチ側に補正した後、燃料量増量補正した異常気筒の角加速度もしくはその平均値と、異常気筒以外の他の気筒の角加速度もしくはその平均値とを比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多いと判断する。
【０１０４】
異常気筒のリーン化の原因が意図せぬ空気量増量であった場合、燃料量増量補正により、異常気筒の空燃比は適正化（目標空燃比近傍に収束）されるものの、異常気筒以外の他の気筒と比較して、供給燃料量が多くなるため、発生トルクは大きくなる。すなわち、異常気筒の燃焼時に発生するクランク軸の角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して大きくなる。
【０１０５】
したがって、異常気筒の角加速度の平均値が、異常気筒以外の他の気筒の角加速度の平均値よりも大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量よりも多かったと判断することができる。
【０１０６】
そして、空気量が多いと判断された異常気筒の空気量および燃料量を少なくなるように補正する。すなわち、空気量が多いと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、その原因である異常気筒の空気量を少なくなるように補正する。
【０１０７】
このとき、異常気筒の空燃比がリッチにならないように、空気量減量分に応じて、燃料量も少なく補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１０８】
また、実施例１の制御装置１Ａによれば、異常気筒を特定するとともに、気筒毎の角加速度の平均値を演算する。そして、異常気筒の角加速度平均値と異常気筒以外の他の気筒の角加速度平均値とを比較して、異常気筒の角加速度平均値がもっとも小さいときは、異常気筒の燃料量を増量補正する。
【０１０９】
異常気筒のリーン化の原因が予期せぬ燃料量減量であった場合、異常気筒のトルクは小さくなるので、異常気筒の角加速度平均値は、異常気筒以外の他の気筒の角加速度平均値と比較して小さくなる。
【０１１０】
一方、異常気筒のリーン化の原因が予期せぬ空気量増量であった場合、燃料量は減っていないので、異常気筒のトルクはほとんど小さくならず、異常気筒の角加速度平均値も異常気筒以外の他の気筒の角加速度平均値と比較して、ほとんど小さくならない。
【０１１１】
したがって、異常気筒の角加速度平均値と異常気筒以外の他の気筒の平均値とを比較して、異常気筒の角加速度平均値がもっとも小さいときは、予期せぬ燃料量減量が生じていると判断することができ、異常気筒の燃料量を増量することで、異常気筒の空燃比リーン化およびトルク減少化の双方を解決することができる。
【０１１２】
［実施例２：図２３〜図２５］
前述の実施例１では、異常気筒の燃料量を増量補正して異常気筒の空燃比をリッチ側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも大きいときは、異常気筒の燃料量と空気量を減量補正する場合について説明したが、実施例２では、異常気筒の燃料量と空気量を減量補正する代わりに、異常気筒の点火時期をリタード補正するものである。すなわち、実施例２では、異常気筒の燃料量を増量補正して異常気筒の空燃比をリッチ側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも大きいときは、異常気筒の点火時期をリタード補正することを特徴とする。
【０１１３】
図２３は、実施例２の制御装置１Ｂを示す制御システム図である。
図示の制御装置１Ｂのエンジンコントロールユニット１６は、実施例１に対して、気筒別燃料噴射量補正値演算部１６５の仕様が異なる。また、実施例１の気筒別空気量補正値演算部１６６に対応するものがなく、新たに気筒別点火時期補正値演算部２４１が用意される点が異なる。他の手段は、実施例１のものと略同様であるので、以下においては、実施例１と異なる部分について重点的に説明する。
【０１１４】
気筒別点火時期補正値演算部２４１では、前述の気筒別角加速度特性演算部１６４で演算される角加速度特性に基づいて、気筒別の点火時期補正値(ADV_Hos_n)を演算する。ここに、ADV_Hos_nは、基本点火時期(ADV0)に対して施される補正値である。基本点火時期(ADV0)の演算方法については（各運転条件において燃費最適となるように設定される値であり）、従来より様々な方法があり、本発明とは直接関係しないので、ここでは詳述しない。
【０１１５】
なお、実施例２では、下記プロセスの制御を実施する。
・ステージ１のとき(f_stage=1のとき)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、異常気筒に対して、燃料噴射量を増量補正する(F_Hos_n)。
・ステージ２のとき(f_stage=2のとき)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が大きい気筒番号が異常気筒の気筒番号(Cyl_Mal)と一致したとき、当該気筒の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の点火時期をリタード側に補正する（ADV_Hos_n）。
【０１１６】
以下に、気筒別燃料噴射量補正値演算部１６５と気筒別点火時期補正値演算部２４１の詳細説明を行う。
【０１１７】
＜気筒別燃料噴射量補正値演算部（図２４）＞
図２４は、気筒別燃料噴射量補正値演算部の機能を示すブロック線図である。
図２３に示す気筒別燃料噴射量補正値演算部１６５では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。具体的には、図２４に示されるように、f_stage=1かつfp_hosei=1のとき、下記の処理を実施する。
・気筒番号が、Cyl_Mal（異常気筒番号）の燃料噴射量補正値のみ、本演算部で演算される値とする。それ以外の気筒のF_Hos_n（気筒別燃料噴射量補正値）は、１．０とする。
・V_omega_Cyl_Malからテーブル(Tbl_V_omega_F_Hos)２５１を参照して、補正対象気筒（気筒番号がCyl_Mal）のF_Hos_n（気筒別燃料噴射量補正値）とする。
【０１１８】
Tbl_V_omega_F_Hosの設定値は、角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。
【０１１９】
＜気筒別点火時期補正値演算部（図２５）＞
図２５は、気筒別点火時期補正値演算部の機能を示すブロック線図である。
図２３に示す気筒別点火時期補正値演算部２４１では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の点火時期補正値(ADV_Hos_n(nは気筒番号))を演算する。具体的には、図２５に示されるように、f_stage=2かつfp_hosei=1のとき、下記の処理を実施する。
（１）気筒番号が、Cyl_Mal（異常気筒番号）の点火時期補正値のみ、本演算部で演算される値とする。それ以外の気筒のADV_Hos_n（気筒別点火時期補正値）は、０とする。
（２）M_omega_Cyl_Malからテーブル(Tbl_M_omega_ADV)２６１を参照して、補正対象気筒（気筒番号がCyl_Mal）のADV_Hos_n（気筒別点火時期補正値）とする。
【０１２０】
Tbl_M_omega_ADVの設定値は、角加速度の平均値と点火時期リタード量の関係を表すもので、実機試験の結果から決めるのが良い。
【０１２１】
実施例２の制御装置１Ｂによれば、異常気筒の燃料噴射量を増量補正して、異常気筒の空燃比をリッチ側に補正する。そして、異常気筒の空燃比を燃料量増量補正によりリッチ側に補正した後、燃料量増量補正した異常気筒の角加速度もしくはその平均値と、異常気筒以外の他の気筒の角加速度もしくはその平均値とを比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多いと判断する。すなわち、異常気筒を燃料量増量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０１２２】
このとき、異常気筒のリーン化の原因が意図せぬ空気量増量であった場合、燃料量増量補正により、異常気筒の空燃比は適正化（目標空燃比近傍に収束）されるものの、異常気筒以外の他の気筒と比較して、供給燃料量が多くなるため、発生トルクは大きくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して大きくなる。
【０１２３】
したがって、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多かったと判断することができる。
【０１２４】
そして、空気量が多いと判断された異常気筒の点火時期をリタード側に補正する。すなわち、空気量が多いと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、異常気筒の点火時期をリタード側に補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１２５】
［実施例３：図２６〜図２９］
実施例３では、異常気筒の空気量を減量補正して異常気筒の空燃比をリッチ側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも小さいときは、異常気筒の燃料量と空気量を増量補正することを特徴とする。
図２６は、実施例３の制御装置１Ｃを示す制御システム図である。
【０１２６】
本実施例３では、上述の実施例１に対して、気筒別角加速度特性演算部１６４、気筒別燃料噴射量補正値演算部１６５、気筒別空気量補正値演算部１６６の仕様が異なるだけであり、他の手段は略同様であるので、以下においては、仕様が異なる演算部について重点的に説明する。
【０１２７】
実施例３では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1のとき)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒（異常気筒）の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）に対して、空気量を減量補正する(IVO_Hos_n, IVC_Hos_n)。
・ステージ２(f_stage=2のとき)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が小さい気筒の気筒番号がCyl_Mal（異常気筒の気筒番号）と一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の燃料噴射量および空気量を増量補正する（F_Hos_n, IVO_Hos_n, IVC_Hos_n）。
【０１２８】
以下に、本実施例３における気筒別角加速度特性演算部１６４、気筒別燃料噴射量補正値演算部１６５、気筒別空気量補正値演算部１６６の詳細説明を行う。
【０１２９】
＜気筒別角加速度特性演算部（図２７）＞
図２７は、気筒別角加速度特性演算部の機能を示すブロック線図である。
図２６に示す気筒別角加速度特性演算部１６４では、各ステージに応じて、気筒別角加速度特性である異常気筒の気筒番号(Cyl_Mal)、異常気筒の角加速度の分散値（V_omega_Cyl_Mal）、異常気筒の角加速度の平均値( M_omega_Cyl_Mal)を演算する。
【０１３０】
具体的には、図２７に示されるように、fp_kensyutsu（検出許可フラグ）=1のとき、下記の処理を実施する。
・エンジン回転速度(Ne)から、気筒毎の角加速度(omega_n)を演算する。ここにnは、気筒番号を示す。角加速度(omega_n)は、燃焼周期毎にNeの平均値を求め、前回Neとの差とする。
・ステージ１のとき（f_stage=1のとき）
（１）omega_nから、所定サイクル間における気筒毎のomega_nの分散値(V_omega_n)を求める。
（２）V_omega_nがもっとも大きい気筒番号をCyl_Mal(異常気筒番号）とし、気筒番号がCyl_MalのV_omega_nをV_omega_Cyl_Mal（異常気筒の角加速度の分散値）とする。
（３）fp_kensyutsu=0→1となって、最初のCyl_MalおよびV_omwga_Cyl_Malが求まったとき、fp_hosei（補正許可フラグ）=１とする。
（４）V_omega_Cyl_Malがその他の気筒のV_omega_n以下となったら、fp_hosei=0、f_ch_stageを１回だけ１とする。
【０１３１】
・ステージ２のとき（f_stage=2のとき）
（１）omega_nから、所定サイクル間における気筒毎のomega_nの平均値(M_omega_n)を求める。
（２）M_omega_nがもっとも小さい気筒の気筒番号が、Cyl_Mal（異常気筒の気筒番号）のとき、気筒番号がCyl_MalのM_omega_nをM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）fp_kensyutsu=0→1となって、最初のCyl_MalおよびM_omwga_Cyl_Malが求まったとき、fp_hosei（補正許可フラグ）=１とする。
（４）M_omega_Cyl_Malがその他の気筒のM_omega_n以上となったら、fp_hosei=0、f_ch_stageを１回だけ１とする。
（５）fp_kensyutsu=0のとき、fp_hosei=0とする。
【０１３２】
＜気筒別燃料噴射量補正値演算部（図２８）＞
図２８は、気筒別燃料噴射量補正値演算部の機能を示すブロック線図である。
図２６に示す気筒別燃料噴射量補正値演算部１６５では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。具体的には、図２８に示されるように、f_stage=2かつfp_hosei=1のとき、下記の処理を実施する。
・気筒番号が、Cyl_Malの燃料噴射量補正値のみ、本演算部で演算される値とする。それ以外の気筒のF_Hos_n（気筒別燃料噴射量補正値）は、１．０とする。
・M_omega_Cyl_Malからテーブル(Tbl_M_omega_F_Hos)２９１を参照して、補正対象気筒（気筒番号がCyl_Mal）のF_Hos_n（気筒別燃料噴射量補正値）とする。
【０１３３】
Tbl_M_omega_F_Hosの設定値は、角加速度の平均値とトルク（充填効率相当燃料噴射量）の関係を表すもので、実機試験の結果から決めるのが良い。すなわち、気筒番号Cyl_Malの気筒（異常気筒）の角加速度平均値が、その他の気筒（異常気筒以外の他の気筒）の角加速度平均値よりも小さいとき、本演算部による補正を実施する。
【０１３４】
角加速度の大きさは、当該気筒（異常気筒）のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒（異常気筒）のトルクが、その他の気筒（異常気筒以外の他の気筒）と同じになるように当該気筒（異常気筒）の燃料量を多くするものである。なお、燃料量のみ多くすると、当該気筒（異常気筒）はリッチになるので、後述の気筒別空気量補正値演算部１６６で、当該気筒（異常気筒）の空気量（充填効率）も併せて多くする。
【０１３５】
＜気筒別空気量補正値演算部（図２９）＞
図２９は、気筒別空気量補正値演算部１６６の機能を示すブロック線図である。
図２６に示す気筒別空気量補正値演算部１６６では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos(nは気筒番号))を演算する。具体的には、図２９に示されるように、fp_hosei=1のとき、下記の処理を実施する。
・気筒番号がCyl_Malの空気量補正値のみ、本演算部で演算される値とする。それ以外の気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
・ステージ１のとき（f_stage=1のとき）＞
（１）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVO)３０１を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（２）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVC)３０３を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【０１３６】
・ステージ２のとき（f_stage=2のとき）＞
（１）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVO)３０２を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（２）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVC)３０４を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【０１３７】
Tbl_V_omega_IVO_HosおよびTbl_V_omega_IVC_Hosの設定値は、角加速度の角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。そして、Tbl_M_omega_IVO_HosおよびTbl_M_omega_IVC_Hosの設定値は、角加速度の角加速度の平均値とトルク（充填効率）の関係を表すもので、実機試験の結果から決めるのが良い。
【０１３８】
気筒番号Cyl_Malの気筒（異常気筒）の角加速度平均値がその他の気筒（異常気筒以外の他の気筒）の角加速度平均値よりも小さいとき、本演算部による補正を実施する。角加速度の大きさは、当該気筒（異常気筒）のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒（異常気筒）のトルクが、その他の気筒（異常気筒以外の他の気筒）と同じになるように当該気筒（異常気筒）の空気量（充填効率）を多くするものである。なお、空気量のみ多くすると、当該気筒（異常気筒）はリーンになるので、前述の気筒別燃料量補正値演算部１６５で、異常気筒の燃料量も併せて多くする。
【０１３９】
実施例３の制御装置１Ｃによれば、異常気筒の空気量を減量補正して、異常気筒の空燃比をリッチ側に補正する。そして、異常気筒の空燃比を空気量減量補正によりリッチ側に補正した後、空気量減量補正した異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値を比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少ないと判断する。すなわち、異常気筒を空気量減量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０１４０】
このとき、異常気筒のリーン化の原因が意図せぬ燃料量減量であった場合、空気量減量補正により、異常気筒の空燃比は適正化（目標空燃比近傍に収束）されるものの、異常気筒以外の他の気筒と比較して、供給燃料量が少ないため、発生トルクは小さくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して小さくなる。
【０１４１】
したがって、異常気筒の角加速度もしくはその平均値が、異常気筒以外の他の気筒の角加速度もしくはその平均値よりも小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少なかったと判断することができる。
【０１４２】
そして、燃料量が少ないと判断された異常気筒の空気量および燃料量を多くなるように補正する。すなわち、燃料量が少ないと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、その原因である異常気筒の燃料量を多くなるように補正する。
【０１４３】
このとき、異常気筒の空燃比がリッチにならないように、燃料量増量分に応じて、空気量も多く補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１４４】
［実施例４：図３０〜図３２］
実施例４では、異常気筒の空気量を減量補正して異常気筒の空燃比をリッチ側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも小さいときは、異常気筒の点火時期を進角補正することを特徴とする。
【０１４５】
図３０は、実施例４の制御装置１Ｄを示す制御システム図である。
本実施例４では、上述の実施例３に対して、気筒別空気量補正値演算部１６６の仕様が異なる。また、実施例３の気筒別燃料噴射量補正値演算部１６５に対応するものがなく、新たに気筒別点火時期補正値演算部３１１が用意される点が異なる。他の手段は、実施例３のものと略同様な構成であるので、以下においては、実施例３と異なる部分について重点的に説明する。
【０１４６】
実施例４では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Mal、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）に対して、空気量を減量補正する(IVO_Hos_n, IVC_Hos_n)。
【０１４７】
・ステージ２(f_stage=2)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が小さい気筒番号が異常気筒の気筒番号Cyl_Malと一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Malとする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の点火時期を進角側に補正する（ADV_Hos_n）。
【０１４８】
以下に、気筒別点火時期補正値演算部３１１と気筒別空気量補正値演算部１６６の詳細説明を行う。
【０１４９】
＜気筒別点火時期補正値演算部（図３１）＞
図３１は、気筒別点火時期補正値演算部の機能を示すブロック線図である。
図３０に示す気筒別点火時期補正値演算部３１１では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の点火時期補正値(ADV_Hos_n(nは気筒番号))を演算する。具体的には、図３１に示されるように、f_stage=2かつfp_hosei=1のとき、下記の処理を実施する。
・気筒番号が、Cyl_Mal（異常気筒番号）の点火時期補正値のみ、本制御部で演算される値とする。それ以外の気筒のADV_Hos_nは、０とする。
・M_omega_Cyl_Malからテーブル(Tbl_M_omega_ADV)３２１を参照して、補正対象気筒（気筒番号がCyl_Mal）のADV_Hos_n（気筒別点火時期補正値）とする。Tbl_M_omega_ADVの設定値は、角加速度の平均値と点火時期進角量の関係を表すもので、実機試験の結果から決めるのが良い。
【０１５０】
＜気筒別空気量補正値演算部（図３２）＞
図３２は、気筒別空気量補正値演算部の機能を示すブロック線図である。
図３０に示す気筒別空気量補正値演算部１６６では、前述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos(nは気筒番号))を演算する。具体的には、図３２に示されるように、f_stage=1かつfp_hosei=1のとき、下記の処理を実施する。
（１）気筒番号が、Cyl_Mal（異常気筒番号）の空気量補正値のみ、本演算部で演算される値とする。それ以外の気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
（２）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVO)３３１を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（３）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVC)３３２を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。Tbl_V_omega_IVO_HosおよびTbl_V_omega_IVC_Hosの設定値は、角加速度の角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。
【０１５１】
実施例４の制御装置１Ｄによれば、異常気筒の空気量を減量補正して、異常気筒の空燃比をリッチ側に補正する。そして、異常気筒の空燃比を空気量減量補正によりリッチ側に補正した後、空気量減量補正した異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値を比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少ないと判断する。すなわち、異常気筒を空気量減量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０１５２】
このとき、異常気筒のリーン化の原因が意図せぬ燃料量減量であった場合、空気量減量補正により、異常気筒の空燃比は適正化（目標空燃比近傍に収束）されるものの、異常気筒以外の他の気筒と比較して、供給燃料量が少ないため、発生トルクは小さくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して小さくなる。
【０１５３】
したがって、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少なかったと判断することができる。
【０１５４】
そして、燃料量が少ないと判断された異常気筒の点火時期を進角側に補正する。すなわち、燃料量が少ないと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、異常気筒の点火時期を進角側に補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１５５】
［実施例５：図３３］
実施例５では、異常気筒以外の他の気筒の燃料量を減量補正して異常気筒以外の他の気筒の空燃比をリーン側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも大きいときは、異常気筒の燃料と空気量を減量補正することを特徴とする。
【０１５６】
本実施例５では、上述の実施例１に対して、気筒別燃料噴射量補正値演算部１６５の仕様が異なるだけであり、他の手段は略同様であるので、以下においては、仕様が異なる演算部について重点的に説明する。
【０１５７】
実施例５では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）以外の気筒に対して、燃料噴射量を減量補正する(F_Hos_n)。
【０１５８】
・ステージ２(f_stage=2)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が大きい気筒の気筒番号がCyl_Mal（異常気筒の気筒番号）と一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の燃料噴射量および空気量を減量補正する（F_Hos_n, IVO_Hos_n, IVC_Hos_n）。
以下に、本実施例５における気筒別燃料噴射量補正値演算部１６５の詳細を述べる。
【０１５９】
＜気筒別燃料噴射量補正値演算部（図３３）＞
図３３は、実施例５における気筒別燃料噴射量補正値演算部の機能を示すブロック線図である。本演算部では、上述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。具体的には、図３３に示されるように、fp_hosei=1のとき、下記の処理を実施する。
・ステージ１のとき（f_stage=1のとき）＞
（１）気筒番号が、Cyl_Mal以外の気筒の燃料噴射量補正値のみ、本演算部で演算される値とする。気筒番号がCyl_Malの気筒のF_Hos_nは、１．０とする。
（２）V_omega_Cyl_Malからテーブル(Tbl_V_omega_F_Hos)３４１を参照して、補正対象気筒（気筒番号がCyl_Mal以外の気筒）のF_Hos_nとする。
【０１６０】
・ステージ２のとき（f_stage=2のとき）＞
（１）気筒番号が、Cyl_Malの燃料噴射量補正値のみ、本演算部で演算される値とする。それ以外の気筒のF_Hos_nは、１．０とする。
（２）M_omega_Cyl_Malからテーブル(Tbl_M_omega_F_Hos)３４２を参照して、補正対象気筒（気筒番号がCyl_Mal）のF_Hos_nとする。
【０１６１】
Tbl_V_omega_F_Hosの設定値は、角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。Tbl_M_omega_F_Hosの設定値は、角加速度の平均値とトルク（充填効率相当燃料噴射量）の関係を表すもので、実機試験の結果から決めるのが良い。すなわち、気筒番号Cyl_Malの気筒の角加速度平均値がその他の気筒の角加速度平均値よりも大きいとき、本演算部による補正を実施する。角加速度の大きさは、当該気筒のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒のトルクが、その他の気筒と同じになるように当該気筒の燃料量を少なくするものである。
【０１６２】
なお、燃料量のみ少なくすると、異常気筒はリーンになるので、上述の気筒別空気量補正値演算部１６６で、異常気筒の空気量（充填効率）も併せて少なくする。
【０１６３】
実施例５の制御装置１Ａによれば、異常気筒以外の他の気筒の燃料量を減量補正して、異常気筒以外の他の気筒の空燃比をリーン側に補正する。
【０１６４】
このとき、排気管集合部の空燃比（全気筒の平均空燃比）は、異常気筒以外の気筒の空燃比をリーン側に補正した影響で、一時的にリーン側にずれるが、その分、全気筒一律にリッチ側に補正するように、空燃比フィードバック制御が機能するので、その結果、全ての気筒の空燃比が目標空燃比近傍に制御されることになる。
【０１６５】
複数の気筒のうち、特定気筒に着目した場合、空燃比のずれは、必ずしも、リーン側にずれるものではないが、リッチ側にずれた場合も、空燃比フィードバック制御により、その他の気筒がリーン側にずれるので、いずれにしても異常気筒は発生する。さらに、本制御を頻繁に実施することで、もっともリーンになった気筒のみを異常気筒として逐次補正できるので、その結果、常時、全気筒の空燃比のばらつきを抑制することができる。
【０１６６】
そして、異常気筒以外の他の気筒の空燃比を燃料量減量補正によりリーン側に補正した後、異常気筒の角加速度もしくはその平均値と、異常気筒以外の他の気筒の角加速度もしくはその平均値とを比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多いと判断する。すなわち、異常気筒以外の他の気筒を燃料量減量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値とをあらためて比較する。
【０１６７】
このとき、異常気筒のリーン化の原因が意図せぬ空気量増量であった場合、異常気筒以外の他の気筒に対して燃料量減量補正を実施することで、空燃比フィードバック制御により全気筒一律に燃料増量（リッチ側に）補正する機能が働き、異常気筒の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【０１６８】
しかし、その結果、異常気筒は、異常気筒以外の他の気筒と比較して、供給燃料量が多くなるため、発生トルクは大きくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して大きくなる。
【０１６９】
したがって、異常気筒の角加速度もしくはその平均値が、異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多かったと判断することができる。
【０１７０】
そして、空気量が多いと判断された異常気筒の空気量および燃料量を少なくなるように補正する。すなわち、空気量が多いと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、その原因である異常気筒の空気量を少なくなるように補正する。
【０１７１】
このとき、異常気筒の空燃比がリッチにならないように、空気量減量分に応じて、燃料量も少なく補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１７２】
［実施例６：図３４］
実施例６では、異常気筒以外の他の気筒の燃料量を減量補正して異常気筒以外の他の気筒の空燃比をリーン側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも大きいときは、異常気筒の点火時期をリタード補正することを特徴とする。
【０１７３】
本実施例６では、上述の実施例１に対して気筒別燃料噴射量補正値演算部１６５の仕様が異なるだけであり、他の手段は略同様であるので、以下においては、仕様が異なる演算部について重点的に説明する。
【０１７４】
実施例６では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）以外の気筒に対して、燃料噴射量を減量補正する(F_Hos_n)。
【０１７５】
・ステージ２(f_stage=2)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が大きい気筒の気筒番号がCyl_Mal（異常気筒の気筒番号）と一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の点火時期をリタード側に補正する（ADV_Hos_n）。
以下に、本実施例６における気筒別燃料噴射量補正値演算部１６５の詳細を述べる。
【０１７６】
＜気筒別燃料噴射量補正値演算部（図３４）＞
図３４は、実施例６における気筒別燃料噴射量補正値演算部の機能を示すブロック線図である。本演算部では、上述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の燃料噴射量補正値(F_Hos_n(nは気筒番号))を演算する。具体的には、図３４に示されるように、f_stage=1かつfp_hosei=1のとき、下記の処理を実施する。
・気筒番号が、Cyl_Mal以外の気筒の燃料噴射量補正値のみ、本演算部で演算される値とする。気筒番号がCyl_Malの気筒のF_Hos_nは、１．０とする。
・V_omega_Cyl_Malからテーブル(Tbl_V_omega_F_Hos)３５１を参照して、補正対象気筒（気筒番号がCyl_Mal以外の気筒）のF_Hos_nとする。
【０１７７】
Tbl_V_omega_F_Hosの設定値は、角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。
【０１７８】
実施例６の制御装置１Ｂによれば、異常気筒以外の他の気筒の燃料量を減量補正して、異常気筒以外の他の気筒の空燃比をリーン側に補正する。そして、異常気筒以外の他の気筒の空燃比を燃料量減量補正によりリーン側に補正した後、異常気筒の角加速度もしくはその平均値と、異常気筒以外の他の気筒の角加速度もしくはその平均値とを比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多いと判断する。すなわち、異常気筒以外の他の気筒を燃料量減量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０１７９】
このとき、異常気筒のリーン化の原因が意図せぬ空気量増量であった場合、異常気筒以外の他の気筒に対して燃料量減量補正を実施することで、空燃比フィードバック制御により全気筒一律に燃料増量（リッチ側に）補正する機能が働き、異常気筒の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【０１８０】
しかし、その結果、異常気筒は、異常気筒以外の他の気筒と比較して、供給燃料量が多くなるため、発生トルクは大きくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して大きくなる。
【０１８１】
したがって、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より大きいときは、異常気筒の空気量が、異常気筒以外の他の気筒の空気量より多かったと判断することができる。
【０１８２】
そして、空気量が多いと判断された異常気筒の点火時期をリタード側に補正する。すなわち、空気量が多いと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、異常気筒の点火時期をリタード側に補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【０１８３】
［実施例７：図３５］
実施例７では、異常気筒以外の他の気筒の空気量を増量補正して異常気筒以外の他の気筒の空燃比をリーン側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも小さいときは、異常気筒の燃料と空気量を増量補正することを特徴とする。
【０１８４】
本実施例７では、上述の実施例３に対して、気筒別空気量補正値演算部１６６の仕様が異なるだけであり、他の手段は略同様であるので、以下においては、仕様が異なる演算部について重点的に説明する。
【０１８５】
実施例７では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）以外の気筒に対して、空気量を増量補正する(IVO_Hos_n,IVC_Hos_n)。
【０１８６】
・ステージ２(f_stage=2)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が小さい気筒番号が異常気筒の気筒番号Cyl_Malと一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の燃料噴射量および空気量を増量補正する（F_Hos_n, IVO_Hos_n, IVC_Hos_n）。
以下に、本実施例７における気筒別空気量補正値演算部１６６の詳細を述べる。
【０１８７】
＜気筒別空気量補正値演算部（図３５）＞
図３５は、実施例７における気筒別空気量補正値演算部の機能を示すブロック線図である。本演算部では、上述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos(nは気筒番号))を演算する。具体的には、図３５に示されるように、fp_hosei=1のとき、下記の処理を実施する。
【０１８８】
・ステージ１のとき（f_stage=1のとき）＞
（１）気筒番号が、Cyl_Mal以外の気筒の空気量補正値のみ、本演算部で演算される値とする。気筒番号がCyl_Malの気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
（２）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVO)３６１を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（３）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVC)３６３を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【０１８９】
・ステージ２のとき（f_stage=2のとき）＞
（１）気筒番号が、Cyl_Malの空気量補正値のみ、本演算部で演算される値とする。それ以外の気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
（２）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVO)３６２を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（３）M_omega_Cyl_Malからテーブル(Tbl_M_omega_IVC)３６４を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【０１９０】
Tbl_V_omega_IVO_HosおよびTbl_V_omega_IVC_Hosの設定値は、角加速度の角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。Tbl_M_omega_IVO_HosおよびTbl_M_omega_IVC_Hosの設定値は、角加速度の角加速度の平均値とトルク（充填効率）の関係を表すもので、実機試験の結果から決めるのが良い。すなわち、気筒番号Cyl_Malの気筒の角加速度平均値がその他の気筒の角加速度平均値よりも小さいとき、本演算部による補正を実施する。
【０１９１】
角加速度の大きさは、当該気筒（異常気筒）のトルクの大きさと相関があるので、気筒番号Cyl_Malの気筒（異常気筒）のトルクが、その他の気筒（異常気筒以外の他の気筒）と同じになるように当該気筒（異常気筒）の空気量（充填効率）を多くするものである。なお、空気量のみ多くすると、当該気筒（異常気筒）はリーンになるので、前述の気筒別燃料量補正値演算部２７２で、当該気筒（異常気筒）の燃料量も併せて多くする。
【０１９２】
実施例７の制御装置１Ｃによれば、異常気筒以外の他の気筒の空気量を増量補正して、異常気筒以外の他の気筒の空燃比をリーン側に補正する。そして、異常気筒以外の他の気筒の空燃比を空気量増量補正によりリーン側に補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値とを比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少ないと判断する。すなわち、異常気筒以外の他の気筒を空気量増量により補正した後、異常気筒の角加速度もしくはその平均値と、異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０１９３】
このとき、異常気筒のリーン化の原因が意図せぬ燃料量減量であった場合、異常気筒以外の他の気筒に対して空気量増量補正を実施することで、空燃比フィードバック制御により全気筒一律に燃料増量（リッチ側に）補正する機能が働き、異常気筒の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【０１９４】
しかし、その結果、異常気筒は、異常気筒以外の他の気筒と比較すると、依然として、供給燃料量が少ないため、発生トルクは小さくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して小さくなる。
【０１９５】
したがって、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少なかったと判断することができる。
【０１９６】
そして、燃料量が少ないと判断された異常気筒の空気量および燃料量を多くなるように補正する。すなわち、燃料量が少ないと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、その原因である異常気筒の燃料量を多くなるように補正する。このとき、異常気筒の空燃比がリッチにならないように、燃料量増量分に応じて、空気量も多くするものである。その結果、異常気筒と異常気筒以外の他の気筒との気筒の間における空燃比およびトルクのばらつきをなくすことができる。
【０１９７】
［実施例８：図３６］
実施例８では、異常気筒以外の他の気筒の空気量を増量補正して異常気筒以外の他の気筒の空燃比をリーン側に補正し、補正後の異常気筒のトルクが異常気筒以外の他の気筒のトルクよりも小さいときは、異常気筒の点火時期を進角補正することを特徴とする。
【０１９８】
本実施例８では、上述の実施例４に対して気筒別空気量補正値演算部１６６の仕様が
異なるだけであり、他の手段は略同様であるので、以下においては、仕様が異なる演算部について重点的に説明する。
【０１９９】
実施例８では、下記プロセスの制御を実施する。
・ステージ１(f_stage=1)
（１）気筒別に角加速度の分散値を演算し、もっとも角加速度の分散値が大きい気筒（もっともリーンな気筒：リーン気筒）を異常気筒として検出する(Cyl_Mal)。気筒番号Cyl_Malの気筒、すなわち異常気筒の角加速度の分散値をV_omega_Cyl_Malとする。
（２）V_omega_Cyl_Malに基づいて、もっともリーンな気筒（異常気筒）以外の気筒に対して、空気量を増量補正する(IVO_Hos_n,IVC_Hos_n)。
【０２００】
・ステージ２(f_stage=2)
（１）ステージ１の終了後に実施。
（２）気筒別に角加速度の平均値を演算し、もっとも角加速度の平均値が小さい気筒番号が異常気筒の気筒番号Cyl_Malと一致したとき、当該気筒（異常気筒）の角加速度の平均値をM_omega_Cyl_Mal（異常気筒の角加速度の平均値）とする。
（３）M_omega_Cyl_Malに基づいて、当該気筒（異常気筒）の点火時期を進角側に補正する（ADV_Hos_n）。
以下に、本実施例８における気筒別空気量補正値演算部１６６の詳細を述べる。
【０２０１】
＜気筒別空気量補正値演算部（図３６）＞
図３６は、実施例８における気筒別空気量補正値演算部１６６の機能を示すブロック線図である。本演算部では、上述の気筒別角加速度特性演算部１６４で求めた角加速度特性に基づいて、気筒別の空気量補正値(IVO_Hos_n, IVC_Hos(nは気筒番号))を演算する。具体的には、図３６に示されるように、f_stage=1かつfp_hosei=1のとき、下記の処理を実施する。
（１）気筒番号が、Cyl_Mal以外の気筒の空気量補正値のみ、本演算部で演算される値とする。気筒番号が、Cyl_Malの気筒のIVO_Hos_nおよびIVC_Hos_nは、0とする。
（２）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVO)３７１を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVO_Hos_nとする。
（３）V_omega_Cyl_Malからテーブル(Tbl_V_omega_IVC)３７２を参照して、補正対象気筒（気筒番号がCyl_Mal）のIVC_Hos_nとする。
【０２０２】
Tbl_V_omega_IVO_HosおよびTbl_V_omega_IVC_Hosの設定値は、角加速度の角加速度の分散値と空燃比の関係を表すもので、実機試験の結果から決めるのが良い。
【０２０３】
実施例８の制御装置１Ｄによれば、異常気筒以外の他の気筒の空気量を増量補正して、異常気筒以外の他の気筒の空燃比をリーン側に補正する。そして、異常気筒以外の他の気筒の空燃比を空気量増量補正によりリーン側に補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値を比較し、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少ないと判断する。すなわち、異常気筒以外の他の気筒を空気量増量により補正した後、異常気筒の角加速度もしくはその平均値と異常気筒以外の他の気筒の角加速度もしくはその平均値をあらためて比較する。
【０２０４】
このとき、異常気筒のリーン化の原因が意図せぬ燃料量減量であった場合、異常気筒以外の他の気筒に対して、空気量増量補正を実施することで、空燃比フィードバック制御により全気筒一律に燃料増量（リッチ側に）補正する機能が働き、異常気筒の空燃比もリッチ側に補正され適正化（目標空燃比近傍に収束）される。
【０２０５】
しかし、その結果、異常気筒は、異常気筒以外の他の気筒と比較すると、依然として、供給燃料量が少ないため、発生トルクは小さくなる。すなわち、異常気筒の燃焼時に発生する角加速度は、異常気筒以外の他の気筒の燃焼時に発生する角加速度と比較して小さくなる。
【０２０６】
したがって、異常気筒の角加速度もしくはその平均値が異常気筒以外の他の気筒の角加速度もしくはその平均値より小さいときは、異常気筒の燃料量が、異常気筒以外の他の気筒の燃料量より少なかったと判断することができる。
【０２０７】
そして、燃料量が少ないと判断された異常気筒の点火時期を進角側に補正する。すなわち、燃料量が少ないと判定された異常気筒の発生トルクと、異常気筒以外の他の気筒の発生トルクとの差をなくすために、異常気筒の点火時期を進角側に補正する。その結果、異常気筒と異常気筒以外の他の気筒との間における空燃比およびトルクのばらつきをなくすことができる。
【符号の説明】
【０２０８】
１  エアクリーナ
２  エアフロセンサ
３  電子スロットル
４  吸気管
５  コレクタ
６  アクセル
７  燃料噴射弁
８  点火プラグ
９  エンジン
１０  排気管
１１  三元触媒
１２  Ａ／Ｆセンサ
１３  アクセル開度センサ
１４  水温センサ
１５  エンジン回転数センサ
１６  コントロールユニット
１７  スロットル開度センサ
１８  排気還流管
１９  排気還流量調節バルブ
２０  触媒下流Ｏ２センサ
２１  コントロールユニット内に実装されるＣＰＵ
２２  コントロールユニット内に実装されるＲＯＭ
２３  コントロールユニット内に実装されるＲＡＭ
２４  コントロールユニット内に実装される各種センサの入力回路
２５  各種センサ信号の入力、アクチュエータ動作信号を出力するポート
２６  点火プラグに適切なタイミングで駆動信号を出力する点火出力回路
２７  燃料噴射弁に適切なパルスを出力する燃料噴射弁駆動回路
２８  電子スロットル駆動回路
２９  吸気温センサ
３０  吸気動弁
３１  車速センサ
３２  吸気動弁駆動回路
【図１】
2011027059.tif 000003
【図２】
2011027059.tif 000004
【図３】
2011027059.tif 000005
【図４】
2011027059.tif 000006
【図５】
2011027059.tif 000007
【図６】
2011027059.tif 000008
【図７】
2011027059.tif 000009
【図８】
2011027059.tif 000010
【図９】
2011027059.tif 000011
【図１０】
2011027059.tif 000012
【図１１】
2011027059.tif 000013
【図１２】
2011027059.tif 000014
【図１３】
2011027059.tif 000015
【図１４】
2011027059.tif 000016
【図１５】
2011027059.tif 000017
【図１６】
2011027059.tif 000018
【図１７】
2011027059.tif 000019
【図１８】
2011027059.tif 000020
【図１９】
2011027059.tif 000021
【図２０】
2011027059.tif 000022
【図２１】
2011027059.tif 000023
【図２２】
2011027059.tif 000024
【図２３】
2011027059.tif 000025
【図２４】
2011027059.tif 000026
【図２５】
2011027059.tif 000027
【図２６】
2011027059.tif 000028
【図２７】
2011027059.tif 000029
【図２８】
2011027059.tif 000030
【図２９】
2011027059.tif 000031
【図３０】
2011027059.tif 000032
【図３１】
2011027059.tif 000033
【図３２】
2011027059.tif 000034
【図３３】
2011027059.tif 000035
【図３４】
2011027059.tif 000036
【図３５】
2011027059.tif 000037
【図３６】
2011027059.tif 000038