(57)【要約】【課題】  燃料噴射弁ごとのばらつきを検出して、各燃料噴射弁からの燃料噴射量を制御することにより空燃比を制御する。【解決手段】  内燃機関の複数の気筒のそれぞれに燃料を噴射する複数の燃料噴射弁からの燃料噴射量を制御する空燃比制御装置であって、内燃機関の空燃比が目標空燃比に近づくように、気筒内に噴射する燃料量を、燃料噴射弁ごとに決定する燃料噴射量決定手段と、燃料量に応じて、燃料噴射弁ごとに、燃料を噴射する燃料噴射時間を決定する燃料噴射時間決定手段とを備える。また、空燃比制御装置は、燃料噴射弁ごとに、燃料噴射時間の間に、実際に噴射された実燃料噴射量を算出する実燃料噴射量算出手段と、実燃料噴射量に基づいて、燃料噴射弁ごとのばらつきを判定するばらつき判定手段とを備える。【選択図】      図４
2007023836.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の複数の気筒のそれぞれに燃料を噴射する複数の燃料噴射弁からの燃料噴射量を制御する空燃比制御装置であって、
前記内燃機関の空燃比が目標空燃比に近づくように、前記気筒内に噴射する燃料量を、前記燃料噴射弁ごとに決定する燃料噴射量決定手段と、
前記燃料量に応じて、前記燃料噴射弁ごとに、燃料を噴射する燃料噴射時間を決定する燃料噴射時間決定手段と、
前記燃料噴射弁ごとに、前記燃料噴射時間の間に、実際に噴射された実燃料噴射量を算出する実燃料噴射量算出手段と、
前記実燃料噴射量に基づいて、前記燃料噴射弁ごとのばらつきを判定するばらつき判定手段と、
を備えることを特徴とする空燃比制御装置。
【請求項２】
前記ばらつき判定手段は、前記実燃料噴射量と、前記燃料噴射時間との関係に基づいて、前記燃料噴射弁ごとの、前記燃料噴射弁の作動遅れにより発生する無効噴射時間を算出する無効噴射時間算出手段と、
前記無効噴射時間を記憶する無効噴射時間記憶手段と、
を備えることを特徴とする請求項１に記載の空燃比制御装置。
【請求項３】
第１の条件において、１サイクル中の第１吸入空気量を検出する第１吸入空気量検出手段と、
前記第１吸入空気量とは異なる第２吸入空気量となるように、第２条件を設定する第２条件設定手段と、を備え、
前記燃料噴射時間決定手段は、前記第１条件における燃料噴射弁ごとの第１燃料噴射時間と、前記第２条件における燃料噴射弁ごとの前記第２燃料噴射時間とを決定し、
前記実燃料噴射量算出手段は、前記第１条件における燃料噴射弁ごとの第１実燃料噴射量と、前記第２条件における燃料噴射弁ごとの第２実燃料噴射量とを算出し、
前記無効噴射時間算出手段は、前記第１実燃料噴射量と前記第２実燃料噴射量との変動量に対する、前記第１燃料噴射時間と前記第２燃料噴射時間の変動量に基づいて、前記燃料噴射弁ごとの燃料噴射量を算出することを特徴とする請求項２に記載の空燃比制御装置。
【請求項４】
前記内燃機関の空燃比が目標空燃比に近づくように補正する補正値を算出する補正値算出手段と、
前記補正値が判定値より大きくなっているか否かを判定する補正値判定手段と、を備え、
前記無効噴射時間算出手段は、前記補正値が判定値より大きくなっている場合に、前記無効噴射時間算出することを特徴とする請求項２に記載の空燃比制御装置。
【請求項５】
前記内燃機関のバッテリ電圧を検出するバッテリ電圧検出手段を備え、
前記無効噴射時間算出手段は、前記無効噴射時間を、前記バッテリ電圧の所定の領域ごとに対応する値として算出し、
前記無効噴射時間記憶手段は、前記無効噴射時間を、前記バッテリ電圧の所定の領域に応じて変化する値として、無効噴射時間マップとして記憶することを特徴とする請求項２から４のいずれかに記載の空燃比制御装置。
【請求項６】
前記ばらつき判定手段は、前記実燃料噴射量と、前記燃料噴射時間とに基づいて、前記燃料噴射弁ごとの燃料噴射率を算出する燃料噴射率算出手段を備えることを特徴とする請求項１から５のいずれかに記載の空燃比制御装置。
【請求項７】
前記気筒ごとの気筒別空燃比を検出する気筒別空燃比検出手段を備え、
前記ばらつき判定手段は、
前記実燃料噴射量と前記気筒別空燃比とから、気筒ごとの気筒別吸入空気量を算出する気筒別吸入空気量算出手段と、
前記気筒別吸入空気量を記憶する気筒別吸入空気量記憶手段と、
を備えることを特徴とする請求項１〜６のいずれかに記載の空燃比制御装置。
【請求項８】
前記内燃機関の回転数を測定する回転数検出手段と、
前記内燃機関の１サイクル中の吸入空気量を検出する吸入空気量検出手段と、を備え、
前記気筒別吸入空気量算出手段は、前記回転数と前記１サイクル中の吸入空気量との所定の範囲ごとに対応して、前記気筒別吸入空気量を算出し、
前記気筒別吸入空気量記憶手段は、前記気筒別吸入空気量を、前記回転数と前記１サイクル中の吸入空気量との所定の範囲に応じて変化する値として、気筒別吸入空気量マップとして記憶することを特徴とする請求項７に記載の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は内燃機関の空燃比制御装置に関する。より具体的には、内燃機関の複数の気筒ごとに配置された燃料噴射弁からの燃料噴射量を制御する空燃比制御装置に関するものである。
【背景技術】
【０００２】
従来、例えば、特開平１―１５５０４７号公報に、内燃機関の空燃比を目標空燃比に制御するため、燃料噴射量を制御するシステムが開示されている。このシステムは、燃料噴射弁と、これに接続する制御回路を備える。制御回路は燃料噴射弁に燃料噴射信号を送り、燃料噴射弁の電磁コイルに電流を供給する。その結果、電磁コイルに磁力が発生し、この磁力により弁が開かれて燃料が噴射される。このシステムは、制御回路からの燃料噴射信号によって電磁コイルに通電する時間を制御することにより、燃料噴射量を制御する。燃料噴射量は、空燃比と目標空燃比とから算出された基本噴射量を、空燃比センサの出力、運転状況、水温等の検出結果に基づいて算出された補正値により補正することにより決定される。
【０００３】
また、燃料噴射の際、燃料噴射信号によって通電された直後、電磁コイルには逆起電力が発生する。このため、電磁コイルに通電を開始してから弁を開く磁力が発生するまでに、作動の遅れがある。電磁コイルに通電した総時間のうち、この作動遅れ分の通電時間は、実際には燃料噴射が行われていない時間である。この作動遅れ時間分の通電時間は、一般に「無効噴射時間」と称される。無効噴射時間は予め記憶されている。
【０００４】
燃料噴射弁への通電時間である燃料噴射時間は、実効噴射時間に無効噴射時間を加算して算出される。つまり、決定された燃料噴射量を噴出するために必要な開弁時間である実効噴射時間に、記憶された無効燃料噴射時間を加算して算出される。上記従来技術は、燃料噴射時間の算出の際に加算される無効噴射時間として、通常は記憶された学習値を用いる。また、燃料噴射量を正確に制御するため、所定の条件が成立した場合には無効噴射時間の補正を行い、この補正値を無効噴射時間の学習値として再設定することとしている。
【０００５】
【特許文献１】特開平１−１５５０４７号公報
【特許文献２】特開昭６３−２７２９４０号公報
【特許文献３】特開平９−１００７３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、燃料噴射時間は、燃料噴射量に基づいて算出される実効噴射時間に、学習された無効噴射時間を加算して算出される。しかし、燃料噴射弁が新品の場合であっても、個々の燃料噴射弁の無効噴射時間には公差内でのばらつきが含まれている。また、燃料噴射弁の経時劣化、特に電磁コイルの経時劣化により、通電直後に発生する逆起電力が変動する。このため、無効噴射時間が変動して、そのばらつきが大きくなる場合がある。従って、上記従来技術のように所定の時期に一括して無効噴射時間を補正するものであっても、個別の燃料噴射弁それぞれの実際の無効噴射時間は、補正された無効噴射時間とは異なるものと考えられる。このため、実際の無効噴射時間と記憶された無効噴射時間との差分、燃料噴射時間中の実効噴射時間に変動が生ずることとなる。その結果、噴射される燃料量と、目標とする燃料噴射量との間に差が生じることとなる。従って、目標とする噴射量の燃料を正確に噴射させるためには、個別の燃料噴射弁ごとに、無効噴射時間を正確に予測することが好ましい。
【０００７】
以上より、この発明は上記の課題を解決するため、無効噴射時間を燃料噴射弁ごとに異なる時間として学習し、燃料噴射時間を燃料噴射弁ごとに制御できるように改良した空燃比制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、上記の目的を達成するため、内燃機関の複数の気筒のそれぞれに燃料を噴射する複数の燃料噴射弁からの燃料噴射量を制御する空燃比制御装置であって、
前記内燃機関の空燃比が目標空燃比に近づくように、前記気筒内に噴射する燃料量を、前記燃料噴射弁ごとに決定する燃料噴射量決定手段と、
前記燃料量に応じて、前記燃料噴射弁ごとに、燃料を噴射する燃料噴射時間を決定する燃料噴射時間決定手段と、
前記燃料噴射弁ごとに、前記燃料噴射時間の間に、実際に噴射された実燃料噴射量を算出する実燃料噴射量算出手段と、
前記実燃料噴射量に基づいて、前記燃料噴射弁ごとのばらつきを判定するばらつき判定手段と、
を備えることを特徴とする。
【０００９】
第２の発明は、第１の発明において、前記ばらつき判定手段は、
前記実燃料噴射量と、前記燃料噴射時間との関係に基づいて、前記燃料噴射弁ごとの、前記燃料噴射弁の作動遅れにより発生する無効噴射時間を算出する無効噴射時間算出手段と、
前記無効噴射時間を記憶する無効噴射時間記憶手段と、
を備えることを特徴とする。
【００１０】
第３の発明は、第２の発明において、第１条件において、１サイクル中の第１吸入空気量を検出する第１吸入空気量検出手段と、
前記第１吸入空気量とは異なる第２吸入空気量となるように、第２条件を設定する第２条件設定手段と、を備え、
前記燃料噴射時間決定手段は、前記第１条件における燃料噴射弁ごとの第１燃料噴射時間と、前記第２条件における燃料噴射弁ごとの前記第２燃料噴射時間とを決定し、
前記実燃料噴射量算出手段は、前記第１条件における燃料噴射弁ごとの第１実燃料噴射量と、前記第２条件における燃料噴射弁ごとの第２実燃料噴射量とを算出し、
前記無効噴射時間算出手段は、前記第１実燃料噴射量と前記第２実燃料噴射量との変動量に対する、前記第１燃料噴射時間と前記第２燃料噴射時間の変動量に基づいて、前記燃料噴射弁ごとの燃料噴射量を算出することを特徴とする。
【００１１】
第４の発明は、第２の発明において、前記内燃機関の空燃比が目標空燃比に近づくように補正する補正値を算出する補正値算出手段と、
前記補正値が判定値より大きくなっているか否かを判定する補正値判定手段と、を備え、
前記無効噴射時間算出手段は、前記補正値が判定値より大きくなっている場合に、前記無効噴射時間算出することを特徴とする。
【００１２】
第５の発明は、第２から第４のいずれかの発明において、前記内燃機関のバッテリ電圧を検出するバッテリ電圧検出手段を備え、
前記無効噴射時間算出手段は、前記無効噴射時間を、前記バッテリ電圧の所定の領域ごとに対応する値として算出し、
前記無効噴射時間記憶手段は、前記無効噴射時間を、前記バッテリ電圧の所定の領域に応じて変化する値として、無効噴射時間マップとして記憶することを特徴とする。
【００１３】
第６の発明は、第１から５のいずれかの発明において、前記ばらつき判定手段は、前記実燃料噴射量と、前記燃料噴射時間とに基づいて、前記燃料噴射弁ごとの燃料噴射率を算出する燃料噴射率算出手段を備えることを特徴とする。
【００１４】
第７の発明は、第１から６のいずれかの発明において、前記気筒ごとの気筒別空燃比を検出する気筒別空燃比検出手段を備え、
前記ばらつき判定手段は、
前記実燃料噴射量と前記気筒別空燃比とから、気筒ごとの気筒別吸入空気量を算出する気筒別吸入空気量算出手段と、
前記気筒別吸入空気量を記憶する気筒別吸入空気量記憶手段と、
を備えることを特徴とする。
【００１５】
第８の発明は、第７の発明において、前記内燃機関の回転数を測定する回転数検出手段と、
前記内燃機関の１サイクル中の吸入空気量を検出する吸入空気量検出手段と、を備え、
前記気筒別吸入空気量算出手段は、前記回転数と前記１サイクル中の吸入空気量との所定の範囲ごとに対応して、前記気筒別吸入空気量を算出し、
前記気筒別吸入空気量記憶手段は、前記気筒別吸入空気量を、前記回転数と前記１サイクル中の吸入空気量との所定の範囲に応じて変化する値として、気筒別吸入空気量マップとして記憶することを特徴とする。
【発明の効果】
【００１６】
第１の発明によれば、燃料噴射弁ごとに、燃料噴射時間の間に実際に噴射された実燃料噴射量を算出し、実燃料噴射量に基づいて、燃料噴射弁ごとのばらつきを判定することができる。したがって、燃料噴射弁のばらつきを空燃比ごとに正確に判定、検知することができ、正確な空燃比制御を行うことができる。
【００１７】
第２および第３の発明によれば、実燃料噴射量と燃料噴射時間との関係に基づいて、燃料噴射弁ごとの、燃料噴射弁の作動遅れにより発生する無効噴射時間を算出、記憶することができる。したがって、個別の燃料噴射弁ごとの無効噴射時間のばらつきを正確に検知することができる。このため、設定された量の燃料を正確に噴射することができ、正確な空燃比制御を行うことができる。
【００１８】
第４の発明によれば、内燃機関の空燃比が目標空燃比に近づくように補正する補正値が、判定値より大きくなっている場合に、無効噴射時間算出する。したがって、燃料噴射弁が劣化した場合に、無効噴射時間を再度算出することができ、燃料噴射弁ごとの劣化によるばらつきを適切に検知することができる。
【００１９】
第５の発明によれば、無効噴射時間を、バッテリ電圧の所定の領域ごとに対応する値として算出し、マップとして記憶する。したがって、燃料噴射弁ごとに、かつバッテリ電圧ごとに、無効噴射時間の気筒ごとのばらつきに応じて燃料噴射時間を設定することができ、より正確に設定された量の燃料を噴出することができる。
【００２０】
第６の発明によれば、実燃料噴射量と、燃料噴射時間とに基づいて、燃料噴射弁ごとの燃料噴射率を算出する。したがって、設定された量の燃料をより正確に噴射することができる。
【００２１】
第７および第８の発明によれば、実燃料噴射量と気筒別空燃比とから、気筒ごとの気筒別吸入空気量を算出し、記憶する。したがって、気筒ごとのばらつきを検知することができ、より正確な空燃比制御を行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態について説明する。なお、各図において、同一または相当する部分には同一符号を付してその説明を簡略化ないし省略する。
【００２３】
実施の形態１．
[実施の形態１のシステム構成]
図１は、この発明の実施の形態１のシステム構成を説明するための模式図である。図１に示すシステムは、内燃機関２を備えている。内燃機関２は複数の気筒を備えているが、図１にはそのうちの１つの気筒の断面のみを示す。内燃機関２の個々の気筒内にはピストン４が配置されている。またピストン４上部には燃焼室６が形成されている。燃焼室６の上部には点火プラグ８が組み付けられている。また、ピストン４には図示しないクランクシャフトが接続され、この付近にクランク角センサ１０が設置されている。クランク角センサ１０は内燃機関の回転数ＮＥを検出する。
【００２４】
内燃機関２は、個々の気筒の吸気ポート１２に、吸気バルブ１４を備えている。内燃機関２には、個々の気筒の吸気ポート１２のそれぞれに連通する吸気マニホルド１６が接続されている。吸気マニホルド１６には、後述するように、個別の気筒に対応して燃料噴射弁１８１〜１８４がそれぞれ組み付けられている。吸気マニホルド１６には、スロットルバルブ２０が設けられている。スロットルバルブ２０の上流側において、吸気マニホルド１６にはエアフロメータ２２が設置されている。エアフロメータ２２は、吸気マニホルド１６内を流れる空気量に応じた出力を発する。
【００２５】
一方、内燃機関２は、個々の気筒の排気ポート２４に、排気バルブ２６を備えている。内燃機関２には、個々の気筒の排気ポート２４のそれぞれに連通する排気マニホルド２８が接続されている。排気マニホルド２８には、後述するように、個別の気筒に対応して、空燃比センサ３０１〜３０４がそれぞれ設置されている。また、排気マニホルド２８の空燃比センサ３０１〜３０４の下流側には、空燃比センサ３２が設置されている。排気マニホルド２８は、三元触媒３４を内蔵する触媒コンバータ３６に接続されている。触媒コンバータ３６は排気管３８に接続されている。
【００２６】
点火プラグ８、クランク角センサ１０、燃料噴射弁１８１〜１８４、エアフロメータ２２、および空燃比センサ３０１〜３０４、３２は制御装置４０に接続されている。制御装置４０は、点火プラグ８に点火の時期を指示する信号を送り、燃料噴射弁１８１〜１８４に燃料噴射信号を送信する。一方、制御装置４０は、クランク角センサ１０からの出力を受けて、内燃機関の回転数を求めることができる。また、エアフロメータ２２からの出力を受けて、吸気マニホルド１６内を通過する吸入空気量を推定することができる。また、空燃比センサ３０１〜３０４または３２の出力を受けて、その設置された位置における排気マニホルド２８内の空燃比を推定することができる。
【００２７】
図２は、内燃機関２の個々の気筒とその周辺部分を説明するための模式図である。図２に示すように、図１の内燃機関２は、気筒♯１〜♯４の４気筒を備えている。吸気マニホルド１６は、個々の気筒♯１〜♯４の吸気ポートに対応して、主管１６０から分配された４本の枝管１６１〜１６４を備えている。個々の枝管１６１〜１６４内には、それぞれ、燃料噴射弁１８１〜１８４がその先端を露出するように組み付けられている。より具体的に、気筒♯１には、吸気マニホルド１６の枝管１６１が接続されている。枝管１６１には、内部に先端が突出するようにして、燃料噴射弁１８１が組み付けられている。同様に、気筒♯２〜♯４には、それぞれ、吸気マニホルドの枝管１６２、１６３、１６４が接続され、各枝管１６２、１６３，１６４内には、それぞれ燃料噴射弁１８２、１８３、１８４が組み付けられている。燃料噴射弁１８１〜１８４は制御装置４０に接続されている。燃料噴射弁１８１〜１８４のそれぞれは、電磁コイル(図示せず)とその中心に配置されたプランジャ(図示せず)を備えている。燃料噴射の際には、制御装置４０からの燃料噴射信号により、電磁コイルに所定の電力が印加され、電磁コイルに発生する磁力によりプランジャが引き上げられて弁が開き、その結果、燃料が噴射される。
【００２８】
一方、排気マニホルド２８は、個々の気筒♯１〜♯４の排気ポート数に対応して、主管２８０から分配された４本の枝管２８１〜２８４を有する。具体的に、気筒♯１には、排気マニホルド２８の枝管２８１が接続されている。枝管２８１には、そのセンサ素子が枝管２８１内の排気ガスに晒されるようにして、空燃比センサ３０１が設置されている。同様に、気筒♯２〜♯４の排気ポートにはそれぞれ、枝管２８２、２８３、２８４が接続され、各枝管２８２、２８３、２８４には、それぞれ、空燃比センサ３０２、３０３、３０４が設置されている。排気マニホルド２８の主管２８０には、空燃比センサ３２が設置されている。空燃比センサ３０１、３０２、３０３、３０４および３２は、それぞれ、制御装置４０に接続されている。これらの空燃比センサ３０１〜３０４および３２は、それぞれ、配置された位置において排気マニホルド２８内の排気ガスに晒され、この排気ガスの酸素濃度に応じた出力を発する。制御装置４０はその出力を受けて、空燃比を算出することができる。
【００２９】
[燃料噴射量の制御について]
内燃機関２の運転中、個々の気筒に供給すべき燃料噴射量ＱＳ[cc]は、目標燃料量ＱＴＧＴ[cc]を、空燃比センサから算出されるフィードバック補正係数ＦＢＭ、機関冷却水温や吸気温に応じて定められる補正係数、吸気通路壁面に付着した燃料量を考慮して定められる補正係数等により補正して、算出される。
【００３０】
目標燃料量ＱＴＧＴは、燃焼室６内に供給される混合気の空燃比が目標空燃比となるのに最適な燃料噴射量であり、吸入空気量と目標空燃比とから算出される。また、フィードバック補正係数ＦＢＭは、空燃比センサ３２の出力に基づくフィードバック補正係数であり、次回噴射される燃料噴射量が目標燃料量ＱＴＧＴに近づくように補正するための係数である。補正係数ＦＢＭは、例えば比例積分制御により算出される。
【００３１】
一方、実際に燃料噴射を行う際に噴射される燃料噴射量Ｑは、燃料噴射弁への通電時間である燃料噴射時間τ[sec]を制御することにより制御される。燃料噴射弁から噴射される燃料噴射量Ｑ[cc]は、燃料噴射時間τ[sec]から以下の式（１）に基づいて算出される。
Ｑ＝Ｆ/γ＝SPEC×（τ−τｖ）        ・・・・（１）
ここで、τｖは無効噴射時間[sec]、SPECは燃料噴射率[cc/sec]を表す。また、Ｆ[g]は、重さ単位での燃料噴射量を表し、γは温度に応じた燃料の比重[g/cc]を表す。
【００３２】
式（１）において、燃料噴射時間τは、燃料噴射弁に通電した総時間である。また、無効噴射時間τｖは燃料噴射弁への通電時に発生する逆起電力により、燃料噴射弁に生じる作動遅れ分の時間である。すなわち（τ−τｖ）が実際に、燃料噴射弁が開弁した時間であり、燃料を噴射していた実効噴射時間となる。
【００３３】
[無効噴射時間τｖの学習について]
制御装置４０は、次回噴射する燃料噴射量ＱＳを設定し、設定した量ＱＳ燃料を噴射するため、式（１）に基づいて燃料噴射時間τを決定する。ここで、燃料噴射時間τに含まれる無効噴射時間τｖは、個々の燃料噴射弁が新品のものであっても、公差として認められる範囲のばらつきを有する。また、燃料噴射弁の電磁コイル等の経時劣化により、無効噴射時間τｖは変動する。このため、個別の燃料噴射弁間で無効噴射時間τｖは互いに同一の値ではなく、また、同一の燃料噴射弁内でも経時劣化により変化する値であると考えられる。
【００３４】
そこで、実施の形態１のシステムでは、設定された燃料噴射量ＱＳの燃料を確実に噴射できる燃料噴射時間τを設定するため、燃料噴射弁１８１〜１８４のそれぞれについて、個別の無効噴射時間τｖを学習値として記憶して用いることとする。また、無効噴射時間τｖは、燃料噴射弁の経時劣化により変化する値であるため、必要に応じて無効噴射時間τｖを再学習することとする。
【００３５】
図３は、燃料噴射時間τと実際に噴射された燃料噴射量Ｑとの関係を表すグラフである。図３において横軸は燃料噴射時間τ[sec]を表し、縦軸は噴射された燃料噴射量Ｑ[cc]を表す。上記したように、無効噴射時間τvは、燃料噴射弁の作動遅れ時間であり、燃料噴射弁への通電時間のうち燃料が噴射されていない時間である。従って、図３において燃料噴射量Ｑ＝０である場合の通電時間を無効噴射時間τｖと考えることができる。つまり図３においては、Ｑとτとのグラフの直線と、横軸（すなわち、Ｑ＝０）との交点が無効噴射時間τｖなる。すなわち、この交点を求めることで無効噴射時間τｖが算出される。
【００３６】
式（１）から、図３のグラフの直線は、Ｑ＝spec×（τ−τｖ）であり、燃料噴射量Ｑは時間τに応じてリニアに変化する関数である。従って、異なる燃料噴射時間τにおける、燃料噴射量Ｑをそれぞれ求めることにより、グラフの直線を特定することができる。この特定されたグラフとＱ＝０との交点を求めることで、無効噴射時間τｖが算出される。
【００３７】
また無効噴射時間τｖは、燃料噴射弁ごとに異なるものであるから、個別の気筒ごとに設置された燃料噴射弁の無効噴射時間τｖを学習する必要がある。以下、気筒♯１〜♯４に対応する番号をｎ番（ｎ＝１〜４）として、個別の気筒ごとに異なる値を表す場合には、各記号に「ｎ」を付して表記するものとする。より具体的に、燃料噴射弁１８１〜１８４の各燃料噴射量をＱｎ[cc]、またはＦｎ[g]、その時の燃料噴射時間をτｎ、無効噴射時間をτｖｎと表すこととする。また、個別の気筒♯１〜♯４ごとの空燃比をＡＦｎとする。
【００３８】
実施の形態１のシステムは、排気マニホルド２８の枝管２８１〜２８４のそれぞれに配置された空燃比センサ３０１〜３０４により、個別の気筒♯１〜♯４ごとに、空燃比ＡＦｎを検出することができる。また、１サイクル中の全気筒の平均空燃比ＡＦを、排気マニホルド２８の主管２８０に配置された空燃比センサ３２から検出することができる。また、吸気マニホルド１６の主管１６０に配置されたエアフロメータ２２から、１サイクル中の吸入空気量Ｇａを求めることができる。これらの実測値を用いて、制御装置４０は各燃料噴射弁１８１〜１８４の無効噴射時間τｖｎを以下のように算出する。
【００３９】
空燃比ＡＦｎと、個別の気筒ごとの吸入空気量Ａｎと、燃料噴射量Ｆｎ[g]とは、次式（２）のように表される。
Ａｎ／Ｆｎ＝ＡＦｎ        ・・・・（２）
式（２）において、実施の形態１のシステムは、気筒ごとの空燃比ＡＦｎを実測することができるが、個別の気筒ごとの燃料噴射量Ｆｎや吸入空気量Ａｎを実測することができない。このため、以下に示すように、全気筒の１サイクル中の吸入空気量Ｇａを一定として、気筒♯１〜♯４に噴射する燃料噴射量Ｆｎを変更した異なる４の条件Ａ〜Ｄを設定し、各条件における平均空燃比ＡＦを測定することで、各気筒の燃料噴射量ＦｎおよびＱｎを算出する。また、このときの燃料噴射時間τｎを測定することにより、燃料噴射時間τｎにおける燃料噴射量Ｑｎを特定することができる。
【００４０】
また、上述したように、図３のＱ＝spec×（τ−τｖ）の直線を特定するため、少なくとも異なる２つの燃料噴射時間τにおける、燃料噴射量Ｑを求める必要がある。このため、上記条件Ａ〜Ｄの平均空燃比ＡＦ、燃料噴射時間τｎの測定を、異なる吸入空気量Ａに設定して２回測定する。
【００４１】
実施の形態１では、以下のように条件Ａ〜Ｄに設定する。また、条件Ａ〜Ｄにおける測定を１セットの測定とした場合に、異なる吸入空気量の条件で２回の測定を行って、それぞれの測定において必要なデータを実測する。なお、以下、各条件に対応して異なる値を示す場合には、各記号に「ｍ」を付し、各測定回数に対応して異なる値を示す場合には、各記号に「ｉ」を付して表記するものとする。具体的に例えば、各条件ｍ、各測定回数ｉにおける燃料噴射弁１８１〜１８４の燃料噴射量をＱｎｍｉ[cc]、またはＦｎｍｉ[g]とし、その燃料噴射時間をτｎｍｉ[sec]と表す。また、個別の気筒♯１〜♯４ごとの空燃比をＡＦｎｍｉ、平均空燃比をＡＦｍｉと表す。また、各測定回数における１サイクル中の吸入空気量をＧａｉ[g]と表す。また具体的に条件番号を示す場合には、ｍをＡ,Ｂ,Ｃ,Ｄとして表記する。
【００４２】
(条件Ａ)  各気筒♯１〜♯４への燃料噴射量Ｆ１Ａｉ〜Ｆ４Ａｉを、通常の制御により、目標空燃比狙いの場合の値に設定する。
上記のように設定された条件Ａにおける吸入空気量Ｇａｉと平均空燃比ＡＦＡｉを実測する。また、条件Ａでは、個別の気筒ごとに空燃比ＡＦ１Ａｉ〜ＡＦ４Ａｉを測定する。式（２）から、条件Ａにおける各気筒別吸入空気量をＡｎｉとすれば、気筒ごとの燃料噴射量ＦｎＡｉは、ＦｎＡｉ＝Ａｎｉ/ＡＦｎＡｉと表すことができる。ここで気筒別吸入空気量Ａｎｉを一定と考え、個別の空燃比ＡＦｎｍｉが条件Ａで測定された空燃比ＡＦｎＡｉの例えば１/α倍になるようにフィードバック制御すれば、燃料噴射量Ｆｎｍｉは、条件Ａにおける燃料噴射量ＦｎＡｉのα倍、αＦｎＡｉとなる。これを利用して、気筒別吸入空気量Ａｎｉを一定として、個別の気筒♯１〜♯４へのそれぞれの燃料噴射量Ｆｎｍｉを以下の条件Ｂ〜条件Ｄのように設定する。
【００４３】
(条件Ｂ)  気筒♯１の燃料噴射量Ｆ１Ｂｉを、条件Ａでの燃料噴射量Ｆ１Ａｉの10％増、1.1Ｆ１Ａｉとなるようにして、気筒♯３の燃料噴射量Ｆ３Ｂｉを、条件Ａでの燃料噴射量Ｆ３Ａｉの10％減0.9Ｆ３Ａｉとなるようにする。気筒♯２、♯４への燃料噴射量Ｆ２Ｂｉ、Ｆ４Ｂｉは、条件Ａでの燃料噴射量Ｆ２Ａｉ、Ｆ４Ａｉと同一になるようにする。つまり、気筒♯１の空燃比ＡＦ１Ｂｉ＝ＡＦ１Ａｉ/1.1、気筒♯３の空燃比ＡＦ３Ｂｉ＝ＡＦ３Ａｉ/0.9、気筒♯２、♯４の空燃比ＡＦ２Ｂｉ、ＡＦ４Ｂｉは、それぞれＡＦ２Ａｉ、ＡＦ４Ａｉと同一となるようにフィードバック制御する。
【００４４】
(条件Ｃ)   気筒♯２への燃料噴射量Ｆ２Ｃｉを条件Ａでの燃料噴射量Ｆ２Ａｉの10％減、0.9Ｆ２Ａｉとなるように設定し、気筒♯４への燃料噴射量Ｆ４Ｃｉを、条件Ａでの燃料噴射量Ｆ４Ａｉの１０％増、1.1Ｆ４Ａｉとなるように設定し、気筒♯１、♯３への燃料噴射量Ｆ１Ｃｉ、Ｆ３Ｃｉは、条件Ａの燃料噴射量Ｆ１Ａｉ、Ｆ３Ａｉと同一になるようにする。燃料噴射量Ｆｎｃｉの調整は、条件Ｂの場合と同様に、各気筒♯１〜♯４の空燃比ＡＦｎＣｉの出力が、ＡＦ１Ａｉ、ＡＦ２Ａｉ/0.9、ＡＦ３Ａｉ、ＡＦ４Ａｉ/1.1、となるようにフィードバック制御することにより調整する。
【００４５】
（条件Ｄ）  気筒♯２への燃料噴射量Ｆ２Ｄｉを、条件Ａでの燃料噴射量Ｆ２Ａｉの10％増、1.1Ｆ２Ａｉとなるように設定し、気筒♯４への燃料噴射量Ｆ４Ｄｉを条件Ａでの燃料噴射量Ｆ４Ａｉの10％減、0.9Ｆ４Ａｉとなるように設定し、気筒♯１、♯３への燃料噴射量Ｆ１Ｄｉ、Ｆ３Ｄｉは、条件Ａの燃料噴射量Ｆ１Ａｉ、Ｆ３Ａｉと同一になるようにする。燃料噴射量の調整は、各気筒♯１〜♯４の空燃比ＡＦｎＤｉが、ＡＦ１Ａｉ、ＡＦ２Ａｉ/1.1、ＡＦ３Ａｉ、ＡＦ４Ａｉ/0.9となるようにフィードバック制御することにより調整する。
【００４６】
上記条件Ａ〜条件Ｄにおいて、それぞれ平均空燃比ＡＦｍｉを測定する。式（２）に基づいて、各条件Ａ〜Ｄにおける平均空燃比ＡＦｍｉは、燃料噴射量Ｆｎｍｉと吸入空気量Ｇａｉとにより以下の式（３）〜（６）で表すことができる。
(条件Ａ)：ＡＦＡｉ＝Ｇａｉ/（Ｆ１Ａｉ＋Ｆ２Ａｉ＋Ｆ３Ａｉ＋Ｆ４Ａｉ）・・・（３）
(条件Ｂ)：ＡＦＢｉ＝Ｇａｉ/（1.1Ｆ１Ａｉ＋Ｆ２Ａｉ＋0.9Ｆ３Ａｉ＋Ｆ４Ａｉ）・・・（４）
(条件Ｃ)：ＡＦＣｉ＝Ｇａｉ/（Ｆ１Ａｉ＋0.9Ｆ２Ａｉ＋Ｆ３Ａｉ＋1.1Ｆ４Ａｉ）・・・（５）
(条件Ｄ)：ＡＦＤｉ＝Ｇａｉ/（Ｆ１Ａｉ＋1.1Ｆ２Ａｉ＋Ｆ３Ａｉ＋0.9Ｆ４Ａｉ）・・・（６）
【００４７】
上記の条件Ａ〜条件Ｄにおいて導かれる式（３）〜（６）により、条件Ａ下での燃料噴射量ＦｎＡｉを、燃料噴射弁ごとに算出することができる。ここで求められたＦｎＡｉに基づいて、燃料噴射量ＱｎＡｉ[cc]＝ＦｎＡｉ/γを求めることができる。また、条件Ａにおいては、燃料噴射時間τｎＡｉを測定する。従って、図３のグラフの直線のうち、少なくとも１点（τｎＡｉ,Ｑｎａｉ）を特定することができる。
【００４８】
実施の形態１では、上記条件Ａ〜条件Ｄの測定を１測定として、異なる吸入空気量Ｇａ１、Ｇａ２で２測定行う。これにより図３のグラフの直線のうち２点（τｎＡ１,ＱｎＡ１）、（τｎＡ２,ＱｎＡ２）を特定することができる。従って、図３のグラフの直線、Ｑｎ＝SPECｎ×(τｎ−τｖｎ)を気筒ごとに特定することができ、この直線とＱ＝０との交点を求めることにより、燃料噴射弁ごとの無効噴射時間τｎｖを算出することができる。実施の形態１では、このようにして無効噴射時間τｖｎを燃料噴射弁１８１〜１８４ごとに算出して記憶し、燃料噴射弁１８１〜１８４からの燃料噴射時間τｎを決定する際に用いる。また、記憶したτｖｎは必要に応じて、再学習し再設定する。
【００４９】
[実施の形態１の制御]
図４および図５は、この発明の実施の形態１において制御装置４０が実行する制御のルーチンを説明するためのフローチャートである。このルーチンは、内燃機関２の運転中、１サイクルごとに毎回実行されるルーチンである。このルーチンでは、まず、無効噴射時間τｖｎの較正履歴があるか否かが判定される（ステップＳ１０２）。具体的には、無効噴射時間τｖｎの最初の設定が行われた場合にONとされる較正フラグがONとされているか否かが判定される。
【００５０】
ステップＳ１０２において、較正フラグ＝ONとなっている場合には、次に、燃料噴射弁１８１〜１８４のいずれかの燃料噴射弁において、経時変化指標が判定値より大きくなっているか否かが判定される（ステップＳ１０４）。経時変化指標は、燃料噴射弁１８１〜１８４ごとの目標燃料量ＱＴＧＴに対する、空燃比フィードバック制御による補正値ＦＢＭの変化量を示す値である。所定値は、この変化量が許容範囲内であるか否かを判定するための値であり、予め制御装置４０に記憶されている。経時変化指標が所定値よりも大きいと判定される場合、その燃料噴射弁の劣化が進行して無効噴射時間τｖｎに許容範囲外のばらつきが発生しているものと予想されるため、無効噴射時間τｖｎの再設定が必要と判定される。ステップＳ１０４において、経時変化指標＞判定値の成立が認められない場合には、経時劣化が許容範囲内であり無効噴射時間τｖｎの較正が不要であると判定され、通常の制御により内燃機関の運転が行われ（ステップＳ１０６）、このルーチンを終了する。
【００５１】
一方、ステップＳ１０２において、較正フラグ＝ONの成立が認められない場合、およびステップＳ１０４において、経時変化指標＞判定値の成立が認められた場合には、無効噴射時間τｖｎの学習が必要であると判断され、次に定常運転中であるか否かが判定される（ステップＳ１０８）。このルーチンで学習される無効噴射時間τｖｎは、後の制御において学習値として用いられるものであるから、定常的な条件下で走行している場合にのみ学習することが好ましい。従って、ステップＳ１０８において、定常運転中の条件の成立が認められない場合には、無効噴射時間τｖｎの学習は開始せず、通常の制御により内燃機関の運転が実行され（ステップＳ１０６）、この処理を終了する。
【００５２】
一方、ステップＳ１０８において、定常運転中の判定がなされた場合には、測定回数のカウンタｉが２であるか否かが判定される（ステップＳ１１０）。測定回数ｉは、上記の条件Ａ〜Ｄの全測定を１測定とした場合の測定回数のカウンタであり、初期値においては、ｉ＝１と設定されている。この段階では、ｉ＝１であるから、ｉ＝２が成立せず、次に、条件Ａ〜Ｄのカウンタｍが１であるか否かが判定される（ステップＳ１１２）。カウンタｍは、上記条件Ａ、Ｂ、Ｃ、Ｄを、１、２、３、４と数値でカウントする値であり、初期値においては、ｍ＝１と設定されている。
【００５３】
この段階ではｍ＝１であるから、ステップＳ１１２において、ｍ＝１の成立が認められ、次に、通常の制御に基づいて設定された燃料噴射量で通常どおりに運転が行われる（ステップＳ１１４）。次に、この運転中に、個別の気筒♯１〜♯４ごとの空燃比ＡＦｎＡｉが測定され、記憶される（ステップＳ１１６）。空燃比ＡＦｎＡ１は、空燃比センサ３０１〜３０４の出力に基づいて求められ、制御装置４０のＲＡＭに記憶される。また、このときの燃料噴射時間τｎＡｉが測定され、記憶される（ステップＳ１１８）。すなわち、制御装置４０は、各インジェクタ１８１〜１８４への積算通電量を検出し、制御装置４０のＲＡＭに記憶する。次に、平均空燃比ＡＦＡ１が、測定され、記憶される（ステップＳ１２０）。平均空燃比ＡＦＡ１は、空燃比センサ３２の出力に基づいて、条件Ａの１サイクルにおける気筒♯１〜♯４の平均空燃比として求められ、制御装置４０のＲＡＭに記憶される。また、条件Ａの１サイクル中の吸入空気量Ｇａ１が測定され記憶される（ステップ１２２）。吸入空気量Ｇａ１は、エアフロメータ２２の出力に基づいて求められ、制御装置４０のＲＡＭに記憶される。また、内燃機関２の冷却水温ＴＷＡｉが測定され、記憶される（ステップＳ１２４）。
【００５４】
次に、図５のルーチンのステップＳ１２８において、カウンタｍに１が加算され、ｍ＝ｍ＋１とされる。具体的に、ここではｍ＝２とされる。次に、ｍが４より大きいか否かが判定される（ステップＳ１３０）。ここでは、ｍ＝２であるため、ｍ＞４の成立が認められず、一旦このルーチンが終了する。
【００５５】
一方、次のサイクルにおいて、再びこのルーチンが実行され、ステップＳ１０８において定常運転中の条件の成立が認められた後、再びステップＳ１１２において、ｍ＝１の成立が認められるか否かが判定される。この段階では、ｍ＝２であるから、ｍ＝１の成立が認められず、次に、ステップＳ１３２において、現在の吸入空気量Ｇａが、吸入空気量Ｇａ１±α１の範囲内であるか否かが判定される。ここで、α１は、吸入空気量ＧａがステップＳ１２２で記憶した吸入空気量Ｇａ１とほぼ同一であると認定できる許容範囲の誤差であり、予め制御装置４０に記憶されている。ステップＳ１３２においてＧａ１−α１＜Ｇａ＜Ｇａ１＋α１の成立が認められない場合には、通常の制御条件で運転を行い（ステップＳ１０６）、このルーチンを終了する。
【００５６】
一方、ステップＳ１３２において、Ｇａ１−α１＜Ｇａ＜Ｇａ１＋α１の成立が認められた場合には、条件Ａの場合の吸入空気量Ｇａ１と、現在の吸入空気量Ｇａがほぼ同一であると認められる。この場合には、条件ｍに対応する運転条件の設定が行われる（ステップＳ１３４）。この段階では、ｍ＝２であるから、上記条件Ｂに設定される。具体的にここでは、各気筒♯１〜♯４の目標空燃比がそれぞれ、ＡＦ１Ｂ１＝ＡＦ１Ａ１/1.1、ＡＦ２Ｂ１＝ＡＦ２Ａ１、ＡＦ３Ｂ１＝ＡＦ３Ａ１/0.9、ＡＦ４Ｂ１＝ＡＦ４Ａ１に設定されて、燃料噴射量のフィードバック制御が行われるようなる。
【００５７】
次に、条件Ｂに基づくフィードバック制御が完了したか否かが判定される（ステップＳ１３６）。つまり、空燃比ＡＦｎが、上記条件Ｂにおいて設定された値と一致するか否かが判定される。ステップＳ１３６においてフィードバック制御完了が認められない場合には、現在の設定条件で通常の運転が続行され（ステップＳ１０６）、一旦このルーチンが終了する。
【００５８】
一方、ステップＳ１３６において、フィードバック制御完了の成立が認められた場合には、平均空燃比ＡＦ２ｉが測定、記憶される（ステップＳ１３６）。平均空燃比ＡＦ２ｉは、空燃比センサ３２の出力から１サイクル中の平均値として求められ、制御装置４０のＲＡＭに記憶される。再びステップＳ１２６において、ｍに１が加算され、ｍ＝３とされる。その後、ステップＳ１２８においてｍ＞４が成立するか否かが判定される。ここでは、ｍ＝３であるから、この条件は成立せず、一旦このルーチンが終了する。
【００５９】
次の燃焼のサイクルにおいて、再びこのルーチンが実行されたとき、ｍ＝３、ｉ＝１に設定されている。従って、ステップＳ１０８において定常運転中であることが認められ、かつ、ステップＳ１３２において吸入空気量Ｇａが、Ｇａ１±α１の範囲内であることが認められると、ステップＳ１３４において条件Ｃが設定される。この条件下で、同様に、フィードバック制御が実行され、ステップＳ１３６においてフィードバック制御の完了が認められた場合、平均空燃比ＡＦＣ１が測定、記憶される（ステップＳ１３８）。その後、ステップＳ１２８においてｍに１が加算され、ｍ＝４となる。ステップＳ１３０においてｍ＞４の成立が認められず、一旦このルーチンが終了する。次の燃焼サイクルにおいて再びこのルーチンが実行されたとき、ｍ＝４、ｉ＝１に設定されている。従って、上記同様に、各ステップにおいて、条件Ｄの測定する条件が認められると、平均空燃比ＡＦＤ４が測定、記憶される（ステップＳ１３８）。
【００６０】
次に、ｍに１が加算されｍ＝５とされる（ステップＳ１２８）。その後、ｍ＞４が成立するか否かが判定される（ステップＳ１３０）。この段階では、ｍ＝５であるからｍ＞４の成立が認められ、図５のルーチンのステップＳ１４０において、燃料噴射量ＦｎＡ１の算出が行われる。すなわち、ＲＡＭに記憶されたＡＦＡ１〜ＡＦＤ１について、上記式（３）〜（６）により、以下の関係が成立する。
(条件Ａ/ｍ=１):ＡＦＡ１＝Ｇａ１/(Ｆ１Ａ１＋Ｆ２Ａ１＋Ｆ３Ａ１＋Ｆ４Ａ１)
(条件Ｂ/ｍ=２):ＡＦＢ１＝Ｇａ１/(1.1Ｆ１Ａ１＋Ｆ２Ａ１＋0.9Ｆ３Ａ１＋Ｆ４Ａ１)
(条件Ｃ/ｍ=３):ＡＦＣ１＝Ｇａ１/(Ｆ１Ａ１＋0.9Ｆ２Ａ１＋Ｆ３Ａ１＋1.1Ｆ４Ａ１)
(条件Ｄ/ｍ=４):ＳＡＦＤ１＝Ｇａ１/(Ｆ１Ａ１＋1.1Ｆ２Ａ１＋Ｆ３Ａ１＋0.9Ｆ４Ａ１)
この４連立方程式から、各気筒ごとの燃料噴射量ＦｎＡ１を算出する。
【００６１】
次に、ＦｎＡ１の値から、ＱｎＡ１が算出され、記憶される（ステップＳ１４２）。ＱｎＡ１[cc]は、ＱｎＡ１＝ＦｎＡ１/γに基づいて算出される。γは、燃料比重であり温度に応じて設定される値であり、予め制御装置４０に記憶されている。制御装置４０は、ステップＳ１２６において測定された冷却水温ＴＷＡ１からγを求め、ＱｎＡ１を算出する。
【００６２】
次に、条件番号のカウンタｍが１に設定される（ステップＳ１４４）。次に、測定回数のカウンタｉに１が加算される（ステップＳ１４６）。これによりｉ＝２となる。次に、ｉが２より大きいか否かが判定される（ステップＳ１４８）。ここでは、ｉ＝２であるから、ｉ＞２の成立が認められず、一旦このルーチンが終了する。
【００６３】
次回燃焼サイクルにおいて再びこのルーチンが実行されると、ステップＳ１０２〜Ｓ１０８により、無効噴射時間τｖｎの学習条件が判定された後、測定回数のカウンタｉ＝２の成立が認められるか否かが判定される（ステップＳ１１０）。この段階ではｉ＝２となっているため、この条件の成立が認められ、現在の吸入空気量Ｇａと第１回目の測定における吸入空気量Ｇａ１との差がβより大きいか否かが判定される（ステップＳ１５０）。βは、少なくともα１より大きい値であり、現在の吸入空気量Ｇａが、測定回数ｉ＝１における吸入空気量Ｇａ１と異なる吸入空気量であるとするのに十分な値である。ステップＳ１５０において、｜Ｇａ―Ｇａ１｜＞βの成立が認められない場合には、通常の制御で内燃機関の運転を行い（ステップＳ１０６）、一旦ルーチンが終了する。
【００６４】
一方、ステップＳ１５０において、｜Ｇａ―Ｇａ１｜＞βの成立が認められた場合、ステップＳ１１２〜Ｓ１３８を上記同様に実行して、条件Ａ〜Ｄ下で、測定回数２回目の平均空燃比ＡＦｍ２等の測定を行い、燃料噴射量ＦｎＡ２を算出し（ステップＳ１４０）、燃料噴射量ＱｎＡ２の算出を行う（ステップＳ１４２）。次に、ｍ＝１に設定され（ステップＳ１４４）、ｉに１が加算されてｉ＝３とされた後（ステップＳ１４６）、ｉ＞２が成立するか否かが判定される（ステップＳ１４８）。
【００６５】
この段階では、ｉ＝３となっているため、ｉ＞２の成立が認められ、ｉ＝１、２回の測定によりステップＳ１４２において算出されたＱｎＡ１、ＱｎＡ２と、ステップＳ１１８において測定された燃料噴射時間τｎＡ１、τｎＡ２から、無効噴射時間τｖｎが算出される（ステップＳ１５２）。具体的に、ｉ＝１、２回の測定により特定された２点（τｎＡ１,ＱｎＡ１）、（τｎＡ２,ＱｎＡ２）を結ぶ直線Ｑｎ＝SPECｎ×(τｎ−τｖｎ)が算出され、この直線とＱ＝０との交点である無効噴射時間τｖｎが求められる。算出された無効噴射時間τｖｎは制御装置４０のＲＡＭに記憶される（ステップＳ１５４）。
【００６６】
次に、無効噴射時間の較正フラグ＝ONとされた後（ステップＳ１５６）、ｉ＝１に設定され（ステップＳ１５８）、このルーチンが終了する。その後の燃焼サイクルにおいては、ステップＳ１０４において、経時変化指標が判定値より大きいと判定されるまでは、学習された無効噴射時間τｖｎが各燃料噴射弁１８１〜１８４の無効噴射時間として用いられて、燃料噴射時間τｎが設定される。
【００６７】
以上説明したように、実施の形態１のシステムによれば、無効噴射時間τｖｎを各燃料噴射弁ごとの値として学習することができる。従って、燃料噴射弁ごとの燃料噴射量τｎを設定する場合に、学習された無効噴射時間τｖｎを用いて設定することができ、正確な量の燃料噴射を行うことができる。これにより、個々の燃料噴射弁１８１〜１８４のばらつきに応じて、正確に各気筒♯１〜♯４への燃料噴射量を制御することができる。
【００６８】
また、実施の形態１のシステムによれば、燃料噴射量のフィードバック制御の補正値が大きくなった場合に、無効噴射時間τｖｎが新たに学習されて設定される。従って、経時劣化により無効噴射時間τｖｎのばらつきが許容範囲外になる前に、新たに無効噴射時間τｖｎを再設定することができ、正確な燃料噴射量の制御を行うことができる。
【００６９】
なお、実施の形態１では、条件Ａの各気筒ごとの空燃比ＡＦｎＡｉの値を基準に設定した目標空燃比にフィードバック制御により、条件Ｂ〜Ｄの燃料噴射量を制御することとした。ここで設定された各条件Ｂ〜Ｄの燃料噴射量は、上記の条件の値に限るものではなく、他の燃料噴射量に設定するものであっても良い。
【００７０】
また、実施の形態１では、条件Ｂ〜Ｄにおいて、空燃比センサの出力が１/1.1倍、１/0.9倍等の設定された値となるまでフィードバック制御を行って、燃料噴射量が目標量に制御された後に、平均空燃比の測定を行うこととした。しかし、この発明は、フィードバック制御が完了するのを待って、平均空燃比を測定するものに限るものではない。例えば、ある程度空燃比が変化した段階で、その空燃比ＡＦｎを読み取り、燃料噴射量Ｆｎの燃料噴射量ＦｎＡｉに対する倍率が、ＡＦｎＡｉ/ＡＦｎとなることから、燃料噴射量ＦｎＡｉに関する算出式を立てるものであってもよい。
【００７１】
また、実施の形態１では、４気筒の内燃機関２にそれぞれ吸気ポート、排気ポートが１つずつ配置されている場合について説明した。しかしこの発明は、この構造にかぎるものではなく、例えば、６気筒の内燃機関等であってもよい。気筒数が異なることにより、燃料噴射弁の数が異なる場合にも、上記条件Ａ〜Ｄの４つの条件を、気筒数分に合わせて設定することにより、各燃料噴射弁からの燃料噴射量を求めることができる。
【００７２】
なお、実施の形態１において、ステップＳ１１４、ステップＳ１３４またはステップＳ１０６を実行することにより、この発明の「燃料噴射量決定手段」および「燃料噴射時間決定手段」が実現し、ステップＳ１４０またはステップＳ１４２を実行することにより「実燃料噴射量算出手段」が実現し、ステップＳ１５２を実行することにより「ばらつき判定手段」が実現され、ステップＳ１５２を実行することにより「無効時間算出手段」が実現し、ステップＳ１５４を実行することにより「無効噴射時間記憶手段」が実現する。また、ステップＳ１２４を実行することにより、この発明の「第１吸入空気量検出手段」が実現し、ステップＳ１５０を実行することにより「第２条件設定手段」が実現する。また、ステップＳ１０４を実行することにより、この発明の「補正値算出手段」と「補正値判定手段」が実現する。
【００７３】
実施の形態２．
実施の形態２のシステム構成は、図１、２に示すものと同じである。実施の形態２のシステムは、実施の形態１のシステムと、無効噴射時間τｖｎの算出方法が異なる点を除き、同様の制御を行う。
【００７４】
具体的に実施の形態１においては、条件Ａ〜Ｄの測定を２回行う場合について説明したが、実施の形態２では、条件Ａ〜Ｄの測定を１度だけ行う。また、条件Ｂ〜Ｄ下においても、各燃料噴射弁からの燃料噴射時間τｎｍを測定して記憶しておく。実施の形態１と同様に、条件Ａ〜Ｄ下で空燃比を測定することにより、式（３）〜（６）に基づいて、条件Ａにおける燃料噴射量ＱｎＡが算出される。このとき、例えば条件Ｂでは、気筒♯１の燃料噴射量を1.1倍に設定しているので、Ｑ１Ｂ＝1.1Ｑ１Ａとなる。このときの燃料噴射時間τ１Ｂを測定しておくことにより、(τ１Ａ,Ｑ１Ａ)と、(τ１Ｂ,1.1Ｑ１Ａ)の２点が特定される。この２点から、気筒♯１について、Ｑ１＝SPEC1(τ１−τｖ１)の直線が決定する。これにより、無効噴射時間τｖ１が算出される。
【００７５】
同様に条件ＣによりＱ２Ｃ＝0.9Ｑ２Ａが成立する。従って、気筒♯２について、(τ２Ａ,Ｑ２Ａ)と(τ２Ｃ,0.9Ｑ２Ａ)の２点を特定され、気筒♯２について無効噴射時間τｖ２を算出される。同様に条件ＢによりＱ３Ｂ＝0.9Ｑ３Ａが成立する。従って、気筒♯３について、(τ３Ａ,Ｑ３Ａ)と(τ３Ｂ,0.9Ｑ３Ａ)の２点が特定され、気筒♯３の無効噴射時間τｖ３が算出される。同様に条件Ｄから、Ｑ４Ｄ＝0.9Ｑ４Ａが成立する。従って、気筒♯４について、(τ４Ａ,Ｑ４Ａ)と(τ４Ｄ,0.9Ｑ４Ａ)の２点が特定され、気筒♯４の無効噴射時間τｖ４が算出される。なお、各気筒について無効噴射時間τｖｎの測定に用いる２点の組み合わせの１例を説明したが、各条件Ａ〜Ｄにおいて測定した燃料噴射時間τｎｍに対応する燃料噴射量Ｑｎｍから２点を選択すれば、他の点を用いて算出することもできる。
【００７６】
図６および図７は、実施の形態２において制御装置４０が実行する制御のルーチンについて説明するためのフローチャートである。図６および図７に示すルーチンは、図４、５のルーチンに代えて実行される。このルーチンは、条件Ａ〜Ｄの測定を１回で行うため、ステップＳ１１０、Ｓ１５０、ステップＳ１４６、Ｓ１４８、Ｓ１５８を行わず、ステップＳ２０２を行う点を除き、図４のルーチンと同様である。
【００７７】
具体的に、測定回数ｉの判定以外の、ステップＳ１０２〜Ｓ１０８の判定が行われた後、ステップＳ１１２において、ｍ＝１の成立が認められると、ステップＳ１１４〜Ｓ１２６において、条件Ａでの各測定が行われる。一方、ステップＳ１１２において、ｍ＝１の成立が認められない場合、吸入空気量の判定（ステップＳ１３２）、条件ｍの設定が行われ（ステップＳ１３４）、フィードバック制御の完了が判定された後（ステップＳ１３６）、燃料噴射時間τｎｍが測定される（ステップＳ２０２）。その後、平均空燃比ＡＦｍが測定される（ステップＳ１３８）。
【００７８】
また、ステップＳ１３０において、ｍ＞５の判定がなされ、条件Ａ〜Ｄの測定が１回終了した後、同様にＱｎＡ算出される（ステップＳ１４２）。その後、ｉ＝２回目の測定を行わず、無効噴射時間τｖｎの算出、記憶が実行される（ステップＳ１５２、Ｓ１５４）。無効噴射時間τｖｎは、上記したように、（ＱｎＡ、τｎＡ）と、条件Ｂ〜Ｄのいずれかにより特定される（τｎｍ、Ｑｎｍ）の２点から算出される。
【００７９】
以上説明したように、条件Ａ〜Ｄの測定を１回にしても、燃料噴射時間τｎｍをその都度記憶することにより、無効噴射時間τｖｎを算出することができる。これにより、燃料噴射弁ごとの無効噴射時間τｖｎを学習することができ、正確な燃料噴射量の制御を行うことができる。
【００８０】
なお、実施の形態２においては、各気筒ごとに、条件Ａから導かれる１点（ＱｎＡ、τｎＡ）と、条件Ｂ〜Ｄのいずれかから導かれる（τｎｍ、Ｑｎｍ）とを特定して、各気筒ごとに図３のグラフの直線を特定する場合について説明した。しかしながら、グラフの特定方法はこれに限るものではなく、条件Ａ〜Ｄにおいて決定される全ての点を、各気筒ごとに算出し、各気筒ごとに全ての点から、平均的な直線を導きだすものであってもよい。これにより、測定誤差等の影響を小さく抑えることができ、より正確に無効噴射時間τｖｎを算出することができる。
【００８１】
なお、実施の形態２において、ステップＳ１１４、ステップＳ１３４またはステップＳ１０６を実行することにより、この発明の「燃料噴射量決定手段」および「燃料噴射時間決定手段」が実現し、ステップＳ１４０またはステップＳ１４２を実行することにより「実燃料噴射量算出手段」が実現し、ステップＳ１５２を実行することにより「ばらつき判定手段」が実現され、ステップＳ１５２を実行することにより「無効時間算出手段」が実現し、ステップＳ１５４を実行することにより「無効噴射時間記憶手段」が実現する。また、ステップＳ１２４を実行することにより、この発明の「第１吸入空気量検出手段」が実現し、ステップＳ１３４を実行することにより「第２条件設定手段」が実現する。また、ステップＳ１０４を実行することにより、この発明の「補正値算出手段」と「補正値判定手段」が実現する。
【００８２】
実施の形態３．
実施の形態３のシステムは、図１、２に示すシステムと同じ構成を有する。また、実施の形態３のシステムは、算出された燃料噴射量ＱｎＡｉから、燃料噴射弁ごとの燃料噴射率を求める点を除き、実施の形態１と同様の制御を行う。具体的に、燃料噴射率は、上記式（１）により、以下の式（７）のように表すことができる。
SPECｎ＝Ｑｎｉ/（τｎｉ−τｖｎ）        ・・・・（７）
燃料噴射率SPECｎは、上記式（７）に、図４のステップＳ１１８で記憶された燃料噴射時間τｎＡ１（またはτｎＡ２）、図５のステップＳ１４２で記憶された燃料噴射弁１８１〜１８４ごとの燃料噴射量ＱｎＡ１(またはＱｎＡ２)、ステップＳ１５２で記憶された無効噴射時間τｖｎの値をそれぞれ代入することにより求められる。
【００８３】
求められた燃料噴射率SPECｎは、ＲＡＭに記憶され、学習値として以降の燃料噴射時間の設定に用いることができる。これにより、目標とする量の燃料を確実に噴射する燃料噴射時間を、燃料噴射弁１８１〜１８４のそれぞれについて正確に設定することができる。また、燃料噴射弁１８１〜１８４が使用により劣化した場合にも、無効噴射時間τｖｎの設定と同時に燃料噴射率SPECｎの学習を行うことができる。したがって、燃料噴射弁１８１〜１８４に経時劣化が発生した場合にも、燃料噴射時間τｎをある程度正確に設定することができる。
【００８４】
なお、実施の形態３においては、実施の形態１の算出ルーチンに従って測定、算出された各値に基づいて、各燃料噴射弁１８１〜１８４の燃料噴射率SPECｎを算出する場合について説明した。しかし、この発明はこれに限るものではなく、実施の形態２の算出ルーチンに従って算出された各値に基づいて、燃料噴射率SPECｎを算出するものであってもよい。
【００８５】
また、実施の形態３においては、ステップＳ１５２において無効噴射時間τｖｎを算出した後、燃料噴射率SPECｎを算出する場合について説明した。しかし、この発明においては、この算出方法に限るものはない。例えば、燃料噴射率SPECｎは、無効噴射時間τｖｎの算出、記憶を行わず、燃料噴射時間ＱｎＡ１、ＱｎＡ２と、燃料噴射時間τｎＡ１、τｎＡ２を、それぞれ式（７）に代入して燃料噴射率SPECｎを算出するなど、他の方法により算出してもよい。
【００８６】
実施の形態４．
実施の形態４のシステムは、図１および図２に示すシステムと同様の構成を有する。また、実施の形態４のシステムは、実施の形態２と同様の方法により無効噴射率τｖｎを算出する。実施の形態４のシステムは、無効噴射率τｖｎの算出に加えて、燃料噴射量ＱｎＡと、その時の空燃比ＡＦｎＡとの関係から、式（２）に基づいて、気筒ごとの吸入空気量である気筒別吸入空気量Ａｎを算出して記憶する。また、気筒別吸入空気量Ａｎは、エンジン回転数ＮＥと１サイクル中の全気筒の吸入空気量Ｇａとに応じて変化する値である。したがって、実施の形態４では、エンジン回転数ＮＥと吸入空気量Ｇａとを複数のエリアに区分して、そのエリアごとに気筒別吸入空気量Ａｎのマップとして記憶する。
【００８７】
図８、９は、実施の形態４の制御装置４０が実行する制御のルーチンについて説明するためのフローチャートである。図８、９に示すルーチンは、図６、図７のステップＳ１０２〜Ｓ１０８に代えて、ステップＳ４０２〜Ｓ４１０を実行する点、ステップＳ１５４の後に、ステップＳ１５６に代えて、ステップＳ４１２〜Ｓ４１８を実行する点を除き、図６、図７と同じである。
【００８８】
具体的に、図８、９のルーチンでは、まず、マップ設定中であるか否かが判定される（ステップＳ４０２）。具体的には、あるエンジン回転数ＮＥと吸入空気量Ｇａとに応じた、気筒別吸入空気量Ａｎのマップ設定中である場合にONとされるフラグがONとなっているか否かが判定される。ステップＳ４０２において、マップ設定中フラグ＝ONの成立が認められない場合には、現在のエンジン回転数ＮＥと吸入空気量Ｇａが属するエリアにおいて、気筒別吸入空気量Ａｎが設定されているか否かが判定される(ステップＳ４０４)。具体的には、エンジン回転数ＮＥと吸入空気量Ｇａのエリアごとに、気筒別吸入空気量Ａｎが設定された場合に、ONとされるフラグがONとなっているか否かが判定される。
【００８９】
ステップＳ４０４において、そのエリアごとの設定フラグ＝ONの成立が認められた場合、ステップＳ４０６において経時変化指標が判定値より大きいか否かが判定される。経時変化指標の判定は、図６のステップＳ１０４と同様に、燃料噴射量のフィードバック制御の補正値の変化量が判定値より大きくなっているか否かに基づいて判定される。
【００９０】
ステップＳ４０４において、エリアごとの設定フラグ＝ONの成立が認められない場合、あるいは、ステップＳ１０４において、経時変化指標＞判定値の成立が認められた場合には、そのエリアの気筒別吸入空気量Ａｎのマップ設定中フラグをONとする（ステップＳ４０６）。これにより、このエリアの吸入空気量Ａｎの設定が完了するまでは、ステップＳ４０２において、マップ設定中＝ONの判断がなされ、上記ステップＳ４０４〜Ｓ４０８の各ステップは実行されないこととなる。
【００９１】
ステップＳ４０２においてマップ設定中＝ONの成立が認められた場合、あるいはステップＳ４０６において、マップ設定中のフラグ＝ONとされた後、現在の吸入空気量Ｇａおよびエンジン回転数ＮＥが、マップ設定中のエリアの範囲内であるか否かが判定される（ステップＳ４０８）。ステップＳ４０８において、吸入空気量Ｇａおよびエンジン回転数ＮＥが、マップ設定中のエリア外であると判定された場合には、通常の制御に基づいて内燃機関２の運転が行われ（ステップＳ１０６）、一旦このルーチンが終了する。
【００９２】
一方、ステップＳ４０８において、エンジン回転数および吸入空気量Ｇａが、エリアの範囲内であることが認められると、実施の形態１において説明したように、ステップＳ１１２〜Ｓ１５２のルーチンに従って、各気筒ごとの空燃比ＡＦｎＡが測定され（ステップＳ１１６）、燃料噴射量ＦｎＡが求められる（ステップＳ１４０）。
【００９３】
次に、燃料噴射量ＦｎＡと空燃比ＡＦｎＡとから、無効噴射時間τｖｎを算出、記憶した後（ステップＳ１５２、Ｓ１５４）、気筒別吸入空気量Ａｎを算出する（ステップＳ４１２）。気筒別吸入空気量Ａｎは、式（２）に基づいて算出される。具体的に、上記ステップＳ１１６、Ｓ１４０において記憶された空燃比ＡＦｎＡと空燃比ＡＦｎＡとを式（２）に代入することにより、気筒別吸入空気量Ａｎが算出される。次に、算出された気筒別吸入空気量Ａｎを、現在マップ設定中のエリアの気筒別吸入空気量Ａｎとして記憶する（ステップＳ４１４）。その後、設定中フラグ＝OFFとし（ステップＳ４１６）、気筒別吸入空気量Ａｎを設定したエリアの較正フラグ＝ONする（ステップＳ４１８）。
【００９４】
以上のように、実施の形態４においては、エンジン回転数ＮＥと吸入空気量Ｇａとに応じて、気筒別吸入空気量Ａｎを学習する。これにより、運転条件に応じた気筒ごとの吸入空気量のばらつき傾向を検知することができる。従って、運転条件に応じた気筒ごとの特性に従って、例えば点火時期を制御するなどの対応をすることができ、より正確に空燃比の制御を行うことができる。
【００９５】
なお、実施の形態４は、図６、７の無効噴射時間τｖｎの算出ルーチンに従って、気筒別吸入空気量Ａｎを算出してマップを作成する場合について説明した。しかし、この発明はこれに限るものではなく、実施の形態１の算出ルーチンに従って、燃料噴射量を算出し、マップを作成するものであってもよい。また、例えばステップＳ１５２の無効噴射時間τｖｎの算出は実行せず、気筒別吸入空気量Ａｎの学習のみを行うものであってもよい。
【００９６】
また、実施の形態４において、ステップＳ１１６を実行することにより、この発明の「気筒別空燃比検出手段」が実現し、ステップＳ４１２を実行することにより「気筒別吸入空気量算出手段」が実現し、ステップＳ４１４を実行することにより「気筒別吸入空気量記憶手段」が実現する。また、例えば、ステップＳ４１０を実行することにより、「吸入空気量検出手段」と「回転数検出手段」が実現する。
【００９７】
実施の形態５．
実施の形態５のシステムは、実施の形態１のシステムと同様の構成を有する。また,実施の形態５のシステムは、無効噴射時間τｖｎをバッテリ電圧に応じて変動する値として、マップとして記憶する点を除き、実施の形態１の制御と同様の制御を行う。具体的に、実施の形態５においては、表１に示すように、バッテリ電圧Ｖが、９Ｖ未満、１０Ｖ未満、１１Ｖ未満、１２Ｖ未満、と所定の範囲ごとにエリアを区切り、そのエリアごとに無効噴射時間τｖｎを学習する。
【００９８】
図１０、図１１は、実施の形態５において制御装置４０が実行する制御のルーチンについて説明するためのフローチャートである。図１０、図１１に示すルーチンは、ステップＳ１０２〜Ｓ１０８に代えて、ステップＳ５０２〜ステップＳ５１０を実行する点、ステップ１５２の後に、ステップＳ１５４〜Ｓ１５６に代えて、ステップＳ５１０〜Ｓ５１６を実行する点を除き、図４、図５に示すルーチンと同じである。
【００９９】
具体的に、まず、図１０のルーチンにおいて、マップ設定中であるか否かが判定される（ステップＳ５０２）。具体的には、バッテリ電圧に応じた、無効噴射時間τｖｎの設定中である場合にONとされるフラグがONとなっているか否かが判定される。ステップＳ５０２において、マップ設定中のフラグがONとなっていない場合には、現在のバッテリ電圧が属するエリアにおいて、無効噴射時間τｖｎが設定されているか否かが判定される（ステップＳ５０４）。具体的には、現在のバッテリ電圧が属するエリアにおける無効噴射時間τｖｎが最初に設定された場合にONとされる較正フラグがONとなっているか否かに基づいて判定される。
【０１００】
ステップＳ５０４において、そのエリアの較正フラグ＝ONの成立が認められた場合、経時変化指標が判定値より大きいか否かが判定される（ステップＳ５０６）。経時変化指標の判定は、図４のステップＳ１０４と同様に、燃料噴射量のフィードバック制御の補正値の変化量が判定値より大きくなっているか否かに基づいて判定される。
【０１０１】
ステップＳ５０４において、エリアのフラグ＝ONの成立が認められない場合、あるいは、ステップＳ５０６において、経時変化指標＞判定値の成立が認められた場合には、そのバッテリ電圧ごとの無効噴射時間τｖｎ設定中のフラグをONとする（ステップＳ５０８）。これにより、このバッテリ電圧における無効噴射時間τｖｎの設定が完了するまでは、ステップＳ５０２において、マップ設定中＝ONの判断がなされ、上記ステップＳ５０４〜Ｓ５０８までのステップは実行されないこととなる。
【０１０２】
ステップＳ５０２においてマップ設定中＝ONの成立が認められた場合、あるいはステップＳ５０８において、マップ設定中フラグ＝ONとされた場合、現在のバッテリ電圧Ｖが、マップ設定中のエリアの範囲内であるか否かが判定される（ステップＳ５１０）。ステップＳ５１０において、バッテリ電圧Ｖが、マップ設定中のエリア外であると判定された場合には、通常の制御に基づいて内燃機関２の運転が行われ（ステップＳ１０６）、一旦このルーチンが終了する。
【０１０３】
一方、ステップＳ５１０において、現在のバッテリ電圧がマップ設定中のエリア内であると認められた場合には、図４、図５のステップＳ１１０〜Ｓ１５２のルーチンに従って、各気筒ごとの無効噴射時間τｖｎが算出される。算出された無効噴射時間τｖｎは、マップ設定中のエリアにおける無効噴射時間τｖｎとして記憶される（ステップＳ５１２）。
【０１０４】
次に、このエリアの設定中フラグをOFFとし（ステップＳ５１４）、無効噴射時間τｖｎを記憶したエリアの較正フラグ＝ONとする（ステップＳ５１６）。その後、ステップＳ１５８においてｉ＝１として、このルーチンを終了する。
【０１０５】
以上のように実施の形態５のシステムによれば、無効噴射時間τｖｎをバッテリ電圧に応じた値として学習することができる。無効噴射時間τｖｎは、燃料噴射弁に供給されるバッテリ電圧ごとに異なる値であるため、このように無効噴射時間τｖｎをバッテリ電圧ごとに異なる値として設定することにより、より正確な制御を行うことができる。
【０１０６】
なお、実施の形態５においては、無効噴射時間τｖｎの算出を、図４、図５の算出ルーチンに従って算出する場合について説明した。しかしこの発明はこれに限るものではなく、図６、７の算出ルーチンに従って算出するものであってもよい。
【０１０７】
なお、例えば、実施の形態５においてステップＳ５１０を実行することにより「バッテリ電圧検出手段」が実現する。
【０１０８】
以上の実施の形態において各要素の個数、数量、量、範囲等の数に言及した場合、特に明示した場合や原理的に明らかにその数に特定される場合を除いて、その言及した数に限定されるものではない。また、実施の形態において説明する構造や、方法におけるステップ等は、特に明示した場合や明らかに原理的にそれに特定される場合を除いて、この発明に必ずしも必須のものではない。
【図面の簡単な説明】
【０１０９】
【図１】この発明の実施の形態１のシステムを説明するための模式図である。
【図２】この発明の実施の形態１のシステムを説明するための模式図である。
【図３】燃料噴射量と、燃料噴射弁との関係を表すグラフである。
【図４】この発明の実施の形態１において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図５】この発明の実施の形態１において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図６】この発明の実施の形態２において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図７】この発明の実施の形態２において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図８】この発明の実施の形態４において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図９】この発明の実施の形態４において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図１０】この発明の実施の形態５において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【図１１】この発明の実施の形態５において制御装置が実行する制御のルーチンを説明するためのフローチャートである。
【符号の説明】
【０１１０】
２  内燃機関
４  ピストン
６  燃焼室
８  点火プラグ
１０  クランク角センサ
１２  吸気ポート
１４  吸気バルブ
１６  吸気マニホルド
１６０  主管
１６１〜１６４  枝管
１８１〜１８４  燃料噴射弁
２０  スロットルバルブ
２２  エアフロメータ
２４  排気ポート
２６  排気バルブ
２８  排気マニホルド
２８０  主管
２８１〜２８４  枝管
３０１〜３０４、３２  空燃比センサ
３４  三元触媒
３６  触媒コンバータ
３８  排気管
４０  制御装置
【図１】
2007023836.tif 000003
【図２】
2007023836.tif 000004
【図３】
2007023836.tif 000005
【図４】
2007023836.tif 000006
【図５】
2007023836.tif 000007
【図６】
2007023836.tif 000008
【図７】
2007023836.tif 000009
【図８】
2007023836.tif 000010
【図９】
2007023836.tif 000011
【図１０】
2007023836.tif 000012
【図１１】
2007023836.tif 000013