(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
空燃比センサを含む内燃機関において、空燃比検出センサにより検出される空燃比を目標空燃比に一致させるように制御するメインフィードバック制御と、酸素濃度検出手段により検出される酸素濃度に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御とを行う種類がある。
【0005】
このような種類の内燃機関において、サブフィードバック制御を行う場合、サブフィードバックを行うための補正量が予め設定されており、この補正量が最大値に達した際に内燃機関の故障を判定する制御になっていることがある。これは、補正量を最大値まで使いきるような場合、内燃機関から排出される排気ガスが悪化するためである。なお、上記特許文献1には、サブフィードバック補正の補正量が最大値に達した際に内燃機関の故障を判定することについて言及されていない。
【0006】
また、内燃機関に故障が発生した場合、作業者が修理を行う必要がある。上記サブフィードバックが過剰に進行する故障として、空燃比センサの非対称故障(リッチ→リーン、リーン→リッチいずれかの応答のみが遅れる故障)や気筒間の空燃比(A/F)ずれ故障が想定されるが、内燃機関のいずれの箇所が故障しているのかがわからず、修理する場合に故障を特定するのに多くの時間を要していた。したがって、内燃機関の故障が判定された場合に、故障を特定できる技術が求められている。
【0007】
本発明は、上記事情に鑑みてなされたものであり、内燃機関の故障を判定する場合に、内燃機関の故障を特定することができる内燃機関の故障判定装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の複数の気筒を備える内燃機関の故障判定装置は、前記内燃機関で燃焼された排気ガスを浄化する触媒の上流側に配置され、前記排気ガスの空燃比を検出する空燃比検出手段と、前記触媒の下流側に配置され、前記排気ガスの酸素濃度を検出する酸素濃度検出手段と、前記空燃比検出手段の出力を所定の空燃比を中央値としてリッチ側とリーン側とに強制振動させた際に酸素濃度検出手段により検出される酸素濃度に基づいて設定される補正量により前記中央値を補正する空燃比フィードバック制御とを行う制御手段と、を備える。また、前記制御手段は、前記空燃比フィードバック制御で用いる前記補正量が最大値に達したか否かを判定する補正量判定手段と、前記補正量が最大値に達したと判定した場合、前記空燃比検出手段から出力される空燃比が前記中央値を跨ぐ回数と、フィルタ処理を行ったフィルタ値を跨ぐ回数とを用いて前記内燃機関の故障を特定する故障特定手段と、を備えることを特徴とする。
【0009】
このように構成された故障判定装置は、フィードバック制御で用いる補正量が最大値に達したと判定した場合、中央値を跨ぐ回数と、フィルタ値を跨ぐ回数とを用いて内燃機関の故障の形態を特定することができる。
【0010】
また、前記制御手段は、所定期間内に前記中央値を跨ぐ回数が所定回数以上であるか否かを判定する回数判定手段を有し、前記回数判定手段で前記中央値を跨ぐ回数が所定回数を超えていると判定した場合、前記故障特定手段は、気筒間A/Fずれ故障が発生していると仮判定するようにしても良い。これにより、故障判定装置は、気筒間A/Fずれ故障が発生している可能性があることを判定することができる。
【0011】
また、前記制御手段は、所定期間内に前記中央値を跨ぐ回数が所定回数以上であるか否かを判定する回数判定手段を有し、前記回数判定手段で前記中央値を跨ぐ回数が所定回数以下であると判定した場合、前記故障特定手段は、前記空燃比検出手段または前記酸素濃度検出手段に故障が発生していると仮判定するようにしても良い。これにより、故障判定装置は、空燃比検出手段に故障が発生している可能性があることを判定することができる。
【0012】
さらに、故障判定装置の制御手段は、前記フィルタ値を跨ぐ回数を前記中央値を跨ぐ回数で除した除算値が所定値以上であるか否か判定する第1除算値判定手段を備え、前記第1除算値判定手段で前記除算値が前記所定値以上であると判定した場合、前記故障特定手段は、気筒間A/Fずれ故障が発生していると特定するようにしても良い。これにより、故障判定装置は、気筒間A/Fずれ故障であると特定することが可能になる。
【0013】
さらに、故障判定装置の制御手段は、前記フィルタ値を跨ぐ回数を前記中央値を跨ぐ回数で除した除算値が前記所定値以下であるか否か判定する第2除算値判定手段を備え、前記第2除算値判定手段で前記除算値が前記所定値以下であると判定した場合、前記故障特定手段は、前記空燃比検出手段または前記酸素濃度検出手段の故障であることを特定するようにしても良い。これにより、故障判定装置は、空燃比検出手段または酸素濃度算出手段の故障であると特定することが可能になる。
【発明の効果】
【0014】
本発明によれば、内燃機関の故障を判定する場合に、内燃機関の故障を特定することができる内燃機関の故障判定装置を提供することができる。
【発明を実施するための形態】
【0016】
以下、本発明の実施の各形態について図面を参照しながら説明する。
(第1の実施形態)
図1は、本第1の実施形態に係る内燃機関の故障判定装置の概略的な構成の一例を示す図である。
図1に示すように、内燃機関(エンジン)1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストンを往復移動させることにより動力を発生する。本第1の実施形態において、内燃機関1は、車両に搭載された多気筒内燃機関であり、例えば、直列4気筒の火花点火式内燃機関である。なお、本第1の実施形態においては、直列4気筒の火花点火式内燃機関の場合で説明するが、複数の気筒を備える内燃機関に本発明を適用することが可能である。
【0017】
内燃機関1のシリンダヘッドには、吸気ポートを開閉する吸気弁(図示省略)と、排気ポートを開閉する排気弁(図示省略)とが気筒ごとに配設されており、各吸気弁および各排気弁は、カムシャフト又はソレノイドアクチュエータによって開閉させられる。シリンダヘッドの頂部には、燃焼室3内の混合気を点火するための点火プラグ7が気筒ごとに取り付けられている。
【0018】
各気筒の吸気ポートは、気筒毎の枝管4を介して、サージタンク8に接続されている。サージタンク8の上流側には吸気管13が接続されており、吸気管13はエアクリーナ9に連結されている。
【0019】
吸気管13には、吸入空気量(単位時間当たりの吸入空気の量すなわち吸気流量)を検出するためのエアフローメータ5と、電子制御式のスロットルバルブ10とが組み込まれている。吸気ポート、枝管4、サージタンク8および吸気管13により、吸気通路が形成される。
【0020】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ(燃料噴射弁)12が、気筒ごとに配設される。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気となり、この混合気が吸気弁の開弁時に燃焼室3に吸入され、ピストンで圧縮され、点火プラグ7で点火燃焼させられる。
【0021】
各気筒の排気ポートは、排気マニフォールド14に接続される。排気マニフォールド14は、その上流部の気筒毎の枝管と、その下流部の排気集合部とからなる。排気集合部の下流側には、排気管6に接続されている。排気ポート、排気マニフォールド14および排気管6により排気通路が形成される。
【0022】
排気管6には、三元触媒からなる触媒11が取り付けられている。この触媒11は、例えばアルミナに、白金(Pt)、パラジウム(Ph)あるいはロジウム(Rd)などの貴金属を担持させたものである。触媒11により、一酸化炭素(CO)、炭化水素(HC)および窒素酸化物(NOx)等をまとめて触媒反応により浄化できるようになっている。
【0023】
排気ガスの空燃比を検出するために、触媒11の上流側に触媒上流空燃比センサ(以下、LAFSという:空燃比検出手段)17が設置され、かつ触媒11の下流側に下流酸素センサ(以下、RO2Sという:酸素濃度検出手段)18が設置されている。LAFS17は触媒11の直前の位置に設置され、RO2S18は触媒11の直後の位置に設置され、いずれも排気ガス中の酸素濃度に基づいて空燃比を検出する。
【0024】
点火プラグ7、スロットルバルブ10、およびインジェクタ12等は、制御手段としてのECU(Electronic Control Unit)20に接続されている。ECU20は、CPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。また、ECU20には、ストイキに対する出力反転回数NLAFaを記憶するメモリ20a、フィルタ値に対する出力反転回数NLAFbを記憶するメモリ20b、及び内燃機関1の故障を特定する際に用いられる閾値回数Xを記憶するメモリ20cを有している。出力反転回数NLAFa、出力反転回数NLAFbについての詳細は後述する。
【0025】
ECU20には、図示されるように、前述のエアフローメータ5、LAFS17、RO2S18のほか、内燃機関1のクランク角を検出するクランク角センサ16、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが接続されている。
【0026】
ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12等を制御し、点火時期、スロットル開度、燃料噴射量、および燃料噴射時期等を制御する。
【0027】
LAFS17は、広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。LAFS17は、検出した排気空燃比に概ね比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキ(理論空燃比、例えばA/F=14.6)であるときの出力電圧はVreff(例えば約2.3V)である。
【0028】
他方、RO2S18は、ストイキを境に出力値が急変する特性を持つ。排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はVrefr(例えば0.45V)である。RO2S18の出力電圧は所定の範囲(例えば0〜1(V))内で変化する。排気空燃比がストイキよりリーンのとき、RO2Sの出力電圧はストイキ相当値Vrefrより低くなり、排気空燃比がストイキよりリッチのとき、RO2Sの出力電圧はストイキ相当値Vrefrより高くなる。
【0029】
触媒11は、流入する排気ガスの空燃比(A/F)がストイキ近傍のときにNOx、HCおよびCOを同時に浄化するが、この三者を同時に高効率で浄化できる空燃比の幅は比較的狭くなっている。
【0030】
触媒11に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比制御(ストイキ制御)がECU20により実行される。この空燃比制御は、LAFS17によって検出された排気ガスの空燃比を所定の目標空燃比であるストイキに一致させるようなメインフィードバック制御(主空燃比制御)と、RO2S18の出力値に基づいて設定される補正量により燃料供給量を補正する制御、より詳細には、LAFS17の出力を所定の空燃比を中央値としてリッチ側とリーン側とに強制振動させた際にRO2S18により検出される酸素濃度に基づいて設定される補正量により中央値を補正するサブフィードバック制御(空燃比フィードバック制御)とからなる。このように2種類のフィードバック制御を行う目的は、検出素子の熱劣化に起因する誤差を生じやすいLAFS17の出力を、RO2S18の出力によって補正することにある。
【0031】
また、サブフィードバックは、排気ガスの熱によりLAFS17が劣化すること等により、LAFS17の出力にずれが生じる場合があるために実行され、LAFS17の出力値に生じたずれを、RO2S18を用いたサブフィードバック制御により補償して、LAFS17の出力値が実際の排気空燃比に対応した値となるように補正する。
【0032】
ここで、LAFS17の劣化が大きい場合は、つまり、LAFS17の出力と、RO2S18の出力との出力ずれが大きい場合は、サブフィードバックの補正量を最大値まで使いきってしまい、内燃機関1からの排気ガスが悪化するため、ECU20は、内燃機関1の故障を判定する。
【0033】
次に、内燃機関1の故障を判定する場合に、内燃機関1の故障を特定する方法について
図2を参照して説明する。車両走行中のLAFS17の出力(空燃比)は、既述のように所定の目標空燃比であるストイキに一致させようとする制御が行われる。言い換えれば、ストイキを中心として振動的に制御される。本発明では、この制御を利用して、内燃機関1の故障を特定する。
【0034】
図2の縦軸は、LAFS17から出力される空燃比(A/F)を示しており、横軸は時間Tを示している。また、
図2(a)は、内燃機関1が正常に作動、つまり、故障なく作動している場合のLAFS17出力の波形を示しており、
図2(b)は、LAFS17にリッチ→リーン、リーン→リッチいずれか片側の応答のみが悪化する故障が発生した場合の波形を示しており、
図2(c)は、気筒間A/Fずれ故障が発生した場合の波形を示している。また、ストイキと、各波形との交点の黒丸は、出力反転回数NLAFaのカウント箇所になっている。
【0035】
内燃機関1が故障なく作動している場合は、
図2(a)に示すように、LAFS17の出力波形は、均等な正弦波になる。また、内燃機関1にLAFS17の非対称故障が発生している場合は、
図2(b)に一例を示すように、出力反転回数NLAFaは、正常な場合(参照:
図2(a))と同じ、又はそれ以下の回数になる。さらに、内燃機関1に気筒間A/Fずれ故障が発生している場合、LAFS17の出力に高周波成分が発生し周期の短い乱れた波形になり、正常な場合(参照:
図2(a))と比較して、
図2(c)に示すように、交点が多数発生するようになっている。よって、出力反転回数
NLAFaは、正常な場合やLAFS17に故障が発生した場合(参照:
図2(b))と比較して多い回数になる。
【0036】
したがって、適切な閾値回数X(例えば、正常な場合に所定期間内で反転する回数より多い回数)をメモリ20cに設定し、このように設定される閾値回数X、既述の出力反転回数NLAFa、及び出力反転回数NLAFbを用いることにより、内燃機関1に故障が発生した場合に、内燃機関1のいずれの箇所に故障が発生しているかを特定することが可能になる。より具体的には、所定期間内にストイキに対する出力反転回数NLAFa(中央値を跨ぐ回数)が閾値回数X以上であるか否かを判定し、閾値回数Xを超えていると判定した場合、気筒間A/Fずれ故障が発生していると仮判定し、閾値回数Xを超えていないと判定した場合、LAFS17に故障が発生していると仮判定することができる。
【0037】
そして、このように内燃機関1の故障をLAFS17の故障であるか、内燃機関1の故障であるかを仮判定した後、LAFS17の故障であるか否か、気筒間A/Fずれ故障であるか否かを確定する処理を実行することができる。本第1の実施形態においては、出力反転回数NLAFb(フィルタ値を跨ぐ回数)を計数することにより、内燃機関1の故障を特定する処理が実行される。
【0038】
図3は、LAFS17の故障であることを確定する処理の一例を説明するための図である。
図3に示すように、センサ出力の一次遅れとなるフィルタ値を設定し、この設定したフィルタ値に対して、LAFS17から出力される空燃比が反転したか否かを示す出力反転回数NLAFbをカウントする。
図3に示すように、このときの出力反転回数NLAFbは、3回になっている。一方、
図2(b)の場合のストイキに対する出力反転回数
NLAFaは、4回である。
【0039】
LAFS17の故障であると仮判定した場合に、ストイキに対する出力反転回数NLAFaと、フィルタ値に対する出力反転回数NLAFbとを用いて、ECU20は、仮判定からLAFS17の故障であると特定することが可能になる。具体的には、本第1の実施形態において、フィルタ値に対する出力反転回数NLAFb(フィルタ値を跨ぐ回数)をストイキに対する出力反転回数NLAFa(中央値を跨ぐ回数)で除した値(以下、除算値という)が所定値以下であるか否か判定し、所定値以下であると判定した場合に、LAFS17の故障であることを特定する。所定値は、任意に設定することが可能である。
【0040】
図4は、内燃機関1の故障であることを確定する処理の一例を説明するための図である。
図4に示すように、センサ出力の一次遅れとなるフィルタ値を設定し、この設定したフィルタ値に対して、LAFS17から出力される空燃比が反転したか否かを示す出力反転回数NLAFbをカウントする。
図4に示すように、このときの出力反転回数NLAFbは、33回になっている。一方、
図2(c)の場合のストイキに対する出力反転回数
NLAFaは、9回である。
【0041】
内燃機関1の故障であると仮判定した場合に、ストイキに対する出力反転回数NLAFaと、フィルタ値に対する出力反転回数NLAFbとを用いて、ECU20は、仮判定から気筒間A/Fずれ故障であると特定することが可能になる。本第1の実施形態においては、具体的には、ECU20がフィルタ値に対する出力反転回数NLAFb(フィルタ値を跨ぐ回数)をストイキに対する出力反転回数NLAFa(中央値を跨ぐ回数)で除した値(以下、除算値という)が所定値以上であるか否か判定し、所定値以上であると判定した場合に、気筒間A/Fずれ故障が発生していると特定する。本実施形態において所定値は既述の所定値と同じ値である。
【0042】
次に、内燃機関1の故障を判定した場合に、故障を特定する処理について説明する。
図5は、ECU20が実行する内燃機関1の故障を特定する処理の一例を示すフローチャートである。この処理は、例えば、内燃機関1の動作中(車両走行中)に常時実行される。
【0043】
図5に示すように、ECU20は、サブフィードバック制御に用いる補正量が最大値を超えたか否かを判定する(ST201:補正量判定手段)。より詳細には、ECU20は、サブフィードバック制御に用いる補正量が、予め設定された補正を容認する最大値を超えたか否かを判定する。補正量の最大値を超えていないと判定した場合(ST201:NO)、処理は、終了する。
【0044】
また、補正量の最大値を超えていると判定した場合(ST201:YES)、言い換えると、内燃機関1に故障があると判定した場合、ECU20は、計数処理を実行する(ST102)。ここで、計数処理についてより詳細に説明する。
図6は、計数処理の詳細の一例を示すフローチャートである。本第1の実施形態においては、ストイキに対する出力反転回数NLAFa、及びフィルタ値に対する出力反転回数NLAFbの2つを順次計数する処理について説明する。なお、本第1の実施形態においては、出力反転回数NLAFは、サブフィードバック制御に用いる補正量が最大値を超えたときに計数される場合で説明するが、所定期間毎にカウントされるよう構成し、内燃機関1に故障があると判定したときに、ECU20がそのカウント値を参照するように構成しても良い。
【0045】
図6に示すように、ECU20は、フィルタ値を設定する(ST201)。フィルタ値は、既述のようにストイキに所定量加算させた値である。なお、フィルタ値は、予め設定しておくように構成しても良い。
【0046】
次に、ECU20は、LAFS17からの出力空燃比(A/F)を取得する(ST202)。次に、ECU20は、出力空燃比がストイキに対して反転したか否かを判定する(ST202)。車両走行中のLAFS17の出力空燃比は、ストイキを中心として振動的に制御されるため(参照:
図2)、ECU20は、出力空燃比がストイキに対して、正側から負側に、又は負側から正側に反転したか否かに基づいて、この判定を実行する。そして、出力反転したと判定した場合(ST203:YES)、ECU20は、出力が反転したことをメモリ20aに記憶する(ST204)。このようにして、ストイキに対する出力反転回数NLAFaがカウントされる。なお、出力判定していない場合(ST203:NO)、メモリ20aには、カウントされず、ステップST205の処理へ進む。
【0047】
ストイキに対する出力反転の処理(ST203,ST204)をした後、ECU20は、ステップST202で取得する出力空燃比がフィルタ値に対して反転したか否かを判定する(ST205)。ECU20は、LAFS17からの出力空燃比の値がフィルタ値に対して、正側から負側に、又は負側から正側に反転したか否かに基づいて、この判定を実行する。そして、出力反転したと判定した場合(ST205:YES)、ECU20は、出力が反転したことをメモリ20bに記憶する(ST206)。このようにして、ストイキに対する出力反転回数
NLAFaがカウントされる。なお、出力判定していない場合(ST205:NO)、メモリ20bには、カウントされず、ステップST207の処理へ進む。
【0048】
次に、ECU20は、LAFS17の出力値の取得を開始してから所定時間が経過したか否かを判定する(ST207)。所定時間が経過かしていないと判定した場合(ST207:NO)、処理はステップST202へ戻る。このようにして、所定時間内のストイキ、及びフィルタ値に対する出力反転回数NLAFa,NLAFbがそれぞれカウントされる。所定時間が経過したと判定した場合(ST207:YES)、ステップST102の計数処理が終了する。
【0049】
ここで、
図5に戻り説明を続ける。
ステップST102の計数処理が終了すると、ECU20は、ストイキに対する出力反転回数NLAFaが閾値回数Xを超えているか否かに基づいて、内燃機関1の故障を判定する処理を実行する(ST103:回数判定手段)。閾値回数Xを超えていると判定した場合(ST103:YES)、ECU20は、内燃機関1の故障が気筒間A/Fずれ故障であると仮判定する(ST104:故障特定手段)。
【0050】
次に、ECU20は、除算値を算出する(ST105)。ここで、除算値は、フィルタ値を跨ぐ回数をストイキを跨ぐ回数で除した値である。本第1の実施形態においては、メモリ20bに記憶されているフィルタ値に対する出力反転回数NLAFbをメモリ20aに記憶されるストイキに対する出力反転回数NLAFaで除した値である。
【0051】
次に、ECU20は、算出した除算値が所定値以上であるか否かを判定する(ST106:第1除算値判定手段)。ここで、所定値は、任意に設定することが可能である。
【0052】
除算値が所定値以上であると判定した場合(ST106:YES)、ECU20は、内燃機関1の故障を気筒間A/Fずれ故障であると確定し(ST107:故障特定手段)、ステップST112へ進む。また、除算値が所定値以上でないと判定した場合(ST106:NO)、ステップST107の処理は行われずに処理はステップST112へ進む。
【0053】
そして、ECU20は、判定結果を出力する(ST112)。より詳細には、ECU20は、除算値が所定値以上であると判定した場合(ST106:YES)、内燃機関1に気筒間A/Fずれが発生していることを出力し、除算値が所定値以上でないと判定した場合(ST106:NO)、内燃機関1に気筒間A/Fずれが発生している可能性があることを出力する。
【0054】
一方、ステップST103において、閾値回数Xを超えていないと判定した場合(ST103:NO)、ECU20は、内燃機関1の故障がLAFS17の故障であると仮判定する(ST108:故障特定手段)。そして、ECU20は、既述のステップST105の処理と同様に除算値を算出する(ST109)。
【0055】
次に、ECU20は、算出した除算値が所定値以下であるか否かを判定する(ST110:第2除算値判定手段)。除算値が所定値以下であると判定した場合(ST110:YES)、ECU20は、内燃機関1の故障をLAFS17の故障であると確定し(ST111:故障特定手段)、処理はステップST112へ進む。また、除算値が所定値以下でないと判定した場合(ST110:NO)、ステップST111の処理は行われずに処理はステップST112へ進む。
【0056】
そして、ECU20は、判定結果を出力する(ST112)。より詳細には、ECU20は、除算値が所定値以下であると判定した場合(ST110:YES)、LAFS17に故障が発生していることを出力し、除算値が所定値以下でないと判定した場合(ST110:NO)、LAFS17に故障が発生している可能性があることを出力する。
【0057】
判定結果の出力は、例えば、内燃機関1が搭載される車両の運転席の表示部に表示される。これにより、ドライバが内燃機関1の故障の形態を容易に把握することが可能になる。本第1の実施形態においては、内燃機関1の故障の形態は、内燃機関1に故障が発生していること、内燃機関1に故障が発生している可能性があること、LAFS17が故障していること、及びLAFS17に故障が発生している可能性があること、の4つである。
【0058】
したがって、ECU20は、サブフィードバック制御で用いる補正量が最大値に達したと判定した場合、ストイキに対する出力反転回数NLAFaと、フィルタ値に対する出力反転回数NLAFbとを用いて内燃機関1の故障を複数の故障の形態のうちから特定することができる。
【0059】
また、ECU20は、ストイキに対する出力反転回数NLAFaが閾値回数Xを超えていると判定した場合、気筒間A/Fずれ故障が発生していると仮判定することができる。これにより、ECU20は、気筒間A/Fずれ故障が発生している可能性があることを判定することができる。
【0060】
さらに、ECU20は、フィルタ値に対する出力反転回数NLAFbをストイキに対する出力反転回数NLAFaで除した除算値が所定値以上であると判定した場合、気筒間A/Fずれ故障が発生していると特定することができる。これにより、ECU20は、気筒間A/Fずれ故障であると特定することが可能になる。
【0061】
また、ECU20は、ストイキに対する出力反転回数NLAFaが閾値回数Xを超えていないと判定した場合、LAFS17に故障が発生していると仮判定することができる。これにより、ECU20は、LAFS17の故障が発生している可能性があることを判定することができる。
【0062】
さらに、ECU20は、フィルタ値に対する出力反転回数NLAFbをストイキに対する出力反転回数NLAFaで除した除算値が所定値以下であると判定した場合、LAFS17の故障であることを特定することができる。これにより、ECU20は、LAFS17の故障であると特定することが可能になる。
【0063】
(第2の実施形態)
本第2の実施形態が第1の実施形態と異なるのは、内燃機関1の故障の形態を特定する処理について、仮判定を行わずに、内燃機関1の故障を特定するようにした点である。したがって、以下では、第1の実施形態と異なる処理について詳細に説明することとする。なお、第1の実施形態と同一の構成には同一の符号を付し、説明は省略する。
【0064】
図7は、ECU20が実行する内燃機関1の故障を特定する処理の一例を示すフローチャートである。なお、ステップST201からST204と、第1実施形態のステップST101,ST102,ST105,ST106の処理と、第2の実施形態のステップST201からST204の処理とはそれぞれ同一の処理であるため(参照:
図5)、ステップST205の処理から説明をする。
【0065】
ステップST204において、除算値が所定値より大きいと判定した場合(ST204:YES)、ECU20は、内燃機関1の故障を気筒間A/Fずれ故障であると確定し(ST205)、ステップST207の処理へ進む。
【0066】
また、除算値が所定値以上でないと判定した場合(ST204:NO)、ECU20は、内燃機関1の故障をLAFS17の故障であると確定し(ST206)、ステップST207の処理へ進む。
【0067】
次に、ECU20は、結果を出力する(ST207)。除算値が所定値以上である場合は内燃機関1の故障が気筒間A/Fずれ故障であることを、所定値以下である場合はLAFS17に故障が発生していることを出力する。なお、除算値が所定値以上でもなく、所定値以下でもない場合は、故障が確定できないため、本第2の実施形態では、内燃機関1に故障が発生していることのみを出力する。
【0068】
このように構成しても、ECU20は、サブフィードバック制御で用いる補正量が最大値に達したと判定した場合、ストイキに対する出力反転回数NLAFaと、フィルタ値に対する出力反転回数NLAFbとを用いて内燃機関1の故障を複数の故障の形態のうちから特定することができる。
【0069】
なお、上記各実施形態では、気筒間A/Fずれ故障であるか、LAFS17の故障であるかに関する判定を所定値により行う場合で説明したが、これに限るものではなく、故障形態に応じて異なる所定値を用いるようにしても良い。また、上記各実施形態では、気筒間A/Fずれ故障であるか、LAFS17の故障であるかを判定する場合で説明したが、気筒間A/Fずれ故障であるか、LAFS17またはRO2S18の故障であるかを判定するようにしても良い。
【0070】
この発明は、上述した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述した実施の形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、上述した実施の形態に示される全構成要素から幾つかの構成要素を削除しても良い。さらに、異なる実施形態の構成を組み合わせてもよい。