(57)【要約】【課題】  既存のセンサを用いて、各気筒の吸入空気量を簡易に算出する。【解決手段】  機関回転数から各気筒の吸気時期を特定する（ステップ１０２）。クランク角から吸気気筒を特定する（ステップ１０４）。吸気気筒の変更があるまで、エアフロメータの出力を積算する（ステップ（１０８）。吸気気筒の変更があると、積算値を平均化用ＲＡＭに格納する（ステップ１１０）。所定サイクル分の積算値が格納されると、その積算値を平均化して、各気筒の吸入空気量を算出する（ステップ１１８）。【選択図】      図４
2006336581.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間における前記吸気センサの出力値を気筒毎に積算する出力値積算手段と、
前記出力値積算手段により積算された所定サイクル分の積算値を気筒毎に平均化することにより、各気筒の吸入空気量を算出する吸入空気量算出手段とを備えたことを特徴とする内燃機関の制御装置。
【請求項２】
複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間における前記吸気センサの出力値の最大値を気筒毎に取得する最大値取得手段と、
前記最大値取得手段により取得された所定サイクル分の最大値を気筒毎に平均化することにより、気筒間の吸入空気量比を算出する吸入空気量比算出手段とを備えたことを特徴とする内燃機関の制御装置。
【請求項３】
請求項２に記載の内燃機関の制御装置において、
前記吸気時期特定手段は、前記吸気センサの出力値が最大となる出力最大時期を特定する出力最大時期特定手段を有し、
前記最大値取得手段は、前記出力最大時期特定手段により特定された出力最大時期における前記吸気センサの出力値を最大値として取得するものであることを特徴とする内燃機関の制御装置。
【請求項４】
請求項１に記載の内燃機関の制御装置において、
前記吸気センサの出力値に基づいて各気筒の燃料噴射量を算出する燃料噴射量算出手段と、
前記燃料噴射量算出手段により算出された各気筒の燃料噴射量を、前記吸入空気量算出手段により算出された各気筒の吸入空気量に基づいて補正する補正手段とを更に備えたことを特徴とする内燃機関の制御装置。
【請求項５】
請求項２又は３に記載の内燃機関の制御装置において、
前記吸気センサの出力値に基づいて各気筒の燃料噴射量を算出する燃料噴射量算出手段と、
前記燃料噴射量算出手段により算出された各気筒の燃料噴射量を、前記吸入空気量比算出手段により算出された気筒間の吸入空気量比に基づいて補正する補正手段とを更に備えたことを特徴とする内燃機関の制御装置。
【請求項６】
請求項４又は５に記載の内燃機関の制御装置において、
前記補正手段により補正された各気筒の燃料噴射量に基づいて、各気筒の出力トルクを推定するトルク推定手段と、
前記トルク推定手段により推定された各気筒の出力トルクのうちの最小値と同じになるように、他の気筒の点火時期を遅角せしめる点火時期変更手段とを備えたことを特徴とする内燃機関の制御装置。
【請求項７】
請求項１に記載の内燃機関の制御装置において、
前記吸入空気量算出手段により算出された各気筒の吸入空気量のうちの一気筒の吸入空気量と同じになるように、他の気筒の吸入空気量を補正する空気量補正手段を更に備えたことを特徴とする内燃機関の制御装置。
【請求項８】
請求項７に記載の内燃機関の制御装置において、
前記内燃機関の排気通路に設けられた触媒と、
前記触媒の上流に燃料を添加する排気燃料添加機構と、
前記触媒の上流の排気空燃比が目標空燃比となるように、前記排気燃料添加機構により添加されり燃料添加量を算出する燃料添加量算出手段と、
各気筒の排気時期を特定する排気時期特定手段と、
前記排気時期特定手段により特定された排気時期に、前記燃料添加量算出手段により算出された燃料噴射量だけ前記排気燃料添加機構から燃料を添加させる噴射実行手段とを更に備えたことを特徴とする内燃機関の制御装置。
【請求項９】
複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間に、前記吸気センサの出力値を気筒毎に積算する出力値積算手段と、
前記出力値積算手段により積算された所定サイクル分の積算値を気筒毎に平均化することにより、各気筒の吸入空気量を算出する第１吸入空気量算出手段と、
各気筒の筒内圧を検出する筒内圧センサと、
前記筒内圧センサにより検出された筒内圧に基づいて、各気筒の第２吸入空気量を算出する第２吸入空気量算出手段と、
前記第１吸入空気量と前記第２吸入空気量の乖離度を気筒毎に算出する乖離度算出手段と、
前記乖離度が全気筒で第１所定値以上である場合に、前記吸気センサの出力値を校正する吸気センサ校正手段とを備えたことを特徴とする内燃機関の制御装置。
【請求項１０】
請求項９に記載の内燃機関の制御装置であって、
前記乖離度が全気筒で前記第１所定値よりも大きい第２所定値以上である場合に、前記吸気センサが故障していると判定する吸気センサ故障判定手段を更に備えたことを特徴とする内燃機関の制御装置。
【請求項１１】
請求項９又は１０に記載の内燃機関の制御装置であって、
前記乖離度が特定気筒で第３所定値以上である場合に、該特定気筒における筒内圧センサの出力値を校正する筒内圧センサ校正手段を更に備えたことを特徴とする内燃機関の制御装置
【請求項１２】
請求項１１に記載の内燃機関の制御装置であって、
前記乖離度が特定気筒で前記第３所定値よりも大きい第４所定値以上である場合に、該特定気筒における筒内圧センサが故障していると判定する筒内圧センサ故障判定手段を更に備えたことを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒を有する内燃機関の制御装置に係り、特に、各気筒の吸入空気量を算出可能な内燃機関の制御装置に関する。
【背景技術】
【０００２】
吸気毎の吸気ばらつきを推定し、各気筒の吸気量を算出する装置が知られている（例えば、特許文献１参照）。この特許文献１の装置によれば、吸気マニフォールド内の空気密度と、スロットル通過空気量とから各気筒の吸気特性が推定され、この吸気特性に基づいて吸気量が算出されている。
【０００３】
【特許文献１】特開２００１−２３４７９８号公報
【特許文献２】特開２００４−１００４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような装置では、空気密度を検出するためのセンサを新たに設ける必要があり、搭載性およびコスト上昇の問題があった。さらに、空気密度等のパラメータが増えるため、吸入空気量の計算負荷が高くなってしまう。
【０００５】
本発明は、上述のような課題を解決するためになされたもので、既存のセンサを用いて、各気筒の吸入空気量を簡易に算出することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、上記の目的を達成するため、複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間における前記吸気センサの出力値を気筒毎に積算する出力値積算手段と、
前記出力値積算手段により積算された所定サイクル分の積算値を気筒毎に平均化することにより、各気筒の吸入空気量を算出する吸入空気量算出手段とを備えたことを特徴とする。
【０００７】
また、第２の発明は、複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間における前記吸気センサの出力値の最大値を気筒毎に取得する最大値取得手段と、
前記最大値取得手段により取得された所定サイクル分の最大値を気筒毎に平均化することにより、気筒間の吸入空気量比を算出する吸入空気量比算出手段とを備えたことを特徴とする。
【０００８】
また、第３の発明は、第２の発明において、前記吸気時期特定手段は、前記吸気センサの出力値が最大となる出力最大時期を特定する出力最大時期特定手段を有し、
前記最大値取得手段は、前記出力最大時期特定手段により特定された出力最大時期における前記吸気センサの出力値を最大値として取得するものであることを特徴とする。
【０００９】
また、第４の発明は、第１の発明において、前記吸気センサの出力値に基づいて各気筒の燃料噴射量を算出する燃料噴射量算出手段と、
前記燃料噴射量算出手段により算出された各気筒の燃料噴射量を、前記吸入空気量算出手段により算出された各気筒の吸入空気量に基づいて補正する補正手段とを更に備えたことを特徴とする。
【００１０】
また、第５の発明は、第２又は第３の発明において、前記吸気センサの出力値に基づいて各気筒の燃料噴射量を算出する燃料噴射量算出手段と、
前記燃料噴射量算出手段により算出された各気筒の燃料噴射量を、前記吸入空気量比算出手段により算出された気筒間の吸入空気量比に基づいて補正する補正手段とを更に備えたことを特徴とする。
【００１１】
また、第６の発明は、第４又は第５の発明において、前記補正手段により補正された各気筒の燃料噴射量に基づいて、各気筒の出力トルクを推定するトルク推定手段と、
前記トルク推定手段により推定された各気筒の出力トルクのうちの最小値と同じになるように、他の気筒の点火時期を遅角せしめる点火時期変更手段とを備えたことを特徴とする。
【００１２】
また、第７の発明は、第１の発明において、前記吸入空気量算出手段により算出された各気筒の吸入空気量のうちの一気筒の吸入空気量と同じになるように、他の気筒の吸入空気量を補正する空気量補正手段を更に備えたことを特徴とする。
【００１３】
また、第８の発明は、第７の発明において、前記内燃機関の排気通路に設けられた触媒と、
前記触媒の上流に燃料を添加する排気燃料添加機構と、
前記触媒の上流の排気空燃比が目標空燃比となるように、前記排気燃料添加機構により添加される燃料添加量を算出する燃料添加量算出手段と、
各気筒の排気時期を特定する排気時期特定手段と、
前記排気時期特定手段により特定された排気時期に、前記燃料添加量算出手段により算出された燃料噴射量だけ前記排気燃料添加機構から燃料を添加させる噴射実行手段とを更に備えたことを特徴とする。
【００１４】
また、第９の発明は、複数の気筒を有する内燃機関の制御装置であって、
前記内燃機関の吸気系に設けられた吸気センサと、
各気筒の吸気開始時期及び吸気終了時期を特定する吸気時期特定手段と、
各気筒の吸気開始時期から吸気終了時期までの間に、前記吸気センサの出力値を気筒毎に積算する出力値積算手段と、
前記出力値積算手段により積算された所定サイクル分の積算値を気筒毎に平均化することにより、各気筒の吸入空気量を算出する第１吸入空気量算出手段と、
各気筒の筒内圧を検出する筒内圧センサと、
前記筒内圧センサにより検出された筒内圧に基づいて、各気筒の第２吸入空気量を算出する第２吸入空気量算出手段と、
前記第１吸入空気量と前記第２吸入空気量の乖離度を気筒毎に算出する乖離度算出手段と、
前記乖離度が全気筒で第１所定値以上である場合に、前記吸気センサの出力値を校正する吸気センサ校正手段とを備えたことを特徴とする。
【００１５】
また、第１０の発明は、第９の発明において、前記乖離度が全気筒で前記第１所定値よりも大きい第２所定値以上である場合に、前記吸気センサが故障していると判定する吸気センサ故障判定手段を更に備えたことを特徴とする。
【００１６】
また、第１１の発明は、第９又は第１０の発明において、前記乖離度が特定気筒で第３所定値以上である場合に、該特定気筒における筒内圧センサの出力値を校正する筒内圧センサ校正手段を更に備えたことを特徴とする。
【００１７】
また、第１２の発明は、第１１の発明において、前記乖離度が特定気筒で前記第３所定値よりも大きい第４所定値以上である場合に、該特定気筒における筒内圧センサが故障していると判定する筒内圧センサ故障判定手段を更に備えたことを特徴とする
【発明の効果】
【００１８】
第１の発明によれば、空気センサの出力値を積算し、所定サイクル分の積算値を平均化することで、各気筒の吸入空気量を算出することができる。ここで、吸気センサは、エアフロメータやサージタンク圧力センサのような既存のセンサである。よって、既存のセンサを用いて、各気筒の吸入空気量を簡易に算出することができる。新たなセンサを設ける必要がないため、搭載性やコストの面で有利である。さらに、所定サイクルの積算値を平均化することで、吸気センサの出力値のノイズの影響を十分抑えることができる。このため、各気筒の吸入空気量を精度良く算出することができる。
【００１９】
第２の発明によれば、空気センサの出力値の最大値を取得し、所定サイクル分の最大値を平均化することで、気筒間の吸入空気量比を算出することができる。ここで、吸気センサは、エアフロメータやサージタンク圧力センサのような既存のセンサである。よって、既存のセンサを用いて、気筒間の吸入空気量比を簡易に算出することができる。新たなセンサを設ける必要がないため、搭載性のコストの面で有利である。さらに、所定サイクルの最大値を平均化することで、吸気センサの出力値のノイズの影響を十分抑えることができる。このため、気筒間の吸入空気量比を精度良く算出することができる。
【００２０】
第３の発明によれば、出力最大時期における吸気センサの出力値を最大値として取得することにより、計算負荷を更に小さくすることができる。
【００２１】
第４の発明によれば、第１の発明で算出した各気筒の吸入空気量を用いて、各気筒の燃料噴射量が補正される。これにより、各気筒の空燃比を揃えることができるため、エミッションを十分抑制することができる。
【００２２】
第５の発明によれば、第２又は第３の発明で算出した気筒間の吸入空気量比を用いて、各気筒の燃料噴射量が補正される。これにより、各気筒の空燃比を揃えることができるため、エミッションを十分抑制することができる。
【００２３】
第６の発明によれば、第４又は第５の発明で補正した気筒間の燃料噴射量の相違に伴う気筒間の出力トルクのばらつきを、点火時期の遅角制御により抑制することができる。
【００２４】
第７の発明によれば、各気筒の吸入空気量を揃えることができるため、各気筒の空燃比のばらつきを十分抑制することができる。
【００２５】
第８の発明によれば、触媒上流の排気空燃比を精度良く目標空燃比に合わせることができる。
【００２６】
第９の発明によれば、第１吸入空気量と第２吸入空気量の乖離度が全気筒で第１所定値以上の場合に、吸気センサの出力値がずれているとみなし、吸気センサの出力値を校正することができる。
【００２７】
第１０の発明によれば、乖離度が全気筒で第２所定値以上の場合に、吸気センサの出力値が著しくずれているとみなし、吸気センサが故障していると判定することができる。
【００２８】
第１１の発明によれば、乖離度が特定気筒で第３所定値以上の場合に、特定気筒における筒内圧センサの出力値がずれているとみなし、該筒内圧センサの出力値を校正することができる。
【００２９】
第１２の発明によれば、乖離度が特定気筒で第４所定値以上の場合に、特定気筒における筒内圧センサの出力値が著しくずれているとみなし、該筒内圧センサが故障していると判定することができる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照して本発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００３１】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１のシステム構成を説明するための図である。図１に示すように、本実施の形態１のシステムは、内燃機関１を備えている。内燃機関１は、複数の気筒２を有している。図１には、複数気筒のうちの１気筒のみを示している。
【００３２】
内燃機関１は、内部にピストン４を有するシリンダブロック６を備えている。ピストン４は、クランク機構を介してクランクシャフト１２と接続されている。クランクシャフト１２の近傍には、クランク角センサ１４が設けられている。クランク角センサ１４は、クランクシャフト１２の回転角度を検出するように構成されている。また、シリンダブロック６には水温センサ１０が設けられている。水温センサ１０は、内燃機関１を循環する冷却水の温度を検出するように構成されている。
【００３３】
シリンダブロック６の上部にはシリンダヘッド８が組み付けられている。ピストン４上面からシリンダヘッド８までの空間は燃焼室１６を形成している。シリンダヘッド８には、燃焼室１６内の混合気に点火する点火プラグ１８が設けられている。燃焼室１６の近傍には、筒内圧センサ１７が設けられている。筒内圧センサ１７は、燃焼室１６内の圧力（以下「筒内圧」という。）を検出するように構成されている。
【００３４】
シリンダヘッド８は、燃焼室１６と連通する吸気ポート２０を備えている。吸気ポート２０と燃焼室１６との接続部には吸気バルブ２２が設けられている。吸気ポート２０には、吸気通路２８が接続されている。吸気ポート２０の近傍には、該近傍に燃料を噴射するインジェクタ２６が設けられている。吸気通路２８の途中にはサージタンク３０が設けられている。サージタンク３０には、該サージタンク３０内の圧力を検出するサージタンク内圧力センサ３１が設けられている。
【００３５】
サージタンク３０の上流にはスロットルバルブ３２が設けられている。スロットルバルブ３２は、スロットルモータ３４により駆動される電子制御式のバルブである。スロットルバルブ３２は、アクセル開度センサ３８により検出されるアクセル開度AAに基づいて駆動されるものである。スロットルバルブ３２の近傍には、スロットル開度センサ３６が設けられている。スロットル開度センサ３６は、スロットル開度TAを検出するように構成されている。スロットルバルブ３２の上流には、エアフロメータ４０が設けられている。エアフロメータ４０は、吸入空気量に応じて出力値（出力電圧）を変化させるように構成されている。エアフロメータ４０の上流にはエアクリーナ４２が設けられている。
【００３６】
また、シリンダヘッド８は、燃焼室１６と連通する排気ポート４４を備えている。排気ポート４４と燃焼室１６との接続部には排気バルブ４６が設けられている。排気ポート４４には排気通路５０が接続されている。排気通路５０には、触媒５４が設けられている。触媒５４の上流には、空燃比センサ５２が設けられている。触媒５４の下流には、酸素センサ５６が設けられている。空燃比センサ５２は、排気空燃比を検出するように構成されている。酸素センサ５６は、酸素の有無に応じて出力を反転するように構成されている。
【００３７】
また、本実施の形態のシステムは、制御装置としてのＥＣＵ（Electronic Control Unit）６０を備えている。ＥＣＵ６０は、図示しない平均化用ＲＡＭを備えている。平均化用ＲＡＭは、エアフロメータ４０の出力値の演算値又は最大値を所定サイクル分だけ格納するように構成されている。
ＥＣＵ６０の出力側には、点火プラグ１８、インジェクタ２６、スロットルモータ３４等が接続されている。ＥＣＵ６０の入力側には、水温センサ１０、クランク角センサ１４、筒内圧センサ１７、サージタンク内圧力センサ３１、スロットル開度センサ３６、アクセル開度センサ３８、エアフロメータ４０、空燃比センサ５２、酸素センサ５６等が接続されている。ＥＣＵ６０は、各センサの出力に基づいて、燃料噴射制御や点火時期制御のような内燃機関全体の制御を実行する。
また、ＥＣＵ６０は、クランク角センサ１４の出力に基づいて、機関回転数NEを算出する。
また、ＥＣＵ６０は、アクセル開度センサ３８により検出されるアクセル開度AA等に基づいて、機関負荷KLを算出する。
【００３８】
［実施の形態１の特徴］
既述した従来の装置によれば、空気密度とスロットル通過空気量とに基づいて、各気筒の吸入空気量が算出される。このためには、空気密度を検出するセンサを新たに設ける必要があり、搭載性およびコストに関して問題があった。
【００３９】
これに対して、本実施の形態１によるシステムは、既存のエアフロメータ４０の出力のみを用いて、各気筒の吸入空気量を算出する。以下に説明するように、本実施の形態１では、各気筒の吸気開始時期から吸気終了時期までのエアフロメータ４０の出力値を積算することで、各気筒の吸入空気量が求められる。
ここで、吸気バルブ２２が開弁され、気筒２の燃焼室１６内に空気が吸入されると、サージタンク３０内の圧力が減少する。その結果、スロットルバルブ３２を通過する空気量が増加する。すなわち、実際の吸気行程よりも遅れて、エアフロメータ４０の出力が変動することとなる。
【００４０】
図２は、吸気に伴う各センサの出力変化を示す図である。詳細には、図２（Ａ）は、サージタンク内圧力センサの出力波形を示すであり、図２（Ｂ）は、エアフロメータの出力波形を示す図であり、図２（Ｃ）は、筒内圧センサの出力波形を示す図である。ここで、図２（Ａ）〜（Ｃ）において、符号「＃１」，「＃２」，「＃３」，「＃４」は、それぞれ第１，第２，第３，第４気筒に対応する波形であることを示している。また、第３気筒（＃３）については、強制的に吸入空気量を減少させている。
【００４１】
第４気筒（＃４）の吸気バルブ２２が開弁されると、吸気通路２８から燃焼室１６内に空気が流入する。これに伴い、サージタンク３０内の空気量が減少するため、図２（Ａ）に示すように、サージタンク３０内の圧力が低下する。そうすると、スロットルバルブ３２及びエアフロメータ４０を通過する空気量が増加する。このため、サージタンク内圧力が低下して暫くしてから、図２（Ｂ）に示すように、エアフロメータ４０の出力が大きくなる。その後、第４気筒（＃４）で圧縮行程に移ると、図２（Ｃ）に示すように、筒内圧が上昇する。
【００４２】
本実施の形態１では、このような特性を利用して、エアフロメータ４０の出力が、どの気筒の吸気行程に起因するものであるかを特定する。そして、特定気筒の吸気行程におけるエアフロメータ４０の出力を積算することで、その特定気筒の吸入空気量が算出される。各気筒についても同様に、エアフロメータ４０の出力を積算することにより、各気筒の吸入空気量が算出される。
【００４３】
従って、本実施の形態１によれば、既存のエアフロメータの出力のみを用いて、各気筒の吸入空気量を算出することができる。よって、新たなセンサを追加する必要はなく、その搭載性を考慮する必要もない。また、パラメータの増加も無いことから、演算負荷の増加を防ぐことができ、各気筒の吸入空気量を簡易に演算することができる。
【００４４】
また、１サイクル分のみのエアフロメータ４０の出力積算値を用いて各気筒の吸入空気量を算出するとすると、精度良く吸入空気量が算出できない場合がある。これは、エアフロメータ４０の出力をＥＣＵ６０内に取り込む際に、ノイズが重畳するためである。
そこで、本実施の形態１では、所定サイクル分のエアフロメータ４０の出力積算値を平均化することで、各気筒の吸入空気量を算出する。図３は、エアフロメータの出力積算値の平均化について説明するための図である。図３に示すように、平均化前にはエアフロメータの出力波形に対するノイズの影響が大きい。所定サイクル分の出力波形を平均化することにより、出力波形に対するノイズの影響を低減することができる。よって、各気筒の吸入空気量を精度良く算出することができる。
【００４５】
［実施の形態１における具体的処理］
図４は、本実施の形態１において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図４に示すルーチンによれば、先ず、機関回転数NE、クランク角を読み込む（ステップ１００）。ここで、ＥＣＵ６０は、クランク角センサ１４の出力に基づいて、機関回転数NEを算出することができる。
【００４６】
次に、図５及び図６に示すマップを参照して、機関回転数NEに応じた各気筒の吸気開始時期及び吸気終了時期を特定する（ステップ１０２）。図５は、吸気開始時期を特定するために用いられるマップの一例を示す図である。図６は、吸気終了時期を特定するために用いられるマップの一例を示す図である。
図５及び図６に示すマップにおいて、クランク角ベースの吸気開始時期及び吸気終了時期が、機関回転数NEとの関係で定められている。これらのマップでは、機関回転数NEが高いほど、吸気開始時期及び吸気終了時期が早くなるように設定されている。この吸気開始時間と吸気終了時間との差分が、吸気行程の時間に相当する。これらのマップは、気筒毎に設けられている。よって、これらのマップによれば、全ての気筒について、吸気開始時期及び吸気終了時期が特定される。
【００４７】
次に、クランク角から現在吸気されている気筒を特定する（ステップ１０４）。そして、ステップ１０４で特定された気筒が、前の気筒（前回特定された気筒）と異なるか否か、すなわち、吸気気筒に変更があったか否かを判別する（ステップ１０６）。このステップ１０６で吸気気筒が変更されていないと判別された場合には、エアフロメータ４０の出力値（すなわち、空気量）を積算する（ステップ１０８）。そして、本ルーチンを一端終了する。
【００４８】
一方、ステップ１０６で吸気気筒が変更されたと判断された場合には、変更前の気筒の積算値を平均化ＲＡＭに格納する（ステップ１１０）。そして、変更前の気筒の積算値をクリアする（ステップ１１２）。積算値をクリアした後、変更後の吸気気筒、すなわち、現在吸気されている気筒についてエアフロメータ出力の積算を開始する（ステップ１１４）。
【００４９】
次に、平均化用ＲＡＭに所定サイクル分の積算値が格納されているか否かを判別する（ステップ１１６）。このステップ１１６では、各気筒について所定サイクル分の積算値が格納されているか否かが判別される。すなわち、平均化に必要な積算値が格納されているか否かが判別される。よって、１気筒でも所定サイクル分の積算値が格納されていない場合には、ステップ１１６で“ＮＯ”と判定される。このステップ１１６で所定サイクル分の積算値が格納されていないと判別された場合には、本ルーチンを一端終了する。
その後、本ルーチンが再び起動されると、吸気気筒が変更されるまでは、上記の方法によりエアフロメータ４０の出力値が積算される（ステップ１０８）。そして、吸気気筒が変更されると、変更前の気筒の積算値が平均化ＲＡＭに格納される（ステップ１１０）。続いて、上記ステップ１１６の判別処理が実行される。
【００５０】
ステップ１１６で所定サイクル分の積算値が格納されていると判別された場合には、各気筒の所定サイクル分の積算値を気筒毎に平均化する（ステップ１１８）。この平均化された積算値が、各気筒の吸入空気量となる。
【００５１】
以上説明したように、図４に示すルーチンによれば、エアフロメータ出力を積算することにより、各気筒の吸入空気量を簡易に算出することができる。既存のエアフロメータ４０を用いることができるため、新たなセンサを設ける必要がなく、搭載性・コストの面で有利である。さらに、各気筒の吸入空気量の算出に用いるパラメータを少なくすることができるため、ＥＣＵ６０の計算負荷を小さくすることができる。
【００５２】
ところで、本実施の形態１のシステムでは、エアフロメータの出力値を積算したが、サージタンク内圧力センサの出力値を積算するようにしてもよい（後述する実施の形態２についても同様）。この場合も、吸気開始時期及び吸気終了時期のマップを参照して吸気気筒を特定し、その吸気気筒について、サージタンク内圧力センサの出力値を積算することで、各気筒の吸入空気量を求めることができる。
【００５３】
尚、本実施の形態１においては、ＥＣＵ６０が、ステップ１０２の処理を実行することにより第１の発明における「吸気時期特定手段」が、ステップ１０８の処理を実行することにより第１の発明における「出力値積算手段」が、ステップ１１８の処理を実行することにより第１の発明における「吸入空気量算出手段」が、それぞれ実現されている。
【００５４】
実施の形態２．
［システム構成の説明］
本発明の実施の形態２のシステムは、図１に示すハードウェア構成を用いて、ＥＣＵ６０に、後述する図８に示すルーチンを実行させることにより実現することができる。
【００５５】
［実施の形態２の特徴］
上記実施の形態１では、各気筒の吸気行程に対応するエアフロメータ４０の出力を積算することで、各気筒の吸入空気量が算出される。積算値の平均化処理を行うまでには、多くのデータを平均化用ＲＡＭに記憶しておく必要がある。
【００５６】
本実施の形態２では、各気筒の吸気行程に対応するエアフロメータ４０の出力の最大値を取得することで、気筒間の吸入空気量比を算出する。従って、平均化処理を行うまでに平均化用ＲＡＭに記憶しておくデータ量を少なくすることができる。よって、実施の形態１と比べて、ＥＣＵ６０の計算負荷を更に小さくすることができる。
【００５７】
また、実施の形態１と同様に、１サイクル分のみのエアフロメータ４０の出力の最大値を用いて気筒間の吸入空気量比を算出する場合、ノイズの影響により、吸入空気量比を算出できない場合がある。そこで、本実施の形態２では、所定サイクル分のエアフロメータ４０の出力最大値を平均化することで、気筒間の吸入空気量比を算出する。図７は、エアフロメータの出力最大値の平均化について説明するための図である。図７に示すように、平均化前にはエアフロメータの出力最大値に対するノイズの影響が大きい。所定サイクル分の出力最大値を平均化することにより、出力最大値に対するノイズの影響を低減することができる。よって、気筒間の吸入空気量比を精度良く算出することができる。
【００５８】
［実施の形態２における具体的処理］
図８は、本実施の形態２において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図８に示すルーチンによれば、上記実施の形態１と同様に、ステップ１０６の処理まで実行する。
【００５９】
ステップ１０６で吸気気筒が変更されていないと判別された場合には、エアフロメータ４０の現在の出力値（以下「現在出力値」という。）が、ＥＣＵ６０内でホールドされているエアフロメータ４０の出力の最大値よりも大きいか否かを判別する（ステップ１２０）。このステップ１２０で現在出力値が最大値よりも大きいと判別された場合には、最大値を更新する（ステップ１２２）。すなわち、現在出力値が最大値としてホールドされる。
一方、ステップ１２０で現在出力値が最大値以下であると判別された場合には、本ルーチンを終了する。
【００６０】
上記ステップ１０６で吸気気筒が変更されたと判別された場合には、変更前の気筒の最大値を平均化用ＲＡＭに格納する（ステップ１２４）。そして、変更前の気筒の最大値をクリアする（ステップ１２６）。最大値をクリアした後、変更後の吸気気筒、すなわち、現在吸気されている気筒について最大値の取得を開始する（ステップ１２８）。
【００６１】
次に、平均化用ＲＡＭに所定サイクル分の最大値が格納されているか否かを判別する（ステップ１３０）。このステップ１３０では、各気筒について所定サイクル分の最大値が格納されているか否かが判別される。すなわち、平均化に必要な最大値が格納されているか否かが判別される。よって、１気筒でも所定サイクル分の最大値が格納されていない場合には、ステップ１３０で“ＮＯ”と判定される。このステップ１３０で所定サイクル分の最大値が格納されていないと判別された場合には、本ルーチンを一端終了する。
その後、本ルーチンが再び起動されると、吸気気筒が変更されるまでは、上記の方法により最大値が更新される（ステップ１２２）。そして、吸気気筒が変更されると、変更前の気筒の最大値が平均化用ＲＡＭに格納される（ステップ１２４）。その後、上記ステップ１３０の判別処理が実行される。
【００６２】
ステップ１３０で所定サイクル分の最大値が格納されていると判別された場合には、各気筒の所定サイクル分の最大値を気筒毎に平均化する（ステップ１３２）。これにより、気筒間の吸入空気量比が算出される。
【００６３】
以上説明したように、図８に示すルーチンによれば、エアフロメータの出力の最大値を取得することにより、気筒間の吸入空気量比を簡易に算出することができる。既存のエアフロメータ４０を用いることができるため、新たなセンサを設ける必要がなく、搭載性・コストの面で有利である。さらに、気筒間の吸入空気量比の算出に用いるパラメータを少なくすることができるため、ＥＣＵ６０の計算負荷を小さくすることができる。本実施の形態２では平均化処理の前は最大値だけをホールドすればよいため、上記実施の形態１よりも更にＥＣＵ６０の計算負荷を小さくすることができる。
【００６４】
ところで、本実施の形態２のシステムでは、演算処理によりエアフロメータの出力の最大値を取得しているが、サンプルホールド回路を用いて最大値を取得するようにしてもよい。このサンプルホールド回路は、サンプリングしたエアフロメータ４０の出力の最大値をホールドするように構成されるものである。このサンプルホールド回路は、ＥＣＵ６０内に設けることができる。
【００６５】
また、本実施の形態２では、吸気気筒が変更されるまでの間において現在出力値と最大値との比較を行っているが、特定時期の出力値を最大値として取得するようにしてもよい。すなわち、エアフロメータ出力が最大となる出力最大時期が機関回転数との関係で定められているマップを参照して、該出力最大時期を気筒毎に特定し、この特定された出力最大時期のエアフロメータ出力を最大値として取得するようにしてもよい。
【００６６】
尚、本実施の形態２においては、ＥＣＵ６０が、ステップ１０２の処理を実行することにより第２の発明における「吸気時期特定手段」が、ステップ１２２の処理を実行することにより第２の発明における「最大値取得手段」が、ステップ１３２の処理を実行することにより第２の発明における「吸入空気量比算出手段」が、それぞれ実現されている。
【００６７】
実施の形態３．
本発明の実施の形態３のシステムは、図１に示すハードウェア構成を用いて、ＥＣＵ６０に、後述する図５に示すルーチンを実行させることにより実現することができる。
【００６８】
［実施の形態３の特徴］
各気筒で吸入空気量が異なる場合に、全ての気筒で燃料噴射量を同じにすると、気筒間で空燃比のばらつきが発生してしまう。ここで、図１に示すシステムにおいて、触媒５４上流の空燃比センサ５２は、トータルの排気空燃比を検出しており、気筒毎の排気空燃比を検出していない。よって、空燃比センサ５２により検出された排気空燃比を用いた燃料噴射量のフィードバック制御のみでは、気筒毎の空燃比のばらつきを抑制することが難しい。その結果、未燃ＨＣやＣＯ２等のエミッションの排出量を十分抑制することができない事態が生じ得る。
【００６９】
そこで、本実施の形態３では、各気筒の吸入空気量に基づいて、各気筒の燃料噴射量を補正する。すなわち、エアフロメータ４０により検出されたトータルの吸入空気量に基づいて算出された各気筒のベース噴射量を、各気筒の吸入空気量に基づいて補正する。これにより、各気筒の空燃比を揃えることができるため、気筒間の空燃比のばらつきを抑制することができる。その結果、エミッションの排出量を十分抑制することができる。
【００７０】
また、気筒間で燃料噴射量が異なる場合には、気筒間で出力トルクのばらつきが発生してしまう。そこで、本実施の形態３では、各気筒の吸入空気量に基づいて、すなわち、上記のように補正された各気筒の燃料噴射量に基づいて、各気筒の出力トルクを推定する。そして、推定された出力トルクが最小である気筒、つまり、吸入空気量が最小である気筒以外の他の気筒の点火時期を遅角する。これにより、該他の気筒の出力トルクを下げることができるため、各気筒の出力トルクを揃えることができる。よって、気筒間のトルクばらつきを抑制することができる。
【００７１】
［実施の形態３における具体的処理］
図９は、本実施の形態３において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図９に示すように、先ず、吸入空気量、機関回転数NEを読み込む（ステップ１４０）。この吸入空気量は、実施の形態１で算出した各気筒の吸入空気量ではなく、内燃機関トータルでの吸入空気量である。
【００７２】
次に、各気筒のベース燃料噴射量を算出する（ステップ１４２）。ここで、ＥＣＵ６０は、本ルーチンとは別のルーチンで目標空燃比を設定している。このステップ１４２では、該設定された目標空燃比と、ステップ１４０で読み込まれた吸入空気量とから、各気筒のベース燃料噴射量が算出される。
【００７３】
そして、ステップ１４０で読み込まれた機関回転数NEに応じた各気筒の吸入空気量を読み出す（ステップ１４４）。ここで、ＥＣＵ６０は、上記実施の形態１の図４に示すルーチンにより算出された各気筒の吸入空気量を格納している。このステップ１４４では、該格納された各気筒の吸入空気量を読み出すことができる。
【００７４】
次に、ステップ１４４で読み出した各気筒の吸入空気量に基づいて、各気筒のベース燃料噴射量を補正する（ステップ１４６）。このステップ１４６では、ステップ１４２で算出されたベース燃料噴射量が増加若しくは減少せしめられる。これにより、各気筒の空燃比を目標空燃比と同一にすることができる。
【００７５】
次に、ステップ１４４で読み出した各気筒の吸入空気量に基づいて、各気筒の出力トルクを推定する（ステップ１４８）。ここで、吸入空気量が多いほど、ステップ１４６で補正される燃料噴射量が多くなる。よって、吸入空気量が多い気筒ほど、推定される出力トルクが大きくなる。
【００７６】
次に、ＥＣＵ６０内に予め記憶されたマップを参照して、出力トルクが最小となる気筒以外の各気筒の点火時期を遅角させる（ステップ１５０）。ここで、吸入空気量が最小である気筒は、燃料噴射量が最小となるため、出力トルクが最小となる。よって、このステップ１５０では、吸入空気量が最小である気筒以外の各気筒に対して、点火時期が遅角せしめられる。該マップでは、点火時期は、機関回転数と出力トルクとの関係で定められている。該マップによれば、吸入空気量が多いほど、出力トルクが大きいため、点火時期が大きく遅角される。よって、吸入空気量が最小である気筒の出力トルクと同じになるように、他の気筒の出力トルクが抑制される。このため、気筒間のトルクばらつきの発生を抑制することができる。
【００７７】
以上説明したように、図９に示すルーチンによれば、各気筒の吸入空気量に基づいて各気筒の燃料噴射量を補正することで、気筒間の空燃比のばらつきを抑えることができる。さらに、出力トルクが大きい気筒について点火時期を遅角させることで、気筒間の出力トルクのばらつきを抑えることができる。
【００７８】
ところで、本実施の形態３では、機関回転数に応じた各気筒の吸入空気量を読み込んでいるが、機関負荷に応じた各気筒の吸入空気量を読み込んでもよい。ＥＣＵ６０は、アクセル開度センサ３８の出力に基づいて、機関負荷を算出することができる。
【００７９】
また、本実施の形態３では、各気筒の吸入空気量に基づいて各気筒の燃料噴射量を補正しているが、上記実施の形態２で算出された気筒間の吸入空気量比に基づいて各気筒の燃料噴射量を補正してもよい。この場合も、各気筒の空燃比を揃えることができるため、気筒間の空燃比のばらつきを低減することができる。
ここで、気筒間の吸入空気量比が機関回転数に関係なく一定である場合には、機関回転数に応じた吸入空気量比を読み出す必要はない。この場合、何れかの機関回転数での吸入空気量比を読み込み、それに基づいて燃料噴射量を算出することができる。
【００８０】
尚、本実施の形態３においては、ＥＣＵ６０が、ステップ１４２の処理を実行することにより第４の発明における「燃料噴射量算出手段」が、ステップ１４６の処理を実行することにより第４の発明における「補正手段」が、ステップ１４８の処理を実行することにより第６の発明における「トルク推定手段」が、ステップ１５０の処理を実行することにより第６の発明における「点火時期変更手段」が、それぞれ実現されている。
【００８１】
実施の形態４．
［システム構成の説明］
図１０は、本発明の実施の形態４のシステム構成を説明するための図である。本実施の形態４のシステムは、図１に示したシステムに加えて、電磁駆動弁機構２４，４８を更に備えている。電磁駆動弁機構２４，４８は、２つの励磁コイル（図示せず）を備えている。これらの励磁コイルは、ＥＣＵ６０の出力側に接続されている。ＥＣＵ６０は、励磁コイルに励磁電流を供給することで、吸気バルブ２２，４６の作動特性（作用角及びリフト量）を変更することができる。
【００８２】
［実施の形態４の特徴］
上記実施の形態１によれば、エアフロメータ４０の出力を積算することにより、各気筒の吸入空気量が算出される。上記実施の形態３では、この各気筒の吸入空気量を利用して、各気筒の燃料噴射量を補正することで、各気筒の空燃比が揃えられる。さらに、点火時期の遅角制御を行うことで、燃料噴射量の補正に伴う気筒間の出力トルクばらつきが抑制される。
【００８３】
本実施の形態４では、各気筒の吸入空気量に基づいて、電磁駆動弁機構２４を用いて吸気バルブ２２の作動特性を変更する。これにより、各気筒の吸入空気量を揃えることができるため、気筒間の吸入空気量のばらつきを抑制することができる。よって、上記実施の形態３で行ったような燃料噴射量の補正並びに点火時期の遅角制御が不要となる。
【００８４】
［実施の形態４における具体的処理］
図１１は、本実施の形態４において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図１１に示すルーチンによれば、先ず、機関回転数NEを読み込む（ステップ１５２）。
次に、ＥＣＵ６０内に予め格納されたマップを参照して、各気筒の吸気バルブ２２の目標リフト量を算出する（ステップ１５４）。すなわち、電磁駆動弁機構２４の目標制御量が算出される。該マップでは、機関回転数NEが大きいほど、目標リフト量が大きくなるように設定されている。
【００８５】
次に、ステップ１５２で読み込まれた機関回転数NEに応じた各気筒の吸入空気量を読み出す（ステップ１５６）。このステップ１５６では、上記実施の形態３のステップ１４４と同様に、図４に示すルーチンにより算出された各気筒の吸入空気量が読み出される。
【００８６】
次に、ステップ１５６で読み出された吸入空気量を用いて、各気筒の目標リフト量を補正する（ステップ１５８）。ここで、先ず、１つの特定気筒を基準とする。そして、該特定気筒の吸入空気量と同じになるように、他の気筒の目標リフト量を増加又は減少させる。特定気筒と他の気筒との吸入空気量の差が大きいほど、目標リフト量が大きく補正される。この結果、電磁駆動弁機構２４の目標制御量が補正される。
【００８７】
以上説明したように、図１１に示すルーチンによれば、各気筒の吸入空気量に基づいて各気筒の吸気バルブのリフト量を補正することで、気筒間の吸入空気量のばらつきを低減することができる。すなわち、電磁駆動弁機構２４を用いて吸気バルブ２２の作動特性を変更することで、各気筒の吸入空気量が揃えられる。これにより、燃料噴射量の補正を行わずとも、気筒間の空燃比のばらつきを抑えることができる。さらに、点火時期の遅角制御を行わずとも、気筒間の出力トルクのばらつきを抑えることができる。
【００８８】
ところで、本実施の形態４では、電磁駆動弁機構を用いて気筒間の吸入空気量のばらつきを低減したが、これに限らず、可変動弁機構や可変バルブタイミング機構を有するシステムを用いることによっても、上記実施の形態４と同様の効果を得ることができる。
【００８９】
ところで、吸気弁の上流に追加弁を備えた装置が知られている（例えば、特許第２６１２５２７号公報参照）。この装置によれば、吸気バルブが開弁されて燃焼室内の負圧が大きくなった時点で追加弁を開弁することで、燃焼室内に空気を高速で流入させることができる。該追加弁を有するシステムを用いて、各気筒の吸入空気量に基づいて追加弁の開弁時期を補正することで、各気筒で空気の流速を異ならしめることができる。その結果、上記実施の形態４と同様に、気筒間の吸入空気量のばらつきを低減することができる。
【００９０】
尚、本実施の形態４においては、ＥＣＵ６０が、ステップ１５８の処理を実行することにより第７の発明における「空気量補正手段」が実現されている。
【００９１】
実施の形態５．
［システム構成の説明］
本発明の実施の形態５のシステムは、図１に示したシステムにおいて、スロットルバルブ３２の上流に吸気温センサ（図示せず）を更に備えている。この吸気温センサは、ＥＣＵ６０の入力側に接続されている。
【００９２】
［実施の形態５の特徴］
上記実施の形態４では、各気筒の吸入空気量に基づいて吸気バルブの目標リフト量を補正し、可変動弁機構２４を駆動させることで、気筒間の吸入空気量のばらつきが抑制されている。
【００９３】
本実施の形態５では、スロットルバルブ３２の開度（スロットル開度TA）を逐次変更することにより、気筒間の吸入空気量のばらつきを抑制する。ここで、スロットル開度TAの目標値は、下式(1)の吸気系の物理モデル（例えば、特開2004-197608参照）によって算出することができる。
Mt=μ1×At×{Pa/(√(R×Ta))}×Φ(Pm/Pa)・・・(1)
【００９４】
上式(1)において、Mtはスロットルバルブを通過する空気量（つまり、エアフロメータ４０の出力）、μ1は流量係数、Atはスロットルバルブ４０の開口面積を示している。また、Paはスロットルバルブ４０上流の圧力（つまり、大気圧もしくはそれを補正したもの）、Rは気体定数、Taはスロットルバルブ４０上流の吸気温度、Φは関数、Pmはスロットルバルブ４０下流の圧力（つまり、サージタンク圧の目標値）を示している。
【００９５】
吸気温度Taは、上記吸気温センサの出力を用いることができる。サージタンク圧Pmの目標値は、吸入空気量の上昇率に基づいて求めることができる（後述）。そして、求めた目標値Pmと上式(1)により、スロットルバルブ４０の開口面積を求めることができる。この求めたスロットルバルブ４０の開口面積からスロットル開度TAの目標値を算出することができる。
【００９６】
［実施の形態５における具体的処理］
図１２は、本実施の形態５において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図１２に示すルーチンによれば、先ず、機関回転数NEを読み込む。さらに、該機関回転数NEに応じた各気筒の吸入空気量を読み出す（ステップ１６０）。このステップ１６０では、上記実施の形態３のステップ１４４と同様に、図４に示すルーチンにより算出された各気筒の吸入空気量が読み出される。
【００９７】
次に、吸入空気量を増加させる気筒を特定する（ステップ１６２）。すなわち、吸入空気量が少ない気筒を特定する。そして、ステップ１６２で特定された気筒の吸入空気量の上昇率を算出する（ステップ１６４）。該上昇率は、下式(2)により算出することができる。
吸入空気量の上昇率=(目標の吸入空気量)/(増加前の吸入空気量)・・・(2)
【００９８】
次に、図１３に示すマップを参照して、サージタンク圧Pmの目標値を算出する（ステップ１６６）。図１３は、サージタンク圧Pmの目標値を算出するために用いられるマップの一例を示す図である。該マップでは、吸入空気量の上昇率が大きいほど、サージタンク圧Pmの目標値が大きくなるように設定されている。
【００９９】
次に、ステップ１６６で算出されたサージタンク圧Pmの目標値と、上式(1)により、目標スロットル開度を算出する（ステップ１６８）。具体的には、サージタンク圧Pmの目標値を上式(1)に代入することで、スロットルバルブ３２の開口面積Atが算出され、該開口面積Atから目標スロットル開度が算出される。そして、スロットルバルブ３２の開度を目標スロットル開度に制御する。
上記の処理を、各気筒の吸気行程について行うことにより、スロットル開度が逐次変更される。
【０１００】
以上説明したように、各気筒の吸気行程においてスロットル開度を逐次変更することにより、気筒間の吸入空気量を揃えることができる。これにより、燃料噴射量の補正を行わずとも、気筒間の空燃比のばらつきを抑えることができる。さらに、点火時期の遅角制御を行わずとも、気筒間の出力トルクのばらつきを抑えることができる。
【０１０１】
ところで、上記実施の形態５では、物理モデルを用いて目標スロットル開度を算出しているが、マップに基づいて目標スロットル開度を算出してもよい。
具体的には、先ず、アクセル開度AA及び機関回転数NEを読み込む。そして、アクセル開度AAに応じたベーススロットル開度を算出する。次に、機関回転数NEに応じた各気筒の吸入空気量を読み出す。続いて、吸入空気量が少ない気筒を特定し、該特定された気筒の目標吸入空気量を算出する。
次に、ＥＣＵ６０内に予め格納されたマップを参照して、ベーススロットル開度と機関回転数NEに応じた目標スロットル開度を算出する。すなわち、特定された気筒の吸気行程でのベーススロットル開度が補正される。該マップでは、ベーススロットル開度が大きいほど、目標スロットル開度が大きくなるように設定されている。さらに、機関回転数NEが高いほど、目標スロットル開度が小さくなるように設定されている。これは、ベーススロットル開度が大きいほど、スロットル開度変化に対する各気筒の吸入空気量変化の感度が小さくなるためである。また、機関回転数NEが高いほど、スロットル開度変化に対する各気筒の吸入空気量変化の感度が大きくなるためである。
そして、スロットル開度を目標スロットル開度に制御する。その後、各気筒の吸入空気量を算出し、目標吸入空気量に対する乖離が大きい場合には、上記の方法により再度目標スロットル開度が算出する。
このように、マップに基づいて目標スロットル開度を算出し、各気筒の吸気行程においてスロットル開度を逐次変更することによっても、上記実施の形態５と同様の効果が得られる。
【０１０２】
尚、本実施の形態５においては、ＥＣＵ６０が、ステップ１６８の処理を実行することにより第７の発明における「空気量補正手段」が実現されている。
【０１０３】
実施の形態６．
［システム構成の説明］
図１４は、本発明の実施の形態６のシステム構成を説明するための図である。本実施の形態６のシステムは、触媒５４としてＮＯｘ触媒を備えている。本実施の形態６のシステムは、図１０に示したシステムに加えて、排気燃料添加インジェクタ５３を更に備えている。排気燃料添加インジェクタ５３は、ＮＯｘ触媒５４上流の排気通路５０内に燃料を噴射するように構成されている。排気燃料添加インジェクタ５３は、ＥＣＵ６０の出力側に接続されている。
【０１０４】
［実施の形態６の特徴］
上記システムでは、ＮＯｘ触媒５４に吸蔵されたＮＯｘを還元するため、又は、ＮＯｘ触媒５４の硫黄被毒再生を実行するために、排気燃料添加インジェクタ５３によりＮＯｘ触媒５４の上流に還元剤としての燃料を添加する、いわゆるリッチスパイクが実行される。特に、ＮＯｘ触媒５４の硫黄被毒再生時には、最終目標空燃比の幅が狭いことが知られている。ここで、最終目標空燃比とは、ＮＯｘ触媒５４に流入する排気ガスの最終的な空燃比をいう。この最終目標空燃比は、例えば、14.3±0.1の範囲に制御する必要がある。この範囲よりもリッチ側に偏ると白煙が出てしまい、リーン側に偏ると再生効率が低下するためである。
【０１０５】
そこで、本実施の形態６では、各気筒の吸入空気量に基づいて吸気バルブ２２のリフト量を補正した後、排気燃料添加インジェクタ５３による燃料添加量を補正する。これにより、ＮＯｘ還元時又は硫黄被毒再生時における最終目標空燃比を精度良く制御することができる。従って、特に硫黄被毒再生を安定して行うことができる。
【０１０６】
［実施の形態６における具体的処理］
図１５は、本実施の形態６において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図１５に示すルーチンによれば、先ず、吸入空気量、機関回転数NEおよびアクセル開度AAを読み込む（ステップ１７２）。
【０１０７】
次に、吸入空気量及び目標空燃比とから、各気筒のベース燃料噴射量を算出する（ステップ１７４）。
次に、上記実施の形態４のステップ１５４と同様に、各気筒の吸気バルブ２２の目標リフト量を算出する（ステップ１７６）。そして、上記実施の形態４のステップ１５６と同様に、ステップ１７２で読み込まれた機関回転数NEに応じた各気筒の吸入空気量を読み出す（ステップ１７８）。
【０１０８】
次に、上記実施の形態４のステップ１５８と同様に、ステップ１７８で読み出された吸入空気量を用いて、各気筒の目標リフト量を補正する（ステップ１８０）。これにより、各気筒の吸入空気量が揃えられる。
【０１０９】
次に、ＥＣＵ６０内に予め格納されたマップを参照して、機関回転数に応じて各気筒の排気時期を特定する（ステップ１８２）。該マップでは、図４及び図５に示すマップと同様に、クランク角ベースの排気時期が、機関回転数NEとの関係で定められている。このマップは、気筒毎に設けられている。よって、このステップ１８２では、全ての気筒について排気時期が特定される。
【０１１０】
次に、各気筒の排気時期における排気添加燃料量を算出する（ステップ１８４）。ここで、先ず、下式(3)によりトータル燃料噴射量を算出する。算出したトータル燃料噴射量を下式(4)に代入することにより、排気添加燃料量が算出される。ここで、下式(3)中の最終目標空燃比は、ＮＯｘ触媒５２に流入する排気ガスの空燃比である。
トータル燃料噴射量=(特定気筒の吸入空気量)/最終目標空燃比・・・(3)
排気添加燃料量=トータル燃料噴射量-ホ゜ート燃料噴射量・・・(4)
【０１１１】
そして、ステップ１８４で算出された排気添加燃料量で、ステップ１８２で特定された排気時期に、排気燃料添加インジェクタ５３により燃料を添加する（ステップ１８６）。
【０１１２】
以上説明したように、図１５に示すルーチンによれば、各気筒の吸入空気量に基づいて各気筒の吸気バルブ２２の目標リフト量を補正することで各気筒から排出される排気空燃比がほぼ揃っているため、最終目標空燃比を精度良く制御することができる。このため、ＮＯｘ触媒５４のＮＯｘ還元時及び硫黄被毒再生時における空燃比制御を安定して行うことができる。
【０１１３】
尚、本実施の形態６においては、ＥＣＵ６０が、ステップ１８４の処理を実行することにより第８の発明における「燃料添加量算出手段」が、ステップ１８６の処理を実行することにより第８の発明における「噴射実行手段」が、それぞれ実現されている。
【０１１４】
実施の形態７．
本発明の実施の形態７のシステムは、図１に示すハードウェア構成を用いて、ＥＣＵ６０に、後述する図１６に示すルーチンを実行させることにより実現することができる。
【０１１５】
［実施の形態７の特徴］
上記実施の形態１によれば、各気筒の吸入空気量が算出される。また、公知の手法により、筒内圧センサの出力値に基づき、各気筒の吸入空気量を算出することができる。一例としては、筒内圧と筒内容積に基づいて、吸入空気量を算出することができる（例えば、特開２００５−３６７５５号公報参照）。
【０１１６】
本実施の形態７では、エアフロメータを用いて算出された各気筒の吸入空気量（以下「第１吸入空気量」という。）と、筒内圧センサを用いて算出された各気筒の吸入空気量（以下「第２吸入空気量」という。）とを比較することで、エアフロメータ及び筒内圧センサの校正を行う。
【０１１７】
すなわち、第１吸入空気量と第２吸入空気量との乖離が、全気筒で同様に存在する場合には、エアフロメータの出力特性がずれていると判断する。この場合、エアフロメータの出力特性を校正する。また、全気筒で見られるこの乖離が著しく大きい場合、つまり、エアフロメータの出力特性の校正可能領域を超えるような場合には、エアフロメータの故障と判定する。
【０１１８】
また、第１吸入空気量と第２吸入空気量との乖離が、特定気筒のみ存在する場合には、この特定気筒の筒内圧センサの出力特性がずれていると判断する。この場合、該特定気筒の筒内圧センサの出力特性を校正する。また、特定気筒で見られるこの乖離が、著しく大きい場合、つまり、筒内圧センサの出力特性の校正可能領域を超えるような場合には、筒内圧センサの故障と判定する。
【０１１９】
従って、本実施の形態７によれば、上記実施の形態１で算出した吸入空気量を用いて、エアフロメータ及び筒内圧センサの校正及び故障判定を精度良く行うことができる。
【０１２０】
［実施の形態７における具体的処理］
図１６は、本実施の形態７において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
図１６に示すように、先ず、エアフロメータ４０の出力値に基づいて算出された各気筒の第１吸入空気量を読み込む（ステップ１８８）。次に、筒内圧センサ１７の出力値に基づいて算出された各気筒の第２吸入空気量を読み込む（ステップ１９０）。次に、第１吸入空気量と第２吸入空気量との乖離度を気筒毎に算出する（ステップ１９２）。
【０１２１】
次に、全気筒の乖離度が所定値A以上であるか否かを判別する（ステップ１９４）。この所定値Aは、エアフロメータ４０の出力特性ずれが許容範囲であるか否かを判別するための基準値である。このステップ１９４で全気筒の乖離度が所定値A以上であると判別された場合には、全気筒の乖離が所定値Aよりも大きい所定値B以上であるか否かを更に判別する（ステップ１９６）。この所定値Bは、エアフロメータ４０の出力校正が可能か否かを判別するための基準値である。
【０１２２】
ステップ１９６で全気筒の乖離度が所定値B以上であると判別された場合には、エアフロメータ４０の出力が著しくずれていると判断される。この場合、エアフロメータ４０が故障していると判定される（ステップ１９８）。
一方、ステップ１９６で全気筒の乖離度が所定値Bよりも小さいと判別された場合には、エアフロメータ４０の出力がずれていると判断される。この場合、エアフロメータ４０の出力が校正される（ステップ２００）。このエアフロメータ４０の出力校正は、乖離度が大きいほど、校正量が大きくされる。
【０１２３】
一方、ステップ１９４で全気筒の乖離度が所定値Aよりも小さいと判別された場合には、特定気筒の乖離度が所定値C以上であるか否かを更に判別する（ステップ２０２）。この所定値Cは、筒内圧センサ１７の出力特性ずれが許容範囲か否かを判別するための基準値である。このステップ２０２で特定気筒の乖離度が所定値C以上であると判別された場合には、特定気筒の乖離度が所定値Cよりも大きい所定値D以上であるか否かを判別する（ステップ２０４）。この所定値Dは、筒内圧センサ１７の出力校正が可能か否かを判別するための基準値である。
【０１２４】
ステップ２０４で特定気筒の乖離度が所定値D以上であると判別された場合には、該特定気筒の筒内圧センサ１７の出力が著しくずれていると判断される。この場合、該特定気筒の筒内圧センサ１７が故障していると判定される（ステップ２０６）。
一方、ステップ２０４で特定気筒の乖離度が所定値Dよりも小さいと判別された場合には、該特定気筒の筒内圧センサ１７の出力がずれていると判断される。この場合、該特定気筒の筒内圧センサ１７の出力が校正される（ステップ２０８）。この筒内圧センサ１７の出力校正は、乖離度が大きいほど、校正量が大きくされる。
【０１２５】
以上説明したように、図１６に示すルーチンによれば、エアフロメータ出力に基づく各気筒の吸入空気量と、筒内圧センサ出力に基づく各気筒の吸入空気量との乖離度に応じて、エアフロメータ４０もしくは筒内圧センサ１７の出力校正、又は、エアフロメータ４０もしくは筒内圧センサ１７の故障判定をすることができる。
【０１２６】
尚、本実施の形態７においては、ＥＣＵ６０が、ステップ１８８の処理を実行することにより第９の発明における「第１吸入空気量算出手段」が、ステップ１９０の処理を実行することにより第９の発明における「第２吸入空気量算出手段」が、ステップ１９２の処理を実行することにより第９の発明における「乖離度算出手段」が、それぞれ実現されている。
また、ＥＣＵ６０は、ステップ２００の処理を実行することにより第９の発明における「吸気センサ校正手段」が、ステップ１９８の処理を実行することにより第１０の発明における「吸気センサ故障判定手段」が、ステップ２０８の処理を実行することにより第１１の発明における「筒内圧センサ校正手段」が、ステップ２０６の処理を実行することにより第１２の発明における「筒内圧センサ故障判定手段」が、それぞれ実現されている。
【図面の簡単な説明】
【０１２７】
【図１】本発明の実施の形態１のシステム構成を説明するための図である。
【図２】吸気に伴う各センサの出力変化を示す図である。
【図３】エアフロメータの出力積算値の平均化について説明するための図である。
【図４】本発明の実施の形態１において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図５】吸気開始時期を特定するために用いられるマップの一例を示す図である。
【図６】吸気終了時期を特定するために用いられるマップの一例を示す図である。
【図７】エアフロメータの出力最大値の平均化について説明するための図である。
【図８】本発明の実施の形態２において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図９】本発明の実施の形態３において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図１０】本発明の実施の形態４のシステム構成を説明するための図である。
【図１１】本発明の実施の形態４において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図１２】本発明の実施の形態５において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図１３】サージタンク圧Pmの目標値を算出するために用いられるマップの一例を示す図である。
【図１４】本発明の実施の形態６のシステム構成を説明するための図である。
【図１５】本発明の実施の形態６において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【図１６】本発明の実施の形態７において、ＥＣＵ６０が実行するルーチンを示すフローチャートである。
【符号の説明】
【０１２８】
１    内燃機関
２    気筒
４    ピストン
６    シリンダブロック
８    シリンダヘッド
１０  水温センサ
１２  クランクシャフト
１４  クランク角センサ
１６  燃焼室
１７  筒内圧センサ
１８  点火プラグ
２０  吸気ポート
２２  吸気バルブ
２４  可変動弁機構
２６  インジェクタ
２８  吸気通路
３０  サージタンク
３２  スロットルバルブ
３４  スロットルモータ
３６  スロットル開度センサ
３８  アクセル開度センサ３８
４０  エアフロメータ
４２  エアクリーナ
４４  排気ポート
４６  排気バルブ
４８  可変動弁機構
５０  排気通路
５２  空燃比センサ
５３  排気燃料添加インジェクタ
５４  触媒
５６  酸素センサ
６０  ＥＣＵ
【図１】
2006336581.tif 000003
【図２】
2006336581.tif 000004
【図３】
2006336581.tif 000005
【図４】
2006336581.tif 000006
【図５】
2006336581.tif 000007
【図６】
2006336581.tif 000008
【図７】
2006336581.tif 000009
【図８】
2006336581.tif 000010
【図９】
2006336581.tif 000011
【図１０】
2006336581.tif 000012
【図１１】
2006336581.tif 000013
【図１２】
2006336581.tif 000014
【図１３】
2006336581.tif 000015
【図１４】
2006336581.tif 000016
【図１５】
2006336581.tif 000017
【図１６】
2006336581.tif 000018