(57)【要約】【課題】短時間に、気筒別の空燃比とトルクの気筒間ばらつきを検出・補正する。【解決手段】気筒毎の角加速度の平均値を演算する手段と、気筒毎の角加速度のばらつき度を演算する手段と、前記気筒毎の角加速度の平均値もしくは／および前記気筒毎の角加速度のばらつき度から、気筒毎のトルクおよび気筒毎の空燃比を推定する手段と、前記気筒毎の推定トルクおよび前記気筒毎の推定空燃比に基づいて、気筒毎の吸気量もしくは／および気筒毎の燃料噴射量もしくは／および気筒毎の点火時期を制御する手段とを備える。【選択図】  図１
2011094541.tif 000002
【特許請求の範囲】
【請求項１】
気筒毎の角加速度の平均値を演算する手段と、
気筒毎の角加速度のばらつき度を演算する手段と、
前記気筒毎の角加速度の平均値もしくは／および
前記気筒毎の角加速度のばらつき度とに基づいて、
気筒毎のトルクおよび気筒毎の空燃比を推定する手段と、
前記気筒毎の推定トルクおよび前記気筒毎の推定空燃比に基づいて、
気筒毎の吸気量もしくは／および気筒毎の燃料噴射量もしくは／および気筒毎の点火時期を制御する手段を備える。
【請求項２】
請求項１において、
前記気筒毎の推定トルクおよび前記気筒毎の推定空燃比に基づいて、
気筒間のトルクおよび気筒間の空燃比の誤差が小さくなるように、
気筒毎の吸気量もしくは／および気筒毎の燃料噴射量
もしくは／および気筒毎の点火時期を制御する手段を備える。
【請求項３】
請求項１，２において、
前記気筒毎のトルクおよび空燃比を推定する手段は、
前記角加速度の平均値が最小である気筒を特定し、
当該気筒の角加速度の平均値が所定値Ａ１以下かつ
当該気筒の角加速度のばらつき度が所定値Ｂ１より小さいとき、
当該気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいとし、
当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないと判断する
ことを特徴とするエンジンの制御装置。
【請求項４】
請求項１，２において、
前記気筒毎のトルクおよび空燃比を推定する手段は、
前記角加速度の平均値が最小である気筒を特定し、
当該気筒の角加速度の平均値が所定値Ａ１以下かつ
当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、
当該気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいとし、
当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断する
ことを特徴とするエンジンの制御装置。
【請求項５】
請求項１，２において、
前記気筒毎のトルクおよび空燃比を推定する手段は、
前記角加速度の平均値が最大である気筒を特定し、
当該気筒の角加速度の平均値が所定値Ａ２以上かつ
当該気筒の角加速度のばらつき度が所定値Ｂ１より小さいとき、
当該気筒のトルクは、その他の気筒のトルクと比較してもっとも大きいとし、
当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないもしくはリッチと判断する
ことを特徴とするエンジンの制御装置。
【請求項６】
請求項１，２において、
前記気筒毎のトルクおよび空燃比を推定する手段は、
前記角加速度のばらつき度が最大である気筒を特定し、
当該気筒の角加速度の平均値が所定値Ａ１より大きくかつ所定値Ａ２より小さくかつ
当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、
当該気筒のトルクは、その他の気筒のトルクと比較して差はないとし、
当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断する
ことを特徴とするエンジンの制御装置。
【請求項７】
請求項３，４，６において、
前記所定値Ａ１は、前記所定期間における全気筒の角加速度の平均値より小さい値とする
ことを特徴とするエンジンの制御装置。
【請求項８】
請求項５において、
前記所定値Ａ２は、前記所定期間における全気筒の角加速度の平均値より大きい値とする
ことを特徴とするエンジンの制御装置。
【請求項９】
請求項３〜６において、
エンジンがアイドル運転を実施しているときは、
前記所定値Ａ１は、負の値とし、
前記所定値Ａ２は、正の値とする
ことを特徴とするエンジンの制御装置。
【請求項１０】
請求項１〜９において、
前記気筒毎の角加速度のばらつき度は、
前記気筒毎の角加速度の標準偏差もしくは分散とする
ことを特徴とするエンジンの制御装置。
【請求項１１】
請求項１〜９において、
前記気筒毎の角加速度のばらつき度は、
前記気筒毎の角加速度の絶対値の二乗に対して重み付き移動平均処理をした値
もしくは
前記気筒毎の角加速度の絶対値に対して重み付き移動平均処理した値とする
ことを特徴とするエンジンの制御装置。
【請求項１２】
請求項３において、
前記「その他の気筒のトルクと比較してもっとも小さく、
その他の気筒の空燃比と比較して差はないと判断した気筒」の
角加速度の平均値が所定値Ａ１より大きくなるまで、
当該気筒の吸気量を増量補正し、前記増量した吸気量に応じて、当該気筒の空燃比を維持するべく当該気筒の燃料噴射量も増量補正する
ことを特徴とするエンジンの制御装置。
【請求項１３】
請求項４において、
前記「その他の気筒のトルクと比較してもっとも小さく、
その他の気筒の空燃比と比較してリーンと判断した気筒」の
角加速度の平均値が所定値Ａ１より大きくなり、かつ
角加速度のばらつき度が所定値Ｂ１より小さくなるまで
当該気筒の燃料噴射量を増量補正する
ことを特徴とするエンジンの制御装置。
【請求項１４】
請求項５において、
前記「その他の気筒のトルクと比較してもっとも大きいとし、
その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」の
角加速度の平均値が所定値Ａ２より小さくなるまで、
当該気筒の燃料噴射量を減量補正する
ことを特徴とするエンジンの制御装置。
【請求項１５】
請求項６において、
前記「その他の気筒のトルクと比較して差はないとし、
その他の気筒の空燃比と比較してもっともリーンと判断した気筒」の
角加速度のばらつき度が所定値Ｂ１より小さくなるまで
当該気筒の吸気量を減量補正する
ことを特徴とするエンジンの制御装置。
【請求項１６】
請求項３において、
前記「その他の気筒のトルクと比較してもっとも小さく、
その他の気筒の空燃比と比較して差はないと判断した気筒」の
角加速度の平均値が所定値Ａ１より大きくなるまで、
当該気筒の点火時期を進角側に補正する
ことを特徴とするエンジンの制御装置。
【請求項１７】
請求項５において、
前記「その他の気筒のトルクと比較してもっとも大きいとし、
その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」の
角加速度の平均値が所定値Ａ２より小さくなるまで、
当該気筒の点火時期を遅角側に補正する
ことを特徴とするエンジンの制御装置。
【請求項１８】
請求項１，２において、
前記角加速度の平均値が最小である気筒を優先的に検出し、
当該気筒の角加速度の平均値が所定値Ａ１以下かつ
当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、
角加速度の平均値が所定値Ａ１より大きくなり、かつ
角加速度のばらつき度が所定値Ｂ１より小さくなるまで
当該気筒の燃料噴射量を優先的に増量補正する
ことを特徴とするエンジンの制御装置。
【請求項１９】
請求項１２〜１４，１８において、
全気筒の燃料噴射量補正量の平均値を演算し、
各気筒の燃料噴射量補正量から前記平均値を引いた値を
最終的な各気筒の燃料噴射量補正量とする
ことを特徴とするエンジンの制御装置。
【請求項２０】
請求項１２，１５において、
全気筒の吸気量補正量の平均値を演算し、
各気筒の吸気量補正量から前記平均値を引いた値を
最終的な各気筒の吸気量補正量とする
ことを特徴とするエンジンの制御装置。
【請求項２１】
請求項１６，１７において、
全気筒の点火時期補正量の平均値を演算し、
各気筒の点火時期補正量から前記平均値を引いた値を
最終的な各気筒の点火時期補正量とする
ことを特徴とするエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの制御装置に関し、特に、気筒間のトルクばらつきおよび空燃比ばらつきの双方を検出・補正する制御装置に関するものである。
【背景技術】
【０００２】
地球環境問題を背景に、自動車に対する低排気化，低ＣＯ2化（低燃費化）の要求が更に高まってきている。エンジンの高性能化を目的に、可変動弁の採用など、エンジンに供給する燃料量だけでなく吸気量も気筒別に独立に制御する機構を持つエンジンが普及しつつある。また、同じ目的から、燃料系の高燃圧化も進みつつあり、燃料系においても、気筒間の燃料量がばらつくポテンシャルが上がりつつある。このようなエンジンにおいては、燃料量と吸気量すなわち、トルクと空燃比を気筒別に制御する性能を、実用環境においても長期間保証する必要がある。
【０００３】
特許文献１では、吸気量センサから気筒間の吸気量ばらつきを検出・補正し、その後に、空燃比センサなどから気筒間の空燃比（燃料量）ばらつきを検出・補正する発明が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−５２６２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、吸気量センサは、燃焼室から離れた箇所に設置されることが一般的であり、両者の間には、吸気管，スロットルなど、気筒別の吸気量情報を薄めてしまう要素があり、吸気量センサ信号から気筒毎の吸気量を検出するには、一定の精度悪化が伴う。空燃比センサも、排気管集合部に設置されることが一般的であるため、同様に、燃焼室から一定距離、離れている。特に、低回転，低流量領域では、空燃比センサ信号中に含まれる気筒別の空燃比情報が薄まる。
【課題を解決するための手段】
【０００６】
上記問題に鑑み、本発明では、短時間かつ高精度に、気筒別の空燃比とトルクの気筒間ばらつきを検出・補正する手段（制御装置）を示すものである。
【０００７】
すなわち、図１に示すように、気筒毎の角加速度の平均値を演算する手段と、気筒毎の角加速度のばらつき度を演算する手段と、気筒毎の角加速度の平均値もしくは／および前記気筒毎の角加速度のばらつき度とに基づいて、気筒毎のトルクおよび気筒毎の空燃比を推定する手段と、気筒毎の推定トルクおよび前記気筒毎の推定空燃比に基づいて、気筒毎の吸気量もしくは／および気筒毎の燃料噴射量もしくは／および気筒毎の点火時期を制御する手段を示す。
【０００８】
例えば、ある気筒の燃料噴射量が何らかの原因で、目標燃料噴射量より少なくなると、当該気筒の燃焼により発生するトルクは小さくなり、また、当該気筒の空燃比はリーンになるため、トルクは不安定になる（ばらつきが大きくなる）。ある気筒の吸気量が、目標吸気量より多くなると、当該気筒の燃焼により発生するトルクはほとんど変わらないが（燃料噴射量は変化していないため）、当該気筒の空燃比はリーンになるため、トルクは不安定になる（ばらつきが大きくなる）。
【０００９】
一方で、ある気筒の燃料噴射量が、目標燃料噴射量より多くなると、当該気筒の燃焼により発生するトルクは大きくなるが、空燃比はリッチになるため、トルクは、不安定にならない（ばらつきが大きくならない）。ある気筒の吸気量が、目標吸気量より少なくなると、空燃比がリッチになるため、当該気筒の燃焼による発生するトルクは多少大きくなるか、もしくは、ほとんど変わらず、また、ほとんど不安定にならない（ばらつきが大きくならない）。
【００１０】
さらに、ある気筒の燃料噴射量と吸気量の双方が、目標値より少なくなると、当該気筒の燃焼により発生するトルクは小さくなる。空燃比は、ほとんど変わらないため、トルクは不安定にならない（ばらつきが大きくならない）。ある気筒の燃料噴射量と吸気量の双方が、目標値より多くなると、当該気筒の燃焼により発生するトルクは大きくなる。空燃比は、ほとんど変わらないため、トルクは不安定にはならない（ばらつきが大きくならない）。
【００１１】
トルクと角加速度の間には、相関がある。したがって、気筒毎の角加速度の大きさ（平均値）と不安定さ（ばらつき度）を用いて、気筒毎のトルクと空燃比を検出することが可能となり、さらに、燃料噴射量誤差によるものか吸気量誤差によるものかも特定することができる。燃料噴射量誤差によるものであれば、当該気筒の燃料噴射量を補正制御する。吸気量誤差によるものであれば、当該気筒の吸気量を補正制御する。また、点火時期を調節することで、トルクを変えることができるので、たとえば、気筒別に吸気量が制御できないときなどは、点火時期によるトルク補正制御も適宜、実施する。詳細は、後述する。なお、気筒別の角加速度は、クランク角センサ信号，カム軸角度センサ信号などのエンジン回転角度情報が得られるセンサ信号から、当該気筒の燃焼に同期して求めるのがよい。
【００１２】
また、図２に示すように、気筒毎の推定トルクおよび前記気筒毎の推定空燃比に基づいて、気筒間のトルクおよび気筒間の空燃比の誤差が小さくなるように、気筒毎の吸気量もしくは／および気筒毎の燃料噴射量もしくは／および気筒毎の点火時期を制御する手段を示す。
【００１３】
すなわち、図１の説明で述べた制御の機能として、気筒間のトルクおよび気筒間の空燃比の誤差が小さくなるように、気筒毎の吸気量，燃料噴射量，点火時期を制御することを明記するものである。
【００１４】
また、図３に示すように、気筒毎のトルクおよび空燃比を推定する手段は、角加速度の平均値が最小である気筒を特定し、当該気筒の角加速度の平均値が所定値Ａ１以下かつ当該気筒の角加速度のばらつき度が所定値Ｂ１より小さいとき、当該気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいとし、当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないと判断することを特徴とするエンジンの制御装置を示す。
【００１５】
すなわち、図１の説明で述べたように、角加速度の平均値がもっとも小さい気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいと判断できる。また、その気筒の角加速度のばらつき度が小さいときは、当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないと判断できる。これを明記するものである。なお、この場合、当該気筒の燃料量と吸気量の双方が少なくなったと判断できる。
【００１６】
また、図４に示すように、気筒毎のトルクおよび空燃比を推定する手段は、角加速度の平均値が最小である気筒を特定し、当該気筒の角加速度の平均値が所定値Ａ１以下かつ当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、当該気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいとし、当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断することを特徴とするエンジンの制御装置を示す。
【００１７】
すなわち、請求項１で述べたように、角加速度の平均値がもっとも小さい気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいと判断できる。また、その気筒の角加速度のばらつき度が大きいときは、当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断できる。これを明記するものである。なお、この場合、当該気筒の燃料量は少なくなり、かつ、吸気量は変化していないもしくは増えたと判断できる。
【００１８】
また、図５に示すように、気筒毎のトルクおよび空燃比を推定する手段は、角加速度の平均値が最大である気筒を特定し、当該気筒の角加速度の平均値が所定値Ａ２以上かつ当該気筒の角加速度のばらつき度が所定値Ｂ１より小さいとき、当該気筒のトルクは、その他の気筒のトルクと比較してもっとも大きいとし、当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないもしくはリッチと判断することを特徴とするエンジンの制御装置を示す。
【００１９】
すなわち、図１の説明で述べたように、角加速度の平均値がもっとも大きい気筒のトルクは、その他の気筒のトルクと比較してもっとも大きいと判断できる。また、その気筒の角加速度のばらつき度が小さいときは、当該気筒の空燃比は、その他の気筒の空燃比と比較して差はないかもしくはリッチと判断できる。これを明記するものである。なお、この場合、当該気筒の燃料量は多くなった（吸気量は不定）もしくは当該気筒の吸気量が少なくなった（燃料量は変化なし）と判断できる。
【００２０】
また、図６に示すように、気筒毎のトルクおよび空燃比を推定する手段は、角加速度のばらつき度が最大である気筒を特定し、当該気筒の角加速度の平均値が所定値Ａ１より大きくかつ所定値Ａ２より小さくかつ当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、当該気筒のトルクは、その他の気筒のトルクと比較して差はないとし、当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断することを特徴とするエンジンの制御装置を示す。
【００２１】
すなわち、図１の説明で述べたように、ある気筒の角加速度の平均値が、その他の気筒の角加速度と比較して、大きく差がないとき、当該気筒のトルクは、その他の気筒のトルクと比較して差はないと判断できる。また、その気筒の角加速度のばらつき度が大きいときは、当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断できる。これを明記するものである。なお、この場合、当該気筒の燃料量は変化しておらず、かつ、吸気量は多くなったと判断できる。
【００２２】
また、図７に示すように、所定値Ａ１は、前記所定期間における全気筒の角加速度の平均値より小さい値とすることを特徴とするエンジンの制御装置を示す。
【００２３】
すなわち、図３の説明において、所定値Ａ１は、他気筒と比較してトルクが小さい気筒を検出するための角加速度用しきい値である。したがって、所定値Ａ１は、全気筒の角加速度の平均値より小さい値とする。
【００２４】
また、図８に示すように、所定値Ａ２は、前記所定期間における全気筒の角加速度の平均値より大きい値とすることを特徴とするエンジンの制御装置を示す。
【００２５】
すなわち、図５において、所定値Ａ２は、他気筒と比較してトルクが大きい気筒を検出するための角加速度用しきい値である。したがって、所定値Ａ２は、全気筒の角加速度の平均値より大きい値とする。
【００２６】
また、図９に示すように、エンジンがアイドル運転を実施しているときは、所定値Ａ１は、負の値とし、所定値Ａ２は、正の値とすることを特徴とするエンジンの制御装置を示す。
【００２７】
すなわち、アイドル運転時は、全気筒の角加速度の平均値は、約０となる。したがって、他気筒と比較してトルクが小さい気筒を検出するための角加速度用しきい値Ａ１は、負の値とし、他気筒と比較してトルクが大きい気筒を検出するための角加速度用しきい値Ａ２は、正の値とする。
【００２８】
また、図１０に示すように、気筒毎の角加速度のばらつき度は、気筒毎の角加速度の標準偏差もしくは分散とすることを特徴とするエンジンの制御装置を示す。
【００２９】
すなわち、ばらつき度を示す一般的な指標として、標準偏差もしくは分散がある。
【００３０】
また、図１１に示すように、気筒毎の角加速度のばらつき度は、気筒毎の角加速度の絶対値の二乗に対して重み付き移動平均処理をした値もしくは気筒毎の角加速度の絶対値に対して重み付き移動平均処理した値とすることを特徴とするエンジンの制御装置を示す。
【００３１】
すなわち、図１０の説明で述べたように、ばらつき度を示す指標として、分散値もしくは標準偏差があるが、オンボードで逐次演算するのには、不向きである。オンボードでの逐次演算に向く、絶対値の二乗に対して重み付き移動平均を施した値で、分散値を近似演算する。もしくは、絶対値に対して重み付き移動平均を施した値で、標準偏差を近似演算する。
【００３２】
また、図１２に示すように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較して差はないと判断した気筒」の角加速度の平均値が所定値Ａ１より大きくなるまで、当該気筒の吸気量を増量補正し、増量した吸気量に応じて、当該気筒の空燃比を維持するべく当該気筒の燃料噴射量も増量補正することを特徴とするエンジンの制御装置を示す。
【００３３】
すなわち、図３の説明で述べたように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較して差はないと判断した気筒」においては、当該気筒の燃料量と吸気量の双方が少なくなったと判断できる。したがって、当該気筒の角加速度の平均値が所定値Ａ１より大きくなるまで（当該気筒のトルク低下が解消されるまで）、当該気筒の吸気量を増量補正し、かつ、当該気筒の空燃比がリーン化しないように、前記増量した吸気量に応じて、当該気筒の空燃比を維持するべく当該気筒の燃料噴射量も増量補正する。
【００３４】
また、図１３に示すように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較してリーンと判断した気筒」の角加速度の平均値が所定値Ａ１より大きくなり、かつ角加速度のばらつき度が所定値Ｂ１より小さくなるまで当該気筒の燃料噴射量を増量補正することを特徴とするエンジンの制御装置を示す。
【００３５】
すなわち、図４の説明で述べたように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較してもっともリーンと判断した気筒」においては、当該気筒の燃料量は少なくなり、かつ、吸気量は変化していないもしくは増えたと判断できる。したがって、当該気筒の角加速度の平均値が所定値Ａ１より大きくなり（当該気筒のトルク低下が解消されるまで）、かつ、角加速度のばらつき度が所定値Ｂ１より小さくなるまで（当該気筒のリーン化が解消されるまで）、当該気筒の吸気量を増量補正する。
【００３６】
また、図１４に示すように、「その他の気筒のトルクと比較してもっとも大きいとし、その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」の角加速度の平均値が所定値Ａ２より小さくなるまで、当該気筒の燃料噴射量を減量補正することを特徴とするエンジンの制御装置を示す。
【００３７】
すなわち、図５の説明で述べたように、「その他の気筒のトルクと比較してもっとも大きいとし、その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」においては、当該気筒の燃料量は多くなった（吸気量は不定）もしくは当該気筒の吸気量が少なくなった（燃料量は変化なし）と判断できる。したがって、角加速度の平均値が所定値Ａ２より小さくなるまで（当該気筒のトルク増大が解消されるまで）、当該気筒の燃料噴射量を減量補正する。
【００３８】
また、図１５に示すように、「その他の気筒のトルクと比較して差はないとし、その他の気筒の空燃比と比較してもっともリーンと判断した気筒」の角加速度のばらつき度が所定値Ｂ１より小さくなるまで当該気筒の吸気量を減量補正することを特徴とするエンジンの制御装置を示す。
【００３９】
すなわち、図６の説明で述べたように、「その他の気筒のトルクと比較して差はないとし、その他の気筒の空燃比と比較してもっともリーンと判断した気筒」においては、当該気筒の燃料量は変化しておらず、かつ、吸気量は多くなったと判断できる。したがって、角加速度のばらつき度が所定値Ｂ１より小さくなるまで（当該気筒のリーン化が解消されるまで）、当該気筒の吸気量を減量補正する。
【００４０】
また、図１６に示すように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較して差はないと判断した気筒」の角加速度の平均値が所定値Ａ１より大きくなるまで、当該気筒の点火時期を進角側に補正することを特徴とするエンジンの制御装置を示す。
【００４１】
すなわち、図３の説明で述べたように、「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較して差はないと判断した気筒」においては、当該気筒の燃料量と吸気量の双方が少なくなったと判断できる。一方で、気筒別に吸気量が制御できないときなどは、燃料量のみ増量した場合、当該気筒のトルク低下は、解消されるものの、空燃比がリッチ化する。この場合は、当該気筒の点火時期を進角側に補正することで、トルク低下を解消させる。
【００４２】
また、図１７に示すように、「その他の気筒のトルクと比較してもっとも大きいとし、その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」の角加速度の平均値が所定値Ａ２より小さくなるまで、当該気筒の点火時期を遅角側に補正することを特徴とするエンジンの制御装置を示す。
【００４３】
すなわち、図５の説明で述べたように、「その他の気筒のトルクと比較してもっとも大きいとし、その他の気筒の空燃比と比較して差はないもしくはリッチと判断した気筒」においては、当該気筒の燃料量は多くなった（吸気量は不定）もしくは当該気筒の吸気量が少なくなった（燃料量は変化なし）と判断できる。当該気筒の点火時期を遅角側に補正することで、トルクを低下させることもできる。
【００４４】
また、図１８に示すように、角加速度の平均値が最小である気筒を優先的に検出し、当該気筒の角加速度の平均値が所定値Ａ１以下かつ当該気筒の角加速度のばらつき度が所定値Ｂ１以上のとき、角加速度の平均値が所定値Ａ１より大きくなり、かつ角加速度のばらつき度が所定値Ｂ１より小さくなるまで当該気筒の燃料噴射量を優先的に増量補正することを特徴とするエンジンの制御装置を示す。
【００４５】
すなわち、図１の説明でも述べたように、角加速度の平均値がもっとも小さい気筒のトルクは、その他の気筒のトルクと比較してもっとも小さいと判断できる。また、その気筒の角加速度のばらつき度が大きいときは、当該気筒の空燃比は、その他の気筒の空燃比と比較してリーンと判断できる。「その他の気筒のトルクと比較してもっとも小さく、その他の気筒の空燃比と比較してリーンと判断した気筒」は、もっとも不安定な気筒である。したがって、当該気筒を優先的に検出し、さらに、当該気筒の燃料噴射量を優先的に増量補正するものである。
【００４６】
図１９に示すように、全気筒の燃料噴射量補正量の平均値を演算し、各気筒の燃料噴射量補正量から前記平均値を引いた値を最終的な各気筒の燃料噴射量補正量とすることを特徴とするエンジンの制御装置を示す。
【００４７】
すなわち、図１２〜図１４，図１８に記載の燃料噴射量補正は、特定の気筒のみの燃料噴射量を増量補正もしくは減量補正するものである。このような逐次補正方式においては、燃料噴射量補正値の直流分（各気筒の補正値の平均値）は、ドリフトしていく可能性を持つ。ドリフト分を補正するため、全気筒の燃料噴射量補正量の平均値を演算し、各気筒の燃料噴射量補正量から前記平均値を引いた値を最終的な各気筒の燃料噴射量補正量とする。
【００４８】
また、図２０に示すように、全気筒の吸気量補正量の平均値を演算し、各気筒の吸気量補正量から前記平均値を引いた値を最終的な各気筒の吸気量補正量とすることを特徴とするエンジンの制御装置を示す。
【００４９】
すなわち、図１２，図１５で説明した吸気量補正は、特定の気筒のみの吸気量を増量補正もしくは減量補正を逐次実施するものである。図２０の説明で述べたように、ドリフト分を補正するため、全気筒の吸気量補正量の平均値を演算し、各気筒の吸気量補正量から前記平均値を引いた値を最終的な各気筒の吸気量補正量とする。
【００５０】
また、図２１に示すように、全気筒の点火時期補正量の平均値を演算し、各気筒の点火時期補正量から前記平均値を引いた値を最終的な各気筒の点火時期補正量とすることを特徴とするエンジンの制御装置を示す。
【００５１】
すなわち、図１６，図１７に記載の点火時期補正は、特定の気筒のみの点火時期を進角補正もしくは遅角補正を逐次実施するものである。図２０の説明で述べたように、ドリフト分を補正するため、全気筒の点火時期補正量の平均値を演算し、各気筒の点火時期補正量から前記平均値を引いた値を最終的な各気筒の点火時期補正量とする。
【００５２】
なお、本方式においては、必ずしも、一段階での補正で、燃料噴射量と吸気量の誤差を補正するものではない。例えば、燃料噴射量と吸気量の双方が増量側にずれたとき、まずは、図１４に記載の方式で、トルクの増大が解消するまで、燃料噴射量を減量補正する。吸気量は、減量補正しないので、空燃比はリーン化する。このとき、図１５に記載の方式で、吸気量を減量補正するので、二段階の補正を経て、燃料噴射量，吸気量は、適正に補正される。その他のケースでも同様であるが、本制御は、比較的、頻繁に実行されるので、燃料噴射量もしくは吸気量のいずれかに誤差が生じた気筒を、早期に検出することができる（双方に誤差が生じる以前に検出する）。燃料噴射量もしくは吸気量のいずれかに誤差が生じた場合の４ケースの内（（１）燃料量多，（２）燃料量少，（３）吸気量多，（４）吸気量少），３ケース（（１）燃料量多，（２）燃料量少，（３）吸気量多）が、一段階の補正で当該気筒を適正化できる。「（３）吸気量少」もしくは「燃料量と吸気量の双方に誤差が生じた場合」のケースでも、二段階の検出・補正で、適正化できる。
【００５３】
以上より、短時間かつ高精度に、気筒別の空燃比とトルクの気筒間ばらつきを検出・補正することができる。
【発明の効果】
【００５４】
本発明によれば、気筒毎の角加速度情報を用いて、気筒間のトルク誤差および気筒間の空燃比誤差が小さくなるように、気筒毎の吸気量，燃料噴射量，点火時期を適正に補正するので、機構が複雑化しつつあるエンジンの実用環境における性能を長期間保証することができ、もって、排気悪化，ＣＯ2悪化，燃費悪化を抑制することができる。
【図面の簡単な説明】
【００５５】
【図１】請求項１に記載のエンジンの制御装置。
【図２】請求項２に記載のエンジンの制御装置。
【図３】請求項３に記載のエンジンの制御装置。
【図４】請求項４に記載のエンジンの制御装置。
【図５】請求項５に記載のエンジンの制御装置。
【図６】請求項６に記載のエンジンの制御装置。
【図７】請求項７に記載のエンジンの制御装置。
【図８】請求項８に記載のエンジンの制御装置。
【図９】請求項９に記載のエンジンの制御装置。
【図１０】請求項１０に記載のエンジンの制御装置。
【図１１】請求項１１に記載のエンジンの制御装置。
【図１２】請求項１２に記載のエンジンの制御装置。
【図１３】請求項１３に記載のエンジンの制御装置。
【図１４】請求項１４に記載のエンジンの制御装置。
【図１５】請求項１５に記載のエンジンの制御装置。
【図１６】請求項１６に記載のエンジンの制御装置。
【図１７】請求項１７に記載のエンジンの制御装置。
【図１８】請求項１８に記載のエンジンの制御装置。
【図１９】請求項１９に記載のエンジンの制御装置。
【図２０】請求項２０に記載のエンジンの制御装置。
【図２１】請求項２１に記載のエンジンの制御装置。
【図２２】実施例１〜３におけるエンジン制御システム図。
【図２３】実施例１〜３におけるコントロールユニットの内部を表した図。
【図２４】実施例１，２における制御全体を表したブロック図。
【図２５】実施例１〜３における基本燃料噴射量演算部のブロック図。
【図２６】実施例１における制御許可フラグ演算部のブロック図。
【図２７】実施例１における気筒別角加速度特性演算部のブロック図。
【図２８】実施例１，２における補正気筒および補正方向演算部のブロック図。
【図２９】実施例１における角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部のブロック図。
【図３０】実施例１，２における補正気筒および補正方向演算部２のブロック図。
【図３１】実施例１における気筒別燃料噴射量補正値演算部のブロック図。
【図３２】実施例１における気筒別空気量補正値演算部のブロック図。
【図３３】実施例２，３における制御許可フラグ演算部のブロック図。
【図３４】実施例２，３における気筒別角加速度特性演算部のブロック図。
【図３５】実施例２，３における角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部のブロック図。
【図３６】実施例２における気筒別燃料噴射量補正値演算部のブロック図。
【図３７】実施例２における気筒別空気量補正値演算部のブロック図。
【図３８】実施例３における制御全体を表したブロック図。
【図３９】実施例３における補正気筒および補正方向演算部のブロック図。
【図４０】実施例３における補正気筒および補正方向演算部２のブロック図。
【図４１】実施例３における気筒別燃料噴射量補正値演算部のブロック図。
【図４２】実施例３における気筒別空気量補正値演算部のブロック図。
【図４３】実施例３における気筒別点火時期補正値演算部のブロック図。
【発明を実施するための形態】
【００５６】
（実施例１）
図２２は、本実施例を示すシステム図である。多気筒（ここでは４気筒）で構成されるエンジン９において、外部からの空気はエアクリーナ１を通過し、吸気マニホールド４，コレクタ５を経てシリンダー内に流入する。流入空気量は電子スロットル３により調節される。エアフロセンサ２では流入空気量が検出される。また、吸気温センサ２９で、吸気温が検出される。クランク角センサ１５では、クランク軸の回転角１０゜毎の信号と燃焼周期毎の信号が出力される。水温センサ１４はエンジンの冷却水温度を検出する。またアクセル開度センサ１３は、アクセル６の踏み込み量を検出し、それによって運転者の要求トルクを検出する。
【００５７】
アクセル開度センサ１３，エアフロセンサ２，吸気温センサ２９，電子スロットル３に取り付けられたスロットル開度センサ１７，クランク角センサ１５，水温センサ１４のそれぞれの信号は、後述のコントロールユニット１６に送られ、これらセンサ出力からエンジンの運転状態を得て、空気量，燃料噴射量，点火時期のエンジンの主要な操作量が最適に演算される。
【００５８】
コントロールユニット１６内で演算された目標空気量は、目標スロットル開度→電子スロットル駆動信号に変換され、電子スロットル３に送られる。燃料噴射量は開弁パルス信号に変換され、燃料噴射弁（インジェクタ）７に送られる。またコントロールユニット１６で演算された点火時期で点火されるよう駆動信号が点火プラグ８に送られる。
【００５９】
噴射された燃料は吸気マニホールドからの空気と混合されエンジン９のシリンダー内に流入し混合気を形成する。混合気は所定の点火時期で点火プラグ８から発生される火花により爆発し、その燃焼圧によりピストンを押し下げてエンジンの動力となる。爆発後の排気は排気マニホールド１０を経て三元触媒１１に送り込まれる。排気還流管１８を通って排気の一部は吸気側に還流される。還流量は排気還流量調節バルブ１９によって制御される。
【００６０】
触媒上流Ａ／Ｆセンサ１２はエンジン９と三元触媒１１の間に取り付けられている。触媒下流Ｏ2センサ２０は三元触媒１１の下流に取り付けられている。
【００６１】
図２３はコントロールユニット１６の内部を示したものである。コントロールユニット（ＥＣＵ１６）内にはエアフロセンサ２，触媒上流Ａ／Ｆセンサ１２，アクセル開度センサ１３，水温センサ１４，エンジン回転数センサ１５，スロットル開度センサ１７，触媒下流Ｏ2センサ２０，吸気温センサ２９，車速センサ３０の各センサ出力値が入力され、入力回路２４にてノイズ除去等の信号処理を行った後、入出力ポート２５に送られる。入力ポートの値はＲＡＭ２３に保管され、ＣＰＵ２１内で演算処理される。演算処理の内容を記述した制御プログラムはＲＯＭ２２に予め書き込まれている。制御プログラムに従って演算された各アクチュエータ作動量を表す値はＲＡＭ２３に保管された後、入出力ポート２５に送られる。点火プラグの作動信号は点火出力回路内の一次側コイルの通流時はＯＮとなり、非通流時はＯＦＦとなるＯＮ・ＯＦＦ信号がセットされる。点火時期はＯＮからＯＦＦになる時である。出力ポートにセットされた点火プラグ用の信号は点火出力回路２６で燃焼に必要な十分なエネルギーに増幅され点火プラグに供給される。また燃料噴射弁の駆動信号は開弁時ＯＮ，閉弁時ＯＦＦとなるＯＮ・ＯＦＦ信号がセットされ、燃料噴射弁駆動回路２７で燃料噴射弁を開くに十分なエネルギーに増幅され燃料噴射弁７に送られる。電子スロットル３の目標開度を実現する駆動信号は、電子スロットル駆動回路２８を経て、電子スロットル３に送られる。吸気動弁３０の目標リフト量，目標開閉時期を実現する駆動信号は、吸気動弁駆動回路３２を経て、吸気動弁３０に送られる。
【００６２】
以下、ＲＯＭ２２に書き込まれる制御プログラムについて述べる。図２４は制御全体を表したブロック図であり、以下の演算部から構成される。
・基本燃料噴射量演算部（図２５）
・制御許可フラグ演算部（図２６）
・気筒別角加速度特性演算部（図２７）
・補正気筒および補正方向演算部（図２８）
・気筒別燃料噴射量補正値演算部（図３１）
・気筒別吸気量補正値演算部（図３２）
【００６３】
「基本燃料噴射量演算部」で、基本燃料噴射量（Tp0）を演算する。「制御許可フラグ演算部」では、気筒別の燃料噴射量補正，吸気量補正を実施を許可するフラグ（fp_seigyo）を演算する。「気筒別角加速度特性演算部」では、制御許可が出ると（fp_seigyo＝１）、気筒別角加速度特性である気筒毎の角加速度の平均値（M_omega_n（ｎ：気筒番号）），気筒毎の角加速度の分散値（V_omega_n（ｎ：気筒番号））を演算する。「補正気筒および補正方向演算部」では、上述の角加速度特性に基づいて、補正する気筒の気筒番号（Cyl_hos），補正する気筒の燃料噴射量を増量補正するか、減量補正するかの補正方向（Dir_hos_F）、また、補正する気筒の吸気量を増量補正するか、減量補正するかの補正方向（Dir_hos_A），補正する気筒の角加速度の平均値（M_omega_Cyl_hos），補正する気筒の角加速度の分散値（V_omega_Cyl_hos）を演算する。「気筒別燃料噴射量補正値演算部」では、前述の「補正気筒および補正方向演算部」で演算した各パラメータ値に基づいて、気筒別の燃料噴射量補正値（F_hos_n（ｎ：気筒番号））を演算する。「気筒別吸気量補正値演算部」では、前述の「補正気筒および補正方向演算部」で演算した各パラメータ値に基づいて、気筒別の吸気量補正値（IVO_hos_n，IVC_hos_n）を演算する。ここに、IVO_hos_nは、ｎ番気筒の吸気弁開時期（IVO_n）に対して施される補正値であり、IVC_hos_nは、ｎ番気筒の吸気弁閉時期（IVC_n）に対して施される補正値である。IVO_n，IVC_nの演算方法については、従来より様々な方法があり、本発明とは直接関係しないので、ここでは詳述しない。以下、各演算部の詳細を説明する。
【００６４】
＜基本燃料噴射量演算部（図２５）＞
本演算部では、基本燃料噴射量（Tp0）を演算する。具体的には、図２５に示される式で演算する。ここに、Cylは気筒数を表す。Ｋ０は、インジェクタの仕様（燃料噴射パルス幅と燃料噴射量の関係）に基づき決める。
【００６５】
＜制御許可フラグ演算部（図２６）＞
本演算部では、制御許可フラグ（fp_seigyo）を演算する。具体的には、図２６に示される。アクセル開度の今回値と前回値の差（ΔApo）が所定時間、所定範囲内にあり、かつ、基本燃料噴射量の今回値と前回値の差（ΔTp0）が所定時間、所定範囲内にあり、かつ、エンジン回転速度の今回値と前回値の差（ΔNe）が所定時間、所定範囲内にあったとき、制御の実施を許可する（fp_seigyo＝１）。
【００６６】
＜気筒別角加速度特性演算部（図２７）＞
本演算部では、気筒別角加速度特性である気筒毎の角加速度の平均値（M_omega_n（ｎ：気筒番号）），気筒毎の角加速度の分散値（V_omega_n（ｎ：気筒番号））を演算する。具体的には、図２７に示される。エンジン回転速度（Ne）からｎ番気筒の角加速度（omega_n）を求める。より具体的には、燃焼周期毎にNeの平均値を求め、前回Neとの差をomega_nとする。omega_nから、所定サイクル間におけるｎ番気筒の角加速度の平均値（M_omega_n）を求める。また、omega_nから、所定サイクル間におけるｎ番気筒の角加速度の分散値（V_omega_n）を求める。
【００６７】
＜補正気筒および補正方向演算部（図２８）＞
本演算部は、「角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部」と「補正気筒および補正方向演算部２」からなる。以下、各演算部の詳細を述べる。
【００６８】
＜角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部（図２９）＞
本演算部では、角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報を演算する。具体的には、図２９に示されるように、
・M_omega_n最小値（M_omega_K1）を求める。M_omega_nが最小の気筒の気筒番号をCyl_
K1とする。気筒番号Cyl_K1のV_omega_nをV_omega_K1とする。
・M_omega_nの最大値（M_omega_K2）を求める。M_omega_nが最大の気筒の気筒番号をCy
l_K2とする。気筒番号Cyl_K2のV_omega_nをV_omega_K2とする。
・V_omega_nの最大値（V_omega_K3）を求める。V_omega_nが最大の気筒の気筒番号をCy
l_K3とする。気筒番号Cyl_K3のM_omega_nをM_omega_K3とする。
・M_omega_nの平均値にK1を引いた値をA1とする。M_omega_nの平均値からＫ２を加えた
値をA2とする。
【００６９】
＜補正気筒および補正方向演算部２（図３０）＞
本演算部では、補正気筒および補正方向を演算する。具体的には、図３０で示される。
（条件１）
M_omega_K1≦A1かつV_omega_K1≧B1のとき
（条件２）
条件１が不成立かつM_omega_K3＞A1かつM_omega_K3＜A2かつV_omega_K3≧B1のとき
（条件３）
条件１が不成立かつ条件２が不成立かつM_omega_K1≦A1かつV_omega_K1＜B1のとき
（条件４）
条件１が不成立かつ条件２が不成立かつ
条件３が不成立かつ
M_omega_K2≧A2かつV_omega_K2＜B1のとき
（条件１）が成立時
Cyl_hos＝Cyl_K1，Dir_hos_F＝１，Dir_hos_A＝０，M_omega_cyl_hos＝M_omega_K1，
V_omega_cyl_hos＝V_omega_K1とする。
（条件２）が成立時
Cyl_hos＝Cyl_K1，Dir_hos_F＝０，Dir_hos_A＝−１，M_omega_cyl_hos＝M_omega_K3，
V_omega_cyl_hos＝V_omega_K3とする。
（条件３）が成立時
Cyl_hos＝Cyl_K3，Dir_hos_F＝１，Dir_hos_A＝１，M_omega_cyl_hos＝M_omega_K1，
V_omega_cyl_hos＝V_omega_K1とする。
（条件４）が成立時
Cyl_hos＝Cyl_K2，Dir_hos_F＝−１，Dir_hos_A＝０，M_omega_cyl_hos＝M_omega_K2，
V_omega_cyl_hos＝V_omega_K2とする。
【００７０】
なお、補正方向フラグ（Dir_hos_F，Dir_hos_A）の値の意味は、１のとき増量側に補正，−１のとき減量側に補正，０のとき補正しない、である。
【００７１】
＜気筒別燃料噴射量補正値演算部（図３１）＞
本演算部では、気筒別燃料噴射量補正値（F_hos_n）を演算する。具体的には、図３１に示されるように、気筒番号ｎがCyl_hosの燃料噴射量補正値（F_hos_n）を下記のように演算する。
・Dir_hos_F＝１かつDir_hos_A＝０のとき、F_hos_n＝F_hos_n（前回値）＋F_hos_1と
する。
・Dir_hos_F＝１かつDir_hos_A＝１のとき、F_hos_n＝Ｋ×Tp_hos_n（ｎ＝Cyl_hos）と
する。
・Dir_hos_F＝−１のとき、F_hos_n＝F_hos_n（前回値）−F_hos_0とする。
・Dir_hos_F＝０のとき、F_hos_n＝F_hos_n（前回値）とする。
・気筒番号がCyl_hos以外の燃料噴射量補正値（F_hos_n）は、前回値を維持する。すな
わち、F_hos_n＝F_hos_n（前回値）とする。
【００７２】
なお、燃料噴射量増量側更新値（F_hos_1）は、M_omega_Cyl_hosからテーブル（Tbl_F_hos1）を参照した値とする。また、燃料噴射量減量側更新値（F_hos_0）は、M_omega_Cyl_hosからテーブル（Tbl_F_hos0）を参照した値とする。テーブルの設定値は、角加速度の平均値の大きさ（低減量，増大量）に対して、１回の更新で、どの程度、燃料噴射量を補正するかで決める。
【００７３】
＜気筒別吸気量補正値演算部（図３２）＞
本演算部では、気筒別吸気量補正値（Tp_hos_n）を演算する。具体的には、図３２に示されるように、気筒番号ｎがCyl_hosの吸気量補正値（Tp_hos_n）を下記のように演算する。
・Dir_hos_A＝１のとき、Tp_hos_n＝Tp_hos_n（前回値）＋Tp_hos_1とする。
・Dir_hos_A＝−１のとき、Tp_hos_n＝Tp_hos_n（前回値）−Tp_hos_0とする。
・Dir_hos_A＝０のとき、Tp_hos_n＝Tp_hos_n（前回値）とする。
・気筒番号がCyl_hos以外の燃料噴射量補正値（Tp_hos_n）は、前回値を維持する。す
なわち、Tp_hos_n＝Tp_hos_n（前回値）とする。
・Tp_hos_nから、テーブル（Tbl_IVO_hos_n）を参照して、気筒別吸気弁開時期補正値
（IVO_hos_n）を演算する。
・Tp_hos_nから、テーブル（Tbl_IVC_hos_n）を参照して、気筒別吸気弁閉時期補正値
（IVC_hos_n）を演算する。
【００７４】
なお、吸気量増量側更新値（Tp_hos_1）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos1）を参照した値とする。また、吸気量減量側更新値（Tp_hos_0）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos0）を参照した値とする。テーブルの設定値は、角加速度の平均値の大きさ（低減量，増大量）に対して、１回の更新で、どの程度、吸気量を補正するかで決める。また、テーブル（Tbl_IVO_hos_n）およびテーブル（Tbl_IVC_hos_n）の値は、吸気量補正値に対して、吸気弁の開時期と閉時期をどの程度補正するかで決める。エンジンの運転条件（回転速度，吸気圧）なども参照して決めるのも良い。
【００７５】
（実施例２）
実施例２では、アイドル運転で本制御を実施する。また、請求項１１に記載のように、気筒毎の角加速度のばらつき度を角加速度の絶対値の二乗に対して重み付き移動平均で演算する。また、請求項１９，２０に記載のように、気筒毎の燃料噴射量補正値と気筒毎の吸気量補正値のドリフト分を補正する。
【００７６】
図２２は本実施例を示すシステム図であり、実施例１と同様であるので詳述はしない。図２３はコントロールユニット１６の内部を示したものであり、実施例１と同様であるので、同じく詳述しない。図２４は制御全体を表したブロック図であり、実施例１と同様であるので、同じく詳述しない。以下、各演算部の詳細を説明する。
【００７７】
＜基本燃料噴射量演算部（図２５）＞
本演算部では、基本燃料噴射量（Tp0）を演算する。具体的には、図１８に示されるが、実施例１と同じであるので、詳述しない。
【００７８】
＜制御許可フラグ演算部（図３３）＞
本演算部では、制御許可フラグ（fp_seigyo）を演算する。具体的には、図３３に示される。アクセル開度の今回値と前回値の差（ΔApo）が所定時間，所定範囲内にあり、かつ、基本燃料噴射量の今回値と前回値の差（ΔTp0）が所定時間，所定範囲内にあり、かつ、エンジン回転速度の今回値と前回値の差（ΔNe）が所定時間，所定範囲内にあり、かつ、アイドル運転中であるとき、制御の実施を許可する（fp_seigyo＝１）。
【００７９】
＜気筒別角加速度特性演算部（図３４）＞
本演算部では、気筒別角加速度特性である気筒毎の角加速度の平均値（M_omega_n（ｎ：気筒番号）），気筒毎の角加速度の分散値（V_omega_n（ｎ：気筒番号））を演算する。具体的には、図３４に示される。エンジン回転速度（Ne）からｎ番気筒の角加速度（omega_n）を求める。より具体的には、燃焼周期毎にNeの平均値を求め、前回Neとの差をomega_nとする。omega_nを移動平均処理し、ｎ番気筒の角加速度の平均値（M_omega_n）を近似的に求める。また、omega_nの絶対値の二乗に移動平均処理をし、ｎ番気筒の角加速度の分散値（V_omega_n）を近似的に求める。
【００８０】
＜補正気筒および補正方向演算部（図２８）＞
本演算部は、「角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部」と「補正気筒および補正方向演算部２」からなる。構成は、実施例１と同様である。以下、各演算部の詳細を述べる。
【００８１】
＜角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部（図３５）＞
本演算部では、角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報を演算する。具体的には、図３５に示されるように、
・M_omega_n最小値（M_omega_K1）を求める。M_omega_nが最小の気筒の気筒番号をCyl_
K1とする。気筒番号Cyl_K1のV_omega_nをV_omega_K1とする。
・M_omega_nの最大値（M_omega_K2）を求める。M_omega_nが最大の気筒の気筒番号をCy
l_K2とする。気筒番号Cyl_K2のV_omega_nをV_omega_K2とする。
・V_omega_nの最大値（V_omega_K3）を求める。V_omega_nが最大の気筒の気筒番号をCy
l_K3とする。気筒番号Cyl_K3のM_omega_nをM_omega_K3とする。
・A1＝−K1とする。A2＝K2とする。すなわち、M_omega_nの平均値は、０とする。
【００８２】
＜補正気筒および補正方向演算部２（図３０）＞
本演算部では、補正気筒および補正方向を演算する。具体的には、図３０で示されるが、実施例１と同じであるので、詳述しない。
【００８３】
＜気筒別燃料噴射量補正値演算部（図３６）＞
本演算部では、気筒別燃料噴射量補正値（F_hos_n）を演算する。具体的には、図３６に示されるように、気筒番号ｎがＣyl_hosの燃料噴射量補正値（F_hos_n）を下記のように演算する。
・Dir_hos_F＝１かつDir_hos_A＝０のとき、F_hos_a_n＝F_hos_n（前回値）＋F_hos_1
とする。
・Dir_hos_F＝１かつDir_hos_A＝１のとき、F_hos_a_n＝Ｋ×Tp_hos_n（ｎ＝Cyl_hos）
とする。
・Dir_hos_F＝−１のとき、F_hos_a_n＝F_hos_n（前回値）−F_hos_0とする。
・Dir_hos_F＝０のとき、F_hos_a_n＝F_hos_n（前回値）とする。
・気筒番号がCyl_hos以外のF_hos_a_nは、F_hos_nの前回値を維持する。すなわち、F_h
os_a_n＝F_hos_n（前回値）とする。
・F_hos_n（前回値）の全気筒分の平均値をM_F_hosとし、F_hos_a_nからM_F_hosを引い
た値をF_hos_nとする。本処理は、ドリフト分の補正にあたる。
【００８４】
なお、燃料噴射量増量側更新値（F_hos_1）は、M_omega_Cyl_hosからテーブル（Tbl_F_hos1）を参照した値とする。また、燃料噴射量減量側更新値（F_hos_0）は、M_omega_Cyl_hosからテーブル（Tbl_F_hos0）を参照した値とする。テーブルの設定値は、角加速度の平均値の大きさ（低減量，増大量）に対して、１回の更新で、どの程度、燃料噴射量を補正するかで決める。
【００８５】
＜気筒別吸気量補正値演算部（図３７）＞
本演算部では、気筒別吸気量補正値（Tp_hos_n）を演算する。具体的には、図３７に示されるように、気筒番号ｎがCyl_hosの吸気量補正値（Tp_hos_n）を下記のように演算する。
・Dir_hos_A＝１のとき、Tp_hos_a_n＝Tp_hos_n（前回値）＋Tp_hos_1とする。
・Dir_hos_A＝−１のとき、Tp_hos_a_n＝Tp_hos_n（前回値）−Tp_hos_0とする。
・Dir_hos_A＝０のとき、Tp_hos_a_n＝Tp_hos_n(前回値)とする。
・気筒番号がCyl_hos以外のTp_hos_a_nは、Tp_hos_nの前回値とする。すなわち、Tp_ho
s_a_n＝Tp_hos_n（前回値）とする。
・Tp_hos_nから、テーブル（Tbl_IVO_hos_n）を参照して、気筒別吸気弁開時期補正値
（IVO_hos_n）を演算する。
・Tp_hos_nから、テーブル（Tbl_IVC_hos_n）を参照して、気筒別吸気弁閉時期補正値
（IVC_hos_n）を演算する。
・Tp_hos_n（前回値）の全気筒分の平均値をM_Tp_hosとし、Tp_hos_a_nからM_Tp_hosを
引いた値をTp_hos_nとする。本処理は、ドリフト分の補正にあたる。
【００８６】
なお、吸気量増量側更新値（Tp_hos_1）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos1）を参照した値とする。また、吸気量減量側更新値（Tp_hos_0）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos0）を参照した値とする。テーブルの設定値は、角加速度の平均値の大きさ（低減量，増大量）に対して、１回の更新で、どの程度、吸気量を補正するかで決める。また、テーブル（Tbl_IVO_hos_n）およびテーブル（Tbl_IVC_hos_n）の値は、吸気量補正値に対して、吸気弁の開時期と閉時期をどの程度補正するかで決める。エンジンの運転条件（回転速度，吸気圧）なども参照して決めるのも良い。
【００８７】
（実施例３）
実施例３では、請求項１６，１７に記載のように、点火時期による補正も実施する。
【００８８】
図２２は本実施例を示すシステム図であり、実施例１と同様であるので詳述はしない。図２３はコントロールユニット１６の内部を示したものであり、実施例１と同様であるので、同じく詳述しない。図３８は制御全体を表したブロック図であり、実施例１もしくは実施例２に対して、気筒別点火時期補正値演算部が追加されている。「補正気筒および補正方向演算部」で演算した各パラメータ値に基づいて、気筒別の点火時期補正値（S_Hos_n）を演算する。ここに、S_hos_nは、基本点火時期（ADV0）に対して施される補正値である。ADV0の演算方法については、従来より様々な方法があり、本発明とは直接関係しないので、ここでは詳述しない。以下、各演算部の詳細を説明する。
【００８９】
＜基本燃料噴射量演算部（図２５）＞
本演算部では、基本燃料噴射量（Tp0）を演算する。具体的には、図１８に示されるが、実施例１と同じであるので、詳述しない。
【００９０】
＜制御許可フラグ演算部（図３３）＞
本演算部では、制御許可フラグ（fp_seigyo）を演算する。具体的には、図３３に示されるが、実施例２と同じであるので、詳述しない。
【００９１】
＜気筒別角加速度特性演算部（図３４）＞
本演算部では、気筒別角加速度特性である気筒毎の角加速度の平均値（M_omega_n（ｎ：気筒番号））、気筒毎の角加速度の分散値（V_omega_n（ｎ：気筒番号））を演算する。具体的には、図３４に示されるが、実施例２と同じであるので、詳述しない。
【００９２】
＜補正気筒および補正方向演算部（図３９）＞
本演算部は、「角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部」と「補正気筒および補正方向演算部２」からなる。
【００９３】
＜角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報の演算部（図３５）＞
本演算部では、角加速度平均値が最小・最大の気筒の情報および角加速度分散値が最大の気筒の情報を演算する。具体的には、図３５に示されるが、実施例２と同じであるので、詳述しない。
【００９４】
＜補正気筒および補正方向演算部２（図４０）＞
本演算部では、補正気筒および補正方向を演算する。具体的には、図４０で示される。
（条件１）
M_omega_K1≦A1かつV_omega_K1≧B1のとき
（条件２）
条件１が不成立かつM_omega_K3＞A1かつM_omega_K3＜A2かつV_omega_K3≧B1のとき
（条件３）
条件１が不成立かつ条件２が不成立かつM_omega_K1≦A1かつV_omega_K1＜B1のとき
（条件４）
条件１が不成立かつ条件２が不成立かつ
条件３が不成立かつ
M_omega_K2≧A2かつV_omega_K2＜B1のとき
（条件１）が成立時
Cyl_hos＝Cyl_K1，Dir_hos_F＝１，Dir_hos_A＝０，Dir_hos_S＝０，
M_omega_cyl_hos＝M_omega_K1，V_omega_cyl_hos＝V_omega_K1とする。
（条件２）が成立時
Cyl_hos＝Cyl_K1，Dir_hos_F＝０，Dir_hos_A＝−１，Dir_hos_S＝０，
M_omega_cyl_hos＝M_omega_K3，V_omega_cyl_hos＝V_omega_K3とする。
（条件３）が成立時
Cyl_hos＝Cyl_K3，Dir_hos_F＝１，Dir_hos_A＝１，Dir_hos_S＝１，
M_omega_cyl_hos＝M_omega_K1，V_omega_cyl_hos＝V_omega_K1とする。
（条件４）が成立時
Cyl_hos＝Cyl_K2，Dir_hos_F＝−１，Dir_hos_A＝０，Dir_hos_S＝−１，
M_omega_cyl_hos＝M_omega_K2，V_omega_cyl_hos＝V_omega_K2とする。
【００９５】
なお、補正方向フラグ（Dir_hos_F，Dir_hos_A）の値の意味は、１のとき増量側に補正，−１のとき減量側に補正，０のとき補正しない、である。補正方向フラグ（Dir_hos_S）の値の意味は、１のとき進角側に補正，−１のとき遅角側に補正，０のとき補正しない、である。
【００９６】
＜気筒別燃料噴射量補正値演算部（図４１）＞
本演算部では、気筒別燃料噴射量補正値（F_hos_n）を演算する。具体的には、図４１に示されるように、気筒番号ｎがCyl_hosの燃料噴射量補正値（F_hos_n）を下記のように演算する。
・Dir_hos_F＝１のとき、F_hos_a_n＝F_hos_n（前回値）＋F_hos_1とする。
・Dir_hos_F＝０のとき、F_hos_a_n＝F_hos_n（前回値）とする。
・気筒番号がCyl_hos以外F_hos_a_nは、F_hos_nの前回値を維持する。すなわち、F_hos
_a_n＝F_hos_n（前回値）とする。
・F_hos_n（前回値）の全気筒分の平均値をM_F_hosとし、F_hos_a_nからM_F_hosを引い
た値をF_hos_nとする。本処理は、ドリフト分の補正にあたる。
【００９７】
＜気筒別吸気量補正値演算部（図４２）＞
本演算部では、気筒別吸気量補正値（Ｔp_hos_n）を演算する。具体的には、図４２に示されるように、気筒番号ｎがCyl_hosの吸気量補正値（Tp_hos_n）を下記のように演算する。
・Dir_hos_A＝−１のとき、Tp_hos_a_n＝Tp_hos_n（前回値）−Tp_hos_0とする。
・Dir_hos_A＝０のとき、Tp_hos_a_n＝Tp_hos_n（前回値）とする。
・気筒番号がCyl_hos以外のTp_hos_a_nは、Tp_hos_nの前回値を維持する。すなわち、T
p_hos_a_n＝Tp_hos_n（前回値）とする。
・Tp_hos_nから、テーブル（Tbl_IVO_hos_n）を参照して、気筒別吸気弁開時期補正値
（IVO_hos_n）を演算する。
・Tp_hos_nから、テーブル（Tbl_IVC_hos_n）を参照して、気筒別吸気弁閉時期補正値
（IVC_hos_n）を演算する。
・Tp_hos_n（前回値）の全気筒分の平均値をM_Tp_hosとし、Tp_hos_a_nからM_Tp_hosを
引いた値をTp_hos_nとする。本処理は、ドリフト分の補正にあたる。
【００９８】
なお、吸気量増量側更新値（Tp_hos_1）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos1）を参照した値とする。また、吸気量減量側更新値（Tp_hos_0）は、M_omega_Cyl_hosからテーブル（Tbl_Tp_hos0）を参照した値とする。テーブルの設定値は、角加速度の平均値の大きさ（低減量、増大量）に対して、１回の更新で、どの程度、吸気量を補正するかで決める。また、テーブル（Tbl_IVO_hos_n）およびテーブル（Tbl_IVC_hos_n）の値は、吸気量補正値に対して、吸気弁の開時期と閉時期をどの程度補正するかで決める。エンジンの運転条件（回転速度，吸気圧）なども参照して決めるのも良い。
【００９９】
＜点火時期補正値演算部（図４３）＞
本演算部では、気筒別点火時期補正値（S_hos_n）を演算する。具体的には、図４３に示されるように、気筒番号ｎがCyl_hosの点火時期補正値（S_hos_n）を下記のように演算する。
・Dir_hos_S＝１のとき、S_hos_a_n＝S_hos_n（前回値）＋S_hos_1とする。
・Dir_hos_S＝−１のとき、S_hos_a_n＝S_hos_n（前回値）−S_hos_0とする。
・Dir_hos_S＝０のとき、S_hos_a_n＝S_hos_n（前回値）とする。
・気筒番号がCyl_hos以外のS_hos_a_nは、S_hos_nの前回値を維持する。すなわち、S_h
os_a_n＝S_hos_n（前回値）とする。
・S_hos_n（前回値）の全気筒分の平均値をM_S_hosとし、S_hos_a_nからM_S_hosを引い
た値をS_hos_nとする。本処理は、ドリフト分の補正にあたる。
【符号の説明】
【０１００】
１  エアクリーナ
２  エアフロセンサ
３  電子スロットル
４  吸気マニホールド
５  コレクタ
６  アクセル
７  燃料噴射弁
８  点火プラグ
９  エンジン
１０  排気マニホールド
１１  三元触媒
１２  Ａ／Ｆセンサ
１３  アクセル開度センサ
１４  水温センサ
１５  エンジン回転数センサ
１６  コントロールユニット
１７  スロットル開度センサ
１８  排気還流管
１９  排気還流量調節バルブ
２０  触媒下流Ｏ2センサ
２１  コントロールユニット内に実装されるＣＰＵ
２２  コントロールユニット内に実装されるＲＯＭ
２３  コントロールユニット内に実装されるＲＡＭ
２４  コントロールユニット内に実装される各種センサの入力回路
２５  各種センサ信号の入力、アクチュエータ動作信号を出力するポート
２６  点火プラグに適切なタイミングで駆動信号を出力する点火出力回路
２７  燃料噴射弁に適切なパルスを出力する燃料噴射弁駆動回路
２８  電子スロットル駆動回路
２９  吸気温センサ
３０  吸気動弁
３１  車速センサ
３２  吸気動弁駆動回路
【図１】
2011094541.tif 000003
【図２】
2011094541.tif 000004
【図３】
2011094541.tif 000005
【図４】
2011094541.tif 000006
【図５】
2011094541.tif 000007
【図６】
2011094541.tif 000008
【図７】
2011094541.tif 000009
【図８】
2011094541.tif 000010
【図９】
2011094541.tif 000011
【図１０】
2011094541.tif 000012
【図１１】
2011094541.tif 000013
【図１２】
2011094541.tif 000014
【図１３】
2011094541.tif 000015
【図１４】
2011094541.tif 000016
【図１５】
2011094541.tif 000017
【図１６】
2011094541.tif 000018
【図１７】
2011094541.tif 000019
【図１８】
2011094541.tif 000020
【図１９】
2011094541.tif 000021
【図２０】
2011094541.tif 000022
【図２１】
2011094541.tif 000023
【図２２】
2011094541.tif 000024
【図２３】
2011094541.tif 000025
【図２４】
2011094541.tif 000026
【図２５】
2011094541.tif 000027
【図２６】
2011094541.tif 000028
【図２７】
2011094541.tif 000029
【図２８】
2011094541.tif 000030
【図２９】
2011094541.tif 000031
【図３０】
2011094541.tif 000032
【図３１】
2011094541.tif 000033
【図３２】
2011094541.tif 000034
【図３３】
2011094541.tif 000035
【図３４】
2011094541.tif 000036
【図３５】
2011094541.tif 000037
【図３６】
2011094541.tif 000038
【図３７】
2011094541.tif 000039
【図３８】
2011094541.tif 000040
【図３９】
2011094541.tif 000041
【図４０】
2011094541.tif 000042
【図４１】
2011094541.tif 000043
【図４２】
2011094541.tif 000044
【図４３】
2011094541.tif 000045