(57)【要約】      （修正有）【課題】触媒装置の故障の原因の特定を容易とする。【解決手段】電子制御ユニット２６は、排気浄化用の触媒装置１９が排気通路１３に設置されたエンジン１０に適用され、エンジン１０が燃焼不良の状態にあるかを判定するとともに、燃焼不良の状態にあると判定したときに、触媒装置１９の故障の原因特定に用いるエンジン１０の状態量である特定用状態量の値を記憶装置３０に記録し、触媒装置の故障が確認されたときに、当該特定用状態量の値を用いてその原因を特定する。【選択図】図１
2020159338.tif 000002
【特許請求の範囲】
【請求項１】
排気浄化用の触媒装置が排気通路に設置されたエンジンに適用されるエンジン制御装置において、
前記エンジンの運転状態を示す状態量のうちで同エンジンの燃焼不良の原因の特定に利用可能なものを特定用状態量としたとき、
前記エンジンが燃焼不良の状態にあるかを判定する判定処理と、
前記判定処理により燃焼不良の状態にあると判定されたときに、そのときの前記特定用状態量の値を記録する記録処理と、
を行うエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気浄化用の触媒装置を備えるエンジンの制御を行うエンジン制御装置に関する。
【背景技術】
【０００２】
車載等のエンジンの多くには、排気中の有害成分を改質して浄化する排気用の触媒装置が排気通路に設置されている。エンジンの運転中に、失火等の燃焼不良が発生して、気筒内で燃え残った酸素と燃料とを含んだ排気が触媒装置に流入すると、触媒装置内でそれらが反応して、その反応による発熱で触媒装置が劣化することがある。そして、その劣化により、触媒装置が故障することが、すなわち十分な排気浄化能力を発揮できない状態となることがある。
【０００３】
従来、上記のような触媒装置の故障の診断に関する技術の提案がなされている。例えば特許文献１には、排気通路における触媒装置よりも上流側の部分、下流側の部分にそれぞれ設置された空燃比センサの出力に基づいて、触媒装置の故障を診断することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１６９４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、触媒装置の故障の原因の特定が求められることがある。こうした触媒装置の故障の原因特定を、診断により故障が確認された時点のエンジンの運転状態に基づいて行うことが考えられる。こうした場合にも、故障を招いた燃焼不良が、故障の確認の時点まで続いていれば、その時点のエンジンの運転状態から燃料不良の原因を、ひいては触媒装置の故障の原因を特定することが可能となる。
【０００６】
ただし、故障を招いた燃焼不良の発生から診断による故障の確認までに暫くの時間を要する場合がある。また、幾度もの燃焼不良の発生が触媒装置を徐々に劣化させて、最終的に故障に至らせる場合もある。そうした場合、診断により故障が確認された時点では、故障を招いた燃焼不良は既に過去のものとなっており、その時点のエンジンの運転状態に基づいても故障の原因を特定できないことがある。
【課題を解決するための手段】
【０００７】
上記課題を解決するエンジン制御装置は、排気浄化用の触媒装置が排気通路に設置されたエンジンに適用される。上記エンジン制御装置は、エンジンが燃焼不良の状態にあるかを判定する判定処理と、その判定処理により燃焼不良の状態にあると判定されたときに、そのときの特定用状態量の値を記録する記録処理と、を行っている。なお、ここでの特定用状態量は、エンジンの運転状態を示す状態量のうちで同エンジンの燃焼不良の原因の特定に利用可能なものを示している。
【０００８】
上記エンジン制御装置では、燃焼不良が発生したときの特定用状態量の値が記録されており、その記録された値を用いることで、触媒装置の故障が確認される前に発生した燃焼不良についてもその原因を特定することが可能となる。したがって、上記エンジン制御装置によれば、触媒装置の故障を招いた燃焼不良の原因の特定が、ひいては触媒装置の故障の原因の特定が容易となる。
【図面の簡単な説明】
【０００９】
【図１】エンジン制御装置の一実施形態の構成を模式的に示す図。
【図２】同エンジン制御装置が実行する第１データ記録ルーチンの一部を示すフローチャート。
【図３】同第１データ記録ルーチンの残りの部分を示すフローチャート。
【図４】同エンジン制御装置が実行する第２データ記録ルーチンのフローチャート。
【発明を実施するための形態】
【００１０】
以下、エンジン制御装置の一実施形態を、図１〜図４を参照して詳細に説明する。
図１に示すように、本実施形態の制御装置が適用されるエンジン１０の気筒１０Ａには、同気筒１０Ａ内を往復動可能にピストン１０Ｂが収容されている。そして、気筒１０Ａ内には、混合気の燃焼を行う燃焼室１１がピストン１０Ｂにより区画形成されている。なお、エンジン１０には、こうした気筒１０Ａが複数設けられているが、図１には複数の気筒１０Ａのうちの一つのみが示されている。一方、エンジン１０には、各気筒１０Ａの燃焼室１１に流入する吸気が流れる吸気通路１２と、各気筒１０Ａの燃焼室１１から排出された排気が流れる排気通路１３と、が設けられている。
【００１１】
吸気通路１２には、同吸気通路１２を流れる新気の流量（吸入空気量）を検出するエアフローメータ１４が設けられている。吸気通路１２におけるエアフローメータ１４よりも下流側の部分にはスロットルバルブ１５が設けられている。吸気通路１２におけるスロットルバルブ１５よりも下流側の部分には、吸気圧を検出する吸気圧センサ１５Ａが設けられている。なお、各気筒１０Ａの燃焼室１１は、気筒別の吸気バルブ１６を介して吸気通路１２にそれぞれ接続されている。また、各気筒１０Ａの燃焼室１１は、気筒別の排気バルブ１３Ａを介して排気通路１３にそれぞれ接続されている。
【００１２】
各気筒１０Ａの燃焼室１１には、吸気と燃料との混合気を火花放電により着火する点火プラグ１８と、燃焼室１１内に燃料を噴射する燃料噴射弁１７とがそれぞれ設置されている。燃料噴射弁１７への燃料供給は、燃料タンク３３内の燃料を汲み出して吐出するフィードポンプ３１と、フィードポンプ３１が吐出した燃料を加圧して吐出する高圧燃料ポンプ３２と、により行われる。燃料タンク３３には、同燃料タンク３３の燃料残量を検出する燃料ゲージセンサ３４が設けられている。また、エンジン１０には、フィードポンプ３１が吐出した燃料の圧力である低圧側燃圧を検出する低圧側燃圧センサ３５と、高圧燃料ポンプ３２が加圧吐出した燃料の圧力である高圧側燃圧を検出する高圧側燃圧センサ３６と、が設けられている。
【００１３】
一方、エンジン１０の排気通路１３には、排気浄化用の触媒装置１９が設けられている。触媒装置１９の内部には、排気中の有害成分の酸化反応や還元反応を促進する触媒が担持されており、この触媒の作用により、排気を浄化する。また、排気通路１３における触媒装置１９よりも上流側の部分には、触媒装置１９を通過する前の排気の空燃比を検出する上流側空燃比センサ２０が設けられている。さらに、排気通路１３における触媒装置１９よりも下流側の部分には、触媒装置１９を通過した排気の空燃比を検出する下流側空燃比センサ２１が設けられている。
【００１４】
さらに、エンジン１０は、排気通路１３から吸気通路１２に排気を再循環する排気再循環装置２２を備えている。排気再循環装置２２は、排気通路１３における触媒装置１９よりも上流側の部分と吸気通路１２におけるスロットルバルブ１５よりも下流側の部分とを繋ぐＥＧＲ（Exhaust Gas Recirculation）通路２３と、ＥＧＲ通路２３を流れる排気を冷却するＥＧＲクーラ２４と、ＥＧＲ通路２３を開閉するＥＧＲバルブ２５と、を備えている。
【００１５】
エンジン１０は、エンジン制御装置としての電子制御ユニット２６により制御されている。電子制御ユニット２６には、上述のエアフローメータ１４、燃料ゲージセンサ３４、低圧側燃圧センサ３５、高圧側燃圧センサ３６、上流側空燃比センサ２０、及び下流側空燃比センサ２１の検出結果が入力されている。加えて、電子制御ユニット２６には、エンジン１０のクランク軸の回転数であるエンジン回転数を検出するＮＥセンサ２７、アクセルペダルの踏込量であるアクセル開度を検出するアクセル開度センサ２８の検出結果も入力されている。また、エンジン１０の各気筒１０Ａには、ノッキングを検出するノックセンサ２９が設置されており、それらノックセンサ２９の検出結果も電子制御ユニット２６に入力されている。そして、電子制御ユニット２６は、これらセンサの検出結果に基づき、エンジン１０の各種制御を行っている。なお、電子制御ユニット２６には、各種データを記憶保持する記憶装置３０を備えている。
【００１６】
電子制御ユニット２６は、エンジン１０の制御の一環として空燃比制御を行っている。本実施形態では、上流側空燃比センサ２０の検出結果に基づく燃料噴射量のメインフィードバックと、下流側空燃比センサ２１の検出結果に基づく燃料噴射量のサブフィードバックと、を通じて空燃比制御を行っている。また、本実施形態では、空燃比制御において、メインフィードバックにおける燃料噴射量のフィードバック補正値であるメインＦ／Ｂ補正値に基づくメイン空燃比学習値の学習と、サブフィードバックにおける燃料噴射量のフィードバック補正値であるサブＦ／Ｂ補正値に基づくサブ空燃比学習値の学習と、を行っている。
【００１７】
さらに、電子制御ユニット２６は、点火プラグ１８の点火時期のノック制御を行っている。ノック制御では、ノックセンサ２９の検出結果に基づき、ノッキングの発生を抑制可能な限界まで点火時期を進角する制御が行われる。また、電子制御ユニット２６では、ノック制御での点火時期の進角量をノック学習値として学習している。
【００１８】
以上のように構成されたエンジン１０では、失火等の燃焼不良が発生して、気筒１０Ａ内で燃え残った酸素と燃料とを含んだ排気が触媒装置１９に流入すると、触媒装置１９内でそれらが反応して、その反応による発熱で触媒装置１９が故障することがある。触媒装置１９が故障すると、排気が殆ど改質されずに触媒装置１９を通過するようになる。そこで、電子制御ユニット２６は、上流側空燃比センサ２０の空燃比検出値と下流側空燃比センサ２１の空燃比検出値との差が既定値以下の状態が既定時間以上継続している場合に触媒装置１９が故障していると判定する。そして、電子制御ユニット２６は、その故障の判定に応じて、警告灯の点灯などで修理が必要であることを、車両の乗員に通知している。
【００１９】
なお、触媒装置１９が故障したときには、その故障の原因の特定が必要となる場合がある。一方、触媒装置１９の故障の原因となったエンジン１０の燃焼不良が発生したときから電子制御ユニット２６による触媒装置１９の故障判定がなされるまでにはタイムラグがある。そのため、故障判定時のエンジン１０の運転状態を記録しても、その記録された情報だけでは触媒装置１９の故障の原因を特定できない虞がある。これに対して、本実施形態では、下記の態様で故障原因の特定に必要なデータを記録することで、触媒装置１９の故障の原因特定を容易としている。なお、本実施形態では、上記データの記録に係る処理として、後述する第１データ記録ルーチン、及び第２データ記録ルーチンの２つのルーチンの処理を行っている。
【００２０】
図２及び図３に、第１データ記録ルーチンのフローチャートを示す。電子制御ユニット２６は、車両の起動スイッチであるイグニッションスイッチのオン操作後に下記の実行条件が成立したときからイグニッションスイッチのオフ操作が行われるまでの期間に、同ルーチンの処理を既定の制御周期毎に繰り返し実行する。なお、上記実行条件は、エンジン１０の暖機が完了していること、本ルーチンの処理で使用する各センサの正常動作が確認されていること、等となっている。
【００２１】
さて、本ルーチンの処理が開始されると、まずステップＳ１００において、連続失火、ランダム失火、及び圧縮抜けの判定が行われる。連続失火は同じ気筒での２サイクル以上続けての失火を、ランダム失火は気筒を特定しないかたちの失火を、それぞれ示している。また、圧縮抜けは、吸気バルブ１６の開弁固着等により、気筒１０Ａでの圧縮行程における吸気の圧縮が不十分となった状態をいう。これら連続失火、ランダム失火、及び圧縮抜けの発生時には、それぞれ特徴的なパターンでエンジン回転数が変動する。そのため、ここでは、エンジン回転数の変動パターンから連続失火、ランダム失火、及び圧縮抜けの発生の有無をそれぞれ判定している。なお、ここでの判定では、失火が発生した気筒の特定も行われる。
【００２２】
続いて、ステップＳ１１０では、上記判定の結果に基づく、連続失火カウンタ、ランダム失火カウンタ、圧縮抜けカウンタ、及び気筒別失火カウンタのカウントアップ処理が行われる。すなわち、連続失火が発生したと判定されたときには連続失火カウンタの値が、ランダム失火が発生したと判定されたときにはランダム失火カウンタの値が、圧縮抜けが発生したと判定されたときには圧縮抜けカウンタの値が、それぞれカウントアップされる。気筒別失火カウンタはエンジン１０の気筒１０Ａ毎にそれぞれ個別に用意されている。そして、連続失火又はランダム失火が発生したと判定されたときには、失火が発生した気筒１０Ａの気筒別失火カウンタの値がカウントアップされる。
【００２３】
次のステップＳ１２０では、先のステップＳ１１０でのカウントアップ処理により、連続失火カウンタの値が既定の閾値Ａに達したか否かが判定される。そして、連続失火カウンタの値が閾値Ａに到達したときには、ステップＳ１３０において、記憶装置３０に予め設定された連続失火発生運転域の記憶領域に、現在のエンジン回転数、エンジン負荷率、及び車速のそれぞれの値が記録される。
【００２４】
一方、ステップＳ１４０では、先のステップＳ１１０でのカウントアップ処理により、ランダム失火カウンタの値が既定の閾値Ａに達したか否かが判定される。そして、ランダム失火カウンタの値が閾値Ａに到達したときには、ステップＳ１５０において、記憶装置３０に予め設定されたランダム失火発生運転域の記憶領域に、現在のエンジン回転数、エンジン負荷率、及び車速のそれぞれの値が記録される。
【００２５】
その後、ステップＳ１６０において、測定周期カウンタの値のカウントアップが行われる。そして、続くステップＳ１７０において、測定周期カウンタの値が既定の閾値Ｂ以上であるか否かが判定される。このときの測定周期カウンタの値が閾値Ｂ未満の場合（Ｓ１７０：ＮＯ）にはそのまま今回の本ルーチンの処理が終了される。
【００２６】
一方、測定周期カウンタの値が閾値Ｂ以上の場合（Ｓ１７０：ＹＥＳ）にはステップＳ１８０に処理が進められ、そのステップＳ１８０において次の処理が行われる。すなわち、ステップＳ１８０では、そのときの連続失火カウンタの値が連続失火頻度の値として、そのときのランダム失火カウンタの値がランダム失火頻度の値として、そのときの圧縮抜けカウンタの値が圧縮抜け頻度の値として、それぞれ設定される。また、各気筒１０Ａの気筒別失火カウンタの値が、それぞれの気筒１０Ａの気筒別失火頻度の値として、それぞれ設定される。そして、続くステップＳ１９０において、連続失火カウンタの値、ランダム失火カウンタの値、圧縮抜けカウンタの値、各気筒１０Ａの気筒別失火カウンタの値、及び測定周期カウンタの値がそれぞれ０にクリアされる。
【００２７】
測定周期カウンタの値は、本ルーチンの処理が実行されるたびにカウントアップされ、その値が閾値Ｂに達する毎に０にクリアされる。一方、連続失火頻度の値には、測定周期カウンタの値が閾値Ｂに達したときの連続失火カウンタの値が設定される。すなわち、連続失火頻度の値には、測定周期カウンタの値が０から閾値Ｂに増加されるまでの期間における連続失火の発生回数が設定される。同様に、ランダム失火頻度、及び圧縮抜け頻度、各気筒１０Ａの気筒別失火頻度の各値には、上記期間におけるランダム失火、圧縮抜け、各気筒１０Ａの失火の回数がそれぞれ設定される。そして、ステップＳ２００〜ステップＳ２３０の処理が行われた後、今回の本ルーチンの処理が終了される。
【００２８】
ステップＳ２００では、連続失火頻度の値が最大連続失火頻度の値を超えているか否か判定される。そして、連続失火頻度の値が最大連続失火頻度の値を超えている場合（ＹＥＳ）には、ステップＳ２１０において最大連続失火頻度の値を現在の連続失火頻度の値に更新する処理が行われる。また、同ステップＳ２１０では、後述する特定用状態量の更新処理も行われる。なお、最大連続失火頻度の値は記憶装置３０に記録されており、その初期値としては上述の閾値Ａと同じ値が設定されている。また、ステップＳ２２０では、ランダム失火頻度の値が最大ランダム失火頻度の値を超えているか否かが判定される。そして、ランダム失火頻度の値が最大ランダム失火頻度の値を超えている場合（ＹＥＳ）には、ステップＳ２３０において最大ランダム失火頻度の値を現在のランダム失火頻度の値に更新する処理が行われる。また、同ステップＳ２３０では、ステップＳ２１０と同様に特定用状態量の更新処理が行われる。なお、最大ランダム失火頻度の値は記憶装置３０に記録されており、その初期値としては上述の閾値Ａと同じ値が設定されている。その結果、記憶装置３０には、それまでの連続失火頻度の最大値が最大連続失火頻度の値として、それまでのランダム失火頻度の最大値が最大ランダム失火頻度の値として、それぞれ記録されることになる。
【００２９】
さらに、本実施形態において電子制御ユニット２６は、以上の第１データ記録ルーチンに加え、触媒装置１９の故障の原因特定に必要なデータを記録する処理として、第２データ記録ルーチンの処理を行っている。
【００３０】
図４に、第２データ記録ルーチンのフローチャートを示す。電子制御ユニット２６は、車両の起動スイッチであるイグニッションスイッチのオン操作後に上述の実行条件が成立したときからイグニッションスイッチのオフ操作が行われるまでの期間に、同ルーチンの処理を既定の制御周期毎に繰り返し実行する。
【００３１】
本ルーチンの処理が開始されると、まずステップＳ３００において、上流側空燃比センサ２０の空燃比検出値である上流側空燃比が既定のリーン判定値を超えているか否かが判定される。リーン判定値には、理論空燃比よりもリーン側の空燃比が値として設定されている。そして、上流側空燃比がリーン判定値を超えている場合（ＹＥＳ）にはステップＳ３１０に、超えていない場合（ＮＯ）にはステップＳ３４０に、それぞれ処理が進められる。なお、以下の説明では、リーン判定値よりもリーン側の空燃比でのエンジン１０の燃焼を、リーン燃焼と記載する。ここでは、エンジン１０でリーン燃焼が行われているか否かが判定されている。
【００３２】
ステップＳ３１０に処理が進められると、そのステップＳ３１０においてまず、現在の上流側空燃比から理論空燃比を引いた差に、現在の吸入空気量を乗算した積が触媒酸素流入量の値として演算される。そして、その演算した触媒酸素流入量の値を更新前の値に加えた和が更新後の値となるように、積算酸素流入量の値の更新が行われる。そして、下記のステップＳ３２０及びステップＳ３３０の処理が行われた後、今回の本ルーチンの処理が終了される。すなわち、ステップＳ３２０では、ステップＳ３１０での更新の結果、積算酸素流入量が既定の閾値Ｃに達したか否かが判定される。そして、積算酸素流入量が閾値Ｃに達したのであれば（ＹＥＳ）、ステップＳ３３０において、記憶装置３０に予め設定されたリーン燃焼発生運転域の記憶領域に、現在のエンジン回転数、エンジン負荷率、及び車速のそれぞれの値が記録される。
【００３３】
一方、上流側空燃比がリーン判定値を超えていない場合（Ｓ３００：ＮＯ）には、ステップＳ３４０〜ステップＳ３６０の処理が行われた後、今回の本ルーチンの処理が終了される。すなわち、ステップＳ３４０では、現在の積算酸素流入量の値が最大積算酸素流入量の値を超えているか否か判定される。そして、現在の積算酸素流入量の値が最大積算酸素流入量の値を超えている場合（ＹＥＳ）には、ステップＳ３５０において、最大積算酸素流入量の値を現在の連続失火頻度の値に更新する処理と、特定用状態量の更新処理とが行われる。そして、ステップＳ３６０において、積算酸素流入量の値が０にクリアされた後、今回の本ルーチンの処理が終了される。一方、現在の積算酸素流入量の値が最大積算酸素流入量の値を超えていない場合（Ｓ３４０：ＮＯ）には、ステップＳ３５０の処理をスキップし、ステップＳ３６０において積算酸素流入量の値が０にクリアされた後、今回の本ルーチンの処理が終了される。なお、最大積算失火頻度の値は記憶装置３０に記録されており、その初期値としては上述の閾値Ａと同じ値が設定されている。また、ステップＳ２２０では、ランダム失火頻度の値が最大ランダム失火頻度の値を超えているか否かが判定される。そして、ランダム失火頻度の値が最大ランダム失火頻度の値を超えている場合（ＹＥＳ）には、ステップＳ２３０において最大ランダム失火頻度の値を現在のランダム失火頻度の値に更新する処理が行われる。また、同ステップＳ２３０では、ステップＳ２１０と同様に特定用状態量の更新処理が行われる。
【００３４】
なお、最大積算酸素流入量の値は記憶装置３０に記録されており、その初期値としては上述の閾値Ｃと同じ値が設定されている。その結果、記憶装置３０には、それまでの積算酸素流入量の最大値が最大積算酸素流入量の値として記録されることになる。ちなみに、積算酸素流入量の値は、リーン燃焼が継続している期間に、触媒装置１９に流入した酸素の量に対応する値となる。
【００３５】
続いて、第１データ記録ルーチンのステップＳ２１０及びステップＳ２３０、及び第２データ記録ルーチンのステップＳ３５０で行われる特定用状態量の更新処理について説明する。ここでの特定用状態量は、エンジン１０の燃焼不良の原因、ひいてはその燃焼不良により招来される触媒装置１９の故障の原因の特定に利用可能な同エンジン１０の状態量を表している。電子制御ユニット２６の記憶装置３０には、こうした特定用状態量を記録するための記憶領域が予め設定されている。
【００３６】
本実施形態では、特定用状態量には、第１及び第２データ記録ルーチンで求められる最大連続失火頻度、各気筒１０Ａの気筒別失火頻度、最大ランダム失火頻度、圧縮抜け頻度、最大積算酸素流入量が含まれている。これらに加えて、特定用状態量には、現燃料残量及び前トリップ燃料残量、ノック学習値、Ｂずれ率、推定吸気圧、実吸気圧、高圧側燃圧、及び低圧側燃圧、空燃比制御におけるメイン空燃比学習値、サブ空燃比学習値、メイン空燃比Ｆ／Ｂ補正値、及びサブ空燃比Ｆ／Ｂ補正値が含まれている。現燃料残量は燃料残量の現在の検出値を、前トリップ燃料残量はイグニッションスイッチのオフ操作時における燃料残量の検出値を、それぞれ表している。また、Ｂずれ率は、エンジン１０の吸気量制御の過程で演算されるパラメータであって、その値はエアフローメータ１４の吸入空気量の検出値に対する同吸入空気量の実際の値の比率に対応する値となっている。具体的には、Ｂずれ率の値は、吸入空気量の検出値が実際の値と一致している場合には「１」となり、吸入空気量の検出値が実際よりも多い場合、少ない場合にはそれぞれ１未満の値、１を超過する値となる。さらに、実吸気圧は吸気圧センサ１５Ａの吸気圧の検出値を、推定吸気圧はスロットルバルブ１５の開度やエンジン回転数から求められた吸気圧の推定値を、それぞれ表している。
【００３７】
以下の説明では、各特定用状態量についての記憶装置３０に記憶されている値を記録値と記載し、その現在の値を現在値と記載する。本実施形態では、特定用状態量の記録用に確保する記憶領域を抑えるため、特定用状態量の更新処理において記憶値の現在値への書換えを、次の態様で行っている。すなわち、本実施形態では、各特定用状態量の記憶値の現在値への書換えを、現在値が記憶値よりも燃焼状態が悪化する側の値である場合に限り行うようにしている。例えば、最大連続失火頻度、各気筒１０Ａの気筒別失火頻度、最大ランダム失火頻度、圧縮抜け頻度、最大積算酸素流入量、及びノック学習値は、現在値が記憶値よりも大きい場合に、記憶値が現在値に書き換えられる。これに対して、Ｂずれ率、高圧側燃圧、及び低圧側燃圧は、記憶値よりも現在値が小さい場合に、記憶値が現在値に書き換えられる。また、メイン空燃比学習値、サブ空燃比学習値、メイン空燃比Ｆ／Ｂ補正値、及びサブ空燃比Ｆ／Ｂ補正値は、現在値が記録値よりも燃料噴射量を増量補正する側の値である場合に、記憶値が現在値にそれぞれ書き換えられる。なお、現燃料残量及び前トリップ燃料残量は、前トリップ燃料残量が現燃料残量よりも少ない場合にそれぞれ記録値が現在値に書き換えられる。加えて、現燃料残量は、現在値が０近傍の値である場合にも、記録値が現在値に書き換えられる。さらに、推定吸気圧、及び実吸気圧は、記録値の場合よりも現在値の場合の方が推定吸気圧から実吸気圧を引いた差が大きくなる場合に、記録値が現在値に書き換えられる。
【００３８】
（本実施形態の作用）
エンジン１０の燃焼不良が発生すると、燃焼せずに燃え残った酸素や未燃燃料が触媒装置１９に流入する。そして、流入した酸素と未燃燃料との反応で触媒装置１９の温度が上昇して、同触媒装置１９の劣化を進行させる。そして、劣化が進んで触媒装置１９が故障に至ると、触媒装置１９内での排気の改質が殆ど行われなくなることから、上流側空燃比センサ２０及び下流側空燃比センサ２１の空燃比検出値の差が小さくなる。電子制御ユニット２６は、それらの空燃比検出値の差が小さい状態が既定時間以上継続すると、触媒装置１９が故障したと判定して警告灯を点灯する。
【００３９】
本実施形態のエンジン制御装置では、連続失火頻度やランダム失火頻度、積算酸素流入量の値の増大により、燃焼不良の発生が確認されると、電子制御ユニット２６はそのときの特定用状態量の値を記憶装置３０に記録する。こうして記憶装置３０に記録された特定状態量の値を確認すれば、触媒装置１９の故障が確認される前に発生した燃焼不良の原因の、ひいては触媒装置１９の故障の原因の特定が容易となる。触媒装置１９の故障の原因としては、例えば下記の（Ａ）〜（Ｈ）が考えられる。なお、表１には、これら故障の原因とその特定に必要な特定用状態量の一覧とが示されている。
【００４０】
（Ａ）燃料切れ：燃料タンク３３の燃料残量が極少なくなると、フィードポンプ３１が間欠的に燃料を吸い込めなくなって燃料噴射弁１７への燃料供給が間欠的に途絶えるようになる。そのため、ランダム失火が発生して触媒装置１９の積算酸素流入量が増加する。なお、このときの燃料タンク３３の燃料残量は０近傍の値となっており、また低圧側燃圧及び高圧側燃圧が低下する。よって、燃料切れの発生は、最大ランダム失火頻度、最大積算酸素流入量、現燃料残量、高圧側燃圧、及び低圧側燃圧の記録値から確認することができる。
【００４１】
（Ｂ）フィードポンプ３１の吐出不良：フィードポンプ３１が故障して燃料の吐出不良が生じると、燃料噴射弁１７への燃料供給が間欠的に途絶えて、ランダム失火が発生し、その結果として触媒装置１９の積算酸素流入量が増加する。なお、このときの燃料タンク３３の燃料残量は０近傍の値までは低下しておらず、その一方で低圧側燃圧及び高圧側燃圧は低下するようになる。よって、フィードポンプ３１の吐出不良の発生は、最大ランダム失火頻度、最大積算酸素流入量、現燃料残量、高圧側燃圧、及び低圧側燃圧の記録値から確認することができる。
【００４２】
（Ｃ）誤燃料給油：ユーザが誤って本来の燃料とは異なる燃料を燃料タンク３３に給油してしまった場合には、エンジン１０での燃焼が正常に行われなくなって、ランダム失火が発生し、その結果として触媒装置１９の積算酸素流入量が増加する。また、このときにはノッキングが非常に発生し易くなるため、ノック学習値の値が小さくなる。さらに、給油が行われたことは、現燃料残量と前トリップ燃料残量との比較により確認することができる。よって、誤燃料給油の発生は、最大ランダム失火頻度、最大積算酸素流入量、現燃料残量、前トリップ燃料残量、及びノック学習値から確認することができる。
【００４３】
（Ｄ）空燃比センサの出力特性ずれ：上流側空燃比センサ２０及び下流側空燃比センサ２１の出力特性にずれが生じて、空燃比の検出値と実際の値とに乖離が生じると、空燃比の制御精度が悪化する。この場合にも、上流側空燃比センサ２０及び下流側空燃比センサ２１のうちの一方が正常に機能していれば、一時的に空燃比が悪化して失火が発生するものの、時間は掛かるが最終的に空燃比を目標とする値に制御することは可能である。よって、この場合には、一時的な連続失火やランダム失火が発生するが、その状態は長く続かないため、最大積算酸素流入量は余り大きい値とならないと考えられる。なお、下流側空燃比センサ２１の出力特性が正常、かつ上流側空燃比センサ２０の出力特性にずれが生じた場合には、メイン空燃比フィードバックが適切に行われず、その分の空燃比のずれがサブ空燃比フィードバックで補償されるため、サブ空燃比学習値、及びサブ空燃比Ｆ／Ｂ補正値が通常は取り得ない値となると考えられる。これとは逆に、上流側空燃比センサ２０の出力特性が正常、かつ下流側空燃比センサ２１の出力特性にずれが生じた場合には、サブ空燃比フィードバックが適切に行われず、その分の空燃比のずれがメイン空燃比フィードバックで補償されるため、メイン空燃比学習値、及びメイン空燃比Ｆ／Ｂ補正値が通常は取り得ない値となると考えられる。よって、こうした空燃比センサの出力特性ずれの発生は、最大連続失火頻度、最大ランダム失火頻度、メイン／サブの空燃比学習値及び空燃比Ｆ／Ｂ補正値から確認することができる。
【００４４】
（Ｅ）ＥＧＲバルブ２５の開固着：ＥＧＲバルブ２５の開固着が発生して、想定よりも多いＥＧＲが導入されると、燃焼が悪化して失火が発生し、その結果として触媒装置１９の積算酸素流入量が増加する。また、このときには想定よりも多い量のＥＧＲが吸気通路１２に導入された分、吸気圧が高くなる。よって、ＥＧＲバルブ２５の開固着の発生は、最大連続失火頻度、最大ランダム失火頻度、最大積算酸素流入量、実吸気圧、及び推定吸気圧から確認することができる。
【００４５】
（Ｆ）エアフローメータ１４の出力特性のずれ：エアフローメータ１４の出力特性にずれが生じると、Ｂずれ率が１から乖離した値となる。また、同出力特性のずれにより、吸入空気量の検出値と実際の値とに乖離が生じると、空燃比の制御性が悪化して空燃比の応答遅れが大きくなる。このときのエアフローメータ１４の出力特性のずれが、実際よりも多い量を吸入空気量として検出する側に生じた場合には、吸入空気量が変化する毎に、燃焼室１１で燃焼する混合気の空燃比が一時的に理論空燃比よりもリーン側の空燃比となる。そして、その結果、燃焼状態が悪化してランダム失火の発生や触媒装置１９の積算酸素流入量の増加が生じることになる。なお、このときには、吸入空気量の検出値の乖離に応じた空燃比のずれ分がメイン空燃比フィードバックで補償されるため、メイン空燃比学習値やメイン空燃比Ｆ／Ｂ補正値が通常は取り得ない値となると考えられる。よって、エアフローメータ１４の出力特性ずれの発生は、最大ランダム失火頻度、最大積算酸素流入量、Ｂずれ率、メイン空燃比学習値、及びメインＦ／Ｂ補正値から確認することができる。
【００４６】
（Ｇ）点火不良：各気筒１０Ａの点火プラグ１８のうちのいずれかに点火不良が発生すると、点火不良の点火プラグ１８が設置された気筒で連続失火が発生する。なお、後述するように、特定の気筒での連続失火は圧縮抜けの場合にも発生するが、圧縮抜け頻度の値から両者の区別が可能である。よって、点火不良の発生は、最大連続失火頻度、気筒別失火頻度、及び圧縮抜け頻度から確認することができる。
【００４７】
（Ｈ）圧縮抜け：異物の噛み込みなどにより、吸気バルブ１６や排気バルブ１３Ａが完全に閉じられない状態となると、圧縮行程中に気筒１０Ａから吸気が抜けて、混合気を十分に圧縮できなくなる。そのため、圧縮抜けが発生した気筒で連続失火が発生するようになる。このときには、点火不良の場合とは異なり、連続失火頻度に加えて圧縮抜け頻度の値も増加する。よって、圧縮抜けの発生は、最大連続失火頻度と圧縮抜け頻度から確認することができる。
【００４８】
【表１】
2020159338.tif 000003
また、本実施形態では、連続失火カウンタ、ランダム失火カウンタ、及び触媒装置１９の積算酸素酸素量が閾値に達したときのエンジン回転数、エンジン負荷率、及び車速が記録される。すなわち、燃焼不良が発生したときのエンジン１０の運転状況が履歴として残され、触媒装置１９の故障の原因特定に利用できるようになっている。
【００４９】
なお、触媒装置１９の劣化は、燃焼不良の発生毎に徐々に進行するため、故障に至るまでには非常に多い回数の燃焼不良が発生する場合がある。故障判定に至るまで燃焼不良が何回発生するかは分からないため、燃焼不良の発生毎の特定用状態量の値のすべてを記録すると、特定用状態量の記録のために無尽蔵の記憶容量を確保しなければならなくなる。一方、燃焼不良の発生の都度、記憶装置３０に記憶した特定用状態量の値を書き換えてしまうと、故障の原因となった燃焼不良の発生から故障判定に至るまでの期間に燃焼不良が再び発生すると、故障の原因となった燃焼不良の発生時の特定用状態量の値が上書きされてしまう。
【００５０】
これに対して本実施形態では、連続失火頻度、ランダム失火頻度、及び積算酸素流入量がそれまでの最大値を超えたときにのみ、記憶装置３０に記録した特定用状態量の更新処理が行われる。すなわち、過去最悪の燃焼状態の悪化が発生したときにのみ、特定用状態量の更新処理が行われる。また、その更新処理では、記録値よりも現在値の方が、燃焼状態が悪化する側の値である場合に限り、記録値が現在値に書き換えられる。そのため、記憶装置３０には、故障の原因特定に必要な値が、上書きされずに記録値として残されやすくなる。
【００５１】
以上の本実施形態のエンジン制御装置によれば、以下の効果を奏することができる。
（１）燃焼不良の状態にあると判定したときの特定用状態量の値を記憶装置３０に記録しているため、触媒装置１９の故障の原因特定が容易となる。
【００５２】
（２）過去最悪の燃焼状態の悪化が生じたときにのみ、特定用状態量の記録値の更新処理を行っている。また、その更新処理では、記録値よりも現在値の方が、燃焼状態が悪化する側の値である場合に限り、記録値を現在値に書き換えるようにしている。そのため、特定用状態量の記録に割り当てられる記憶装置３０の記憶容量を抑えつつも、故障の原因特定に必要な値が記録値として残され易くなる。
【００５３】
以上説明した本実施形態では、第１データ記録ルーチンのＳ１２０、Ｓ１４０、Ｓ２００、Ｓ２２０、並びに第２データ記録ルーチンのＳ３２０、Ｓ３４０が、エンジン１０が燃焼不良の状態にあるかを判定する判定処理に対応する処理となっている。また、本実施形態では、第１データ記録ルーチンのＳ１３０、Ｓ１５０、Ｓ２１０、Ｓ２３０、並びに第２データ記録ルーチンのＳ３３０、Ｓ３５０が、判定処理により燃焼不良の状態にあると判定されたときに、そのときの特定用状態量の値を記録する記録処理に対応する処理となっている。
【００５４】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、エンジン回転数の変動パターンから失火を確認していたが、気筒１０Ａ内の圧力を検出する筒内圧センサを設置してそのセンサの検出結果から失火を確認するようにしてもよい。
【００５５】
・上記実施形態では、連続失火及びランダム失火の頻度や、空燃比検出値及び吸入空気量から求めたリーン燃焼時の触媒装置１９の積算酸素流入量から、エンジン１０が燃焼不良の状態にあるか否かを判定していたが、それ以外の態様で燃焼不良を判定するようにしてもよい。
【００５６】
・特定用状態量として記録する状態量の種類や数は、必要に応じて適宜に変更してもよい。
【符号の説明】
【００５７】
１０…エンジン、１０Ａ…気筒、１０Ｂ…ピストン、１１…燃焼室、１２…吸気通路、１３…排気通路、１３Ａ…排気バルブ、１４…エアフローメータ、１５…スロットルバルブ、１５Ａ…吸気圧センサ、１６…吸気バルブ、１７…燃料噴射弁、１８…点火プラグ、１９…触媒装置、２０…上流側空燃比センサ、２１…下流側空燃比センサ、２２…排気再循環装置、２３…ＥＧＲ通路、２４…ＥＧＲクーラ、２５…ＥＧＲバルブ、２６…電子制御ユニット、２７…ＮＥセンサ、２８…アクセル開度センサ、２９…ノックセンサ、３０…記憶装置、３１…フィードポンプ、３２…高圧燃料ポンプ、３３…燃料タンク、３４…燃料ゲージセンサ、３５…低圧側燃圧センサ、３６…高圧側燃圧センサ。
【図１】
2020159338.tif 000004
【図２】
2020159338.tif 000005
【図３】
2020159338.tif 000006
【図４】
2020159338.tif 000007