(57)【要約】【課題】ガスセンサの出力値のバラツキを考慮して、気筒間インバランス割合が異常であるか否かをオンボードで検知する多気筒内燃機関の気筒間インバランス異常検知方法を提供すること。【解決手段】多気筒内燃機関の運転条件が所定条件を満たすか否かが判断される（Ｓ１１０）。所定条件を満たすと判断された場合に（Ｓ１１０：ＹＥＳ）、ガスセンサの出力値が取得される（Ｓ１３０）。多気筒内燃機関と、ガスセンサとを用いて予め実測された変化の割合であって、気筒間インバランス割合の特定量変化に対するガスセンサの出力値の振幅の変化の割合に基づき設定された補正量を用いてガスセンサの出力値が補正された場合の、ガスセンサの出力値の振幅が取得される（Ｓ１４０からＳ１８０）。振幅に基づいて、気筒間インバランス割合が、基準閾値よりも大きいと判断される場合が、気筒間インバランス異常として検知される（Ｓ１９０：ＹＥＳ）。【選択図】図９
2012149550.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を備える内燃機関である多気筒内燃機関の排気通路に配置されたガスセンサの出力値に基づき、前記複数の気筒間の空燃比のバラツキの度合いである気筒間インバランス割合が過大となっている場合を、気筒間インバランス異常として検知する多気筒内燃機関の気筒間インバランス異常検知方法であって、
前記多気筒内燃機関の運転条件が所定条件を満たすか否かを判断する判断工程と、
前記判断工程において、前記多気筒内燃機関の前記運転条件が前記所定条件を満たすと判断された場合に、前記ガスセンサの出力値を取得する出力値取得工程と、
前記多気筒内燃機関と、前記ガスセンサとを用いて予め実測された変化の割合であって、前記気筒間インバランス割合の特定量変化に対する前記ガスセンサの前記出力値の振幅の変化の割合に基づき設定された補正量を用いて前記ガスセンサの前記出力値を補正した場合の、前記ガスセンサの前記出力値の振幅を取得する振幅取得工程と、
前記振幅取得工程において取得された前記振幅に基づいて、前記気筒間インバランス割合が、前記気筒間インバランス割合に関する基準となる閾値である基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知する異常検知工程と
を備えることを特徴とする多気筒内燃機関の気筒間インバランス異常検知方法。
【請求項２】
複数の気筒を備える内燃機関である多気筒内燃機関の排気通路に配置されたガスセンサの出力値に基づき、前記複数の気筒間の空燃比のバラツキの度合いである気筒間インバランス割合が過大となっている場合を、気筒間インバランス異常として検知する多気筒内燃機関の気筒間インバランス異常検知方法であって、
前記多気筒内燃機関の運転条件が所定条件を満たすか否かを判断する判断工程と、
前記判断工程において、前記多気筒内燃機関の前記運転条件が前記所定条件を満たすと判断された場合に、前記ガスセンサの出力値の振幅を取得する振幅取得工程と、
前記多気筒内燃機関と、前記ガスセンサとを用いて予め実測された変化の割合であって、前記気筒間インバランス割合の特定量変化に対する前記ガスセンサの前記出力値の振幅の変化の割合及び当該変化の割合に基づき設定された値の少なくともいずれかと、前記振幅取得工程で取得された前記振幅とに基づき、前記気筒間インバランス割合が、前記気筒間インバランス割合が異常であるか否かを判断する基準となる前記気筒間インバランス割合に関する閾値である基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知する異常検知工程と
を備えることを特徴とする多気筒内燃機関の気筒間インバランス異常検知方法。
【請求項３】
前記異常検知工程では、前記基準閾値及び前記基準閾値に対応する閾値であって、前記ガスセンサの前記出力値の振幅に関する閾値である対応閾値の少なくともいずれかを、前記変化の割合に基づき補正した値である補正閾値の少なくともいずれかと、前記振幅取得工程で取得された前記振幅とに基づき、前記気筒間インバランス割合が、前記基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知することを特徴とする請求項２に記載の多気筒内燃機関の気筒間インバランス異常検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒を備える内燃機関である多気筒内燃機関において、気筒間インバランス割合が過大となっている場合を検知する、多気筒内燃機関の気筒間インバランス異常検知方法に関する。
【背景技術】
【０００２】
従来、自動車に搭載されている内燃機関では、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち、空燃比の制御が行われている。具体的には、内燃機関では、内燃機関の排気通路に設けられたガスセンサの出力値に基づき空燃比が検知され、検知された空燃比が目標とする空燃比に一致するようにフィードバック制御が実施されている。
【０００３】
多気筒内燃機関では、通常全気筒に対し同一の制御量を用いて空燃比制御が実行される。ところが、多気筒内燃機関では、空燃比制御が実行された場合にも、種々の理由によって、実際の空燃比が気筒間でばらつくことがある。実際の空燃比が気筒間でばらつく理由としては、例えば、一部の気筒でのインテークマニフォールドのリーク、一部の気筒の燃料噴射系の異常、が挙げられる。多気筒内燃機関において、気筒間における空燃比のバラツキの度合い（以下、「気筒間インバランス割合」ともいう。）が過大になった場合、排気エミッションを悪化させてしまう可能性がある。特に、自動車に搭載されている多気筒内燃機関では、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間インバランス割合が過大となっていることが、車載状態（オンボード）で検知されることが求められている。そこで、気筒間インバランス割合が過大になったか否かを判断する機能を備えた多気筒エンジンの空燃比制御装置が提案されている（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−５１００３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、同じ構成を有するガスセンサ（換言すれば、同一品番のガスセンサ）であっても、製造誤差及び排気管に対するガスセンサの装着方向等に起因して、ガスセンサの出力値にはバラツキが生じることがある。一方、同じ構成を有する多気筒内燃機関であっても、製造誤差に起因して、気筒間インバランス割合にはバラツキがあることがある。したがって、多気筒内燃機関の気筒間インバランス異常をオンボードで検知する場合には、以下のような問題がある。すなわち、気筒間インバランス割合の検知に用いられるガスセンサのバラツキが大きいほど、気筒間インバランス割合が過大になっているか否かを判断するのに用いる閾値を設定することが困難である。
【０００６】
本発明は、上記課題を解決するためになされたものであり、ガスセンサの出力値のバラツキを考慮しつつ、気筒間インバランス割合が異常であるか否かをオンボードで検知する多気筒内燃機関の気筒間インバランス異常検知方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、第１態様の多気筒内燃機関の気筒間インバランス異常検知方法は、複数の気筒を備える内燃機関である多気筒内燃機関の排気通路に配置されたガスセンサの出力値に基づき、前記複数の気筒間の空燃比のバラツキの度合いである気筒間インバランス割合が過大となっている場合を、気筒間インバランス異常として検知する多気筒内燃機関の気筒間インバランス異常検知方法であって、前記多気筒内燃機関の運転条件が所定条件を満たすか否かを判断する判断工程と、前記判断工程において、前記多気筒内燃機関の前記運転条件が前記所定条件を満たすと判断された場合に、前記ガスセンサの出力値を取得する出力値取得工程と、前記多気筒内燃機関と、前記ガスセンサとを用いて予め実測された変化の割合であって、前記気筒間インバランス割合の特定量変化に対する前記ガスセンサの前記出力値の振幅の変化の割合に基づき設定された補正量を用いて前記ガスセンサの前記出力値を補正した場合の、前記ガスセンサの前記出力値の振幅を取得する振幅取得工程と、前記振幅取得工程において取得された前記振幅に基づいて、前記気筒間インバランス割合が、前記気筒間インバランス割合に関する基準となる閾値である基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知する異常検知工程と
を備えている。
【０００８】
インバランス割合の変化に対するガスセンサの出力値の振幅の変化は、原点を通る１次直線に近似可能である。したがって、ガスセンサの出力値の振幅から、気筒間インバランス割合を推定可能である。しかし、インバランス割合の変化に対するガスセンサの出力値の振幅の変化の割合は、同一の構成を有するガスセンサ間でバラツキがあることがある。これに対し、第１態様の多気筒内燃機関の気筒間インバランス異常検知方法では、ガスセンサの出力値の振幅に含まれる、ガスセンサ個体間の出力値のバラツキの影響を、ガスセンサ個体の変化の割合を用いて算出された補正量を用いて低減させる。ガスセンサ個体の変化の割合とは、ガスセンサと、内燃機関とを用いて予め実測したインバランス割合の特定量変化に対するガスセンサの出力値の振幅の変化の割合である。したがって、第１態様の多気筒内燃機関の気筒間インバランス異常検知方法によれば、ガスセンサ個体間の出力値のバラツキを考慮しつつ、気筒間インバランス割合が異常であるか否かをオンボードで検知することができる。
【０００９】
第２態様の多気筒内燃機関の気筒間インバランス異常検知方法は、複数の気筒を備える内燃機関である多気筒内燃機関の排気通路に配置されたガスセンサの出力値に基づき、前記複数の気筒間の空燃比のバラツキの度合いである気筒間インバランス割合が過大となっている場合を、気筒間インバランス異常として検知する多気筒内燃機関の気筒間インバランス異常検知方法であって、前記多気筒内燃機関の運転条件が所定条件を満たすか否かを判断する判断工程と、前記判断工程において、前記多気筒内燃機関の前記運転条件が前記所定条件を満たすと判断された場合に、前記ガスセンサの出力値の振幅を取得する振幅取得工程と、前記多気筒内燃機関と、前記ガスセンサとを用いて予め実測された変化の割合であって、前記気筒間インバランス割合の特定量変化に対する前記ガスセンサの前記出力値の振幅の変化の割合及び当該変化の割合に基づき設定された値の少なくともいずれかと、前記振幅取得工程で取得された前記振幅とに基づき、前記気筒間インバランス割合が、前記気筒間インバランス割合が異常であるか否かを判断する基準となる前記気筒間インバランス割合に関する閾値である基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知する異常検知工程とを備えている。
【００１０】
ガスセンサの出力値の振幅には、複数のガスセンサ間の出力値のバラツキの影響が含まれる。第２態様の多気筒内燃機関の気筒間インバランス異常検知方法では、このバラツキの影響を、ガスセンサ個体の変化の割合及び変化の割合に基づき設定された値を用いて考慮して、気筒間インバランス割合に異常があるか否かを判断する。したがって、第２態様の多気筒内燃機関の気筒間インバランス異常検知方法によれば、ガスセンサの出力値のバラツキを考慮して、気筒間インバランス割合が異常であるか否かをオンボードで検知することができる。
【００１１】
第２態様の多気筒内燃機関の気筒間インバランス異常検知方法において、前記異常検知工程では、前記基準閾値及び前記基準閾値に対応する閾値であって、前記ガスセンサの前記出力値の振幅に関する閾値である対応閾値の少なくともいずれかを、前記変化の割合に基づき補正した値である補正閾値の少なくともいずれかと、前記振幅取得工程で取得された前記振幅とに基づき、前記気筒間インバランス割合が、前記基準閾値よりも大きいと判断される場合を、前記気筒間インバランス異常として検知してもよい。
【００１２】
この場合の多気筒内燃機関の気筒間インバランス異常検知方法では、ガスセンサの出力値の振幅に含まれる、複数のガスセンサ間の出力値のバラツキの影響を、ガスセンサ個体の変化の割合を用いて補正閾値を算出することによって低減させる。したがって、多気筒内燃機関の気筒間インバランス異常検知方法によれば、ガスセンサの出力値のバラツキを考慮して、気筒間インバランス割合が異常であるか否かをオンボードで検知することができる。
【図面の簡単な説明】
【００１３】
【図１】内燃機関１００の排気系周りの概略的な構成を示す図である。
【図２】センサ制御装置４の概略的な構造を示す説明図である。
【図３】ガスセンサ１の出力値の振幅（ｍＡ）に対する気筒間インバランス割合（％）を表すグラフである。
【図４】第１の実施形態の補正量算出処理のフローチャートである。
【図５】図４に示す補正量算出処理で実行される振幅取得処理のフローチャートである。
【図６】内燃機関１００のクランク角（度）と、ガスセンサ１の出力値（ｍＡ）との経時変化を示すグラフである。
【図７】内燃機関１００の回転数が１０００（ｒｐｍ）であり、インテークマニフォールドの圧力が−４０（ｋＰａ）である場合のガスセンサ１の出力値の振幅（ｍＡ）に対する燃料増加率（％）を表すグラフである。
【図８】内燃機関１００の回転数が１５００（ｒｐｍ）であり、インテークマニフォールドの圧力が−４０（ｋＰａ）である場合のガスセンサ１の出力値の振幅（ｍＡ）に対する燃料増加率（％）を表すグラフである。
【図９】第１の実施形態の異常検知処理のフローチャートである。
【図１０】第２の実施形態の閾値補正処理のフローチャートである。
【図１１】ガスセンサ１の出力値の振幅（ｍＡ）に対する気筒間インバランス割合（％）を表すグラフである。
【図１２】第２の実施形態の異常検知処理のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を具体化したセンサ制御装置の第１及び第２の実施形態について、図面を参照して順に説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いるものであり、記載している装置の構成及びフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。以下の説明において、図２の上下方向、左右方向をそれぞれ、ガスセンサ１の左右方向、上下方向として説明する。
【００１５】
第１及び第２の実施形態のセンサ制御装置４は、物理的構成と電気的構成が同じである。まず、図１を参照して、多気筒内燃機関（以下、単に「内燃機関」という。）１００と、内燃機関１００に取り付けられるセンサ制御装置４との概略的な構成について説明する。内燃機関１００は、直列に配置された４つの気筒１１１から１１４を備え、ガソリンを燃料として用いて駆動するエンジンである。内燃機関１００には、内燃機関１００から排出される排気ガスを車外に放出するための排気管１０２が接続されている。センサ制御装置４は、ガスセンサ１と、ＥＣＵ３とを備える。ガスセンサ１は、排気管１０２の経路上に取り付けられる。ガスセンサ１は、排気管１０２に流通するガスを検知対象ガスとする全領域空燃比センサ（酸素センサ）である。
【００１６】
ＥＣＵ３は、ガスセンサ１とは離れた位置に配置されており、バッテリ８０から電力の供給を受けて駆動する。ガスセンサ１と、ＥＣＵ３とは、ハーネス９１（信号線）を介して電気的に接続されている。ガスセンサ１は、ＥＣＵ３によって通電制御されるとともに、ＥＣＵ３に対して検知対象ガス中の酸素濃度に応じた電気信号を出力する。ＥＣＵ３は、ガスセンサ１の出力に基づき空燃比を算出し、内燃機関１００の空燃比のフィードバック制御を実行する。また、ＥＣＵ３は、内燃機関１００を駆動するための各種制御を実行する。
【００１７】
次に、図２を参照して、ガスセンサ１について説明する。ガスセンサ１は、検知素子１０と、ヒータ素子４０と、ハウジング（図示省略）とを備える。検知素子１０は、固体電解質体１１，１３と、絶縁基体１２，２４とを、固体電解質体１３，絶縁基体１２，固体電解質体１１，絶縁基体２４の順に積層した構造を有する。固体電解質体１１，１３と、絶縁基体１２，２４と、後述する絶縁基体１７，１８とは、いずれも細長い板状に形成されており、図２ではガスセンサ１の長手方向と直交する断面を模式的に示している。固体電解質体１１，１３は、イットリアを安定化剤に用いた部分安定化ジルコニアを主成分とする材料によって形成され、酸素イオン伝導性を有する。絶縁基体１２，２４は、アルミナを主成分とする材料によって形成される。ヒータ素子４０は、固体電解質体１１，１３の早期活性化と、固体電解質体１１，１３の活性の安定性維持とのために、固体電解質体１３に積層されている。ハウジングは、検知素子１０と、ヒータ素子４０とを内部に保持し、排気管１０２（図１参照）に取り付けられる。以下、ガスセンサ１が備える検知素子１０と、ヒータ素子４０とについて詳述する。
【００１８】
まず、図２を参照して、検知素子１０の構成を説明する。検知素子１０は、検知室２３と、拡散律速部１５と、酸素ポンプセル２７（以下、「Ｉｐセル２７」という。）と、酸素分圧検知セル２８（以下、「Ｖｓセル２８」という。）と、絶縁基体１２，２４とを備える。検知室２３は、排気管１０２（図１参照）内を流通する排気ガスが導入される小空間である。検知室２３は、固体電解質体１１と、固体電解質体１３と、拡散律速部１５と、絶縁基体１２とによって囲まれている。拡散律速部１５は、検知室２３の幅方向（図１の紙面左右方向）の両端にある。拡散律速部１５は、多孔質状の部材（例えば、アルミナ）によって形成され、検知室２３内に検知対象ガスを導入する際の流入量を規制する。
【００１９】
Ｉｐ１セル２７は、固体電解質体１１と、多孔質性の電極１９，２０とを備える。電極１９，２０は、Ｐｔを主成分とする材料によって形成される。Ｐｔを主成分とする材料としては、例えば、Ｐｔと、Ｐｔ合金と、Ｐｔ及びセラミックスを含むサーメットとが挙げられる。電極２０は、固体電解質体１１の面のうち、検知室２３側の面に設けられている。電極１９は、固体電解質体１１の面のうち、検知室２３側の面とは反対側の面に設けられている。すなわち、検知素子１０の積層方向において、一対の電極１９，２０は、固体電解質体１１を挟むように配置されている。固体電解質体１１の上面には、絶縁基体２４が積層されている。絶縁基体２４は、電極１９の上部となる位置に開口２９を有し、開口２９には保護層２５が設けられている。保護層２５は、セラミックス（例えば、アルミナ）からなる多孔質性の部材によって形成され、電極１９が検知対象ガスに含まれるシリコン等の被毒成分によって劣化しないように、電極１９の上面を覆っている。
【００２０】
Ｉｐ１セル２７は、電極１９，２０間に電流が供給されることで、電極１９が接する雰囲気（検知素子１０の外部の雰囲気）と電極２０が接する雰囲気（検知室２３内の雰囲気）との間で、酸素の汲み出し及び汲み入れ（いわゆる酸素ポンピング）を行う。
【００２１】
Ｖｓセル２８は、固体電解質体１３と、多孔質性の電極２１，２２とを備える。固体電解質体１３は、検知室２３を挟んで固体電解質体１１と対向するように配置されている。電極２１は、固体電解質体１３の面のうち、検知室２３側の面に設けられている。電極２２は、固体電解質体１３の面のうち、検知室２３側の面とは反対側の面に形成されている。すなわち、検知素子１０の積層方向において、一対の電極２１，２２は、固体電解質体１３を挟むように配置されている。電極２１，２２は、上述のＰｔを主成分とする材料によって形成される。
【００２２】
Ｖｓセル２８は、主として、固体電解質体１３によって隔てられた２つの雰囲気（電極２１と接する検知室２３内の雰囲気と、電極２２と接する雰囲気）間の酸素分圧差に応じて起電力を発生する。また、電極２２は、絶縁基体１７によって排気管１０２（図１参照）を流通するガスと接触しないように閉塞されている。そして、電極２２は、詳細は後述するが、検知室２３内の酸素濃度の検知のための基準となる酸素濃度を維持する酸素基準電極として機能する。
【００２３】
次に、図２を参照して、ヒータ素子４０の構成を説明する。ヒータ素子４０は、検知素子１０（特に、固体電解質体１１，１３）を加熱して活性化させる。ヒータ素子４０は、発熱抵抗体２６と、絶縁基体１７，１８とを備える。発熱抵抗体２６は、白金を主成分とする材料によって構成され、絶縁基体１７と絶縁基体１８との間に挟まれている。絶縁基体１７，１８は、アルミナを主成分とする材料によって形成される。
【００２４】
次に、図２を参照して、ＥＣＵ３の構成について説明する。ＥＣＵ３は、自動車に搭載された内燃機関１００と、ガスセンサ１とを制御する。図２のように、ＥＣＵ３は、マイクロコンピュータ９と、センサ制御回路としてのＡＳＩＣ（特定用途向け集積回路）３０と、ヒータ電圧供給回路５０とを構成主体としている。マイクロコンピュータ９は、公知の構成のＣＰＵ６と、ＲＯＭ７と、ＲＡＭ８と、ＥＥＰＲＯＭ５とを搭載したマイコンチップである。ＲＯＭ７には、ＣＰＵ６が実行する各種制御プログラムと、制御プログラム実行時に参照される各種パラメータとが記憶されている。
【００２５】
図２のように、ＡＳＩＣ３０は、Ｉｐ検知回路３１と、Ｉｐ駆動回路３２と、抵抗検知回路３３と、電圧出力回路３４と、基準電圧比較回路３５と、Ｉｃｐ供給回路３６とを備える。
【００２６】
Ｉｐ検知回路３１は、Ｉｐセル２７の電極１９，２０間に流れる電流Ｉｐを電圧変換し、変換した電圧を検知信号としてマイクロコンピュータ９に出力する。抵抗検知回路３３は、定期的に、予め規定された値の電流をＶｓセル２８に通電し、その通電に応答して得られる電圧変化量（電圧Ｖｓの変化量）を検知するための回路である。抵抗検知回路３３によって検知された電圧Ｖｓの変化量を示す値は、マイクロコンピュータ９に出力される。マイクロコンピュータ９では、抵抗検知回路３３から出力された値と、ＲＯＭ７に記憶されている電圧Ｖｓの変化量とＶｓセル２８のインピーダンスＲｉとが予め関連付けられたテーブルとに基づいて、Ｖｓセル２８のインピーダンスＲｉが求められる。Ｖｓセル２８のインピーダンスＲｉは、Ｖｓセル２８の温度、すなわち、検知素子１０全体の温度と相関があり、マイクロコンピュータ９は、Ｖｓセル２８のインピーダンスＲｉに基づいて、ガスセンサ１（検知素子１０）の温度を検知する。
【００２７】
電圧出力回路３４は、Ｖｓセル２８の電極２１，２２間に生ずる起電力Ｖｓを検知する。基準電圧比較回路３５は、予め定められた基準電圧と、電圧出力回路３４において検知された起電力Ｖｓとの比較を行い、比較結果をＩｐ駆動回路３２に出力する。Ｉｐ駆動回路３２は、基準電圧比較回路３５から出力された比較結果に基づき、Ｉｐセル２７の電極１９，２０間に供給する電流Ｉｐの大きさ及び向きを制御する。Ｉｃｐ供給回路３６は、Ｖｓセル２８の電極２２から電極２１へ向かって流れる微小電流Ｉｃｐを供給する。
【００２８】
ヒータ電圧供給回路５０は、ＣＰＵ６から指示に応じて、発熱抵抗体２６の両端に印加される電圧Ｖｈを公知のＰＩ制御のもと生成したり、発熱抵抗体２６の両端に一定の電圧（例えば、１２Ｖ）を印加したりすることで、発熱抵抗体２６を発熱させる。
【００２９】
図２に示すように、ＥＣＵ３には、内燃機関１００を制御するための各種センサと、各種装置とが電気的に接続されている。各種センサには、例えば、内燃機関１００のクランク角（クランク軸の回転状態であるクランク角）を検知するクランク角度センサ１０４と、冷却水の温度を検知する水温センサ１０６とがある。各種装置には、例えば、ＥＣＵ３から指示された量の燃料を、ＥＣＵ３から指示された気筒に供給する燃料噴射装置１０３がある。ＥＣＵ３には、さらに、内燃機関１００のインバランス割合の異常を報知する故障警告灯１０５が電気的に接続されている。
【００３０】
次に、図２を参照して、ガスセンサ１を用いて検知対象ガスの酸素濃度（排気ガスの空燃比）を検知する動作について簡単に説明する。なお、検知対象ガスの酸素濃度を検知する際には、基準電圧比較回路３５で比較対象となる基準電圧（例えば４５０ｍＶ）が設定される。まず、Ｉｃｐ供給回路３６は、Ｖｓセル２８の電極２２から固体電解質体１３を介して電極２１に向けて微小電流Ｉｃｐを供給する。この通電により、検知対象ガス中の酸素は、酸素イオンとなって、固体電解質体１３を介して電極２１側から電極２２側に移動する（汲み込まれる）。Ｖｓセル２８に電流Ｉｃｐが供給されると、酸素イオンは電極２１側から電極２２側に移動して電極２２自身及び周囲に酸素が蓄積され、検知対象ガス中の酸素濃度に応じた起電力Ｖｓを発生させるための基準となる酸素濃度雰囲気が生成される。電圧出力回路３４は、両電極２１，２２間の起電力Ｖｓを検知し、検知した起電力Ｖｓを基準電圧比較回路３５に出力する。基準電圧比較回路３５は、起電力Ｖｓと基準電圧とを比較し、比較結果をＩｐ駆動回路３２に出力する。Ｉｐ駆動回路３２は、基準電圧比較回路３５による比較結果に基づいて、起電力Ｖｓが基準電圧となるように、Ｉｐセル２７の電極１９，２０間に供給する電流Ｉｐの大きさ及び向きを制御する。これにより、Ｉｐセル２７による検知室２３内への酸素の汲み入れ又は検知室２３からの酸素の汲み出しが行われる。
【００３１】
なお、検知室２３内に流入した排気ガスの空燃比が理論空燃比よりもリッチであった場合、Ｉｐセル２７において外部から検知室２３内に酸素を汲み入れるように、電極１９，２０間に供給される電流Ｉｐの大きさや向きが制御される。一方、検知室２３内に流入した排気ガスの空燃比が理論空燃比よりもリーンであった場合、Ｉｐセル２７において検知室２３から外部へ酸素を汲み出すように、電極１９，２０間に供給される電流Ｉｐの大きさ及び向きが制御される。このときの電流Ｉｐは、Ｉｐ検知回路３１において電圧変換され、電圧変換された信号は、検知信号としてマイクロコンピュータ９に出力される。マイクロコンピュータ９（ＣＰＵ６）は、検知信号に基づいて検知対象ガス中に含まれる酸素濃度対応値、ひいては空燃比を算出する。
【００３２】
次に、図３を参照して、第１の実施形態の内燃機関１００の異常検知処理の原理について概説する。気筒間インバランス割合（以下、単に「インバランス割合」ともいう。）（％）が増減する理由には、上述のように、内燃機関での燃焼に関わる種々の要因が挙げられる。本実施形態では特に、燃料供給量に着目し、インバランス割合を、燃料供給量ズレを起こしている１つの気筒の燃料供給量Ｑｉと、燃料供給量ズレを起こしていないその他の気筒の燃料供給量Ｑｓとの差を、燃料供給量Ｑｓで除した値の百分率であると定義する。
【００３３】
インバランス割合が０（％）であり、且つ、ガスセンサ１の出力値のバラツキが０である場合、内燃機関１００の１燃焼サイクル（本実施形態では、クランク角７２０度サイクル）での空燃比の変動は０である。インバランス割合が大きくなると、インバランス割合が小さい場合に比べ、１燃焼サイクルでの空燃比の変動は大きくなる。すなわち、インバランス割合に対するガスセンサ１の出力値の振幅は、図３の直線２０２のように、原点を通る一次直線に近似される。
【００３４】
同じ構造を有する複数のガスセンサ１であっても、製造誤差及び排気管１０２に対するガスセンサ１の装着方向等に起因して、ガスセンサ１の出力値にバラツキが生じることがある。例えば、同じ構造を有する複数のガスセンサ１間には、個体差があることがある。また、排気管１０２に対するガスセンサ１の装着方向が複数のガスセンサ１間で異なると、ガスセンサ１のハウジング（図示省略）の外部から検知素子１０周囲に排気ガスが到達するのに要する時間（排気ガスの到達速度）も複数のガスセンサ１間で異なることがある。このため、複数のガスセンサ１間でガス応答性にバラツキが生じることがある。ガス応答性とは、検知対象ガス（例えば、排気ガス）中の特定ガス（例えば、酸素）の濃度が変化してから、実際にガスセンサによってその変化が検知されるまでの時間に関する指標である。ガス応答性が高いガスセンサほど、ガス応答性が低いガスセンサに比べ、上記時間が短い。同じインバランス割合を有する内燃機関１００から排出される排気ガスを検知対象ガスとした場合、一般に、ガス応答性が高いガスセンサ１では、ガス応答性が低いガスセンサ１に比べ、ガスセンサ１の出力値の振幅は大きくなる。このため、ガスセンサ１個体の変化の割合を表す直線の傾きは、ガスセンサ１のガス応答性に応じて、複数のガスセンサ１間で異なる。具体的には、図３のように、ガス応答性が高いガスセンサ１に対応する直線２０１の傾きは、ガス応答性が低いガスセンサ１に対応する直線２０３の傾きに比べ急である。したがって、複数のガスセンサ１において、出力値の振幅が同じであったとしても、複数のガスセンサ１個体間の出力値のバラツキに起因して、各出力値の振幅から推定されるインバランス割合は異なることがある。
【００３５】
一方、内燃機関１００の空燃比が予め設定された目標値となるように制御される場合（以下、「通常制御時」ともいう。）のインバランス割合は、製造誤差等に起因して、０（％）よりも大きい内燃機関１００個体毎に異なる値を示す。しかし、ＥＣＵ３は、通常制御時のインバランス割合の内燃機関１００個体間のバラツキを認識できない。このため、以下のような問題が生じることがある。複数の内燃機関１００において同じ目標値を用いて通常制御が実行された場合の平均的なインバランス割合がＪ（％）であるとする。ＥＣＵ３は、点２０４及び点２０６のように、通常制御時におけるインバランス割合がＪ（％）からズレてしまっていたとしても、直接そのズレ量を認識することができない。ズレ量が許容量ではない場合は、インバランス割合に異常がある場合であり、排気エミッションが悪化した車両の走行を未然に防止するため、オンボードで検知されることが好ましい。
【００３６】
そこで、本実施形態の異常検知処理では、上述のようなガスセンサ１個体間の出力値のバラツキと、内燃機関１００のインバランス割合のバラツキとを考慮して、以下のように内燃機関１００のインバランス割合の異常を検知する。まず、本実施形態の異常検知処理に先立って、補正量算出処理が実行される。補正量算出処理は、例えば、ガスセンサ１と内燃機関１００とを備える自動車の製造検査時または出荷検査時に実行される。補正量算出処理では、ガスセンサ１個体の変化の割合と、ＲＯＭ７に記憶された基準割合とに基づき、ガスセンサ１の出力値の補正量が算出される。
【００３７】
ガスセンサ１個体の変化の割合は、インバランス割合の異なる２つの条件を意図的に作り出し、各条件で得られる出力値の振幅に基づき算出される。本実施形態の補正量算出処理では、２つの条件として、インバランス割合が互いに異なる第１条件と、第２条件とが設定される。インバランス割合が異なる条件は、複数の気筒のうちの特定の気筒である特定気筒に供給される燃料の供給条件を意図的に変えることによって設定される。特定気筒は、複数の気筒のうちの予め任意に選択された１つの気筒であればよく、例えば、４つの気筒１１１から１１４のうち、気筒１１１が特定気筒として特定される。第１条件は、内燃機関１００の空燃比が予め設定された目標値となるように内燃機関１００の運転条件が制御される場合の燃料の供給条件である。第１条件では、通常、すべての気筒に対して同じ供給量の燃料が供給されるように燃料噴射装置１０３が制御されるが、実際には各気筒に供給される供給量にバラツキがあり得る。第２条件は、特定気筒に対しては、第１条件で内燃機関１００が制御された場合の燃料の供給量を特定割合変化させた量の燃料を供給する条件であり、複数の気筒のうちの特定気筒以外の気筒に対しては、第１条件で内燃機関１００が制御された場合に供給される量の燃料を供給する条件である。
【００３８】
ＲＯＭ７に記憶された基準割合は、基準となる変化の割合である。基準割合は、例えば、複数のガスセンサ１のそれぞれの変化の割合を考慮して予め設定されればよい。本実施形態の基準割合は、同じ構成を有する複数のガスセンサ１と、テスト用の内燃機関１００とを用いて、各ガスセンサ１について算出した上記変化の割合の平均値である。基準割合は、例えば、図３の直線２０２の傾きで示される。
【００３９】
ガスセンサ１の出力値の補正量は、ガスセンサ１の出力値のバラツキを低減させるために設定される。本実施形態の補正量は、基準割合をガスセンサ１個体の変化の割合で除した値である。本実施形態の異常検知処理では、ガスセンサ１の出力値と、補正量との積を算出することによって、ガスセンサ１の出力値を補正する。前述のように、インバランス割合に対するガスセンサ１の出力値の振幅は、原点を通る一次直線に近似可能であるので、補正後のガスセンサ１の出力値は、基準割合を有するガスセンサ１の出力値とほぼ等しい。すなわち、上述のように算出した補正量を用いてガスセンサ１の出力値が補正されることによって、補正前のガスセンサ１の出力値に比べ、ガスセンサ１の出力値のバラツキが低減される。補正量算出処理において算出された補正量は、ＥＥＰＲＯＭ５に記憶される。
【００４０】
本実施形態の異常検知処理は、製造検査または出荷検査後に（つまり、実走行時に）内燃機関１００が駆動され、且つ、内燃機関１００の運転条件が所定条件を満たす場合に実行される。異常検知処理では、第１条件で内燃機関を運転させた場合のガスセンサ１の出力値を補正量を用いて補正した場合の振幅が、線分２０８で表す閾値ＴＨ２よりも大きい場合を、インバランス割合が異常であると判断する。第１条件は、上述の通常制御時の内燃機関１００の燃料供給条件である。閾値ＴＨ２は、基準閾値ＴＨ１に対応する閾値であって、ガスセンサ１の出力値の振幅に関する閾値である。基準閾値ＴＨ１は、インバランス割合に異常があるか否かの基準となる、インバランス割合に関する閾値である。閾値ＴＨ２は、基準閾値ＴＨ１と、基準割合と、補正後のガスセンサ１の出力値のバラツキとを含む条件を考慮して設定される。本実施形態では、閾値ＴＨ２を表す線分２０８は、基準閾値ＴＨ１を表す線分２０９と、直線２０２との交点を通る。以下、閾値ＴＨ２を対応閾値ＴＨ２ともいう。本実施形態では、補正後の振幅が、対応閾値ＴＨ２よりも大きいか否かが判断されることによって、間接的に、通常制御時のインバランス割合が、基準閾値ＴＨ１よりも大きいか否かが判断される。
【００４１】
次に、図３から図６を参照して、第１の実施形態の補正量算出処理について説明する。第１の実施形態の補正量算出処理は、例えば、内燃機関１００と、センサ制御装置４とを備える自動車の製造検査時または出荷検査時に、作業者によって開始の指示が入力された場合に起動される。図４のフローチャートに示す各処理を実行させるプログラムは、図２のＲＯＭ７に記憶されており、ＣＰＵ６によって実行される。具体例として、インバランス割合に対するガスセンサ１の出力値の振幅が図３の直線２０１の関係となるガスセンサ１（以下、「ガスセンサＡ」ともいう。）及び内燃機関１００（以下、「内燃機関Ａ」ともいう。）の組み合わせと、図３の直線２０３の関係となるガスセンサ１（以下、「ガスセンサＢ」ともいう。）及び内燃機関１００（以下、「内燃機関Ｂ」ともいう。）の組み合わせとのそれぞれで、補正量算出処理が実行された場合について説明する。
【００４２】
図４に示すように、補正量算出処理が起動された場合、まず、作業者によって内燃機関１００を始動させる指示が入力されたか否かが判断される（Ｓ５）。内燃機関１００を始動させる指示が入力されていない場合（Ｓ５：ＮＯ）、ＣＰＵ６は指示が入力されるまで待機する。内燃機関１００を始動させる指示が入力された場合（Ｓ５：ＹＥＳ）、内燃機関１００及びガスセンサ１が始動される（Ｓ１０）。
【００４３】
次に、作業者によって第１条件での内燃機関１００の運転を開始させる指示が入力されたか否かが判断される（Ｓ１５）。第１条件での内燃機関１００の運転を開始させる指示が入力されていない場合（Ｓ１５：ＮＯ）、ＣＰＵ６は指示が入力されるまで待機する。第１条件での内燃機関１００の運転を開始させる指示が入力された場合（Ｓ１５：ＹＥＳ）、内燃機関１００の運転条件に第１条件が設定され、第１条件での内燃機関１００の運転が開始される（Ｓ２０）。ステップＳ２０では、例えば、燃料噴射装置１０３が制御され、内燃機関１００が備える４つの気筒のそれぞれに第１条件に従って燃料が供給される。第１条件における、燃料供給条件以外の条件は、基準割合を求めた条件と同じ条件であることが好ましい。第１条件における、燃料供給条件以外の条件としては、例えば、内燃機関１００の冷却水の温度が８０（℃）以上になる条件が挙げられる。冷却水の温度は、水温センサ１０６によって検知される。
【００４４】
次に、内燃機関１００の冷却水の温度が８０（℃）以上となり、且つ、ガスセンサ１が活性化して、内燃機関１００の空燃比を検出可能な状態になった後、振幅取得処理が実行される（Ｓ３０）。ステップＳ３０では、第１条件で内燃機関１００が制御された場合の、ガスセンサ１の出力値の振幅ＡＭ１が算出される。図５を参照して、振幅取得処理の詳細を説明する。図５に示すように、振幅取得処理ではまず、所定長さのサンプリング期間中、所定のサンプリング周期でガスセンサ１の出力値と、内燃機関１００のクランク角度とが取得され、取得された出力値は、出力値の取得時間及びクランク角度と対応付けられてＲＡＭ８に記憶される（Ｓ３２）。サンプリング期間及びサンプリング周期は適宜設定されればよい。本実施形態では、サンプリング期間を４０（ｓｅｃ）とし、サンプリング周期を１（ｍｓｅｃ）とする。クランク角度は、クランク角度センサ１０４から出力される。ガスセンサ１の出力値の取得時間は、少なくとも、ガスセンサ１の出力値の取得順序を示す。Ｎ番目（Ｎは自然数）に取得されたガスセンサ１の出力値をＩｐ（Ｎ）とし、Ｉｐ（Ｎ）と対応付けられるクランク角度をＣＡ（Ｎ）とする。サンプリング期間、サンプリング周期、及び出力値の取得時間は、例えば、図示しないタイマ回路によって管理される。ガスセンサ１の出力値Ｉｐ（Ｎ）は、必要に応じてローパスフィルタ（Ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒ）に供され、ノイズが除去される。
【００４５】
次に、ガスセンサ１の出力値の移動平均が算出され、算出された移動平均はＲＡＭ８に記憶される（Ｓ３４）。ステップＳ３４では、ガスセンサ１の出力値の移動平均として、順次、１燃焼サイクル単位期間に含まれるガスセンサ１の出力値を対象にして、当該単位期間の出力値の平均値が算出される。１燃焼サイクル単位期間にＭ個（Ｍは自然数）のガスセンサ１の出力値が含まれる場合、Ｎ番目の移動平均Ｉｐｖ（Ｎ）は、式（１）によって表される。
Ｉｐｖ（Ｎ）＝{Ｉｐ（Ｎ）＋Ｉｐ（Ｎ＋１）＋Ｉｐ（Ｎ＋２）＋・・・＋Ｉｐ（Ｎ＋Ｍ−１）}／Ｍ                            ・・・式（１）
Ｉｐｖ（Ｎ）は、クランク角度ＣＡ（Ｎ）と対応付けられてＲＡＭ８に記憶される。
【００４６】
次に、ステップＳ３４で算出された移動平均を用いて、内燃機関１００の燃焼要因のバラツキに起因すると推定される、ガスセンサ１の出力値のバラツキが補正される（Ｓ３６）。内燃機関１００の燃焼要因のバラツキとしては、例えば、吸気装置によって吸入される空気量と、気筒間に分配される空気量と、燃料噴射装置１０３によって供給される燃料の量とのそれぞれの、燃焼サイクル毎のバラツキが挙げられる。ステップＳ３６では、例えば、前述のようにＮ番目の移動平均Ｉｐｖ（Ｎ）が算出された場合、補正後のＮ番目のガスセンサ１の出力値Ｃ（Ｎ）は式（２）に従って算出される。
Ｃ（Ｎ）＝Ｉｐ（Ｎ＋Ｌ）−Ｉｐｖ（Ｎ）                        ・・・式（２）
Ｌは、Ｍよりも小さい自然数である。Ｉｐ（Ｎ＋Ｌ）は、Ｎ番目のガスセンサ１の出力値Ｉｐ（Ｎ）が取得されてから、１／２燃焼サイクル後に取得されるガスセンサ１の出力値である。すなわち、クランク角度ＣＡ（Ｎ）と、クランク角度ＣＡ（Ｎ＋Ｌ）とは、約３６０度異なる。補正後のＮ番目のガスセンサ１の出力値Ｃ（Ｎ）は、クランク角度ＣＡ（Ｎ＋Ｌ）と対応付けられる。
【００４７】
次に、補正後のＮ番目のガスセンサ１の出力値Ｃ（Ｎ）について、燃焼サイクル毎に振幅が算出され、算出された振幅はＲＡＭ８に記憶される（Ｓ３８）。図６に示すように、ガスセンサ１の出力値の経時変化は、１燃焼サイクルを１周期として変動する波形を示す。ステップＳ３８では、１燃焼サイクル毎に、出力値の最大値と最小値とが取得される。図６において、クランク角度が０度である場合を１燃焼サイクルの開始点とし、クランク角度が７２０度である場合を終了点とした場合、矢印２３１から２３３で示す期間のそれぞれが、１燃焼サイクルに対応する。矢印２３１に示す期間では、最大値として出力値２１１が、最小値として出力値２２１がそれぞれ取得される。矢印２３２に示す期間では、最大値として出力値２１２が、最小値として出力値２２２がそれぞれ取得される。矢印２３３に示す期間では、最大値として出力値２１３が、最小値として出力値２２３がそれぞれ取得される。以下、同様である。次に、同一の燃焼サイクルに含まれる最大値と最小値との差が燃焼サイクル毎のガスセンサ１の出力値の振幅として算出される。
【００４８】
次に、ステップＳ３８で算出された燃焼サイクル毎の出力値の振幅の平均値が算出され、算出された平均値は、現在の内燃機関１００の運転条件（第１条件）に対応する振幅ＡＭｎ（図４のステップ３０で実行される振幅処理では、ｎ＝１）としてＲＡＭ８に記憶される（Ｓ４０）。ガスセンサ１がガスセンサＡである場合、振幅ＡＭ１として図３の点２０４で示される振幅が取得され、ガスセンサ１がガスセンサＢである場合、振幅ＡＭ１として点２０６で示される振幅が取得されたものとする。前述のように、同じ条件で内燃機関１００が制御された場合にも、内燃機関１００個体間で実際のインバランス割合が異なるため、この時点では、ＡＭ１に基づき第１条件に対応するインバランス割合を推定することはできない。振幅取得処理は以上で終了する。
【００４９】
図４の補正量算出処理の説明に戻り、ステップＳ３０の次に、第１条件に対応する振幅が取得されたか否かが判断される（Ｓ４５）。第１条件に対応する振幅が取得されていない場合（Ｓ４５：ＮＯ）、ＣＰＵ６は、振幅が取得されるまで待機する。第１条件に対応する振幅が取得された場合（Ｓ４５：ＹＥＳ）、作業者によって第２条件での内燃機関１００の運転を開始させる指示が入力されたか否かが判断される（Ｓ４８）。第２条件での内燃機関１００の運転を開始させる指示が入力されていない場合（Ｓ４８：ＮＯ）、ＣＰＵ６は指示が入力されるまで待機する。第２条件での内燃機関１００の運転を開始させる指示が入力された場合（Ｓ４８：ＹＥＳ）、内燃機関１００の運転条件に第２条件が設定され、第２条件での内燃機関１００の運転が開始される（Ｓ５０）。
【００５０】
ステップＳ５０では、特定気筒（例えば、気筒１１１）に対しては、第１条件における燃料の供給量（以下、「第１供給量ＦＳ１」ともいう。）を特定割合変化させた量（以下、「第２供給量ＦＳ２」ともいう。）の燃料を供給するための指示が燃料噴射装置１０３に出力される。特定割合の変化は、予め任意に設定された変化であればよく、例えば、１０％の増加である。複数の気筒のうちの特定気筒以外の気筒（例えば、気筒１１２から１１４）に対しては、第１条件における燃料の供給量を供給するための指示が燃料噴射装置１０３に出力される。第１供給量ＦＳ１及び第２供給量ＦＳ２は、内燃機関１００の燃焼要因のバラツキに起因して、実際に気筒に供給される量とは等しいとは限らない。複数の気筒のそれぞれに同じ量の燃料を供給するための指示が出力されたとしても、実際に各気筒に供給される量が等しいとは限らない。第２条件における、燃料供給量以外の条件は、基準割合を求めた条件と同じ条件であることが好ましい。
【００５１】
次に、振幅取得処理が実行され、第２条件で内燃機関１００が制御された場合の、ガスセンサ１の出力値の振幅ＡＭ２が算出される（Ｓ６０）。ステップＳ６０の処理は、基本的にステップＳ３０と同様であるので説明を省略する。ガスセンサ１がガスセンサＡである場合、第２条件に対応する振幅ＡＭ２として図３の点２０５で示される振幅が取得され、ガスセンサ１がガスセンサＢである場合、振幅ＡＭ２として点２０７で示される振幅が取得されたものとする。この時点では、第２条件に対応するインバランス割合は推定できない。
【００５２】
次に、インバランス割合の変化に対するガスセンサ１の出力値の振幅の変化の割合（傾き）が算出され、算出された変化の割合はＲＡＭ８及びＥＥＰＲＯＭ５に記憶される（Ｓ７０）。変化の割合は、振幅ＡＭ１と、振幅ＡＭ２とを用いた、式（３）に基づき算出される。
変化の割合＝（ＡＭ２−ＡＭ１）／{（第２条件でのインバランス割合）−（第１条件でのインバランス割合）}                              ・・・式（３）
式（３）において、分母は、燃料の供給量の特定割合変化させた量に実質的に起因するインバランス割合の差に該当する。したがって、式（３）の分母は、特定割合Ｋ（例えば、１０％）に等しい。ガスセンサ１個体の変化の割合を算出することによって、ガスセンサ１に固有なインバランス割合に対するガスセンサ１の出力値の振幅を表す一次直線式が得られる。したがって、この時点では、ガスセンサ１の出力値の振幅と、直線式とに基づき、出力値の振幅に対応するインバランス割合を推定可能である。
【００５３】
次に、ＲＯＭ７に記憶されている基準割合が取得され、取得された基準割合はＲＡＭ８に記憶される（Ｓ８０）。本実施形態の基準割合は、上述のように複数のガスセンサ１を用いて予め設定され、ＲＯＭ７に記憶されている。次に、基準割合を、ガスセンサ１個体の変化の割合で除した値が補正量として算出され、算出された補正量はＥＥＰＲＯＭ５に記憶される（Ｓ９０）。補正量算出処理は以上で終了する。以上のように、ＣＰＵ６は、補正量算出処理を実行する。
【００５４】
［評価試験］
第１の実施形態の補正量算出処理に従って算出される補正量を用いてガスセンサ１の出力値を補正した場合に、ガスセンサ１の出力値のバラツキが低減されるか否かを確認する評価試験を行った。評価試験方法は以下の通りである。上記の同じ構成を有する１２個のガスセンサ１のそれぞれを、直列４気筒のテストエンジン（図示省略）の排気管（図示省略）の経路上に取りつけた。排気管には、テストエンジンの各気筒から排出される排気ガスが流通する。テストエンジンが備える４つの気筒をそれぞれ＃１から＃４で表す。
【００５５】
テストエンジンの運転条件は、以下の条件とした。試験１では、テストエンジンの回転数を１０００（ｒｐｍ）、インテークマニフォールド（図示省略）の圧力を−４０（ｋＰａ）、テストエンジンの冷却水の温度を８０（℃）以上とした。試験２では、テストエンジンの回転数を１５００（ｒｐｍ）、インテークマニフォールドの圧力を−４０（ｋＰａ）、テストエンジンの冷却水の温度を８０（℃）以上とした。
【００５６】
試験１及び２における各気筒に対する燃料の供給条件に関して、以下のように、第１条件及び第２条件を設定した。第１条件では、＃１で表される気筒に対しては、通常制御時の燃料供給条件における燃料の供給量の１２０％の量を供給するための指示が燃料噴射装置１０３に出力される。また、第１条件では、＃２から＃４のそれぞれで表される気筒に対しては、通常制御時の燃料供給条件における燃料の供給量を供給するための指示が燃料噴射装置１０３に出力される。＃１で表される気筒と、＃２から＃４のそれぞれで表される気筒とで燃料の供給量を変えているのは、以下の理由による。すなわち、複数の気筒のそれぞれに対して、同じ第１供給量の燃料を供給する指示が出力されても、内燃機関１００の製造誤差等に起因して、実際に各気筒に供給される燃料にはバラツキがあり得る。したがって、現実には第１条件に対応するインバランス割合は０（％）ではないため、現実の条件に近づけるため、上述のように第１条件を設定した。
【００５７】
一方、第２条件では、＃１で表される気筒に対しては、通常制御時の燃料供給条件における燃料の供給量の１３０％の量を供給するための指示が燃料噴射装置１０３に出力される。また、第２条件では、＃２から＃４のそれぞれで表される気筒に対しては、通常制御時の燃料供給条件における燃料の供給量を供給するための指示が燃料噴射装置１０３に出力される。したがって、評価試験における特定割合は８．３％である。
【００５８】
試験１及び２の各条件で、補正量算出処理を行い、１２個のガスセンサ１のそれぞれについてガスセンサ１個体の変化の割合を算出した。１２個の変化の割合の平均値を基準割合として求めた。補正量を用いて補正した場合のガスセンサ１の出力値の振幅に基づき、インバランス割合に対するガスセンサ１の出力値の振幅を再計算した。試験１の結果を図７に示し、試験２の結果を図８に示す。図７及び図８において、補正前のインバランス割合に対するガスセンサ１の出力値の振幅を、黒い四角及び実線で示し、補正後のインバランス割合に対するガスセンサ１の出力値の振幅を、白丸及び破線で示す。図７及び図８に示すように、テストエンジンの回転数が異なる試験１及び試験２の条件ではいずれも、直線の分布範囲は、実線で示す補正前に対応する直線に比べ、破線で示す補正後に対応する直線の方が狭かった。
【００５９】
より具体的には、試験１及び試験２において、第１条件における振幅の最大値と平均値との差を平均値で除した値の百分率＋Δ（％）と、第１条件における振幅の最小値と平均値との差を平均値で除した値の百分率−Δ（％）とはそれぞれ次の値であった。試験１では、補正前の＋Δ（％）は２２．８であり、−Δ（％）は−２１．０であったのに対し、補正後の＋Δ（％）は５．３であり、−Δ（％）は−６．５であった。試験２では、補正前の＋Δ（％）は２８．１であり、−Δ（％）は−２８．６であったのに対し、補正後の＋Δ（％）は１２．６であり、−Δ（％）は−１３．１であった。以上より、第１の実施形態の補正量算出処理に従って算出される補正量でガスセンサ１の出力値を補正した場合に、ガスセンサ１の出力値のバラツキが低減されることが確認された。
【００６０】
次に、図９を参照して、第１の実施形態の異常検知処理を説明する。第１の実施形態の異常検知処理は、例えば、内燃機関１００と、センサ制御装置４とが起動された場合に起動され、内燃機関１００と、センサ制御装置４とのいずれかの駆動が終了される場合に終了する。図９のフローチャートに示す各処理を実行させるプログラムは、図２のＲＯＭ７に記憶されており、ＣＰＵ６によって実行される。具体例として、上述のガスセンサＡ及び内燃機関Ａの組み合わせと、ガスセンサＢ及び内燃機関Ｂの組み合わせとのそれぞれで、異常検知処理が実行された場合について説明する。
【００６１】
図９に示すように、異常検知処理ではまず、内燃機関１００の運転条件が所定条件を満たすか否かが判断される（Ｓ１１０）。所定条件は、予め設定されＲＯＭ７に記憶されている。所定条件は、ガスセンサ１の出力値に基づき算出される空燃比の値が安定した値となる条件であることが好ましい。具体的には、所定条件として、内燃機関１００の回転数に関する条件と、吸入空気量に関する条件と、インテークマニフォールドの圧力に関する条件と、冷却水の温度に関する条件とから選択された１つ以上の条件が挙げられる。内燃機関１００の回転数に関する条件は、例えば、内燃機関１００の回転数が２０００から３０００（ｒｐｍ）の範囲にあることである。吸入空気量に関する条件は、例えば、吸入空気量が０．２から０．３（ｇ／ｓｔｒ）（ｓｔｒ：ストローク）の範囲にあることである。インテークマニフォールドの圧力に関する条件は、例えば、インテークマニフォールドの圧力が−６０から−４０（ｋＰａ）の範囲にあることである。冷却水の温度に関する条件は、例えば、冷却水の温度が８０（℃）以上であることである。冷却水の温度に関する条件は、所定の運動条件に含まれることが好ましい。
【００６２】
内燃機関１００の運転条件が、所定条件を満たす場合（Ｓ１１０：ＮＯ）、ＣＰＵ６は、内燃機関１００の運転条件が、所定条件を満たすまで待機する。内燃機関１００の運転条件が、所定条件を満たす場合（Ｓ１１０：ＹＥＳ）、ＥＥＰＲＯＭ５に記憶されている補正量が取得され、ＲＡＭ８に記憶される（Ｓ１２０）。補正量は、前述の補正量算出処理で予め実測された値である。次に、図５のステップＳ３２と同様に、ガスセンサ１の出力値が順次取得され、取得された出力値は、出力値の取得時間及びクランク角度と対応付けられてＲＡＭ８に記憶される（Ｓ１３０）。次に、ステップＳ１３０で取得された出力値が、ステップＳ１２０で取得された補正量を用いて補正され、補正後の出力値はＲＡＭ８に記憶される（Ｓ１４０）。ステップＳ１４０では、出力値と、補正量との積が補正後の出力値として算出される。
【００６３】
次に、図５のステップＳ３４及びステップＳ３６と同様に、１燃焼サイクル単位期間の移動平均が順次算出され（Ｓ１５０）、算出された移動平均を用いて、内燃機関１００の燃焼要因のバラツキに起因すると推定される、ガスセンサ１の出力値のバラツキが補正される（Ｓ１６０）。次に、図５のステップＳ３８及びステップＳ４０と同様に、燃焼サイクル毎に、ガスセンサ１の補正後の出力値の振幅が算出され（Ｓ１７０）、振幅の平均値がガスセンサ１の振幅として算出される（Ｓ１８０）。ステップＳ１８０において、ガスセンサＡの振幅として、図３の点２５１で表される値が算出され、ガスセンサＢの振幅として図３の点２５２で表される値が算出されたものとする。補正量を用いて補正しない場合のガスセンサＡの振幅は、点２４１で表される値であり、補正量を用いて補正しない場合のガスセンサＢの振幅は点２４２で表される値である。
【００６４】
次に、ステップＳ１８０で算出されたガスセンサ１の振幅が、対応閾値ＴＨ２よりも大きいか否かが判断される（Ｓ１９０）。図３の点２５１で表されるガスセンサＡの振幅は、対応閾値ＴＨ２以下である（Ｓ１９０：ＮＯ）。この場合、故障警告灯１０５が点灯されることなく、ステップＳ２１０の処理が実行される。図３の点２５２で表されるガスセンサＢの振幅は、対応閾値ＴＨ２よりも大きい（Ｓ１９０：ＹＥＳ）。この場合、内燃機関Ｂにインバランス割合の異常があることを報知するために、故障警告灯１０５が点灯された後（Ｓ２００）、ステップＳ２１０の処理が実行される。ステップＳ２１０では、センサ制御装置４を終了させる指示が入力されたか否かが判断される（Ｓ２１０）。センサ制御装置４を終了させる指示は、例えば、自動車のユーザによって入力させる内燃機関１００を停止させる指示である。センサ制御装置４を終了させる指示が入力されていない場合（Ｓ２１０：ＮＯ）、処理はステップＳ１１０に戻る。センサ制御装置４を終了させる指示が入力された場合（Ｓ２１０：ＹＥＳ）、異常検知処理は以上で終了する。
【００６５】
上記異常検知処理において、図９のステップＳ１１０は、本発明の「判断工程」に相当する。ステップＳ１３０は、本発明の「出力値取得工程」に相当する。ステップＳ１４０と、ステップＳ１５０と、ステップＳ１６０と、ステップＳ１７０と、ステップＳ１８０は、本発明の「振幅取得工程」に相当する。ステップＳ１９０と、ステップＳ２００とは、「異常検知工程」に相当する。
【００６６】
第１の実施形態の異常検知処理によれば、下記の効果が得られる。第１の実施形態の異常検知処理では、ガスセンサの出力値の振幅に含まれる、ガスセンサ個体間の出力値のバラツキの影響を、ガスセンサ１個体の変化の割合を用いて算出した補正量を用いて低減させる。具体的には、ガスセンサ１の出力値を補正量算出処理において予め算出（実測）した補正量を用いて補正した後のガスセンサの出力値は、基準割合を示すガスセンサの出力値とほぼ一致する。
【００６７】
例えば、図３に示す例において、内燃機関Ａが所定条件で運転されているときのインバランス割合はＴＨ１よりも小さい正常範囲の値であり、内燃機関Ｂが所定条件で運転されているときのインバランス割合はＴＨ１よりも大きい異常範囲の値であるとする。点２４１で示されるガスセンサＡの出力値の振幅は、点２４２で示されるガスセンサＢの出力値の振幅よりもわずかに大きい。すなわち、ガスセンサＡ及びガスセンサＢの振幅の大小関係は、対応するインバランス割合の大小関係と同じではない。上記の振幅に基づき内燃機関１００に異常があるか否かを判断する場合、ガスセンサＡの出力値の振幅と、ガスセンサＢの出力値の振幅とを区別する閾値を設定することは困難である。
【００６８】
これに対し、補正量を用いてガスセンサ１の出力値を補正した場合のガスセンサＡ及びガスセンサＢの振幅の大小関係は、対応するインバランス割合の大小関係と同じとなる。このため、補正量を用いてガスセンサ１の出力値を補正した場合の振幅に基づき内燃機関１００が正常であるか否かを判断する場合、補正前の振幅に基づきインバランス割合が正常であるか否かを判断する場合に比べ、基準閾値ＴＨ１（対応閾値ＴＨ２）の設定が容易である。すなわち、第１の実施形態の異常検知処理によれば、ガスセンサ１個体間の出力値のバラツキを考慮しつつ、インバランス割合が異常であるか否かをオンボードで検知することができる。
【００６９】
次に、図１０から図１２を参照して、第２の実施形態の異常検知処理について説明する。第１の実施形態では、異常検知処理に先立って、補正量算出処理が実行され、ガスセンサ１個体の変化の割合と、基準割合とから、ガスセンサ１の出力値の補正量を算出していた。第２の実施形態では、異常検知処理に先立って、閾値補正処理が実行され、ガスセンサ１個体の変化の割合と、基準割合とに基づき、対応閾値ＴＨ２が補正される。まず、図１０を参照して、第２の実施形態において実行される閾値補正処理について説明する。第２の実施形態の閾値補正処理は、例えば、内燃機関１００と、センサ制御装置４とを備える自動車の製造検査時または出荷検査時に、作業者によって開始の指示が入力された場合に起動される。図１０のフローチャートに示す各処理を実行させるプログラムは、図２のＲＯＭ７に記憶されており、ＣＰＵ６によって実行される。以下、図１１に示す第１の実施形態と同様の具体例を用いて、第２の実施形態の閾値補正処理を説明する。
【００７０】
図１０において、図４に示す第１の実施形態の補正量算出処理と同様の処理を行うステップには、同じステップ番号を付与している。図１０に示すように、第２の実施形態の閾値補正処理は、ステップＳ８０に代えてステップＳ８５が実行され、ステップＳ９０に代えてステップＳ９５が実行される点で、第１の実施形態の補正量算出処理とは異なる。第１の実施形態の補正量算出処理と同様な処理については説明を省略し、以下、第１の実施形態の補正量算出処理と異なる、ステップＳ８５及びステップＳ９５の処理について説明する。
【００７１】
ステップＳ８５では、ＲＯＭ７に記憶されている基準割合と対応閾値ＴＨ２とが取得され、ＲＡＭ８に記憶される（Ｓ８５）。ステップＳ９５では、ステップＳ７０で算出された変化の割合と、ステップＳ８５で取得された基準割合とにもとづき、対応閾値ＴＨ２が補正され、補正後の閾値である補正閾値ＴＨ２´は、ＥＥＰＲＯＭ５に記憶される（Ｓ９５）。ステップＳ９５では、例えば、式（４）に従って、補正閾値ＴＨ２´が算出される。
補正閾値ＴＨ２´＝対応閾値ＴＨ２＊（ステップＳ７０算出された変化の割合）／（ステップＳ８５で取得された基準割合）                              ・・・式（４）
ステップＳ９５の処理によって、ガスセンサＡに対する補正閾値ＴＨ２´に、図１１の線分３０８で示される値が設定される。ガスセンサＢに対する補正閾値ＴＨ２´に、線分３１８で示される値が設定される。本実施形態では、線分３０８は、線分２０９と、直線２０１との交点を通る。線分３１８は、線分２０９と、直線２０３との交点を通る。
【００７２】
次に、図１２を参照して、第２の実施形態の異常検知処理を説明する。第２の実施形態の異常検知処理は、例えば、内燃機関１００と、センサ制御装置４とが起動された場合に起動され、センサ制御装置４の駆動が終了される場合に終了する。図１２のフローチャートに示す各処理を実行させるプログラムは、図２のＲＯＭ７に記憶されており、ＣＰＵ６によって実行される。具体例として、上述のガスセンサＡ及び内燃機関Ａの組み合わせと、ガスセンサＢ及び内燃機関Ｂの組み合わせとのそれぞれで、異常検知処理が実行された場合について説明する。
【００７３】
図１２において、図９に示す第１の実施形態の異常検知処理と同様の処理を行うステップには、同じステップ番号を付与している。図１２に示すように、第２の実施形態の異常検知処理は、ステップＳ１２０及びステップＳ１４０が省略される点と、ステップＳ１５０に代えてステップＳ１５５が実行される点と、ステップＳ１６０に代えてステップＳ１６５が実行される点と、ステップＳ１７０に代えてステップＳ１７５が実行される点と、ステップＳ１８０に代えてステップＳ１８５が実行される点と、ステップＳ１９０に代えてステップＳ１９５が実行される点とにおいて、第１の実施形態の異常検知処理とは異なる。第１の実施形態と同様な処理については説明を簡略化又は省略して説明する。
【００７４】
第２の実施形態の異常検知処理では、ステップＳ１３０で取得された出力値に対して、ステップＳ１５０と、ステップＳ１６０と、ステップＳ１７０と、ステップＳ１８０と同様の処理が実行される（Ｓ１５５，Ｓ１６５，Ｓ１７５，Ｓ１８５）。ステップＳ１８５において、ガスセンサＡの振幅として、図１１の点２４１で表される値が算出され、ガスセンサＢの振幅として図１１の点２４２で表される値が算出されたものとする。
【００７５】
ステップＳ１９５では、ステップＳ１８５で算出されたガスセンサ１の出力値の振幅が、ＥＥＰＲＯＭ５に記憶された補正閾値ＴＨ２´よりも大きいか否かが判断される（Ｓ１９５）。補正閾値ＴＨ２´は、前述の閾値補正処理によって算出された値である。図１１の点２４１で示されるガスセンサＡの出力値の振幅は、線分３０８で表されるガスセンサＡに対する補正閾値ＴＨ２´以下である（Ｓ１９５：ＮＯ）。この場合、故障警告灯１０５が点灯されずに、ステップＳ２１０の処理が実行される。図１１の点２４２で示されるガスセンサＢの出力値の振幅は、線分３１８で表されるガスセンサＢに対する補正閾値ＴＨ２´よりも大きい（Ｓ１９５：ＹＥＳ）。したがって、内燃機関Ｂにインバランス割合の異常があることを報知するために、故障警告灯１０５が点灯された後（Ｓ２００）、ステップＳ２１０の処理が実行される。
【００７６】
上記第２の実施形態の異常検知処理において、図１２のステップＳ１１０は、本発明の「判断工程」に相当する。ステップＳ１３０と、ステップＳ１５５と、ステップＳ１６５と、ステップＳ１７５と、ステップＳ１８５とは、本発明の「振幅取得工程」に相当する。ステップＳ１９５と、ステップＳ２００とは、本発明の「異常検知工程」に相当する。
【００７７】
第２の実施形態の異常検知処理によれば、下記の効果が得られる。第２の実施形態の異常検知処理では、内燃機関１００が正常であるか否かを判断するためのガスセンサ１の出力値の振幅に関する閾値として、ガスセンサ１毎に設定された補正閾値ＴＨ２´を用いる。したがって、振幅と補正閾値ＴＨ２´とを比較して内燃機関１００が正常であるか否かを判断する場合、振幅と対応閾値ＴＨ２とを比較して内燃機関１００が正常であるか否かを判断する場合に比べ、閾値の設定が容易である。
【００７８】
本発明は、以上詳述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更が加えられてもよい。例えば、以下の（１）及び（２）の変形が適宜加えられてもよい。
【００７９】
（１）本発明は空燃比を検知可能な種々のガスセンサに適用可能である。インバランス割合の異常の検知対象となる多気筒内燃機関の用途、気筒数及び形式は、適宜変更されてよい。上記実施形態では、ＥＣＵ３において、補正量算出処理と、閾値補正処理と、異常検知処理とが実行されていたが、各処理の一部又は全部は、ＥＣＵ３とは別途設けられた制御装置において実行されてもよい。ＥＣＵ３は、ＡＳＩＣ３０を備えていたが、ＥＣＵ３と、ＡＳＩＣ３０とは別々に設けられてもよい。上記実施形態の異常検知処理に先だって実行される処理において算出される補正量、閾値、ガスセンサ１個体の変化の割合等を記憶する記憶手段は、不揮発性の記憶手段であればよい。
【００８０】
（２）異常検知処理の各処理は、必要に応じて適宜変更されてもよい。同様に、異常検知処理に先立って実行される、補正量算出処理及び閾値補正処理は適宜変更されてよい。例えば、特徴的な部分が組み合わされて実行されてもよい。具体的には、以下の（２−１）から（２−４）の変形が適宜加えられてもよい。
【００８１】
（２−１）異常検知処理において、ガスセンサ１と内燃機関１００とを用いて予め実測されたガスセンサ１個体の変化の割合に基づき、ガスセンサ１の出力値を補正する補正量が算出されてもよい。この場合、ガスセンサ１個体の変化の割合はＥＥＰＲＯＭ５等の記憶手段に記憶された値が参照されればよい。同様に、異常検知処理において、ガスセンサ１個体の変化の割合に基づき、閾値が補正されてもよい。
【００８２】
（２−２）ガスセンサ１個体の変化の割合を算出するための、内燃機関１００の運転条件は、インバランス割合の異なる複数の条件であればよく、条件の数は、上記実施形態の２に限定されない。同様に、内燃機関１００のインバランス割合異常を検知する処理に用いる、ガスセンサ１の出力値の振幅の数は、１以上であればよい。
【００８３】
（２−３）第２の実施形態では、図１０のステップＳ９５において対応閾値ＴＨ２を補正し、図１２のステップＳ１９５において、振幅と、補正閾値ＴＨ２´とが比較されていたが、これに限定されない。より具体的には、例えば、内燃機関１００のインバランス割合が異常であるか否かは、ガスセンサ１の出力値の振幅と、ガスセンサ１個体の変化の割合と、インバランス割合の異常があるか否かとの対応を記憶したマップを用いて判断されてもよい。この場合、例えば、次のようにインバランス割合の異常があるか否かが判断されればよい。まず、異常検知処理に先立って実行される処理において、図４のステップＳ５からステップＳ７０までの処理が実行され、ガスセンサ１個体の変化の割合がＥＥＰＲＯＭ５等の不揮発性の記憶手段に記憶されればよい。異常検知処理では、図１２のステップＳ１９５において、記憶手段に記憶されたガスセンサ１個体の変化の割合と、ステップＳ１８５で算出された出力値の振幅と、マップに記憶された対応関係とに基づき、インバランス割合が異常であるか否かが判断されればよい。
【００８４】
他の例では、例えば、内燃機関１００のインバランス割合が異常であるか否かは、ガスセンサ１の出力値の振幅と、ガスセンサ１個体の変化の割合とから推定されるインバランス割合と基準閾値とを比較して判断されてもよい。この場合、例えば、次のようにインバランス割合の異常があるか否かが判断されればよい。まず、異常検知処理に先立って実行される処理において、図４のステップＳ５からステップＳ７０までの処理が実行され、ガスセンサ１個体の変化の割合がＥＥＰＲＯＭ５等の不揮発性の記憶手段に記憶されればよい。異常検知処理では、図１２のステップＳ１９５において、記憶手段に記憶されたガスセンサ１個体の変化の割合と、ステップＳ１８５で算出された出力値の振幅とから推定されるインバランス割合と、基準閾値とを比較される。推定されるインバランス割合が基準閾値よりも大きい場合にインバランス割合が異常であると判断されればよい。
【００８５】
他の例では、補正閾値は、基準閾値及対応閾値の少なくともいずれかを、変化の割合に基づき補正した値であればよい。したがって、例えば、内燃機関１００のインバランス割合が異常であるか否かは、ガスセンサ１の出力値の振幅と、基準割合とから推定されるインバランス割合と、ガスセンサ１個体の変化の割合に基づき補正された基準閾値（補正閾値）とを比較して判断されてもよい。この場合、例えば、次のようにインバランス割合の異常があるか否かが判断されればよい。まず、異常検知処理に先立って実行される図１０の閾値補正処理において、ステップＳ５からステップＳ７０までの処理が実行され、ステップＳ８５では基準割合及び基準閾値ＴＨ１が取得される。ステップＳ９５では、ステップＳ７０で取得されたガスセンサ１個体の変化の割合と、基準割合とに基づき、基準閾値ＴＨ１が補正され、補正された基準閾値ＴＨ１は、補正閾値ＴＨ１´としてＥＥＰＲＯＭ５等の不揮発性の記憶手段に記憶される。図１１に例示するガスセンサＡについての具体例では、例えば、線分３０８と、直線２０２との交点を通り縦軸に平行な線分３０９で表される値が、ガスセンサＡの補正閾値ＴＨ１´として取得される。異常検知処理では、図１２のステップＳ１９５において、記憶手段に記憶されたガスセンサ１個体の変化の割合と、ステップＳ１８５で算出された出力値の振幅と、基準割合とから推定されるインバランス割合と、補正閾値とを比較される。推定されるインバランス割合が補正閾値よりも大きい場合にインバランス割合が異常であると判断されればよい。図１１に示すガスセンサＡについての具体例では、点３０４で表されるインバランス割合と、線分３０９で表される補正閾値ＴＨ１´とが比較され、インバランス割合は異常ではないと判断される。
【００８６】
（２−４）基準閾値は、インバランス割合の異常を検知する精度を考慮して適宜設定されればよい。また、基準閾値は、内燃機関１００の運転条件に応じて異なる値が設定されてもよい。より具体的には、内燃機関１００の冷却水の温度が８０（℃）以上であり、且つ、内燃機関１００の回転数（ｒｐｍ）が１０００以上１５００未満の範囲である第１の運転条件である場合と、内燃機関１００の冷却水の温度が８０（℃）以上であり、且つ、内燃機関１００の回転数（ｒｐｍ）が１５００以上から２０００未満の範囲である第２の運転条件である場合とで異なる基準閾値が設定されてもよい。この場合、例えば、次のように図９に例示する異常検知処理を変形して処理が実行されればよい。ステップＳ１１０では、内燃機関１００が第１の運転条件又は第２の運転条件で運転されているか否かが判断される。ステップＳ１９０では、内燃機関１００の運転条件に応じた基準閾値に対応する閾値と、ステップＳ１８０とが比較される。
【符号の説明】
【００８７】
１  ガスセンサ
３  ＥＣＵ
４  センサ制御装置
６  ＣＰＵ
７  ＲＯＭ
８  ＲＡＭ
９  マイクロコンピュータ
１００  多気筒内燃機関
１０３  燃料噴射装置
１０４  クランク角度センサ
１０６  水温センサ
【図１】
2012149550.tif 000003
【図２】
2012149550.tif 000004
【図３】
2012149550.tif 000005
【図４】
2012149550.tif 000006
【図５】
2012149550.tif 000007
【図６】
2012149550.tif 000008
【図７】
2012149550.tif 000009
【図８】
2012149550.tif 000010
【図９】
2012149550.tif 000011
【図１０】
2012149550.tif 000012
【図１１】
2012149550.tif 000013
【図１２】
2012149550.tif 000014